@foxford/ui 2.36.0 → 2.37.0-beta-3fd53b1-20240802

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.
Files changed (43) hide show
  1. package/components/Chip/style.js +1 -1
  2. package/components/Chip/style.js.map +1 -1
  3. package/components/Dropdown/Dropdown.js +2 -0
  4. package/components/Dropdown/Dropdown.js.map +1 -0
  5. package/components/Dropdown/DropdownMenuNoOptions.js +2 -0
  6. package/components/Dropdown/DropdownMenuNoOptions.js.map +1 -0
  7. package/components/Dropdown/constants.js +2 -0
  8. package/components/Dropdown/constants.js.map +1 -0
  9. package/components/Dropdown/style.js +2 -0
  10. package/components/Dropdown/style.js.map +1 -0
  11. package/components/Dropdown/utils.js +2 -0
  12. package/components/Dropdown/utils.js.map +1 -0
  13. package/components/FormInputLabel/FormInputLabel.js +1 -1
  14. package/components/FormInputLabel/FormInputLabel.js.map +1 -1
  15. package/components/FormInputLabel/style.js +1 -1
  16. package/components/FormInputLabel/style.js.map +1 -1
  17. package/components/ListItem/style.js +1 -1
  18. package/components/ListItem/style.js.map +1 -1
  19. package/components/MenuComponent/MenuComponent.js +1 -1
  20. package/components/MenuComponent/MenuComponent.js.map +1 -1
  21. package/components/MenuComponent/constants.js +1 -1
  22. package/components/MenuComponent/constants.js.map +1 -1
  23. package/components/MenuComponent/style.js +1 -1
  24. package/components/MenuComponent/style.js.map +1 -1
  25. package/components/MenuContainer/style.js +1 -1
  26. package/components/MenuContainer/style.js.map +1 -1
  27. package/components/MenuList/MenuList.js +1 -1
  28. package/components/MenuList/MenuList.js.map +1 -1
  29. package/components/MenuList/style.js +1 -1
  30. package/components/MenuList/style.js.map +1 -1
  31. package/components/Text/style.js +1 -1
  32. package/components/Text/style.js.map +1 -1
  33. package/components/Tooltip/TooltipWrapper.js +1 -1
  34. package/components/Tooltip/TooltipWrapper.js.map +1 -1
  35. package/dts/index.d.ts +127 -2
  36. package/hooks/useMergedPalette.js +1 -1
  37. package/hooks/useMergedPalette.js.map +1 -1
  38. package/index.cjs.js +2 -2
  39. package/index.cjs.js.map +1 -1
  40. package/index.js +1 -1
  41. package/package.json +3 -1
  42. package/shared/constants.js +1 -1
  43. package/shared/constants.js.map +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"style.js","sources":["../../../../src/components/FormInputLabel/style.ts"],"sourcesContent":["import styled, { css } from 'styled-components'\nimport tinycolor from 'tinycolor2'\nimport { Text } from 'components/Text'\nimport { createShouldForwardProp } from 'shared/utils/style'\nimport { responsiveSize } from 'mixins/responsive-size'\nimport { responsiveMargin } from 'mixins/responsive-margin'\nimport type { CSSColor } from 'shared/types'\nimport type { StyledFormInputLabelProps, FormInputLabelPalette } from './types'\n\nconst shouldForwardFormInputLabelProp = createShouldForwardProp(\n (propKey) =>\n ![\n 'primary',\n 'secondary',\n 'active',\n 'error',\n 'success',\n 'disabled',\n 'onColored',\n 'labelPosition',\n 'inline',\n ].includes(propKey)\n)\n\nexport const Label = styled(Text).attrs({ forwardedAs: 'label' })`\n box-sizing: border-box;\n position: relative;\n display: flex;\n flex-grow: 1;\n align-self: stretch;\n cursor: inherit;\n &::after {\n content: '';\n position: absolute;\n bottom: 0;\n right: 0;\n width: 40px;\n height: 100%;\n pointer-events: none;\n opacity: 1;\n background-image: linear-gradient(90deg, transparent, currentColor);\n transition-property: color, opacity;\n }\n`\n\nexport const Caption = styled.span`\n box-sizing: border-box;\n position: absolute;\n left: 0;\n top: 50%;\n width: 100%;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n pointer-events: none;\n transition-property: transform;\n`\n\nconst template = (palette: FormInputLabelPalette) => `\n color: ${palette.color};\n background-color: ${palette.backgroundColor};\n border-color: ${palette.borderColor};\n &:hover {\n color: ${palette.colorHover};\n background-color: ${palette.backgroundColorHover};\n border-color: ${palette.borderColorHover};\n }\n &:focus-within {\n color: ${palette.color};\n background-color: ${palette.backgroundColor};\n border-color: ${palette.borderColor};\n }\n & > ${Label}::after {\n color: ${palette.backgroundColor};\n }\n`\n\nconst COLOR_SCHEMA = {\n onColored: {\n disabled: css<StyledFormInputLabelProps>`\n ${(props) =>\n template({\n color: props.theme.colors['content-disabled'],\n backgroundColor: props.theme.colors['bg-disabled-large'],\n borderColor: props.theme.colors.transparent,\n colorHover: props.theme.colors['content-disabled'],\n backgroundColorHover: props.theme.colors['bg-disabled-large'],\n borderColorHover: props.theme.colors.transparent,\n ...props.palette,\n })}\n `,\n error: css<StyledFormInputLabelProps>`\n ${(props) =>\n template({\n color: props.theme.colors['content-onmain-secondary'],\n backgroundColor: props.theme.colors['alert-bg-error-200'],\n borderColor: props.theme.colors['alert-bg-error-500'],\n colorHover: props.theme.colors['content-onmain-secondary'],\n backgroundColorHover: props.theme.colors['alert-bg-error-200'],\n borderColorHover: props.theme.colors['alert-bg-error-500'],\n ...props.palette,\n })}\n `,\n success: css<StyledFormInputLabelProps>`\n ${(props) =>\n template({\n color: props.theme.colors['content-onmain-secondary'],\n backgroundColor: props.theme.colors['alert-bg-success-200'],\n borderColor: props.theme.colors['alert-bg-success-500'],\n colorHover: props.theme.colors['content-onmain-secondary'],\n backgroundColorHover: props.theme.colors['alert-bg-success-200'],\n borderColorHover: props.theme.colors['alert-bg-success-500'],\n ...props.palette,\n })}\n `,\n default: css<StyledFormInputLabelProps>`\n ${(props) =>\n template({\n color: props.theme.colors['content-onmain-secondary'],\n backgroundColor: props.theme.colors['bg-onmain-primary'],\n borderColor: props.theme.colors['border-onmain-default-large'],\n colorHover: props.theme.colors['content-onmain-secondary'],\n backgroundColorHover: tinycolor(props.theme.colors['bg-onmain-primary']).darken(4).toString() as CSSColor,\n borderColorHover: props.theme.colors['border-onmain-default-large'],\n ...props.palette,\n })}\n `,\n },\n secondary: {\n disabled: css<StyledFormInputLabelProps>`\n ${(props) =>\n template({\n color: props.theme.colors['content-disabled'],\n backgroundColor: props.theme.colors['bg-disabled-large'],\n borderColor: props.theme.colors.transparent,\n colorHover: props.theme.colors['content-disabled'],\n backgroundColorHover: props.theme.colors['bg-disabled-large'],\n borderColorHover: props.theme.colors.transparent,\n ...props.palette,\n })}\n `,\n error: css<StyledFormInputLabelProps>`\n ${(props) =>\n template({\n color: props.theme.colors['content-onmain-secondary'],\n backgroundColor: props.theme.colors['alert-bg-error-100'],\n borderColor: props.theme.colors['alert-bg-error-500'],\n colorHover: props.theme.colors['content-onmain-secondary'],\n backgroundColorHover: props.theme.colors['alert-bg-error-100'],\n borderColorHover: props.theme.colors['alert-bg-error-500'],\n ...props.palette,\n })}\n `,\n success: css<StyledFormInputLabelProps>`\n ${(props) =>\n template({\n color: props.theme.colors['content-onmain-secondary'],\n backgroundColor: props.theme.colors['alert-bg-success-100'],\n borderColor: props.theme.colors['alert-bg-success-500'],\n colorHover: props.theme.colors['content-onmain-secondary'],\n backgroundColorHover: props.theme.colors['alert-bg-success-100'],\n borderColorHover: props.theme.colors['alert-bg-success-500'],\n ...props.palette,\n })}\n `,\n default: css<StyledFormInputLabelProps>`\n ${(props) =>\n template({\n color: props.theme.colors['content-onmain-secondary'],\n backgroundColor: props.theme.colors['bg-onmain-secondary'],\n borderColor: props.theme.colors['border-onmain-default-large'],\n colorHover: props.theme.colors['content-onmain-secondary'],\n backgroundColorHover: tinycolor(props.theme.colors['bg-onmain-secondary']).darken(4).toString() as CSSColor,\n borderColorHover: props.theme.colors['border-onmain-default-large'],\n ...props.palette,\n })}\n `,\n },\n primary: {\n disabled: css<StyledFormInputLabelProps>`\n ${(props) =>\n template({\n color: props.theme.colors['content-disabled'],\n backgroundColor: props.theme.colors['bg-disabled-large'],\n borderColor: props.theme.colors.transparent,\n colorHover: props.theme.colors['content-disabled'],\n backgroundColorHover: props.theme.colors['bg-disabled-large'],\n borderColorHover: props.theme.colors.transparent,\n ...props.palette,\n })}\n `,\n error: css<StyledFormInputLabelProps>`\n ${(props) =>\n template({\n color: props.theme.colors['content-onmain-secondary'],\n backgroundColor: props.theme.colors['alert-bg-error-100'],\n borderColor: props.theme.colors['alert-bg-error-500'],\n colorHover: props.theme.colors['content-onmain-secondary'],\n backgroundColorHover: props.theme.colors['alert-bg-error-100'],\n borderColorHover: props.theme.colors['alert-bg-error-500'],\n ...props.palette,\n })}\n `,\n success: css<StyledFormInputLabelProps>`\n ${(props) =>\n template({\n color: props.theme.colors['content-onmain-secondary'],\n backgroundColor: props.theme.colors['alert-bg-success-100'],\n borderColor: props.theme.colors['alert-bg-success-500'],\n colorHover: props.theme.colors['content-onmain-secondary'],\n backgroundColorHover: props.theme.colors['alert-bg-success-100'],\n borderColorHover: props.theme.colors['alert-bg-success-500'],\n ...props.palette,\n })}\n `,\n default: css<StyledFormInputLabelProps>`\n ${(props) =>\n template({\n color: props.theme.colors['content-onmain-secondary'],\n backgroundColor: props.theme.colors['bg-onmain-primary'],\n borderColor: props.theme.colors['border-onmain-default-large'],\n colorHover: props.theme.colors['content-onmain-secondary'],\n backgroundColorHover: tinycolor(props.theme.colors['bg-onmain-primary']).darken(4).toString() as CSSColor,\n borderColorHover: props.theme.colors['border-onmain-default-large'],\n ...props.palette,\n })}\n `,\n },\n}\n\nexport const Root = styled.div\n .withConfig<StyledFormInputLabelProps>({\n shouldForwardProp: shouldForwardFormInputLabelProp,\n })\n .attrs<StyledFormInputLabelProps>(<Required<Pick<StyledFormInputLabelProps, 'dynamicSizeDeclaration'>>>{\n dynamicSizeDeclaration: (size, sizeUnits) => ({\n fontSize: typeof size === 'string' ? size : `${size}${sizeUnits}`,\n padding: '0.25em 0.6em 0.25em 1em',\n minHeight: '3em',\n borderRadius: '0.6em',\n }),\n })`\n ${(props) => {\n let transform = props.active ? 'scale(0.7) translateX(-21.5%) translateY(-145%)' : 'translateY(-50%)'\n let opacity = '1'\n let zIndex = 'auto'\n\n if (props.labelPosition === 'top') {\n transform = 'scale(0.7) translateX(-21.5%) translateY(-145%)'\n }\n if (props.labelPosition === 'center') {\n transform = `translateY(-50%)`\n opacity = props.active ? '0' : '1'\n zIndex = props.active ? '-1' : 'auto'\n }\n\n return `\n box-sizing: border-box;\n position: relative;\n isolation: isolate;\n display: ${props.inline ? 'inline-flex' : 'flex'};\n cursor: ${props.disabled ? 'not-allowed' : 'pointer'};\n align-items: center;\n min-width: min-content;\n border: 1px solid transparent;\n transition-property: background-color;\n\n &,\n & > ${Label}::after,\n & > ${Label} > ${Caption} {\n transition-duration: 150ms;\n transition-timing-function: ease;\n }\n\n & > ${Label} > ${Caption} {\n transform: ${transform};\n opacity: ${opacity};\n z-index: ${zIndex};\n }\n\n &:focus-within {\n box-shadow: 0 0 0 2px ${props.theme.colors.white}, 0 0 0 4px ${props.theme.colors['border-focus']};\n outline: 2px solid transparent;\n outline-offset: 2px;\n }\n\n &:hover > ${Label}::after,\n &:focus-within > ${Label}::after {\n opacity: 0;\n }\n `\n }}\n ${(props) => {\n let schema = COLOR_SCHEMA.primary\n\n if (props.secondary) schema = COLOR_SCHEMA.secondary\n if (props.onColored) schema = COLOR_SCHEMA.onColored\n\n if (props.disabled) return schema.disabled\n if (props.error) return schema.error\n if (props.success) return schema.success\n\n return schema.default\n }}\n\n ${responsiveSize}\n ${responsiveMargin}\n`\n"],"names":["shouldForwardFormInputLabelProp","createShouldForwardProp","propKey","includes","Label","styled","Text","attrs","forwardedAs","withConfig","componentId","Caption","span","template","palette","concat","color","backgroundColor","borderColor","colorHover","backgroundColorHover","borderColorHover","COLOR_SCHEMA","onColored","disabled","css","props","_objectSpread","theme","colors","transparent","error","success","default","tinycolor","darken","toString","secondary","primary","Root","div","shouldForwardProp","dynamicSizeDeclaration","size","sizeUnits","fontSize","padding","minHeight","borderRadius","transform","active","opacity","zIndex","labelPosition","inline","white","schema","responsiveSize","responsiveMargin"],"mappings":"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"}
1
+ {"version":3,"file":"style.js","sources":["../../../../src/components/FormInputLabel/style.ts"],"sourcesContent":["import styled, { css } from 'styled-components'\nimport tinycolor from 'tinycolor2'\nimport { Text } from 'components/Text'\nimport { createShouldForwardProp } from 'shared/utils/style'\nimport { responsiveSize } from 'mixins/responsive-size'\nimport { responsiveMargin } from 'mixins/responsive-margin'\nimport type { CSSColor } from 'shared/types'\nimport type { StyledFormInputLabelProps, FormInputLabelPalette } from './types'\n\nconst shouldForwardFormInputLabelProp = createShouldForwardProp(\n (propKey) =>\n ![\n 'primary',\n 'secondary',\n 'active',\n 'error',\n 'success',\n 'disabled',\n 'onColored',\n 'labelPosition',\n 'inline',\n 'zIndex',\n ].includes(propKey)\n)\n\nexport const Label = styled(Text).attrs({ forwardedAs: 'label' })`\n box-sizing: border-box;\n position: relative;\n display: flex;\n flex-grow: 1;\n align-self: stretch;\n cursor: inherit;\n &::after {\n content: '';\n position: absolute;\n bottom: 0;\n right: 0;\n width: 40px;\n height: 100%;\n pointer-events: none;\n opacity: 1;\n background-image: linear-gradient(90deg, transparent, currentColor);\n transition-property: color, opacity;\n }\n`\n\nexport const Caption = styled.span`\n box-sizing: border-box;\n position: absolute;\n left: 0;\n top: 50%;\n width: 100%;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n pointer-events: none;\n transition-property: transform;\n`\n\nconst template = (palette: FormInputLabelPalette) => `\n color: ${palette.color};\n background-color: ${palette.backgroundColor};\n border-color: ${palette.borderColor};\n &:hover {\n color: ${palette.colorHover};\n background-color: ${palette.backgroundColorHover};\n border-color: ${palette.borderColorHover};\n }\n &:focus-within {\n color: ${palette.color};\n background-color: ${palette.backgroundColor};\n border-color: ${palette.borderColor};\n }\n & > ${Label}::after {\n color: ${palette.backgroundColor};\n }\n`\n\nconst COLOR_SCHEMA = {\n onColored: {\n disabled: css<StyledFormInputLabelProps>`\n ${(props) =>\n template({\n color: props.theme.colors['content-disabled'],\n backgroundColor: props.theme.colors['bg-disabled-large'],\n borderColor: props.theme.colors.transparent,\n colorHover: props.theme.colors['content-disabled'],\n backgroundColorHover: props.theme.colors['bg-disabled-large'],\n borderColorHover: props.theme.colors.transparent,\n ...props.palette,\n })}\n `,\n error: css<StyledFormInputLabelProps>`\n ${(props) =>\n template({\n color: props.theme.colors['content-onmain-secondary'],\n backgroundColor: props.theme.colors['alert-bg-error-200'],\n borderColor: props.theme.colors['alert-bg-error-500'],\n colorHover: props.theme.colors['content-onmain-secondary'],\n backgroundColorHover: props.theme.colors['alert-bg-error-200'],\n borderColorHover: props.theme.colors['alert-bg-error-500'],\n ...props.palette,\n })}\n `,\n success: css<StyledFormInputLabelProps>`\n ${(props) =>\n template({\n color: props.theme.colors['content-onmain-secondary'],\n backgroundColor: props.theme.colors['alert-bg-success-200'],\n borderColor: props.theme.colors['alert-bg-success-500'],\n colorHover: props.theme.colors['content-onmain-secondary'],\n backgroundColorHover: props.theme.colors['alert-bg-success-200'],\n borderColorHover: props.theme.colors['alert-bg-success-500'],\n ...props.palette,\n })}\n `,\n default: css<StyledFormInputLabelProps>`\n ${(props) =>\n template({\n color: props.theme.colors['content-onmain-secondary'],\n backgroundColor: props.theme.colors['bg-onmain-primary'],\n borderColor: props.theme.colors['border-onmain-default-large'],\n colorHover: props.theme.colors['content-onmain-secondary'],\n backgroundColorHover: tinycolor(props.theme.colors['bg-onmain-primary']).darken(4).toString() as CSSColor,\n borderColorHover: props.theme.colors['border-onmain-default-large'],\n ...props.palette,\n })}\n `,\n },\n secondary: {\n disabled: css<StyledFormInputLabelProps>`\n ${(props) =>\n template({\n color: props.theme.colors['content-disabled'],\n backgroundColor: props.theme.colors['bg-disabled-large'],\n borderColor: props.theme.colors.transparent,\n colorHover: props.theme.colors['content-disabled'],\n backgroundColorHover: props.theme.colors['bg-disabled-large'],\n borderColorHover: props.theme.colors.transparent,\n ...props.palette,\n })}\n `,\n error: css<StyledFormInputLabelProps>`\n ${(props) =>\n template({\n color: props.theme.colors['content-onmain-secondary'],\n backgroundColor: props.theme.colors['alert-bg-error-100'],\n borderColor: props.theme.colors['alert-bg-error-500'],\n colorHover: props.theme.colors['content-onmain-secondary'],\n backgroundColorHover: props.theme.colors['alert-bg-error-100'],\n borderColorHover: props.theme.colors['alert-bg-error-500'],\n ...props.palette,\n })}\n `,\n success: css<StyledFormInputLabelProps>`\n ${(props) =>\n template({\n color: props.theme.colors['content-onmain-secondary'],\n backgroundColor: props.theme.colors['alert-bg-success-100'],\n borderColor: props.theme.colors['alert-bg-success-500'],\n colorHover: props.theme.colors['content-onmain-secondary'],\n backgroundColorHover: props.theme.colors['alert-bg-success-100'],\n borderColorHover: props.theme.colors['alert-bg-success-500'],\n ...props.palette,\n })}\n `,\n default: css<StyledFormInputLabelProps>`\n ${(props) =>\n template({\n color: props.theme.colors['content-onmain-secondary'],\n backgroundColor: props.theme.colors['bg-onmain-secondary'],\n borderColor: props.theme.colors['border-onmain-default-large'],\n colorHover: props.theme.colors['content-onmain-secondary'],\n backgroundColorHover: tinycolor(props.theme.colors['bg-onmain-secondary']).darken(4).toString() as CSSColor,\n borderColorHover: props.theme.colors['border-onmain-default-large'],\n ...props.palette,\n })}\n `,\n },\n primary: {\n disabled: css<StyledFormInputLabelProps>`\n ${(props) =>\n template({\n color: props.theme.colors['content-disabled'],\n backgroundColor: props.theme.colors['bg-disabled-large'],\n borderColor: props.theme.colors.transparent,\n colorHover: props.theme.colors['content-disabled'],\n backgroundColorHover: props.theme.colors['bg-disabled-large'],\n borderColorHover: props.theme.colors.transparent,\n ...props.palette,\n })}\n `,\n error: css<StyledFormInputLabelProps>`\n ${(props) =>\n template({\n color: props.theme.colors['content-onmain-secondary'],\n backgroundColor: props.theme.colors['alert-bg-error-100'],\n borderColor: props.theme.colors['alert-bg-error-500'],\n colorHover: props.theme.colors['content-onmain-secondary'],\n backgroundColorHover: props.theme.colors['alert-bg-error-100'],\n borderColorHover: props.theme.colors['alert-bg-error-500'],\n ...props.palette,\n })}\n `,\n success: css<StyledFormInputLabelProps>`\n ${(props) =>\n template({\n color: props.theme.colors['content-onmain-secondary'],\n backgroundColor: props.theme.colors['alert-bg-success-100'],\n borderColor: props.theme.colors['alert-bg-success-500'],\n colorHover: props.theme.colors['content-onmain-secondary'],\n backgroundColorHover: props.theme.colors['alert-bg-success-100'],\n borderColorHover: props.theme.colors['alert-bg-success-500'],\n ...props.palette,\n })}\n `,\n default: css<StyledFormInputLabelProps>`\n ${(props) =>\n template({\n color: props.theme.colors['content-onmain-secondary'],\n backgroundColor: props.theme.colors['bg-onmain-primary'],\n borderColor: props.theme.colors['border-onmain-default-large'],\n colorHover: props.theme.colors['content-onmain-secondary'],\n backgroundColorHover: tinycolor(props.theme.colors['bg-onmain-primary']).darken(4).toString() as CSSColor,\n borderColorHover: props.theme.colors['border-onmain-default-large'],\n ...props.palette,\n })}\n `,\n },\n}\n\nexport const Dropdown = styled.div`\n box-sizing: border-box;\n position: absolute;\n top: 100%;\n margin-top: 8px;\n`\n\nexport const Root = styled.div\n .withConfig<StyledFormInputLabelProps>({\n shouldForwardProp: shouldForwardFormInputLabelProp,\n })\n .attrs<StyledFormInputLabelProps>(<Required<Pick<StyledFormInputLabelProps, 'dynamicSizeDeclaration'>>>{\n dynamicSizeDeclaration: (size, sizeUnits) => ({\n fontSize: typeof size === 'string' ? size : `${size}${sizeUnits}`,\n padding: '0.25em 0.6em 0.25em 1em',\n minHeight: '3em',\n borderRadius: '0.6em',\n }),\n })`\n ${(props) => {\n let transform = props.active ? 'scale(0.7) translateX(-21.5%) translateY(-145%)' : 'translateY(-50%)'\n let opacity = '1'\n let zIndex = 'auto'\n\n if (props.labelPosition === 'top') {\n transform = 'scale(0.7) translateX(-21.5%) translateY(-145%)'\n }\n if (props.labelPosition === 'center') {\n transform = `translateY(-50%)`\n opacity = props.active ? '0' : '1'\n zIndex = props.active ? '-1' : 'auto'\n }\n\n const borderWidth = '1px'\n\n return `\n box-sizing: border-box;\n position: relative;\n isolation: isolate;\n display: ${props.inline ? 'inline-flex' : 'flex'};\n cursor: ${props.disabled ? 'not-allowed' : 'pointer'};\n align-items: center;\n min-width: min-content;\n border: ${borderWidth} solid transparent;\n z-index: ${props.zIndex ?? 'auto'};\n transition-property: background-color;\n\n & > ${Dropdown} {\n right: -${borderWidth};\n left: -${borderWidth};\n }\n\n &,\n & > ${Label}::after,\n & > ${Label} > ${Caption} {\n transition-duration: 150ms;\n transition-timing-function: ease;\n }\n\n & > ${Label} > ${Caption} {\n transform: ${transform};\n opacity: ${opacity};\n z-index: ${zIndex};\n }\n\n &:focus-within {\n box-shadow: 0 0 0 2px ${props.theme.colors.white}, 0 0 0 4px ${props.theme.colors['border-focus']};\n outline: 2px solid transparent;\n outline-offset: 2px;\n }\n\n &:hover > ${Label}::after,\n &:focus-within > ${Label}::after {\n opacity: 0;\n }\n `\n }}\n ${(props) => {\n let schema = COLOR_SCHEMA.primary\n\n if (props.secondary) schema = COLOR_SCHEMA.secondary\n if (props.onColored) schema = COLOR_SCHEMA.onColored\n\n if (props.disabled) return schema.disabled\n if (props.error) return schema.error\n if (props.success) return schema.success\n\n return schema.default\n }}\n\n ${responsiveSize}\n ${responsiveMargin}\n`\n"],"names":["shouldForwardFormInputLabelProp","createShouldForwardProp","propKey","includes","Label","styled","Text","attrs","forwardedAs","withConfig","componentId","Caption","span","template","palette","concat","color","backgroundColor","borderColor","colorHover","backgroundColorHover","borderColorHover","COLOR_SCHEMA","onColored","disabled","css","props","_objectSpread","theme","colors","transparent","error","success","default","tinycolor","darken","toString","secondary","primary","Dropdown","div","Root","shouldForwardProp","dynamicSizeDeclaration","size","sizeUnits","fontSize","padding","minHeight","borderRadius","_props$zIndex","transform","active","opacity","zIndex","labelPosition","borderWidth","inline","white","schema","responsiveSize","responsiveMargin"],"mappings":"4WASA,IAAMA,EAAkCC,GACrCC,IACE,CACC,UACA,YACA,SACA,QACA,UACA,WACA,YACA,gBACA,SACA,UACAC,SAASD,KAGR,IAAME,EAAQC,EAAOC,GAAMC,MAAM,CAAEC,YAAa,UAArCC,WAAA,CAAAC,YAAA,wBAAGL,CAAd,CAAA,wTAqBMM,IAAAA,EAAUN,EAAOO,KAAVH,WAAA,CAAAC,YAAA,wBAAGL,CAAhB,CAAA,mLAaP,IAAMQ,EAAYC,GAAD,cAAAC,OACND,EAAQE,wCACGF,EAAQG,gBACZH,uBAAAA,OAAAA,EAAQI,YAHT,+BAAAH,OAKJD,EAAQK,+CACGL,EAAQM,qBACZN,yBAAAA,OAAAA,EAAQO,iBAPX,2CAAAN,OAUJD,EAAQE,0CACGF,EAAQG,gBACZH,yBAAAA,OAAAA,EAAQI,YAZX,kBAAAH,OAcTX,EACKU,0BAAAA,OAAAA,EAAQG,gBAfrB,YAmBA,IAAMK,EAAe,CACnBC,UAAW,CACTC,SAAUC,EACLC,CAAAA,GAAAA,KAAAA,GACDb,EAAQc,EAAA,CACNX,MAAOU,EAAME,MAAMC,OAAO,oBAC1BZ,gBAAiBS,EAAME,MAAMC,OAAO,qBACpCX,YAAaQ,EAAME,MAAMC,OAAOC,YAChCX,WAAYO,EAAME,MAAMC,OAAO,oBAC/BT,qBAAsBM,EAAME,MAAMC,OAAO,qBACzCR,iBAAkBK,EAAME,MAAMC,OAAOC,aAClCJ,EAAMZ,YAGfiB,MAAON,EACFC,CAAAA,GAAAA,KAAAA,GACDb,EAAQc,EAAA,CACNX,MAAOU,EAAME,MAAMC,OAAO,4BAC1BZ,gBAAiBS,EAAME,MAAMC,OAAO,sBACpCX,YAAaQ,EAAME,MAAMC,OAAO,sBAChCV,WAAYO,EAAME,MAAMC,OAAO,4BAC/BT,qBAAsBM,EAAME,MAAMC,OAAO,sBACzCR,iBAAkBK,EAAME,MAAMC,OAAO,uBAClCH,EAAMZ,YAGfkB,QAASP,EACJC,CAAAA,GAAAA,KAAAA,GACDb,EAAQc,EAAA,CACNX,MAAOU,EAAME,MAAMC,OAAO,4BAC1BZ,gBAAiBS,EAAME,MAAMC,OAAO,wBACpCX,YAAaQ,EAAME,MAAMC,OAAO,wBAChCV,WAAYO,EAAME,MAAMC,OAAO,4BAC/BT,qBAAsBM,EAAME,MAAMC,OAAO,wBACzCR,iBAAkBK,EAAME,MAAMC,OAAO,yBAClCH,EAAMZ,YAGfmB,QAASR,EACJC,CAAAA,GAAAA,KAAAA,GACDb,EAAQc,EAAA,CACNX,MAAOU,EAAME,MAAMC,OAAO,4BAC1BZ,gBAAiBS,EAAME,MAAMC,OAAO,qBACpCX,YAAaQ,EAAME,MAAMC,OAAO,+BAChCV,WAAYO,EAAME,MAAMC,OAAO,4BAC/BT,qBAAsBc,EAAUR,EAAME,MAAMC,OAAO,sBAAsBM,OAAO,GAAGC,WACnFf,iBAAkBK,EAAME,MAAMC,OAAO,gCAClCH,EAAMZ,aAIjBuB,UAAW,CACTb,SAAUC,EACLC,CAAAA,GAAAA,KAAAA,GACDb,EAAQc,EAAA,CACNX,MAAOU,EAAME,MAAMC,OAAO,oBAC1BZ,gBAAiBS,EAAME,MAAMC,OAAO,qBACpCX,YAAaQ,EAAME,MAAMC,OAAOC,YAChCX,WAAYO,EAAME,MAAMC,OAAO,oBAC/BT,qBAAsBM,EAAME,MAAMC,OAAO,qBACzCR,iBAAkBK,EAAME,MAAMC,OAAOC,aAClCJ,EAAMZ,YAGfiB,MAAON,EACFC,CAAAA,GAAAA,KAAAA,GACDb,EAAQc,EAAA,CACNX,MAAOU,EAAME,MAAMC,OAAO,4BAC1BZ,gBAAiBS,EAAME,MAAMC,OAAO,sBACpCX,YAAaQ,EAAME,MAAMC,OAAO,sBAChCV,WAAYO,EAAME,MAAMC,OAAO,4BAC/BT,qBAAsBM,EAAME,MAAMC,OAAO,sBACzCR,iBAAkBK,EAAME,MAAMC,OAAO,uBAClCH,EAAMZ,YAGfkB,QAASP,EACJC,CAAAA,GAAAA,KAAAA,GACDb,EAAQc,EAAA,CACNX,MAAOU,EAAME,MAAMC,OAAO,4BAC1BZ,gBAAiBS,EAAME,MAAMC,OAAO,wBACpCX,YAAaQ,EAAME,MAAMC,OAAO,wBAChCV,WAAYO,EAAME,MAAMC,OAAO,4BAC/BT,qBAAsBM,EAAME,MAAMC,OAAO,wBACzCR,iBAAkBK,EAAME,MAAMC,OAAO,yBAClCH,EAAMZ,YAGfmB,QAASR,EACJC,CAAAA,GAAAA,KAAAA,GACDb,EAAQc,EAAA,CACNX,MAAOU,EAAME,MAAMC,OAAO,4BAC1BZ,gBAAiBS,EAAME,MAAMC,OAAO,uBACpCX,YAAaQ,EAAME,MAAMC,OAAO,+BAChCV,WAAYO,EAAME,MAAMC,OAAO,4BAC/BT,qBAAsBc,EAAUR,EAAME,MAAMC,OAAO,wBAAwBM,OAAO,GAAGC,WACrFf,iBAAkBK,EAAME,MAAMC,OAAO,gCAClCH,EAAMZ,aAIjBwB,QAAS,CACPd,SAAUC,EACLC,CAAAA,GAAAA,KAAAA,GACDb,EAAQc,EAAA,CACNX,MAAOU,EAAME,MAAMC,OAAO,oBAC1BZ,gBAAiBS,EAAME,MAAMC,OAAO,qBACpCX,YAAaQ,EAAME,MAAMC,OAAOC,YAChCX,WAAYO,EAAME,MAAMC,OAAO,oBAC/BT,qBAAsBM,EAAME,MAAMC,OAAO,qBACzCR,iBAAkBK,EAAME,MAAMC,OAAOC,aAClCJ,EAAMZ,YAGfiB,MAAON,EACFC,CAAAA,GAAAA,KAAAA,GACDb,EAAQc,EAAA,CACNX,MAAOU,EAAME,MAAMC,OAAO,4BAC1BZ,gBAAiBS,EAAME,MAAMC,OAAO,sBACpCX,YAAaQ,EAAME,MAAMC,OAAO,sBAChCV,WAAYO,EAAME,MAAMC,OAAO,4BAC/BT,qBAAsBM,EAAME,MAAMC,OAAO,sBACzCR,iBAAkBK,EAAME,MAAMC,OAAO,uBAClCH,EAAMZ,YAGfkB,QAASP,EACJC,CAAAA,GAAAA,KAAAA,GACDb,EAAQc,EAAA,CACNX,MAAOU,EAAME,MAAMC,OAAO,4BAC1BZ,gBAAiBS,EAAME,MAAMC,OAAO,wBACpCX,YAAaQ,EAAME,MAAMC,OAAO,wBAChCV,WAAYO,EAAME,MAAMC,OAAO,4BAC/BT,qBAAsBM,EAAME,MAAMC,OAAO,wBACzCR,iBAAkBK,EAAME,MAAMC,OAAO,yBAClCH,EAAMZ,YAGfmB,QAASR,EACJC,CAAAA,GAAAA,KAAAA,GACDb,EAAQc,EAAA,CACNX,MAAOU,EAAME,MAAMC,OAAO,4BAC1BZ,gBAAiBS,EAAME,MAAMC,OAAO,qBACpCX,YAAaQ,EAAME,MAAMC,OAAO,+BAChCV,WAAYO,EAAME,MAAMC,OAAO,4BAC/BT,qBAAsBc,EAAUR,EAAME,MAAMC,OAAO,sBAAsBM,OAAO,GAAGC,WACnFf,iBAAkBK,EAAME,MAAMC,OAAO,gCAClCH,EAAMZ,cAMNyB,IAAAA,EAAWlC,EAAOmC,IAAV/B,WAAA,CAAAC,YAAA,wBAAGL,CAAjB,CAAA,qEAOA,IAAMoC,EAAOpC,EAAOmC,IACxB/B,WAAsC,CACrCiC,kBAAmB1C,IAEpBO,MAAsG,CACrGoC,uBAAwB,CAACC,EAAMC,KAAe,CAC5CC,SAA0B,iBAATF,EAAoBA,EAAUA,GAAAA,OAAAA,GAAOC,OAAAA,GACtDE,QAAS,0BACTC,UAAW,MACXC,aAAc,YATHxC,WAAA,CAAAC,YAAA,wBAAGL,CAAH,CAAA,GAAA,IAAA,IAAA,IAAA,KAYZqB,IAAU,IAAAwB,EACX,IAAIC,EAAYzB,EAAM0B,OAAS,kDAAoD,mBACnF,IAAIC,EAAU,IACd,IAAIC,EAAS,OAEe,QAAxB5B,EAAM6B,gBACRJ,EAAY,mDAEc,WAAxBzB,EAAM6B,gBACRJ,EAAA,mBACAE,EAAU3B,EAAM0B,OAAS,IAAM,IAC/BE,EAAS5B,EAAM0B,OAAS,KAAO,QAGjC,IAAMI,EAAc,MAEpB,MAAA,yGAAAzC,OAIaW,EAAM+B,OAAS,cAAgB,OAJ5C,qBAAA1C,OAKYW,EAAMF,SAAW,cAAgB,UAGjCgC,gFAAAA,OAAAA,EACC9B,wCAAAA,OAAgB,QAAhBA,EAAAA,EAAM4B,cAAU,IAAAJ,EAAAA,EAAA,OAGrBX,iEAAAA,OAAAA,EACMiB,wBAAAA,OAAAA,EACDA,sBAAAA,OAAAA,+CAILpD,EAlBR,wBAAAW,OAmBQX,EAnBR,OAAAW,OAmBmBJ,EAnBnB,6GAAAI,OAwBQX,EAxBR,OAAAW,OAwBmBJ,EAxBnB,2BAAAI,OAyBiBoC,EAzBjB,wBAAApC,OA0BesC,EA1Bf,wBAAAtC,OA2BeuC,EA3Bf,wEAAAvC,OA+B4BW,EAAME,MAAMC,OAAO6B,MAAoBhC,gBAAAA,OAAAA,EAAME,MAAMC,OAAO,gBAKxEzB,yGAAAA,OAAAA,8CACOA,EArCrB,oDA0CCsB,IACD,IAAIiC,EAASrC,EAAagB,QAK1B,OAHIZ,EAAMW,YAAWsB,EAASrC,EAAae,WACvCX,EAAMH,YAAWoC,EAASrC,EAAaC,WAEvCG,EAAMF,SAAiBmC,EAAOnC,SAC9BE,EAAMK,MAAc4B,EAAO5B,MAC3BL,EAAMM,QAAgB2B,EAAO3B,QAE1B2B,EAAO1B,UAGd2B,EACAC"}
@@ -1,2 +1,2 @@
1
- import o from'@babel/runtime/helpers/objectSpread2';import r,{css as e}from'styled-components';import{responsiveSize as t}from'../../mixins/responsive-size.js';import{responsiveMargin as n}from'../../mixins/responsive-margin.js';import{focus as a}from'../../mixins/focus.js';import{createShouldForwardProp as c}from'../../shared/utils/style.js';import{Text as l}from'../Text/Text.js';var s=c((o=>!['danger','active','onColored','mediaBorderRadius','borderRadius'].includes(o)));var d=r.span.withConfig({componentId:"fox-ui__sc-1a62xqm-0"})(["box-sizing:border-box;flex-shrink:0;width:2.2em;height:2.2em;& > *{box-sizing:border-box;width:100%;height:100%;}"]);var i=o=>"\n color: ".concat(o.color,";\n background-color: ").concat(o.backgroundColor,";\n &:hover {\n color: ").concat(o.colorHover,";\n background-color: ").concat(o.backgroundColorHover,";\n }\n\n & ").concat(d," img {\n background-color: ").concat(o.mediaPlaceholderColor,";\n }\n");var m={onColored:{danger:{disabled:e(["",""],(r=>i(o({color:r.theme.colors['content-oncolor-disabled'],backgroundColor:r.theme.colors.transparent,colorHover:r.theme.colors['content-oncolor-disabled'],backgroundColorHover:r.theme.colors.transparent,mediaPlaceholderColor:r.theme.colors['bg-oncontrast-hover']},r.palette)))),active:e(["",""],(r=>i(o({color:r.theme.colors['content-oncolor-primary'],backgroundColor:r.theme.colors['alert-error'],colorHover:r.theme.colors['content-oncolor-primary'],backgroundColorHover:r.theme.colors['alert-error'],mediaPlaceholderColor:r.theme.colors['bg-oncontrast-hover']},r.palette)))),default:e(["",""],(r=>i(o({color:r.theme.colors['content-oncolor-primary'],backgroundColor:r.theme.colors.transparent,colorHover:r.theme.colors['content-oncolor-primary'],backgroundColorHover:r.theme.colors['bg-oncontrast-hover'],mediaPlaceholderColor:r.theme.colors['bg-oncontrast-hover']},r.palette))))},secondary:{disabled:e(["",""],(r=>i(o({color:r.theme.colors['content-oncolor-disabled'],backgroundColor:r.theme.colors.transparent,colorHover:r.theme.colors['content-oncolor-disabled'],backgroundColorHover:r.theme.colors.transparent,mediaPlaceholderColor:r.theme.colors['bg-oncontrast-hover']},r.palette)))),active:e(["",""],(r=>i(o({color:r.theme.colors['content-brand-primary'],backgroundColor:r.theme.colors['bg-brand-primary-100-active'],colorHover:r.theme.colors['content-brand-primary'],backgroundColorHover:r.theme.colors['bg-brand-primary-100-active'],mediaPlaceholderColor:r.theme.colors['bg-oncontrast-hover']},r.palette)))),default:e(["",""],(r=>i(o({color:r.theme.colors['content-oncolor-primary'],backgroundColor:r.theme.colors.transparent,colorHover:r.theme.colors['content-oncolor-primary'],backgroundColorHover:r.theme.colors['bg-oncontrast-hover'],mediaPlaceholderColor:r.theme.colors['bg-oncontrast-hover']},r.palette))))},primary:{disabled:e(["",""],(r=>i(o({color:r.theme.colors['content-oncolor-disabled'],backgroundColor:r.theme.colors.transparent,colorHover:r.theme.colors['content-oncolor-disabled'],backgroundColorHover:r.theme.colors.transparent,mediaPlaceholderColor:r.theme.colors['bg-oncontrast-hover']},r.palette)))),active:e(["",""],(r=>i(o({color:r.theme.colors['content-brand-primary'],backgroundColor:r.theme.colors['bg-brand-primary-100-active'],colorHover:r.theme.colors['content-brand-primary'],backgroundColorHover:r.theme.colors['bg-brand-primary-100-active'],mediaPlaceholderColor:r.theme.colors['bg-oncontrast-hover']},r.palette)))),default:e(["",""],(r=>i(o({color:r.theme.colors['content-oncolor-primary'],backgroundColor:r.theme.colors.transparent,colorHover:r.theme.colors['content-oncolor-primary'],backgroundColorHover:r.theme.colors['bg-oncontrast-hover'],mediaPlaceholderColor:r.theme.colors['bg-oncontrast-hover']},r.palette))))}},default:{danger:{disabled:e(["",""],(r=>i(o({color:r.theme.colors['content-disabled'],backgroundColor:r.theme.colors.transparent,colorHover:r.theme.colors['content-disabled'],backgroundColorHover:r.theme.colors.transparent,mediaPlaceholderColor:r.theme.colors['bg-oncolor-hover']},r.palette)))),active:e(["",""],(r=>i(o({color:r.theme.colors['content-oncolor-primary'],backgroundColor:r.theme.colors['alert-error'],colorHover:r.theme.colors['content-oncolor-primary'],backgroundColorHover:r.theme.colors['alert-error'],mediaPlaceholderColor:r.theme.colors['bg-oncolor-hover']},r.palette)))),default:e(["",""],(r=>i(o({color:r.theme.colors['alert-error'],backgroundColor:r.theme.colors.transparent,colorHover:r.theme.colors['alert-error'],backgroundColorHover:r.theme.colors['bg-oncolor-hover'],mediaPlaceholderColor:r.theme.colors['bg-oncolor-hover']},r.palette))))},secondary:{disabled:e(["",""],(r=>i(o({color:r.theme.colors['content-disabled'],backgroundColor:r.theme.colors.transparent,colorHover:r.theme.colors['content-disabled'],backgroundColorHover:r.theme.colors.transparent,mediaPlaceholderColor:r.theme.colors['bg-oncolor-hover']},r.palette)))),active:e(["",""],(r=>i(o({color:r.theme.colors['content-brand-primary'],backgroundColor:r.theme.colors['bg-brand-primary-100-active'],colorHover:r.theme.colors['content-brand-primary'],backgroundColorHover:r.theme.colors['bg-brand-primary-100-active'],mediaPlaceholderColor:r.theme.colors['bg-oncolor-hover']},r.palette)))),default:e(["",""],(r=>i(o({color:r.theme.colors['content-brand-primary'],backgroundColor:r.theme.colors.transparent,colorHover:r.theme.colors['content-brand-primary'],backgroundColorHover:r.theme.colors['bg-oncolor-hover'],mediaPlaceholderColor:r.theme.colors['bg-oncolor-hover']},r.palette))))},primary:{disabled:e(["",""],(r=>i(o({color:r.theme.colors['content-disabled'],backgroundColor:r.theme.colors.transparent,colorHover:r.theme.colors['content-disabled'],backgroundColorHover:r.theme.colors.transparent,mediaPlaceholderColor:r.theme.colors['bg-oncolor-hover']},r.palette)))),active:e(["",""],(r=>i(o({color:r.theme.colors['content-brand-primary'],backgroundColor:r.theme.colors['bg-brand-primary-100-active'],colorHover:r.theme.colors['content-brand-primary'],backgroundColorHover:r.theme.colors['bg-brand-primary-100-active'],mediaPlaceholderColor:r.theme.colors['bg-oncolor-hover']},r.palette)))),default:e(["",""],(r=>i(o({color:r.theme.colors['content-onmain-primary'],backgroundColor:r.theme.colors.transparent,colorHover:r.theme.colors['content-onmain-primary'],backgroundColorHover:r.theme.colors['bg-oncolor-hover'],mediaPlaceholderColor:r.theme.colors['bg-oncolor-hover']},r.palette))))}}};var h=r.button.withConfig({shouldForwardProp:s}).attrs({dynamicSizeDeclaration:(o,r)=>({fontSize:'string'==typeof o?o:"".concat(o).concat(r),padding:'0.4em 0.8em'})}).withConfig({componentId:"fox-ui__sc-1a62xqm-1"})([""," "," "," "," ",""],(o=>"\n box-sizing: border-box;\n display: flex;\n align-items: center;\n isolation: isolate;\n position: relative;\n cursor: ".concat(o.disabled?'not-allowed':'pointer',";\n border-radius: ").concat('string'==typeof o.borderRadius?o.borderRadius:"".concat(o.borderRadius,"px"),";\n border: none;\n text-decoration: none;\n appearance: none;\n text-align: start;\n width: 100%;\n min-width: min-content;\n transition-property: background-color;\n transition-duration: 150ms;\n transition-timing-function: ease-in;\n\n & ").concat(d," {\n border-radius: ").concat('string'==typeof o.mediaBorderRadius?o.mediaBorderRadius:"".concat(o.mediaBorderRadius,"px"),";\n }\n\n & > *:not(:last-child) {\n margin-right: 12px;\n }\n ")),(o=>{var r=o.onColored?m.onColored:m.default;var e=r.primary;return o.secondary&&(e=r.secondary),o.danger&&(e=r.danger),o.disabled?e.disabled:o.active?e.active:e.default}),a,t,n);var b=r.span.withConfig({componentId:"fox-ui__sc-1a62xqm-2"})(["box-sizing:border-box;display:flex;flex-direction:column;flex-grow:1;"]);var p=r.img.withConfig({componentId:"fox-ui__sc-1a62xqm-3"})(["box-sizing:border-box;border-radius:inherit;object-fit:contain;"]);var g=r(l).withConfig({shouldForwardProp:o=>'ellipsis'!==o}).withConfig({componentId:"fox-ui__sc-1a62xqm-4"})(["",""],(o=>o.ellipsis&&"\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n min-width: 100%;\n width: 5ch;\n "));export{b as Content,p as Img,d as Media,h as Root,g as Typography};
1
+ import o from'@babel/runtime/helpers/objectSpread2';import r,{css as e}from'styled-components';import{responsiveSize as t}from'../../mixins/responsive-size.js';import{responsiveMargin as l}from'../../mixins/responsive-margin.js';import{focus as c}from'../../mixins/focus.js';import{createShouldForwardProp as a}from'../../shared/utils/style.js';import{Text as n}from'../Text/Text.js';var s=a((o=>!['danger','success','active','onColored','mediaBorderRadius','borderRadius'].includes(o)));var d=r.span.withConfig({componentId:"fox-ui__sc-1a62xqm-0"})(["box-sizing:border-box;flex-shrink:0;width:2.2em;height:2.2em;& > *{box-sizing:border-box;width:100%;height:100%;}"]);var i=o=>"\n color: ".concat(o.color,";\n background-color: ").concat(o.backgroundColor,";\n &:hover {\n color: ").concat(o.colorHover,";\n background-color: ").concat(o.backgroundColorHover,";\n }\n\n & ").concat(d," img {\n background-color: ").concat(o.mediaPlaceholderColor,";\n }\n");var m={onColored:{danger:{disabled:e(["",""],(r=>i(o({color:r.theme.colors['content-oncolor-disabled'],backgroundColor:r.theme.colors.transparent,colorHover:r.theme.colors['content-oncolor-disabled'],backgroundColorHover:r.theme.colors.transparent,mediaPlaceholderColor:r.theme.colors['bg-oncontrast-hover']},r.palette)))),active:e(["",""],(r=>i(o({color:r.theme.colors['alert-error'],backgroundColor:r.theme.colors['alert-bg-error-100'],colorHover:r.theme.colors['alert-error'],backgroundColorHover:r.theme.colors['alert-bg-error-100'],mediaPlaceholderColor:r.theme.colors['bg-oncontrast-hover']},r.palette)))),default:e(["",""],(r=>i(o({color:r.theme.colors['content-oncolor-primary'],backgroundColor:r.theme.colors.transparent,colorHover:r.theme.colors['content-oncolor-primary'],backgroundColorHover:r.theme.colors['bg-oncontrast-hover'],mediaPlaceholderColor:r.theme.colors['bg-oncontrast-hover']},r.palette))))},success:{disabled:e(["",""],(r=>i(o({color:r.theme.colors['content-oncolor-disabled'],backgroundColor:r.theme.colors.transparent,colorHover:r.theme.colors['content-oncolor-disabled'],backgroundColorHover:r.theme.colors.transparent,mediaPlaceholderColor:r.theme.colors['bg-oncontrast-hover']},r.palette)))),active:e(["",""],(r=>i(o({color:r.theme.colors['alert-success'],backgroundColor:r.theme.colors['alert-bg-success-100'],colorHover:r.theme.colors['alert-success'],backgroundColorHover:r.theme.colors['alert-bg-success-100'],mediaPlaceholderColor:r.theme.colors['bg-oncontrast-hover']},r.palette)))),default:e(["",""],(r=>i(o({color:r.theme.colors['content-oncolor-primary'],backgroundColor:r.theme.colors.transparent,colorHover:r.theme.colors['content-oncolor-primary'],backgroundColorHover:r.theme.colors['bg-oncontrast-hover'],mediaPlaceholderColor:r.theme.colors['bg-oncontrast-hover']},r.palette))))},secondary:{disabled:e(["",""],(r=>i(o({color:r.theme.colors['content-oncolor-disabled'],backgroundColor:r.theme.colors.transparent,colorHover:r.theme.colors['content-oncolor-disabled'],backgroundColorHover:r.theme.colors.transparent,mediaPlaceholderColor:r.theme.colors['bg-oncontrast-hover']},r.palette)))),active:e(["",""],(r=>i(o({color:r.theme.colors['content-brand-primary'],backgroundColor:r.theme.colors['bg-brand-primary-100-active'],colorHover:r.theme.colors['content-brand-primary'],backgroundColorHover:r.theme.colors['bg-brand-primary-100-active'],mediaPlaceholderColor:r.theme.colors['bg-oncontrast-hover']},r.palette)))),default:e(["",""],(r=>i(o({color:r.theme.colors['content-oncolor-primary'],backgroundColor:r.theme.colors.transparent,colorHover:r.theme.colors['content-oncolor-primary'],backgroundColorHover:r.theme.colors['bg-oncontrast-hover'],mediaPlaceholderColor:r.theme.colors['bg-oncontrast-hover']},r.palette))))},primary:{disabled:e(["",""],(r=>i(o({color:r.theme.colors['content-oncolor-disabled'],backgroundColor:r.theme.colors.transparent,colorHover:r.theme.colors['content-oncolor-disabled'],backgroundColorHover:r.theme.colors.transparent,mediaPlaceholderColor:r.theme.colors['bg-oncontrast-hover']},r.palette)))),active:e(["",""],(r=>i(o({color:r.theme.colors['content-brand-primary'],backgroundColor:r.theme.colors['bg-brand-primary-100-active'],colorHover:r.theme.colors['content-brand-primary'],backgroundColorHover:r.theme.colors['bg-brand-primary-100-active'],mediaPlaceholderColor:r.theme.colors['bg-oncontrast-hover']},r.palette)))),default:e(["",""],(r=>i(o({color:r.theme.colors['content-oncolor-primary'],backgroundColor:r.theme.colors.transparent,colorHover:r.theme.colors['content-oncolor-primary'],backgroundColorHover:r.theme.colors['bg-oncontrast-hover'],mediaPlaceholderColor:r.theme.colors['bg-oncontrast-hover']},r.palette))))}},default:{danger:{disabled:e(["",""],(r=>i(o({color:r.theme.colors['content-disabled'],backgroundColor:r.theme.colors.transparent,colorHover:r.theme.colors['content-disabled'],backgroundColorHover:r.theme.colors.transparent,mediaPlaceholderColor:r.theme.colors['bg-oncolor-hover']},r.palette)))),active:e(["",""],(r=>i(o({color:r.theme.colors['alert-error'],backgroundColor:r.theme.colors['alert-bg-error-100'],colorHover:r.theme.colors['alert-error'],backgroundColorHover:r.theme.colors['alert-bg-error-100'],mediaPlaceholderColor:r.theme.colors['bg-oncolor-hover']},r.palette)))),default:e(["",""],(r=>i(o({color:r.theme.colors['alert-error'],backgroundColor:r.theme.colors.transparent,colorHover:r.theme.colors['alert-error'],backgroundColorHover:r.theme.colors['bg-oncolor-hover'],mediaPlaceholderColor:r.theme.colors['bg-oncolor-hover']},r.palette))))},success:{disabled:e(["",""],(r=>i(o({color:r.theme.colors['content-disabled'],backgroundColor:r.theme.colors.transparent,colorHover:r.theme.colors['content-disabled'],backgroundColorHover:r.theme.colors.transparent,mediaPlaceholderColor:r.theme.colors['bg-oncolor-hover']},r.palette)))),active:e(["",""],(r=>i(o({color:r.theme.colors['alert-success'],backgroundColor:r.theme.colors['alert-bg-success-100'],colorHover:r.theme.colors['alert-success'],backgroundColorHover:r.theme.colors['alert-bg-success-100'],mediaPlaceholderColor:r.theme.colors['bg-oncolor-hover']},r.palette)))),default:e(["",""],(r=>i(o({color:r.theme.colors['alert-success'],backgroundColor:r.theme.colors.transparent,colorHover:r.theme.colors['alert-success'],backgroundColorHover:r.theme.colors['bg-oncolor-hover'],mediaPlaceholderColor:r.theme.colors['bg-oncolor-hover']},r.palette))))},secondary:{disabled:e(["",""],(r=>i(o({color:r.theme.colors['content-disabled'],backgroundColor:r.theme.colors.transparent,colorHover:r.theme.colors['content-disabled'],backgroundColorHover:r.theme.colors.transparent,mediaPlaceholderColor:r.theme.colors['bg-oncolor-hover']},r.palette)))),active:e(["",""],(r=>i(o({color:r.theme.colors['content-brand-primary'],backgroundColor:r.theme.colors['bg-brand-primary-100-active'],colorHover:r.theme.colors['content-brand-primary'],backgroundColorHover:r.theme.colors['bg-brand-primary-100-active'],mediaPlaceholderColor:r.theme.colors['bg-oncolor-hover']},r.palette)))),default:e(["",""],(r=>i(o({color:r.theme.colors['content-brand-primary'],backgroundColor:r.theme.colors.transparent,colorHover:r.theme.colors['content-brand-primary'],backgroundColorHover:r.theme.colors['bg-oncolor-hover'],mediaPlaceholderColor:r.theme.colors['bg-oncolor-hover']},r.palette))))},primary:{disabled:e(["",""],(r=>i(o({color:r.theme.colors['content-disabled'],backgroundColor:r.theme.colors.transparent,colorHover:r.theme.colors['content-disabled'],backgroundColorHover:r.theme.colors.transparent,mediaPlaceholderColor:r.theme.colors['bg-oncolor-hover']},r.palette)))),active:e(["",""],(r=>i(o({color:r.theme.colors['content-brand-primary'],backgroundColor:r.theme.colors['bg-brand-primary-100-active'],colorHover:r.theme.colors['content-brand-primary'],backgroundColorHover:r.theme.colors['bg-brand-primary-100-active'],mediaPlaceholderColor:r.theme.colors['bg-oncolor-hover']},r.palette)))),default:e(["",""],(r=>i(o({color:r.theme.colors['content-onmain-primary'],backgroundColor:r.theme.colors.transparent,colorHover:r.theme.colors['content-onmain-primary'],backgroundColorHover:r.theme.colors['bg-oncolor-hover'],mediaPlaceholderColor:r.theme.colors['bg-oncolor-hover']},r.palette))))}}};var h=r.button.withConfig({shouldForwardProp:s}).attrs({dynamicSizeDeclaration:(o,r)=>({fontSize:'string'==typeof o?o:"".concat(o).concat(r),padding:'0.4em 0.8em'})}).withConfig({componentId:"fox-ui__sc-1a62xqm-1"})([""," "," "," "," ",""],(o=>"\n box-sizing: border-box;\n display: flex;\n align-items: center;\n isolation: isolate;\n position: relative;\n cursor: ".concat(o.disabled?'not-allowed':'pointer',";\n border-radius: ").concat('string'==typeof o.borderRadius?o.borderRadius:"".concat(o.borderRadius,"px"),";\n border: none;\n text-decoration: none;\n appearance: none;\n text-align: start;\n width: 100%;\n min-width: min-content;\n transition-property: background-color;\n transition-duration: 150ms;\n transition-timing-function: ease-in;\n\n & ").concat(d," {\n border-radius: ").concat('string'==typeof o.mediaBorderRadius?o.mediaBorderRadius:"".concat(o.mediaBorderRadius,"px"),";\n }\n\n & > *:not(:last-child) {\n margin-right: 12px;\n }\n ")),(o=>{var r=o.onColored?m.onColored:m.default;var e=r.primary;return o.secondary&&(e=r.secondary),o.success&&(e=r.success),o.danger&&(e=r.danger),o.disabled?e.disabled:o.active?e.active:e.default}),c,t,l);var b=r.span.withConfig({componentId:"fox-ui__sc-1a62xqm-2"})(["box-sizing:border-box;display:flex;flex-direction:column;flex-grow:1;"]);var g=r.img.withConfig({componentId:"fox-ui__sc-1a62xqm-3"})(["box-sizing:border-box;border-radius:inherit;object-fit:contain;"]);var p=r(n).withConfig({shouldForwardProp:o=>'ellipsis'!==o}).withConfig({componentId:"fox-ui__sc-1a62xqm-4"})(["",""],(o=>o.ellipsis&&"\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n min-width: 100%;\n width: 5ch;\n "));export{b as Content,g as Img,d as Media,h as Root,p as Typography};
2
2
  //# sourceMappingURL=style.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"style.js","sources":["../../../../src/components/ListItem/style.ts"],"sourcesContent":["import styled, { css } from 'styled-components'\nimport { responsiveSize } from 'mixins/responsive-size'\nimport { responsiveMargin } from 'mixins/responsive-margin'\nimport { focus } from 'mixins/focus'\nimport { createShouldForwardProp } from 'shared/utils/style'\nimport { Text } from 'components/Text'\nimport type { StyledListItemProps, ListItemPalette, TypographyProps } from './types'\n\nconst shouldForwardListItemProp = createShouldForwardProp(\n (propKey) => !['danger', 'active', 'onColored', 'mediaBorderRadius', 'borderRadius'].includes(propKey)\n)\n\nexport const Media = styled.span`\n box-sizing: border-box;\n flex-shrink: 0;\n width: 2.2em;\n height: 2.2em;\n\n & > * {\n box-sizing: border-box;\n width: 100%;\n height: 100%;\n }\n`\n\nconst template = (palette: ListItemPalette) => `\n color: ${palette.color};\n background-color: ${palette.backgroundColor};\n &:hover {\n color: ${palette.colorHover};\n background-color: ${palette.backgroundColorHover};\n }\n\n & ${Media} img {\n background-color: ${palette.mediaPlaceholderColor};\n }\n`\n\nconst COLOR_SCHEMA = {\n onColored: {\n danger: {\n disabled: css<StyledListItemProps>`\n ${(props) =>\n template({\n color: props.theme.colors['content-oncolor-disabled'],\n backgroundColor: props.theme.colors.transparent,\n colorHover: props.theme.colors['content-oncolor-disabled'],\n backgroundColorHover: props.theme.colors.transparent,\n mediaPlaceholderColor: props.theme.colors['bg-oncontrast-hover'],\n ...props.palette,\n })}\n `,\n active: css<StyledListItemProps>`\n ${(props) =>\n template({\n color: props.theme.colors['content-oncolor-primary'],\n backgroundColor: props.theme.colors['alert-error'],\n colorHover: props.theme.colors['content-oncolor-primary'],\n backgroundColorHover: props.theme.colors['alert-error'],\n mediaPlaceholderColor: props.theme.colors['bg-oncontrast-hover'],\n ...props.palette,\n })}\n `,\n default: css<StyledListItemProps>`\n ${(props) =>\n template({\n color: props.theme.colors['content-oncolor-primary'],\n backgroundColor: props.theme.colors.transparent,\n colorHover: props.theme.colors['content-oncolor-primary'],\n backgroundColorHover: props.theme.colors['bg-oncontrast-hover'],\n mediaPlaceholderColor: props.theme.colors['bg-oncontrast-hover'],\n ...props.palette,\n })}\n `,\n },\n secondary: {\n disabled: css<StyledListItemProps>`\n ${(props) =>\n template({\n color: props.theme.colors['content-oncolor-disabled'],\n backgroundColor: props.theme.colors.transparent,\n colorHover: props.theme.colors['content-oncolor-disabled'],\n backgroundColorHover: props.theme.colors.transparent,\n mediaPlaceholderColor: props.theme.colors['bg-oncontrast-hover'],\n ...props.palette,\n })}\n `,\n active: css<StyledListItemProps>`\n ${(props) =>\n template({\n color: props.theme.colors['content-brand-primary'],\n backgroundColor: props.theme.colors['bg-brand-primary-100-active'],\n colorHover: props.theme.colors['content-brand-primary'],\n backgroundColorHover: props.theme.colors['bg-brand-primary-100-active'],\n mediaPlaceholderColor: props.theme.colors['bg-oncontrast-hover'],\n ...props.palette,\n })}\n `,\n default: css<StyledListItemProps>`\n ${(props) =>\n template({\n color: props.theme.colors['content-oncolor-primary'],\n backgroundColor: props.theme.colors.transparent,\n colorHover: props.theme.colors['content-oncolor-primary'],\n backgroundColorHover: props.theme.colors['bg-oncontrast-hover'],\n mediaPlaceholderColor: props.theme.colors['bg-oncontrast-hover'],\n ...props.palette,\n })}\n `,\n },\n primary: {\n disabled: css<StyledListItemProps>`\n ${(props) =>\n template({\n color: props.theme.colors['content-oncolor-disabled'],\n backgroundColor: props.theme.colors.transparent,\n colorHover: props.theme.colors['content-oncolor-disabled'],\n backgroundColorHover: props.theme.colors.transparent,\n mediaPlaceholderColor: props.theme.colors['bg-oncontrast-hover'],\n ...props.palette,\n })}\n `,\n active: css<StyledListItemProps>`\n ${(props) =>\n template({\n color: props.theme.colors['content-brand-primary'],\n backgroundColor: props.theme.colors['bg-brand-primary-100-active'],\n colorHover: props.theme.colors['content-brand-primary'],\n backgroundColorHover: props.theme.colors['bg-brand-primary-100-active'],\n mediaPlaceholderColor: props.theme.colors['bg-oncontrast-hover'],\n ...props.palette,\n })}\n `,\n default: css<StyledListItemProps>`\n ${(props) =>\n template({\n color: props.theme.colors['content-oncolor-primary'],\n backgroundColor: props.theme.colors.transparent,\n colorHover: props.theme.colors['content-oncolor-primary'],\n backgroundColorHover: props.theme.colors['bg-oncontrast-hover'],\n mediaPlaceholderColor: props.theme.colors['bg-oncontrast-hover'],\n ...props.palette,\n })}\n `,\n },\n },\n default: {\n danger: {\n disabled: css<StyledListItemProps>`\n ${(props) =>\n template({\n color: props.theme.colors['content-disabled'],\n backgroundColor: props.theme.colors.transparent,\n colorHover: props.theme.colors['content-disabled'],\n backgroundColorHover: props.theme.colors.transparent,\n mediaPlaceholderColor: props.theme.colors['bg-oncolor-hover'],\n ...props.palette,\n })}\n `,\n active: css<StyledListItemProps>`\n ${(props) =>\n template({\n color: props.theme.colors['content-oncolor-primary'],\n backgroundColor: props.theme.colors['alert-error'],\n colorHover: props.theme.colors['content-oncolor-primary'],\n backgroundColorHover: props.theme.colors['alert-error'],\n mediaPlaceholderColor: props.theme.colors['bg-oncolor-hover'],\n ...props.palette,\n })}\n `,\n default: css<StyledListItemProps>`\n ${(props) =>\n template({\n color: props.theme.colors['alert-error'],\n backgroundColor: props.theme.colors.transparent,\n colorHover: props.theme.colors['alert-error'],\n backgroundColorHover: props.theme.colors['bg-oncolor-hover'],\n mediaPlaceholderColor: props.theme.colors['bg-oncolor-hover'],\n ...props.palette,\n })}\n `,\n },\n secondary: {\n disabled: css<StyledListItemProps>`\n ${(props) =>\n template({\n color: props.theme.colors['content-disabled'],\n backgroundColor: props.theme.colors.transparent,\n colorHover: props.theme.colors['content-disabled'],\n backgroundColorHover: props.theme.colors.transparent,\n mediaPlaceholderColor: props.theme.colors['bg-oncolor-hover'],\n ...props.palette,\n })}\n `,\n active: css<StyledListItemProps>`\n ${(props) =>\n template({\n color: props.theme.colors['content-brand-primary'],\n backgroundColor: props.theme.colors['bg-brand-primary-100-active'],\n colorHover: props.theme.colors['content-brand-primary'],\n backgroundColorHover: props.theme.colors['bg-brand-primary-100-active'],\n mediaPlaceholderColor: props.theme.colors['bg-oncolor-hover'],\n ...props.palette,\n })}\n `,\n default: css<StyledListItemProps>`\n ${(props) =>\n template({\n color: props.theme.colors['content-brand-primary'],\n backgroundColor: props.theme.colors.transparent,\n colorHover: props.theme.colors['content-brand-primary'],\n backgroundColorHover: props.theme.colors['bg-oncolor-hover'],\n mediaPlaceholderColor: props.theme.colors['bg-oncolor-hover'],\n ...props.palette,\n })}\n `,\n },\n primary: {\n disabled: css<StyledListItemProps>`\n ${(props) =>\n template({\n color: props.theme.colors['content-disabled'],\n backgroundColor: props.theme.colors.transparent,\n colorHover: props.theme.colors['content-disabled'],\n backgroundColorHover: props.theme.colors.transparent,\n mediaPlaceholderColor: props.theme.colors['bg-oncolor-hover'],\n ...props.palette,\n })}\n `,\n active: css<StyledListItemProps>`\n ${(props) =>\n template({\n color: props.theme.colors['content-brand-primary'],\n backgroundColor: props.theme.colors['bg-brand-primary-100-active'],\n colorHover: props.theme.colors['content-brand-primary'],\n backgroundColorHover: props.theme.colors['bg-brand-primary-100-active'],\n mediaPlaceholderColor: props.theme.colors['bg-oncolor-hover'],\n ...props.palette,\n })}\n `,\n default: css<StyledListItemProps>`\n ${(props) =>\n template({\n color: props.theme.colors['content-onmain-primary'],\n backgroundColor: props.theme.colors.transparent,\n colorHover: props.theme.colors['content-onmain-primary'],\n backgroundColorHover: props.theme.colors['bg-oncolor-hover'],\n mediaPlaceholderColor: props.theme.colors['bg-oncolor-hover'],\n ...props.palette,\n })}\n `,\n },\n },\n}\n\nexport const Root = styled.button\n .withConfig<StyledListItemProps>({\n shouldForwardProp: shouldForwardListItemProp,\n })\n .attrs<StyledListItemProps>(<Required<Pick<StyledListItemProps, 'dynamicSizeDeclaration'>>>{\n dynamicSizeDeclaration: (size, sizeUnits) => ({\n fontSize: typeof size === 'string' ? size : `${size}${sizeUnits}`,\n padding: '0.4em 0.8em',\n }),\n })`\n ${(props) => `\n box-sizing: border-box;\n display: flex;\n align-items: center;\n isolation: isolate;\n position: relative;\n cursor: ${props.disabled ? 'not-allowed' : 'pointer'};\n border-radius: ${typeof props.borderRadius === 'string' ? props.borderRadius : `${props.borderRadius}px`};\n border: none;\n text-decoration: none;\n appearance: none;\n text-align: start;\n width: 100%;\n min-width: min-content;\n transition-property: background-color;\n transition-duration: 150ms;\n transition-timing-function: ease-in;\n\n & ${Media} {\n border-radius: ${\n typeof props.mediaBorderRadius === 'string' ? props.mediaBorderRadius : `${props.mediaBorderRadius}px`\n };\n }\n\n & > *:not(:last-child) {\n margin-right: 12px;\n }\n `}\n\n ${(props) => {\n const schema = props.onColored ? COLOR_SCHEMA.onColored : COLOR_SCHEMA.default\n let schemaVariant = schema.primary\n\n if (props.secondary) schemaVariant = schema.secondary\n if (props.danger) schemaVariant = schema.danger\n\n if (props.disabled) return schemaVariant.disabled\n if (props.active) return schemaVariant.active\n\n return schemaVariant.default\n }}\n\n ${focus}\n ${responsiveSize}\n ${responsiveMargin}\n`\n\nexport const Content = styled.span`\n box-sizing: border-box;\n display: flex;\n flex-direction: column;\n flex-grow: 1;\n`\n\nexport const Img = styled.img`\n box-sizing: border-box;\n border-radius: inherit;\n object-fit: contain;\n`\n\nexport const Typography = styled(Text).withConfig<TypographyProps>({\n shouldForwardProp: (propKey) => propKey !== 'ellipsis',\n})`\n ${(props) =>\n props.ellipsis &&\n `\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n min-width: 100%;\n width: 5ch;\n `}\n`\n"],"names":["shouldForwardListItemProp","createShouldForwardProp","propKey","includes","Media","styled","span","withConfig","componentId","template","palette","color","concat","backgroundColor","colorHover","backgroundColorHover","mediaPlaceholderColor","COLOR_SCHEMA","onColored","danger","disabled","css","props","_objectSpread","theme","colors","transparent","active","default","secondary","primary","Root","button","shouldForwardProp","attrs","dynamicSizeDeclaration","size","sizeUnits","fontSize","padding","borderRadius","mediaBorderRadius","schema","schemaVariant","focus","responsiveSize","responsiveMargin","Content","Img","img","Typography","Text","ellipsis"],"mappings":"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"}
1
+ {"version":3,"file":"style.js","sources":["../../../../src/components/ListItem/style.ts"],"sourcesContent":["import styled, { css } from 'styled-components'\nimport { responsiveSize } from 'mixins/responsive-size'\nimport { responsiveMargin } from 'mixins/responsive-margin'\nimport { focus } from 'mixins/focus'\nimport { createShouldForwardProp } from 'shared/utils/style'\nimport { Text } from 'components/Text'\nimport type { StyledListItemProps, ListItemPalette, TypographyProps } from './types'\n\nconst shouldForwardListItemProp = createShouldForwardProp(\n (propKey) => !['danger', 'success', 'active', 'onColored', 'mediaBorderRadius', 'borderRadius'].includes(propKey)\n)\n\nexport const Media = styled.span`\n box-sizing: border-box;\n flex-shrink: 0;\n width: 2.2em;\n height: 2.2em;\n\n & > * {\n box-sizing: border-box;\n width: 100%;\n height: 100%;\n }\n`\n\nconst template = (palette: ListItemPalette) => `\n color: ${palette.color};\n background-color: ${palette.backgroundColor};\n &:hover {\n color: ${palette.colorHover};\n background-color: ${palette.backgroundColorHover};\n }\n\n & ${Media} img {\n background-color: ${palette.mediaPlaceholderColor};\n }\n`\n\nconst COLOR_SCHEMA = {\n onColored: {\n danger: {\n disabled: css<StyledListItemProps>`\n ${(props) =>\n template({\n color: props.theme.colors['content-oncolor-disabled'],\n backgroundColor: props.theme.colors.transparent,\n colorHover: props.theme.colors['content-oncolor-disabled'],\n backgroundColorHover: props.theme.colors.transparent,\n mediaPlaceholderColor: props.theme.colors['bg-oncontrast-hover'],\n ...props.palette,\n })}\n `,\n active: css<StyledListItemProps>`\n ${(props) =>\n template({\n color: props.theme.colors['alert-error'],\n backgroundColor: props.theme.colors['alert-bg-error-100'],\n colorHover: props.theme.colors['alert-error'],\n backgroundColorHover: props.theme.colors['alert-bg-error-100'],\n mediaPlaceholderColor: props.theme.colors['bg-oncontrast-hover'],\n ...props.palette,\n })}\n `,\n default: css<StyledListItemProps>`\n ${(props) =>\n template({\n color: props.theme.colors['content-oncolor-primary'],\n backgroundColor: props.theme.colors.transparent,\n colorHover: props.theme.colors['content-oncolor-primary'],\n backgroundColorHover: props.theme.colors['bg-oncontrast-hover'],\n mediaPlaceholderColor: props.theme.colors['bg-oncontrast-hover'],\n ...props.palette,\n })}\n `,\n },\n success: {\n disabled: css<StyledListItemProps>`\n ${(props) =>\n template({\n color: props.theme.colors['content-oncolor-disabled'],\n backgroundColor: props.theme.colors.transparent,\n colorHover: props.theme.colors['content-oncolor-disabled'],\n backgroundColorHover: props.theme.colors.transparent,\n mediaPlaceholderColor: props.theme.colors['bg-oncontrast-hover'],\n ...props.palette,\n })}\n `,\n active: css<StyledListItemProps>`\n ${(props) =>\n template({\n color: props.theme.colors['alert-success'],\n backgroundColor: props.theme.colors['alert-bg-success-100'],\n colorHover: props.theme.colors['alert-success'],\n backgroundColorHover: props.theme.colors['alert-bg-success-100'],\n mediaPlaceholderColor: props.theme.colors['bg-oncontrast-hover'],\n ...props.palette,\n })}\n `,\n default: css<StyledListItemProps>`\n ${(props) =>\n template({\n color: props.theme.colors['content-oncolor-primary'],\n backgroundColor: props.theme.colors.transparent,\n colorHover: props.theme.colors['content-oncolor-primary'],\n backgroundColorHover: props.theme.colors['bg-oncontrast-hover'],\n mediaPlaceholderColor: props.theme.colors['bg-oncontrast-hover'],\n ...props.palette,\n })}\n `,\n },\n secondary: {\n disabled: css<StyledListItemProps>`\n ${(props) =>\n template({\n color: props.theme.colors['content-oncolor-disabled'],\n backgroundColor: props.theme.colors.transparent,\n colorHover: props.theme.colors['content-oncolor-disabled'],\n backgroundColorHover: props.theme.colors.transparent,\n mediaPlaceholderColor: props.theme.colors['bg-oncontrast-hover'],\n ...props.palette,\n })}\n `,\n active: css<StyledListItemProps>`\n ${(props) =>\n template({\n color: props.theme.colors['content-brand-primary'],\n backgroundColor: props.theme.colors['bg-brand-primary-100-active'],\n colorHover: props.theme.colors['content-brand-primary'],\n backgroundColorHover: props.theme.colors['bg-brand-primary-100-active'],\n mediaPlaceholderColor: props.theme.colors['bg-oncontrast-hover'],\n ...props.palette,\n })}\n `,\n default: css<StyledListItemProps>`\n ${(props) =>\n template({\n color: props.theme.colors['content-oncolor-primary'],\n backgroundColor: props.theme.colors.transparent,\n colorHover: props.theme.colors['content-oncolor-primary'],\n backgroundColorHover: props.theme.colors['bg-oncontrast-hover'],\n mediaPlaceholderColor: props.theme.colors['bg-oncontrast-hover'],\n ...props.palette,\n })}\n `,\n },\n primary: {\n disabled: css<StyledListItemProps>`\n ${(props) =>\n template({\n color: props.theme.colors['content-oncolor-disabled'],\n backgroundColor: props.theme.colors.transparent,\n colorHover: props.theme.colors['content-oncolor-disabled'],\n backgroundColorHover: props.theme.colors.transparent,\n mediaPlaceholderColor: props.theme.colors['bg-oncontrast-hover'],\n ...props.palette,\n })}\n `,\n active: css<StyledListItemProps>`\n ${(props) =>\n template({\n color: props.theme.colors['content-brand-primary'],\n backgroundColor: props.theme.colors['bg-brand-primary-100-active'],\n colorHover: props.theme.colors['content-brand-primary'],\n backgroundColorHover: props.theme.colors['bg-brand-primary-100-active'],\n mediaPlaceholderColor: props.theme.colors['bg-oncontrast-hover'],\n ...props.palette,\n })}\n `,\n default: css<StyledListItemProps>`\n ${(props) =>\n template({\n color: props.theme.colors['content-oncolor-primary'],\n backgroundColor: props.theme.colors.transparent,\n colorHover: props.theme.colors['content-oncolor-primary'],\n backgroundColorHover: props.theme.colors['bg-oncontrast-hover'],\n mediaPlaceholderColor: props.theme.colors['bg-oncontrast-hover'],\n ...props.palette,\n })}\n `,\n },\n },\n default: {\n danger: {\n disabled: css<StyledListItemProps>`\n ${(props) =>\n template({\n color: props.theme.colors['content-disabled'],\n backgroundColor: props.theme.colors.transparent,\n colorHover: props.theme.colors['content-disabled'],\n backgroundColorHover: props.theme.colors.transparent,\n mediaPlaceholderColor: props.theme.colors['bg-oncolor-hover'],\n ...props.palette,\n })}\n `,\n active: css<StyledListItemProps>`\n ${(props) =>\n template({\n color: props.theme.colors['alert-error'],\n backgroundColor: props.theme.colors['alert-bg-error-100'],\n colorHover: props.theme.colors['alert-error'],\n backgroundColorHover: props.theme.colors['alert-bg-error-100'],\n mediaPlaceholderColor: props.theme.colors['bg-oncolor-hover'],\n ...props.palette,\n })}\n `,\n default: css<StyledListItemProps>`\n ${(props) =>\n template({\n color: props.theme.colors['alert-error'],\n backgroundColor: props.theme.colors.transparent,\n colorHover: props.theme.colors['alert-error'],\n backgroundColorHover: props.theme.colors['bg-oncolor-hover'],\n mediaPlaceholderColor: props.theme.colors['bg-oncolor-hover'],\n ...props.palette,\n })}\n `,\n },\n success: {\n disabled: css<StyledListItemProps>`\n ${(props) =>\n template({\n color: props.theme.colors['content-disabled'],\n backgroundColor: props.theme.colors.transparent,\n colorHover: props.theme.colors['content-disabled'],\n backgroundColorHover: props.theme.colors.transparent,\n mediaPlaceholderColor: props.theme.colors['bg-oncolor-hover'],\n ...props.palette,\n })}\n `,\n active: css<StyledListItemProps>`\n ${(props) =>\n template({\n color: props.theme.colors['alert-success'],\n backgroundColor: props.theme.colors['alert-bg-success-100'],\n colorHover: props.theme.colors['alert-success'],\n backgroundColorHover: props.theme.colors['alert-bg-success-100'],\n mediaPlaceholderColor: props.theme.colors['bg-oncolor-hover'],\n ...props.palette,\n })}\n `,\n default: css<StyledListItemProps>`\n ${(props) =>\n template({\n color: props.theme.colors['alert-success'],\n backgroundColor: props.theme.colors.transparent,\n colorHover: props.theme.colors['alert-success'],\n backgroundColorHover: props.theme.colors['bg-oncolor-hover'],\n mediaPlaceholderColor: props.theme.colors['bg-oncolor-hover'],\n ...props.palette,\n })}\n `,\n },\n secondary: {\n disabled: css<StyledListItemProps>`\n ${(props) =>\n template({\n color: props.theme.colors['content-disabled'],\n backgroundColor: props.theme.colors.transparent,\n colorHover: props.theme.colors['content-disabled'],\n backgroundColorHover: props.theme.colors.transparent,\n mediaPlaceholderColor: props.theme.colors['bg-oncolor-hover'],\n ...props.palette,\n })}\n `,\n active: css<StyledListItemProps>`\n ${(props) =>\n template({\n color: props.theme.colors['content-brand-primary'],\n backgroundColor: props.theme.colors['bg-brand-primary-100-active'],\n colorHover: props.theme.colors['content-brand-primary'],\n backgroundColorHover: props.theme.colors['bg-brand-primary-100-active'],\n mediaPlaceholderColor: props.theme.colors['bg-oncolor-hover'],\n ...props.palette,\n })}\n `,\n default: css<StyledListItemProps>`\n ${(props) =>\n template({\n color: props.theme.colors['content-brand-primary'],\n backgroundColor: props.theme.colors.transparent,\n colorHover: props.theme.colors['content-brand-primary'],\n backgroundColorHover: props.theme.colors['bg-oncolor-hover'],\n mediaPlaceholderColor: props.theme.colors['bg-oncolor-hover'],\n ...props.palette,\n })}\n `,\n },\n primary: {\n disabled: css<StyledListItemProps>`\n ${(props) =>\n template({\n color: props.theme.colors['content-disabled'],\n backgroundColor: props.theme.colors.transparent,\n colorHover: props.theme.colors['content-disabled'],\n backgroundColorHover: props.theme.colors.transparent,\n mediaPlaceholderColor: props.theme.colors['bg-oncolor-hover'],\n ...props.palette,\n })}\n `,\n active: css<StyledListItemProps>`\n ${(props) =>\n template({\n color: props.theme.colors['content-brand-primary'],\n backgroundColor: props.theme.colors['bg-brand-primary-100-active'],\n colorHover: props.theme.colors['content-brand-primary'],\n backgroundColorHover: props.theme.colors['bg-brand-primary-100-active'],\n mediaPlaceholderColor: props.theme.colors['bg-oncolor-hover'],\n ...props.palette,\n })}\n `,\n default: css<StyledListItemProps>`\n ${(props) =>\n template({\n color: props.theme.colors['content-onmain-primary'],\n backgroundColor: props.theme.colors.transparent,\n colorHover: props.theme.colors['content-onmain-primary'],\n backgroundColorHover: props.theme.colors['bg-oncolor-hover'],\n mediaPlaceholderColor: props.theme.colors['bg-oncolor-hover'],\n ...props.palette,\n })}\n `,\n },\n },\n}\n\nexport const Root = styled.button\n .withConfig<StyledListItemProps>({\n shouldForwardProp: shouldForwardListItemProp,\n })\n .attrs<StyledListItemProps>(<Required<Pick<StyledListItemProps, 'dynamicSizeDeclaration'>>>{\n dynamicSizeDeclaration: (size, sizeUnits) => ({\n fontSize: typeof size === 'string' ? size : `${size}${sizeUnits}`,\n padding: '0.4em 0.8em',\n }),\n })`\n ${(props) => `\n box-sizing: border-box;\n display: flex;\n align-items: center;\n isolation: isolate;\n position: relative;\n cursor: ${props.disabled ? 'not-allowed' : 'pointer'};\n border-radius: ${typeof props.borderRadius === 'string' ? props.borderRadius : `${props.borderRadius}px`};\n border: none;\n text-decoration: none;\n appearance: none;\n text-align: start;\n width: 100%;\n min-width: min-content;\n transition-property: background-color;\n transition-duration: 150ms;\n transition-timing-function: ease-in;\n\n & ${Media} {\n border-radius: ${\n typeof props.mediaBorderRadius === 'string' ? props.mediaBorderRadius : `${props.mediaBorderRadius}px`\n };\n }\n\n & > *:not(:last-child) {\n margin-right: 12px;\n }\n `}\n\n ${(props) => {\n const schema = props.onColored ? COLOR_SCHEMA.onColored : COLOR_SCHEMA.default\n let schemaVariant = schema.primary\n\n if (props.secondary) schemaVariant = schema.secondary\n if (props.success) schemaVariant = schema.success\n if (props.danger) schemaVariant = schema.danger\n\n if (props.disabled) return schemaVariant.disabled\n if (props.active) return schemaVariant.active\n\n return schemaVariant.default\n }}\n\n ${focus}\n ${responsiveSize}\n ${responsiveMargin}\n`\n\nexport const Content = styled.span`\n box-sizing: border-box;\n display: flex;\n flex-direction: column;\n flex-grow: 1;\n`\n\nexport const Img = styled.img`\n box-sizing: border-box;\n border-radius: inherit;\n object-fit: contain;\n`\n\nexport const Typography = styled(Text).withConfig<TypographyProps>({\n shouldForwardProp: (propKey) => propKey !== 'ellipsis',\n})`\n ${(props) =>\n props.ellipsis &&\n `\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n min-width: 100%;\n width: 5ch;\n `}\n`\n"],"names":["shouldForwardListItemProp","createShouldForwardProp","propKey","includes","Media","styled","span","withConfig","componentId","template","palette","color","concat","backgroundColor","colorHover","backgroundColorHover","mediaPlaceholderColor","COLOR_SCHEMA","onColored","danger","disabled","css","props","_objectSpread","theme","colors","transparent","active","default","success","secondary","primary","Root","button","shouldForwardProp","attrs","dynamicSizeDeclaration","size","sizeUnits","fontSize","padding","borderRadius","mediaBorderRadius","schema","schemaVariant","focus","responsiveSize","responsiveMargin","Content","Img","img","Typography","Text","ellipsis"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import e from'@babel/runtime/helpers/objectSpread2';import s from'@babel/runtime/helpers/objectWithoutProperties';import{forwardRef as o,useRef as r,useImperativeHandle as t,useEffect as i,isValidElement as a,cloneElement as n}from'react';import{withMergedProps as u}from'../../hocs/withMergedProps.js';import{focusFirstFocusable as m}from'../../shared/utils/dom.js';import{SIZES as l}from'./constants.js';export{SIZES}from'./constants.js';import{Root as p}from'./style.js';import{jsx as c}from'react/jsx-runtime';var z=["size","maxHeight","closeFn","sizeXXS","sizeXS","sizeS","sizeM","sizeL","sizeXL","children","autoFocus","disableAutoFocus","showCloseButton","closeButtonProps","onUnmount"];var f=()=>{};var h=u(o(((o,u)=>{var{size:l="m",maxHeight:h=240,closeFn:d=f,sizeXXS:S,sizeXS:X,sizeS:b,sizeM:j,sizeL:v,sizeXL:F,children:x,autoFocus:M,disableAutoFocus:w,showCloseButton:B,closeButtonProps:L,onUnmount:P}=o,g=s(o,z);var C=r(null);t(u,(()=>C.current)),i((()=>()=>{P&&P()}),[]),i((()=>{var e=setTimeout((()=>{!w&&C.current&&m(C.current)}),0);return()=>{clearTimeout(e)}}),[M,w]);var E={size:l,sizeXXS:S,sizeXS:X,sizeS:b,sizeM:j,sizeL:v,sizeXL:F};var H={showCloseButton:B,closeButtonProps:L,closeFn:d};var y=a(x)&&'object'==typeof x.props&&null!==x.props?x.props:{};return c(p,e(e(e({},g),E),{},{maxHeight:h,ref:C,children:a(x)?n(x,e(e(e({},E),H),y)):x(e(e({},E),H))}))})),{displayName:'MenuComponent',sizes:l});export{h as MenuComponent};
1
+ import e from'@babel/runtime/helpers/objectSpread2';import s from'@babel/runtime/helpers/objectWithoutProperties';import{forwardRef as o,useRef as t,useImperativeHandle as r,useEffect as i,isValidElement as a,cloneElement as n}from'react';import{withMergedProps as u}from'../../hocs/withMergedProps.js';import{focusFirstFocusable as m}from'../../shared/utils/dom.js';import{SIZES as l}from'./constants.js';export{SIZES}from'./constants.js';import{Root as p}from'./style.js';import{jsx as c}from'react/jsx-runtime';var z=["size","maxHeight","closeFn","sizeXXS","sizeXS","sizeS","sizeM","sizeL","sizeXL","children","autoFocus","disableAutoFocus","showCloseButton","closeButtonProps","onUnmount"];var f=()=>{};var h=u(o(((o,u)=>{var{size:l="m",maxHeight:h=240,closeFn:d=f,sizeXXS:S,sizeXS:X,sizeS:v,sizeM:b,sizeL:j,sizeXL:F,children:x,autoFocus:M,disableAutoFocus:w,showCloseButton:B,closeButtonProps:L,onUnmount:P}=o,g=s(o,z);var C=t(null);r(u,(()=>C.current)),i((()=>()=>{P&&P()}),[]),i((()=>{var e=setTimeout((()=>{!w&&C.current&&m(C.current)}),0);return()=>{clearTimeout(e)}}),[M,w]);var E={size:l,sizeXXS:S,sizeXS:X,sizeS:v,sizeM:b,sizeL:j,sizeXL:F};var y={showCloseButton:B,closeButtonProps:L,closeFn:d};var H=a(x)&&'object'==typeof x.props&&null!==x.props?x.props:{};return c(p,e(e(e({},g),E),{},{maxHeight:h,ref:C,children:a(x)?n(x,e(e(e({},E),y),H)):'function'==typeof x?x(e(e({},E),y)):void 0}))})),{displayName:'MenuComponent',sizes:l});export{h as MenuComponent};
2
2
  //# sourceMappingURL=MenuComponent.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MenuComponent.js","sources":["../../../../src/components/MenuComponent/MenuComponent.tsx"],"sourcesContent":["import { forwardRef, useRef, useImperativeHandle, useEffect, isValidElement, cloneElement } from 'react'\nimport { withMergedProps } from 'hocs/withMergedProps'\nimport { focusFirstFocusable } from 'shared/utils/dom'\nimport { SIZES } from './constants'\nimport * as Styled from './style'\nimport type { MenuComponentProps } from './types'\n\nconst COMPONENT_NAME = 'MenuComponent'\n\nconst noop = () => undefined\n\n/**\n *\n * Component accepts all \\<div\\> attributes.\n *\n * Responsive \"size\" props are supported.\n *\n * Exposed \"ref\" attached to root node.\n *\n * See full [MenuComponentProps](https://github.com/foxford/ui/blob/master/src/components/MenuComponent/types.ts)\n */\nconst MenuComponent: React.ForwardRefExoticComponent<MenuComponentProps> = withMergedProps<\n MenuComponentProps,\n HTMLDivElement\n>(\n forwardRef((props, forwardedRef) => {\n const {\n size = 'm',\n maxHeight = 240,\n closeFn = noop,\n sizeXXS,\n sizeXS,\n sizeS,\n sizeM,\n sizeL,\n sizeXL,\n children,\n autoFocus,\n disableAutoFocus,\n showCloseButton,\n closeButtonProps,\n onUnmount,\n ...restProps\n } = props\n\n const ref = useRef<HTMLDivElement>(null)\n\n useImperativeHandle<HTMLDivElement | null, HTMLDivElement | null>(forwardedRef, () => ref.current)\n\n useEffect(() => {\n return () => {\n if (onUnmount) onUnmount()\n }\n }, [])\n\n useEffect(() => {\n const timerId = setTimeout(() => {\n if (!disableAutoFocus && ref.current) focusFirstFocusable(ref.current)\n }, 0)\n\n return () => {\n clearTimeout(timerId)\n }\n }, [autoFocus, disableAutoFocus])\n\n const sizeProps = {\n size,\n sizeXXS,\n sizeXS,\n sizeS,\n sizeM,\n sizeL,\n sizeXL,\n }\n\n const forwardProps = {\n showCloseButton,\n closeButtonProps,\n closeFn,\n }\n\n const elementProps =\n isValidElement(children) && typeof children.props === 'object' && children.props !== null ? children.props : {}\n\n return (\n <Styled.Root {...restProps} {...sizeProps} maxHeight={maxHeight} ref={ref}>\n {isValidElement(children)\n ? cloneElement(children, { ...sizeProps, ...forwardProps, ...elementProps })\n : children({ ...sizeProps, ...forwardProps })}\n </Styled.Root>\n )\n }),\n {\n displayName: COMPONENT_NAME,\n sizes: SIZES,\n }\n)\n\nexport { MenuComponent }\n\nexport { SIZES }\n"],"names":["noop","MenuComponent","withMergedProps","forwardRef","props","forwardedRef","size","maxHeight","closeFn","sizeXXS","sizeXS","sizeS","sizeM","sizeL","sizeXL","children","autoFocus","disableAutoFocus","showCloseButton","closeButtonProps","onUnmount","restProps","_excluded","ref","useRef","useImperativeHandle","current","useEffect","timerId","setTimeout","focusFirstFocusable","clearTimeout","sizeProps","forwardProps","elementProps","isValidElement","_jsx","Styled.Root","cloneElement","_objectSpread","displayName","sizes","SIZES"],"mappings":"srBASA,IAAMA,EAAO,OAYPC,IAAAA,EAAqEC,EAIzEC,GAAAA,CAAYC,EAAOC,KACjB,IAAMC,KACJA,EAAO,IADHC,UAEJA,EAAY,IAFRC,QAGJA,EAAUR,EAHNS,QAIJA,EAJIC,OAKJA,EALIC,MAMJA,EANIC,MAOJA,EAPIC,MAQJA,EARIC,OASJA,EATIC,SAUJA,EAVIC,UAWJA,EAXIC,iBAYJA,EAZIC,gBAaJA,EAbIC,iBAcJA,EAdIC,UAeJA,GAEEhB,EADCiB,IACDjB,EAjBJkB,GAmBA,IAAMC,EAAMC,EAAuB,MAEnCC,EAAkEpB,GAAc,IAAMkB,EAAIG,UAE1FC,GAAU,IACD,KACDP,GAAWA,MAEhB,IAEHO,GAAU,KACR,IAAMC,EAAUC,YAAAA,MACTZ,GAAoBM,EAAIG,SAASI,EAAoBP,EAAIG,WAC7D,GAEH,MAAO,KACLK,aAAaH,MAEd,CAACZ,EAAWC,IAEf,IAAMe,EAAY,CAChB1B,KAAAA,EACAG,QAAAA,EACAC,OAAAA,EACAC,MAAAA,EACAC,MAAAA,EACAC,MAAAA,EACAC,OAAAA,GAGF,IAAMmB,EAAe,CACnBf,gBAAAA,EACAC,iBAAAA,EACAX,QAAAA,GAGF,IAAM0B,EACJC,EAAepB,IAAuC,iBAAnBA,EAASX,OAAyC,OAAnBW,EAASX,MAAiBW,EAASX,MAAQ,GAE/G,OACEgC,EAACC,EAAgBhB,EAAAA,EAAAA,EAAAA,GAAAA,GAAeW,GAAhC,GAAA,CAA2CzB,UAAWA,EAAWgB,IAAKA,EAAtER,SACGoB,EAAepB,GACZuB,EAAavB,EAADwB,EAAAA,EAAAA,EAAA,GAAgBP,GAAcC,GAAiBC,IAC3DnB,EAAQwB,EAAAA,EAAA,GAAMP,GAAcC,UAItC,CACEO,YAtFmB,gBAuFnBC,MAAOC"}
1
+ {"version":3,"file":"MenuComponent.js","sources":["../../../../src/components/MenuComponent/MenuComponent.tsx"],"sourcesContent":["import { forwardRef, useRef, useImperativeHandle, useEffect, isValidElement, cloneElement } from 'react'\nimport { withMergedProps } from 'hocs/withMergedProps'\nimport { focusFirstFocusable } from 'shared/utils/dom'\nimport { SIZES } from './constants'\nimport * as Styled from './style'\nimport type { MenuComponentProps } from './types'\n\nconst COMPONENT_NAME = 'MenuComponent'\n\nconst noop = () => undefined\n\n/**\n *\n * Component accepts all \\<div\\> attributes.\n *\n * Responsive \"size\" props are supported.\n *\n * Exposed \"ref\" attached to root node.\n *\n * See full [MenuComponentProps](https://github.com/foxford/ui/blob/master/src/components/MenuComponent/types.ts)\n */\nconst MenuComponent: React.ForwardRefExoticComponent<MenuComponentProps> = withMergedProps<\n MenuComponentProps,\n HTMLDivElement\n>(\n forwardRef((props, forwardedRef) => {\n const {\n size = 'm',\n maxHeight = 240,\n closeFn = noop,\n sizeXXS,\n sizeXS,\n sizeS,\n sizeM,\n sizeL,\n sizeXL,\n children,\n autoFocus,\n disableAutoFocus,\n showCloseButton,\n closeButtonProps,\n onUnmount,\n ...restProps\n } = props\n\n const ref = useRef<HTMLDivElement>(null)\n\n useImperativeHandle<HTMLDivElement | null, HTMLDivElement | null>(forwardedRef, () => ref.current)\n\n useEffect(() => {\n return () => {\n if (onUnmount) onUnmount()\n }\n }, [])\n\n useEffect(() => {\n const timerId = setTimeout(() => {\n if (!disableAutoFocus && ref.current) focusFirstFocusable(ref.current)\n }, 0)\n\n return () => {\n clearTimeout(timerId)\n }\n }, [autoFocus, disableAutoFocus])\n\n const sizeProps = {\n size,\n sizeXXS,\n sizeXS,\n sizeS,\n sizeM,\n sizeL,\n sizeXL,\n }\n\n const forwardProps = {\n showCloseButton,\n closeButtonProps,\n closeFn,\n }\n\n const elementProps =\n isValidElement(children) && typeof children.props === 'object' && children.props !== null ? children.props : {}\n\n return (\n <Styled.Root {...restProps} {...sizeProps} maxHeight={maxHeight} ref={ref}>\n {isValidElement(children)\n ? cloneElement(children, { ...sizeProps, ...forwardProps, ...elementProps })\n : typeof children === 'function'\n ? children({ ...sizeProps, ...forwardProps })\n : undefined}\n </Styled.Root>\n )\n }),\n {\n displayName: COMPONENT_NAME,\n sizes: SIZES,\n }\n)\n\nexport { MenuComponent }\n\nexport { SIZES }\n"],"names":["noop","MenuComponent","withMergedProps","forwardRef","props","forwardedRef","size","maxHeight","closeFn","sizeXXS","sizeXS","sizeS","sizeM","sizeL","sizeXL","children","autoFocus","disableAutoFocus","showCloseButton","closeButtonProps","onUnmount","restProps","_excluded","ref","useRef","useImperativeHandle","current","useEffect","timerId","setTimeout","focusFirstFocusable","clearTimeout","sizeProps","forwardProps","elementProps","isValidElement","_jsx","Styled.Root","cloneElement","_objectSpread","displayName","sizes","SIZES"],"mappings":"srBASA,IAAMA,EAAO,OAYPC,IAAAA,EAAqEC,EAIzEC,GAAAA,CAAYC,EAAOC,KACjB,IAAMC,KACJA,EAAO,IADHC,UAEJA,EAAY,IAFRC,QAGJA,EAAUR,EAHNS,QAIJA,EAJIC,OAKJA,EALIC,MAMJA,EANIC,MAOJA,EAPIC,MAQJA,EARIC,OASJA,EATIC,SAUJA,EAVIC,UAWJA,EAXIC,iBAYJA,EAZIC,gBAaJA,EAbIC,iBAcJA,EAdIC,UAeJA,GAEEhB,EADCiB,IACDjB,EAjBJkB,GAmBA,IAAMC,EAAMC,EAAuB,MAEnCC,EAAkEpB,OAAoBkB,EAAIG,UAE1FC,GAAAA,IACS,KACDP,GAAWA,MAEhB,IAEHO,QACE,IAAMC,EAAUC,YAAW,MACpBZ,GAAoBM,EAAIG,SAASI,EAAoBP,EAAIG,WAC7D,GAEH,MAAO,KACLK,aAAaH,MAEd,CAACZ,EAAWC,IAEf,IAAMe,EAAY,CAChB1B,KAAAA,EACAG,QAAAA,EACAC,OAAAA,EACAC,MAAAA,EACAC,MAAAA,EACAC,MAAAA,EACAC,OAAAA,GAGF,IAAMmB,EAAe,CACnBf,gBAAAA,EACAC,iBAAAA,EACAX,QAAAA,GAGF,IAAM0B,EACJC,EAAepB,IAAuC,iBAAnBA,EAASX,OAAyC,OAAnBW,EAASX,MAAiBW,EAASX,MAAQ,GAE/G,OACEgC,EAACC,EAAgBhB,EAAAA,EAAAA,EAAAA,GAAAA,GAAeW,GAAhC,GAAA,CAA2CzB,UAAWA,EAAWgB,IAAKA,EAAtER,SACGoB,EAAepB,GACZuB,EAAavB,EAADwB,EAAAA,EAAAA,EAAA,GAAgBP,GAAcC,GAAiBC,IACvC,mBAAbnB,EACPA,EAAQwB,EAAAA,EAAA,GAAMP,GAAcC,SAAAA,QAKtC,CACEO,YAxFmB,gBAyFnBC,MAAOC"}
@@ -1,2 +1,2 @@
1
- var x={xxxl:{maxWidth:560},xxl:{maxWidth:560},xl:{maxWidth:560},l:{maxWidth:560},m:{maxWidth:480},s:{maxWidth:280},xs:{maxWidth:280},xxs:{maxWidth:280},xxxs:{maxWidth:280}};export{x as SIZES};
1
+ var t={xxxl:{maxWidth:560,minWidth:'min-content'},xxl:{maxWidth:560,minWidth:'min-content'},xl:{maxWidth:560,minWidth:'min-content'},l:{maxWidth:560,minWidth:'min-content'},m:{maxWidth:480,minWidth:'min-content'},s:{maxWidth:280,minWidth:'min-content'},xs:{maxWidth:280,minWidth:'min-content'},xxs:{maxWidth:280,minWidth:'min-content'},xxxs:{maxWidth:280,minWidth:'min-content'}};export{t as SIZES};
2
2
  //# sourceMappingURL=constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sources":["../../../../src/components/MenuComponent/constants.ts"],"sourcesContent":["import type { Sizes } from 'shared/types'\n\nexport const SIZES: Sizes = {\n xxxl: {\n maxWidth: 560,\n },\n xxl: {\n maxWidth: 560,\n },\n xl: {\n maxWidth: 560,\n },\n l: {\n maxWidth: 560,\n },\n m: {\n maxWidth: 480,\n },\n s: {\n maxWidth: 280,\n },\n xs: {\n maxWidth: 280,\n },\n xxs: {\n maxWidth: 280,\n },\n xxxs: {\n maxWidth: 280,\n },\n}\n"],"names":["SIZES","xxxl","maxWidth","xxl","xl","l","m","s","xs","xxs","xxxs"],"mappings":"AAEO,IAAMA,EAAe,CAC1BC,KAAM,CACJC,SAAU,KAEZC,IAAK,CACHD,SAAU,KAEZE,GAAI,CACFF,SAAU,KAEZG,EAAG,CACDH,SAAU,KAEZI,EAAG,CACDJ,SAAU,KAEZK,EAAG,CACDL,SAAU,KAEZM,GAAI,CACFN,SAAU,KAEZO,IAAK,CACHP,SAAU,KAEZQ,KAAM,CACJR,SAAU"}
1
+ {"version":3,"file":"constants.js","sources":["../../../../src/components/MenuComponent/constants.ts"],"sourcesContent":["import type { Sizes } from 'shared/types'\n\nexport const SIZES: Sizes = {\n xxxl: {\n maxWidth: 560,\n minWidth: 'min-content',\n },\n xxl: {\n maxWidth: 560,\n minWidth: 'min-content',\n },\n xl: {\n maxWidth: 560,\n minWidth: 'min-content',\n },\n l: {\n maxWidth: 560,\n minWidth: 'min-content',\n },\n m: {\n maxWidth: 480,\n minWidth: 'min-content',\n },\n s: {\n maxWidth: 280,\n minWidth: 'min-content',\n },\n xs: {\n maxWidth: 280,\n minWidth: 'min-content',\n },\n xxs: {\n maxWidth: 280,\n minWidth: 'min-content',\n },\n xxxs: {\n maxWidth: 280,\n minWidth: 'min-content',\n },\n}\n"],"names":["SIZES","xxxl","maxWidth","minWidth","xxl","xl","l","m","s","xs","xxs","xxxs"],"mappings":"AAEO,IAAMA,EAAe,CAC1BC,KAAM,CACJC,SAAU,IACVC,SAAU,eAEZC,IAAK,CACHF,SAAU,IACVC,SAAU,eAEZE,GAAI,CACFH,SAAU,IACVC,SAAU,eAEZG,EAAG,CACDJ,SAAU,IACVC,SAAU,eAEZI,EAAG,CACDL,SAAU,IACVC,SAAU,eAEZK,EAAG,CACDN,SAAU,IACVC,SAAU,eAEZM,GAAI,CACFP,SAAU,IACVC,SAAU,eAEZO,IAAK,CACHR,SAAU,IACVC,SAAU,eAEZQ,KAAM,CACJT,SAAU,IACVC,SAAU"}
@@ -1,2 +1,2 @@
1
- import o from'@babel/runtime/helpers/objectSpread2';import r,{css as e}from'styled-components';import{createShouldForwardProp as a}from'../../shared/utils/style.js';import{responsiveSize as n}from'../../mixins/responsive-size.js';var t=a((o=>!['black','elevated','maxHeight'].includes(o)));var s=o=>"\n background-color: ".concat(o.backgroundColor,";\n border-color: ").concat(o.borderColor,";\n filter: drop-shadow(0 6px 10px ").concat(o.shadowColor,");\n");var i={primary:e(["",""],(r=>s(o({backgroundColor:r.theme.colors['bg-onmain-primary'],borderColor:r.theme.colors.transparent,shadowColor:r.elevated?r.theme.colors['bg-oncolor-hover']:r.theme.colors.transparent},r.palette)))),secondary:e(["",""],(r=>s(o({backgroundColor:r.theme.colors['bg-onmain-secondary'],borderColor:r.theme.colors['border-onmain-default-large'],shadowColor:r.elevated?r.theme.colors['bg-oncolor-hover']:r.theme.colors.transparent},r.palette))))};var l=r.div.withConfig({shouldForwardProp:t}).withConfig({componentId:"fox-ui__sc-10iu45v-0"})([""," "," ",""],(o=>"\n box-sizing: border-box;\n isolation: isolate;\n border-radius: 12px;\n border: 1px solid transparent;\n overflow-x: hidden;\n overflow-y: auto;\n scrollbar-width: thin;\n min-width: min-content;\n max-height: ".concat('string'==typeof o.maxHeight?o.maxHeight:"".concat(o.maxHeight,"px"),";\n ")),(o=>o.secondary?i.secondary:i.primary),n);export{i as COLOR_SCHEMA,l as Root};
1
+ import o from'@babel/runtime/helpers/objectSpread2';import r,{css as e}from'styled-components';import{createShouldForwardProp as a}from'../../shared/utils/style.js';import{responsiveSize as t}from'../../mixins/responsive-size.js';var n=a((o=>!['black','elevated','maxHeight'].includes(o)));var s=o=>"\n background-color: ".concat(o.backgroundColor,";\n border-color: ").concat(o.borderColor,";\n box-shadow: 0 6px 20px ").concat(o.shadowColor,";\n");var i={primary:e(["",""],(r=>s(o({backgroundColor:r.theme.colors['bg-onmain-primary'],borderColor:r.theme.colors.transparent,shadowColor:r.elevated?r.theme.colors['bg-oncolor-hover']:r.theme.colors.transparent},r.palette)))),secondary:e(["",""],(r=>s(o({backgroundColor:r.theme.colors['bg-onmain-secondary'],borderColor:r.theme.colors['border-onmain-default-large'],shadowColor:r.elevated?r.theme.colors['bg-oncolor-hover']:r.theme.colors.transparent},r.palette))))};var c=r.div.withConfig({shouldForwardProp:n}).attrs({dynamicSizeDeclaration:(o,r)=>({width:'string'==typeof o?o:"".concat(o).concat(r)})}).withConfig({componentId:"fox-ui__sc-10iu45v-0"})([""," "," ",""],(o=>"\n box-sizing: border-box;\n isolation: isolate;\n border-radius: 12px;\n border: 1px solid transparent;\n overflow-x: hidden;\n overflow-y: auto;\n scrollbar-width: thin;\n max-height: ".concat('string'==typeof o.maxHeight?o.maxHeight:"".concat(o.maxHeight,"px"),";\n ")),(o=>o.secondary?i.secondary:i.primary),t);export{i as COLOR_SCHEMA,c as Root};
2
2
  //# sourceMappingURL=style.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"style.js","sources":["../../../../src/components/MenuComponent/style.ts"],"sourcesContent":["import styled, { css } from 'styled-components'\nimport { createShouldForwardProp } from 'shared/utils/style'\nimport { responsiveSize } from 'mixins/responsive-size'\nimport type { StyledMenuComponentProps, MenuComponentPalette } from './types'\n\nconst shouldForwardMenuComponentProp = createShouldForwardProp(\n (propKey) => !['black', 'elevated', 'maxHeight'].includes(propKey)\n)\n\nconst template = (palette: MenuComponentPalette) => `\n background-color: ${palette.backgroundColor};\n border-color: ${palette.borderColor};\n filter: drop-shadow(0 6px 10px ${palette.shadowColor});\n`\n\nexport const COLOR_SCHEMA = {\n primary: css<StyledMenuComponentProps>`\n ${(props) =>\n template({\n backgroundColor: props.theme.colors['bg-onmain-primary'],\n borderColor: props.theme.colors.transparent,\n shadowColor: props.elevated ? props.theme.colors['bg-oncolor-hover'] : props.theme.colors.transparent,\n ...props.palette,\n })}\n `,\n secondary: css<StyledMenuComponentProps>`\n ${(props) =>\n template({\n backgroundColor: props.theme.colors['bg-onmain-secondary'],\n borderColor: props.theme.colors['border-onmain-default-large'],\n shadowColor: props.elevated ? props.theme.colors['bg-oncolor-hover'] : props.theme.colors.transparent,\n ...props.palette,\n })}\n `,\n}\n\nexport const Root = styled.div.withConfig<StyledMenuComponentProps>({\n shouldForwardProp: shouldForwardMenuComponentProp,\n})`\n ${(props) => `\n box-sizing: border-box;\n isolation: isolate;\n border-radius: 12px;\n border: 1px solid transparent;\n overflow-x: hidden;\n overflow-y: auto;\n scrollbar-width: thin;\n min-width: min-content;\n max-height: ${typeof props.maxHeight === 'string' ? props.maxHeight : `${props.maxHeight}px`};\n `}\n\n ${(props) => {\n return props.secondary ? COLOR_SCHEMA.secondary : COLOR_SCHEMA.primary\n }}\n\n ${responsiveSize}\n`\n"],"names":["shouldForwardMenuComponentProp","createShouldForwardProp","propKey","includes","template","palette","concat","backgroundColor","borderColor","shadowColor","COLOR_SCHEMA","primary","css","props","_objectSpread","theme","colors","transparent","elevated","secondary","Root","styled","div","withConfig","shouldForwardProp","componentId","maxHeight","responsiveSize"],"mappings":"sOAKA,IAAMA,EAAiCC,GACpCC,IAAa,CAAC,QAAS,WAAY,aAAaC,SAASD,KAG5D,IAAME,EAAYC,GAAD,yBAAAC,OACKD,EAAQE,gBACZF,uBAAAA,OAAAA,EAAQG,YAFT,wCAAAF,OAGkBD,EAAQI,YAH3C,QAMO,IAAMC,EAAe,CAC1BC,QAASC,EACJC,CAAAA,GAAAA,KAAAA,GACDT,EAAQU,EAAA,CACNP,gBAAiBM,EAAME,MAAMC,OAAO,qBACpCR,YAAaK,EAAME,MAAMC,OAAOC,YAChCR,YAAaI,EAAMK,SAAWL,EAAME,MAAMC,OAAO,oBAAsBH,EAAME,MAAMC,OAAOC,aACvFJ,EAAMR,YAGfc,UAAWP,EACNC,CAAAA,GAAAA,KAAAA,GACDT,EAAQU,EAAA,CACNP,gBAAiBM,EAAME,MAAMC,OAAO,uBACpCR,YAAaK,EAAME,MAAMC,OAAO,+BAChCP,YAAaI,EAAMK,SAAWL,EAAME,MAAMC,OAAO,oBAAsBH,EAAME,MAAMC,OAAOC,aACvFJ,EAAMR,aAKV,IAAMe,EAAOC,EAAOC,IAAIC,WAAqC,CAClEC,kBAAmBxB,IADJuB,WAAA,CAAAE,YAAA,wBAAGJ,CAGfR,CAAAA,GAAAA,IAAAA,IAAAA,KAAAA,4PASwC,iBAApBA,EAAMa,UAAyBb,EAAMa,UAA5C,GAAApB,OAA2DO,EAAMa,gBAZlE,WAeZb,GACMA,EAAMM,UAAYT,EAAaS,UAAYT,EAAaC,SAG/DgB"}
1
+ {"version":3,"file":"style.js","sources":["../../../../src/components/MenuComponent/style.ts"],"sourcesContent":["import styled, { css } from 'styled-components'\nimport { createShouldForwardProp } from 'shared/utils/style'\nimport { responsiveSize } from 'mixins/responsive-size'\nimport type { StyledMenuComponentProps, MenuComponentPalette } from './types'\n\nconst shouldForwardMenuComponentProp = createShouldForwardProp(\n (propKey) => !['black', 'elevated', 'maxHeight'].includes(propKey)\n)\n\nconst template = (palette: MenuComponentPalette) => `\n background-color: ${palette.backgroundColor};\n border-color: ${palette.borderColor};\n box-shadow: 0 6px 20px ${palette.shadowColor};\n`\n\nexport const COLOR_SCHEMA = {\n primary: css<StyledMenuComponentProps>`\n ${(props) =>\n template({\n backgroundColor: props.theme.colors['bg-onmain-primary'],\n borderColor: props.theme.colors.transparent,\n shadowColor: props.elevated ? props.theme.colors['bg-oncolor-hover'] : props.theme.colors.transparent,\n ...props.palette,\n })}\n `,\n secondary: css<StyledMenuComponentProps>`\n ${(props) =>\n template({\n backgroundColor: props.theme.colors['bg-onmain-secondary'],\n borderColor: props.theme.colors['border-onmain-default-large'],\n shadowColor: props.elevated ? props.theme.colors['bg-oncolor-hover'] : props.theme.colors.transparent,\n ...props.palette,\n })}\n `,\n}\n\nexport const Root = styled.div\n .withConfig<StyledMenuComponentProps>({\n shouldForwardProp: shouldForwardMenuComponentProp,\n })\n .attrs(<Required<Pick<StyledMenuComponentProps, 'dynamicSizeDeclaration'>>>{\n dynamicSizeDeclaration: (size, sizeUnits) => ({\n width: typeof size === 'string' ? size : `${size}${sizeUnits}`,\n }),\n })`\n ${(props) => `\n box-sizing: border-box;\n isolation: isolate;\n border-radius: 12px;\n border: 1px solid transparent;\n overflow-x: hidden;\n overflow-y: auto;\n scrollbar-width: thin;\n max-height: ${typeof props.maxHeight === 'string' ? props.maxHeight : `${props.maxHeight}px`};\n `}\n\n ${(props) => {\n return props.secondary ? COLOR_SCHEMA.secondary : COLOR_SCHEMA.primary\n }}\n\n ${responsiveSize}\n`\n"],"names":["shouldForwardMenuComponentProp","createShouldForwardProp","propKey","includes","template","palette","concat","backgroundColor","borderColor","shadowColor","COLOR_SCHEMA","primary","css","props","_objectSpread","theme","colors","transparent","elevated","secondary","Root","styled","div","withConfig","shouldForwardProp","attrs","dynamicSizeDeclaration","size","sizeUnits","width","componentId","maxHeight","responsiveSize"],"mappings":"sOAKA,IAAMA,EAAiCC,GACpCC,IAAa,CAAC,QAAS,WAAY,aAAaC,SAASD,KAG5D,IAAME,EAAYC,GAAD,yBAAAC,OACKD,EAAQE,gBACZF,uBAAAA,OAAAA,EAAQG,YAFT,gCAAAF,OAGUD,EAAQI,YAHnC,OAMO,IAAMC,EAAe,CAC1BC,QAASC,EACJC,CAAAA,GAAAA,KAAAA,GACDT,EAAQU,EAAA,CACNP,gBAAiBM,EAAME,MAAMC,OAAO,qBACpCR,YAAaK,EAAME,MAAMC,OAAOC,YAChCR,YAAaI,EAAMK,SAAWL,EAAME,MAAMC,OAAO,oBAAsBH,EAAME,MAAMC,OAAOC,aACvFJ,EAAMR,YAGfc,UAAWP,EACNC,CAAAA,GAAAA,KAAAA,GACDT,EAAQU,EAAA,CACNP,gBAAiBM,EAAME,MAAMC,OAAO,uBACpCR,YAAaK,EAAME,MAAMC,OAAO,+BAChCP,YAAaI,EAAMK,SAAWL,EAAME,MAAMC,OAAO,oBAAsBH,EAAME,MAAMC,OAAOC,aACvFJ,EAAMR,aAKV,IAAMe,EAAOC,EAAOC,IACxBC,WAAqC,CACpCC,kBAAmBxB,IAEpByB,MAA0E,CACzEC,uBAAwB,CAACC,EAAMC,KAAAA,CAC7BC,MAAuB,iBAATF,EAAoBA,EAA3B,GAAArB,OAAqCqB,GAArCrB,OAA4CsB,OANxCL,WAAA,CAAAO,YAAA,wBAAGT,CASfR,CAAAA,GAAAA,IAAAA,IAAAA,KAAAA,+NAQwC,iBAApBA,EAAMkB,UAAyBlB,EAAMkB,UAA5C,GAAAzB,OAA2DO,EAAMkB,gBAjBlE,WAoBZlB,GACMA,EAAMM,UAAYT,EAAaS,UAAYT,EAAaC,SAG/DqB"}
@@ -1,2 +1,2 @@
1
- import o from'styled-components';import{createShouldForwardProp as t}from'../../shared/utils/style.js';import{IconButton as i}from'../IconButton/IconButton.js';var n=t();var r=o.div.withConfig({shouldForwardProp:n}).withConfig({componentId:"fox-ui__sc-1u4llna-0"})(["box-sizing:border-box;position:relative;padding:8px;border-radius:inherit;min-width:min-content;"]);var s=o(i).withConfig({componentId:"fox-ui__sc-1u4llna-1"})(["position:absolute;top:8px;right:8px;"]);export{s as CloseButton,r as Root};
1
+ import o from'styled-components';import{createShouldForwardProp as t}from'../../shared/utils/style.js';import{IconButton as r}from'../IconButton/IconButton.js';var i=t();var n=o.div.withConfig({shouldForwardProp:i}).withConfig({componentId:"fox-ui__sc-1u4llna-0"})(["box-sizing:border-box;position:relative;padding:8px;border-radius:inherit;"]);var s=o(r).withConfig({componentId:"fox-ui__sc-1u4llna-1"})(["position:absolute;top:8px;right:8px;"]);export{s as CloseButton,n as Root};
2
2
  //# sourceMappingURL=style.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"style.js","sources":["../../../../src/components/MenuContainer/style.ts"],"sourcesContent":["import styled from 'styled-components'\nimport { createShouldForwardProp } from 'shared/utils/style'\nimport { IconButton } from 'components/IconButton'\nimport type { StyledMenuContainerProps } from './types'\n\nconst shouldForwardMenuContainerProp = createShouldForwardProp()\n\nexport const Root = styled.div.withConfig<StyledMenuContainerProps>({\n shouldForwardProp: shouldForwardMenuContainerProp,\n})`\n box-sizing: border-box;\n position: relative;\n padding: 8px;\n border-radius: inherit;\n min-width: min-content;\n`\n\nexport const CloseButton = styled(IconButton)`\n position: absolute;\n top: 8px;\n right: 8px;\n`\n"],"names":["shouldForwardMenuContainerProp","createShouldForwardProp","Root","styled","div","withConfig","shouldForwardProp","componentId","CloseButton","IconButton"],"mappings":"gKAKA,IAAMA,EAAiCC,IAEhC,IAAMC,EAAOC,EAAOC,IAAIC,WAAqC,CAClEC,kBAAmBN,IADJK,WAAA,CAAAE,YAAA,wBAAGJ,CAAb,CAAA,yGAUMK,EAAcL,EAAOM,GAAVJ,WAAA,CAAAE,YAAA,wBAAGJ,CAApB,CAAA"}
1
+ {"version":3,"file":"style.js","sources":["../../../../src/components/MenuContainer/style.ts"],"sourcesContent":["import styled from 'styled-components'\nimport { createShouldForwardProp } from 'shared/utils/style'\nimport { IconButton } from 'components/IconButton'\nimport type { StyledMenuContainerProps } from './types'\n\nconst shouldForwardMenuContainerProp = createShouldForwardProp()\n\nexport const Root = styled.div.withConfig<StyledMenuContainerProps>({\n shouldForwardProp: shouldForwardMenuContainerProp,\n})`\n box-sizing: border-box;\n position: relative;\n padding: 8px;\n border-radius: inherit;\n`\n\nexport const CloseButton = styled(IconButton)`\n position: absolute;\n top: 8px;\n right: 8px;\n`\n"],"names":["shouldForwardMenuContainerProp","createShouldForwardProp","Root","styled","div","withConfig","shouldForwardProp","componentId","CloseButton","IconButton"],"mappings":"gKAKA,IAAMA,EAAiCC,IAEhC,IAAMC,EAAOC,EAAOC,IAAIC,WAAqC,CAClEC,kBAAmBN,IADJK,WAAA,CAAAE,YAAA,wBAAGJ,CAAb,CAAA,mFASMK,EAAcL,EAAOM,GAAVJ,WAAA,CAAAE,YAAA,wBAAGJ,CAApB,CAAA"}
@@ -1,2 +1,2 @@
1
- import e from'@babel/runtime/helpers/objectSpread2';import r from'@babel/runtime/helpers/objectWithoutProperties';import{forwardRef as s,useRef as i,useImperativeHandle as t,isValidElement as o,Fragment as n,Children as a,cloneElement as l}from'react';import{useKeyboardListener as p}from'../../hooks/useKeyboardListener.js';import{focusFirstFocusable as c}from'../../shared/utils/dom.js';import{Root as z}from'./style.js';import{jsx as m}from'react/jsx-runtime';var d=["role","gap","size","sizeXXS","sizeXS","sizeS","sizeM","sizeL","sizeXL","sizeUnits","sizes"];var u=['ArrowUp','ArrowDown'];var f=s(((s,f)=>{var{role:h="list",gap:v=4,size:b,sizeXXS:X,sizeXS:L,sizeS:S,sizeM:j,sizeL:y,sizeXL:w,sizeUnits:g,sizes:M}=s,U=r(s,d);var k=i(null);t(f,(()=>k.current)),p('keydown',u,(e=>{if(k.current){var r=[...k.current.children];var s=r.findIndex((e=>e.contains(document.activeElement)));if(-1!==s)for(e.preventDefault();s>=0&&s<r.length;){var i=r[s='ArrowUp'===e.key?--s:++s];if(i instanceof HTMLElement&&c(i))break}}}));var x={size:b,sizeXXS:X,sizeXS:L,sizeS:S,sizeM:j,sizeL:y,sizeXL:w,sizeUnits:g,sizes:M};var E=o(U.children)&&U.children.type===n&&'object'==typeof U.children.props&&null!==U.children.props?U.children.props.children:U.children;return m(z,e(e({},U),{},{role:h,gap:v,ref:k,children:a.map(E,((r,s)=>{if(o(r)){var i='object'==typeof r.props&&null!==r.props?r.props:{};return m("li",{children:l(r,e(e({},x),i))},s)}return m("li",{children:r},s)}))}))}));export{f as MenuList};
1
+ import e from'@babel/runtime/helpers/objectSpread2';import r from'@babel/runtime/helpers/objectWithoutProperties';import{forwardRef as s,isValidElement as i,Fragment as o,Children as t,cloneElement as n}from'react';import{focusFirstFocusable as a}from'../../shared/utils/dom.js';import{keyboardKeys as l}from'../../shared/constants.js';import{Root as p}from'./style.js';import{jsx as z}from'react/jsx-runtime';var c=["role","gap","size","sizeXXS","sizeXS","sizeS","sizeM","sizeL","sizeXL","sizeUnits","sizes"];var d=[l.ArrowUp.key,l.ArrowDown.key];var m=s(((s,m)=>{var{role:f="list",gap:h=4,size:u,sizeXXS:y,sizeXS:v,sizeS:X,sizeM:b,sizeL:S,sizeXL:j,sizeUnits:w,sizes:L}=s,g=r(s,c);var k={size:u,sizeXXS:y,sizeXS:v,sizeS:X,sizeM:b,sizeL:S,sizeXL:j,sizeUnits:w,sizes:L};var D=i(g.children)&&g.children.type===o&&'object'==typeof g.children.props&&null!==g.children.props?g.children.props.children:g.children;return z(p,e(e({},g),{},{role:f,gap:h,onKeyDown:e=>{if(g.onKeyDown&&g.onKeyDown(e),d.includes(e.key)){e.preventDefault();var r=[...e.currentTarget.children];var s=r.findIndex((r=>r.contains(e.target)));for(;s>=0&&s<r.length;){var i=r[s=l.ArrowUp.validate(e.key)?--s:++s];if(i instanceof HTMLElement&&a(i))break}}},ref:m,children:t.map(D,((r,s)=>{if(i(r)){var o='object'==typeof r.props&&null!==r.props?r.props:{};return z("li",{children:n(r,e(e({},k),o))},s)}return z("li",{children:r},s)}))}))}));export{m as MenuList};
2
2
  //# sourceMappingURL=MenuList.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MenuList.js","sources":["../../../../src/components/MenuList/MenuList.tsx"],"sourcesContent":["import { forwardRef, useRef, useImperativeHandle, Children, isValidElement, cloneElement, Fragment } from 'react'\nimport { useKeyboardListener } from 'hooks/useKeyboardListener'\nimport { focusFirstFocusable } from 'shared/utils/dom'\nimport type { MenuListProps } from './types'\nimport * as Styled from './style'\n\nconst ARROW_KEYS = ['ArrowUp', 'ArrowDown']\n\n/**\n *\n * Component accepts all \\<ul\\> attributes.\n *\n * Responsive \"size\" props are forwarded to children elements.\n *\n * Exposed \"ref\" attached to root node.\n *\n * See full [MenuListProps](https://github.com/foxford/ui/blob/master/src/components/MenuList/types.ts)\n */\nconst MenuList: React.ForwardRefExoticComponent<MenuListProps> = forwardRef<HTMLUListElement, MenuListProps>(\n (props, forwardedRef) => {\n const {\n role = 'list',\n gap = 4,\n size,\n sizeXXS,\n sizeXS,\n sizeS,\n sizeM,\n sizeL,\n sizeXL,\n sizeUnits,\n sizes,\n ...restProps\n } = props\n\n const ref = useRef<HTMLUListElement>(null)\n\n useImperativeHandle<HTMLUListElement | null, HTMLUListElement | null>(forwardedRef, () => ref.current)\n\n useKeyboardListener('keydown', ARROW_KEYS, (evt) => {\n if (!ref.current) return\n\n const menuItems = [...ref.current.children]\n\n let itemIdx = menuItems.findIndex((item) => item.contains(document.activeElement))\n\n if (itemIdx === -1) return\n\n evt.preventDefault()\n\n while (itemIdx >= 0 && itemIdx < menuItems.length) {\n itemIdx = evt.key === 'ArrowUp' ? --itemIdx : ++itemIdx\n\n const nextItem = menuItems[itemIdx]\n\n if (nextItem instanceof HTMLElement && focusFirstFocusable(nextItem)) {\n break\n }\n }\n })\n\n const sizeProps = {\n size,\n sizeXXS,\n sizeXS,\n sizeS,\n sizeM,\n sizeL,\n sizeXL,\n sizeUnits,\n sizes,\n }\n\n const children =\n isValidElement(restProps.children) &&\n restProps.children.type === Fragment &&\n typeof restProps.children.props === 'object' &&\n restProps.children.props !== null\n ? restProps.children.props.children\n : restProps.children\n\n return (\n <Styled.Root {...restProps} role={role} gap={gap} ref={ref}>\n {Children.map(children, (child, idx) => {\n if (isValidElement(child)) {\n const childProps = typeof child.props === 'object' && child.props !== null ? child.props : {}\n\n return <li key={idx}>{cloneElement(child, { ...sizeProps, ...childProps })}</li>\n }\n\n return <li key={idx}>{child}</li>\n })}\n </Styled.Root>\n )\n }\n)\n\nexport { MenuList }\n"],"names":["ARROW_KEYS","MenuList","forwardRef","props","forwardedRef","role","gap","size","sizeXXS","sizeXS","sizeS","sizeM","sizeL","sizeXL","sizeUnits","sizes","restProps","_excluded","ref","useRef","useImperativeHandle","current","useKeyboardListener","evt","menuItems","children","itemIdx","findIndex","item","contains","document","activeElement","preventDefault","length","nextItem","key","HTMLElement","focusFirstFocusable","sizeProps","isValidElement","type","Fragment","_jsx","Styled.Root","Children","map","child","idx","childProps","cloneElement"],"mappings":"mjBAMA,IAAMA,EAAa,CAAC,UAAW,aAYzBC,IAAAA,EAA2DC,GAC/D,CAACC,EAAOC,KACN,IAAMC,KACJA,EAAO,OADHC,IAEJA,EAAM,EAFFC,KAGJA,EAHIC,QAIJA,EAJIC,OAKJA,EALIC,MAMJA,EANIC,MAOJA,EAPIC,MAQJA,EARIC,OASJA,EATIC,UAUJA,EAVIC,MAWJA,GAEEZ,EADCa,IACDb,EAbJc,GAeA,IAAMC,EAAMC,EAAyB,MAErCC,EAAsEhB,GAAAA,IAAoBc,EAAIG,UAE9FC,EAAoB,UAAWtB,GAAauB,IAC1C,GAAKL,EAAIG,QAAT,CAEA,IAAMG,EAAY,IAAIN,EAAIG,QAAQI,UAElC,IAAIC,EAAUF,EAAUG,WAAWC,GAASA,EAAKC,SAASC,SAASC,iBAEnE,IAAiB,IAAbL,EAIJ,IAFAH,EAAIS,iBAEGN,GAAW,GAAKA,EAAUF,EAAUS,QAAQ,CAGjD,IAAMC,EAAWV,EAFjBE,EAAsB,YAAZH,EAAIY,MAAsBT,IAAYA,GAIhD,GAAIQ,aAAoBE,aAAeC,EAAoBH,GACzD,WAKN,IAAMI,EAAY,CAChB/B,KAAAA,EACAC,QAAAA,EACAC,OAAAA,EACAC,MAAAA,EACAC,MAAAA,EACAC,MAAAA,EACAC,OAAAA,EACAC,UAAAA,EACAC,MAAAA,GAGF,IAAMU,EACJc,EAAevB,EAAUS,WACzBT,EAAUS,SAASe,OAASC,GACQ,iBAA7BzB,EAAUS,SAAStB,OACG,OAA7Ba,EAAUS,SAAStB,MACfa,EAAUS,SAAStB,MAAMsB,SACzBT,EAAUS,SAEhB,OACEiB,EAACC,SAAgB3B,GAAjB,GAAA,CAA4BX,KAAMA,EAAMC,IAAKA,EAAKY,IAAKA,EAAvDO,SACGmB,EAASC,IAAIpB,GAAU,CAACqB,EAAOC,KAC9B,GAAIR,EAAeO,GAAQ,CACzB,IAAME,EAAoC,iBAAhBF,EAAM3C,OAAsC,OAAhB2C,EAAM3C,MAAiB2C,EAAM3C,MAAQ,GAE3F,OAAOuC,EAAA,KAAA,CAAAjB,SAAewB,EAAaH,EAAYR,EAAAA,EAAAA,GAAAA,GAAcU,KAA7CD,GAGlB,OAAOL,EAAA,KAAA,CAAAjB,SAAeqB,GAANC"}
1
+ {"version":3,"file":"MenuList.js","sources":["../../../../src/components/MenuList/MenuList.tsx"],"sourcesContent":["import { forwardRef, Children, isValidElement, cloneElement, Fragment } from 'react'\nimport { focusFirstFocusable } from 'shared/utils/dom'\nimport { keyboardKeys } from 'shared/constants'\nimport type { MenuListProps } from './types'\nimport * as Styled from './style'\n\nconst HOT_KEYS = [keyboardKeys.ArrowUp.key, keyboardKeys.ArrowDown.key]\n\n/**\n *\n * Component accepts all \\<ul\\> attributes.\n *\n * Responsive \"size\" props are forwarded to children elements.\n *\n * Exposed \"ref\" attached to root node.\n *\n * See full [MenuListProps](https://github.com/foxford/ui/blob/master/src/components/MenuList/types.ts)\n */\nconst MenuList: React.ForwardRefExoticComponent<MenuListProps> = forwardRef<HTMLUListElement, MenuListProps>(\n (props, ref) => {\n const {\n role = 'list',\n gap = 4,\n size,\n sizeXXS,\n sizeXS,\n sizeS,\n sizeM,\n sizeL,\n sizeXL,\n sizeUnits,\n sizes,\n ...restProps\n } = props\n\n const sizeProps = {\n size,\n sizeXXS,\n sizeXS,\n sizeS,\n sizeM,\n sizeL,\n sizeXL,\n sizeUnits,\n sizes,\n }\n\n const children =\n isValidElement(restProps.children) &&\n restProps.children.type === Fragment &&\n typeof restProps.children.props === 'object' &&\n restProps.children.props !== null\n ? restProps.children.props.children\n : restProps.children\n\n return (\n <Styled.Root\n {...restProps}\n role={role}\n gap={gap}\n onKeyDown={(evt) => {\n if (restProps.onKeyDown) restProps.onKeyDown(evt)\n\n if (HOT_KEYS.includes(evt.key)) {\n evt.preventDefault()\n\n const listItems = [...evt.currentTarget.children]\n let idx = listItems.findIndex((item) => item.contains(evt.target as Node))\n\n while (idx >= 0 && idx < listItems.length) {\n idx = keyboardKeys.ArrowUp.validate(evt.key) ? --idx : ++idx\n\n const nextItem = listItems[idx]\n\n if (nextItem instanceof HTMLElement && focusFirstFocusable(nextItem)) {\n break\n }\n }\n }\n }}\n ref={ref}\n >\n {Children.map(children, (child, idx) => {\n if (isValidElement(child)) {\n const childProps = typeof child.props === 'object' && child.props !== null ? child.props : {}\n\n return <li key={idx}>{cloneElement(child, { ...sizeProps, ...childProps })}</li>\n }\n\n return <li key={idx}>{child}</li>\n })}\n </Styled.Root>\n )\n }\n)\n\nexport { MenuList }\n"],"names":["HOT_KEYS","keyboardKeys","ArrowUp","key","ArrowDown","MenuList","forwardRef","props","ref","role","gap","size","sizeXXS","sizeXS","sizeS","sizeM","sizeL","sizeXL","sizeUnits","sizes","restProps","_excluded","sizeProps","children","isValidElement","type","Fragment","_jsx","Styled.Root","onKeyDown","evt","includes","preventDefault","listItems","currentTarget","idx","findIndex","item","contains","target","length","nextItem","validate","HTMLElement","focusFirstFocusable","Children","map","child","childProps","cloneElement"],"mappings":"8fAMA,IAAMA,EAAW,CAACC,EAAaC,QAAQC,IAAKF,EAAaG,UAAUD,KAY7DE,IAAAA,EAA2DC,GAC/D,CAACC,EAAOC,KACN,IAAMC,KACJA,EAAO,OADHC,IAEJA,EAAM,EAFFC,KAGJA,EAHIC,QAIJA,EAJIC,OAKJA,EALIC,MAMJA,EANIC,MAOJA,EAPIC,MAQJA,EARIC,OASJA,EATIC,UAUJA,EAVIC,MAWJA,GAEEZ,EADCa,IACDb,EAbJc,GAeA,IAAMC,EAAY,CAChBX,KAAAA,EACAC,QAAAA,EACAC,OAAAA,EACAC,MAAAA,EACAC,MAAAA,EACAC,MAAAA,EACAC,OAAAA,EACAC,UAAAA,EACAC,MAAAA,GAGF,IAAMI,EACJC,EAAeJ,EAAUG,WACzBH,EAAUG,SAASE,OAASC,GACQ,iBAA7BN,EAAUG,SAAShB,OACG,OAA7Ba,EAAUG,SAAShB,MACfa,EAAUG,SAAShB,MAAMgB,SACzBH,EAAUG,SAEhB,OACEI,EAACC,SACKR,GADN,GAAA,CAEEX,KAAMA,EACNC,IAAKA,EACLmB,UAAYC,IAGV,GAFIV,EAAUS,WAAWT,EAAUS,UAAUC,GAEzC9B,EAAS+B,SAASD,EAAI3B,KAAM,CAC9B2B,EAAIE,iBAEJ,IAAMC,EAAY,IAAIH,EAAII,cAAcX,UACxC,IAAIY,EAAMF,EAAUG,WAAWC,GAASA,EAAKC,SAASR,EAAIS,UAE1D,KAAOJ,GAAO,GAAKA,EAAMF,EAAUO,QAAQ,CAGzC,IAAMC,EAAWR,EAFjBE,EAAMlC,EAAaC,QAAQwC,SAASZ,EAAI3B,OAASgC,IAAQA,GAIzD,GAAIM,aAAoBE,aAAeC,EAAoBH,GACzD,SAKRjC,IAAKA,EAxBPe,SA0BGsB,EAASC,IAAIvB,GAAU,CAACwB,EAAOZ,KAC9B,GAAIX,EAAeuB,GAAQ,CACzB,IAAMC,EAAoC,iBAAhBD,EAAMxC,OAAsC,OAAhBwC,EAAMxC,MAAiBwC,EAAMxC,MAAQ,GAE3F,OAAOoB,EAAA,KAAA,CAAAJ,SAAe0B,EAAaF,EAAYzB,EAAAA,EAAAA,GAAAA,GAAc0B,KAA7Cb,GAGlB,OAAOR,EAAA,KAAA,CAAAJ,SAAewB,GAANZ"}
@@ -1,2 +1,2 @@
1
- import n from'styled-components';var o=n.ul.withConfig({shouldForwardProp:n=>!['showCloseButton','closeButtonProps','closeFn','gap'].includes(n)}).withConfig({componentId:"fox-ui__sc-afqmnb-0"})(["",""],(n=>"\n box-sizing: border-box;\n appearance: none;\n list-style-type: none;\n margin: 0;\n padding: 8px;\n border-radius: inherit;\n min-width: min-content;\n\n & > li:not(:last-child) {\n margin-bottom: ".concat('string'==typeof n.gap?n.gap:"".concat(n.gap,"px"),";\n } \n ")));export{o as Root};
1
+ import n from'styled-components';var o=n.ul.withConfig({shouldForwardProp:n=>!['showCloseButton','closeButtonProps','closeFn','gap'].includes(n)}).withConfig({componentId:"fox-ui__sc-afqmnb-0"})(["",""],(n=>"\n box-sizing: border-box;\n appearance: none;\n list-style-type: none;\n margin: 0;\n padding: 8px;\n border-radius: inherit;\n\n & > li:not(:last-child) {\n margin-bottom: ".concat('string'==typeof n.gap?n.gap:"".concat(n.gap,"px"),";\n } \n ")));export{o as Root};
2
2
  //# sourceMappingURL=style.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"style.js","sources":["../../../../src/components/MenuList/style.ts"],"sourcesContent":["import styled from 'styled-components'\nimport type { StyledMenuListProps } from './types'\n\nexport const Root = styled.ul.withConfig<StyledMenuListProps>({\n shouldForwardProp: (propKey) => !['showCloseButton', 'closeButtonProps', 'closeFn', 'gap'].includes(propKey),\n})`\n ${(props) => `\n box-sizing: border-box;\n appearance: none;\n list-style-type: none;\n margin: 0;\n padding: 8px;\n border-radius: inherit;\n min-width: min-content;\n\n & > li:not(:last-child) {\n margin-bottom: ${typeof props.gap === 'string' ? props.gap : `${props.gap}px`};\n } \n `}\n`\n"],"names":["Root","styled","ul","withConfig","shouldForwardProp","propKey","includes","componentId","props","concat","gap"],"mappings":"iCAGO,IAAMA,EAAOC,EAAOC,GAAGC,WAAgC,CAC5DC,kBAAoBC,IAAa,CAAC,kBAAmB,mBAAoB,UAAW,OAAOC,SAASD,KADrFF,WAAA,CAAAI,YAAA,uBAAGN,CAAH,CAAA,GAAA,KAGZO,GAUkB,wOAAAC,OAAqB,iBAAdD,EAAME,IAAmBF,EAAME,IAASF,GAAAA,OAAAA,EAAME,IAArD"}
1
+ {"version":3,"file":"style.js","sources":["../../../../src/components/MenuList/style.ts"],"sourcesContent":["import styled from 'styled-components'\nimport type { StyledMenuListProps } from './types'\n\nexport const Root = styled.ul.withConfig<StyledMenuListProps>({\n shouldForwardProp: (propKey) => !['showCloseButton', 'closeButtonProps', 'closeFn', 'gap'].includes(propKey),\n})`\n ${(props) => `\n box-sizing: border-box;\n appearance: none;\n list-style-type: none;\n margin: 0;\n padding: 8px;\n border-radius: inherit;\n\n & > li:not(:last-child) {\n margin-bottom: ${typeof props.gap === 'string' ? props.gap : `${props.gap}px`};\n } \n `}\n`\n"],"names":["Root","styled","ul","withConfig","shouldForwardProp","propKey","includes","componentId","props","concat","gap"],"mappings":"iCAGO,IAAMA,EAAOC,EAAOC,GAAGC,WAAgC,CAC5DC,kBAAoBC,IAAa,CAAC,kBAAmB,mBAAoB,UAAW,OAAOC,SAASD,KADrFF,WAAA,CAAAI,YAAA,uBAAGN,CAAH,CAAA,GAAA,KAGZO,GASkB,2MAAAC,OAAqB,iBAAdD,EAAME,IAAmBF,EAAME,IAASF,GAAAA,OAAAA,EAAME,IAArD"}
@@ -1,2 +1,2 @@
1
- import n from'styled-components';import{display as o}from'../../mixins/display.js';import{color as t}from'../../mixins/color.js';import{responsiveSize as e}from'../../mixins/responsive-size.js';import{responsiveMargin as i}from'../../mixins/responsive-margin.js';import{createShouldForwardProp as r}from'../../shared/utils/style.js';var a={lighter:100,normal:400,bold:600,bolder:800};var s={l:1.5,m:1.3,s:1.15,xs:1};var c=r((n=>!['appearance','fontFamily','weight','fontStyle','transform','underlineLinks','textAlign','lineHeight','content','display','chars','quoted','showZeroMinorPart','separator','underline','whiteSpace'].includes(n)));var l=n.div.withConfig({shouldForwardProp:c}).withConfig({componentId:"fox-ui__sc-s2fogy-0"})([""," "," "," "," ",""],(n=>{var o,t;return"\n margin: 0;\n ".concat(n.fontFamily?"font-family: ".concat(n.fontFamily,";"):'',"\n ").concat(n.transform?"text-transform: ".concat(n.transform,";"):'',"\n ").concat(n.weight?"font-weight: ".concat(null!==(o=a[n.weight])&&void 0!==o?o:n.weight,";"):'',"\n ").concat(n.fontStyle?"font-style: ".concat(n.fontStyle,";"):'',"\n ").concat(n.textAlign?"text-align: ".concat(n.textAlign,";"):'',"\n ").concat(n.lineHeight?"line-height: ".concat(null!==(t=s[n.lineHeight])&&void 0!==t?t:n.lineHeight,";"):'',"\n ").concat(n.underline?"border-bottom: 1px ".concat('string'==typeof n.underline?n.underline:'solid',";"):'',"\n ").concat(n.whiteSpace?"white-space: ".concat(n.whiteSpace,";"):'',"\n a {\n text-decoration: ").concat(n.underlineLinks?'underline':'none',";\n &:hover {\n text-decoration: none;\n }\n }\n ")}),e,i,(n=>n.display?o(n.display):null),(n=>t(n.color?n.color:n.theme.textColor)));export{l as Root};
1
+ import n from'styled-components';import{display as o}from'../../mixins/display.js';import{color as t}from'../../mixins/color.js';import{responsiveSize as e}from'../../mixins/responsive-size.js';import{responsiveMargin as i}from'../../mixins/responsive-margin.js';import{createShouldForwardProp as r}from'../../shared/utils/style.js';var a={lighter:100,normal:400,bold:600,bolder:800};var c={l:1.5,m:1.3,s:1.15,xs:1};var s=r((n=>!['appearance','fontFamily','weight','fontStyle','transform','underlineLinks','textAlign','lineHeight','content','display','chars','quoted','showZeroMinorPart','separator','underline','whiteSpace','wordBreak'].includes(n)));var l=n.div.withConfig({shouldForwardProp:s}).withConfig({componentId:"fox-ui__sc-s2fogy-0"})([""," "," "," "," ",""],(n=>{var o,t;return"\n margin: 0;\n ".concat(n.fontFamily?"font-family: ".concat(n.fontFamily,";"):'',"\n ").concat(n.transform?"text-transform: ".concat(n.transform,";"):'',"\n ").concat(n.weight?"font-weight: ".concat(null!==(o=a[n.weight])&&void 0!==o?o:n.weight,";"):'',"\n ").concat(n.fontStyle?"font-style: ".concat(n.fontStyle,";"):'',"\n ").concat(n.textAlign?"text-align: ".concat(n.textAlign,";"):'',"\n ").concat(n.lineHeight?"line-height: ".concat(null!==(t=c[n.lineHeight])&&void 0!==t?t:n.lineHeight,";"):'',"\n ").concat(n.underline?"border-bottom: 1px ".concat('string'==typeof n.underline?n.underline:'solid',";"):'',"\n ").concat(n.whiteSpace?"white-space: ".concat(n.whiteSpace,";"):'',"\n ").concat(n.wordBreak?"word-break: ".concat(n.wordBreak,";"):'',"\n a {\n text-decoration: ").concat(n.underlineLinks?'underline':'none',";\n &:hover {\n text-decoration: none;\n }\n }\n ")}),e,i,(n=>n.display?o(n.display):null),(n=>t(n.color?n.color:n.theme.textColor)));export{l as Root};
2
2
  //# sourceMappingURL=style.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"style.js","sources":["../../../../src/components/Text/style.ts"],"sourcesContent":["import styled from 'styled-components'\nimport { display } from 'mixins/display'\nimport { color } from 'mixins/color'\nimport { responsiveSize } from 'mixins/responsive-size'\nimport { responsiveMargin } from 'mixins/responsive-margin'\nimport { createShouldForwardProp } from 'shared/utils/style'\nimport type { Color } from 'shared/types'\nimport type { StyledTextProps } from './types'\n\nconst WEIGHT_MAP = {\n lighter: 100,\n normal: 400,\n bold: 600,\n bolder: 800,\n}\n\nconst LINE_HEIGHT_MAP = {\n l: 1.5,\n m: 1.3,\n s: 1.15,\n xs: 1,\n}\n\nconst shouldForwardTextProp = createShouldForwardProp(\n (propKey) =>\n ![\n 'appearance',\n 'fontFamily',\n 'weight',\n 'fontStyle',\n 'transform',\n 'underlineLinks',\n 'textAlign',\n 'lineHeight',\n 'content',\n 'display',\n 'chars',\n 'quoted',\n 'showZeroMinorPart',\n 'separator',\n 'underline',\n 'whiteSpace',\n ].includes(propKey)\n)\n\nexport const Root = styled.div.withConfig<StyledTextProps>({\n shouldForwardProp: shouldForwardTextProp,\n})`\n ${(props) => `\n margin: 0;\n ${props.fontFamily ? `font-family: ${props.fontFamily};` : ''}\n ${props.transform ? `text-transform: ${props.transform};` : ''}\n ${props.weight ? `font-weight: ${WEIGHT_MAP[props.weight] ?? props.weight};` : ''}\n ${props.fontStyle ? `font-style: ${props.fontStyle};` : ''}\n ${props.textAlign ? `text-align: ${props.textAlign};` : ''}\n ${props.lineHeight ? `line-height: ${LINE_HEIGHT_MAP[props.lineHeight] ?? props.lineHeight};` : ''}\n ${props.underline ? `border-bottom: 1px ${typeof props.underline === 'string' ? props.underline : 'solid'};` : ''}\n ${props.whiteSpace ? `white-space: ${props.whiteSpace};` : ''}\n a {\n text-decoration: ${props.underlineLinks ? 'underline' : 'none'};\n &:hover {\n text-decoration: none;\n }\n }\n `}\n\n ${responsiveSize}\n ${responsiveMargin}\n\n ${(props) => (props.display ? display(props.display) : null)}\n ${(props) => (props.color ? color(props.color) : color(props.theme.textColor as Color))}\n`\n"],"names":["WEIGHT_MAP","lighter","normal","bold","bolder","LINE_HEIGHT_MAP","l","m","s","xs","shouldForwardTextProp","createShouldForwardProp","propKey","includes","Root","styled","div","withConfig","shouldForwardProp","componentId","props","_WEIGHT_MAP$props$wei","_LINE_HEIGHT_MAP$prop","fontFamily","concat","transform","weight","fontStyle","textAlign","lineHeight","underline","whiteSpace","underlineLinks","responsiveSize","responsiveMargin","display","color","theme","textColor"],"mappings":"6UASA,IAAMA,EAAa,CACjBC,QAAS,IACTC,OAAQ,IACRC,KAAM,IACNC,OAAQ,KAGV,IAAMC,EAAkB,CACtBC,EAAG,IACHC,EAAG,IACHC,EAAG,KACHC,GAAI,GAGN,IAAMC,EAAwBC,GAC3BC,IACE,CACC,aACA,aACA,SACA,YACA,YACA,iBACA,YACA,aACA,UACA,UACA,QACA,SACA,oBACA,YACA,YACA,cACAC,SAASD,KAGR,IAAME,EAAOC,EAAOC,IAAIC,WAA4B,CACzDC,kBAAmBR,IADJO,WAAA,CAAAE,YAAA,uBAAGJ,CAAH,CAAA,GAAA,IAAA,IAAA,IAAA,IAAA,KAGZK,IAAD,IAAAC,EAAAC,EAAA,MAEEF,yBAAAA,OAAAA,EAAMG,WAA6BH,gBAAAA,OAAAA,EAAMG,WAAzC,KAAyD,GAF3D,UAAAC,OAGEJ,EAAMK,UAA+BL,mBAAAA,OAAAA,EAAMK,UAAe,KAAA,oBAC1DL,EAAMM,OAAN,gBAAAF,OAAA,QAAAH,EAA+BrB,EAAWoB,EAAMM,eAAhD,IAAAL,EAAAA,EAA2DD,EAAMM,OAAY,KAAA,GAC7EN,UAAAA,OAAAA,EAAMO,gCAA2BP,EAAMO,UAAvC,KAAsD,GALxD,UAAAH,OAMEJ,EAAMQ,UAA2BR,eAAAA,OAAAA,EAAMQ,eAAe,GANxD,UAAAJ,OAOEJ,EAAMS,WAAN,gBAAAL,OAAA,QAAAF,EAAmCjB,EAAgBe,EAAMS,mBAAAA,IAAzDP,EAAAA,EAAwEF,EAAMS,WAAgB,KAAA,GAC9FT,UAAAA,OAAAA,EAAMU,UAAN,sBAAAN,OAAmE,iBAApBJ,EAAMU,UAAyBV,EAAMU,UAAY,QAAa,KAAA,GAC7GV,UAAAA,OAAAA,EAAMW,kCAA6BX,EAAMW,WAAzC,KAAyD,GAT3D,sCAAAP,OAWqBJ,EAAMY,eAAiB,YAAc,OAX1D,4EAkBAC,EACAC,GAECd,GAAWA,EAAMe,QAAUA,EAAQf,EAAMe,SAAW,OACpDf,GAAyBgB,EAAdhB,EAAMgB,MAAchB,EAAMgB,MAAehB,EAAMiB,MAAMC"}
1
+ {"version":3,"file":"style.js","sources":["../../../../src/components/Text/style.ts"],"sourcesContent":["import styled from 'styled-components'\nimport { display } from 'mixins/display'\nimport { color } from 'mixins/color'\nimport { responsiveSize } from 'mixins/responsive-size'\nimport { responsiveMargin } from 'mixins/responsive-margin'\nimport { createShouldForwardProp } from 'shared/utils/style'\nimport type { Color } from 'shared/types'\nimport type { StyledTextProps } from './types'\n\nconst WEIGHT_MAP = {\n lighter: 100,\n normal: 400,\n bold: 600,\n bolder: 800,\n}\n\nconst LINE_HEIGHT_MAP = {\n l: 1.5,\n m: 1.3,\n s: 1.15,\n xs: 1,\n}\n\nconst shouldForwardTextProp = createShouldForwardProp(\n (propKey) =>\n ![\n 'appearance',\n 'fontFamily',\n 'weight',\n 'fontStyle',\n 'transform',\n 'underlineLinks',\n 'textAlign',\n 'lineHeight',\n 'content',\n 'display',\n 'chars',\n 'quoted',\n 'showZeroMinorPart',\n 'separator',\n 'underline',\n 'whiteSpace',\n 'wordBreak',\n ].includes(propKey)\n)\n\nexport const Root = styled.div.withConfig<StyledTextProps>({\n shouldForwardProp: shouldForwardTextProp,\n})`\n ${(props) => `\n margin: 0;\n ${props.fontFamily ? `font-family: ${props.fontFamily};` : ''}\n ${props.transform ? `text-transform: ${props.transform};` : ''}\n ${props.weight ? `font-weight: ${WEIGHT_MAP[props.weight] ?? props.weight};` : ''}\n ${props.fontStyle ? `font-style: ${props.fontStyle};` : ''}\n ${props.textAlign ? `text-align: ${props.textAlign};` : ''}\n ${props.lineHeight ? `line-height: ${LINE_HEIGHT_MAP[props.lineHeight] ?? props.lineHeight};` : ''}\n ${props.underline ? `border-bottom: 1px ${typeof props.underline === 'string' ? props.underline : 'solid'};` : ''}\n ${props.whiteSpace ? `white-space: ${props.whiteSpace};` : ''}\n ${props.wordBreak ? `word-break: ${props.wordBreak};` : ''}\n a {\n text-decoration: ${props.underlineLinks ? 'underline' : 'none'};\n &:hover {\n text-decoration: none;\n }\n }\n `}\n\n ${responsiveSize}\n ${responsiveMargin}\n\n ${(props) => (props.display ? display(props.display) : null)}\n ${(props) => (props.color ? color(props.color) : color(props.theme.textColor as Color))}\n`\n"],"names":["WEIGHT_MAP","lighter","normal","bold","bolder","LINE_HEIGHT_MAP","l","m","s","xs","shouldForwardTextProp","createShouldForwardProp","propKey","includes","Root","styled","div","withConfig","shouldForwardProp","componentId","props","_WEIGHT_MAP$props$wei","_LINE_HEIGHT_MAP$prop","fontFamily","transform","concat","weight","fontStyle","textAlign","lineHeight","underline","whiteSpace","wordBreak","underlineLinks","responsiveSize","responsiveMargin","display","color","theme","textColor"],"mappings":"6UASA,IAAMA,EAAa,CACjBC,QAAS,IACTC,OAAQ,IACRC,KAAM,IACNC,OAAQ,KAGV,IAAMC,EAAkB,CACtBC,EAAG,IACHC,EAAG,IACHC,EAAG,KACHC,GAAI,GAGN,IAAMC,EAAwBC,GAC3BC,IACE,CACC,aACA,aACA,SACA,YACA,YACA,iBACA,YACA,aACA,UACA,UACA,QACA,SACA,oBACA,YACA,YACA,aACA,aACAC,SAASD,KAGR,IAAME,EAAOC,EAAOC,IAAIC,WAA4B,CACzDC,kBAAmBR,IADJO,WAAA,CAAAE,YAAA,uBAAGJ,CAAH,CAAA,GAAA,IAAA,IAAA,IAAA,IAAA,KAGZK,IAAD,IAAAC,EAAAC,EAAA,MAEEF,yBAAAA,OAAAA,EAAMG,WAA6BH,gBAAAA,OAAAA,EAAMG,WAAgB,KAAA,GACzDH,UAAAA,OAAAA,EAAMI,oCAA+BJ,EAAMI,UAA3C,KAA0D,GAH5D,UAAAC,OAIEL,EAAMM,OAAN,gBAAAD,OAAA,QAAAJ,EAA+BrB,EAAWoB,EAAMM,eAAhD,IAAAL,EAAAA,EAA2DD,EAAMM,OAAjE,KAA6E,GAJ/E,UAAAD,OAKEL,EAAMO,UAAN,eAAAF,OAAiCL,EAAMO,UAAvC,KAAsD,GALxD,UAAAF,OAMEL,EAAMQ,UAAN,eAAAH,OAAiCL,EAAMQ,UAAvC,KAAsD,GANxD,UAAAH,OAOEL,EAAMS,WAA6BxB,gBAAAA,OAAnC,QAAmCA,EAAAA,EAAgBe,EAAMS,mBAAzD,IAAAP,EAAAA,EAAwEF,EAAMS,WAA9E,KAA8F,GAPhG,UAAAJ,OAQEL,EAAMU,UAAN,sBAAAL,OAAmE,iBAApBL,EAAMU,UAAyBV,EAAMU,UAAY,aAAa,GAR/G,UAAAL,OASEL,EAAMW,WAAN,gBAAAN,OAAmCL,EAAMW,WAAzC,KAAyD,GAT3D,UAAAN,OAUEL,EAAMY,UAAN,eAAAP,OAAiCL,EAAMY,UAAvC,KAAsD,GAVxD,sCAAAP,OAYqBL,EAAMa,eAAiB,YAAc,OAZ1D,4EAmBAC,EACAC,GAECf,GAAWA,EAAMgB,QAAUA,EAAQhB,EAAMgB,SAAW,OACpDhB,GAAyBiB,EAAdjB,EAAMiB,MAAcjB,EAAMiB,MAAejB,EAAMkB,MAAMC"}
@@ -1,2 +1,2 @@
1
- import e from'@babel/runtime/helpers/objectSpread2';import o from'@babel/runtime/helpers/objectWithoutProperties';import{forwardRef as s,isValidElement as r,cloneElement as t}from'react';import{useKeyboardListener as i}from'../../hooks/useKeyboardListener.js';import{TooltipComponent as n}from'../TooltipComponent/TooltipComponent.js';import{jsx as p}from'react/jsx-runtime';var a=["size","sizeXXS","sizeXS","sizeS","sizeM","sizeL","sizeXL","black","contrast","showCloseButton","closeButtonProps","id","role","closeFn","component"];var l=()=>{};var c=['Escape','Esc'];var m=s(((s,m)=>{var{size:z,sizeXXS:u,sizeXS:f,sizeS:b,sizeM:X,sizeL:S,sizeXL:d,black:L,contrast:h,showCloseButton:j,closeButtonProps:v,id:B,role:C,closeFn:k=l,component:y}=s,w=o(s,a);i('keyup',c,k);var E={size:z,sizeXXS:u,sizeXS:f,sizeS:b,sizeM:X,sizeL:S,sizeXL:d,black:L,contrast:h,showCloseButton:j,closeButtonProps:v,id:B,role:C,closeFn:k};if(r(y)){var P='object'==typeof y.props&&null!==y.props?y.props:{};return t(y,e(e({ref:m},E),P))}return'function'==typeof y?y(E):p(n,e(e({ref:m},E),w))}));export{m as TooltipWrapper};
1
+ import e from'@babel/runtime/helpers/objectSpread2';import o from'@babel/runtime/helpers/objectWithoutProperties';import{forwardRef as s,isValidElement as r,cloneElement as t}from'react';import{useKeyboardListener as i}from'../../hooks/useKeyboardListener.js';import{keyboardKeys as n}from'../../shared/constants.js';import{TooltipComponent as p}from'../TooltipComponent/TooltipComponent.js';import{jsx as a}from'react/jsx-runtime';var l=["size","sizeXXS","sizeXS","sizeS","sizeM","sizeL","sizeXL","black","contrast","showCloseButton","closeButtonProps","id","role","closeFn","component"];var m=()=>{};var c=s(((s,c)=>{var{size:z,sizeXXS:u,sizeXS:f,sizeS:b,sizeM:X,sizeL:d,sizeXL:S,black:h,contrast:j,showCloseButton:y,closeButtonProps:L,id:k,role:v,closeFn:B=m,component:C}=s,w=o(s,l);i('keyup',n.Esc.key,B);var P={size:z,sizeXXS:u,sizeXS:f,sizeS:b,sizeM:X,sizeL:d,sizeXL:S,black:h,contrast:j,showCloseButton:y,closeButtonProps:L,id:k,role:v,closeFn:B};if(r(C)){var T='object'==typeof C.props&&null!==C.props?C.props:{};return t(C,e(e({ref:c},P),T))}return'function'==typeof C?C(P):a(p,e(e({ref:c},P),w))}));export{c as TooltipWrapper};
2
2
  //# sourceMappingURL=TooltipWrapper.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TooltipWrapper.js","sources":["../../../../src/components/Tooltip/TooltipWrapper.tsx"],"sourcesContent":["import { forwardRef, isValidElement, cloneElement } from 'react'\nimport { useKeyboardListener } from 'hooks/useKeyboardListener'\nimport { TooltipComponent } from 'components/TooltipComponent'\nimport type { TooltipWrapperProps } from './types'\n\nconst closeFnNoop = () => undefined\n\nconst ESC_KEYS = ['Escape', 'Esc']\n\nconst TooltipWrapper = forwardRef<HTMLDivElement, TooltipWrapperProps>((props, ref) => {\n const {\n size,\n sizeXXS,\n sizeXS,\n sizeS,\n sizeM,\n sizeL,\n sizeXL,\n black,\n contrast,\n showCloseButton,\n closeButtonProps,\n id,\n role,\n closeFn = closeFnNoop,\n component,\n ...restProps\n } = props\n\n useKeyboardListener('keyup', ESC_KEYS, closeFn)\n\n const injectionProps = {\n size,\n sizeXXS,\n sizeXS,\n sizeS,\n sizeM,\n sizeL,\n sizeXL,\n black,\n contrast,\n showCloseButton,\n closeButtonProps,\n id,\n role,\n closeFn,\n }\n\n if (isValidElement(component)) {\n const elementProps = typeof component.props === 'object' && component.props !== null ? component.props : {}\n\n return cloneElement(component, { ref, ...injectionProps, ...elementProps })\n }\n\n if (typeof component === 'function') {\n return component(injectionProps)\n }\n\n return <TooltipComponent ref={ref} {...injectionProps} {...restProps} />\n})\n\nexport { TooltipWrapper }\n"],"names":["closeFnNoop","ESC_KEYS","TooltipWrapper","forwardRef","props","ref","size","sizeXXS","sizeXS","sizeS","sizeM","sizeL","sizeXL","black","contrast","showCloseButton","closeButtonProps","id","role","closeFn","component","restProps","_excluded","useKeyboardListener","injectionProps","isValidElement","elementProps","cloneElement","_objectSpread","_jsx","TooltipComponent"],"mappings":"ohBAKA,IAAMA,EAAc,OAEpB,IAAMC,EAAW,CAAC,SAAU,OAEtBC,IAAAA,EAAiBC,GAAAA,CAAiDC,EAAOC,KAC7E,IAAMC,KACJA,EADIC,QAEJA,EAFIC,OAGJA,EAHIC,MAIJA,EAJIC,MAKJA,EALIC,MAMJA,EANIC,OAOJA,EAPIC,MAQJA,EARIC,SASJA,EATIC,gBAUJA,EAVIC,iBAWJA,EAXIC,GAYJA,EAZIC,KAaJA,EAbIC,QAcJA,EAAUnB,EAdNoB,UAeJA,GAEEhB,EADCiB,IACDjB,EAjBJkB,GAmBAC,EAAoB,QAAStB,EAAUkB,GAEvC,IAAMK,EAAiB,CACrBlB,KAAAA,EACAC,QAAAA,EACAC,OAAAA,EACAC,MAAAA,EACAC,MAAAA,EACAC,MAAAA,EACAC,OAAAA,EACAC,MAAAA,EACAC,SAAAA,EACAC,gBAAAA,EACAC,iBAAAA,EACAC,GAAAA,EACAC,KAAAA,EACAC,QAAAA,GAGF,GAAIM,EAAeL,GAAY,CAC7B,IAAMM,EAA0C,iBAApBN,EAAUhB,OAA0C,OAApBgB,EAAUhB,MAAiBgB,EAAUhB,MAAQ,GAEzG,OAAOuB,EAAaP,EAADQ,EAAAA,EAAA,CAAcvB,IAAAA,GAAQmB,GAAmBE,IAG9D,MAAyB,mBAAdN,EACFA,EAAUI,GAGZK,EAACC,EAADF,EAAAA,EAAA,CAAkBvB,IAAKA,GAASmB,GAAoBH"}
1
+ {"version":3,"file":"TooltipWrapper.js","sources":["../../../../src/components/Tooltip/TooltipWrapper.tsx"],"sourcesContent":["import { forwardRef, isValidElement, cloneElement } from 'react'\nimport { useKeyboardListener } from 'hooks/useKeyboardListener'\nimport { keyboardKeys } from 'shared/constants'\nimport { TooltipComponent } from 'components/TooltipComponent'\nimport type { TooltipWrapperProps } from './types'\n\nconst closeFnNoop = () => undefined\n\nconst TooltipWrapper = forwardRef<HTMLDivElement, TooltipWrapperProps>((props, ref) => {\n const {\n size,\n sizeXXS,\n sizeXS,\n sizeS,\n sizeM,\n sizeL,\n sizeXL,\n black,\n contrast,\n showCloseButton,\n closeButtonProps,\n id,\n role,\n closeFn = closeFnNoop,\n component,\n ...restProps\n } = props\n\n useKeyboardListener('keyup', keyboardKeys.Esc.key, closeFn)\n\n const injectionProps = {\n size,\n sizeXXS,\n sizeXS,\n sizeS,\n sizeM,\n sizeL,\n sizeXL,\n black,\n contrast,\n showCloseButton,\n closeButtonProps,\n id,\n role,\n closeFn,\n }\n\n if (isValidElement(component)) {\n const elementProps = typeof component.props === 'object' && component.props !== null ? component.props : {}\n\n return cloneElement(component, { ref, ...injectionProps, ...elementProps })\n }\n\n if (typeof component === 'function') {\n return component(injectionProps)\n }\n\n return <TooltipComponent ref={ref} {...injectionProps} {...restProps} />\n})\n\nexport { TooltipWrapper }\n"],"names":["closeFnNoop","TooltipWrapper","forwardRef","props","ref","size","sizeXXS","sizeXS","sizeS","sizeM","sizeL","sizeXL","black","contrast","showCloseButton","closeButtonProps","id","role","closeFn","component","restProps","_excluded","useKeyboardListener","keyboardKeys","Esc","key","injectionProps","isValidElement","elementProps","cloneElement","_objectSpread","_jsx","TooltipComponent"],"mappings":"6kBAMA,IAAMA,EAAc,OAEdC,IAAAA,EAAiBC,GAAAA,CAAiDC,EAAOC,KAC7E,IAAMC,KACJA,EADIC,QAEJA,EAFIC,OAGJA,EAHIC,MAIJA,EAJIC,MAKJA,EALIC,MAMJA,EANIC,OAOJA,EAPIC,MAQJA,EARIC,SASJA,EATIC,gBAUJA,EAVIC,iBAWJA,EAXIC,GAYJA,EAZIC,KAaJA,EAbIC,QAcJA,EAAUlB,EAdNmB,UAeJA,GAEEhB,EADCiB,IACDjB,EAjBJkB,GAmBAC,EAAoB,QAASC,EAAaC,IAAIC,IAAKP,GAEnD,IAAMQ,EAAiB,CACrBrB,KAAAA,EACAC,QAAAA,EACAC,OAAAA,EACAC,MAAAA,EACAC,MAAAA,EACAC,MAAAA,EACAC,OAAAA,EACAC,MAAAA,EACAC,SAAAA,EACAC,gBAAAA,EACAC,iBAAAA,EACAC,GAAAA,EACAC,KAAAA,EACAC,QAAAA,GAGF,GAAIS,EAAeR,GAAY,CAC7B,IAAMS,EAA0C,iBAApBT,EAAUhB,OAA0C,OAApBgB,EAAUhB,MAAiBgB,EAAUhB,MAAQ,GAEzG,OAAO0B,EAAaV,EAADW,EAAAA,EAAA,CAAc1B,IAAAA,GAAQsB,GAAmBE,IAG9D,MAAyB,mBAAdT,EACFA,EAAUO,GAGZK,EAACC,EAADF,EAAAA,EAAA,CAAkB1B,IAAKA,GAASsB,GAAoBN"}