@loomhq/lens 12.7.0 → 12.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +35 -7
- package/dist/cjs/icons/editions-icon.js +40 -0
- package/dist/cjs/icons/editions-icon.js.map +7 -0
- package/dist/cjs/icons/editions.js +9 -2
- package/dist/cjs/icons/editions.js.map +2 -2
- package/dist/cjs/icons/index.js +9 -2
- package/dist/cjs/icons/index.js.map +2 -2
- package/dist/cjs/index.js +459 -194
- package/dist/cjs/index.js.map +4 -4
- package/dist/esm/icons/chunk-SPTM4NUO.js +18 -0
- package/dist/esm/icons/chunk-SPTM4NUO.js.map +7 -0
- package/dist/esm/icons/editions-icon.js +12 -0
- package/dist/esm/icons/editions-icon.js.map +7 -0
- package/dist/esm/icons/editions.js +1 -1
- package/dist/esm/icons/index.js +57 -57
- package/dist/esm/index.js +441 -176
- package/dist/esm/index.js.map +4 -4
- package/dist/types/components/dropdown/dropdown.d.ts +3 -1
- package/dist/types/components/dropdown/dropdown.d.ts.map +1 -1
- package/dist/types/components/icon/available-icons/editions-icon.d.ts +3 -0
- package/dist/types/components/icon/available-icons/editions-icon.d.ts.map +1 -0
- package/dist/types/components/icon/available-icons/editions.d.ts +1 -1
- package/dist/types/components/icon/available-icons/editions.d.ts.map +1 -1
- package/dist/types/components/menu/menu.d.ts +4 -2
- package/dist/types/components/menu/menu.d.ts.map +1 -1
- package/dist/types/components/select/select.d.ts +7 -1
- package/dist/types/components/select/select.d.ts.map +1 -1
- package/dist/types/components/tabs/tabs.d.ts +24 -1
- package/dist/types/components/tabs/tabs.d.ts.map +1 -1
- package/dist/types/components/tooltip/tooltip.d.ts +1 -1
- package/dist/types/components/tooltip/tooltip.d.ts.map +1 -1
- package/dist/types/components/typeahead/typeahead.d.ts.map +1 -1
- package/dist/types/icons/editions-icon.d.ts +3 -0
- package/dist/types/icons/editions-icon.d.ts.map +1 -0
- package/dist/types/icons/editions.d.ts +1 -1
- package/dist/types/icons/editions.d.ts.map +1 -1
- package/dist/types/utilities/text.d.ts +3 -0
- package/dist/types/utilities/text.d.ts.map +1 -0
- package/package.json +6 -5
- package/dist/esm/icons/chunk-T4L22EHS.js +0 -11
- package/dist/esm/icons/chunk-T4L22EHS.js.map +0 -7
package/dist/cjs/index.js.map
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["../../src/index.ts", "../../src/colors.ts", "../../src/utilities/color.ts", "../../src/hooks/use-media.js", "../../src/utilities/size.ts", "../../src/utilities/responsive.ts", "../../src/utilities/styles.js", "../../src/utilities/case.ts", "../../src/variables.ts", "../../src/components/text/text.tsx", "../../src/console-messages.js", "../../src/css-utilities/rules.js", "../../src/css-utilities/generate-utilities.js", "../../src/css-variables/index.ts", "../../src/components/avatar/avatar.tsx", "../../src/components/base-styles/base-styles.tsx", "../../src/components/button/button.tsx", "../../src/components/icon/icon.tsx", "../../src/components/loader/loader.tsx", "../../src/components/spacer/spacer.tsx", "../../src/components/text-input/text-input.tsx", "../../src/components/align/align.tsx", "../../src/components/container/container.tsx", "../../src/components/distribute/distribute.tsx", "../../src/components/error-container/error-container.tsx", "../../src/components/arrange/arrange.tsx", "../../src/components/icon/available-icons/alert-triangle.tsx", "../../src/components/layout/layout.tsx", "../../src/components/icon-button/icon-button.tsx", "../../src/components/checkbox/checkbox.tsx", "../../src/components/text-button/text-button.tsx", "../../src/components/select/select.tsx", "../../src/utilities/downshift.js", "../../src/components/icon/available-icons/chevron-down.tsx", "../../src/components/menu/menu.tsx", "../../src/components/icon/available-icons/check.tsx", "../../src/components/backdrop/backdrop.tsx", "../../src/hooks/use-prevent-scroll.ts", "../../src/components/modal/modal.tsx", "../../src/components/icon/available-icons/close.tsx", "../../src/components/link/link.tsx", "../../src/components/textarea/textarea.tsx", "../../src/components/typeahead/typeahead.tsx", "../../src/components/dropdown/dropdown.tsx", "../../src/components/
|
|
4
|
-
"sourcesContent": ["// needed for emotion types\nimport '@emotion/react';\n\nexport * from './colors';\nexport * from './variables';\nexport * from './utilities';\nexport * from './css-utilities';\nexport * from './css-variables';\nexport * from './components';\nexport * from './illustrations';\nexport * from './hooks';\nexport * from './types';\n", "type HslaColor = { h: number; s: number; l: number; a: number; ads?: string };\nconst BaseColors = [\n 'red',\n 'blurpleLight',\n 'blurpleMedium',\n 'blurple',\n 'blurpleDark',\n 'blurpleStrong',\n 'offWhite',\n 'blueLight',\n 'blue',\n 'blueDark',\n 'magenta',\n 'orangeLight',\n 'orange',\n 'orangeDark',\n 'tealLight',\n 'teal',\n 'tealDark',\n 'yellowLight',\n 'yellow',\n 'yellowDark',\n] as const;\nconst GreyColors = [\n 'grey8',\n 'grey7',\n 'grey6',\n 'grey5',\n 'grey4',\n 'grey3',\n 'grey2',\n 'grey1',\n 'white',\n] as const;\nconst SharedColors = [\n 'record',\n 'recordHover',\n 'recordActive',\n 'focusRing',\n 'backdropDark',\n 'backdropTwilight',\n 'highlight',\n 'warning',\n] as const;\nconst SemanticColors = [\n 'primary',\n 'primaryHover',\n 'primaryActive',\n 'body',\n 'bodyDimmed',\n 'bodyInverse',\n 'background',\n 'backgroundHover',\n 'backgroundActive',\n 'backgroundNeutral',\n 'backgroundNeutralHover',\n 'backgroundNeutralActive',\n 'backgroundSecondary',\n 'backgroundSecondary2',\n 'backgroundInverse',\n 'overlay',\n 'overlayHover',\n 'overlayActive',\n 'backdrop',\n 'border',\n 'disabledContent',\n 'disabledBackground',\n 'formFieldBorder',\n 'formFieldBackground',\n 'buttonBorder',\n 'upgrade',\n 'upgradeHover',\n 'upgradeActive',\n 'tabBackground',\n 'discoveryBackground',\n 'discoveryLightBackground',\n 'discoveryTitle',\n 'discoveryHighlight',\n 'info',\n 'success',\n 'danger',\n 'dangerHover',\n 'dangerActive',\n] as const;\n\ntype ThemesColorVariant = Record<\n (typeof SharedColors)[number] | (typeof SemanticColors)[number],\n HslaColor\n>;\ntype ThemesColors = {\n light: ThemesColorVariant;\n dark: ThemesColorVariant;\n};\n\nconst percent = (number: number, percentage: number) =>\n Math.round((number * percentage) / 100);\n\nexport const darken = (color: HslaColor, percentage: number): HslaColor => ({\n ...color,\n l: color.l - percent(color.l, percentage),\n});\n\nexport const lighten = (color: HslaColor, percentage: number): HslaColor => ({\n ...color,\n l: color.l + percent(color.l, percentage),\n});\n\nexport const saturate = (color: HslaColor, percentage: number): HslaColor => ({\n ...color,\n s: color.s + percent(color.s, percentage),\n});\n\nexport const alphaFunction = (color: HslaColor, alpha: number): HslaColor => ({\n ...color,\n a: alpha,\n});\n\nconst hoverIncrease = 15.8;\nconst activeIncrease = 31.6;\nconst borderAlpha = 0.14;\nconst backdropAlpha = 0.46;\nconst backdropDarkAlpha = 0.9;\nconst backdropTwilightAlpha = 0.8;\nconst focusRingAlpha = 0.8;\nconst buttonBorderAlpha = 0.25;\nconst tabBackgroundAlpha = 0.06;\nconst highlightAlpha = 0.15;\n\nexport const hslaBaseColors: Record<(typeof BaseColors)[number], HslaColor> = {\n red: { h: 4, s: 64, l: 48, a: 1 },\n\n blurpleLight: { h: 240, s: 83.3, l: 95.3, a: 1 },\n blurpleMedium: { h: 242, s: 81.0, l: 87.6, a: 1 },\n blurple: { h: 242, s: 88.4, l: 66.3, a: 1 },\n blurpleDark: { h: 242, s: 87.6, l: 62.0, a: 1 },\n blurpleStrong: { h: 242, s: 55, l: 36, a: 1 },\n\n offWhite: { h: 0, s: 0, l: 97.25, a: 1 },\n\n blueLight: { h: 216.5, s: 92, l: 90.2, a: 1 },\n blue: { h: 215.4, s: 80, l: 47.65, a: 1 },\n blueDark: { h: 216.3, s: 69.2, l: 23, a: 1 },\n\n magenta: { h: 323, s: 42, l: 48, a: 1 },\n\n orangeLight: { h: 4, s: 100, l: 91.2, a: 1 },\n orange: { h: 11, s: 100, l: 62.2, a: 1 },\n orangeDark: { h: 10.9, s: 100, l: 42.2, a: 1 },\n\n tealLight: { h: 155, s: 70, l: 84, a: 1 },\n teal: { h: 155, s: 62, l: 32, a: 1 },\n tealDark: { h: 155, s: 55, l: 19, a: 1 },\n\n yellowLight: { h: 43, s: 93, l: 82, a: 1 },\n yellow: { h: 45.5, s: 96, l: 57, a: 1 },\n yellowDark: { h: 39.8, s: 100, l: 49.4, a: 1 },\n};\n\nexport const hslaGreys: Record<(typeof GreyColors)[number], HslaColor> = {\n grey8: { h: 228, s: 6, l: 17, a: 1 },\n grey7: { h: 223, s: 6, l: 24.5, a: 1 },\n grey6: { h: 224, s: 5, l: 44, a: 1 },\n grey5: { h: 224, s: 5, l: 57, a: 1 },\n grey4: { h: 223, s: 5, l: 73, a: 1 },\n grey3: { h: 225, s: 6, l: 87.5, a: 1 },\n grey2: { h: 210, s: 7, l: 94.5, a: 1 },\n grey1: { h: 0, s: 0, l: 97.25, a: 1 },\n white: { h: 0, s: 0, l: 100, a: 1 },\n};\n\nconst themeSharedColors: Record<(typeof SharedColors)[number], HslaColor> = {\n record: hslaBaseColors.orange,\n recordHover: darken(hslaBaseColors.orange, hoverIncrease),\n recordActive: darken(hslaBaseColors.orange, activeIncrease),\n focusRing: alphaFunction(hslaBaseColors.blurple, focusRingAlpha),\n backdropDark: alphaFunction(hslaGreys.grey8, backdropDarkAlpha),\n backdropTwilight: alphaFunction(\n hslaBaseColors.blurpleStrong,\n backdropTwilightAlpha\n ),\n highlight: alphaFunction(hslaBaseColors.blurple, highlightAlpha),\n warning: {\n h: 45.5,\n s: 96,\n l: 57,\n a: 1,\n ads: '--ds-background-warning-bold',\n },\n};\n\n// This object has a specific spread order for documentation purposes\nexport const themeColors: ThemesColors = {\n light: {\n primary: hslaBaseColors.blurple,\n primaryHover: hslaBaseColors.blurpleDark,\n primaryActive: hslaBaseColors.blurpleStrong,\n body: { h: 228, s: 6, l: 17, a: 1, ads: '--ds-text' },\n bodyDimmed: { h: 224, s: 5, l: 44, a: 1, ads: '--ds-text-subtlest' },\n bodyInverse: { h: 0, s: 0, l: 100, a: 1, ads: '--ds-text-inverse' },\n background: { h: 0, s: 0, l: 100, a: 1, ads: '--ds-surface' },\n backgroundHover: {\n h: 209,\n s: 75.6,\n l: 8,\n a: 0.08,\n ads: '--ds-background-neutral-subtle-hovered',\n },\n backgroundActive: {\n h: 225.5,\n s: 56.9,\n l: 10,\n a: 0.14,\n ads: '--ds-background-neutral-subtle-pressed',\n },\n backgroundSecondary: {\n h: 0,\n s: 0,\n l: 97.25,\n a: 1,\n ads: '--ds-surface-sunken',\n },\n backgroundSecondary2: {\n h: 0,\n s: 0,\n l: 97.25,\n a: 1,\n ads: '--ds-surface-sunken',\n },\n backgroundNeutral: {\n h: 209,\n s: 76,\n l: 8,\n a: 0.08,\n ads: '--ds-background-neutral',\n },\n backgroundNeutralHover: {\n h: 226,\n s: 57,\n l: 1,\n a: 0.14,\n ads: '--ds-background-neutral-hovered',\n },\n backgroundNeutralActive: {\n h: 223,\n s: 61,\n l: 8,\n a: 0.28,\n ads: '--ds-background-neutral-pressed',\n },\n backgroundInverse: {\n h: 228,\n s: 6,\n l: 17,\n a: 1,\n ads: '--ds-background-neutral-bold',\n },\n overlay: { h: 0, s: 0, l: 100, a: 1, ads: '--ds-surface-overlay' },\n overlayHover: hslaGreys.grey2,\n overlayActive: hslaGreys.grey3,\n backdrop: { h: 224, s: 72, l: 7, a: backdropAlpha, ads: '--ds-blanket' },\n border: { h: 225.5, s: 57, l: 10, a: borderAlpha, ads: '--ds-border' },\n ...themeSharedColors,\n info: {\n h: 215,\n s: 80.25,\n l: 47.65,\n a: 1,\n ads: '--ds-background-information-bold',\n },\n success: {\n h: 155,\n s: 62,\n l: 32,\n a: 1,\n ads: '--ds-background-accent-green-bolder',\n },\n danger: { h: 4, s: 64, l: 48, a: 1, ads: '--ds-background-danger-bold' },\n dangerHover: {\n h: 4.3,\n s: 65.7,\n l: 41.2,\n a: 1,\n ads: '--ds-background-danger-bold-hovered',\n },\n dangerActive: {\n h: 4.5,\n s: 56.3,\n l: 23.3,\n a: 1,\n ads: '--ds-background-danger-bold-pressed',\n },\n disabledContent: {\n h: 223,\n s: 5,\n l: 73,\n a: 1,\n ads: '--ds-text-disabled',\n },\n disabledBackground: {\n h: 0,\n s: 0,\n l: 9,\n a: 0.03,\n ads: '--ds-background-disabled',\n },\n formFieldBorder: { h: 223.6, s: 5, l: 57, a: 1, ads: '--ds-border-input' },\n formFieldBackground: {\n h: 0,\n s: 0,\n l: 100,\n a: 1,\n ads: '--ds-background-input',\n },\n buttonBorder: {\n h: 252,\n s: 13,\n l: 46,\n a: buttonBorderAlpha,\n ads: '--ds-border',\n },\n tabBackground: {\n h: 209,\n s: 75.6,\n l: 8,\n a: tabBackgroundAlpha,\n ads: '--ds-background-neutral',\n },\n upgrade: {\n h: 277.5,\n s: 89,\n l: 96.5,\n a: 1,\n ads: '--ds-background-discovery',\n },\n upgradeHover: {\n h: 277,\n s: 86,\n l: 91.6,\n a: 1,\n ads: '--ds-background-discovery-hovered',\n },\n upgradeActive: {\n h: 278.6,\n s: 84.5,\n l: 79.8,\n a: 1,\n ads: '--ds-background-discovery-pressed',\n },\n discoveryBackground: {\n h: 278.6,\n s: 48.4,\n l: 52.2,\n a: 1,\n ads: '--ds-background-discovery-bold',\n },\n discoveryLightBackground: {\n h: 277.5,\n s: 89,\n l: 96.5,\n a: 1,\n ads: '--ds-background-discovery',\n },\n discoveryTitle: { h: 228, s: 6, l: 17, a: 1, ads: '--ds-text' },\n discoveryHighlight: {\n h: 277.5,\n s: 89,\n l: 96.5,\n a: 1,\n ads: '--ds-background-discovery',\n },\n },\n\n dark: {\n primary: { h: 242, s: 87, l: 73, a: 1 },\n primaryHover: hslaBaseColors.blurpleDark,\n primaryActive: hslaBaseColors.blurpleStrong,\n body: { h: 225, s: 4.3, l: 81.6, a: 1, ads: '--ds-text' },\n bodyDimmed: { h: 217.5, s: 4, l: 60.4, a: 1, ads: '--ds-text-subtlest' },\n bodyInverse: { h: 240, s: 3, l: 12.5, a: 1, ads: '--ds-text-inverse' },\n background: { h: 240, s: 3, l: 12.5, a: 1, ads: '--ds-surface' },\n backgroundHover: {\n h: 240,\n s: 12.6,\n l: 83,\n a: 0.07,\n ads: '--ds-background-neutral-subtle-hovered',\n },\n backgroundActive: {\n h: 236,\n s: 36.6,\n l: 92,\n a: 0.12,\n ads: '--ds-background-neutral-subtle-pressed',\n },\n backgroundSecondary: {\n h: 210,\n s: 4,\n l: 9.8,\n a: 1,\n ads: '--ds-surface-sunken',\n },\n backgroundSecondary2: {\n h: 210,\n s: 4,\n l: 9.8,\n a: 1,\n ads: '--ds-surface-sunken',\n },\n // Same base hsl to backgroundHover\n backgroundNeutral: {\n h: 240,\n s: 12.6,\n l: 83,\n a: 0.07,\n ads: '--ds-background-neutral',\n },\n backgroundNeutralHover: {\n h: 236,\n s: 36.6,\n l: 92,\n a: 0.12,\n ads: '--ds-background-neutral-hovered',\n },\n backgroundNeutralActive: {\n h: 226,\n s: 49,\n l: 93,\n a: 0.25,\n ads: '--ds-background-neutral-pressed',\n },\n backgroundInverse: {\n h: 225,\n s: 4.3,\n l: 81.6,\n a: 1,\n ads: '--ds-background-neutral-bold',\n },\n overlay: { h: 225, s: 4, l: 17.6, a: 1, ads: '--ds-surface-overlay' },\n overlayHover: {\n h: 225,\n s: 4,\n l: 19.61,\n a: 1,\n ads: '--ds-surface-overlay-hovered',\n },\n overlayActive: {\n h: 225,\n s: 4.69,\n l: 25.1,\n a: 1,\n ads: '--ds-surface-overlay-pressed',\n },\n backdrop: { h: 210, s: 11, l: 7, a: 0.6, ads: '--ds-blanket' },\n border: { h: 236, s: 36.6, l: 92, a: 0.12, ads: '--ds-border' },\n ...themeSharedColors,\n info: {\n h: 216.3,\n s: 83,\n l: 67.25,\n a: 1,\n ads: '--ds-background-information-bold',\n },\n success: {\n h: 155,\n s: 57,\n l: 55,\n a: 1,\n ads: '--ds-background-accent-green-bolder',\n },\n danger: { h: 3.75, s: 91, l: 69, a: 1, ads: '--ds-background-danger-bold' },\n dangerHover: {\n h: 4,\n s: 96,\n l: 78,\n a: 1,\n ads: '--ds-background-danger-bold-hovered',\n },\n dangerActive: {\n h: 4,\n s: 100,\n l: 91.2,\n a: 1,\n ads: '--ds-background-danger-bold-pressed',\n },\n disabledContent: {\n h: 225,\n s: 5,\n l: 33,\n a: 1,\n ads: '--ds-text-disabled',\n },\n disabledBackground: {\n h: 0,\n s: 0,\n l: 1,\n a: 0.46,\n ads: '--ds-background-disabled',\n },\n formFieldBorder: { h: 222, s: 4, l: 51.4, a: 1, ads: '--ds-border-input' },\n formFieldBackground: {\n h: 225,\n s: 5,\n l: 15,\n a: 1,\n ads: '--ds-background-input',\n },\n buttonBorder: {\n h: 0,\n s: 0,\n l: 100,\n a: buttonBorderAlpha,\n ads: '--ds-border',\n },\n tabBackground: {\n h: 240,\n s: 12.6,\n l: 83,\n a: 0.07,\n ads: '--ds-background-neutral',\n },\n upgrade: {\n h: 277.8,\n s: 27.3,\n l: 19.4,\n a: 1,\n ads: '--ds-background-discovery',\n },\n upgradeHover: {\n h: 278,\n s: 44.2,\n l: 25.3,\n a: 1,\n ads: '--ds-background-discovery-hovered',\n },\n upgradeActive: {\n h: 278,\n s: 45,\n l: 44.7,\n a: 1,\n ads: '--ds-background-discovery-pressed',\n },\n discoveryBackground: {\n h: 278.5,\n s: 84.5,\n l: 72.2,\n a: 1,\n ads: '--ds-background-discovery-bold',\n },\n discoveryLightBackground: {\n h: 277.8,\n s: 27.3,\n l: 19.4,\n a: 1,\n ads: '--ds-background-discovery',\n },\n discoveryTitle: { h: 225, s: 4.3, l: 81.6, a: 1, ads: '--ds-text' },\n discoveryHighlight: {\n h: 277.8,\n s: 27.3,\n l: 19.4,\n a: 1,\n ads: '--ds-background-discovery',\n },\n },\n};\n\nexport const hslaColors = {\n ...hslaBaseColors,\n ...hslaGreys,\n};\n\nexport const colorsNames = [\n ...Object.keys(hslaColors),\n ...Object.keys(themeColors.light),\n];\n", "import { hslaColors, themeColors } from '../colors';\nimport { gradients } from '../variables';\n\nexport const getColorAlpha = (\n color: keyof typeof hslaColors,\n alpha: number\n) => {\n return `hsla(${hslaColors[color].h},${hslaColors[color].s}%,${hslaColors[color].l}%,${alpha})`;\n};\n\nexport const getColorScale = (\n color: keyof typeof hslaColors,\n scaleType: string,\n scaleIncrement: number\n): string => {\n const scaledValue = () => {\n if (scaleType === 'dark') {\n return hslaColors[color].l - hslaColors[color].l * scaleIncrement;\n } else if (scaleType === 'light') {\n return hslaColors[color].l + hslaColors[color].l * scaleIncrement;\n }\n };\n\n return `hsla(${hslaColors[color].h},${hslaColors[color].s}%,${Math.round(\n scaledValue()\n )}%,${hslaColors[color].a})`;\n};\n\nexport const getColorValue = (color?: string): string | undefined => {\n if (color) {\n if (color in hslaColors || color in themeColors.light) {\n return `var(--lns-color-${color})`;\n }\n\n // Handle gradient colors\n if (color in gradients) {\n return `var(--lns-gradient-${color})`;\n }\n\n return color;\n }\n};\n", "import _debounce from 'lodash/debounce';\nimport React from 'react';\n\n/**\n * Provided an array of media queries and an associated\n * array of values, it will match a media query to a value\n * on resize and return it.\n * If no queries match, it will return a default value.\n */\nexport default function useMedia(queries, values, defaultValue) {\n const match = React.useCallback(() => {\n if (typeof window === 'undefined') {\n return defaultValue;\n }\n\n return (\n values[queries.findIndex(q => matchMedia(q).matches)] || defaultValue\n );\n }, [defaultValue, queries, values]);\n\n const [value, set] = React.useState(match);\n\n React.useEffect(() => {\n const handler = _debounce(() => set(match), 150);\n\n window.addEventListener('resize', handler);\n\n return () => window.removeEventListener('resize', handler);\n }, [match]);\n\n return value;\n}\n", "import { Breakpoint, Space, spaces, unit } from '../variables';\nimport { objectToBreakpoints } from './responsive';\n\nimport { arrayToBreakpoints } from '.';\n\nexport const u = (amount: number) =>\n amount && `calc(${amount} * var(--lns-unit, ${unit}px))`;\n\n/**\n * @example\n * Sample values: \"large\", 42, \"80px\"\n */\nexport type Size = Space | number | string;\n\nexport const getSizeValue = (size: Size) => {\n if (size in spaces) {\n return `var(--lns-space-${size})`;\n }\n\n if (size && isNaN(size as number)) {\n return `${size}`;\n }\n\n if (size === 0) {\n return `0`;\n }\n\n if (size) {\n return `${u(size as number)}`;\n }\n};\n\nexport type SizeProp =\n | Size\n | Size[]\n | Partial<Record<Breakpoint | 'default', Size>>;\nexport const getSize = (property: string, size: SizeProp) => {\n if (size || size === 0) {\n if (Array.isArray(size)) {\n const rulesetsArray = size.map(sizeItem => {\n return `${property}: ${getSizeValue(sizeItem)}`;\n });\n\n return arrayToBreakpoints(rulesetsArray);\n }\n\n if (typeof size === 'object') {\n const sizeValesObject: Partial<Record<Breakpoint, string>> = {};\n\n Object.entries(size).forEach(\n ([key, value]) => (sizeValesObject[key] = getSizeValue(value))\n );\n\n return objectToBreakpoints(property, sizeValesObject);\n }\n\n return `${property}: ${getSizeValue(size)};`;\n }\n};\n", "import useMedia from '../hooks/use-media';\nimport { ResponsiveGridSections, ResponsiveType } from '../types';\nimport { Breakpoint, breakpoints } from '../variables';\nimport { getSizeValue, Size } from './size';\n\nexport const getMediaCss = (\n widthType: string,\n breakpoint: string,\n declaration: string\n) => `@media(${widthType}: ${breakpoint}){${declaration}}`;\n\nexport const arrayToBreakpoints = (values: string[]) => {\n const smallestBreakpoint = Object.values(breakpoints)[0];\n\n const maxWithRulesets = getMediaCss(\n 'max-width',\n smallestBreakpoint,\n values[0]\n );\n\n const minWithRulesets = values.reduce((rulesets, value, index) => {\n const breakpoint = `${Object.values(breakpoints)[index]}`;\n\n return rulesets + getMediaCss('min-width', breakpoint, value);\n }, '');\n\n return maxWithRulesets + minWithRulesets;\n};\n\nexport type BreakpointProperties = Breakpoint | 'default';\nexport type BreakpointObject = Partial<Record<BreakpointProperties, string>>;\n\nexport const objectToBreakpoints = (\n property: string,\n obj: BreakpointObject\n) => {\n const result = [];\n\n obj['default'] && result.push(`${property}: ${obj['default']};`);\n\n delete obj.default;\n\n Object.entries(obj).forEach(([key, value]) => {\n const breakpoint = key in breakpoints ? breakpoints[key] : key;\n\n result.push(`@media(min-width: ${breakpoint}){ ${property}: ${value} }`);\n });\n\n return result.join(' ');\n};\n\nexport const getResponsiveOneOf = (\n property: string,\n valueArray: ResponsiveType<string>\n) => {\n if (Array.isArray(valueArray)) {\n const oneOfValuesArray = valueArray.map(valueArrayItem => {\n return `${property}: ${valueArrayItem};`;\n });\n\n return arrayToBreakpoints(oneOfValuesArray);\n }\n\n if (typeof valueArray === 'object') {\n return objectToBreakpoints(property, valueArray);\n }\n\n return `${property}: ${valueArray};`;\n};\n\nexport const getAlignmentStyles = (\n prop: string | string[],\n alignments: Record<string, string>\n) => {\n if (prop) {\n if (Array.isArray(prop)) {\n const alignItemsArray = [];\n\n prop.map(propItem => {\n alignItemsArray.push(alignments[propItem]);\n });\n\n return getResponsiveOneOf('align-items', alignItemsArray);\n }\n\n return `align-items ${alignments[prop]};`;\n }\n};\n\nexport const getResponsiveBoolean = (\n property: string,\n valueArray: string[],\n booleanValue: boolean | boolean[]\n) => {\n if (Array.isArray(booleanValue)) {\n const booleanValuesArray = booleanValue.map(booleanItem => {\n const value = booleanItem === true ? valueArray[0] : valueArray[1];\n\n return `${property}: ${value};`;\n });\n\n return arrayToBreakpoints(booleanValuesArray);\n }\n\n return `${property}: ${valueArray[0]};`;\n};\n\nexport const getResponsiveNumber = (\n property: string,\n number: ResponsiveType<number | string>\n) => {\n if (number || number === 0) {\n if (Array.isArray(number)) {\n const rulesetsArray = number.map(numberItem => {\n return `${property}: ${numberItem}`;\n });\n\n return arrayToBreakpoints(rulesetsArray);\n }\n\n if (typeof number === 'object' && !Array.isArray(number)) {\n return objectToBreakpoints(property, number);\n }\n\n return `${property}: ${number};`;\n }\n};\n\ntype SizeParam = Size | Size[];\nconst transformColumns = (columns: SizeParam) => {\n if (Array.isArray(columns)) {\n return columns.map(column => getSizeValue(column)).join(' ');\n }\n\n return columns;\n};\n\nexport const getResponsiveColumns = (\n columns: Record<Breakpoint, SizeParam>\n) => {\n if (columns) {\n if (typeof columns === 'object' && !Array.isArray(columns)) {\n const columnsValuesObject: BreakpointObject = {};\n\n Object.entries(columns).forEach(\n ([key, value]) => (columnsValuesObject[key] = transformColumns(value))\n );\n\n return objectToBreakpoints('grid-template-columns', columnsValuesObject);\n }\n\n return `grid-template-columns: ${transformColumns(columns)};`;\n }\n};\n\nexport const getResponsiveGridSections = (\n gridSections: ResponsiveGridSections,\n sectionType: string\n) => {\n if (gridSections) {\n if (typeof gridSections === 'object' && !Array.isArray(gridSections)) {\n const gridSectionsValesObject = {};\n\n Object.entries(gridSections).forEach(\n ([key, value]) =>\n (gridSectionsValesObject[key] = transformColumns(value))\n );\n\n return objectToBreakpoints(\n `grid-template-${sectionType}`,\n gridSectionsValesObject\n );\n }\n\n return `grid-template-${sectionType}: ${transformColumns(gridSections)};`;\n }\n};\n\nexport const Media = ({ children, queries, values, defaultValue }) => {\n const value = useMedia(queries, values, defaultValue);\n\n return children(value);\n};\n", "// TODO(LNS-185): Convert all utils to ts\nimport { getColorValue } from './color';\n\n// Type\nexport const getTextSize = size =>\n size &&\n `\n font-size: var(--lns-fontSize-${size});\n line-height: var(--lns-lineHeight-${size});\n letter-spacing: var(--lns-letterSpacing-${size});\n`;\n\nexport const getFontWeight = fontWeight =>\n fontWeight && `font-weight: var(--lns-fontWeight-${fontWeight});`;\n\nexport const getFontSetting = fontSetting =>\n fontSetting && `var(--lns-fontSetting-${fontSetting});`;\n\nexport const getRadius = size =>\n size && `border-radius: var(--lns-radius-${size});`;\n\nexport const getShadow = size =>\n size && `box-shadow: var(--lns-shadow-${size});`;\n\nexport const getFocusRing = (color, position) => {\n const focusColor = color ? color : getColorValue('focusRing');\n\n return `box-shadow:${position ? position : ''} 0 0 0 2px ${focusColor};`;\n};\n\n// Use for elements who have background colour. The standard focus ring does\n// not provide sufficient contrast against most variant bg colours.\nexport const getOffsetFocusRing = color => {\n const focusColor = color ? color : getColorValue('focusRing');\n\n return `\n outline: 2px solid ${focusColor};\n outline-offset: 1px;\n `;\n};\n\nexport const getListContainer = tag => {\n if (tag === 'ol' || tag === 'ul') {\n return `\n list-style-type: none;\n margin: 0;\n padding: 0\n `;\n }\n};\n\nexport const getPlacement = (maxHeight, placement) => {\n const placementStyles = {\n center: {\n bottom: 0,\n top: `calc((100vh - ${maxHeight}) / 2)`,\n position: 'relative',\n },\n bottom: {\n bottom: 0,\n top: 'unset',\n position: 'absolute',\n },\n undefined: {\n bottom: undefined,\n top: '15vh',\n position: 'relative',\n },\n };\n\n return placementStyles[placement];\n};\n", "export const pascalCaseToKebabCase = (string: string): string => {\n return string\n .replace(/([a-z0-9])([A-Z])/g, '$1-$2')\n .replace(/[\\s_]+/g, '-')\n .toLowerCase();\n};\n", "import { u } from './utilities';\n\nexport const unit = 8;\n\nexport const textSizes = {\n small: {\n fontSize: 1.5,\n lineHeight: 1.5,\n letterSpacing: 'normal',\n },\n 'body-sm': {\n fontSize: 1.5,\n lineHeight: 1.5,\n letterSpacing: 'normal',\n },\n medium: {\n fontSize: 1.75,\n lineHeight: 1.57,\n letterSpacing: 'normal',\n },\n 'body-md': {\n fontSize: 1.75,\n lineHeight: 1.57,\n letterSpacing: 'normal',\n },\n large: {\n fontSize: 2.25,\n lineHeight: 1.44,\n letterSpacing: '-0.2px',\n },\n 'body-lg': {\n fontSize: 2.25,\n lineHeight: 1.44,\n letterSpacing: '-0.2px',\n },\n xlarge: {\n fontSize: 3,\n lineHeight: 1.16,\n letterSpacing: '-0.2px',\n },\n 'heading-sm': {\n fontSize: 3,\n lineHeight: 1.16,\n letterSpacing: '-0.2px',\n },\n xxlarge: {\n fontSize: 4,\n lineHeight: 1.125,\n letterSpacing: '-0.5px',\n },\n 'heading-md': {\n fontSize: 4,\n lineHeight: 1.125,\n letterSpacing: '-0.5px',\n },\n xxxlarge: {\n fontSize: 6,\n lineHeight: 1.16,\n letterSpacing: '-1.2px',\n },\n 'heading-lg': {\n fontSize: 6,\n lineHeight: 1.16,\n letterSpacing: '-1.2px',\n },\n};\nexport type TextSize = keyof typeof textSizes;\n\nexport const fontWeights = {\n book: 400,\n regular: 400,\n medium: 500,\n bold: 653,\n};\n\n// NOTE(tatiana): For reasons unclear to me at this time,\n// I do not know why I have to do this silliness but\n// it's the only way I can get the correct version to show\n// in the Lens doc only\nexport const fontSettings = {\n normal: `'normal'`,\n tnum: `'tnum'`,\n};\n\nexport const radii = {\n none: u(0),\n 50: u(0.5),\n 100: u(1),\n medium: u(1),\n 150: u(1.5),\n 175: u(1.75),\n 200: u(2),\n large: u(2),\n 250: u(2.5),\n 300: u(3),\n xlarge: u(3),\n round: u(999),\n full: u(999),\n};\n\nexport const shadows = {\n small: `0 ${u(0.5)} ${u(1.25)} hsla(0, 0%, 0%, 0.05)`,\n medium: `0 ${u(0.5)} ${u(1.25)} hsla(0, 0%, 0%, 0.1)`,\n large: `0 ${u(0.75)} ${u(3)} hsla(0, 0%, 0%, 0.1)`,\n};\n\nexport const spaces = {\n xsmall: 0.5,\n small: 1,\n medium: 2,\n large: 3,\n xlarge: 5,\n xxlarge: 8,\n};\nexport type Space = keyof typeof spaces;\n\nexport const breakpoints = {\n xsmall: '31em',\n small: '48em',\n medium: '64em',\n large: '75em',\n};\nexport type Breakpoint = keyof typeof breakpoints;\n\nexport const gradients = {\n 'ai-primary':\n 'radial-gradient(134.96% 884.49% at 119.29% 112.58%, #DC43BE 0%, #565ADD 70%)',\n 'ai-secondary':\n 'radial-gradient(100% 138.41% at 100% 100%, #EFF0FF 0%, #FFFFFF 100%)',\n};\n", "import styled from '@emotion/styled';\nimport React from 'react';\n\nimport { textIsDimmedDeprecated } from '../../console-messages';\nimport { LensSpanProps } from '../../types';\nimport {\n getFontWeight,\n getFontSetting,\n getTextSize,\n getColorValue,\n u,\n} from '../../utilities';\nimport { TextSize, textSizes, unit } from '../../variables';\n\nexport const dimAmount = 0.6;\n\ntype VariantsProps = {\n [key: string]: {\n size: TextProps['size'];\n fontWeight: TextProps['fontWeight'];\n };\n};\n\nexport const variants: VariantsProps = {\n body: {\n size: 'body-md',\n fontWeight: 'regular',\n },\n title: {\n size: 'body-lg',\n fontWeight: 'bold',\n },\n mainTitle: {\n size: 'heading-md',\n fontWeight: 'bold',\n },\n};\n\nconst getTextPxSize = size => textSizes[size].fontSize * unit;\n\nconst getTextUnitSize = size => u(textSizes[size].fontSize);\n\nexport const lineHeightToPx = size =>\n textSizes[size].fontSize * textSizes[size].lineHeight * unit;\n\nconst clampBuilder = (minSize, maxSize, minWindow, maxWindow) => {\n const slope = (maxSize - minSize) / (maxWindow - minWindow);\n const yAxisIntersection = -minWindow * slope + minSize;\n\n return `${yAxisIntersection}px + ${slope * 100}vw`;\n};\n\nconst TextWrapper = styled.span<TextWrapperProps>`\n display: ${props => (props.isInline ? 'inline' : 'block')};\n ${props => !props.sizeMinMax && getTextSize(props.size)};\n ${props => getFontWeight(props.fontWeight)};\n ${props => props.color && `color: ${getColorValue(props.color)}`};\n ${props =>\n props.fontSetting &&\n `font-feature-settings: ${getFontSetting(props.fontSetting)}`};\n ${props => props.isDimmed && `opacity: ${dimAmount}`};\n ${props => props.alignment && `text-align: ${props.alignment}`};\n ${props =>\n props.hasEllipsis &&\n !props.ellipsisLines &&\n `\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n `};\n ${props =>\n props.hasEllipsis &&\n props.ellipsisLines &&\n `\n overflow: hidden;\n display: -webkit-box;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: ${props.ellipsisLines};\n `};\n ${props =>\n !props.hasEllipsis &&\n props.noWrap &&\n 'white-space: nowrap; overflow: hidden;'};\n ${props =>\n props.sizeMinMax &&\n `\n min-height: 0vw;\n font-size: clamp(\n ${getTextUnitSize(props.sizeMinMax[0])},\n ${clampBuilder(\n getTextPxSize(props.sizeMinMax[0]),\n getTextPxSize(props.sizeMinMax[1]),\n 496,\n 1200\n )},\n ${getTextUnitSize(props.sizeMinMax[1])}\n );\n\n line-height: clamp(\n ${lineHeightToPx(props.sizeMinMax[0])}px,\n ${clampBuilder(\n lineHeightToPx(props.sizeMinMax[0]),\n lineHeightToPx(props.sizeMinMax[1]),\n 496,\n 1200\n )},\n ${lineHeightToPx(props.sizeMinMax[1])}px\n );\n `}\n`;\n\nconst Text = ({\n children,\n size = 'body-md',\n color,\n isInline,\n isDimmed,\n fontWeight = 'regular',\n hasEllipsis,\n ellipsisLines,\n noWrap,\n variant,\n htmlTag = 'span',\n alignment,\n sizeMinMax,\n fontSetting = 'normal',\n ...props\n}: TextProps &\n React.ComponentProps<typeof TextWrapper> &\n Omit<\n LensSpanProps,\n keyof TextProps & React.ComponentProps<typeof TextWrapper>\n >) => {\n if (isDimmed) {\n // eslint-disable-next-line no-console\n console.warn(textIsDimmedDeprecated);\n }\n\n // All heading sizes should use fontWeight bold\n if (size.includes('heading-')) {\n fontWeight = 'bold';\n }\n\n return (\n <TextWrapper\n size={variant ? variants[variant].size : size}\n color={color}\n isInline={isInline}\n isDimmed={isDimmed}\n fontWeight={variant ? variants[variant].fontWeight : fontWeight}\n hasEllipsis={hasEllipsis}\n ellipsisLines={ellipsisLines}\n noWrap={noWrap}\n variant={variant}\n as={htmlTag}\n alignment={alignment}\n sizeMinMax={sizeMinMax}\n fontSetting={fontSetting}\n {...props}\n >\n {children}\n </TextWrapper>\n );\n};\n\nexport const availableSizes = [\n 'body-sm',\n 'body-md',\n 'body-lg',\n 'heading-sm',\n 'heading-md',\n 'heading-lg',\n];\nexport const deprecatedSizes = [\n 'small',\n 'medium',\n 'large',\n 'xlarge',\n 'xxlarge',\n 'xxxlarge',\n];\nexport const availableFontWeights = ['regular', 'medium', 'bold'];\nexport const availableHtmlTags = ['h1', 'h2', 'h3', 'h4', 'p', 'span', 'div'];\nexport const alignments = ['left', 'right', 'center'];\n\ninterface TextProps {\n size?: TextSize;\n fontWeight?: 'book' | 'regular' | 'medium' | 'bold';\n variant?: 'body' | 'title' | 'mainTitle';\n alignment?: 'left' | 'right' | 'center';\n color?: string;\n isInline?: boolean;\n isDimmed?: boolean;\n hasEllipsis?: boolean;\n noWrap?: boolean;\n ellipsisLines?: number;\n htmlTag?: 'h1' | 'h2' | 'h3' | 'h4' | 'p' | 'span' | 'div';\n children?: React.ReactNode;\n sizeMinMax?: string[];\n fontSetting?: 'tnum' | 'normal';\n /** @deprecated Usage of dclassName results in non-standard components */\n className?: string;\n}\n\ninterface TextWrapperProps extends TextProps {\n as?: string;\n}\n\nexport default Text;\n", "export const textIsDimmedDeprecated = `Lens: Text prop 'isDimmed' is deprecated, use color=\"bodyDimmed\" instead.`;\nexport const customStylesWarning = `Lens: don't apply custom styles to components, learn more: https://lens.loom.dev/guides/development-best-practices/the-risk-of-modifying-components-with-custom-styles.`;\nexport const distributeDeprecatedWarning = `Lens: Distribute component is deprecated. Use Arrange or Split.`;\nexport const layoutDeprecatedWarning = `Lens: Layout component is deprecated. Use Arrange or Split.`;\n", "import { colorsNames } from '../colors';\nimport { variants, alignments } from '../components/text/text';\nimport { pascalCaseToKebabCase } from '../utilities';\nimport { fontWeights, textSizes, shadows, radii, spaces } from '../variables';\n\nconst sides = ['top', 'bottom', 'left', 'right'];\n\nconst spacesWithZero = { 0: '0', ...spaces };\n\nconst spacesWithAutoAndZero = { 0: '0', auto: 'auto', ...spaces };\n\nexport const colorRules = colorsNames.map(colorsName => {\n return {\n selector: 'c',\n modifier: colorsName,\n declarations: [\n {\n property: 'color',\n value: `var(--lns-color-${colorsName})`,\n },\n ],\n };\n});\n\nexport const backgroundColorRules = colorsNames.map(colorsName => {\n return {\n selector: 'bgc',\n modifier: colorsName,\n declarations: [\n {\n property: 'background-color',\n value: `var(--lns-color-${colorsName})`,\n },\n ],\n };\n});\n\nexport const textSizeRules = Object.keys(textSizes).map(size => {\n return {\n selector: 'text',\n modifier: size,\n declarations: [\n {\n property: 'font-size',\n value: `var(--lns-fontSize-${size})`,\n },\n {\n property: 'line-height',\n value: `var(--lns-lineHeight-${size})`,\n },\n {\n property: 'letter-spacing',\n value: `var(--lns-letterSpacing-${size})`,\n },\n size.includes('heading-') || size.includes('xlarge')\n ? {\n property: 'font-weight',\n value: 'var(--lns-fontWeight-bold)',\n }\n : {\n property: 'font-weight',\n value: 'var(--lns-fontWeight-regular)',\n },\n ],\n };\n});\n\nexport const fontWeightRules = Object.keys(fontWeights).map(fontWeight => {\n return {\n selector: 'weight',\n modifier: fontWeight,\n declarations: [\n {\n property: 'font-weight',\n value: `var(--lns-fontWeight-${fontWeight})`,\n },\n ],\n };\n});\n\nexport const textVariantRules = Object.entries(variants).map(([key, value]) => {\n return {\n selector: 'text',\n modifier: key,\n declarations: [\n {\n property: 'font-size',\n value: `var(--lns-fontSize-${value.size})`,\n },\n {\n property: 'line-height',\n value: `var(--lns-lineHeight-${value.size})`,\n },\n {\n property: 'font-weight',\n value: `var(--lns-fontWeight-${value.fontWeight})`,\n },\n ],\n };\n});\n\nexport const textAlignmentRules = alignments.map(alignment => {\n return {\n selector: 'text',\n modifier: alignment,\n declarations: [\n {\n property: 'text-align',\n value: alignment,\n },\n ],\n };\n});\n\nexport const shadowRules = Object.keys(shadows).map(shadow => {\n return {\n selector: 'shadow',\n modifier: shadow,\n declarations: [\n {\n property: 'box-shadow',\n value: `var(--lns-shadow-${shadow})`,\n },\n ],\n };\n});\n\nexport const radiiRules = Object.keys(radii).map(radius => {\n return {\n selector: 'radius',\n modifier: radius,\n declarations: [\n {\n property: 'border-radius',\n value: `var(--lns-radius-${radius})`,\n },\n ],\n };\n});\n\nexport const getSpacingSelectors = (property, sides, spaces, shortSides) => {\n const result = [];\n\n sides.map(side => {\n const sideString = shortSides\n ? `${property.charAt(0)}${side.charAt(0)}`\n : side;\n\n Object.keys(spaces).map(space => {\n result.push({\n selector: sideString,\n property: `${property}${\n side && property ? `-${side}` : side ? side : ''\n }`,\n modifier: space,\n value:\n space === 'auto' || space === '0'\n ? space\n : `var(--lns-space-${space})`,\n });\n });\n });\n\n return result;\n};\n\nexport const marginRules = Object.values(\n getSpacingSelectors(\n 'margin',\n ['', ...sides],\n spacesWithAutoAndZero,\n 'shortSides'\n )\n).map(spaceSelector => {\n return {\n selector: spaceSelector.selector,\n modifier: spaceSelector.modifier,\n declarations: [\n {\n property: spaceSelector.property,\n value: spaceSelector.value,\n },\n ],\n };\n});\n\nexport const marginCrossRules = Object.values(\n getSpacingSelectors('margin', ['x', 'y'], spacesWithAutoAndZero, 'shortSides')\n).map(spaceSelector => {\n return {\n selector: spaceSelector.selector,\n modifier: spaceSelector.modifier,\n declarations: [\n {\n property:\n spaceSelector.property === 'margin-x' ? 'margin-left' : 'margin-top',\n value: spaceSelector.value,\n },\n {\n property:\n spaceSelector.property === 'margin-x'\n ? 'margin-right'\n : 'margin-bottom',\n value: spaceSelector.value,\n },\n ],\n };\n});\n\nexport const paddingRules = Object.values(\n getSpacingSelectors('padding', ['', ...sides], spacesWithZero, 'shortSides')\n).map(spaceSelector => {\n return {\n selector: spaceSelector.selector,\n modifier: spaceSelector.modifier,\n declarations: [\n {\n property: spaceSelector.property,\n value: spaceSelector.value,\n },\n ],\n };\n});\n\nexport const paddingCrossRules = Object.values(\n getSpacingSelectors('padding', ['x', 'y'], spacesWithZero, 'shortSides')\n).map(spaceSelector => {\n return {\n selector: spaceSelector.selector,\n modifier: spaceSelector.modifier,\n declarations: [\n {\n property:\n spaceSelector.property === 'padding-x'\n ? 'padding-left'\n : 'padding-top',\n value: spaceSelector.value,\n },\n {\n property:\n spaceSelector.property === 'padding-x'\n ? 'padding-right'\n : 'padding-bottom',\n value: spaceSelector.value,\n },\n ],\n };\n});\n\nexport const borderRules = ['', ...sides].map(side => {\n const selector =\n 'border' + side.replace(side.charAt(0), side.charAt(0).toUpperCase());\n\n const property = `border${side && `-${side}`}`;\n\n return {\n selector,\n declarations: [\n {\n property,\n value: `1px solid var(--lns-color-border)`,\n },\n ],\n };\n});\n\nconst displayOptions = [\n 'inline',\n 'block',\n 'flex',\n 'inlineBlock',\n 'inlineFlex',\n 'none',\n];\n\nexport const displayRules = displayOptions.map(displayOption => {\n return {\n selector: displayOption,\n declarations: [\n {\n property: 'display',\n value: pascalCaseToKebabCase(displayOption),\n },\n ],\n };\n});\n\nexport const flexWrapRules = [\n {\n selector: 'flexWrap',\n declarations: [\n {\n property: 'flex-wrap',\n value: 'wrap',\n },\n ],\n },\n];\n\nconst flexDirections = ['column', 'row'];\n\nexport const flexDirectionRules = flexDirections.map(flexDirection => {\n return {\n selector: 'flexDirection',\n modifier: flexDirection,\n declarations: [\n {\n property: 'flex-direction',\n value: flexDirection,\n },\n ],\n };\n});\n\nconst flexItemOptions = [\n 'stretch',\n 'center',\n 'baseline',\n 'flexStart',\n 'flexEnd',\n 'selfStart',\n 'selfEnd',\n];\n\nexport const flexItemRules = flexItemOptions.map(flexItemOption => {\n return {\n selector: 'items',\n modifier: flexItemOption,\n declarations: [\n {\n property: 'align-items',\n value: pascalCaseToKebabCase(flexItemOption),\n },\n ],\n };\n});\n\nconst justifyContentOptions = [\n 'flexStart',\n 'flexEnd',\n 'center',\n 'spaceBetween',\n 'spaceAround',\n 'spaceEvenly',\n];\n\nexport const JustifyContentRules = justifyContentOptions.map(\n justifyContentOption => {\n return {\n selector: 'justify',\n modifier: justifyContentOption,\n declarations: [\n {\n property: 'justify-content',\n value: pascalCaseToKebabCase(justifyContentOption),\n },\n ],\n };\n }\n);\n\nconst growOptions = ['0', '1'];\n\nexport const growRules = growOptions.map(growOption => {\n return {\n selector: 'grow',\n modifier: growOption,\n declarations: [\n {\n property: 'flex-grow',\n value: growOption,\n },\n ],\n };\n});\n\nconst shrinkOptions = ['0', '1'];\n\nexport const shrinkRules = shrinkOptions.map(shrinkOption => {\n return {\n selector: 'shrink',\n modifier: shrinkOption,\n declarations: [\n {\n property: 'flex-shrink',\n value: shrinkOption,\n },\n ],\n };\n});\n\nconst alignSelfOptions = [\n 'auto',\n 'flexStart',\n 'flexEnd',\n 'center',\n 'baseline',\n 'stretch',\n];\n\nexport const alignSelfRules = alignSelfOptions.map(alignSelfOption => {\n return {\n selector: 'self',\n modifier: alignSelfOption,\n declarations: [\n {\n property: 'align-self',\n value: pascalCaseToKebabCase(alignSelfOption),\n },\n ],\n };\n});\n\nconst overflowOptions = ['hidden', 'auto'];\n\nexport const overflowRules = overflowOptions.map(overflowOption => {\n return {\n selector: 'overflow',\n modifier: overflowOption,\n declarations: [\n {\n property: 'overflow',\n value: overflowOption,\n },\n ],\n };\n});\n\nconst positionOptions = ['relative', 'absolute', 'sticky', 'fixed'];\n\nexport const positionRules = positionOptions.map(positionOption => {\n return {\n selector: positionOption,\n declarations: [\n {\n property: 'position',\n value: positionOption,\n },\n ],\n };\n});\n\nexport const sidePositionRules = Object.values(\n getSpacingSelectors('', sides, spacesWithAutoAndZero)\n).map(spaceSelector => {\n return {\n selector: spaceSelector.selector,\n modifier: spaceSelector.modifier,\n declarations: [\n {\n property: spaceSelector.property,\n value: spaceSelector.value,\n },\n ],\n };\n});\n\nconst widthOptions = ['auto', 'full', '0'];\n\nexport const widthRules = widthOptions.map(widthOption => {\n return {\n selector: 'width',\n modifier: widthOption,\n declarations: [\n {\n property: 'width',\n value: widthOption === 'full' ? '100%' : widthOption,\n },\n ],\n };\n});\n\nexport const minWidthRules = [\n {\n selector: 'minWidth',\n modifier: '0',\n declarations: [\n {\n property: 'min-width',\n value: '0',\n },\n ],\n },\n];\n\nconst heightOptions = ['auto', 'full', '0'];\n\nexport const heightRules = heightOptions.map(heightOption => {\n return {\n selector: 'height',\n modifier: heightOption,\n declarations: [\n {\n property: 'height',\n value: heightOption === 'full' ? '100%' : heightOption,\n },\n ],\n };\n});\n\nexport const ellipsisRules = [\n {\n selector: 'ellipsis',\n declarations: [\n {\n property: 'overflow',\n value: 'hidden',\n },\n {\n property: 'text-overflow',\n value: 'ellipsis',\n },\n {\n property: 'white-space',\n value: 'nowrap',\n },\n ],\n },\n];\n\nexport const accessibilityRules = [\n {\n selector: 'srOnly',\n declarations: [\n { property: 'position', value: 'absolute' },\n { property: 'width', value: '1px' },\n { property: 'height', value: '1px' },\n { property: 'padding', value: '0' },\n { property: 'margin', value: '-1px' },\n { property: 'overflow', value: 'hidden' },\n { property: 'clip', value: 'rect(0, 0, 0, 0)' },\n { property: 'white-space', value: 'nowrap' },\n { property: 'border-width', value: '0' },\n ],\n },\n];\n", "import { breakpoints } from '../variables';\n\nimport {\n colorRules,\n shadowRules,\n radiiRules,\n backgroundColorRules,\n marginRules,\n marginCrossRules,\n paddingRules,\n paddingCrossRules,\n textSizeRules,\n fontWeightRules,\n textVariantRules,\n textAlignmentRules,\n borderRules,\n displayRules,\n flexWrapRules,\n flexDirectionRules,\n flexItemRules,\n JustifyContentRules,\n growRules,\n shrinkRules,\n alignSelfRules,\n overflowRules,\n positionRules,\n sidePositionRules,\n widthRules,\n minWidthRules,\n heightRules,\n ellipsisRules,\n accessibilityRules,\n} from './rules';\n\nconst separator = '\\\\:';\n\nconst allRules = [\n ...colorRules,\n ...shadowRules,\n ...radiiRules,\n ...backgroundColorRules,\n ...marginRules,\n ...marginCrossRules,\n ...paddingRules,\n ...paddingCrossRules,\n ...textSizeRules,\n ...fontWeightRules,\n ...textVariantRules,\n ...textAlignmentRules,\n ...borderRules,\n ...displayRules,\n ...flexWrapRules,\n ...flexDirectionRules,\n ...flexItemRules,\n ...JustifyContentRules,\n ...growRules,\n ...shrinkRules,\n ...alignSelfRules,\n ...overflowRules,\n ...positionRules,\n ...sidePositionRules,\n ...widthRules,\n ...minWidthRules,\n ...heightRules,\n ...ellipsisRules,\n ...accessibilityRules,\n];\n\nexport const objectToRuleset = (rules, prefix) => {\n const result = [];\n const prefixString = prefix ? `${prefix}-` : '';\n\n rules.map(rule => {\n const declarations = [];\n\n rule.declarations.map(declaration => {\n declarations.push(`${declaration.property}:${declaration.value}`);\n });\n\n const string = `.${prefixString}${rule.selector}${\n rule.modifier ? separator : ''\n }${rule.modifier ? rule.modifier : ''}{${declarations.join(';')}}`;\n\n result.push(string);\n });\n\n return result.join('');\n};\n\nexport const shortBreakpoints = {\n xs: breakpoints.xsmall,\n sm: breakpoints.small,\n md: breakpoints.medium,\n lg: breakpoints.large,\n};\n\nexport const cssUtilities = () => {\n const getRulesetsInMedia = () => {\n const result = [];\n\n result.push(`${objectToRuleset(allRules)}`);\n\n Object.entries(shortBreakpoints).map(([key, value]) => {\n result.push(\n `@media(min-width:${value}){${objectToRuleset(allRules, key)}}`\n );\n });\n\n return result.join('');\n };\n\n return getRulesetsInMedia();\n};\n", "import { hslaBaseColors, hslaColors, hslaGreys, themeColors } from '../colors';\n\nimport { u } from '../utilities';\nimport {\n fontWeights,\n fontSettings,\n radii,\n shadows,\n spaces,\n textSizes,\n unit,\n gradients,\n} from '../variables';\n\ntype VarsObject = Record<string, string | number>;\n\nexport const getCssVarsFromObject = (\n prefix: string,\n varsObject: VarsObject\n): VarsObject => {\n const resultObj = {};\n\n Object.entries(varsObject).forEach(([varName, varValue]) => {\n const namePrefix = prefix ? `${prefix}-` : '';\n const value = `--lns-${namePrefix + varName}`;\n\n resultObj[value] = varValue;\n });\n\n return resultObj;\n};\n\nconst getTextSizesObject = (): VarsObject => {\n const resultObj = {};\n\n Object.entries(textSizes).forEach(([textSizeKey, textSizeValue]) => {\n const fontSizesObj = {};\n const lineHeightsObj = {};\n const letterSpacingObj = {};\n const fontSizeValue = `fontSize-${textSizeKey}`;\n const lineHeightValue = `lineHeight-${textSizeKey}`;\n const letterSpacingValue = `letterSpacing-${textSizeKey}`;\n\n fontSizesObj[fontSizeValue] = u(textSizeValue.fontSize);\n fontSizesObj[lineHeightValue] = textSizeValue.lineHeight;\n fontSizesObj[letterSpacingValue] = textSizeValue.letterSpacing;\n\n Object.assign(resultObj, fontSizesObj, lineHeightsObj, letterSpacingObj);\n });\n\n return resultObj;\n};\n\nconst getSpacesObject = (): VarsObject => {\n const resultObj = {};\n\n Object.entries(spaces).forEach(([spaceName, spaceValue]) => {\n const value = `space-${spaceName}`;\n\n resultObj[value] = u(spaceValue);\n });\n\n return resultObj;\n};\n\nconst getColorsObject = (): VarsObject => {\n const colorsObject = {};\n\n Object.keys({ ...hslaBaseColors, ...hslaGreys }).forEach(name => {\n const value = name;\n\n colorsObject[value] =\n `hsla(${hslaColors[name].h},${hslaColors[name].s}%,${hslaColors[name].l}%,${hslaColors[name].a})`;\n });\n\n return colorsObject;\n};\n\nconst getThemeColorsObject = (): VarsObject => {\n const reducer = (colors, prefix) =>\n Object.keys(colors).reduce((accumulator, name) => {\n const color = colors[name];\n const value = `${prefix}-color-${name}`;\n\n accumulator[value] = color.ads\n ? `var(${color.ads}, hsla(${color.h},${color.s}%,${color.l}%,${color.a}))`\n : `hsla(${color.h},${color.s}%,${color.l}%,${color.a})`;\n\n return accumulator;\n }, {});\n\n return {\n ...reducer(themeColors.light, 'themeLight'),\n ...reducer(themeColors.dark, 'themeDark'),\n };\n};\n\nexport const unitVariables = getCssVarsFromObject(undefined, {\n unit: `${unit / 16}rem`,\n});\n\nexport const fontWeightVariables = getCssVarsFromObject(\n 'fontWeight',\n fontWeights\n);\n\nexport const fontSettingVariables = getCssVarsFromObject(\n 'fontSetting',\n fontSettings\n);\n\nexport const textSizeVariables = getCssVarsFromObject(\n undefined,\n getTextSizesObject()\n);\n\nexport const radiusVariables = getCssVarsFromObject('radius', radii);\n\nexport const shadowVariables = getCssVarsFromObject('shadow', shadows);\n\nexport const spaceVariables = getCssVarsFromObject(\n undefined,\n getSpacesObject()\n);\n\nexport const formFieldVariables = getCssVarsFromObject(undefined, {\n formFieldBorderWidth: '1px',\n formFieldBorderWidthFocus: '2px',\n formFieldHeight: u(4.5),\n formFieldRadius: 'var(--lns-radius-175)',\n formFieldHorizontalPadding: u(2),\n formFieldBorderShadow: `\n inset 0 0 0 var(--lns-formFieldBorderWidth) var(--lns-color-formFieldBorder)\n `,\n formFieldBorderShadowFocus: `\n inset 0 0 0 var(--lns-formFieldBorderWidthFocus) var(--lns-color-blurple),\n 0 0 0 var(--lns-formFieldBorderWidthFocus) var(--lns-color-focusRing)\n `,\n formFieldBorderShadowError: `\n inset 0 0 0 var(--lns-formFieldBorderWidthFocus) var(--lns-color-danger),\n 0 0 0 var(--lns-formFieldBorderWidthFocus) var(--lns-color-orangeLight)\n `,\n});\n\nconst colorVariables = getCssVarsFromObject('color', getColorsObject());\n\nconst themeColorVariables = getCssVarsFromObject(\n undefined,\n getThemeColorsObject()\n);\n\nexport const gradientVariables = getCssVarsFromObject('gradient', gradients);\n\nconst sizingVariables = [\n unitVariables,\n textSizeVariables,\n radiusVariables,\n shadowVariables,\n spaceVariables,\n formFieldVariables,\n];\n\nexport const getSizingVariablesCssVarsObject = (): VarsObject => {\n return Object.assign({}, ...sizingVariables);\n};\n\nexport const getVariablesCssVarsObject = (): VarsObject => {\n return Object.assign(\n {},\n fontWeightVariables,\n ...sizingVariables,\n fontSettingVariables\n );\n};\n\nexport const getColorsCssVarsObject = (): VarsObject => {\n return {\n ...colorVariables,\n ...themeColorVariables,\n ...gradientVariables,\n };\n};\n\nconst assignLightThemeColors = () => {\n return Object.keys(themeColors.light).map(\n color => `--lns-color-${color}: var(--lns-themeLight-color-${color});`\n );\n};\nconst assignDarkThemeColors = () => {\n return Object.keys(themeColors.dark).map(\n color => `--lns-color-${color}: var(--lns-themeDark-color-${color});`\n );\n};\n\nexport const getThemeStylesString = (customRootElement = ':root') => {\n const rootElement = customRootElement || ':root';\n\n return `\n ${rootElement},\n .theme-light,\n [data-lens-theme=\"light\"] {\n ${assignLightThemeColors().join('')}\n }\n\n .theme-dark,\n [data-lens-theme=\"dark\"] {\n ${assignDarkThemeColors().join('')}\n }\n `;\n};\n\nexport const getThemeStyles = () => {\n const style = document.createElement('style');\n\n style.innerHTML = getThemeStylesString();\n document.head.appendChild(style);\n};\n\nexport const getSizingCssVarsDeclarations = () => {\n const result = Object.entries(getSizingVariablesCssVarsObject()).map(\n cssVar => `${cssVar[0]}:${cssVar[1]};`\n );\n\n return result.join('');\n};\n\nexport const getAllCssVarsString = customRootElement => {\n const result = [];\n const rootElement = customRootElement || ':root';\n\n Object.entries(getVariablesCssVarsObject()).forEach(cssVar => {\n result.push(`${cssVar[0]}:${cssVar[1]};`);\n });\n\n Object.entries(getColorsCssVarsObject()).forEach(cssVar => {\n result.push(`${cssVar[0]}:${cssVar[1]};`);\n });\n\n return `\n ${rootElement} {\n ${result.join('')}\n }\n `;\n};\n", "import styled from '@emotion/styled';\nimport React from 'react';\n\nimport { LensSpanProps } from '../../types';\nimport { getRadius, getSizeValue, u } from '../../utilities';\n\nexport type AvatarColor = 'orange' | 'blue' | 'yellow' | 'teal';\n\nconst getColorMapping = (color: AvatarColor) => {\n switch (color) {\n case 'orange':\n return {\n background: 'orangeLight',\n text: 'dangerHover',\n };\n case 'blue':\n return {\n background: 'blueLight',\n text: 'blueDark',\n };\n case 'yellow':\n return {\n background: 'yellowLight',\n text: '#9E4C00',\n };\n case 'teal':\n return {\n background: 'tealLight',\n text: 'tealDark',\n };\n default:\n return {\n background: 'orangeLight',\n text: 'dangerHover',\n };\n }\n};\n\nconst getLetterSize = wrapperSize => `calc(${wrapperSize} / 2)`;\n\nconst getAvatarSize = avatarSize => {\n let width;\n let height;\n\n if (avatarSize === 'medium') {\n width = u(4);\n height = u(4);\n } else if (avatarSize === 'large') {\n width = u(7);\n height = u(7);\n } else {\n const sizeValue = getSizeValue(avatarSize);\n\n width = sizeValue;\n height = sizeValue;\n }\n\n const fontSize = getLetterSize(width);\n\n return {\n width,\n height,\n fontSize,\n };\n};\nconst AvatarWrapper = styled.span<\n AvatarWrapperProps & { backgroundColor?: string; color?: string }\n>`\n display: block;\n color: ${props =>\n props.color\n ? props.color.startsWith('#')\n ? props.color\n : `var(--lns-color-${props.color})`\n : 'var(--lns-color-blueLight)'};\n background-color: var(--lns-color-background);\n ${getRadius('full')};\n overflow: hidden;\n display: flex;\n align-items: center;\n justify-content: center;\n line-height: 1;\n font-weight: var(--lns-fontWeight-bold);\n width: ${props => {\n const { width } = getAvatarSize(props.size);\n\n return width;\n }};\n height: ${props => {\n const { height } = getAvatarSize(props.size);\n\n return height;\n }};\n font-size: ${props => {\n const { fontSize } = getAvatarSize(props.size);\n\n return fontSize;\n }};\n position: relative;\n z-index: 0;\n\n &:after {\n content: '';\n width: 100%;\n height: 100%;\n position: absolute;\n left: 0;\n top: 0;\n z-index: -1;\n background-color: ${props =>\n props.hasBackgroundColor &&\n (props.backgroundColor\n ? `var(--lns-color-${props.backgroundColor})`\n : 'var(--lns-color-orange)')};\n }\n`;\n\nconst AvatarImage = styled.img<AvatarProps>`\n max-width: 100%;\n width: ${props => {\n const { width } = getAvatarSize(props.size);\n\n return width;\n }};\n height: ${props => {\n const { height } = getAvatarSize(props.size);\n\n return height;\n }};\n font-size: ${props => {\n const { fontSize } = getAvatarSize(props.size);\n\n return fontSize;\n }};\n`;\n\nconst Avatar = ({\n altText = '',\n size = 4,\n letter,\n imageSrc,\n children,\n themeColor = 'blue',\n ...props\n}: AvatarProps &\n React.ComponentProps<typeof AvatarWrapper> &\n Omit<\n LensSpanProps,\n keyof AvatarProps & React.ComponentProps<typeof AvatarWrapper>\n >) => {\n const getContent = () => {\n if (children) {\n return children;\n }\n\n if (imageSrc) {\n const height = getAvatarSize(size).height;\n const width = getAvatarSize(size).width;\n\n return (\n <AvatarImage\n size={size}\n alt={altText}\n src={imageSrc}\n height={height}\n width={width}\n />\n );\n }\n\n if (letter) {\n if (altText) {\n return <span aria-label={altText}>{letter}</span>;\n }\n\n return letter;\n }\n };\n\n const hasBackgroundColor = letter && !imageSrc && !children;\n const colorMapping = getColorMapping(themeColor || 'blue');\n\n return (\n <AvatarWrapper\n hasBackgroundColor={hasBackgroundColor}\n size={size}\n backgroundColor={colorMapping.background}\n color={colorMapping.text}\n {...props}\n >\n {getContent()}\n </AvatarWrapper>\n );\n};\n\ntype AvatarProps = {\n altText?: string;\n letter?: string;\n imageSrc?: string;\n size?: string | number;\n children?: React.ReactNode;\n height?: number;\n width?: number;\n hasBackgroundColor?: boolean;\n backgroundColor?: string;\n themeColor?: AvatarColor;\n};\n\ntype AvatarWrapperProps = {\n size?: string | number;\n hasBackgroundColor?: boolean;\n themeColor?: AvatarColor;\n};\n\nexport default Avatar;\n", "import { Global, css } from '@emotion/react';\n\nimport React from 'react';\n\nimport { cssUtilities } from '../../css-utilities';\nimport { getAllCssVarsString, getThemeStylesString } from '../../css-variables';\nimport { getColorValue, getTextSize } from '../../utilities';\n\nconst buildGlobalStylesheet = (\n rootElement = ':root',\n bodyElement = 'body',\n documentElement = 'html'\n) => {\n return `\n ${rootElement} {\n font-size: 100%;\n }\n ${bodyElement} {\n --lns-fontFamily-body: \"Atlassian Sans\", ui-sans-serif, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Ubuntu, system-ui, \"Helvetica Neue\", sans-serif;\n --lns-fontFamily-heading: \"Atlassian Sans\", ui-sans-serif, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Ubuntu, system-ui, \"Helvetica Neue\", sans-serif;\n --lns-fontFamily-code: \"Atlassian Mono\", ui-monospace, Menlo, \"Segoe UI Mono\", \"Ubuntu Mono\", monospace;\n\n font-family: var(--lns-fontFamily-body);\n color: var(--ds-text, ${getColorValue('body')});\n ${getTextSize('body-md')};\n }\n\n ${bodyElement} *,\n ${bodyElement} *:before,\n ${bodyElement} *:after {\n box-sizing: border-box;\n }\n\n ${bodyElement} * {\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n }\n\n ${getThemeStylesString(rootElement)}\n\n ${getAllCssVarsString(rootElement)}\n\n ${cssUtilities()}\n\n ${documentElement}[data-brand-color=\"blue\"] {\n --lns-color-blurpleLight: #E9F2FE;\n --lns-color-blurpleMedium: #CFE1FD;\n --lns-color-blurple: #1868DB;\n --lns-color-blurpleDark: #1558BC;\n --lns-color-blurpleStrong: #123263;\n\n --lns-color-backdropTwilight: hsla(216, 69%, 23%, 0.8);\n --lns-color-highlight: hsla(215, 80%, 48%, 0.15);\n\n --lns-gradient-ai-primary: conic-gradient(from 270deg, #0469FF 90deg, #BF63F3 180deg, #FFA900 270deg, #0065FF 360deg);\n --lns-gradient-ai-secondary: radial-gradient(138.41% 100% at 100% 100%, #E9F2FE 0%, #FFF 100%);\n }\n\n ${documentElement}[data-color-mode=\"light\"][data-brand-color=\"blue\"],\n ${documentElement}[data-brand-color=\"blue\"] [data-lens-theme=\"light\"],\n ${documentElement}[data-brand-color=\"blue\"] .brand-theme-light {\n --lns-themeLight-color-primary: #1868DB;\n --lns-themeLight-color-primaryHover: #1558BC;\n --lns-themeLight-color-primaryActive: #123263;\n --lns-themeLight-color-focusRing: #4688EC;\n }\n\n ${documentElement}[data-color-mode=\"dark\"][data-brand-color=\"blue\"],\n ${documentElement}[data-brand-color=\"blue\"] [data-lens-theme=\"dark\"],\n ${documentElement}[data-brand-color=\"blue\"] .brand-theme-dark {\n --lns-themeDark-color-primary: #669DF1;\n --lns-themeDark-color-primaryHover: #8FB8F6;\n --lns-themeDark-color-primaryActive: #CFE1FD;\n --lns-themeDark-color-focusRing: #8FB8F6;\n }\n `;\n};\n\nconst BaseStyles = () => <Global styles={css(buildGlobalStylesheet())} />;\n\nexport default BaseStyles;\nexport { BaseStyles, buildGlobalStylesheet };\n", "import { css } from '@emotion/react';\nimport styled from '@emotion/styled';\nimport React, { useCallback } from 'react';\n\nimport traceUFOPress from '@atlaskit/react-ufo/trace-press';\n\nimport { LensButtonProps } from '../../types';\nimport {\n getColorValue,\n getFocusRing,\n getOffsetFocusRing,\n getFontWeight,\n getSize,\n getTextSize,\n u,\n} from '../../utilities';\n\nimport Icon from '../icon/icon';\nimport Loader from '../loader/loader';\nimport { shadows } from 'src/variables';\n\nconst sizesStyles = {\n small: {\n height: u(4),\n textSize: 'small',\n iconSize: 2,\n xSpace: u(1.5),\n radius: 'var(--lns-radius-150)',\n },\n medium: {\n height: u(4.5),\n textSize: 'medium',\n iconSize: 3,\n xSpace: u(2),\n radius: 'var(--lns-radius-175)',\n },\n large: {\n height: u(7),\n textSize: 'large',\n iconSize: 4,\n xSpace: u(2.5),\n radius: 'var(--lns-radius-250)',\n },\n};\n\nconst hasLoaderStyles = props => css`\n ${props.hasLoader && `display: none`};\n`;\n\nconst variantStyles = {\n neutral: {\n color: getColorValue('body'),\n background: 'transparent',\n borderColor: getColorValue('buttonBorder'),\n hover: getColorValue('backgroundHover'),\n active: getColorValue('backgroundActive'),\n floatingBackground: getColorValue('overlay'),\n floatingHover: getColorValue('overlayHover'),\n floatingActive: getColorValue('overlayActive'),\n },\n neutralSecondary: {\n color: getColorValue('body'),\n background: getColorValue('backgroundNeutral'),\n borderColor: null,\n hover: getColorValue('backgroundNeutralHover'),\n active: getColorValue('backgroundNeutralActive'),\n },\n primary: {\n color: getColorValue('white'),\n background: getColorValue('blurple'),\n borderColor: null,\n hover: getColorValue('primaryHover'),\n active: getColorValue('primaryActive'),\n },\n secondary: {\n color: getColorValue('primary'),\n background: getColorValue('highlight'),\n borderColor: null,\n hover: getColorValue('blurpleMedium'),\n active: null,\n },\n record: {\n color: getColorValue('white'),\n background: getColorValue('record'),\n borderColor: null,\n hover: getColorValue('recordHover'),\n active: getColorValue('recordActive'),\n },\n upgrade: {\n color: getColorValue('body'),\n background: getColorValue('upgrade'),\n borderColor: null,\n hover: getColorValue('upgradeHover'),\n active: getColorValue('upgradeActive'),\n focusRing: getFocusRing(),\n },\n danger: {\n color: getColorValue('bodyInverse'),\n background: getColorValue('danger'),\n borderColor: null,\n hover: getColorValue('dangerHover'),\n active: getColorValue('dangerActive'),\n },\n ai: {\n color: getColorValue('white'),\n background: getColorValue('ai-primary'),\n borderColor: null,\n hover: null,\n active: null,\n },\n};\n\nconst statusStyles = props => ({\n enabled: css`\n cursor: pointer;\n `,\n disabled: css`\n ${props.ariaDisabled && `aria-disabled: true`};\n pointer-events: none;\n background-color: ${getColorValue('disabledBackground')};\n color: ${getColorValue('disabledContent')};\n border: none;\n `,\n});\n\nconst iconGap = u(1);\n\nconst ButtonWrapper = styled.button<ButtonWrapperProps>`\n appearance: none;\n padding: 0\n ${props => (props.hasChildren ? sizesStyles[props.size].xSpace : 0)};\n font: inherit;\n text-decoration: none;\n transition:\n 0.6s background,\n 0.6s border-color;\n align-items: center;\n justify-content: center;\n vertical-align: middle;\n white-space: nowrap;\n ${getFontWeight('bold')};\n border-radius: ${props => sizesStyles[props.size].radius};\n ${props =>\n props.hasFullWidth ? 'display: flex; width: 100%' : 'display: inline-flex'};\n height: ${props => sizesStyles[props.size].height};\n height: ${props => sizesStyles[props.size].height};\n min-width: ${props => sizesStyles[props.size].height};\n ${props => getTextSize(sizesStyles[props.size].textSize)};\n ${props => props.isFloating && `box-shadow: ${shadows.medium}`};\n ${props =>\n props.disabled\n ? statusStyles(props).disabled\n : statusStyles(props).enabled};\n ${props =>\n !props.disabled &&\n `\n border: ${\n variantStyles[props.variant].borderColor\n ? `1px solid ${variantStyles[props.variant].borderColor}`\n : 'none'\n };\n background: ${\n props.isFloating && props.variant === 'neutral'\n ? variantStyles[props.variant].floatingBackground\n : variantStyles[props.variant].background\n };\n background-position: left;\n background-size: 125%;\n color: ${variantStyles[props.variant].color};\n `};\n\n &:hover {\n transition:\n 0.3s background,\n 0.3s border-color;\n background: ${props =>\n props.isFloating && props.variant === 'neutral'\n ? variantStyles[props.variant].floatingHover\n : variantStyles[props.variant].hover};\n background-position: 75% center;\n }\n\n &:active {\n transition:\n 0s background,\n 0s border-color;\n background: ${props =>\n props.isFloating && props.variant === 'neutral'\n ? variantStyles[props.variant].floatingActive\n : variantStyles[props.variant].active};\n background-position: right;\n }\n\n &:focus-visible {\n ${getOffsetFocusRing()};\n }\n\n &::-moz-focus-inner {\n border: 0;\n }\n`;\n\nconst IconSection = styled.span<{\n paddingLeft: string;\n paddingRight: string;\n hasLoader: boolean;\n}>`\n ${props => getSize('padding-left', props.paddingLeft)};\n ${props => getSize('padding-right', props.paddingRight)};\n ${hasLoaderStyles};\n`;\n\nconst LogoImage = styled.img<{\n size: 'small' | 'medium' | 'large';\n hasSpacing: boolean;\n hasLoader: boolean;\n}>`\n max-width: 1.45em;\n max-height: 1.45em;\n height: ${props => sizesStyles[props.size].height};\n width: ${props => sizesStyles[props.size].height};\n ${props => props.hasSpacing && `margin-right: 0.57em`};\n ${hasLoaderStyles};\n`;\n\nconst LoaderSection = styled.span`\n position: relative;\n display: flex;\n align-items: center;\n`;\n\nconst ChildrenSection = styled.span<{ hasLoader: boolean }>`\n ${hasLoaderStyles};\n`;\n\nconst Button = ({\n size = 'medium',\n children,\n variant = 'neutral',\n hasFullWidth,\n icon,\n iconPosition = 'left',\n iconBefore,\n iconAfter,\n logoSrc,\n hasLoader,\n isDisabled,\n ariaDisabled,\n htmlTag = 'button',\n interactionName,\n onClick,\n refHandler,\n ...props\n}: ButtonProps &\n React.ComponentProps<typeof ButtonWrapper> &\n Omit<\n LensButtonProps,\n keyof ButtonProps & React.ComponentProps<typeof ButtonWrapper>\n >) => {\n const legacyIconLeft = icon && iconPosition === 'left' ? icon : null;\n const iconBeforeElement =\n iconBefore || legacyIconLeft ? (\n <IconSection\n hasLoader={hasLoader}\n paddingLeft=\"0\"\n paddingRight={children ? iconGap : '0'}\n >\n <Icon\n icon={iconBefore || legacyIconLeft}\n color=\"currentColor\"\n size={sizesStyles[size].iconSize}\n />\n </IconSection>\n ) : null;\n const legacyIconRight = icon && iconPosition === 'right' ? icon : null;\n const iconAfterElement =\n iconAfter || legacyIconRight ? (\n <IconSection\n hasLoader={hasLoader}\n paddingLeft={children ? iconGap : '0'}\n paddingRight=\"unset\"\n >\n <Icon\n icon={legacyIconRight || iconAfter}\n color=\"currentColor\"\n size={sizesStyles[size].iconSize}\n />\n </IconSection>\n ) : null;\n\n const onClickWithPressTracing = useCallback(\n (event: React.MouseEvent<HTMLButtonElement>) => {\n if (interactionName) {\n traceUFOPress(interactionName);\n }\n onClick?.(event);\n },\n [onClick, interactionName]\n );\n\n return (\n <ButtonWrapper\n size={size}\n variant={variant}\n hasFullWidth={hasFullWidth}\n icon={icon}\n iconPosition={iconPosition}\n logoSrc={logoSrc}\n disabled={isDisabled}\n ariaDisabled={ariaDisabled}\n as={htmlTag}\n hasChildren={children}\n ref={ref => refHandler && refHandler(ref)}\n {...props}\n onClick={\n interactionName === undefined ? onClick : onClickWithPressTracing\n }\n >\n {hasLoader && (\n <LoaderSection>\n <Loader color=\"currentColor\" />\n </LoaderSection>\n )}\n {iconBeforeElement}\n {logoSrc && (\n <LogoImage\n // Assumes image is only referencing information written within the button.\n alt=\"\"\n hasSpacing={Boolean(children)}\n src={logoSrc}\n size={size}\n // Assumes all images are 1:1 aspectRatio\n height={sizesStyles[size].height}\n width={sizesStyles[size].height}\n hasLoader={hasLoader}\n />\n )}\n <ChildrenSection hasLoader={hasLoader}>{children}</ChildrenSection>\n {iconAfterElement}\n </ButtonWrapper>\n );\n};\n\ntype Variant =\n | 'neutral'\n | 'neutralSecondary'\n | 'primary'\n | 'secondary'\n | 'record'\n | 'upgrade'\n | 'danger'\n | 'ai';\n\ninterface ButtonProps {\n size?: 'small' | 'medium' | 'large';\n variant?: Variant;\n children?: React.ReactNode;\n isDisabled?: boolean;\n ariaDisabled?: boolean;\n hasFullWidth?: boolean;\n /** @deprecated Use iconBefore or iconAfter instead */\n icon?: React.ReactNode;\n /** @deprecated Use iconBefore or iconAfter instead */\n iconPosition?: 'left' | 'right';\n iconBefore?: React.ReactNode;\n iconAfter?: React.ReactNode;\n logoSrc?: string;\n onClick?: React.MouseEventHandler<HTMLButtonElement>;\n hasLoader?: boolean;\n isFloating?: boolean;\n htmlTag?: 'button' | 'a';\n href?: string;\n download?: string;\n target?: string;\n type?: string;\n refHandler?: (ref: HTMLButtonElement) => void;\n /** Used to enable press tracing. See more at https://developer.atlassian.com/platform/ufo/react-ufo/react-ufo/press-interactions/#implementation */\n interactionName?: string;\n /** @deprecated Usage of className results in non-standard components */\n className?: string;\n /** @deprecated Usage of style results in non-standard components */\n style?: any;\n}\n\ninterface ButtonWrapperProps {\n hasNoPaddingRight?: boolean;\n hasNoPaddingLeft?: boolean;\n size?: 'small' | 'medium' | 'large';\n variant?: Variant;\n hasFullWidth?: boolean;\n icon?: React.ReactNode;\n iconPosition?: 'left' | 'right';\n iconBefore?: React.ReactNode;\n iconAfter?: React.ReactNode;\n logoSrc?: string;\n as?: string;\n disabled?: boolean;\n ariaDisabled?: boolean;\n buttonPadding?: number | string;\n hasChildren?: React.ReactNode;\n isFloating?: boolean;\n}\n\nexport const availableSizes = Object.keys(sizesStyles);\nexport const availableVariants = Object.keys(variantStyles);\nexport const availableHtmlTags = ['button', 'a'];\nexport const availableIconPositions = ['left', 'right'];\n\nexport default Button;\n", "import styled from '@emotion/styled';\nimport React from 'react';\n\nimport { LensSpanProps } from '../../types';\nimport { getColorValue, getSize, SizeProp } from '../../utilities';\n\nconst defaultIconSize = 3;\n\nconst IconWrapper = styled.span<IconProps>`\n display: block;\n color: ${props => getColorValue(props.color)};\n\n & > svg,\n & > img {\n display: block;\n ${props => getSize('width', props.size)};\n ${props => getSize('height', props.size)};\n }\n\n // TODO: remove data-testid once all icons are using ADS\n [data-testid='ads-refreshed-icon'] {\n display: block;\n ${props => getSize('width', props.size)};\n ${props => getSize('height', props.size)};\n\n svg {\n padding: 8%;\n height: 100%;\n width: 100%;\n }\n }\n`;\n\ntype IconProps = {\n size?: SizeProp;\n altText?: string;\n icon?: React.ReactNode;\n color?: string;\n};\n\nconst Icon = ({\n altText,\n icon,\n color = 'body',\n size = defaultIconSize,\n ...props\n}: IconProps &\n React.ComponentProps<typeof IconWrapper> &\n Omit<\n LensSpanProps,\n keyof IconProps & React.ComponentProps<typeof IconWrapper>\n >) => {\n const ref = React.useRef(null);\n\n return (\n <IconWrapper\n ref={ref}\n aria-label={altText}\n color={color}\n size={size}\n {...props}\n >\n {icon}\n </IconWrapper>\n );\n};\n\nexport default Icon;\n", "import { keyframes } from '@emotion/react';\nimport styled from '@emotion/styled';\nimport React from 'react';\n\nimport { LensSpanProps } from '../../types';\nimport { getColorValue } from '../../utilities';\n\nconst speed = 1;\nconst dotsAmount = 8;\n\nconst sizes = {\n small: {\n totalSize: 18,\n },\n medium: {\n totalSize: 24,\n },\n large: {\n totalSize: 48,\n },\n};\n\nconst getDotSize = props => {\n return sizes[props.size].totalSize / 6;\n};\n\nconst getTotalSize = props => {\n return sizes[props.size].totalSize;\n};\n\nconst dotScale = keyframes`\n 50% {\n transform: scale(1);\n }\n`;\n\nconst LoaderWrapper = styled.span<LoaderWrapperProps>`\n display: inline-block;\n vertical-align: middle;\n height: ${props => getTotalSize(props)}px;\n width: ${props => getTotalSize(props)}px;\n`;\n\nconst Dots = styled.span`\n display: grid;\n grid-template-areas: 'stack';\n height: 100%;\n width: 100%;\n`;\n\nconst DotWrapper = styled.span<DotProps>`\n grid-area: stack;\n place-self: center;\n transform: rotate(${props => props.position * (360 / dotsAmount)}deg)\n translateY(${props => getTotalSize(props) / 2 - getDotSize(props) / 2}px);\n\n &:after {\n content: '';\n height: ${props => getDotSize(props)}px;\n width: ${props => getDotSize(props)}px;\n border-radius: ${props => getDotSize(props)}px;\n background-color: ${props => getColorValue(props.color)};\n display: block;\n transform: scale(0.65);\n animation: ${dotScale} ${speed}s\n ${props => (props.position * speed) / dotsAmount}s ease-in-out infinite;\n }\n`;\n\nconst Dot = ({ position, color, size }: DotProps) => (\n <DotWrapper color={color} position={position} size={size} />\n);\n\nconst Loader = ({\n color = 'body',\n size = 'medium',\n ...props\n}: LoaderProps &\n React.ComponentProps<typeof LoaderWrapper> &\n Omit<\n LensSpanProps,\n keyof LoaderProps & React.ComponentProps<typeof LoaderWrapper>\n >) => {\n let i;\n const dotsList = [];\n\n for (i = 0; i < dotsAmount; i++) {\n dotsList.push(<Dot color={color} position={i} size={size} key={i} />);\n }\n\n return (\n <LoaderWrapper size={size} {...props}>\n <Dots>{dotsList}</Dots>\n </LoaderWrapper>\n );\n};\n\nexport const availableSizes = Object.keys(sizes);\n\ntype LoaderProps = {\n color?: string;\n size?: 'small' | 'medium' | 'large';\n};\n\ntype LoaderWrapperProps = {\n size?: string;\n};\n\ntype DotProps = {\n position?: number;\n color?: string;\n size?: string;\n};\n\nexport default Loader;\n", "import styled from '@emotion/styled';\nimport React from 'react';\n\nimport { LensDivProps, ResponsiveType } from '../../types';\nimport { getSize } from '../../utilities';\n\nconst SpacerWrapper = styled.div<SpacerProps>`\n display: ${props => (props.isInline ? 'inline-block' : 'block')};\n vertical-align: middle;\n ${props => getSize('padding', props.all)};\n ${props => getSize('padding-top', props.top)};\n ${props => getSize('padding-right', props.right)};\n ${props => getSize('padding-bottom', props.bottom)};\n ${props => getSize('padding-left', props.left)};\n`;\n\nconst Spacer = ({\n children,\n all,\n y,\n x,\n top,\n right,\n bottom,\n left,\n isInline,\n ...props\n}: SpacerProps &\n React.ComponentProps<typeof SpacerWrapper> &\n Omit<\n LensDivProps,\n keyof SpacerProps & React.ComponentProps<typeof SpacerWrapper>\n >) => (\n <SpacerWrapper\n all={all}\n top={y || top}\n bottom={y || bottom}\n right={x || right}\n left={x || left}\n isInline={isInline}\n {...props}\n >\n {children}\n </SpacerWrapper>\n);\n\ntype SpacerProps = {\n all?: ResponsiveType<string | number>;\n y?: ResponsiveType<string | number>;\n x?: ResponsiveType<string | number>;\n left?: ResponsiveType<string | number>;\n right?: ResponsiveType<string | number>;\n top?: ResponsiveType<string | number>;\n bottom?: ResponsiveType<string | number>;\n isInline?: boolean;\n children?: React.ReactNode;\n};\n\nexport default Spacer;\n", "import styled from '@emotion/styled';\nimport React, { forwardRef } from 'react';\n\nimport { getColorValue, getTextSize, u } from '../../utilities';\n\nimport Align from '../align/align';\nimport Container from '../container/container';\nimport Icon from '../icon/icon';\n\ntype SizesStylesProps = {\n [key: string]: {\n height: string;\n width: string;\n iconSize: number;\n padding: string | number;\n withIconPadding: string | number;\n passwordAdditionalPadding: string | number;\n textSize: string;\n radius: string;\n };\n};\n\nconst sizesStyles: SizesStylesProps = {\n small: {\n height: u(4),\n width: u(5),\n iconSize: 2,\n padding: u(1.75),\n withIconPadding: u(4.5),\n passwordAdditionalPadding: u(0.5),\n textSize: 'small',\n radius: 'var(--lns-radius-150)',\n },\n medium: {\n height: 'var(--lns-formFieldHeight)',\n width: u(6),\n iconSize: 3,\n padding: 'var(--lns-formFieldHorizontalPadding)',\n withIconPadding: u(5.5),\n passwordAdditionalPadding: u(0.5),\n textSize: 'medium',\n radius: 'var(--lns-radius-175)',\n },\n large: {\n height: u(7),\n width: u(6),\n iconSize: 3,\n padding: 'var(--lns-formFieldHorizontalPadding)',\n withIconPadding: u(5.5),\n passwordAdditionalPadding: u(0.5),\n textSize: 'large',\n radius: 'var(--lns-radius-250)',\n },\n};\n\nconst inputRightPadding = (\n props: InputFieldProps & Pick<TextInputProps, 'type'>\n): string | number => {\n let padding = props.addOn\n ? sizesStyles[props.inputSize].withIconPadding\n : sizesStyles[props.inputSize].padding;\n\n // Allow additional space for safari & other password filling icons to not overlap with addon\n if (props.type === 'password') {\n padding = `calc(${\n sizesStyles[props.inputSize].passwordAdditionalPadding\n } + ${padding})`;\n }\n\n return padding;\n};\n\nconst InputField = styled.input<InputFieldProps & Pick<TextInputProps, 'type'>>`\n -webkit-appearance: none;\n font-family: inherit;\n width: 100%;\n height: ${props => sizesStyles[props.inputSize].height};\n border: none;\n color: inherit;\n background-color: ${getColorValue('formFieldBackground')};\n transition: 0.3s box-shadow;\n padding-top: 0;\n padding-bottom: 0;\n padding-left: ${props =>\n props.icon\n ? sizesStyles[props.inputSize].withIconPadding\n : sizesStyles[props.inputSize].padding};\n padding-right: ${props => inputRightPadding(props)};\n border-radius: ${props => sizesStyles[props.inputSize].radius};\n box-shadow: inset 0 0 0\n ${props =>\n props.hasError\n ? 'var(--lns-formFieldBorderWidthFocus) var(--lns-color-danger)'\n : 'var(--lns-formFieldBorderWidth) var(--lns-color-formFieldBorder)'};\n\n ${props => getTextSize(sizesStyles[props.inputSize].textSize)};\n\n &:hover {\n box-shadow: inset 0 0 0 var(--lns-formFieldBorderWidthFocus)\n var(--lns-color-blurple);\n }\n\n &:focus {\n outline: 1px solid transparent;\n box-shadow: var(--lns-formFieldBorderShadowFocus);\n }\n\n &:disabled {\n color: ${getColorValue('disabledContent')};\n background-color: ${getColorValue('disabledBackground')};\n }\n\n &:disabled:hover {\n box-shadow: inset 0 0 0 var(--lns-formFieldBorderWidth)\n var(--lns-color-formFieldBorder);\n }\n\n &::placeholder {\n color: ${getColorValue('bodyDimmed')};\n }\n`;\n\nconst InputFieldWrapper = styled.div`\n position: relative;\n width: 100%;\n`;\n\nconst IconSection = styled.div<IconSectionProps>`\n position: absolute;\n pointer-events: none;\n width: ${props => sizesStyles[props.size].width};\n // Width isn't equal to iconPadding because we want more space on the left than the right\n height: 100%;\n display: flex;\n align-items: center;\n justify-content: center;\n`;\n\nconst Image = styled.img<Pick<TextInputProps, 'isDisabled'>>`\n height: 100%;\n width: auto;\n min-width: 100%;\n min-height: 100%;\n object-fit: cover;\n opacity: ${({ isDisabled }) => (isDisabled ? 0.5 : 1)};\n`;\n\nconst AddOnWrapper = styled.div<IconSectionProps>`\n position: absolute;\n height: 100%;\n display: flex;\n align-items: center;\n justify-content: center;\n right: 0;\n width: ${props => sizesStyles[props.size].width};\n top: 50%;\n transform: translateY(-50%);\n`;\n\nconst TextInput = forwardRef(\n (\n {\n placeholder,\n onFocus,\n onChange,\n onBlur,\n onKeyDown,\n isDisabled,\n icon,\n type = 'text',\n value,\n hasError,\n size = 'medium',\n addOn,\n ...props\n }: TextInputProps & Omit<React.ComponentProps<typeof InputField>, 'size'>,\n ref: React.ForwardedRef<HTMLInputElement>\n ) => {\n const inputField = (\n <InputField\n type={type}\n placeholder={placeholder}\n onFocus={onFocus}\n onChange={onChange}\n onBlur={onBlur}\n onKeyDown={onKeyDown}\n disabled={isDisabled}\n icon={icon}\n ref={ref}\n value={value}\n hasError={hasError}\n inputSize={size}\n addOn={addOn}\n {...props}\n />\n );\n\n return icon || addOn ? (\n <InputFieldWrapper>\n {icon && (\n <IconSection size={size}>\n {typeof icon === 'string' ? (\n <Container\n radius=\"50\"\n width={sizesStyles[size].iconSize}\n height={sizesStyles[size].iconSize}\n overflow=\"hidden\"\n >\n <Align alignment=\"center\">\n <Image src={icon} alt=\"\" isDisabled={isDisabled} />\n </Align>\n </Container>\n ) : (\n <Icon\n icon={icon}\n size={sizesStyles[size].iconSize}\n color={getColorValue(isDisabled ? 'disabledContent' : 'body')}\n />\n )}\n </IconSection>\n )}\n {inputField}\n {addOn && <AddOnWrapper size={size}>{addOn}</AddOnWrapper>}\n </InputFieldWrapper>\n ) : (\n inputField\n );\n }\n);\n\ntype TextInputProps = {\n placeholder?: string;\n value?: string | number;\n onFocus?: React.ReactEventHandler;\n onChange?: React.ReactEventHandler;\n onBlur?: React.ReactEventHandler;\n onKeyDown?: React.ReactEventHandler;\n isDisabled?: boolean;\n icon?: React.ReactNode | string;\n type?:\n | 'date'\n | 'datetime-local'\n | 'email'\n | 'month'\n | 'number'\n | 'password'\n | 'search'\n | 'tel'\n | 'text'\n | 'time'\n | 'url'\n | 'week';\n id?: string;\n hasError?: boolean;\n size?: 'small' | 'medium' | 'large';\n addOn?: React.ReactNode;\n};\n\ntype IconSectionProps = {\n size?: 'small' | 'medium' | 'large';\n};\ntype InputFieldProps = {\n icon?: React.ReactNode;\n hasError?: boolean;\n inputSize?: 'small' | 'medium' | 'large';\n addOn?: React.ReactNode;\n};\n\nexport default TextInput;\n", "import styled from '@emotion/styled';\nimport React from 'react';\n\nimport { LensDivProps, ResponsiveType } from '../../types';\nimport { getResponsiveOneOf } from '../../utilities';\n\nconst alignmentsPlaceItems = {\n topLeft: 'start',\n topCenter: 'start center',\n topRight: 'start end',\n centerLeft: 'center start',\n center: 'center',\n centerRight: 'center end',\n bottomLeft: 'end start',\n bottomCenter: 'end center',\n bottomRight: 'end',\n};\n\nconst getPlaceItems = (\n alignment: ResponsiveType<\n | 'topLeft'\n | 'topCenter'\n | 'topRight'\n | 'centerLeft'\n | 'center'\n | 'centerRight'\n | 'bottomLeft'\n | 'bottomCenter'\n | 'bottomRight'\n >\n) => {\n if (Array.isArray(alignment)) {\n return alignment.map(\n alignmentArrayItem => alignmentsPlaceItems[alignmentArrayItem]\n );\n }\n\n if (typeof alignment === 'object') {\n const alignmentsPlaceItemsObject = {};\n\n Object.entries(alignment).forEach(([key, value]) => {\n return (alignmentsPlaceItemsObject[key] = alignmentsPlaceItems[value]);\n });\n\n return alignmentsPlaceItemsObject;\n }\n\n return alignmentsPlaceItems[alignment];\n};\n\nconst AlignWrapper = styled.div<AlignWrapperProps>`\n width: 100%;\n height: 100%;\n display: grid;\n ${props => getResponsiveOneOf('place-items', getPlaceItems(props.alignment))};\n`;\n\nconst Align = ({\n children,\n alignment = 'center',\n htmlTag = 'div',\n ...props\n}: AlignProps &\n React.ComponentProps<typeof AlignWrapper> &\n Omit<\n LensDivProps,\n keyof AlignProps & React.ComponentProps<typeof AlignWrapper>\n >) => {\n return (\n <AlignWrapper alignment={alignment} as={htmlTag} {...props}>\n {children}\n </AlignWrapper>\n );\n};\n\nexport const availableAlignments = Object.keys(alignmentsPlaceItems);\nexport const availableHtmlTags = [\n 'div',\n 'header',\n 'article',\n 'section',\n 'nav',\n 'aside',\n 'footer',\n 'main',\n];\n\ntype AlignProps = {\n children: React.ReactNode;\n alignment?: ResponsiveType<\n | 'topLeft'\n | 'topCenter'\n | 'topRight'\n | 'centerLeft'\n | 'center'\n | 'centerRight'\n | 'bottomLeft'\n | 'bottomCenter'\n | 'bottomRight'\n >;\n htmlTag?:\n | 'div'\n | 'header'\n | 'article'\n | 'section'\n | 'nav'\n | 'aside'\n | 'footer'\n | 'main';\n};\n\ntype AlignWrapperProps = {\n children: React.ReactNode;\n alignment?: ResponsiveType<\n | 'topLeft'\n | 'topCenter'\n | 'topRight'\n | 'centerLeft'\n | 'center'\n | 'centerRight'\n | 'bottomLeft'\n | 'bottomCenter'\n | 'bottomRight'\n >;\n as?: string;\n};\n\nexport default Align;\n", "import styled from '@emotion/styled';\nimport React from 'react';\n\nimport { LensDivProps, ResponsiveType } from '../../types';\nimport {\n getColorValue,\n getRadius,\n getShadow,\n getSize,\n getSizeValue,\n} from '../../utilities';\n\nconst getBorderSideAndColor = (side, color, width) => {\n const borderColor = color ? color : 'border';\n const borderWidth = getSizeValue(width);\n const borderStyle = `${borderWidth} solid ${getColorValue(borderColor)}`;\n\n if (side) {\n if (side === 'all') {\n return `border: ${borderStyle};`;\n }\n\n return `border-${side}: ${borderStyle};`;\n }\n};\n\nconst ContainerWrapper = styled.div<ContainerWrapperProps>`\n ${props => props.position && `position: ${props.position}`};\n ${props => props.overflow && `overflow: ${props.overflow}`};\n ${props =>\n props.backgroundColor &&\n `background-color: ${getColorValue(props.backgroundColor)}`};\n ${props =>\n props.backgroundImage && `background-image: ${props.backgroundImage}`}\n ${props =>\n props.contentColor && `color: ${getColorValue(props.contentColor)}`};\n ${props =>\n getBorderSideAndColor(\n props.borderSide,\n props.borderColor,\n props.borderWidth\n )};\n ${props => getRadius(props.radius)};\n ${props => getShadow(props.shadow)};\n ${props => getSize('width', props.width)};\n ${props => getSize('height', props.height)};\n ${props => getSize('min-width', props.minWidth)};\n ${props => getSize('min-height', props.minHeight)};\n ${props => getSize('max-width', props.maxWidth)};\n ${props => getSize('max-height', props.maxHeight)};\n ${props => getSize('padding', props.padding)};\n ${props => getSize('padding-top', props.paddingTop)};\n ${props => getSize('padding-right', props.paddingRight)};\n ${props => getSize('padding-bottom', props.paddingBottom)};\n ${props => getSize('padding-left', props.paddingLeft)};\n ${props => getSize('margin', props.margin)};\n ${props => getSize('margin-top', props.marginTop)};\n ${props => getSize('margin-right', props.marginRight)};\n ${props => getSize('margin-bottom', props.marginBottom)};\n ${props => getSize('margin-left', props.marginLeft)};\n ${props => getSize('top', props.top)};\n ${props => getSize('right', props.right)};\n ${props => getSize('bottom', props.bottom)};\n ${props => getSize('left', props.left)};\n ${props => props.zIndex && `z-index: ${props.zIndex}`};\n`;\n\nconst Container = ({\n children,\n backgroundColor,\n backgroundImage,\n contentColor,\n borderColor,\n radius,\n borderSide,\n borderWidth = '1px',\n shadow,\n padding,\n paddingX,\n paddingY,\n paddingLeft,\n paddingRight,\n paddingTop,\n paddingBottom,\n margin,\n marginX,\n marginY,\n marginLeft,\n marginRight,\n marginTop,\n marginBottom,\n width,\n height,\n minWidth,\n minHeight,\n maxWidth,\n maxHeight,\n htmlTag = 'div',\n position,\n overflow,\n zIndex,\n top,\n bottom,\n left,\n right,\n refHandler,\n ...props\n}: ContainerProps &\n React.ComponentProps<typeof ContainerWrapper> &\n Omit<\n LensDivProps,\n keyof ContainerProps & React.ComponentProps<typeof ContainerWrapper>\n >) => {\n return (\n <ContainerWrapper\n backgroundColor={backgroundColor}\n backgroundImage={backgroundImage}\n contentColor={contentColor}\n borderColor={borderColor}\n radius={radius}\n borderSide={borderSide}\n shadow={shadow}\n padding={padding}\n paddingLeft={paddingX || paddingLeft}\n paddingRight={paddingX || paddingRight}\n paddingTop={paddingY || paddingTop}\n paddingBottom={paddingY || paddingBottom}\n margin={margin}\n marginLeft={marginX || marginLeft}\n marginRight={marginX || marginRight}\n marginTop={marginY || marginTop}\n marginBottom={marginY || marginBottom}\n width={width}\n height={height}\n minWidth={minWidth}\n minHeight={minHeight}\n maxWidth={maxWidth}\n maxHeight={maxHeight}\n as={htmlTag}\n position={position}\n top={top}\n bottom={bottom}\n left={left}\n right={right}\n overflow={overflow}\n zIndex={zIndex}\n borderWidth={borderWidth}\n ref={ref => refHandler && refHandler(ref)}\n {...props}\n >\n {children}\n </ContainerWrapper>\n );\n};\n\nexport const availableBorderSides = ['all', 'left', 'right', 'top', 'bottom'];\nexport const availableRadii = [\n 'none',\n '50',\n '100',\n '150',\n '175',\n '200',\n '250',\n '300',\n 'round',\n];\nexport const availableHtmlTags = [\n 'div',\n 'header',\n 'article',\n 'section',\n 'nav',\n 'aside',\n 'footer',\n 'main',\n 'span',\n 'form',\n];\n\ninterface SharedProps {\n backgroundColor?: string;\n backgroundImage?: string;\n contentColor?: string;\n borderColor?: string;\n radius?:\n | 'medium'\n | 'large'\n | 'xlarge'\n | 'full'\n | 'none'\n | '50'\n | '100'\n | '150'\n | '175'\n | '200'\n | '250'\n | '300'\n | 'round';\n borderSide?: 'all' | 'left' | 'right' | 'top' | 'bottom';\n shadow?: 'small' | 'medium' | 'large';\n padding?: ResponsiveType<string | number> | null;\n paddingX?: ResponsiveType<string | number> | null;\n paddingY?: ResponsiveType<string | number> | null;\n paddingLeft?: ResponsiveType<string | number> | null;\n paddingRight?: ResponsiveType<string | number> | null;\n paddingTop?: ResponsiveType<string | number> | null;\n paddingBottom?: ResponsiveType<string | number> | null;\n margin?: ResponsiveType<string | number> | null;\n marginX?: ResponsiveType<string | number> | null;\n marginY?: ResponsiveType<string | number> | null;\n marginLeft?: ResponsiveType<string | number> | null;\n marginRight?: ResponsiveType<string | number> | null;\n marginTop?: ResponsiveType<string | number> | null;\n marginBottom?: ResponsiveType<string | number> | null;\n width?: ResponsiveType<string | number>;\n height?: ResponsiveType<string | number>;\n minWidth?: ResponsiveType<string | number>;\n minHeight?: ResponsiveType<string | number>;\n maxWidth?: ResponsiveType<string | number>;\n maxHeight?: ResponsiveType<string | number>;\n children?: React.ReactNode;\n position?: string;\n overflow?: string;\n top?: ResponsiveType<string | number> | null;\n bottom?: ResponsiveType<string | number> | null;\n left?: ResponsiveType<string | number> | null;\n right?: ResponsiveType<string | number> | null;\n zIndex?: number | string;\n borderWidth?: string | number;\n // NOTE: Covers the most common types since the user can change the `as` value using `htmlTag`\n refHandler?:\n | ((ref: HTMLElement) => void)\n | ((ref: HTMLDivElement) => void)\n | ((ref: HTMLSpanElement) => void);\n}\n\ninterface ContainerProps extends SharedProps {\n htmlTag?:\n | 'div'\n | 'header'\n | 'article'\n | 'section'\n | 'nav'\n | 'aside'\n | 'footer'\n | 'main'\n | 'span'\n | 'form';\n}\n\ninterface ContainerWrapperProps extends SharedProps {\n as?: string;\n}\n\nexport default Container;\n", "import styled from '@emotion/styled';\nimport React from 'react';\n\nimport { distributeDeprecatedWarning } from '../../console-messages';\nimport { LensDivProps, ResponsiveType } from '../../types';\nimport {\n arrayToBreakpoints,\n getAlignmentStyles,\n getResponsiveBoolean,\n getSizeValue,\n} from '../../utilities';\n\nconst alignments = {\n start: 'flex-start',\n center: 'center',\n end: 'flex-end',\n stretch: 'stretch',\n};\n\nlet alreadyWarned = false;\n\nconst propToArray = prop => {\n if (!Array.isArray(prop)) {\n return [prop];\n }\n\n return prop;\n};\n\nconst formatItems = (items, targetRulesetLength) => {\n if (items.length === targetRulesetLength) {\n return items;\n }\n\n const lastItem = items[items.length - 1];\n\n return [...Array(targetRulesetLength)].map((_, i) => items[i] || lastItem);\n};\n\nconst getDirectionAndGap = (direction, gap) => {\n const targetRulesetLength = Math.max(\n propToArray(direction).length,\n propToArray(gap).length\n );\n\n const gapsArray = formatItems(propToArray(gap), targetRulesetLength);\n const directionsArray = formatItems(\n propToArray(direction),\n targetRulesetLength\n );\n\n const childrenSelector = '& > * + *';\n const gapsRulesets = gapsArray.map((gapItem, index) => {\n const marginTop = `${getSizeValue(gapItem)} 0 0 0`;\n const marginRight = `0 0 0 ${getSizeValue(gapItem)}`;\n\n const marginValue =\n directionsArray[index] === 'column' ? marginTop : marginRight;\n\n return `${childrenSelector}{ margin: ${marginValue}; }`;\n });\n\n const directionsRulesets = directionsArray.map(\n directionItem => `flex-direction: ${directionItem}`\n );\n\n return (\n arrayToBreakpoints(gapsRulesets) + arrayToBreakpoints(directionsRulesets)\n );\n};\n\nconst DistributeWrapper = styled.div<DistributeWrapperProps>`\n display: flex;\n flex-wrap: wrap;\n ${props => getDirectionAndGap(props.flexDirection, props.gap)};\n ${props => getAlignmentStyles(props.flexAlign, alignments)};\n ${props =>\n props.isSpread &&\n getResponsiveBoolean(\n 'justify-content',\n ['space-between', 'initial'],\n props.isSpread\n )};\n\n & > * {\n flex-shrink: 0;\n }\n`;\n\nconst Distribute = ({\n children,\n gap,\n direction = 'row',\n alignment = 'start',\n isSpread,\n htmlTag = 'div',\n ...props\n}: DistributeProps &\n React.ComponentProps<typeof DistributeWrapper> &\n Omit<\n LensDivProps,\n keyof DistributeProps & React.ComponentProps<typeof DistributeWrapper>\n >) => {\n if (!alreadyWarned) {\n // eslint-disable-next-line no-console\n console.warn(distributeDeprecatedWarning);\n alreadyWarned = true;\n }\n\n return (\n <DistributeWrapper\n gap={gap}\n flexDirection={direction}\n flexAlign={alignment}\n isSpread={isSpread}\n as={htmlTag}\n {...props}\n >\n {children}\n </DistributeWrapper>\n );\n};\n\nexport const availableDirections = ['row', 'column'];\nexport const availableAlignments = Object.keys(alignments);\nexport const availableHtmlTags = [\n 'div',\n 'header',\n 'article',\n 'section',\n 'nav',\n 'aside',\n 'footer',\n 'main',\n];\n\ntype Alignment = 'start' | 'center' | 'end' | 'stretch';\ntype DistributeProps = {\n children: React.ReactNode;\n direction?: ResponsiveType<'row' | 'column'>;\n alignment?: Alignment | Alignment[];\n isSpread?: ResponsiveType<true | false>;\n htmlTag?:\n | 'div'\n | 'header'\n | 'article'\n | 'section'\n | 'nav'\n | 'aside'\n | 'footer'\n | 'main';\n gap?: string | number;\n};\n\ntype DistributeWrapperProps = {\n flexDirection?: ResponsiveType<'row' | 'column'>;\n flexAlign?: Alignment | Alignment[];\n isSpread?: boolean | boolean[];\n gap?: string | number;\n as?: string;\n};\n\nexport default Distribute;\n", "import styled from '@emotion/styled';\nimport React from 'react';\n\nimport Arrange from '../arrange/arrange';\nimport { SvgAlertTriangle } from '../icon/available-icons/alert-triangle';\nimport Icon from '../icon/icon';\nimport Text from '../text/text';\n\ninterface ErrorContainerProps {\n children: React.ReactNode;\n errorActive: boolean;\n errorMessage?: string;\n}\n\n// the border below is a stand-alone component to avoid messing with the layout of the children\n// the calculations in width, height, top, and left are to add padding between the border and the children\n// pointer-events: none is to allow the children to be clickable\n\nconst ErrorContainerBorder = styled.div`\n position: relative;\n ::before {\n content: '';\n width: calc(100% + var(--lns-space-medium));\n height: calc(100% + var(--lns-space-medium));\n position: absolute;\n top: calc(-1 * var(--lns-space-small));\n left: calc(-1 * var(--lns-space-small));\n outline: 1px solid var(--lns-color-danger);\n border-radius: var(--lns-radius-large);\n pointer-events: none;\n }\n`;\n\nconst ErrorContainer = ({\n children,\n errorActive,\n errorMessage = \"Oops, that didn't work. Try again.\",\n}: ErrorContainerProps) => {\n if (!errorActive) {\n return <>{children}</>;\n }\n\n return (\n <ErrorContainerBorder>\n <Arrange autoFlow=\"row\" gap=\"small\">\n {children}\n {errorMessage ? (\n <Arrange gap=\"xsmall\">\n <Icon icon={<SvgAlertTriangle />} size={2} color=\"danger\" />\n <Text size=\"body-sm\" color=\"danger\">\n {errorMessage}\n </Text>\n </Arrange>\n ) : null}\n </Arrange>\n </ErrorContainerBorder>\n );\n};\n\nexport default ErrorContainer;\n", "import styled from '@emotion/styled';\nimport React from 'react';\n\nimport { customStylesWarning } from '../../console-messages';\nimport {\n LensDivProps,\n ResponsiveGridSections,\n ResponsiveType,\n} from '../../types';\nimport { getResponsiveOneOf, getSize } from '../../utilities';\n\nimport { getResponsiveGridSections } from '../../utilities/responsive';\nimport { getListContainer } from '../../utilities/styles';\n\nconst ArrangeWrapper = styled.div<ArrangeWrapperProps>`\n display: grid;\n ${props => getResponsiveOneOf('align-items', props.alignItems)};\n ${props => getResponsiveOneOf('justify-content', props.justifyContent)};\n ${props =>\n props.justifyItems &&\n getResponsiveOneOf('justify-items', props.justifyItems)};\n ${props =>\n props.alignContent &&\n getResponsiveOneOf('align-content', props.alignContent)};\n ${props =>\n !props.columns &&\n !props.rows &&\n !props.autoFlow &&\n 'grid-auto-flow: column'};\n ${props => getResponsiveGridSections(props.columns, 'columns')};\n ${props => getResponsiveGridSections(props.rows, 'rows')};\n ${props => getSize('gap', props.gap)};\n ${props => getSize('width', props.width)};\n ${props => getSize('height', props.height)};\n ${props => getSize('min-width', props.minWidth)};\n ${props => getSize('min-height', props.minHeight)};\n ${props => getSize('max-width', props.maxWidth)};\n ${props => getSize('max-height', props.maxHeight)};\n\n ${props =>\n props.autoFlow && getResponsiveOneOf('grid-auto-flow', props.autoFlow)};\n ${props =>\n props.columns &&\n props.autoFlow &&\n getResponsiveOneOf('grid-auto-flow', props.autoFlow)};\n ${props => getListContainer(props.as)};\n`;\n\nconst Arrange = ({\n children,\n width,\n height,\n minWidth,\n minHeight,\n maxWidth,\n maxHeight,\n gap,\n columns,\n rows,\n alignItems = 'center',\n justifyContent = 'start',\n justifyItems,\n alignContent,\n autoFlow,\n htmlTag = 'div',\n className,\n style,\n ...props\n}: ArrangeProps &\n React.ComponentProps<typeof ArrangeWrapper> &\n Omit<\n LensDivProps,\n keyof ArrangeProps & React.ComponentProps<typeof ArrangeWrapper>\n >) => {\n if (className || style) {\n // eslint-disable-next-line no-console\n console.warn(customStylesWarning);\n }\n\n return (\n <ArrangeWrapper\n alignItems={alignItems}\n as={htmlTag}\n justifyContent={justifyContent}\n justifyItems={justifyItems}\n alignContent={alignContent}\n gap={gap}\n columns={columns}\n rows={rows}\n width={width}\n height={height}\n minWidth={minWidth}\n minHeight={minHeight}\n maxWidth={maxWidth}\n maxHeight={maxHeight}\n autoFlow={autoFlow}\n {...props}\n >\n {children}\n </ArrangeWrapper>\n );\n};\n\ninterface SharedProps {\n children?: React.ReactNode;\n width?: ResponsiveType<string | number>;\n height?: ResponsiveType<string | number>;\n minWidth?: ResponsiveType<string | number>;\n minHeight?: ResponsiveType<string | number>;\n maxWidth?: ResponsiveType<string | number>;\n maxHeight?: ResponsiveType<string | number>;\n gap?: ResponsiveType<string | number> | null;\n alignItems?: ResponsiveType<\n 'start' | 'end' | 'center' | 'stretch' | 'baseline'\n >;\n justifyItems?: ResponsiveType<'start' | 'end' | 'center' | 'stretch'>;\n alignContent?: ResponsiveType<\n | 'start'\n | 'end'\n | 'center'\n | 'stretch'\n | 'space-around'\n | 'space-between'\n | 'space-evenly'\n >;\n justifyContent?: ResponsiveType<\n | 'start'\n | 'end'\n | 'center'\n | 'stretch'\n | 'space-around'\n | 'space-between'\n | 'space-evenly'\n >;\n autoFlow?: ResponsiveType<'column' | 'row'>;\n columns?: ResponsiveGridSections;\n rows?: ResponsiveGridSections;\n}\n\ninterface ArrangeProps extends SharedProps {\n htmlTag?: 'div' | 'ul' | 'ol' | 'li';\n}\n\ninterface ArrangeWrapperProps extends SharedProps {\n as?: string;\n}\n\nexport default Arrange;\n", "import WarningIcon from '@atlaskit/icon/core/warning';\nimport * as React from 'react';\n\nexport function SvgAlertTriangle() {\n return <WarningIcon label=\"\" testId=\"ads-refreshed-icon\" />;\n}\n", "import styled from '@emotion/styled';\nimport React, { Component } from 'react';\n\nimport { layoutDeprecatedWarning } from '../../console-messages';\nimport { ResponsiveType } from '../../types';\nimport { getSize, getAlignmentStyles } from '../../utilities';\n\nconst alignments = {\n start: 'flex-start',\n center: 'center',\n end: 'flex-end',\n};\n\nconst LayoutWrapper = styled.div<LayoutProps>`\n display: flex;\n ${props => getAlignmentStyles(props.alignment, alignments)};\n\n & > * + * {\n ${props => props.gap && getSize('margin-left', props.gap)};\n }\n`;\n\nconst LayoutSectionWrapper = styled.div<LayoutSectionProps>`\n min-width: 0px;\n flex-shrink: 0;\n ${props => getSize('width', props.width)};\n ${props => getSize('max-width', props.maxWidth)};\n ${props => (props.width ? `flex-shrink: 0` : `flex: 1 1 0%`)};\n`;\n\nexport const LayoutSection = ({\n width,\n maxWidth,\n children,\n ...props\n}: LayoutSectionProps & React.ComponentProps<typeof LayoutSectionWrapper>) => {\n // eslint-disable-next-line no-console\n console.warn(layoutDeprecatedWarning);\n\n return (\n <LayoutSectionWrapper width={width} maxWidth={maxWidth} {...props}>\n {children}\n </LayoutSectionWrapper>\n );\n};\n\n// eslint-disable-next-line react-prefer-function-component/react-prefer-function-component\nclass Layout extends Component<LayoutProps> {\n static Section = LayoutSection;\n\n render() {\n // eslint-disable-next-line no-console\n console.warn(layoutDeprecatedWarning);\n\n return <LayoutWrapper {...this.props}>{this.props.children}</LayoutWrapper>;\n }\n}\n\ntype Alignments = 'start' | 'center' | 'end' | 'stretch';\ntype LayoutProps = {\n alignment?: Alignments | Alignments[];\n gap?: ResponsiveType<string | number>;\n children?: React.ReactNode;\n};\n\ntype LayoutSectionProps = {\n width?: ResponsiveType<string | number>;\n maxWidth?: ResponsiveType<string | number>;\n children?: React.ReactNode;\n};\n\nexport default Layout;\n", "import styled from '@emotion/styled';\nimport React from 'react';\n\nimport { LensButtonProps } from '../../types';\nimport { getColorValue, getFocusRing, u } from '../../utilities';\n\nimport Icon from '../icon/icon';\n\nconst sizeStyles = {\n small: {\n size: u(3),\n iconSize: 2.25,\n radius: 'var(--lns-radius-100)',\n },\n medium: {\n size: u(4),\n iconSize: 3,\n radius: 'var(--lns-radius-150)',\n },\n large: {\n size: u(5),\n iconSize: 4,\n radius: 'var(--lns-radius-175)',\n },\n};\n\nexport const IconButtonBox = styled.button<IconButtonBoxProps>`\n background-color: ${props =>\n getColorValue(\n props.isActive ? 'backgroundActive' : props.backgroundColor\n ) || 'transparent'};\n border: none;\n appearance: none;\n cursor: pointer;\n padding: 0;\n width: ${props => sizeStyles[props.size].size};\n height: ${props => sizeStyles[props.size].size};\n position: relative;\n outline: 1px solid transparent;\n transition: 0.6s background-color;\n display: inline-flex;\n justify-content: center;\n align-items: center;\n vertical-align: middle;\n border-radius: ${props => sizeStyles[props.size].radius};\n font: inherit;\n\n &:hover {\n transition: 0.3s background-color;\n background-color: ${props =>\n getColorValue(props.isActive ? 'backgroundActive' : 'backgroundHover')};\n }\n\n &:active {\n transition: 0s background-color;\n background-color: ${getColorValue('backgroundActive')};\n }\n\n &:disabled {\n color: ${getColorValue('disabledContent')};\n pointer-events: none;\n }\n\n &:before {\n content: '';\n width: 100%;\n height: 100%;\n display: block;\n position: absolute;\n top: 0;\n border-radius: ${props => sizeStyles[props.size].radius};\n }\n\n &:focus-visible:before,\n &:focus:before {\n ${getFocusRing()};\n }\n\n &:focus::-moz-focus-inner {\n border: 0;\n }\n`;\n\ntype AllProps = IconButtonProps &\n React.ComponentProps<typeof IconButtonBox> &\n Omit<\n LensButtonProps,\n keyof IconButtonProps & React.ComponentProps<typeof IconButtonBox>\n >;\n\nconst IconButton = React.forwardRef(\n (\n {\n altText,\n icon,\n onClick,\n iconColor = 'body',\n backgroundColor,\n isActive,\n isDisabled,\n size = 'medium',\n ...props\n }: AllProps,\n ref: React.ForwardedRef<HTMLButtonElement>\n ) => (\n <IconButtonBox\n aria-label={altText}\n onClick={onClick}\n isActive={isActive}\n disabled={isDisabled}\n size={size}\n backgroundColor={backgroundColor}\n ref={ref}\n {...props}\n >\n <Icon\n icon={icon}\n size={sizeStyles[size].iconSize}\n color={isDisabled ? 'disabledContent' : iconColor}\n />\n </IconButtonBox>\n )\n);\n\nIconButton.displayName = 'IconButton';\n\ntype IconButtonProps = {\n altText: string;\n icon?: React.ReactNode;\n onClick?: React.MouseEventHandler<HTMLInputElement>;\n iconColor?: string;\n backgroundColor?: string;\n isActive?: boolean;\n isDisabled?: boolean;\n size?: 'small' | 'medium' | 'large';\n};\n\ntype IconButtonBoxProps = {\n size?: 'small' | 'medium' | 'large';\n isActive?: boolean;\n backgroundColor?: string;\n};\n\nexport default IconButton;\n", "import styled from '@emotion/styled';\nimport React, { forwardRef, useEffect, useRef } from 'react';\n\nimport { getColorValue, getFocusRing, u } from '../../utilities';\n\nconst SvgCheckboxCheck = props => (\n <svg width={12} height={9} viewBox=\"0 0 12 9\" fill=\"none\" {...props}>\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M11.707.293a1 1 0 010 1.414l-7 7a1 1 0 01-1.414 0l-3-3a1 1 0 011.414-1.414L4 6.586 10.293.293a1 1 0 011.414 0z\"\n fill=\"currentColor\"\n />\n </svg>\n);\n\nconst SvgCheckboxMinus = props => (\n <svg width={12} height={2} viewBox=\"0 0 12 2\" fill=\"none\" {...props}>\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M0 1a1 1 0 011-1h10a1 1 0 110 2H1a1 1 0 01-1-1z\"\n fill=\"currentColor\"\n />\n </svg>\n);\n\nconst CheckboxWrapper = styled.div`\n display: block;\n position: relative;\n`;\n\nconst CheckboxInput = styled.input`\n height: 100%;\n margin: 0;\n opacity: 0;\n position: absolute;\n width: 100%;\n\n &:not(:disabled) {\n cursor: pointer;\n\n & ~ .CheckboxBox {\n border: 2px solid ${getColorValue('body')};\n }\n\n &:checked ~ .CheckboxBox,\n &:indeterminate ~ .CheckboxBox {\n background-color: ${getColorValue('body')};\n }\n }\n\n &:disabled,\n &:disabled ~ .CheckboxBox {\n pointer-events: none;\n }\n\n &:disabled ~ .CheckboxBox {\n background-color: ${getColorValue('disabledBackground')};\n\n .Icon {\n color: ${getColorValue('disabledContent')};\n }\n }\n\n &:focus-visible ~ .CheckboxBox {\n ${getFocusRing()};\n }\n\n & ~ .CheckboxBox .Icon {\n display: none;\n color: ${getColorValue('background')};\n }\n\n &:checked ~ .CheckboxBox .IconCheck {\n display: block;\n }\n\n &:indeterminate ~ .CheckboxBox .IconMinus {\n display: block;\n }\n`;\n\nconst CheckboxBox = styled.span`\n cursor: pointer;\n width: ${u(2.25)};\n height: ${u(2.25)};\n border-radius: ${u(0.5)};\n display: flex;\n align-items: center;\n justify-content: center;\n user-select: none;\n`;\n\nconst Checkbox = forwardRef(\n (\n {\n isDisabled,\n isChecked,\n isIndeterminate,\n onFocus,\n onChange,\n onBlur,\n ...props\n }: CheckboxProps & React.ComponentProps<typeof CheckboxInput>,\n ref: React.ForwardedRef<HTMLInputElement>\n ) => {\n const defaultRef = useRef<HTMLInputElement>();\n const checkboxRef =\n (ref as React.MutableRefObject<HTMLInputElement>) || defaultRef;\n\n const iconColor = getColorValue(\n isDisabled ? 'disabledContent' : 'currentColor'\n );\n\n useEffect(() => {\n checkboxRef.current.indeterminate = isIndeterminate;\n });\n\n return (\n <CheckboxWrapper>\n <CheckboxInput\n type=\"checkbox\"\n disabled={isDisabled}\n checked={isChecked}\n onFocus={onFocus}\n onChange={onChange}\n onBlur={onBlur}\n ref={checkboxRef}\n aria-checked={isChecked}\n {...props}\n />\n <CheckboxBox className=\"CheckboxBox\">\n <SvgCheckboxMinus className=\"Icon IconMinus\" color={iconColor} />\n <SvgCheckboxCheck className=\"Icon IconCheck\" color={iconColor} />\n </CheckboxBox>\n </CheckboxWrapper>\n );\n }\n);\n\ntype CheckboxProps = {\n isChecked?: boolean;\n isIndeterminate?: boolean;\n isDisabled?: boolean;\n onFocus?: React.ReactEventHandler;\n onChange?: React.ReactEventHandler;\n onBlur?: React.ReactEventHandler;\n};\n\nexport default Checkbox;\n", "import styled from '@emotion/styled';\nimport React from 'react';\n\nimport { LensButtonProps } from '../../types';\nimport {\n getColorValue,\n getFocusRing,\n getFontWeight,\n getTextSize,\n u,\n} from '../../utilities';\n\nimport Container from '../container/container';\nimport Icon from '../icon/icon';\n\nconst sizeStyles = {\n small: {\n textSize: 'small',\n iconSize: 2.25,\n height: u(3),\n xSpace: u(1),\n radius: 'var(--lns-radius-100)',\n },\n medium: {\n textSize: 'medium',\n iconSize: 3,\n height: u(4),\n xSpace: u(1.5),\n radius: 'var(--lns-radius-150)',\n },\n large: {\n textSize: 'large',\n iconSize: 4,\n height: u(6),\n xSpace: u(3),\n radius: 'var(--lns-radius-200)',\n },\n};\n\nconst TextButtonWrapper = styled.button<TextButtonWrapperProps>`\n background-color: ${props =>\n props.isActive ? getColorValue('backgroundActive') : 'transparent'};\n display: inline-flex;\n vertical-align: middle;\n align-items: center;\n font: inherit;\n text-decoration: none;\n border: none;\n appearance: none;\n height: ${props => sizeStyles[props.size].height};\n cursor: pointer;\n transition: 0.6s background-color;\n color: ${props => getColorValue(props.color || 'body')};\n ${getFontWeight('bold')};\n border-radius: ${props => sizeStyles[props.size].radius};\n ${props => getTextSize(sizeStyles[props.size].textSize)};\n padding: 0 ${props => sizeStyles[props.size].xSpace};\n ${props =>\n props.offsetSide &&\n `margin-${props.offsetSide}: calc(-1 * ${sizeStyles[props.size].xSpace})`};\n\n &:focus,\n &:focus-visible {\n outline: 1px solid transparent;\n }\n\n &:focus-visible {\n ${getFocusRing()};\n }\n\n &::-moz-focus-inner {\n border: 0;\n }\n\n &:hover {\n transition: 0.3s background-color;\n background-color: ${props =>\n getColorValue(props.isActive ? 'backgroundActive' : 'backgroundHover')};\n }\n\n &:active {\n transition: 0s background-color;\n background-color: ${getColorValue('backgroundActive')};\n }\n\n &:disabled {\n color: ${getColorValue('disabledContent')};\n pointer-events: none;\n }\n`;\n\ntype AllProps = TextButtonProps &\n React.ComponentProps<typeof TextButtonWrapper> &\n Omit<\n LensButtonProps,\n keyof TextButtonProps & React.ComponentProps<typeof TextButtonWrapper>\n >;\n\nconst TextButton = React.forwardRef(\n (\n {\n onClick,\n size = 'medium',\n children,\n icon,\n iconPosition = 'left',\n isActive,\n isDisabled,\n htmlTag,\n offsetSide,\n ...props\n }: AllProps,\n ref: React.ForwardedRef<HTMLButtonElement>\n ) => {\n const iconComponent = (\n <Container\n paddingLeft={iconPosition === 'right' && 'small'}\n paddingRight={iconPosition === 'left' && 'small'}\n htmlTag=\"span\"\n >\n <Icon\n icon={icon}\n size={sizeStyles[size].iconSize}\n color={isDisabled ? 'disabledColor' : undefined}\n />\n </Container>\n );\n\n return (\n <TextButtonWrapper\n onClick={onClick}\n size={size}\n icon={icon}\n iconPosition={iconPosition}\n disabled={isDisabled}\n isActive={isActive}\n as={htmlTag}\n offsetSide={offsetSide}\n ref={ref}\n {...props}\n >\n {icon && iconPosition === 'left' && iconComponent}\n {children}\n {icon && iconPosition === 'right' && iconComponent}\n </TextButtonWrapper>\n );\n }\n);\n\nTextButton.displayName = 'TextButton';\n\ntype TextButtonProps = {\n onClick?: React.ReactEventHandler;\n isDisabled?: boolean;\n isActive?: boolean;\n icon?: React.ReactNode;\n iconPosition?: 'left' | 'right';\n children: React.ReactNode;\n size?: 'small' | 'medium' | 'large';\n htmlTag?: 'button' | 'a';\n offsetSide?: 'left' | 'right';\n href?: string;\n target?: string;\n type?: string;\n};\n\ntype TextButtonWrapperProps = {\n icon?: React.ReactNode;\n iconPosition?: 'left' | 'right';\n children: React.ReactNode;\n size?: 'small' | 'medium' | 'large';\n as?: 'button' | 'a';\n offsetSide?: 'left' | 'right';\n isActive?: boolean;\n};\n\nexport default TextButton;\n", "import styled from '@emotion/styled';\nimport Downshift from 'downshift';\nimport React, { HTMLAttributes, useEffect, useState } from 'react';\n\nimport { useLayer } from 'react-laag';\nimport ResizeObserver from 'resize-observer-polyfill';\n\nimport { LensDivProps } from '../../types';\nimport { getColorValue, getSize, u } from '../../utilities';\n\nimport { getDownshiftEnvironment } from '../../utilities/downshift';\nimport { SvgChevronDown } from '../icon/available-icons/chevron-down';\nimport Icon from '../icon/icon';\n\nimport Menu, { MenuItem, menuPositions } from '../menu/menu';\nimport Align from '../align/align';\nimport Container from '../container/container';\nimport Spacer from '../spacer/spacer';\nimport Text from '../text/text';\n\nconst SelectWrapper = styled.div`\n position: relative;\n`;\n\nconst SelectHeaderWrapper = styled.button<SelectHeaderProps>`\n appearance: none;\n font: inherit;\n text-align: left;\n display: grid;\n grid-auto-flow: column;\n grid-template-columns: ${props => props.columns};\n ${getSize('grid-gap', 'small')};\n align-items: center;\n cursor: pointer;\n width: 100%;\n min-height: ${u(4.5)};\n padding: 0 ${u(1.5)} 0 var(--lns-formFieldHorizontalPadding);\n color: ${getColorValue('body')};\n border: none;\n background-color: ${getColorValue('formFieldBackground')};\n transition: 0.3s box-shadow;\n border-radius: var(--lns-formFieldRadius);\n box-shadow: inset 0 0 0\n ${props =>\n props.hasError\n ? 'var(--lns-formFieldBorderWidthFocus) var(--lns-color-danger)'\n : 'var(--lns-formFieldBorderWidth) var(--lns-color-formFieldBorder)'};\n\n &:hover:not(:disabled) {\n box-shadow: inset 0 0 0 var(--lns-formFieldBorderWidthFocus)\n ${props =>\n props.hasError\n ? 'var(--lns-color-danger)'\n : 'var(--lns-color-blurple)'};\n }\n\n &:focus {\n outline: 1px solid transparent;\n box-shadow: var(--lns-formFieldBorderShadowFocus);\n }\n\n &:focus:hover {\n outline: 1px solid transparent;\n box-shadow: var(--lns-formFieldBorderShadowFocus);\n }\n\n &:disabled {\n color: ${getColorValue('disabledContent')};\n background-color: ${getColorValue('disabledBackground')};\n cursor: default;\n }\n`;\n\n// Scale down proportionally (preserving aspect ratio) and crop overflow\nconst Image = styled.img<Pick<SelectProps, 'isDisabled'>>`\n height: 100%;\n width: auto;\n min-width: 100%;\n min-height: 100%;\n object-fit: cover;\n opacity: ${({ isDisabled }) => (isDisabled ? 0.5 : 1)};\n`;\n\nconst Group = styled.ul`\n list-style: none;\n margin: 0;\n padding: 0;\n`;\n\nconst ErrorMessage = styled.span`\n color: var(--lns-color-red);\n margin-top: var(--lns-space-xsmall);\n display: block;\n width: 100%;\n grid-column-start: 1;\n grid-column-end: 3;\n`;\n\nconst isGrouped = (\n options: OptionsObject[] | GroupedOptionsObject[]\n): options is GroupedOptionsObject[] =>\n Array.isArray(options) && options.length > 0 && 'group' in options[0];\n\nconst getSelectedOptionObject = ({ options, selectedOptionValue }) => {\n if (!options || !selectedOptionValue) {\n return { icon: null, title: null };\n }\n\n if (isGrouped(options)) {\n for (const option of options) {\n const foundItem = option.items.find(\n item => item.value === selectedOptionValue\n );\n if (foundItem) {\n return foundItem;\n }\n }\n } else {\n const foundItem = options.find(item => item.value === selectedOptionValue);\n return foundItem || { icon: null, title: null };\n }\n\n return { icon: null, title: null };\n};\n\nconst getIcon = ({ options, selectedItem, selectedOptionValue }) => {\n if (selectedItem) {\n return selectedItem.icon;\n }\n\n if (selectedOptionValue) {\n return getSelectedOptionObject({ options, selectedOptionValue }).icon;\n }\n};\n\nconst getTitle = ({\n options,\n selectedItem,\n selectedOptionValue,\n selectPlaceholder,\n}) => {\n if (selectedItem) {\n return selectedItem.title;\n }\n\n if (selectedOptionValue) {\n return getSelectedOptionObject({ options, selectedOptionValue }).title;\n }\n\n return selectPlaceholder;\n};\n\nconst getHeaderAccessibilityProps = ({\n selectedItem,\n getInputProps,\n getToggleButtonProps,\n ariaMenuName,\n}) => {\n const valueLabel = selectedItem\n ? `selected value is ${selectedItem.title}`\n : 'no value selected';\n\n const toggleLabel = getToggleButtonProps?.()['aria-label'];\n return {\n // Ensures all options within the list of selections can be narrated by a screen reader\n 'aria-activedescendant': getInputProps()['aria-activedescendant'],\n // The existing aria-label includes whether or not the menu is open or closed, and we add the valueLabel to make a screen reader narrate what is selected\n 'aria-label': [ariaMenuName, toggleLabel, valueLabel]\n .filter(Boolean)\n .join(', '),\n };\n};\n\nconst SelectHeader = ({\n getToggleButtonProps,\n inputValue,\n selectedItem,\n selectedOptionValue,\n selectPlaceholder,\n isDisabled,\n options,\n getInputProps,\n ariaMenuName,\n hasError,\n}: SelectHeaderProps & React.ComponentProps<typeof SelectHeaderWrapper>) => {\n const icon = getIcon({ options, selectedItem, selectedOptionValue });\n const hasIcon = Boolean(icon);\n\n const hasPlaceholder = !selectedOptionValue && !selectedItem;\n const iconColumn = hasIcon ? 'auto' : '';\n const columns = `${iconColumn} 1fr auto`;\n const color = isDisabled ? 'disabledContent' : undefined;\n\n return (\n <SelectHeaderWrapper\n {...getToggleButtonProps()}\n {...getHeaderAccessibilityProps({\n selectedItem,\n getInputProps,\n getToggleButtonProps,\n ariaMenuName,\n })}\n hasValue={inputValue || selectedOptionValue}\n disabled={isDisabled}\n columns={columns}\n hasError={hasError}\n >\n {hasIcon &&\n (typeof icon === 'string' ? (\n <Container radius=\"50\" width={3} height={3} overflow=\"hidden\">\n <Align alignment=\"center\">\n <Image src={icon} alt=\"\" isDisabled={isDisabled} />\n </Align>\n </Container>\n ) : (\n <Icon\n icon={getIcon({ options, selectedItem, selectedOptionValue })}\n color={color}\n />\n ))}\n <Text hasEllipsis color={hasPlaceholder ? 'bodyDimmed' : 'inherit'}>\n {getTitle({\n options,\n selectedItem,\n selectedOptionValue,\n selectPlaceholder,\n })}\n </Text>\n <Icon icon={<SvgChevronDown />} color={color} />\n </SelectHeaderWrapper>\n );\n};\n\nconst CustomHeader = ({\n selectedOptionValue,\n selectedItem,\n trigger,\n getToggleButtonProps,\n options,\n selectPlaceholder,\n isDisabled,\n getInputProps,\n ariaMenuName,\n hasError,\n errorMessage,\n}) => {\n const buttonProps = () => {\n return {\n ...getToggleButtonProps(),\n ...getHeaderAccessibilityProps({\n selectedItem,\n getInputProps,\n getToggleButtonProps,\n ariaMenuName,\n }),\n };\n };\n const getSelectedItem = (): OptionsObject | undefined => {\n if (selectedItem) {\n return selectedItem;\n }\n\n if (selectedOptionValue) {\n return getSelectedOptionObject({ options, selectedOptionValue });\n }\n };\n\n const triggerContent = {\n ...getSelectedItem(),\n placeholder: selectPlaceholder,\n isDisabled,\n hasError,\n errorMessage,\n };\n\n return trigger(triggerContent, buttonProps());\n};\n\nconst getSelectedOption = (\n value: string,\n options: OptionsObject[] | GroupedOptionsObject[]\n): OptionsObject | undefined => {\n if (isGrouped(options)) {\n for (const option of options) {\n const foundItem = option.items.find(item => item.value === value);\n if (foundItem) {\n return foundItem;\n }\n }\n } else {\n return options.find(item => item.value === value);\n }\n};\n\nconst didSelectedOptionValueChange = (\n selectedOptionValue: string,\n prevSelectedItem: OptionsObject | undefined\n) => {\n return Boolean(\n prevSelectedItem && selectedOptionValue !== prevSelectedItem.value\n );\n};\n\nconst renderOption = (\n item,\n index,\n selectedItem,\n selectedOptionValue,\n highlightedIndex,\n getItemProps\n) => {\n const isSelected =\n (!selectedItem && item.value === selectedOptionValue) ||\n (selectedItem && selectedItem.value === item.value);\n return (\n <MenuItem\n key={index}\n getItemProps={getItemProps}\n icon={item.icon}\n hidden={item.hidden}\n {...getItemProps({\n key: `${item.value}-${index}`,\n index,\n item,\n disabled: item.isDisabled,\n 'aria-selected': isSelected,\n })}\n isDisabled={item.isDisabled}\n hasDivider={item.hasDivider}\n isHighlighted={highlightedIndex === index}\n isSelected={isSelected}\n >\n {item.title}\n </MenuItem>\n );\n};\n\nconst SelectMenu = ({\n options,\n selectedItem,\n selectedOptionValue,\n highlightedIndex,\n getItemProps,\n ...menuProps\n}) => {\n if (!isGrouped(options)) {\n return (\n <Menu {...menuProps}>\n {options.map((item, index) =>\n renderOption(\n item,\n index,\n selectedItem,\n selectedOptionValue,\n highlightedIndex,\n getItemProps\n )\n )}\n </Menu>\n );\n }\n\n let downshiftIndex = 0;\n return (\n <Menu {...menuProps}>\n {options.map(group => {\n const groupId = `group-${group.group.replace(/\\s+/g, '-')}`;\n return (\n <li key={groupId}>\n <Spacer left=\"medium\" top=\"small\" bottom=\"xsmall\">\n <Text id={groupId} size=\"body-sm\" fontWeight=\"bold\">\n {group.group}\n </Text>\n </Spacer>\n <Group role=\"group\" aria-labelledby={groupId}>\n {group.items.map(item => {\n return renderOption(\n item,\n downshiftIndex++,\n selectedItem,\n selectedOptionValue,\n highlightedIndex,\n getItemProps\n );\n })}\n </Group>\n </li>\n );\n })}\n </Menu>\n );\n};\n\nconst Select = ({\n container,\n onChange,\n menuZIndex = 1100,\n menuMaxWidth,\n menuMaxHeight = 34,\n menuMinWidth,\n ariaMenuName,\n selectedOptionValue,\n onOuterClick,\n options,\n placeholder,\n menuPosition = 'left',\n isDisabled,\n onOpenChange,\n trigger,\n hasError,\n errorMessage = \"Oops, that didn't work.\",\n ...props\n}: SelectProps &\n Omit<React.ComponentProps<typeof SelectWrapper>, keyof SelectProps> &\n Omit<\n LensDivProps,\n keyof SelectProps & React.ComponentProps<typeof SelectWrapper>\n >) => {\n const environment = getDownshiftEnvironment(container);\n\n const [downshiftIsOpen, setDownshiftIsOpen] = useState(false);\n\n const [prevSelectedItem, setPrevSelectedItem] = useState(\n getSelectedOption(selectedOptionValue, options)\n );\n\n const [selectedItem, setSelectedItem] = useState(prevSelectedItem);\n\n const onDownshiftChange = item => {\n setSelectedItem(item);\n onChange && onChange(item ? item : '');\n };\n\n const downshiftProps = {\n itemToString: item => (item ? item.value : ''),\n onChange: onDownshiftChange,\n onOuterClick,\n environment,\n selectedItem,\n isOpen: downshiftIsOpen,\n };\n\n if (environment) {\n downshiftProps.environment = environment;\n }\n\n const { layerProps, triggerProps, renderLayer, triggerBounds } = useLayer({\n isOpen: downshiftIsOpen,\n container,\n ResizeObserver,\n placement: menuPositions[menuPosition],\n auto: true,\n snap: true,\n });\n\n useEffect(() => {\n if (didSelectedOptionValueChange(selectedOptionValue, prevSelectedItem)) {\n const selectedItem = getSelectedOption(selectedOptionValue, options);\n\n setPrevSelectedItem(selectedItem);\n setSelectedItem(selectedItem);\n }\n }, [selectedOptionValue, options, prevSelectedItem]);\n\n useEffect(() => {\n onOpenChange && onOpenChange(downshiftIsOpen);\n }, [downshiftIsOpen, onOpenChange]);\n\n const stateReducer = (state, changes) => {\n if (changes.isOpen !== undefined) {\n if (changes.type === Downshift.stateChangeTypes.keyDownEscape) {\n setDownshiftIsOpen(false);\n\n return { isOpen: false };\n }\n\n setDownshiftIsOpen(changes.isOpen);\n }\n\n return changes;\n };\n\n return (\n <SelectWrapper {...props}>\n <Downshift {...downshiftProps} stateReducer={stateReducer}>\n {({\n getItemProps,\n getInputProps,\n getMenuProps,\n getToggleButtonProps,\n isOpen,\n inputValue,\n highlightedIndex,\n selectedItem,\n }) => {\n return (\n // Don't set the role to combobox to ensure a consistent experience for screen readers\n <div role=\"presentation\">\n <div {...triggerProps}>\n {trigger ? (\n <CustomHeader\n getToggleButtonProps={getToggleButtonProps}\n selectedItem={selectedItem}\n selectedOptionValue={selectedOptionValue}\n selectPlaceholder={placeholder}\n isDisabled={isDisabled}\n options={options}\n trigger={trigger}\n getInputProps={getInputProps}\n ariaMenuName={ariaMenuName}\n hasError={hasError}\n errorMessage={errorMessage}\n />\n ) : (\n <SelectHeader\n getToggleButtonProps={getToggleButtonProps}\n selectedItem={selectedItem}\n selectedOptionValue={selectedOptionValue}\n selectPlaceholder={placeholder}\n options={options}\n inputValue={inputValue}\n isDisabled={isDisabled}\n getInputProps={getInputProps}\n ariaMenuName={ariaMenuName}\n hasError={hasError}\n />\n )}\n </div>\n {downshiftIsOpen &&\n isOpen &&\n renderLayer(\n <div\n {...layerProps}\n style={{\n ...layerProps.style,\n zIndex: menuZIndex,\n width: menuMinWidth ? 'auto' : triggerBounds?.width,\n }}\n >\n <SelectMenu\n options={options}\n selectedItem={selectedItem}\n selectedOptionValue={selectedOptionValue}\n highlightedIndex={highlightedIndex}\n getItemProps={getItemProps}\n position={menuPosition}\n downshiftMenuProps={getMenuProps}\n maxWidth={menuMaxWidth}\n maxHeight={menuMaxHeight}\n minWidth={menuMinWidth}\n />\n </div>\n )}\n {hasError && !downshiftIsOpen && (\n <ErrorMessage>{errorMessage}</ErrorMessage>\n )}\n </div>\n );\n }}\n </Downshift>\n </SelectWrapper>\n );\n};\n\nexport type OptionsObject = {\n value: string;\n title: React.ReactNode;\n icon?: React.ReactNode | string;\n isDisabled?: boolean;\n hasDivider?: boolean;\n hidden?: HTMLAttributes<HTMLOptionElement>['hidden'];\n};\n\nexport type GroupedOptionsObject = {\n group: string;\n items: OptionsObject[];\n};\n\ntype SelectProps = {\n onChange?: (selectedOption: OptionsObject) => void;\n isDisabled?: boolean;\n placeholder?: React.ReactNode;\n selectedOptionValue?: string | null;\n menuZIndex?: number;\n menuMaxWidth?: string | number;\n menuMaxHeight?: string | number;\n menuMinWidth?: string | number;\n menuPosition?: 'left' | 'right' | 'topRight' | 'topLeft';\n ariaMenuName?: string;\n options?: OptionsObject[] | GroupedOptionsObject[];\n container?: HTMLElement;\n onOuterClick?: () => void;\n onOpenChange?: (isOpen: boolean) => void;\n trigger?: (triggerContent, buttonProps) => void;\n hasError?: boolean;\n errorMessage?: string;\n};\n\ntype SelectHeaderProps = {\n getToggleButtonProps?: any;\n inputValue?: string;\n selectedItem?: { icon: React.ReactNode; title: string };\n selectedOptionValue?: string;\n selectPlaceholder?: React.ReactNode;\n isDisabled?: boolean;\n options?: OptionsObject[] | GroupedOptionsObject[];\n columns?: string;\n getInputProps?: any;\n ariaMenuName?: string;\n hasError?: boolean;\n};\n\nexport default Select;\n", "export const getDownshiftEnvironment = container => {\n const rootNode = container?.()?.getRootNode?.();\n\n if (String(rootNode) === '[object ShadowRoot]') {\n // Create a polyfill for Downshift to not throw errors when appended to a shadow DOM\n // See: https://github.com/downshift-js/downshift/issues/834\n rootNode.createElement = (...args) =>\n rootNode.ownerDocument.createElement(...args);\n\n const downshiftPolyfill = rootNode.createElement('div');\n\n downshiftPolyfill.id = 'a11y-status-message';\n downshiftPolyfill.style.display = 'none';\n\n rootNode.appendChild(downshiftPolyfill);\n\n // Necessary properties for Downshift to register clicks inside a shadow DOM.\n // See: https://github.com/downshift-js/downshift/issues/536\n return {\n document: rootNode,\n addEventListener: rootNode.addEventListener.bind(rootNode),\n removeEventListener: rootNode.removeEventListener.bind(rootNode),\n };\n }\n\n if (typeof window === 'undefined') {\n return null;\n }\n\n return window;\n};\n", "import * as React from 'react';\n\nexport function SvgChevronDown() {\n return (\n <span aria-hidden={true} data-testid=\"ads-refreshed-icon\">\n <svg viewBox=\"-2 -2 16 16\">\n <path\n fill=\"currentColor\"\n fillRule=\"evenodd\"\n d=\"M2.03 3.97 6 7.94l3.97-3.97 1.06 1.06-4.5 4.5a.75.75 0 0 1-1.06 0l-4.5-4.5z\"\n clipRule=\"evenodd\"\n />\n </svg>\n </span>\n );\n}\n", "import styled from '@emotion/styled';\nimport React from 'react';\n\nimport {\n getColorValue,\n getRadius,\n getShadow,\n getSize,\n getFocusRing,\n u,\n} from '../../utilities';\n\nimport { SvgCheck } from '../icon/available-icons/check';\nimport Align from '../align/align';\nimport Container from '../container/container';\nimport Icon from '../icon/icon';\nimport Text from '../text/text';\n\ntype MenuPositionsProps = {\n [key: string]:\n | 'bottom-start'\n | 'bottom-end'\n | 'top-start'\n | 'top-end'\n | 'left-start'\n | 'right-start';\n};\n\nexport const menuPositions: MenuPositionsProps = {\n left: 'bottom-start',\n right: 'bottom-end',\n ['topLeft']: 'top-start',\n ['topRight']: 'top-end',\n leftSide: 'left-start',\n rightSide: 'right-start',\n};\n\nconst MenuContainer = styled.div<MenuProps>`\n background-color: ${getColorValue('overlay')};\n display: flex;\n flex-direction: column;\n margin: 0;\n ${props => getSize('min-width', props.minWidth)};\n ${props => getSize('max-width', props.maxWidth)};\n ${props => getSize('max-height', props.maxHeight)};\n z-index: ${props => props.zIndex};\n border: 1px solid ${getColorValue('border')};\n ${getShadow('medium')};\n ${getRadius('250')};\n`;\n\nconst MenuWrapper = styled.ul<MenuProps>`\n padding: ${props =>\n props.search ? `0 ${u(1.5)} ${u(1.5)} ${u(1.5)}` : u(1.5)};\n list-style: none;\n overflow: auto;\n margin: 0;\n`;\n\nconst MenuItemWrapper = styled.li<MenuItemProps>`\n display: ${({ hidden }) => (hidden ? 'none' : 'grid')};\n grid-auto-flow: column;\n grid-template-columns: ${props => props.columns};\n ${getSize('grid-gap', 'small')};\n ${getRadius('175')};\n align-items: center;\n min-height: ${u(5)};\n padding: 0 ${u(2)};\n cursor: ${props => (props.isDisabled ? 'default' : 'pointer')};\n &:focus-visible {\n outline: 1px solid transparent;\n }\n &:focus-visible {\n ${getFocusRing(undefined, 'inset')};\n }\n ${props =>\n props.isHighlighted &&\n !props.isDisabled &&\n `\n background-color: ${getColorValue('backgroundHover')};\n `};\n ${props =>\n props.hasDivider &&\n `\n position: relative;\n margin-top: ${u(3)};\n &:before {\n content: '';\n border-top: 1px solid ${getColorValue('border')};\n position: absolute;\n top: ${u(-1.5)};\n left: ${u(-1.5)};\n width: calc(100% + ${u(3)});\n }\n `};\n`;\n\nconst Image = styled.img<Pick<MenuItemProps, 'isDisabled'>>`\n height: 100%;\n width: auto;\n min-width: 100%;\n min-height: 100%;\n object-fit: cover;\n opacity: ${({ isDisabled }) => (isDisabled ? 0.5 : 1)};\n`;\n\nexport const MenuItem = ({\n isDisabled,\n isHighlighted,\n isSelected,\n icon,\n hasDivider,\n children,\n ...props\n}: MenuItemProps & React.ComponentProps<typeof MenuItemWrapper>) => {\n const checkColumn = isSelected ? 'auto' : '';\n const iconColumn = icon ? 'auto' : '';\n const columns = `${iconColumn} 1fr ${checkColumn}`;\n const color = isDisabled ? 'disabledContent' : undefined;\n\n return (\n <MenuItemWrapper\n isHighlighted={isHighlighted}\n isDisabled={isDisabled}\n columns={columns}\n hasDivider={hasDivider}\n tabIndex={isDisabled ? -1 : 0}\n data-highlighted={isHighlighted || undefined}\n {...props}\n >\n {icon &&\n (typeof icon === 'string' ? (\n <Container radius=\"50\" width={3} height={3} overflow=\"hidden\">\n <Align alignment=\"center\">\n <Image src={icon} alt=\"\" isDisabled={isDisabled} />\n </Align>\n </Container>\n ) : (\n <Icon icon={icon} color={color} />\n ))}\n <Text color={color} hasEllipsis>\n {children}\n </Text>\n {isSelected && <Icon icon={<SvgCheck />} color={color} />}\n </MenuItemWrapper>\n );\n};\n\nconst Menu = ({\n position,\n zIndex,\n minWidth,\n maxWidth,\n maxHeight,\n children,\n downshiftMenuProps = () => null,\n search,\n ...props\n}: MenuProps & React.ComponentProps<typeof MenuContainer>) => {\n return (\n <MenuContainer\n minWidth={minWidth}\n maxWidth={maxWidth}\n maxHeight={maxHeight}\n zIndex={zIndex}\n position={position}\n {...downshiftMenuProps()}\n {...props}\n >\n {search && search}\n <MenuWrapper search={search}>{children}</MenuWrapper>\n </MenuContainer>\n );\n};\n\ntype MenuProps = {\n isDisabled?: boolean;\n position?: string;\n zIndex?: number;\n minWidth?: number | string;\n maxWidth?: number | string;\n maxHeight?: number | string;\n children?: React.ReactNode;\n downshiftMenuProps?: any;\n search?: React.ReactElement;\n};\n\ntype MenuItemProps = {\n isDisabled?: boolean;\n isHighlighted?: boolean;\n isSelected?: boolean;\n icon?: React.ReactNode | string;\n hasDivider?: boolean;\n children?: React.ReactNode;\n columns?: string;\n hidden?: boolean;\n};\n\nexport default Menu;\n", "import CheckMarkIcon from '@atlaskit/icon/core/check-mark';\nimport * as React from 'react';\n\nexport function SvgCheck() {\n return <CheckMarkIcon label=\"\" testId=\"ads-refreshed-icon\" />;\n}\n", "import styled from '@emotion/styled';\nimport React from 'react';\nimport { useTransition } from 'transition-hook';\n\nimport usePreventScroll from '../../hooks/use-prevent-scroll';\nimport { LensDivProps } from '../../types';\nimport { getColorValue } from '../../utilities';\n\nconst duration = 300;\n\nconst BackdropWrapper = styled.div<BackdropProps>`\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n height: 100vh;\n background: ${props => getColorValue(props.backgroundColor)};\n z-index: ${props => props.zIndex};\n overflow: hidden;\n`;\n\nconst ChildrenWrapper = styled.div`\n overflow: auto;\n height: 100%;\n`;\n\nconst Backdrop = ({\n children,\n isOpen,\n zIndex = 1000,\n backgroundColor = 'backdropDark',\n ...props\n}: BackdropProps &\n React.ComponentProps<typeof BackdropWrapper> &\n Omit<\n LensDivProps,\n keyof BackdropProps & React.ComponentProps<typeof BackdropWrapper>\n >) => {\n const { stage, shouldMount } = useTransition(isOpen, duration);\n\n usePreventScroll('html', isOpen);\n\n return (\n <>\n {shouldMount && (\n <BackdropWrapper\n backgroundColor={backgroundColor}\n zIndex={zIndex}\n style={{\n transition: `opacity ${duration}ms`,\n opacity: stage === 'enter' ? 1 : 0,\n }}\n {...props}\n >\n <ChildrenWrapper>{children}</ChildrenWrapper>\n </BackdropWrapper>\n )}\n </>\n );\n};\n\ntype BackdropProps = {\n isOpen?: boolean;\n children?: React.ReactNode;\n zIndex?: number;\n backgroundColor?: string;\n};\n\nexport default Backdrop;\n", "import { useLayoutEffect } from 'react';\n\n/**\n * Usage:\n * usePreventScroll(<level>, <boolean-condition>);\n *\n * `level` allows you to control whether the styles\n * are passed to html or body, whichever level makes more sense\n * for your application.\n **/\nfunction usePreventScroll(level: 'body' | 'html', enabled?: boolean): void {\n const safeDocument: Document = document;\n\n useLayoutEffect(() => {\n const html = safeDocument?.documentElement;\n const body = safeDocument?.body;\n\n if (safeDocument == undefined || !html || !body) {\n return;\n }\n\n if (enabled) {\n // Add styles if enabled\n const scrollBarWidth = window.innerWidth - html.clientWidth;\n const bodyPaddingRight =\n parseInt(\n window.getComputedStyle(body).getPropertyValue('padding-right'),\n /* Force radixValue to be base-10 system to avoid errors:\n * https://stackoverflow.com/questions/6611824/why-do-we-need-to-use-radix-parameter-when-calling-parseint\n */\n 10\n ) || 0;\n /**\n * [1] iOS and desktop Safari bug: Requires position to make `overflow: hidden`\n * prevent scrolling.\n * [2] Desktop Safari bug: Must override overflow in both directions\n * since `overflowY` won't prevent scroll if `overflowX` is applied.\n * [3] paddingRight takes into account scrollbars by running a check.\n **/\n\n switch (level) {\n case 'html': {\n html.style.position = 'relative'; /* [1] */\n html.style.overflow = 'hidden'; /* [2] */\n body.style.paddingRight = `${\n bodyPaddingRight + scrollBarWidth\n }px`; /* [3] */\n break;\n }\n case 'body': {\n body.style.setProperty('position', 'relative'); /* [1] */\n body.style.setProperty('overflow', 'hidden'); /* [2] */\n body.style.setProperty(\n 'padding-right',\n `${bodyPaddingRight + scrollBarWidth}px`\n ); /* [3] */\n break;\n }\n\n default:\n return;\n }\n }\n\n return () => {\n switch (level) {\n case 'html': {\n // TODO(LNS-221): Preserve previous style states rather than resetting to empty values for more robust utility\n html.style.position = ''; /* [1] */\n html.style.overflow = ''; /* [2] */\n body.style.paddingRight = ''; /* [3] */\n break;\n }\n case 'body': {\n body.style.removeProperty('position'); /* [1] */\n body.style.removeProperty('overflow'); /* [2] */\n body.style.removeProperty('padding-right'); /* [3] */\n break;\n }\n\n default:\n return;\n }\n };\n // TODO(LNS-215): Clear styles on return to make utility more extendable for other uses\n }, [safeDocument, enabled, level]);\n}\n\nexport default usePreventScroll;\n", "// TODO(LNS-183): Implement scroll-lock\nimport styled from '@emotion/styled';\nimport FocusTrap from 'focus-trap-react';\n\nimport React, { PropsWithChildren, useEffect } from 'react';\n\nimport usePreventScroll from '../../hooks/use-prevent-scroll';\nimport { LensDialogProps } from '../../types';\nimport {\n getColorValue,\n getPlacement,\n getRadius,\n getShadow,\n getSize,\n getSizeValue,\n u,\n} from '../../utilities';\nimport Backdrop from '../backdrop/backdrop';\nimport Container from '../container/container';\nimport { SvgClose } from '../icon/available-icons/close';\nimport IconButton from '../icon-button/icon-button';\n\nimport Spacer from '../spacer/spacer';\nimport Text from '../text/text';\n\nconst DEFAULT_MODAL_CARD_HEIGHT = '70vh';\n\nconst ContentWrapper = styled.div<ContentWrapperProps>`\n display: grid;\n grid-template-rows: ${props => props.rows};\n position: relative;\n`;\n\nconst ModalCardWrapper = styled.dialog<ModalCardProps>`\n top: ${props =>\n getPlacement(getSizeValue(props.maxHeight), props.placement).top};\n background-color: ${getColorValue('overlay')};\n color: ${getColorValue('body')};\n bottom: ${props => getPlacement(props.maxHeight, props.placement).bottom};\n ${getShadow('large')};\n ${getRadius('xlarge')};\n // Unsets bottom-radius for bottom-aligned modals\n border-bottom-left-radius: ${props =>\n props.placement === 'bottom' ? 'initial' : undefined};\n border-bottom-right-radius: ${props =>\n props.placement === 'bottom' ? 'initial' : undefined};\n ${props => getSize('max-height', props.maxHeight)};\n ${props => getSize('max-width', props.maxWidth)};\n margin: 0 auto;\n position: ${props => getPlacement(props.maxHeight, props.placement).position};\n overflow: auto;\n width: 100%;\n // TODO: LNS-150: Bake dialog resets into native resets file\n border: 0;\n padding: 0;\n &::backdrop {\n background: var(--lns-color-overlay);\n }\n`;\n\nconst CloseIconSection = styled.div`\n position: absolute;\n top: ${u(1.5)};\n right: ${u(1.5)};\n z-index: 1;\n`;\n\nconst RightButtonsSection = styled.div`\n margin-left: auto;\n\n * {\n vertical-align: middle;\n }\n`;\n\nconst TitleSection = styled.div<TitleSectionProps>`\n padding-left: var(--lns-space-xlarge);\n padding-right: var(--lns-space-xlarge);\n padding-top: var(--lns-space-xlarge);\n padding-bottom: ${props => props.bottom};\n flex-shrink: 0;\n`;\n\nconst ButtonsSection = styled.div<ButtonsSectionProps>`\n padding-left: var(--lns-space-xlarge);\n padding-right: var(--lns-space-xlarge);\n padding-bottom: var(--lns-space-xlarge);\n padding-top: ${props =>\n props.hasDividers ? 'var(--lns-space-medium)' : props.top};\n flex-shrink: 0;\n display: flex;\n justify-content: space-between;\n align-items: center;\n`;\n\nconst ChildrenSection = styled.div<Omit<ChildrenSectionProps, 'title'>>`\n display: flex;\n flex-direction: column;\n overflow: auto;\n padding-top: ${props =>\n props.hasTitle && !props.noPadding\n ? 0\n : !props.hasTitle && !props.noPadding\n ? 'var(--lns-space-xlarge)'\n : 0};\n padding-bottom: ${props =>\n props.hasButtons && !props.noPadding\n ? 0\n : !props.hasButtons && !props.noPadding\n ? 'var(--lns-space-xlarge)'\n : 0};\n padding-left: ${props => (props.noPadding ? 0 : 'var(--lns-space-xlarge)')};\n padding-right: ${props => (props.noPadding ? 0 : 'var(--lns-space-xlarge)')};\n border-style: solid;\n border-color: ${getColorValue('border')};\n border-width: ${props => (props.hasDividers ? '1px 0' : '0')};\n`;\n\nconst ModalCardChildrenSection = styled.div<{ maxHeight: number | string }>`\n overflow: auto;\n\n ${props => getMaxHeight(props.maxHeight)};\n\n & > * {\n ${props => getMaxHeight(props.maxHeight)};\n }\n`;\n\nconst getMaxHeight = (maxHeight: number | string) => {\n if (typeof maxHeight === 'number') {\n return getSize('max-height', maxHeight);\n }\n\n return 'max-height: ' + maxHeight;\n};\n\nexport const ModalCard = ({\n children,\n onCloseClick,\n isOpen,\n maxWidth = 60,\n maxHeight = DEFAULT_MODAL_CARD_HEIGHT,\n placement = 'center',\n ariaLabel,\n ariaModal,\n ariaLabelledBy,\n ref,\n removeClose,\n initialFocus,\n ...props\n}: ModalCardProps & {\n initialFocus?:\n | HTMLElement\n | SVGElement\n | string\n | false\n | (() => HTMLElement | SVGElement | string | false | undefined);\n} & React.ComponentProps<typeof ModalCardWrapper> &\n Omit<\n LensDialogProps,\n keyof ModalCardProps & React.ComponentProps<typeof ModalCardWrapper>\n >) => {\n const keyListener = e => {\n if (e.key === 'Escape') {\n e.preventDefault();\n\n if (!removeClose) {\n onCloseClick(e);\n }\n }\n };\n\n useEffect(() => {\n window.addEventListener('keydown', keyListener);\n\n return () => {\n window.removeEventListener('keydown', keyListener);\n };\n }, [isOpen, onCloseClick]);\n\n usePreventScroll('html', isOpen);\n\n return (\n <FocusTrap\n active={isOpen}\n focusTrapOptions={{\n clickOutsideDeactivates: false,\n allowOutsideClick: true,\n ...(initialFocus !== undefined ? { initialFocus } : {}),\n }}\n >\n {/* This dialog is interactable with the keyboard and need keyboard events -\n the keydown event is handled by the useEffect above.\n */}\n {/* eslint-disable-next-line styled-components-a11y/no-noninteractive-element-interactions, styled-components-a11y/click-events-have-key-events */}\n <ModalCardWrapper\n open={isOpen}\n maxWidth={maxWidth}\n maxHeight={maxHeight}\n placement={placement}\n onClick={e => e.stopPropagation()}\n ref={ref}\n aria-label={ariaLabel}\n aria-modal={ariaModal}\n aria-labelledby={ariaLabelledBy}\n {...props}\n >\n {!removeClose && onCloseClick && (\n <CloseIconSection>\n <IconButton\n altText=\"Close\"\n icon={<SvgClose />}\n onClick={onCloseClick}\n />\n </CloseIconSection>\n )}\n <ModalCardChildrenSection\n // If we are hiding the close button, we have to make the child container tab-able to allow <FocusTrap/> to\n // render, since it fails if there is not at least one tab-able node.\n {...(removeClose ? { tabIndex: 0 } : { tabIndex: -1 })}\n maxHeight={maxHeight}\n >\n {children}\n </ModalCardChildrenSection>\n </ModalCardWrapper>\n </FocusTrap>\n );\n};\n\ntype AllProps = ModalProps & React.ComponentProps<typeof Backdrop>;\n\nconst Modal = React.forwardRef(\n (\n {\n children,\n id,\n isOpen,\n mainButton,\n secondaryButton,\n alternativeButton,\n title,\n noPadding,\n onCloseClick,\n onBackgroundClick,\n onKeyDown,\n hasDividers,\n maxHeight = '70vh',\n maxWidth = 60,\n placement = 'center',\n zIndex = 1000,\n ariaLabel,\n ariaModal = true,\n ariaLabelledBy,\n initialFocus,\n ...props\n }: AllProps & {\n initialFocus?:\n | HTMLElement\n | SVGElement\n | string\n | false\n | (() => HTMLElement | SVGElement | string | false | undefined);\n },\n ref: React.ForwardedRef<HTMLDialogElement>\n ) => {\n const titleId = id ? `${id}-modal-title` : 'modal-title';\n const hasButtons =\n mainButton || secondaryButton || alternativeButton ? true : false;\n const closeClickHandler = e => {\n if (onBackgroundClick) {\n e.stopPropagation();\n onBackgroundClick(e);\n\n return;\n }\n\n onCloseClick(e);\n };\n\n return (\n <Backdrop isOpen={isOpen} zIndex={zIndex} {...props}>\n <Container\n height=\"100%\"\n onClick={closeClickHandler}\n onKeyDown={onKeyDown}\n >\n <ModalCard\n ref={ref}\n id={id}\n isOpen={isOpen}\n maxHeight={maxHeight}\n maxWidth={maxWidth}\n placement={placement}\n onCloseClick={onCloseClick}\n ariaLabel={ariaLabel}\n ariaModal={ariaModal}\n ariaLabelledBy={ariaLabelledBy ?? titleId ?? undefined}\n initialFocus={initialFocus}\n >\n <ContentWrapper\n rows={`${title ? 'auto ' : ''} ${children ? '1fr ' : ''} ${\n hasButtons ? 'auto' : ''\n }`}\n >\n {title && (\n <TitleSection\n bottom={\n children\n ? 'var(--lns-space-medium)'\n : 'var(--lns-space-xlarge)'\n }\n >\n <Text htmlTag=\"h1\" variant=\"title\" id={titleId}>\n {title}\n </Text>\n </TitleSection>\n )}\n <ChildrenSection\n noPadding={noPadding}\n hasDividers={hasDividers}\n hasTitle={Boolean(title)}\n hasButtons={hasButtons}\n >\n {children && children}\n </ChildrenSection>\n\n {hasButtons && (\n <ButtonsSection\n top={children ? 'var(--lns-space-xlarge)' : 0}\n hasDividers={hasDividers}\n >\n {alternativeButton}\n <RightButtonsSection>\n {secondaryButton && (\n <Spacer right=\"small\" isInline>\n {secondaryButton}\n </Spacer>\n )}\n {mainButton}\n </RightButtonsSection>\n </ButtonsSection>\n )}\n </ContentWrapper>\n </ModalCard>\n </Container>\n </Backdrop>\n );\n }\n);\n\ntype ModalProps = PropsWithChildren<{\n isOpen?: boolean;\n mainButton?: React.ReactNode;\n secondaryButton?: React.ReactNode;\n alternativeButton?: React.ReactNode;\n title?: React.ReactNode;\n onCloseClick?: React.ReactEventHandler;\n onBackgroundClick?: React.ReactEventHandler;\n onKeyDown?: React.ReactEventHandler;\n hasDividers?: boolean;\n maxHeight?: number | string;\n maxWidth?: number | string;\n noPadding?: boolean;\n placement?: 'center' | 'bottom';\n zIndex?: number;\n ariaLabel?: string;\n ariaModal?: boolean;\n ariaLabelledBy?: string;\n initialFocus?:\n | HTMLElement\n | SVGElement\n | string\n | false\n | (() => HTMLElement | SVGElement | string | false | undefined);\n}>;\n\ntype ModalCardProps = PropsWithChildren<{\n id?: string;\n isOpen?: boolean;\n onKeyDown?: React.ReactEventHandler;\n onCloseClick?: React.ReactEventHandler;\n placement?: string;\n maxHeight?: number | string;\n maxWidth?: number | string;\n ariaLabel?: string;\n ariaModal?: boolean;\n ariaLabelledBy?: string;\n removeClose?: boolean;\n}>;\n\ntype ChildrenSectionProps = {\n title?: React.ReactNode;\n hasButtons?: boolean;\n hasDividers?: boolean;\n hasTitle: boolean;\n noPadding?: boolean;\n};\n\ntype ButtonsSectionProps = {\n top?: string | number;\n hasDividers?: boolean;\n};\n\ntype TitleSectionProps = {\n bottom: number | string;\n};\n\ntype ContentWrapperProps = {\n rows: string;\n};\n\nexport default Modal;\n", "import CloseIcon from '@atlaskit/icon/core/close';\nimport * as React from 'react';\n\nexport function SvgClose() {\n return <CloseIcon label=\"\" testId=\"ads-refreshed-icon\" />;\n}\n", "import { css } from '@emotion/react';\nimport styled from '@emotion/styled';\nimport React from 'react';\n\nimport { LensAnchorProps } from '../../types';\nimport { getColorValue, getFocusRing } from '../../utilities';\n\nconst variants = {\n neutral: {\n color: getColorValue('inherit'),\n focusRing: getFocusRing(),\n underline: 'inactive',\n },\n primary: {\n color: getColorValue('primary'),\n focusRing: getFocusRing(),\n underline: 'inactive',\n },\n subtle: {\n color: getColorValue('body'),\n focusRing: getFocusRing(),\n underline: 'hover',\n },\n};\n\nconst statusStyles = {\n enabled: css`\n cursor: pointer;\n `,\n disabled: css`\n pointer-events: none;\n color: ${getColorValue('disabledContent')};\n `,\n};\n\nconst buttonStyles = {\n isButton: css`\n background: none;\n border: none;\n font: inherit;\n `,\n};\n\nconst LinkWrapper = styled.a<LinkWrapperProps>`\n ${props => !props.disabled && `color: ${variants[props.variant].color}`};\n ${props => (props.disabled ? statusStyles.disabled : statusStyles.enabled)};\n ${props => props.as === 'button' && buttonStyles.isButton};\n ${props =>\n `text-decoration: ${\n variants[props.variant].underline === 'inactive' ? 'underline' : 'none'\n }`};\n border-radius: 0.28em;\n box-shadow: 0 0 0 1px transparent;\n text-underline-offset: 0.35em;\n transition: 0.3s box-shadow;\n &:hover {\n ${props =>\n `text-decoration: ${\n variants[props.variant].underline === 'hover' ? 'underline' : 'none'\n }`};\n }\n &:focus,\n &:focus-visible {\n outline: 1px solid transparent;\n }\n &:focus-visible {\n ${getFocusRing()};\n }\n &::-moz-focus-inner {\n border: 0;\n }\n`;\n\n// This implementation can trigger false positives for accessibility rules\n// TODO: Improve button link semantics to avoid jsx-a11y/anchor-is-valid warnings\nconst Link = ({\n children,\n href,\n variant = 'primary',\n htmlTag = 'a',\n isDisabled,\n ...props\n}: LinkProps &\n React.ComponentProps<typeof LinkWrapper> &\n Omit<\n LensAnchorProps,\n keyof LinkProps & React.ComponentProps<typeof LinkWrapper>\n >) => (\n <LinkWrapper\n href={href}\n variant={variant}\n as={htmlTag}\n disabled={isDisabled}\n {...props}\n >\n {children}\n </LinkWrapper>\n);\n\nexport const availableVariants = Object.keys(variants);\n\ntype LinkProps = {\n children?: React.ReactNode;\n href?: string;\n variant?: 'neutral' | 'primary' | 'subtle';\n htmlTag?: 'button' | 'a';\n isDisabled?: boolean;\n onClick?: React.MouseEventHandler<HTMLAnchorElement>;\n target?: string;\n};\n\ntype LinkWrapperProps = {\n children?: React.ReactNode;\n href?: string;\n disabled?: boolean;\n variant?: 'neutral' | 'primary' | 'subtle';\n as?: string;\n target?: string;\n};\n\nexport default Link;\n", "import styled from '@emotion/styled';\nimport React from 'react';\n\nimport { getColorValue, getRadius, getTextSize, u } from '../../utilities';\nimport Spacer from '../spacer/spacer';\nimport Text from '../text/text';\n\nconst sizesStyles = {\n small: {\n padding: `${u(1.5)} ${u(1.75)}`,\n textSize: 'small',\n },\n medium: {\n padding: `${u(1.5)} var(--lns-formFieldHorizontalPadding)`,\n textSize: 'medium',\n },\n};\n\nconst TextareaWrapper = styled.textarea<TextareaProps>`\n width: 100%;\n border: none;\n font-family: inherit;\n color: inherit;\n background-color: ${getColorValue('formFieldBackground')};\n transition: 0.3s box-shadow;\n padding: ${props => sizesStyles[props.size].padding};\n ${getRadius('large')};\n box-shadow: inset 0 0 0 var(--lns-formFieldBorderWidth)\n ${props =>\n props.error\n ? 'var(--lns-color-danger)'\n : 'var(--lns-color-formFieldBorder)'};\n ${props => getTextSize(sizesStyles[props.size].textSize)};\n resize: ${props => props.resize};\n\n &:hover {\n box-shadow: inset 0 0 0 var(--lns-formFieldBorderWidthFocus)\n ${props =>\n props.error ? 'var(--lns-color-danger)' : 'var(--lns-color-blurple)'};\n }\n\n &:focus {\n outline: 1px solid\n ${props => (props.error ? 'var(--lns-color-orangeLight)' : 'transparent')};\n box-shadow: ${props =>\n props.error\n ? 'var(--lns-formFieldBorderShadowError)'\n : 'var(--lns-formFieldBorderShadowFocus)'};\n }\n\n &:disabled {\n color: ${getColorValue('disabledContent')};\n background-color: ${getColorValue('disabledBackground')};\n }\n\n &:disabled:hover {\n box-shadow: inset 0 0 0 var(--lns-formFieldBorderWidth)\n var(--lns-color-formFieldBorder);\n }\n\n &::placeholder {\n color: ${getColorValue('bodyDimmed')};\n }\n`;\n\nconst Textarea = React.forwardRef(\n (\n {\n onChange,\n value,\n rows = 4,\n isDisabled,\n placeholder,\n size = 'medium',\n resize = 'both',\n error = null,\n ...props\n }: TextareaProps & React.ComponentProps<typeof TextareaWrapper>,\n ref: React.ForwardedRef<HTMLTextAreaElement>\n ) => (\n <>\n <TextareaWrapper\n disabled={isDisabled}\n onChange={onChange}\n placeholder={placeholder}\n ref={ref}\n rows={rows}\n value={value}\n size={size}\n resize={resize}\n error={error}\n {...props}\n />\n {error ? (\n <>\n <Spacer bottom=\"xmsall\" />\n <Text color=\"danger\" fontWeight=\"regular\" size=\"body-md\">\n {error}\n </Text>\n </>\n ) : null}\n </>\n )\n);\n\ntype TextareaProps = {\n rows?: number;\n value?: string;\n placeholder?: string;\n isDisabled?: boolean;\n onChange?: React.ReactEventHandler;\n size?: 'small' | 'medium';\n resize?: 'none' | 'both' | 'horizontal' | 'vertical';\n error?: string;\n};\n\nexport default Textarea;\n", "import styled from '@emotion/styled';\nimport Downshift from 'downshift';\nimport React, {\n HTMLAttributes,\n useEffect,\n useState,\n useMemo,\n forwardRef,\n useRef,\n useCallback,\n} from 'react';\n\nimport { useLayer } from 'react-laag';\nimport ResizeObserver from 'resize-observer-polyfill';\n\nimport { LensDivProps } from '../../types';\n\nimport { getDownshiftEnvironment } from '../../utilities/downshift';\nimport { getColorValue, getSize, u } from '../../utilities';\nimport { SvgChevronDown } from '../icon/available-icons/chevron-down';\nimport Icon from '../icon/icon';\n\nimport Menu, { MenuItem, menuPositions } from '../menu/menu';\nimport Align from '../align/align';\nimport Container from '../container/container';\nimport Loader from '../loader/loader';\nimport Spacer from '../spacer/spacer';\nimport Text from '../text/text';\n\nconst TypeaheadWrapper = styled.div`\n position: relative;\n`;\n\nconst Group = styled.ul`\n list-style: none;\n margin: 0;\n padding: 0;\n`;\n\nconst ErrorMessage = styled.span`\n color: var(--lns-color-red);\n margin-top: var(--lns-space-xsmall);\n display: block;\n width: 100%;\n grid-column-start: 1;\n grid-column-end: 3;\n`;\n\nconst isGrouped = (\n options: OptionsObject[] | GroupedOptionsObject[]\n): options is GroupedOptionsObject[] =>\n Array.isArray(options) && options.length > 0 && 'group' in options[0];\n\nconst getSelectedOptionObject = ({ options, selectedOptionValue }) => {\n if (!options || !selectedOptionValue) {\n return { icon: null, title: null };\n }\n\n if (isGrouped(options)) {\n for (const option of options) {\n const foundItem = option.items.find(\n item => item.value === selectedOptionValue\n );\n if (foundItem) {\n return foundItem;\n }\n }\n } else {\n const foundItem = options.find(item => item.value === selectedOptionValue);\n return foundItem || { icon: null, title: null };\n }\n\n return { icon: null, title: null };\n};\n\nconst getIcon = ({ options, selectedItem, selectedOptionValue }) => {\n if (selectedItem) {\n return selectedItem.icon;\n }\n\n if (selectedOptionValue) {\n return getSelectedOptionObject({ options, selectedOptionValue }).icon;\n }\n};\n\nconst getTitle = ({\n options,\n selectedItem,\n selectedOptionValue,\n placeholder,\n}) => {\n if (selectedItem) {\n return selectedItem.title;\n }\n\n if (selectedOptionValue) {\n return getSelectedOptionObject({ options, selectedOptionValue }).title;\n }\n\n return placeholder;\n};\n\nconst getHeaderAccessibilityProps = ({\n selectedItem,\n getInputProps,\n ariaMenuName,\n}) => {\n const valueLabel = selectedItem\n ? `selected value is ${selectedItem.title}`\n : 'no value selected';\n\n return {\n // Ensures all options within the list of selections can be narrated by a screen reader\n 'aria-activedescendant': getInputProps()['aria-activedescendant'],\n // The existing aria-label includes whether or not the menu is open or closed, and we add the valueLabel to make a screen reader narrate what is selected\n 'aria-label': [ariaMenuName, valueLabel].filter(Boolean).join(', '),\n };\n};\n\nconst TypeaheadHeaderWrapper = styled.button`\n position: relative;\n width: 100%;\n background: none;\n border: none;\n padding: 0;\n margin: 0;\n font: inherit;\n color: inherit;\n cursor: pointer;\n\n &:disabled {\n cursor: default;\n }\n`;\n\nconst TypeaheadInputField = styled.input<{\n hasIcon?: boolean;\n hasAddOn?: boolean;\n hasError?: boolean;\n isDisabled?: boolean;\n}>`\n -webkit-appearance: none;\n font-family: inherit;\n width: 100%;\n height: var(--lns-formFieldHeight);\n border: none;\n color: inherit;\n background-color: ${getColorValue('formFieldBackground')};\n transition: 0.3s box-shadow;\n padding-top: 0;\n padding-bottom: 0;\n padding-left: ${props =>\n props.hasIcon ? u(5.5) : 'var(--lns-formFieldHorizontalPadding)'};\n padding-right: ${props =>\n props.hasAddOn ? u(5.5) : 'var(--lns-formFieldHorizontalPadding)'};\n border-radius: var(--lns-formFieldRadius);\n box-shadow: inset 0 0 0\n ${props =>\n props.hasError\n ? 'var(--lns-formFieldBorderWidthFocus) var(--lns-color-danger)'\n : 'var(--lns-formFieldBorderWidth) var(--lns-color-formFieldBorder)'};\n\n ${getSize('font-size', 'medium')};\n\n &:hover:not(:disabled):not(:focus) {\n box-shadow: inset 0 0 0 var(--lns-formFieldBorderWidthFocus)\n ${props =>\n props.hasError\n ? 'var(--lns-color-danger)'\n : 'var(--lns-color-blurple)'};\n }\n\n &:focus {\n outline: 1px solid transparent;\n box-shadow: var(--lns-formFieldBorderShadowFocus);\n }\n\n &:disabled {\n color: ${getColorValue('disabledContent')};\n background-color: ${getColorValue('disabledBackground')};\n }\n\n &:disabled:hover {\n box-shadow: inset 0 0 0 var(--lns-formFieldBorderWidth)\n var(--lns-color-formFieldBorder);\n }\n\n &::placeholder {\n color: ${getColorValue('bodyDimmed')};\n }\n`;\n\nconst IconSection = styled.div`\n position: absolute;\n pointer-events: none;\n width: ${u(6)};\n height: 100%;\n display: flex;\n align-items: center;\n justify-content: center;\n left: 0;\n`;\n\nconst AddOnSection = styled.div`\n position: absolute;\n height: 100%;\n display: flex;\n align-items: center;\n justify-content: center;\n right: 0;\n width: ${u(6)};\n top: 50%;\n transform: translateY(-50%);\n`;\n\nconst TextOverlay = styled.div<{ hasIcon?: boolean }>`\n position: absolute;\n top: 0;\n left: ${props =>\n props.hasIcon ? u(5.5) : 'var(--lns-formFieldHorizontalPadding)'};\n right: ${u(5.5)};\n bottom: 0;\n display: flex;\n align-items: center;\n pointer-events: none;\n color: inherit;\n`;\n\n// Scale down proportionally (preserving aspect ratio) and crop overflow\nconst TypeaheadImage = styled.img<{ isDisabled?: boolean }>`\n height: 100%;\n width: auto;\n min-width: 100%;\n min-height: 100%;\n object-fit: cover;\n opacity: ${({ isDisabled }) => (isDisabled ? 0.5 : 1)};\n`;\n\nconst TypeaheadHeader = ({\n selectedItem,\n selectedOptionValue,\n placeholder,\n isDisabled,\n options,\n getInputProps,\n ariaMenuName,\n isOpen,\n onInputFocus,\n hasError,\n hasLoader,\n inputValue,\n handleInputValueChange,\n inputRef,\n}: TypeaheadHeaderProps) => {\n const icon = getIcon({ options, selectedItem, selectedOptionValue });\n const hasIcon = Boolean(icon);\n const color = isDisabled ? 'disabledContent' : undefined;\n\n const handleClickAndFocus = () => {\n if (!isDisabled) {\n onInputFocus();\n }\n };\n\n const inputProps = {\n role: 'combobox',\n 'aria-autocomplete': 'list',\n 'aria-haspopup': 'listbox',\n 'aria-expanded': isOpen,\n ...getHeaderAccessibilityProps({\n selectedItem,\n getInputProps,\n ariaMenuName,\n }),\n ...getInputProps({\n disabled: isDisabled,\n onFocus: handleClickAndFocus,\n onClick: handleClickAndFocus,\n value: inputValue,\n onBlur: () => {\n handleInputValueChange('');\n },\n onChange: e => handleInputValueChange(e.target.value),\n }),\n };\n\n const showPlaceholder = !inputValue && !selectedOptionValue;\n\n return (\n <TypeaheadHeaderWrapper onClick={handleClickAndFocus} disabled={isDisabled}>\n {hasIcon && (\n <IconSection>\n {typeof icon === 'string' ? (\n <Container radius=\"50\" width={3} height={3} overflow=\"hidden\">\n <Align alignment=\"center\">\n <TypeaheadImage src={icon} alt=\"\" isDisabled={isDisabled} />\n </Align>\n </Container>\n ) : (\n <Icon icon={icon} color={color} />\n )}\n </IconSection>\n )}\n\n <TypeaheadInputField\n ref={inputRef}\n {...inputProps}\n hasIcon={hasIcon}\n hasAddOn={true}\n hasError={hasError}\n isDisabled={isDisabled}\n />\n\n {!inputValue && (\n <TextOverlay hasIcon={hasIcon}>\n <Text hasEllipsis color={showPlaceholder ? 'bodyDimmed' : 'inherit'}>\n {getTitle({\n options,\n selectedItem,\n selectedOptionValue,\n placeholder,\n })}\n </Text>\n </TextOverlay>\n )}\n\n <AddOnSection>\n {hasLoader ? (\n <Loader size=\"small\" />\n ) : (\n <Icon icon={<SvgChevronDown />} color={color} />\n )}\n </AddOnSection>\n </TypeaheadHeaderWrapper>\n );\n};\n\nconst getSelectedOption = (\n value: string | null,\n options: OptionsObject[] | GroupedOptionsObject[]\n): OptionsObject | null => {\n if (isGrouped(options)) {\n for (const option of options) {\n const foundItem = option.items.find(item => item.value === value);\n if (foundItem) {\n return foundItem;\n }\n }\n } else {\n return options.find(item => item.value === value) ?? null;\n }\n\n return null;\n};\n\nconst didSelectedOptionValueChange = (\n selectedOptionValue: string | null,\n prevSelectedItem: OptionsObject | null\n) => {\n const didChange = (selectedOptionValue || null) != prevSelectedItem?.value;\n\n return didChange;\n};\n\nconst renderOption = (\n item,\n index,\n selectedItem,\n selectedOptionValue,\n highlightedIndex,\n getItemProps\n) => {\n const isSelected =\n (!selectedItem && item.value === selectedOptionValue) ||\n (selectedItem && selectedItem.value === item.value);\n return (\n <MenuItem\n key={index}\n getItemProps={getItemProps}\n icon={item.icon}\n hidden={item.hidden}\n {...getItemProps({\n key: `${item.value}-${index}`,\n index,\n item,\n disabled: item.isDisabled,\n 'aria-selected': isSelected,\n })}\n isDisabled={item.isDisabled}\n hasDivider={item.hasDivider}\n isHighlighted={highlightedIndex === index}\n isSelected={isSelected}\n >\n {item.title}\n </MenuItem>\n );\n};\n\nconst TypeaheadMenu = ({\n options,\n selectedItem,\n selectedOptionValue,\n highlightedIndex,\n getItemProps,\n isLoading,\n loadingMessage,\n emptyResultsMessage,\n hasAvailableOptions,\n ...menuProps\n}) => {\n const defaultLoadingMessage = loadingMessage || <Loader />;\n const defaultEmptyResultsMessage = emptyResultsMessage || 'No results';\n\n if (isLoading) {\n return (\n <Menu as=\"div\" {...menuProps}>\n <Container padding=\"large\">\n <Align alignment=\"center\">{defaultLoadingMessage}</Align>\n </Container>\n </Menu>\n );\n }\n\n if (!hasAvailableOptions) {\n return (\n <Menu as=\"div\" {...menuProps}>\n <Container padding=\"large\">\n <Align alignment=\"center\">{defaultEmptyResultsMessage}</Align>\n </Container>\n </Menu>\n );\n }\n\n if (!isGrouped(options)) {\n return (\n <Menu {...menuProps}>\n {options.map((item, index) =>\n renderOption(\n item,\n index,\n selectedItem,\n selectedOptionValue,\n highlightedIndex,\n getItemProps\n )\n )}\n </Menu>\n );\n }\n\n let downshiftIndex = 0;\n return (\n <Menu {...menuProps}>\n {options.map(group => {\n const groupId = `group-${group.group.replace(/\\s+/g, '-')}`;\n return (\n <li key={groupId}>\n <Spacer left=\"medium\" top=\"small\" bottom=\"xsmall\">\n <Text id={groupId} size=\"body-sm\" fontWeight=\"bold\">\n {group.group}\n </Text>\n </Spacer>\n <Group role=\"group\" aria-labelledby={groupId}>\n {group.items.map(item => {\n return renderOption(\n item,\n downshiftIndex++,\n selectedItem,\n selectedOptionValue,\n highlightedIndex,\n getItemProps\n );\n })}\n </Group>\n </li>\n );\n })}\n </Menu>\n );\n};\n\nconst Typeahead = forwardRef(\n (\n {\n container,\n onOptionChange,\n onInputValueChange,\n menuZIndex = 1100,\n menuMaxWidth,\n menuMaxHeight = 34,\n menuMinWidth,\n ariaMenuName,\n selectedOptionValue,\n onOuterClick,\n options,\n placeholder,\n menuPosition = 'left',\n isDisabled,\n onOpenChange,\n isLoading,\n loadingMessage,\n emptyResultsMessage,\n errorMessage,\n ...props\n }: TypeaheadProps &\n Omit<\n React.ComponentProps<typeof TypeaheadWrapper>,\n keyof TypeaheadProps\n > &\n Omit<\n LensDivProps,\n keyof TypeaheadProps & React.ComponentProps<typeof TypeaheadWrapper>\n >,\n ref: React.ForwardedRef<HTMLInputElement>\n ) => {\n const environment = getDownshiftEnvironment(container);\n const internalInputRef = useRef<HTMLInputElement>(null);\n\n const inputRef = useCallback(\n (node: HTMLInputElement) => {\n internalInputRef.current = node;\n if (ref) {\n typeof ref === 'function' ? ref(node) : (ref.current = node);\n }\n },\n [ref]\n );\n\n const [inputValue, setInputValue] = useState<string>('');\n const [downshiftIsOpen, setDownshiftIsOpen] = useState<boolean>(false);\n const [prevSelectedItem, setPrevSelectedItem] =\n useState<OptionsObject | null>(\n getSelectedOption(selectedOptionValue, options)\n );\n const [selectedItem, setSelectedItem] = useState<OptionsObject | null>(\n prevSelectedItem\n );\n\n const handleInputValueChange = (value: string) => {\n setInputValue(value);\n onInputValueChange && onInputValueChange(value);\n };\n\n const onDownshiftChange = item => {\n const value = item || null;\n\n setSelectedItem(value);\n onOptionChange && onOptionChange(value);\n };\n\n const downshiftProps = {\n itemToString: item => (item ? item.value : ''),\n onChange: onDownshiftChange,\n onOuterClick,\n environment,\n selectedItem,\n isOpen: downshiftIsOpen,\n };\n\n if (environment) {\n downshiftProps.environment = environment;\n }\n\n const { layerProps, triggerProps, renderLayer, triggerBounds } = useLayer({\n isOpen: downshiftIsOpen,\n container,\n ResizeObserver,\n placement: menuPositions[menuPosition],\n auto: true,\n snap: true,\n });\n\n useEffect(() => {\n if (didSelectedOptionValueChange(selectedOptionValue, prevSelectedItem)) {\n const item = getSelectedOption(selectedOptionValue, options);\n\n setPrevSelectedItem(item);\n setSelectedItem(item);\n // Reset the input value when the selected option value changes\n setInputValue('');\n }\n }, [selectedOptionValue, options, prevSelectedItem]);\n\n useEffect(() => {\n onOpenChange && onOpenChange(downshiftIsOpen);\n if (!downshiftIsOpen) {\n internalInputRef.current?.blur();\n }\n }, [downshiftIsOpen, onOpenChange]);\n\n const hasAvailableOptions = useMemo(() => {\n if (!Array.isArray(options)) {\n return false;\n }\n\n return isGrouped(options)\n ? options.some(group => group.items.length > 0)\n : options.length > 0;\n }, [options]);\n\n const stateReducer = (state, changes) => {\n if (changes.isOpen !== undefined) {\n if (changes.type === Downshift.stateChangeTypes.keyDownEscape) {\n setDownshiftIsOpen(false);\n\n return { isOpen: false };\n }\n\n setDownshiftIsOpen(changes.isOpen);\n }\n\n return changes;\n };\n\n return (\n <TypeaheadWrapper {...props}>\n <Downshift {...downshiftProps} stateReducer={stateReducer}>\n {({\n getItemProps,\n getInputProps,\n getMenuProps,\n isOpen,\n highlightedIndex,\n selectedItem,\n }) => {\n return (\n // Don't set the role to combobox to ensure a consistent experience for screen readers\n <div role=\"presentation\">\n <div {...triggerProps}>\n <TypeaheadHeader\n inputRef={inputRef}\n selectedItem={selectedItem}\n selectedOptionValue={selectedOptionValue}\n placeholder={placeholder}\n isDisabled={isDisabled}\n options={options}\n getInputProps={getInputProps}\n ariaMenuName={ariaMenuName}\n inputValue={inputValue}\n handleInputValueChange={handleInputValueChange}\n isOpen={downshiftIsOpen && isOpen}\n onInputFocus={() => {\n setDownshiftIsOpen(true);\n }}\n hasLoader={isLoading}\n hasError={Boolean(errorMessage)}\n />\n </div>\n {downshiftIsOpen &&\n isOpen &&\n renderLayer(\n <div\n {...layerProps}\n style={{\n ...layerProps.style,\n zIndex: menuZIndex,\n width: menuMinWidth ? 'auto' : triggerBounds?.width,\n }}\n >\n <TypeaheadMenu\n options={options}\n selectedItem={selectedItem}\n selectedOptionValue={selectedOptionValue}\n hasAvailableOptions={hasAvailableOptions}\n highlightedIndex={highlightedIndex}\n getItemProps={getItemProps}\n isLoading={isLoading}\n loadingMessage={loadingMessage}\n emptyResultsMessage={emptyResultsMessage}\n position={menuPosition}\n downshiftMenuProps={getMenuProps}\n maxWidth={menuMaxWidth}\n maxHeight={menuMaxHeight}\n minWidth={menuMinWidth}\n />\n </div>\n )}\n {Boolean(errorMessage) && !downshiftIsOpen ? (\n <ErrorMessage>{errorMessage}</ErrorMessage>\n ) : null}\n </div>\n );\n }}\n </Downshift>\n </TypeaheadWrapper>\n );\n }\n);\n\nTypeahead.displayName = 'Typeahead';\n\nexport type OptionsObject = {\n value: string;\n title: React.ReactNode;\n icon?: React.ReactNode | string;\n isDisabled?: boolean;\n hasDivider?: boolean;\n hidden?: HTMLAttributes<HTMLOptionElement>['hidden'];\n};\n\nexport type GroupedOptionsObject = {\n group: string;\n items: OptionsObject[];\n};\n\ntype TypeaheadProps = {\n menuZIndex?: number;\n menuMaxHeight?: string | number;\n menuPosition?: 'left' | 'right' | 'topRight' | 'topLeft';\n\n options: OptionsObject[] | GroupedOptionsObject[];\n selectedOptionValue: string | null;\n placeholder?: React.ReactNode;\n isDisabled?: boolean;\n isLoading?: boolean;\n loadingMessage?: React.ReactNode;\n emptyResultsMessage?: React.ReactNode;\n errorMessage?: string;\n\n container?: HTMLElement;\n ariaMenuName?: string;\n menuMaxWidth?: string | number;\n menuMinWidth?: string | number;\n\n onInputValueChange?: (inputValue: string) => void;\n onOptionChange?: (selectedOption: OptionsObject | null) => void;\n onOpenChange?: (isOpen: boolean) => void;\n onOuterClick?: () => void;\n};\n\ntype TypeaheadHeaderProps = {\n selectedItem?: { icon: React.ReactNode; title: string };\n selectedOptionValue?: string;\n placeholder?: React.ReactNode;\n isDisabled?: boolean;\n options?: OptionsObject[] | GroupedOptionsObject[];\n getInputProps?: any;\n ariaMenuName?: string;\n isOpen: boolean;\n onInputFocus: () => void;\n hasError?: boolean;\n hasLoader?: boolean;\n inputValue?: string;\n handleInputValueChange?: (inputValue: string) => void;\n inputRef?: React.RefCallback<HTMLInputElement>;\n};\n\nexport default Typeahead;\n", "import styled from '@emotion/styled';\nimport Downshift, { ChildrenFunction } from 'downshift';\nimport React, { useEffect, useMemo, useState } from 'react';\n\nimport { useLayer } from 'react-laag';\nimport ResizeObserver from 'resize-observer-polyfill';\n\nimport { getDownshiftEnvironment } from '../../utilities/downshift';\n\nimport Menu, { MenuItem, menuPositions } from '../menu/menu';\nimport SearchBar from '../search-bar/search-bar';\n\ntype GetInputProps = Parameters<\n ChildrenFunction<Downshift>\n>[0]['getInputProps'];\n\ninterface GetAccessibilityProps {\n ariaMenuName: string | undefined;\n getInputProps: GetInputProps;\n isOpen: boolean;\n}\n\nconst getAccessibilityProps = ({\n ariaMenuName,\n getInputProps,\n isOpen,\n}: GetAccessibilityProps): {\n 'aria-activedescendant': string;\n 'aria-expanded': boolean;\n 'aria-label': string;\n} => {\n return {\n // Ensures all options within the list of selections can be narrated by a screen reader\n 'aria-activedescendant': getInputProps()['aria-activedescendant'],\n\n 'aria-expanded': isOpen,\n\n // Provides a screen-readable label for the dropdown\n 'aria-label': ariaMenuName ? ariaMenuName : '',\n };\n};\n\nconst TriggerSection = styled.div`\n display: inline-block;\n vertical-align: middle;\n`;\n\nconst Dropdown = ({\n ariaMenuName,\n menuPosition = 'left',\n menuZIndex = 1100,\n options,\n trigger,\n triggerCallback,\n isOpen: isOpenFromProps,\n menuMinWidth = 24,\n menuMaxWidth = 48,\n menuMaxHeight,\n container,\n onOuterClick,\n triggerOffset = 0,\n onOpenChange,\n search,\n ...props\n}: DropdownProps) => {\n const environment = getDownshiftEnvironment(container);\n\n const [downshiftIsOpen, setDownshiftIsOpen] = useState(false);\n\n const [searchValue, setSearchValue] = useState('');\n\n const onSearchChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n const value = e.target.value;\n setSearchValue(value);\n };\n\n const isOpen = isOpenFromProps || downshiftIsOpen;\n\n const { layerProps, triggerProps, renderLayer } = useLayer({\n isOpen,\n container,\n placement: menuPositions[menuPosition],\n ResizeObserver,\n auto: true,\n snap: true,\n triggerOffset,\n });\n\n useEffect(() => {\n onOpenChange && onOpenChange(isOpen);\n }, [isOpen, onOpenChange]);\n\n const stateReducer = (state, changes) => {\n if (changes.isOpen !== undefined) {\n setDownshiftIsOpen(changes.isOpen);\n }\n\n return changes;\n };\n\n const filteredOptions = useMemo(() => {\n if (search?.searchType === 'startsWith') {\n return options.filter(option =>\n option.title\n ?.toString()\n .toLowerCase()\n .startsWith(searchValue.toLowerCase())\n );\n }\n\n // Filtering in Atlassian is based on if the searched value is a substring of the provided values at\n // any point of the string.\n // For example is the searched value is \"a\" and the provided values are \"a\", \"ab\", \"b\", and \"ba\", the\n // returned values will be \"a\", \"ab\", and \"ba\".\n return options.filter(option =>\n option.title?.toString().toLowerCase().includes(searchValue.toLowerCase())\n );\n }, [options, searchValue, search?.searchType]);\n\n options = search ? filteredOptions : options;\n\n return (\n <Downshift\n stateReducer={stateReducer}\n itemToString={item => (item ? item.title : '')}\n onSelect={item =>\n item && !item.disabled && item.onClick && item.onClick()\n }\n onOuterClick={onOuterClick}\n environment={environment}\n >\n {({\n getInputProps,\n getItemProps,\n getMenuProps,\n getToggleButtonProps,\n highlightedIndex,\n isOpen,\n }) => (\n <div\n {...props}\n {...(triggerCallback\n ? {\n // the Downshift component appears to set the following props,\n // which we do not want applied to this element\n role: null,\n 'aria-haspopup': null,\n 'aria-expanded': null,\n 'aria-labelledby': null,\n }\n : {})}\n >\n <div {...triggerProps}>\n {triggerCallback ? (\n triggerCallback({\n ...getToggleButtonProps(),\n ...getAccessibilityProps({\n ariaMenuName,\n getInputProps,\n isOpen,\n }),\n })\n ) : (\n <TriggerSection {...getToggleButtonProps({})}>\n {trigger}\n </TriggerSection>\n )}\n </div>\n {isOpen &&\n renderLayer(\n <div\n {...layerProps}\n style={{ ...layerProps.style, zIndex: menuZIndex }}\n >\n <Menu\n position={menuPosition}\n minWidth={menuMinWidth}\n maxWidth={menuMaxWidth}\n maxHeight={menuMaxHeight}\n downshiftMenuProps={getMenuProps}\n search={\n search && (\n <SearchBar\n ariaLabel={search.searchPlaceholder}\n placeholder={search.searchPlaceholder}\n value={searchValue}\n onChange={onSearchChange}\n getInputProps={getInputProps}\n />\n )\n }\n >\n {options.map((item, index) => {\n return (\n <MenuItem\n key={index}\n isHighlighted={highlightedIndex === index}\n isDisabled={item.disabled}\n isSelected={item.selected}\n icon={item.icon}\n hasDivider={item.hasDivider}\n getItemProps={getItemProps}\n index={index}\n {...getItemProps({\n key: index,\n index,\n item,\n disabled: item.disabled,\n })}\n >\n {item.title}\n </MenuItem>\n );\n })}\n </Menu>\n </div>\n )}\n </div>\n )}\n </Downshift>\n );\n};\n\ntype OptionsObject = {\n key?: string;\n title?: React.ReactNode;\n icon?: React.ReactNode;\n onClick?: React.ReactEventHandler;\n disabled?: boolean;\n selected?: boolean;\n hasDivider?: boolean;\n};\n\ntype SearchProps = {\n searchPlaceholder: string;\n searchType?: 'contains' | 'startsWith';\n};\n\ntype TriggerProps =\n | {\n /** @deprecated Use triggerCallback and possibly with ariaMenuName for better accessibility support */\n trigger: React.ReactNode;\n triggerCallback?: never;\n }\n | {\n trigger?: never;\n triggerCallback: (buttonProps) => React.ReactNode;\n };\n\ntype DropdownProps = TriggerProps & {\n ariaMenuName?: string;\n // TODO: Update the menuPositions to match Tooltip placement Props\n menuPosition?:\n | 'left'\n | 'right'\n | 'topRight'\n | 'topLeft'\n | 'leftSide'\n | 'rightSide';\n options?: OptionsObject[];\n isOpen?: boolean;\n menuZIndex?: number;\n menuMinWidth?: number | string;\n menuMaxWidth?: number | string;\n menuMaxHeight?: number | string;\n container?: HTMLElement | (() => HTMLElement) | string;\n onOuterClick?: () => void;\n triggerOffset?: number;\n onOpenChange?: (isOpen: boolean) => void;\n search?: SearchProps;\n};\n\nexport default Dropdown;\n", "import styled from '@emotion/styled';\nimport React from 'react';\n\nimport { SvgSearch } from '../icon/available-icons/search';\nimport TextInput from '../text-input/text-input';\nimport { u } from '../../utilities';\n\nconst SearchBarContainer = styled.div`\n padding: ${u(1.5)} ${u(1.5)} 0;\n margin-bottom: ${u(1.5)};\n position: sticky;\n top: 0;\n`;\n\nconst SearchBar = ({\n ariaLabel,\n placeholder,\n value,\n onChange,\n getInputProps,\n}: {\n ariaLabel: string;\n placeholder: string;\n value: string;\n onChange: (e: React.ChangeEvent<HTMLInputElement>) => void;\n getInputProps?: any;\n}) => {\n return (\n <SearchBarContainer>\n <TextInput\n aria-label={ariaLabel}\n icon={<SvgSearch />}\n {...getInputProps({\n placeholder,\n value,\n onChange,\n type: 'text',\n })}\n />\n </SearchBarContainer>\n );\n};\n\nexport default SearchBar;\n", "import SearchIcon from '@atlaskit/icon/core/search';\nimport * as React from 'react';\n\nexport function SvgSearch() {\n return <SearchIcon label=\"\" testId=\"ads-refreshed-icon\" />;\n}\n", "import styled from '@emotion/styled';\nimport React, { ReactNode, isValidElement } from 'react';\n\nimport { LensDivProps } from '../../types';\nimport Checkbox from '../checkbox/checkbox';\nimport Radio from '../radio/radio';\nimport Switch from '../switch/switch';\n\nconst directionStyles = {\n row: {\n wrapper: {\n display: 'grid',\n gridTemplateColumns: 'auto 1fr',\n alignItems: 'center',\n },\n label: { marginLeft: 'var(--lns-space-small)' },\n errorMessage: { marginLeft: 'var(--lns-space-small)' },\n },\n 'row-reverse': {\n wrapper: {\n display: 'grid',\n gridTemplateColumns: '1fr auto',\n alignItems: 'center',\n },\n label: {},\n },\n column: {\n wrapper: {},\n label: { marginBottom: 'var(--lns-space-xsmall)' },\n },\n};\n\nconst FormFieldWrapper = styled.div<FormFieldProps>`\n ${props => props.direction && directionStyles[props.direction].wrapper};\n`;\n\nconst Label = styled.label<FormFieldProps>`\n display: block;\n ${props => props.direction && directionStyles[props.direction]?.label};\n ${props => props.isLabelClickable && 'cursor: pointer'};\n`;\n\nconst ErrorMessage = styled.span`\n color: var(--lns-color-red);\n margin-top: var(--lns-space-xsmall);\n display: block;\n width: 100%;\n grid-column-start: 1;\n grid-column-end: 3;\n`;\n\ntype InteractiveComponentType =\n | React.ComponentType<any>\n | React.ForwardRefExoticComponent<any>;\n\n// Include any Lens Components that should have a clickable label here\nconst interactiveComponents: InteractiveComponentType[] = [\n Radio,\n Checkbox,\n Switch,\n];\n\nconst isInteractiveComponent = (\n component: any\n): component is InteractiveComponentType => {\n return interactiveComponents.includes(component);\n};\n\nconst FormField = ({\n label,\n children,\n errorMessage,\n labelFor,\n direction = 'column',\n ...props\n}: FormFieldProps &\n React.ComponentProps<typeof FormFieldWrapper> &\n Omit<\n LensDivProps,\n keyof FormFieldProps & React.ComponentProps<typeof FormFieldWrapper>\n >) => {\n // Checks if child component is interactive\n const isLabelClickable = React.Children.toArray(children).some(\n child =>\n isValidElement(child) &&\n // The child might be a div, span, etc (type string) so we\n // have to typeguard before we check if our child is of interactive\n typeof child.type !== 'string' &&\n isInteractiveComponent(child.type)\n );\n\n const labelElement = label && (\n <Label\n direction={direction}\n htmlFor={labelFor}\n isLabelClickable={isLabelClickable}\n >\n {label}\n </Label>\n );\n\n return (\n <FormFieldWrapper direction={direction} {...props}>\n {direction === 'row' && (\n <>\n {children}\n {labelElement}\n </>\n )}\n {direction === 'column' && (\n <>\n {labelElement}\n {children}\n </>\n )}\n {direction === 'row-reverse' && (\n <>\n {labelElement}\n {children}\n </>\n )}\n {errorMessage && <ErrorMessage>{errorMessage}</ErrorMessage>}\n </FormFieldWrapper>\n );\n};\n\ntype FormFieldProps = {\n label?: ReactNode;\n errorMessage?: string | null;\n labelFor?: string;\n children?: React.ReactNode;\n direction?: 'row' | 'column' | 'row-reverse';\n isLabelClickable?: boolean;\n};\n\nexport default FormField;\n", "import styled from '@emotion/styled';\nimport React, { forwardRef } from 'react';\n\nimport { getColorValue, getFocusRing, getRadius, u } from '../../utilities';\n\nconst RadioLabel = styled.label`\n display: block;\n position: relative;\n\n .RadioBox:after {\n background-color: transparent;\n }\n`;\n\nconst RadioInput = styled.input`\n position: absolute;\n opacity: 0;\n\n &:not(:disabled) {\n cursor: pointer;\n\n & ~ .RadioBox {\n border: 2px solid ${getColorValue('body')};\n }\n\n &:checked ~ .RadioBox {\n border: 2px solid ${getColorValue('body')};\n }\n }\n\n &:disabled,\n &:disabled ~ .RadioBox {\n pointer-events: none;\n }\n\n &:disabled ~ .RadioBox {\n background-color: ${getColorValue('disabledBackground')};\n }\n\n &:checked {\n & ~ .RadioBox:after {\n background-color: ${getColorValue('blurple')};\n }\n\n &:disabled ~ .RadioBox:after {\n background-color: ${getColorValue('disabledContent')};\n }\n }\n\n &:focus-visible ~ .RadioBox {\n ${getFocusRing()};\n }\n`;\n\nconst RadioBox = styled.span`\n cursor: pointer;\n width: ${u(2.25)};\n height: ${u(2.25)};\n ${getRadius('full')};\n display: flex;\n align-items: center;\n justify-content: center;\n user-select: none;\n\n &:after {\n content: '';\n width: ${u(1)};\n height: ${u(1)};\n ${getRadius('full')};\n background-color: ${getColorValue('white')};\n }\n`;\n\nconst Radio = forwardRef(\n (\n {\n isDisabled,\n isChecked,\n onFocus,\n onChange,\n onBlur,\n ...props\n }: RadioProps & React.ComponentProps<typeof RadioInput>,\n ref: React.ForwardedRef<HTMLInputElement>\n ) => {\n return (\n <RadioLabel htmlFor={props.id}>\n <RadioInput\n type=\"radio\"\n disabled={isDisabled}\n checked={isChecked}\n onFocus={onFocus}\n onChange={onChange}\n onBlur={onBlur}\n ref={ref}\n {...props}\n />\n <RadioBox className=\"RadioBox\" />\n </RadioLabel>\n );\n }\n);\n\ntype RadioProps = {\n isChecked?: boolean;\n isDisabled?: boolean;\n onFocus?: React.ReactEventHandler;\n onChange?: React.ReactEventHandler;\n onBlur?: React.ReactEventHandler;\n};\n\nexport default Radio;\n", "import styled from '@emotion/styled';\nimport React from 'react';\n\nimport { LensInputProps } from '../../types';\nimport { getColorValue, getOffsetFocusRing } from '../../utilities';\n\nconst sizes = {\n medium: {\n switchHeight: 16,\n switchWidth: 32,\n knobOffset: 2,\n },\n large: {\n switchHeight: 20,\n switchWidth: 36,\n knobOffset: 2,\n },\n};\n\nconst colorStyles = {\n knob: {\n active: {\n enabled: getColorValue('white'),\n disabled: getColorValue('disabledContent'),\n },\n inactive: {\n enabled: getColorValue('white'),\n disabled: getColorValue('disabledContent'),\n },\n },\n track: {\n active: {\n enabled: getColorValue('blurple'),\n disabled: getColorValue('disabledBackground'),\n },\n inactive: {\n enabled: getColorValue('grey6'),\n disabled: getColorValue('disabledBackground'),\n },\n },\n};\n\nconst getKnobTravel = props => {\n return (\n sizes[props.switchSize].switchWidth - sizes[props.switchSize].switchHeight\n );\n};\n\nconst getKnobSize = props => {\n return (\n sizes[props.switchSize].switchHeight -\n sizes[props.switchSize].knobOffset * 2\n );\n};\n\nconst SwitchLabel = styled.label`\n display: block;\n position: relative;\n`;\n\nconst SwitchInput = styled.input<SwitchInputProps>`\n position: absolute;\n opacity: 0;\n cursor: pointer;\n\n // to overlap SwitchBox and occupy the same space\n z-index: 1;\n margin: 0;\n width: ${props => sizes[props.switchSize].switchWidth}px;\n height: ${props => sizes[props.switchSize].switchHeight}px;\n\n &:focus-visible ~ .SwitchBox {\n ${getOffsetFocusRing()};\n }\n &:not(:checked) {\n & + .SwitchBox {\n background-color: ${colorStyles.track.inactive.enabled};\n }\n &:disabled + .SwitchBox {\n background-color: ${colorStyles.track.inactive.disabled};\n }\n }\n &:checked {\n & + .SwitchBox {\n background-color: ${colorStyles.track.active.enabled};\n }\n &:disabled + .SwitchBox {\n background-color: ${colorStyles.track.active.disabled};\n }\n & + .SwitchBox:after {\n transform: translateX(${props => getKnobTravel(props)}px);\n }\n }\n &:disabled {\n pointer-events: none;\n }\n`;\n\nconst SwitchBox = styled.div<SwitchBoxProps>`\n width: ${props => sizes[props.switchSize].switchWidth}px;\n height: ${props => sizes[props.switchSize].switchHeight}px;\n position: relative;\n border-radius: var(--lns-radius-full);\n transition: 0.2s;\n cursor: ${props => (props.isDisabled ? 'default' : 'pointer')};\n &:after {\n content: '';\n position: absolute;\n top: ${props => sizes[props.switchSize].knobOffset}px;\n left: ${props => sizes[props.switchSize].knobOffset}px;\n width: ${props => getKnobSize(props)}px;\n height: ${props => getKnobSize(props)}px;\n border-radius: var(--lns-radius-full);\n transition: 0.15s;\n background-color: ${props =>\n props.isDisabled\n ? colorStyles.knob.active.disabled\n : colorStyles.knob.active.enabled};\n }\n`;\n\nconst Switch = ({\n isActive,\n isDisabled,\n onChange,\n size = 'medium',\n ariaLabelledby,\n ariaLabel,\n ariaDescribedby,\n ...props\n}: SwitchProps &\n Omit<React.ComponentProps<typeof SwitchInput>, 'size'> &\n Omit<\n LensInputProps,\n keyof SwitchProps & Omit<React.ComponentProps<typeof SwitchInput>, 'size'>\n >) => {\n if (ariaLabelledby && ariaLabel) {\n throw new Error(\n 'ariaLabelledby and ariaLabel serve the same purpose and therefore cannot be used at the same time. Choose the one that best suites your needs.'\n );\n }\n\n return (\n <SwitchLabel htmlFor={props.id}>\n <SwitchInput\n {...props}\n checked={isActive}\n disabled={isDisabled}\n onChange={onChange}\n type=\"checkbox\"\n switchSize={size}\n aria-labelledby={ariaLabelledby}\n aria-label={ariaLabel}\n aria-describedby={ariaDescribedby}\n aria-checked={isActive}\n />\n <SwitchBox\n className=\"SwitchBox\"\n isDisabled={isDisabled}\n isActive={isActive}\n switchSize={size}\n />\n </SwitchLabel>\n );\n};\n\ntype SwitchProps = {\n isActive?: boolean;\n isDisabled?: boolean;\n onChange?: React.ReactEventHandler;\n size?: 'medium' | 'large';\n ariaLabelledby?: string;\n ariaLabel?: string;\n ariaDescribedby?: string;\n};\n\ntype SwitchInputProps = {\n switchSize?: 'medium' | 'large';\n};\n\ntype SwitchBoxProps = {\n isActive?: boolean;\n isDisabled?: boolean;\n switchSize?: 'medium' | 'large';\n};\n\nexport default Switch;\n", "import styled from '@emotion/styled';\nimport React, { useEffect } from 'react';\n\nimport { SeverityLevels } from './types';\nimport { usePushPageDown } from '../../hooks';\nimport { LensAsideProps } from '../../types';\nimport { u } from '../../utilities';\nimport Align from '../align/align';\nimport Arrange from '../arrange/arrange';\nimport Container from '../container/container';\nimport { SvgAlertTriangle } from '../icon/available-icons/alert-triangle';\nimport { SvgClose } from '../icon/available-icons/close';\nimport { SvgInfo } from '../icon/available-icons/info';\nimport { SvgWarningAlert } from '../icon/available-icons/warning-alert';\nimport Icon from '../icon/icon';\nimport IconButton from '../icon-button/icon-button';\n\nconst severityStyles = {\n info: {\n bgColor: 'var(--lns-color-blurple)',\n icon: <SvgInfo />,\n color: 'var(--lns-color-white)',\n fontFamily: 'inherit',\n },\n warning: {\n bgColor: 'var(--lns-color-warning)',\n icon: <SvgWarningAlert />,\n color: 'var(--lns-color-grey8)',\n fontFamily: 'inherit',\n },\n error: {\n bgColor: 'var(--lns-color-danger)',\n icon: <SvgAlertTriangle />,\n color: 'var(--lns-color-white)',\n fontFamily: 'inherit',\n },\n internal: {\n icon: <span role=\"img\">\uD83D\uDD14</span>,\n color: 'var(--lns-color-tealLight)',\n bgColor: 'var(--lns-color-grey8)',\n fontFamily: 'var(--lns-fontFamily-code)',\n },\n};\n\nconst DURATION = 350;\nconst NotificationBarWrapper = styled.aside<NotificationBarWrapperProps>`\n --paddingXOffset: var(--lns-space-large);\n --alignItems: start;\n\n display: grid;\n align-items: var(--alignItems);\n justify-content: space-between;\n grid-template-columns: 1fr auto;\n ${props => `background-color: ${severityStyles[props.severity].bgColor}`};\n ${props => `font-family: ${severityStyles[props.severity].fontFamily}`};\n\n ${props => `color: ${severityStyles[props.severity].color}`};\n position: fixed;\n padding: var(--lns-space-medium) var(--paddingXOffset);\n top: 0;\n left: 0;\n transition:\n ${DURATION}ms box-shadow,\n ${DURATION}ms transform;\n width: 100%;\n box-sizing: border-box;\n z-index: 1100;\n opacity: ${props => (props.isOpen ? '1' : '0')};\n transform: ${props =>\n props.isOpen ? 'translateY(0px)' : 'translateY(-100%)'};\n @media (min-width: 872px) {\n --alignItems: center;\n }\n`;\n\nconst NotificationBar = ({\n children,\n onCloseClick,\n isOpen,\n severity = 'info',\n id,\n}: NotificationBarProps &\n React.ComponentProps<typeof NotificationBarWrapper> &\n Omit<\n LensAsideProps,\n keyof NotificationBarProps &\n React.ComponentProps<typeof NotificationBarWrapper>\n >) => {\n useEffect(() => {\n if (!isOpen) {\n return;\n }\n\n const keyListener = (e: KeyboardEvent) => {\n if (e.key === 'Escape') {\n e.preventDefault();\n onCloseClick && onCloseClick();\n }\n };\n\n window.addEventListener('keydown', keyListener);\n\n return () => {\n window.removeEventListener('keydown', keyListener);\n };\n }, [isOpen, onCloseClick]);\n\n usePushPageDown(isOpen);\n\n // NOTE: The UI for internal alert is slightly different.\n const isInternalAlert = severity === 'internal';\n\n return isOpen ? (\n <NotificationBarWrapper isOpen={isOpen} severity={severity} id={id}>\n <Arrange\n alignItems={{ default: 'start', small: 'center' }}\n justifyContent=\"space-between\"\n autoFlow={isInternalAlert ? 'column' : undefined}\n columns={!isInternalAlert ? ['1fr auto'] : undefined}\n >\n <Container\n paddingY={{ default: 'xsmall', xsmall: 0 }}\n // Visually offsets the close X so that text appears centre-aligned\n paddingLeft={\n !isInternalAlert ? { default: 0, medium: u(3.5) } : undefined\n }\n width=\"100%\"\n >\n <Arrange\n autoFlow=\"column\"\n gap={isInternalAlert ? 'medium' : 'small'}\n justifyContent=\"center\"\n >\n {severityStyles[severity]?.icon ? (\n <Align alignment=\"topLeft\">\n <Icon\n icon={severityStyles[severity].icon}\n color={\n severityStyles[severity].color ?? 'var(--lns-color-white)'\n }\n />\n </Align>\n ) : null}{' '}\n {children}\n </Arrange>\n </Container>\n </Arrange>\n {onCloseClick && (\n <IconButton\n iconColor={severityStyles[severity].color ?? 'var(--lns-color-white)'}\n tabIndex={0}\n altText=\"Close\"\n icon={<SvgClose />}\n onClick={onCloseClick}\n />\n )}\n </NotificationBarWrapper>\n ) : null;\n};\n\ntype NotificationBarProps = {\n children?: React.ReactNode;\n isOpen?: boolean;\n onCloseClick?: () => void;\n severity: SeverityLevels;\n};\n\ntype NotificationBarWrapperProps = {\n children?: React.ReactNode;\n isOpen?: boolean;\n severity: SeverityLevels;\n};\n\nexport default NotificationBar;\n", "import React from 'react';\n\nexport default function useOnClickOutside(ref, handler) {\n React.useEffect(() => {\n const listener = event => {\n if (!ref.current || ref.current.contains(event.target)) {\n return;\n }\n\n handler(event);\n };\n\n document.addEventListener('mousedown', listener);\n document.addEventListener('touchstart', listener);\n\n return () => {\n document.removeEventListener('mousedown', listener);\n document.removeEventListener('touchstart', listener);\n };\n }, [ref, handler]);\n}\n", "import { useCallback, useEffect, useState } from 'react';\n\nexport default function useFocusedElement<Element extends HTMLElement>(\n ref: React.RefObject<Element>\n): boolean {\n const [isFocused, setIsFocused] = useState(false);\n\n const handleFocus = useCallback(\n e => {\n const currentRef = ref.current;\n\n if (e.type === 'focusin' && e.target === currentRef) {\n setIsFocused(true);\n }\n },\n [ref]\n );\n\n const handleBlur = useCallback(\n e => {\n const currentRef = ref.current;\n\n if (e.type === 'focusout' && e.target === currentRef) {\n setIsFocused(false);\n }\n },\n [ref]\n );\n\n useEffect(() => {\n // Note: `focusin` is sent whenever an element OR its children gain focus (or, it supports \"event bubbling\"). If you need to isolate it to only the parent, create a new function using 'focus' and 'blur' respectively.\n\n document.addEventListener('focusin', handleFocus);\n document.addEventListener('focusout', handleBlur);\n\n return () => {\n document.removeEventListener('focusin', handleFocus);\n document.removeEventListener('focusout', handleBlur);\n };\n }, [handleFocus, handleBlur]);\n\n return Boolean(isFocused);\n}\n", "import { useLayoutEffect } from 'react';\n\n/**\n * Usage:\n * usePreventScroll(<boolean-condition>);\n **/\nfunction usePushPageDown(enabled?: boolean): void {\n const safeDocument: Document = document;\n\n useLayoutEffect(() => {\n const html = safeDocument?.documentElement;\n const body = safeDocument?.body;\n\n if (safeDocument == undefined || !html || !body) {\n return;\n }\n\n if (enabled) {\n body.style.setProperty('padding-top', '3.25rem');\n body.style.setProperty('transition', 'padding-top 350ms');\n /* [1] */\n }\n\n return () => {\n body.style.removeProperty('padding-top');\n };\n }, [safeDocument, enabled]);\n}\n\nexport default usePushPageDown;\n", "import InformationCircleIcon from '@atlaskit/icon/core/information-circle';\nimport * as React from 'react';\n\nexport function SvgInfo() {\n return <InformationCircleIcon label=\"\" testId=\"ads-refreshed-icon\" />;\n}\n", "import React from 'react';\n\nexport const SvgWarningAlert = props => (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" {...props}>\n <path\n fill=\"currentColor\"\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M7.42 2.293A1 1 0 0 1 8.127 2h7.245a1 1 0 0 1 .708.293l5.127 5.127a1 1 0 0 1 .293.707v7.245a1 1 0 0 1-.293.708l-5.127 5.127a1 1 0 0 1-.707.293H8.128a1 1 0 0 1-.708-.293L2.293 16.08A1 1 0 0 1 2 15.373V8.128a1 1 0 0 1 .293-.708L7.42 2.293ZM8.542 4 4 8.542v6.416L8.542 19.5h6.416l4.542-4.542V8.542L14.958 4H8.542Zm2.208 11.25a1 1 0 0 1 1-1h.009a1 1 0 1 1 0 2h-.009a1 1 0 0 1-1-1Zm2-7a1 1 0 1 0-2 0v3.5a1 1 0 1 0 2 0v-3.5Z\"\n />\n </svg>\n);\n", "import { keyframes } from '@emotion/react';\nimport styled from '@emotion/styled';\nimport React, { useEffect } from 'react';\n\nimport { LensDivProps } from '../../types';\nimport { getColorValue, getRadius, getShadow, u } from '../../utilities';\n\nimport { SvgClose } from '../icon/available-icons/close';\nimport IconButton from '../icon-button/icon-button';\n\nconst WEBAPP = 'web-app';\nconst CHROME_EXTENSION = 'chrome-extension';\nconst toastDurations = { short: 3000, long: 8000 };\n\nconst enter = (toastDuration, platform) => keyframes`\n 0% {\n opacity: 0;\n transform: translate(-50%, ${u(platform === CHROME_EXTENSION ? -8 : 8)});\n }\n // (300 / toastDuration) * 100 evaluates to 10% for short. Longer durations will have the same speed of animation\n ${(300 / toastDuration) * 100}% {\n opacity: 1;\n transform: translate(-50%, 0);\n }\n // 100 - (300 / toastDuration) * 100 evaluates to 90% for short. Longer durations will have the same speed of animation\n ${100 - (300 / toastDuration) * 100}% {\n opacity: 1;\n }\n 100% {\n opacity: 0;\n }\n`;\n\nconst getTop = platform => {\n switch (platform) {\n case WEBAPP:\n return 'unset';\n case CHROME_EXTENSION:\n return u(4);\n default:\n return 'unset';\n }\n};\n\nconst getBottom = platform => {\n switch (platform) {\n case WEBAPP:\n return u(4);\n case CHROME_EXTENSION:\n return 'unset';\n default:\n return u(4);\n }\n};\n\nconst ToastWrapper = styled.div<ToastWrapperProps>`\n animation: ${props => enter(props.toastDuration, props.platform)}\n ${props => props.toastDuration}ms forwards;\n background-color: ${getColorValue('backgroundInverse')};\n ${getRadius('250')};\n top: ${props => getTop(props.platform)};\n bottom: ${props => getBottom(props.platform)};\n ${getShadow('large')};\n color: ${getColorValue('bodyInverse')};\n display: grid;\n grid-auto-flow: column;\n gap: var(--lns-space-small);\n justify-content: space-between;\n left: 50%;\n max-width: ${u(50)}; // Fallback when min() function is not supported\n max-width: min(90%, ${u(50)});\n padding: ${u(1.5)} var(--lns-space-medium) ${u(1.5)} var(--lns-space-large);\n position: fixed;\n transform: translateX(-50%);\n width: max-content;\n z-index: ${props => props.zIndex};\n`;\n\nconst ChildrenSection = styled.div`\n align-self: center;\n`;\n\nconst Toast = ({\n children,\n isOpen,\n onCloseClick,\n zIndex = 1100,\n duration = 'short',\n platform = 'web-app',\n}: ToastProps &\n React.ComponentProps<typeof ToastWrapper> &\n Omit<\n LensDivProps,\n keyof ToastProps & React.ComponentProps<typeof ToastWrapper>\n >) => {\n const toastDuration = toastDurations[duration];\n\n useEffect(() => {\n const timer = setTimeout(() => {\n if (isOpen) {\n onCloseClick();\n }\n }, toastDuration);\n\n return () => clearTimeout(timer);\n }, [isOpen]);\n\n return (\n <>\n {isOpen && (\n <ToastWrapper\n role=\"presentation\"\n onClick={e => e.stopPropagation()}\n zIndex={zIndex}\n isOpen={isOpen}\n toastDuration={toastDuration}\n platform={platform}\n >\n <ChildrenSection aria-live=\"polite\">{children}</ChildrenSection>\n {onCloseClick && (\n <IconButton\n altText=\"Close\"\n icon={<SvgClose />}\n onClick={onCloseClick}\n iconColor=\"bodyInverse\"\n />\n )}\n </ToastWrapper>\n )}\n </>\n );\n};\n\ntype ToastProps = {\n children?: React.ReactNode;\n isOpen?: boolean;\n onCloseClick?: () => void;\n zIndex?: number;\n duration?: 'short' | 'long';\n platform?: 'web-app' | 'chrome-extension';\n};\n\ntype ToastWrapperProps = {\n zIndex?: number;\n isOpen?: boolean;\n toastDuration?: number;\n platform?: 'web-app' | 'chrome-extension';\n};\n\nexport default Toast;\n", "import styled from '@emotion/styled';\nimport React, { useState, useRef, useEffect } from 'react';\n\nimport { useHover, useLayer, mergeRefs } from 'react-laag';\n\nimport ResizeObserver from 'resize-observer-polyfill';\n\nimport {\n getColorValue,\n getFontWeight,\n getRadius,\n getShadow,\n getSize,\n getTextSize,\n Size,\n u,\n} from '../../utilities';\nimport { textSizes } from '../../variables';\nimport Arrange from '../arrange/arrange';\nimport Text from '../text/text';\n\ntype PlacementProps = {\n [key: string]:\n | 'bottom-start'\n | 'bottom-end'\n | 'bottom-center'\n | 'top-start'\n | 'top-center'\n | 'top-end'\n | 'left-end'\n | 'left-center'\n | 'left-start'\n | 'right-end'\n | 'right-center'\n | 'right-start'\n | 'center';\n};\n\ntype DelaySpeed = 'immediate' | 'long';\n\nconst placements: PlacementProps = {\n topLeft: 'top-start',\n topCenter: 'top-center',\n topRight: 'top-end',\n bottomLeft: 'bottom-start',\n bottomCenter: 'bottom-center',\n bottomRight: 'bottom-end',\n leftTop: 'left-start',\n leftCenter: 'left-center',\n leftBottom: 'left-end',\n rightTop: 'right-start',\n rightCenter: 'right-center',\n rightBottom: 'right-end',\n};\n\nconst tooltipMinHeight = 4;\nconst textHeight = textSizes.small.fontSize * textSizes.small.lineHeight;\n// eslint-disable-next-line @loomhq/loom/no-consecutive-uppercase-letters-for-acronyms\nconst tooltipYPadding = (tooltipMinHeight - textHeight) / 2;\n\nconst TooltipBoxWrapper = styled.div<TooltipBoxProps>`\n background-color: ${getColorValue('backgroundInverse')};\n color: ${getColorValue('bodyInverse')};\n ${getRadius('150')};\n ${getFontWeight('bold')};\n ${getTextSize('small')};\n ${getShadow('medium')};\n ${props => getSize('max-width', props.maxWidth)};\n z-index: 1100;\n padding: ${u(tooltipYPadding)} ${u(1.5)};\n z-index: ${props => props.zIndex};\n`;\n\nconst ShortcutWrapper = styled.div`\n background-color: ${getColorValue('grey7')};\n border-radius: 3px;\n color: ${getColorValue('grey3')};\n ${getFontWeight('bold')};\n ${getTextSize('small')};\n padding-left: ${u(0.5)};\n padding-right: ${u(0.5)};\n`;\n\nexport const ShortcutBox = ({\n children,\n}: React.ComponentProps<typeof ShortcutWrapper>) => (\n <ShortcutWrapper>{children}</ShortcutWrapper>\n);\n\nexport const TooltipBox = ({\n children,\n maxWidth,\n onMouseEnter,\n onMouseLeave,\n layerProps,\n zIndex,\n ...rest\n}: TooltipBoxProps & React.ComponentProps<typeof TooltipBoxWrapper>) => (\n // These are being added to hide the tooltip when users hover over\n /* eslint-disable-next-line styled-components-a11y/no-static-element-interactions */\n <TooltipBoxWrapper\n maxWidth={maxWidth}\n onMouseEnter={onMouseEnter}\n onMouseLeave={onMouseLeave}\n zIndex={zIndex}\n {...layerProps}\n {...rest}\n >\n {children}\n </TooltipBoxWrapper>\n);\n\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore: Ignoring because it was introduced through an unrelated PR that did not affect this file. When this file is touched next, it should be fixed properly\nconst TooltipChildren = styled.div<TooltipProps>`\n display: ${props => (props.isInline ? 'inline-block' : 'block')};\n ${props => props.verticalAlign && `vertical-align: ${props.verticalAlign}`};\n &:focus-visible {\n // Note: 0px solid transparent prevents focus rings from disappearing for -ms-high-contrast.\n // TODO(LNS-183): Provide more robust polyfill/support for :focus for older versions of Safari, which don't support :focus-visible\n outline: 0px solid transparent;\n box-shadow: var(--lns-formFieldBorderShadowFocus);\n }\n`;\n\nfunction getInitialDelaySpeed(delay: DelaySpeed) {\n switch (delay) {\n case 'immediate':\n return 200;\n case 'long':\n return 800;\n default:\n return 200;\n }\n}\n\nconst Tooltip = ({\n ariaLive = false,\n children,\n content,\n shortcut,\n placement = 'topCenter',\n keepOpen,\n triggerOffset = 4,\n maxWidth = 26,\n isInline = true,\n isDisabled,\n container,\n tabIndex = 0,\n zIndex = 1100,\n verticalAlign = 'middle',\n delay = 'immediate',\n tooltipId,\n ...rest\n}: TooltipProps) => {\n const [show, hoverProps] = useHover({\n delayEnter: getInitialDelaySpeed(delay),\n delayLeave: 200,\n });\n\n const [isOverTooltip, setIsOverTooltip] = useState(false);\n const [isOpen, setIsOpen] = useState(false);\n\n // Helps us keep the tooltip open when opened with a key press\n // instead of a mouse click.\n const [enterOrSpaceKeyDown, setEnterOrSpaceKeyDown] = useState(false);\n\n const focusRef = useRef();\n const isTooltipDisabled = !content || isDisabled;\n\n // Hide the tooltip as soon as isDisabled becomes true, and show it if a user has focused or hovered on it AND it is not disabled\n useEffect(() => {\n if (isTooltipDisabled) {\n setIsOpen(false);\n\n return;\n }\n\n const keepTooltipOpenOnHover = isOverTooltip && keepOpen;\n\n if (show || keepTooltipOpenOnHover) {\n setIsOpen(true);\n }\n\n // We have to watch this separately since hover and focus are managed separately. So, an element can be keyboard focused while another element is mouse hovered.\n // Also, we don't want to close the tooltip if the user has pressed the Enter or Space key to open it.\n if (!show && !keepTooltipOpenOnHover && !enterOrSpaceKeyDown) {\n setIsOpen(false);\n }\n }, [\n content,\n isDisabled,\n isOverTooltip,\n isTooltipDisabled,\n keepOpen,\n setIsOpen,\n show,\n enterOrSpaceKeyDown,\n ]);\n\n const handleFocus = () => {\n setEnterOrSpaceKeyDown(false);\n\n if (!isTooltipDisabled) {\n setIsOpen(true);\n }\n };\n\n const handleBlur = () => {\n setIsOpen(false);\n setEnterOrSpaceKeyDown(false);\n };\n\n useEffect(() => {\n if (!isOpen) {\n return;\n }\n\n const keyListener = e => {\n if (e.key === 'Escape') {\n e.preventDefault();\n handleBlur();\n }\n };\n\n window.addEventListener('keydown', keyListener);\n\n return () => {\n window.removeEventListener('keydown', keyListener);\n };\n }, [isOpen, setIsOpen]);\n\n const { layerProps, triggerProps, renderLayer } = useLayer({\n isOpen,\n placement: placements[placement],\n ResizeObserver,\n triggerOffset,\n container,\n auto: true,\n });\n\n return (\n <>\n {/* eslint-disable-next-line styled-components-a11y/click-events-have-key-events, styled-components-a11y/no-static-element-interactions */}\n <TooltipChildren\n {...triggerProps}\n {...hoverProps}\n onClick={e => {\n // onClick callbacks react to 'Enter' and 'Space' key presses\n // as well as mouse clicks. detail > 0 if it's a mouse click/double click..\n if (e.detail === 0) {\n setEnterOrSpaceKeyDown(true);\n }\n }}\n onFocus={handleFocus}\n onBlur={handleBlur}\n isInline={isInline}\n verticalAlign={verticalAlign}\n tabIndex={isTooltipDisabled ? -1 : tabIndex}\n ref={mergeRefs(triggerProps.ref, focusRef)}\n >\n {children}\n </TooltipChildren>\n {ariaLive && (\n <span className=\"srOnly\" aria-live=\"polite\">\n {isOpen && content}\n </span>\n )}\n {isOpen &&\n renderLayer(\n <div {...layerProps} style={{ ...layerProps.style, zIndex }}>\n <TooltipBox\n maxWidth={maxWidth}\n onMouseEnter={() => setIsOverTooltip(true)}\n onMouseLeave={() => setIsOverTooltip(false)}\n role=\"tooltip\"\n id={tooltipId}\n {...rest}\n >\n <Arrange gap=\"small\">\n <Text size=\"small\" fontWeight=\"bold\">\n {content}\n </Text>\n {shortcut && (\n <Arrange gap=\"xsmall\">\n {shortcut.map((char, index) => (\n <ShortcutBox key={index}>{char}</ShortcutBox>\n ))}\n </Arrange>\n )}\n </Arrange>\n </TooltipBox>\n </div>\n )}\n </>\n );\n};\n\nexport const availablePlacements = Object.keys(placements);\n\ntype TooltipBoxProps = {\n children?: React.ReactNode;\n maxWidth?: Size | [];\n onMouseEnter?: React.ReactEventHandler;\n onMouseLeave?: React.ReactEventHandler;\n layerProps?: any;\n zIndex?: number;\n};\n\ntype TooltipProps = {\n ariaLive?: boolean;\n children?: React.ReactNode;\n container?: HTMLElement | (() => HTMLElement) | string;\n content?: React.ReactNode;\n shortcut?: string[];\n isDisabled?: boolean;\n isInline?: boolean;\n keepOpen?: boolean;\n maxWidth?: Size | [];\n placement?:\n | 'topLeft'\n | 'topCenter'\n | 'topRight'\n | 'bottomLeft'\n | 'bottomCenter'\n | 'bottomRight'\n | 'leftTop'\n | 'leftCenter'\n | 'leftBottom'\n | 'rightTop'\n | 'rightCenter'\n | 'rightBottom';\n triggerOffset?: number;\n verticalAlign?: string;\n zIndex?: number;\n delay?: DelaySpeed;\n tabIndex?: number;\n tooltipId?: string;\n};\n\nexport default Tooltip;\n", "import { css } from '@emotion/react';\nimport styled from '@emotion/styled';\nimport React from 'react';\n\nimport { getRadius, getTextSize } from '../../utilities';\nimport { TextSize } from '../../variables';\n\nconst SkeletonAnimation = css`\n @media (prefers-reduced-motion: no-preference) {\n animation: shimmer 2s infinite linear;\n background: linear-gradient(\n to right,\n var(--lns-color-disabledBackground) 4%,\n var(--lns-color-backgroundHover) 25%,\n var(--lns-color-disabledBackground) 36%\n );\n background-size: 1000px 100%;\n @keyframes shimmer {\n 0% {\n background-position: -1000px 0;\n }\n 100% {\n background-position: 1000px 0;\n }\n }\n }\n`;\n\nconst SkeletonTextWrapper = styled.div<SkeletonTextProps>`\n ${props => getTextSize(props.size)};\n color: transparent;\n position: relative;\n &::after {\n content: '';\n position: absolute;\n background-color: var(--lns-color-disabledBackground);\n border-radius: var(--lns-radius-full);\n width: 100%;\n display: block;\n height: 71.45%;\n top: 0.2em;\n ${props => props.animated && SkeletonAnimation}\n }\n\n ${props =>\n props.lines > 1 &&\n `\n &:nth-of-type(3n+1) {\n width: calc(100% - 2.25rem);\n }\n &:nth-of-type(3n) {\n width: calc(100% - 4.125rem);\n }\n }\n `};\n`;\n\nconst SkeletonContainerWrapper = styled.div<SkeletonContainerProps>`\n background-color: var(--lns-color-disabledBackground);\n ${props => getRadius(props.radius)};\n height: ${props => props.height};\n width: ${props => props.width};\n ${props => props.animated && SkeletonAnimation}\n`;\n\nexport const SkeletonText = ({\n size = 'body-md',\n lines = 1,\n animated = false,\n}: SkeletonTextProps & React.ComponentProps<typeof SkeletonTextWrapper>) => {\n return (\n <>\n {[...Array(lines)].map((_, i) => (\n <SkeletonTextWrapper\n key={i}\n size={size}\n lines={lines}\n animated={animated}\n >\n Loading\n </SkeletonTextWrapper>\n ))}\n </>\n );\n};\n\nexport const SkeletonContainer = ({\n animated = false,\n height = '40px',\n radius = 'full',\n width = '40px',\n}: SkeletonContainerProps &\n React.ComponentProps<typeof SkeletonTextWrapper>) => {\n return (\n <>\n <SkeletonContainerWrapper\n animated={animated}\n height={height}\n radius={radius}\n width={width}\n />\n </>\n );\n};\n\ntype SkeletonTextProps = {\n animated?: boolean;\n lines?: number;\n size?: TextSize;\n};\n\ntype SkeletonContainerProps = {\n animated?: boolean;\n height?: string;\n radius?: 'medium' | 'large' | 'xlarge' | 'full';\n width?: string;\n};\n\nexport default SkeletonText;\n", "import styled from '@emotion/styled';\nimport React from 'react';\n\nimport { LensSpanProps } from '../../types';\nimport { getSize, getColorValue } from '../../utilities';\n\nconst LoomAiGradientDef = (customId: string) => {\n return (\n <defs>\n <radialGradient\n id={`ai-logo-${customId}-gradient-1`}\n cx=\"50%\"\n cy=\"50%\"\n r=\"100%\"\n fx=\"0%\"\n fy=\"0%\"\n >\n <stop offset=\"30%\" stopColor=\"#97ACFD\" />\n <stop offset=\"33%\" stopColor=\"#B3B2F4\" />\n <stop offset=\"43%\" stopColor=\"#DEB0E0\" />\n <stop offset=\"50%\" stopColor=\"#DFC6E5\" />\n <stop offset=\"72%\" stopColor=\"#6663F6\" />\n </radialGradient>\n <radialGradient\n id={`ai-logo-${customId}-gradient-2`}\n r=\"100%\"\n fx=\"40%\"\n fy=\"72%\"\n >\n <stop offset=\"20%\" stopColor=\"#615CF500\" />\n <stop offset=\"32%\" stopColor=\"#615CF550\" />\n <stop offset=\"48%\" stopColor=\"#6663F6\" />\n </radialGradient>\n <radialGradient\n id={`ai-logo-${customId}-gradient-3`}\n r=\"100%\"\n fx=\"0%\"\n fy=\"100%\"\n >\n <stop offset=\"25%\" stopColor=\"#6663F6\" />\n <stop offset=\"38%\" stopColor=\"#6E68F450\" />\n <stop offset=\"45%\" stopColor=\"#6E68F400\" />\n </radialGradient>\n </defs>\n );\n};\n\nconst symbolLogoPath =\n 'M30 15.4433C30 16.6091 29.0933 16.8581 27.9562 16.9301C22.5158 17.2323 16.7962 22.686 16.4795 28.112C16.422 29.2634 16.173 30.1702 15.0072 30.1702C13.8414 30.1702 13.578 29.2634 13.5205 28.0976C13.2038 22.686 7.48416 17.2323 2.05814 16.9301C0.906735 16.8581 0 16.6091 0 15.4433C0 14.2775 0.906735 14.043 2.05814 13.971C7.48416 13.6687 13.2038 7.65433 13.5205 2.22831C13.578 1.0769 13.827 0.170166 15.0072 0.170166C16.1874 0.170166 16.422 1.0769 16.4795 2.22831C16.7962 7.65433 22.5158 13.6687 27.9419 13.971C29.0933 14.043 30 14.2919 30 15.4433Z';\n\nconst SymbolLogoSvg = ({ brand, symbolColor, customId, ...props }) => {\n switch (brand) {\n case 'ai':\n return (\n <svg aria-label=\"Loom AI\" viewBox=\"0 0 30 31\" fill=\"none\" {...props}>\n <title>Loom AI</title>\n {!symbolColor ? (\n <>\n {LoomAiGradientDef(customId)}\n {[...Array(3)].map((_, i) => (\n <path\n key={i}\n d={symbolLogoPath}\n fill={`url(#ai-logo-${customId}-gradient-${i + 1}`}\n />\n ))}\n </>\n ) : (\n <path d={symbolLogoPath} fill={getColorValue(symbolColor)} />\n )}\n </svg>\n );\n\n case 'apptile':\n return (\n <svg aria-label=\"Loom\" viewBox=\"0 0 40 40\" fill=\"none\" {...props}>\n <title>Loom</title>\n <path\n d=\"M0 12C0 5.37258 5.37258 0 12 0H28C34.6274 0 40 5.37258 40 12V28C40 34.6274 34.6274 40 28 40H12C5.37258 40 0 34.6274 0 28V12Z\"\n fill={\n symbolColor\n ? getColorValue(symbolColor)\n : getColorValue('blurple')\n }\n />\n <path\n d=\"M32.3962 18.6213H25.1467L31.4251 14.9965L30.0463 12.6077L23.768 16.2325L27.392 9.95464L25.0032 8.57506L21.3792 14.8529V7.604H18.6215V14.8536L14.9961 8.57506L12.6081 9.95395L16.2327 16.2318L9.95437 12.6077L8.57552 14.9958L14.8539 18.6206H7.60449V21.3784H14.8532L8.57552 25.0032L9.95437 27.392L16.2321 23.7679L12.6074 30.0457L14.9961 31.4246L18.6208 25.1461V32.3957H21.3785V25.1468L25.0025 31.4246L27.3912 30.0457L23.7665 23.7672L30.0449 27.392L31.4238 25.0032L25.1461 21.3791H32.3947V18.6213H32.3962ZM20.0003 23.7505C17.921 23.7505 16.2355 22.0651 16.2355 19.9856C16.2355 17.9062 17.921 16.2207 20.0003 16.2207C22.0797 16.2207 23.7651 17.9062 23.7651 19.9856C23.7651 22.0651 22.0797 23.7505 20.0003 23.7505Z\"\n fill=\"white\"\n />\n </svg>\n );\n case 'product':\n return (\n <svg aria-label=\"Loom\" viewBox=\"0 0 40 40\" fill=\"none\" {...props}>\n <path\n d=\"M0 9.25C0 4.14137 4.14137 0 9.25 0H30.75C35.8586 0 40 4.14137 40 9.25V30.75C40 35.8586 35.8586 40 30.75 40H9.25C4.14137 40 0 35.8586 0 30.75V9.25Z\"\n fill={\n symbolColor\n ? getColorValue(symbolColor)\n : getColorValue('primary')\n }\n />\n <path\n d=\"M32.3962 18.6756H25.1467L31.4251 15.0508L30.0463 12.662L23.768 16.2868L27.392 10.009L25.0032 8.62938L21.3792 14.9072V7.65833H18.6215V14.9079L14.9961 8.62938L12.6081 10.0083L16.2327 16.2861L9.95437 12.662L8.57552 15.0501L14.8539 18.6749H7.60449V21.4327H14.8532L8.57552 25.0575L9.95437 27.4463L16.2321 23.8222L12.6074 30.1L14.9961 31.4789L18.6208 25.2004V32.45H21.3785V25.2011L25.0025 31.4789L27.3912 30.1L23.7665 23.8215L30.0449 27.4463L31.4238 25.0575L25.1461 21.4334H32.3947V18.6756H32.3962ZM20.0003 23.8048C17.921 23.8048 16.2355 22.1194 16.2355 20.0399C16.2355 17.9605 17.921 16.275 20.0003 16.275C22.0797 16.275 23.7651 17.9605 23.7651 20.0399C23.7651 22.1194 22.0797 23.8048 20.0003 23.8048Z\"\n fill=\"white\"\n />\n </svg>\n );\n default:\n return (\n <svg aria-label=\"Loom\" viewBox=\"0 0 31 30\" fill=\"none\" {...props}>\n <title>Loom</title>\n <path\n d=\"M30.01 13.43h-9.142l7.917-4.57-1.57-2.72-7.918 4.57 4.57-7.915-2.72-1.57-4.571 7.913V0h-3.142v9.139L8.863 1.225l-2.721 1.57 4.57 7.913L2.796 6.14 1.225 8.86l7.917 4.57H0v3.141h9.141l-7.916 4.57 1.57 2.72 7.918-4.57-4.571 7.915 2.72 1.57 4.572-7.914V30h3.142v-9.334l4.655 8.06 2.551-1.472-4.656-8.062 8.087 4.668 1.571-2.72-7.916-4.57h9.141v-3.14h.001zm-15.005 5.84a4.271 4.271 0 11-.001-8.542 4.271 4.271 0 01.001 8.542z\"\n fill={\n symbolColor\n ? getColorValue(symbolColor)\n : getColorValue('primary')\n }\n />\n </svg>\n );\n }\n};\n\nconst WordmarkLogoSvg = ({ brand, wordmarkColor, ...props }) => {\n switch (brand) {\n case 'ai':\n return (\n <svg\n aria-label=\"Loom AI\"\n viewBox=\"0 0 94 23\"\n fill={wordmarkColor}\n {...props}\n >\n <title>Loom AI</title>\n <path d=\"M4.12637 22.4624H0V0H4.12637V22.4624Z\" />\n <path d=\"M13.3999 19.1737C15.4166 19.1737 17.2781 17.7155 17.2781 14.8301C17.2781 11.9448 15.4166 10.4866 13.3999 10.4866C11.3833 10.4866 9.52175 11.9448 9.52175 14.8301C9.52175 17.6845 11.3833 19.1737 13.3999 19.1737ZM13.3999 6.7325C17.9606 6.7325 21.4045 10.1143 21.4045 14.8301C21.4045 19.515 17.9606 22.9277 13.3999 22.9277C8.83919 22.9277 5.39538 19.515 5.39538 14.8301C5.39538 10.1143 8.83919 6.7325 13.3999 6.7325Z\" />\n <path d=\"M29.7548 19.1737C31.7714 19.1737 33.6329 17.7155 33.6329 14.8301C33.6329 11.9448 31.7714 10.4866 29.7548 10.4866C27.7381 10.4866 25.8766 11.9448 25.8766 14.8301C25.8766 17.6845 27.7381 19.1737 29.7548 19.1737ZM29.7548 6.7325C34.3155 6.7325 37.7593 10.1143 37.7593 14.8301C37.7593 19.515 34.3155 22.9277 29.7548 22.9277C25.194 22.9277 21.7502 19.515 21.7502 14.8301C21.7502 10.1143 25.194 6.7325 29.7548 6.7325Z\" />\n <path d=\"M43.1622 22.4624H39.0358V7.19788H42.976V9.05941C43.8137 7.57019 45.7683 6.76353 47.4437 6.76353C49.5224 6.76353 51.1978 7.66326 51.9734 9.30761C53.1834 7.44609 54.7967 6.76353 56.8134 6.76353C59.6367 6.76353 62.3359 8.46992 62.3359 12.5653V22.4624H58.3336V13.403C58.3336 11.7586 57.5269 10.5176 55.6344 10.5176C53.8659 10.5176 52.8111 11.8827 52.8111 13.5271V22.4624H48.7157V13.403C48.7157 11.7586 47.878 10.5176 46.0165 10.5176C44.2171 10.5176 43.1622 11.8517 43.1622 13.5271V22.4624Z\" />\n <path d=\"M84.1324 22.4624L82.3019 17.4363H73.3666L71.5361 22.4624H67.0064L75.4453 0.46538H80.4093L88.7862 22.4624H84.1324ZM77.8342 5.21226L74.7937 13.5271H80.8747L77.8342 5.21226Z\" />\n <path d=\"M94 22.4624H89.6565V0.46538H94V22.4624Z\" />\n </svg>\n );\n case 'product':\n return (\n <svg aria-label=\"Loom\" viewBox=\"0 0 104 30\" fill=\"none\" {...props}>\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M32.4383 7.29662C34.6059 7.29671 36.4904 7.77257 38.0897 8.72422C39.6888 9.67592 40.9247 11.0053 41.797 12.7102C42.6692 14.402 43.1045 16.3852 43.1045 18.6585C43.1044 20.9186 42.6693 22.9018 41.797 24.6068C40.9247 26.2985 39.6888 27.6207 38.0897 28.5724C36.4904 29.524 34.6059 29.9999 32.4383 30C30.2704 30 28.379 29.5241 26.7664 28.5724C25.1672 27.6208 23.9315 26.2985 23.0591 24.6068C22.1868 22.9018 21.7517 20.9186 21.7516 18.6585C21.7516 16.3851 22.1869 14.402 23.0591 12.7102C23.9315 11.0051 25.1671 9.67594 26.7664 8.72422C28.379 7.77249 30.2704 7.29662 32.4383 7.29662ZM32.4383 11.7584C31.3279 11.7584 30.3954 12.0564 29.642 12.6513C28.902 13.2461 28.3393 14.0587 27.956 15.0895C27.5861 16.1204 27.4009 17.3105 27.4009 18.6585C27.4009 19.9801 27.586 21.163 27.956 22.2071C28.3393 23.238 28.9019 24.0506 29.642 24.6454C30.3954 25.2402 31.3279 25.5382 32.4383 25.5382C33.5351 25.5381 34.4608 25.2401 35.2141 24.6454C35.9673 24.0506 36.53 23.2307 36.9001 22.1867C37.2831 21.1428 37.4733 19.9666 37.4734 18.6585C37.4734 17.324 37.2831 16.1406 36.9001 15.1099C36.5301 14.0661 35.9671 13.246 35.2141 12.6513C34.4608 12.0565 33.5351 11.7585 32.4383 11.7584Z\"\n fill={wordmarkColor}\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M56.9839 7.29662C59.1517 7.29662 61.036 7.77249 62.6354 8.72422C64.2348 9.67596 65.4702 11.005 66.3426 12.7102C67.215 14.4021 67.6524 16.385 67.6524 18.6585C67.6523 20.9186 67.215 22.9018 66.3426 24.6068C65.4702 26.2985 64.2346 27.6208 62.6354 28.5724C61.036 29.524 59.1516 30 56.9839 30C54.8166 29.9999 52.9267 29.5238 51.3143 28.5724C49.7151 27.6208 48.4795 26.2984 47.6071 24.6068C46.7347 22.9018 46.2974 20.9186 46.2973 18.6585C46.2973 16.3849 46.7346 14.4021 47.6071 12.7102C48.4795 11.005 49.7149 9.67596 51.3143 8.72422C52.9267 7.77274 54.8165 7.29671 56.9839 7.29662ZM56.9839 11.7584C55.8739 11.7585 54.9432 12.0566 54.1899 12.6513C53.4497 13.2461 52.8873 14.0585 52.504 15.0895C52.1339 16.1205 51.9488 17.3104 51.9488 18.6585C51.9488 19.9801 52.1339 21.163 52.504 22.2071C52.8873 23.2381 53.4497 24.0506 54.1899 24.6454C54.9431 25.2399 55.874 25.5381 56.9839 25.5382C58.081 25.5382 59.0064 25.2402 59.7598 24.6454C60.5133 24.0505 61.0756 23.231 61.4457 22.1867C61.8289 21.1427 62.0212 19.9667 62.0213 18.6585C62.0213 17.3239 61.8288 16.1407 61.4457 15.1099C61.0756 14.0657 60.5132 13.2461 59.7598 12.6513C59.0063 12.0564 58.081 11.7584 56.9839 11.7584Z\"\n fill={wordmarkColor}\n />\n <path\n d=\"M5.69001 24.7655H18.7174V29.5445H0V0H5.69001V24.7655Z\"\n fill={wordmarkColor}\n />\n <path\n d=\"M96.2633 7.2581C97.5984 7.2581 98.7952 7.54891 99.8527 8.13052C100.923 8.71205 101.762 9.56357 102.37 10.6866C102.991 11.8101 103.302 13.1852 103.302 14.8108V29.5445H97.7498V15.7625C97.7497 14.4545 97.3936 13.49 96.6803 12.8688C95.9667 12.2345 95.1007 11.9173 94.0834 11.9171C93.2908 11.9171 92.6027 12.0882 92.0213 12.4315C91.453 12.7751 91.0084 13.2511 90.6911 13.8591C90.3871 14.4671 90.2357 15.176 90.2357 15.9823V29.5445H84.8629V15.5654C84.8629 14.4552 84.5262 13.5682 83.8523 12.9073C83.1781 12.2464 82.3106 11.9171 81.2531 11.9171C80.5396 11.9172 79.8853 12.088 79.2907 12.4315C78.6959 12.7619 78.22 13.2521 77.8631 13.8998C77.5196 14.5343 77.3487 15.3205 77.3487 16.2588V29.5445H71.797V7.61387H77.0111L77.1652 11.7584C77.4644 10.9601 77.8429 10.2729 78.3005 9.69635C78.9746 8.86369 79.7606 8.24832 80.6594 7.8518C81.558 7.45546 82.496 7.25818 83.4738 7.2581C85.0733 7.2581 86.383 7.75323 87.4009 8.74462C88.2044 9.52754 88.8088 10.6088 89.225 11.985C89.5312 11.1783 89.9349 10.4756 90.4351 9.87537C91.1621 9.00295 92.0273 8.34693 93.032 7.91072C94.0364 7.47471 95.1136 7.2581 96.2633 7.2581Z\"\n fill={wordmarkColor}\n />\n </svg>\n );\n\n default:\n return (\n <svg\n aria-label=\"Loom\"\n viewBox=\"0 0 62 23\"\n fill={wordmarkColor}\n {...props}\n >\n <title>Loom</title>\n <path d=\"M.109 21.973V.027h4.028v21.946H.109zM38.742 7.059h3.846v1.82c.818-1.456 2.727-2.244 4.362-2.244 2.03 0 3.665.88 4.422 2.485 1.18-1.82 2.756-2.485 4.725-2.485 2.756 0 5.39 1.667 5.39 5.668v9.67h-3.906v-8.851c0-1.607-.788-2.82-2.636-2.82-1.727 0-2.757 1.335-2.757 2.942v8.73h-3.997v-8.852c0-1.607-.817-2.82-2.635-2.82-1.757 0-2.787 1.305-2.787 2.942v8.73h-4.027V7.059zM13.24 22.405c-4.537 0-7.824-3.367-7.824-7.889 0-4.45 3.276-7.896 7.824-7.896 4.57 0 7.824 3.478 7.824 7.896 0 4.49-3.288 7.889-7.824 7.889zm0-12.135a4.25 4.25 0 00-4.244 4.247 4.25 4.25 0 004.244 4.247 4.25 4.25 0 004.243-4.247 4.25 4.25 0 00-4.243-4.247zM29.667 22.405c-4.538 0-7.824-3.367-7.824-7.889 0-4.45 3.276-7.896 7.824-7.896 4.57 0 7.824 3.478 7.824 7.896 0 4.49-3.29 7.889-7.824 7.889zm0-12.186a4.3 4.3 0 00-4.293 4.296 4.3 4.3 0 004.293 4.296 4.3 4.3 0 004.293-4.296 4.3 4.3 0 00-4.293-4.296z\" />\n </svg>\n );\n }\n};\n\nconst combinedLogoPath =\n 'M100 7.76427C100 8.35691 99.539 8.48348 98.961 8.52007C96.1953 8.67371 93.2877 11.4461 93.1267 14.2045C93.0975 14.7898 92.9709 15.2508 92.3783 15.2508C91.7856 15.2508 91.6517 14.7898 91.6225 14.1972C91.4615 11.4461 88.5539 8.67371 85.7955 8.52007C85.2102 8.48348 84.7492 8.35691 84.7492 7.76427C84.7492 7.17162 85.2102 7.05237 85.7955 7.01578C88.5539 6.86213 91.4615 3.80464 91.6225 1.04628C91.6517 0.460948 91.7783 0 92.3783 0C92.9782 0 93.0975 0.460948 93.1267 1.04628C93.2877 3.80464 96.1953 6.86213 98.9537 7.01578C99.539 7.05237 100 7.17894 100 7.76427Z';\n\nconst CombinedLogoSvg = ({\n brand,\n wordmarkColor,\n symbolColor,\n customId,\n ...props\n}) => {\n switch (brand) {\n case 'ai':\n return (\n <svg aria-label=\"Loom AI\" viewBox=\"0 0 100 30\" fill=\"none\" {...props}>\n <title>Loom AI</title>\n {!symbolColor ? (\n <>\n {LoomAiGradientDef(customId)}\n {[...Array(3)].map((_, i) => (\n <path\n key={i}\n d={combinedLogoPath}\n fill={`url(#ai-logo-${customId}-gradient-${i + 1}`}\n />\n ))}\n </>\n ) : (\n <path d={combinedLogoPath} fill={getColorValue(symbolColor)} />\n )}\n <g fill={wordmarkColor}>\n <path d=\"M4.1997 29.5909H0.570312V9.83386H4.1997V29.5909Z\" />\n <path d=\"M12.3563 26.6983C14.1301 26.6983 15.7674 25.4157 15.7674 22.8778C15.7674 20.34 14.1301 19.0574 12.3563 19.0574C10.5826 19.0574 8.94526 20.34 8.94526 22.8778C8.94526 25.3884 10.5826 26.6983 12.3563 26.6983ZM12.3563 15.7555C16.3678 15.7555 19.3968 18.73 19.3968 22.8778C19.3968 26.9984 16.3678 30.0002 12.3563 30.0002C8.34491 30.0002 5.31587 26.9984 5.31587 22.8778C5.31587 18.73 8.34491 15.7555 12.3563 15.7555Z\" />\n <path d=\"M26.7414 26.6983C28.5152 26.6983 30.1525 25.4157 30.1525 22.8778C30.1525 20.34 28.5152 19.0574 26.7414 19.0574C24.9676 19.0574 23.3303 20.34 23.3303 22.8778C23.3303 25.3884 24.9676 26.6983 26.7414 26.6983ZM26.7414 15.7555C30.7528 15.7555 33.7819 18.73 33.7819 22.8778C33.7819 26.9984 30.7528 30.0002 26.7414 30.0002C22.73 30.0002 19.7009 26.9984 19.7009 22.8778C19.7009 18.73 22.73 15.7555 26.7414 15.7555Z\" />\n <path d=\"M38.534 29.5909H34.9047V16.1648H38.3703V17.8022C39.1071 16.4923 40.8263 15.7828 42.2999 15.7828C44.1282 15.7828 45.6018 16.5742 46.284 18.0205C47.3483 16.3831 48.7673 15.7828 50.5411 15.7828C53.0243 15.7828 55.3984 17.2837 55.3984 20.8858V29.5909H51.8782V21.6226C51.8782 20.1763 51.1687 19.0847 49.5041 19.0847C47.9486 19.0847 47.0208 20.2854 47.0208 21.7317V29.5909H43.4187V21.6226C43.4187 20.1763 42.6819 19.0847 41.0446 19.0847C39.4619 19.0847 38.534 20.2581 38.534 21.7317V29.5909Z\" />\n <path d=\"M74.5698 29.5909L72.9598 25.1701H65.1006L63.4906 29.5909H59.5064L66.929 10.2432H71.2951L78.6631 29.5909H74.5698ZM69.0302 14.4184L66.3559 21.7317H71.7045L69.0302 14.4184Z\" />\n <path d=\"M83.249 29.5909H79.4285V10.2432H83.249V29.5909Z\" />\n </g>\n </svg>\n );\n case 'apptile':\n return (\n <svg aria-label=\"Loom\" viewBox=\"0 0 103 40\" fill=\"none\" {...props}>\n <title>Loom</title>\n <path\n d=\"M0 12C0 5.37258 5.37258 0 12 0H28C34.6274 0 40 5.37258 40 12V28C40 34.6274 34.6274 40 28 40H12C5.37258 40 0 34.6274 0 28V12Z\"\n fill={\n symbolColor\n ? getColorValue(symbolColor)\n : getColorValue('blurple')\n }\n />\n <path\n d=\"M32.3962 18.6213H25.1467L31.4251 14.9965L30.0463 12.6077L23.768 16.2325L27.392 9.95464L25.0032 8.57506L21.3792 14.8529V7.604H18.6215V14.8536L14.9961 8.57506L12.6081 9.95395L16.2327 16.2318L9.95437 12.6077L8.57552 14.9958L14.8539 18.6206H7.60449V21.3784H14.8532L8.57552 25.0032L9.95437 27.392L16.2321 23.7679L12.6074 30.0457L14.9961 31.4246L18.6208 25.1461V32.3957H21.3785V25.1468L25.0025 31.4246L27.3912 30.0457L23.7665 23.7672L30.0449 27.392L31.4238 25.0032L25.1461 21.3791H32.3947V18.6213H32.3962ZM20.0003 23.7505C17.921 23.7505 16.2355 22.0651 16.2355 19.9856C16.2355 17.9062 17.921 16.2207 20.0003 16.2207C22.0797 16.2207 23.7651 17.9062 23.7651 19.9856C23.7651 22.0651 22.0797 23.7505 20.0003 23.7505Z\"\n fill=\"white\"\n />\n <g fill={wordmarkColor}>\n <path d=\"M47.6001 29.5076V10H51.1816V29.5076H47.6001Z\" />\n <path d=\"M81.9516 16.2509H85.3718V17.8682C86.0987 16.575 87.7961 15.8739 89.2499 15.8739C91.0549 15.8739 92.5086 16.6556 93.1818 18.0832C94.2314 16.4659 95.633 15.8739 97.3834 15.8739C99.8338 15.8739 102.177 17.356 102.177 20.9122V29.5076H98.7027V21.6402C98.7027 20.2119 98.0019 19.1345 96.3591 19.1345C94.8238 19.1345 93.9079 20.3202 93.9079 21.7485V29.5084H90.3541V21.6402C90.3541 20.2119 89.6272 19.1345 88.0104 19.1345C86.4483 19.1345 85.5323 20.2933 85.5323 21.7485V29.5084H81.9516V16.2509Z\" />\n <path d=\"M59.2755 29.8916C55.2407 29.8916 52.3189 26.899 52.3189 22.8795C52.3189 18.9241 55.2312 15.8603 59.2755 15.8603C63.3394 15.8603 66.232 18.9526 66.232 22.8795C66.232 26.8697 63.3086 29.8916 59.2755 29.8916ZM59.2755 19.1051C57.1944 19.1051 55.5018 20.7983 55.5018 22.8803C55.5018 24.9624 57.1944 26.6555 59.2755 26.6555C61.3565 26.6555 63.0484 24.9624 63.0484 22.8803C63.0484 20.7983 61.3565 19.1051 59.2755 19.1051Z\" />\n <path d=\"M73.8823 29.8916C69.8476 29.8916 66.9258 26.899 66.9258 22.8795C66.9258 18.9241 69.8381 15.8603 73.8823 15.8603C77.9463 15.8603 80.8389 18.9526 80.8389 22.8795C80.8389 26.8697 77.9139 29.8916 73.8823 29.8916ZM73.8823 19.0601C71.7776 19.0601 70.0652 20.7738 70.0652 22.8788C70.0652 24.9837 71.7776 26.6974 73.8823 26.6974C75.9871 26.6974 77.6995 24.9837 77.6995 22.8788C77.6988 20.7738 75.9863 19.0601 73.8823 19.0601Z\" />\n </g>\n </svg>\n );\n case 'product':\n return (\n <svg viewBox=\"0 0 112 40\" fill=\"none\" aria-label=\"Loom\" {...props}>\n <path\n d=\"M0 9.25C0 4.14137 4.14137 0 9.25 0H30.75C35.8586 0 40 4.14137 40 9.25V30.75C40 35.8586 35.8586 40 30.75 40H9.25C4.14137 40 0 35.8586 0 30.75V9.25Z\"\n fill={\n symbolColor\n ? getColorValue(symbolColor)\n : getColorValue('primary')\n }\n />\n <path\n d=\"M32.3962 18.6756H25.1467L31.4251 15.0508L30.0463 12.662L23.768 16.2868L27.392 10.009L25.0032 8.62938L21.3792 14.9072V7.65833H18.6215V14.9079L14.9961 8.62938L12.6081 10.0083L16.2327 16.2861L9.95437 12.662L8.57552 15.0501L14.8539 18.6749H7.60449V21.4327H14.8532L8.57552 25.0575L9.95437 27.4463L16.2321 23.8222L12.6074 30.1L14.9961 31.4789L18.6208 25.2004V32.45H21.3785V25.2011L25.0025 31.4789L27.3912 30.1L23.7665 23.8215L30.0449 27.4463L31.4238 25.0575L25.1461 21.4334H32.3947L32.3962 18.6756ZM20.0003 23.8048C17.921 23.8048 16.2355 22.1194 16.2355 20.0399C16.2355 17.9605 17.921 16.275 20.0003 16.275C22.0797 16.275 23.7651 17.9605 23.7651 20.0399C23.7651 22.1194 22.0797 23.8048 20.0003 23.8048Z\"\n fill=\"white\"\n />\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M70.3743 15.1855C71.6352 15.1855 72.7252 15.459 73.6442 16.0059C74.5709 16.5527 75.2848 17.3237 75.7861 18.3187C76.2874 19.3061 76.5381 20.4568 76.5381 21.7708C76.5381 23.0773 76.2874 24.2242 75.7861 25.2116C75.2848 26.199 74.5709 26.9661 73.6442 27.513C72.7252 28.0599 71.6352 28.3333 70.3743 28.3333C69.1135 28.3333 68.0197 28.0599 67.0931 27.513C66.174 26.9661 65.4639 26.199 64.9626 25.2116C64.4613 24.2242 64.2106 23.0773 64.2106 21.7708C64.2106 20.4568 64.4613 19.3061 64.9626 18.3187C65.4639 17.3237 66.174 16.5527 67.0931 16.0059C68.0197 15.459 69.1135 15.1855 70.3743 15.1855ZM70.3743 17.7376C69.7287 17.7376 69.1895 17.9161 68.7565 18.2731C68.3312 18.6225 68.0084 19.101 67.7881 19.7087C67.5754 20.3087 67.4691 20.9923 67.4691 21.7594C67.4691 22.519 67.5754 23.2026 67.7881 23.8102C68.0084 24.4179 68.3312 24.9002 68.7565 25.2572C69.1895 25.6066 69.7287 25.7812 70.3743 25.7812C71.02 25.7812 71.5592 25.6066 71.9922 25.2572C72.4251 24.9002 72.7479 24.4179 72.9606 23.8102C73.1733 23.2026 73.2796 22.519 73.2796 21.7594C73.2796 20.9999 73.1733 20.3163 72.9606 19.7087C72.7479 19.101 72.4251 18.6225 71.9922 18.2731C71.5592 17.9161 71.02 17.7376 70.3743 17.7376Z\"\n fill={wordmarkColor}\n />\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M84.6387 15.1855C85.8995 15.1855 86.9895 15.459 87.9085 16.0059C88.8352 16.5527 89.5491 17.3237 90.0505 18.3187C90.5518 19.3061 90.8024 20.4568 90.8024 21.7708C90.8024 23.0773 90.5518 24.2242 90.0505 25.2116C89.5491 26.199 88.8352 26.9661 87.9085 27.513C86.9895 28.0599 85.8995 28.3333 84.6387 28.3333C83.3778 28.3333 82.2841 28.0599 81.3574 27.513C80.4384 26.9661 79.7282 26.199 79.2269 25.2116C78.7256 24.2242 78.4749 23.0773 78.4749 21.7708C78.4749 20.4568 78.7256 19.3061 79.2269 18.3187C79.7282 17.3237 80.4384 16.5527 81.3574 16.0059C82.2841 15.459 83.3778 15.1855 84.6387 15.1855ZM84.6387 17.7376C83.9931 17.7376 83.4538 17.9161 83.0208 18.2731C82.5955 18.6225 82.2727 19.101 82.0524 19.7087C81.8397 20.3087 81.7334 20.9923 81.7334 21.7594C81.7334 22.519 81.8397 23.2026 82.0524 23.8102C82.2727 24.4179 82.5955 24.9002 83.0208 25.2572C83.4538 25.6066 83.9931 25.7812 84.6387 25.7812C85.2843 25.7812 85.8236 25.6066 86.2565 25.2572C86.6895 24.9002 87.0123 24.4179 87.2249 23.8102C87.4376 23.2026 87.5439 22.519 87.5439 21.7594C87.5439 20.9999 87.4376 20.3163 87.2249 19.7087C87.0123 19.101 86.6895 18.6225 86.2565 18.2731C85.8236 17.9161 85.2843 17.7376 84.6387 17.7376Z\"\n fill={wordmarkColor}\n />\n <path\n d=\"M54.9365 25.3483H62.3421V28.0827H51.6667V11.1068H54.9365V25.3483Z\"\n fill={wordmarkColor}\n />\n <path\n d=\"M107.368 15.1514C108.135 15.1514 108.823 15.3185 109.43 15.6527C110.046 15.9869 110.528 16.4768 110.877 17.1224C111.234 17.768 111.413 18.5579 111.413 19.4922V28.0827H108.211V20.0505C108.211 19.2985 108.006 18.744 107.596 18.387C107.186 18.0301 106.688 17.8516 106.104 17.8516C105.655 17.8516 105.264 17.9503 104.93 18.1478C104.603 18.3377 104.349 18.6073 104.167 18.9567C103.992 19.3061 103.905 19.7125 103.905 20.1758V28.0827H100.794V19.9365C100.794 19.2985 100.601 18.7934 100.213 18.4212C99.8334 18.0414 99.3397 17.8516 98.7321 17.8516C98.3143 17.8516 97.9346 17.9465 97.5928 18.1364C97.251 18.3263 96.9813 18.6073 96.7839 18.9795C96.5864 19.3441 96.4876 19.796 96.4876 20.3353V28.0827H93.2747V15.3451H96.2712L96.3786 17.806C96.5512 17.3255 96.7692 16.9151 97.0345 16.5755C97.4219 16.0894 97.8738 15.7324 98.3903 15.5046C98.9068 15.2691 99.4461 15.1514 100.008 15.1514C100.927 15.1514 101.668 15.44 102.23 16.0173C102.677 16.4764 103.023 17.1235 103.273 17.9574C103.451 17.4646 103.688 17.038 103.984 16.6781C104.417 16.1616 104.922 15.778 105.5 15.5273C106.085 15.2767 106.707 15.1514 107.368 15.1514Z\"\n fill={wordmarkColor}\n />\n </svg>\n );\n case 'marketing':\n return (\n <svg aria-label=\"Loom\" viewBox=\"0 0 170 48\" fill=\"none\" {...props}>\n <path\n d=\"M154.37 25.212V38H150.414V24.108C150.414 19.968 148.758 18.128 144.986 18.128C141.306 18.128 138.776 20.566 138.776 25.212V38H134.82V15H138.776V18.772C140.248 16.058 142.962 14.54 146.044 14.54C149.954 14.54 152.622 16.518 153.772 20.152C155.06 16.61 158.142 14.54 161.96 14.54C167.112 14.54 169.964 18.036 169.964 24.522V38H166.008V25.212C166.008 20.474 164.352 18.128 160.58 18.128C156.9 18.128 154.37 20.566 154.37 25.212Z\"\n fill={wordmarkColor}\n />\n <path\n d=\"M119.367 38.46C112.467 38.46 108.419 33.354 108.419 26.454C108.419 19.554 112.467 14.54 119.367 14.54C126.221 14.54 130.223 19.554 130.223 26.454C130.223 33.354 126.221 38.46 119.367 38.46ZM119.367 18.22C114.445 18.22 112.283 22.084 112.283 26.454C112.283 30.824 114.445 34.78 119.367 34.78C124.243 34.78 126.359 30.824 126.359 26.454C126.359 22.084 124.243 18.22 119.367 18.22Z\"\n fill={wordmarkColor}\n />\n <path\n d=\"M94.3452 38.46C87.4452 38.46 83.3972 33.354 83.3972 26.454C83.3972 19.554 87.4452 14.54 94.3452 14.54C101.199 14.54 105.201 19.554 105.201 26.454C105.201 33.354 101.199 38.46 94.3452 38.46ZM94.3452 18.22C89.4232 18.22 87.2612 22.084 87.2612 26.454C87.2612 30.824 89.4232 34.78 94.3452 34.78C99.2212 34.78 101.337 30.824 101.337 26.454C101.337 22.084 99.2212 18.22 94.3452 18.22Z\"\n fill={wordmarkColor}\n />\n <path\n d=\"M64.094 7.77783H68.234V34.0438H81.942V37.9998H64.094V7.77783Z\"\n fill={wordmarkColor}\n />\n <path\n d=\"M0 12C0 5.37258 5.37258 0 12 0H36C42.6274 0 48 5.37258 48 12V36C48 42.6274 42.6274 48 36 48H12C5.37258 48 0 42.6274 0 36V12Z\"\n fill={\n symbolColor\n ? getColorValue(symbolColor)\n : getColorValue('primary')\n }\n />\n <g clipPath=\"url(#clip0_45829_3572)\">\n <path\n d=\"M38.0625 22.9644H29.9846L36.9804 18.9253L35.4441 16.2635L28.4482 20.3026L32.4864 13.3073L29.8246 11.77L25.7864 18.7653V10.688H22.7136V18.7661L18.6738 11.77L16.0129 13.3065L20.0518 20.3018L13.0559 16.2635L11.5195 18.9246L18.5154 22.9636H10.4375V26.0366H18.5146L11.5195 30.0757L13.0559 32.7375L20.0511 28.6991L16.0121 35.6945L18.6738 37.2309L22.7128 30.2349V38.313H25.7857V30.2356L29.8239 37.2309L32.4855 35.6945L28.4466 28.6984L35.4425 32.7375L36.979 30.0757L29.9838 26.0373H38.0609V22.9644H38.0625ZM24.25 28.6798C21.933 28.6798 20.0549 26.8018 20.0549 24.4847C20.0549 22.1676 21.933 20.2895 24.25 20.2895C26.567 20.2895 28.445 22.1676 28.445 24.4847C28.445 26.8018 26.567 28.6798 24.25 28.6798Z\"\n fill=\"white\"\n />\n </g>\n <defs>\n <clipPath id=\"clip0_45829_3572\">\n <rect\n width=\"39\"\n height=\"39\"\n fill=\"white\"\n transform=\"translate(4.75 5)\"\n />\n </clipPath>\n </defs>\n </svg>\n );\n case 'attributed':\n return (\n <svg aria-label=\"Loom\" viewBox=\"0 0 232 75\" fill=\"none\" {...props}>\n <path\n d=\"M181.37 52.212V65H177.414V51.108C177.414 46.968 175.758 45.128 171.986 45.128C168.306 45.128 165.776 47.566 165.776 52.212V65H161.82V42H165.776V45.772C167.248 43.058 169.962 41.54 173.044 41.54C176.954 41.54 179.622 43.518 180.772 47.152C182.06 43.61 185.142 41.54 188.96 41.54C194.112 41.54 196.964 45.036 196.964 51.522V65H193.008V52.212C193.008 47.474 191.352 45.128 187.58 45.128C183.9 45.128 181.37 47.566 181.37 52.212Z\"\n fill={wordmarkColor}\n />\n <path\n d=\"M146.367 65.46C139.467 65.46 135.419 60.354 135.419 53.454C135.419 46.554 139.467 41.54 146.367 41.54C153.221 41.54 157.223 46.554 157.223 53.454C157.223 60.354 153.221 65.46 146.367 65.46ZM146.367 45.22C141.445 45.22 139.283 49.084 139.283 53.454C139.283 57.824 141.445 61.78 146.367 61.78C151.243 61.78 153.359 57.824 153.359 53.454C153.359 49.084 151.243 45.22 146.367 45.22Z\"\n fill={wordmarkColor}\n />\n <path\n d=\"M121.345 65.46C114.445 65.46 110.397 60.354 110.397 53.454C110.397 46.554 114.445 41.54 121.345 41.54C128.199 41.54 132.201 46.554 132.201 53.454C132.201 60.354 128.199 65.46 121.345 65.46ZM121.345 45.22C116.423 45.22 114.261 49.084 114.261 53.454C114.261 57.824 116.423 61.78 121.345 61.78C126.221 61.78 128.337 57.824 128.337 53.454C128.337 49.084 126.221 45.22 121.345 45.22Z\"\n fill={wordmarkColor}\n />\n <path\n d=\"M91.094 34.7778H95.234V61.0438H108.942V64.9998H91.094V34.7778Z\"\n fill={wordmarkColor}\n />\n <path\n d=\"M155.186 11.9857C155.186 14.5147 156.33 16.5017 160.967 17.4049C163.676 18.007 164.278 18.4285 164.278 19.3316C164.278 20.2348 163.676 20.7767 161.749 20.7767C159.521 20.7767 156.872 19.994 155.126 18.9704V23.0648C156.511 23.7271 158.317 24.5099 161.749 24.5099C166.566 24.5099 168.433 22.3423 168.433 19.2112M168.433 19.2714C168.433 16.2608 166.867 14.8759 162.351 13.9125C159.883 13.3706 159.281 12.8287 159.281 12.046C159.281 11.0826 160.184 10.6611 161.81 10.6611C163.797 10.6611 165.723 11.2632 167.59 12.1062V8.19237C166.265 7.53004 164.278 7.04834 161.93 7.04834C157.474 7.04834 155.186 8.97513 155.186 12.1062\"\n fill={wordmarkColor}\n />\n <path\n d=\"M216.844 7.16846V24.329H220.517V11.2629L222.022 14.695L227.2 24.329H231.776V7.16846H228.164V18.2475L226.779 14.9961L222.624 7.16846H216.844Z\"\n fill={wordmarkColor}\n />\n <path\n d=\"M193.602 7.16846H189.628V24.329H193.602V7.16846Z\"\n fill={wordmarkColor}\n />\n <path\n d=\"M185.052 19.2109C185.052 16.2003 183.486 14.8154 178.97 13.852C176.501 13.3101 175.899 12.7682 175.899 11.9854C175.899 11.022 176.802 10.6005 178.428 10.6005C180.415 10.6005 182.342 11.2027 184.209 12.0456V8.13183C182.884 7.46949 180.897 6.98779 178.549 6.98779C174.093 6.98779 171.805 8.91459 171.805 12.0456C171.805 14.5745 172.949 16.5615 177.585 17.4647C180.295 18.0669 180.897 18.4883 180.897 19.3915C180.897 20.2947 180.295 20.8366 178.368 20.8366C176.14 20.8366 173.491 20.0539 171.745 19.0302V23.1247C173.13 23.787 174.936 24.5698 178.368 24.5698C183.125 24.5698 185.052 22.4021 185.052 19.2109Z\"\n fill={wordmarkColor}\n />\n <path\n d=\"M124.237 7.16846V24.329H132.426L133.69 20.5958H128.211V7.16846H124.237Z\"\n fill={wordmarkColor}\n />\n <path\n d=\"M108.04 7.16846V10.8414H112.436V24.329H116.47V10.8414H121.227V7.16846H108.04Z\"\n fill={wordmarkColor}\n />\n <path\n d=\"M102.199 7.16846H96.961L91 24.329H95.5761L96.4191 21.4388C97.4427 21.7398 98.5265 21.9205 99.6104 21.9205C100.694 21.9205 101.778 21.7398 102.802 21.4388L103.645 24.329H108.221C108.16 24.329 102.199 7.16846 102.199 7.16846ZM99.5501 18.3077C98.7674 18.3077 98.0448 18.1873 97.3825 18.0067L99.5501 10.5403L101.718 18.0067C101.055 18.1873 100.333 18.3077 99.5501 18.3077Z\"\n fill={wordmarkColor}\n />\n <path\n d=\"M146.576 7.16846H141.337L135.316 24.329H139.892L140.735 21.4388C141.759 21.7398 142.843 21.9205 143.927 21.9205C145.01 21.9205 146.094 21.7398 147.118 21.4388L147.961 24.329H152.537L146.576 7.16846ZM143.927 18.3077C143.144 18.3077 142.421 18.1873 141.759 18.0067L143.927 10.5403L146.094 18.0067C145.432 18.1873 144.709 18.3077 143.927 18.3077Z\"\n fill={wordmarkColor}\n />\n <path\n d=\"M207.992 7.16846H202.754L196.793 24.329H201.369L202.212 21.4388C203.236 21.7398 204.319 21.9205 205.403 21.9205C206.487 21.9205 207.571 21.7398 208.595 21.4388L209.438 24.329H214.014L207.992 7.16846ZM205.403 18.3077C204.621 18.3077 203.898 18.1873 203.236 18.0067L205.403 10.5403L207.571 18.0067C206.909 18.1873 206.126 18.3077 205.403 18.3077Z\"\n fill={wordmarkColor}\n />\n <path\n d=\"M0 18.75C0 8.39466 8.39466 0 18.75 0H56.25C66.6053 0 75 8.39466 75 18.75V56.25C75 66.6053 66.6053 75 56.25 75H18.75C8.39466 75 0 66.6053 0 56.25V18.75Z\"\n fill={\n symbolColor\n ? getColorValue(symbolColor)\n : getColorValue('primary')\n }\n />\n <g clipPath=\"url(#clip0_45829_3571)\">\n <path\n d=\"M59.4729 35.8821H46.8511L57.7822 29.571L55.3817 25.412L44.4506 31.723L50.7602 20.7928L46.6012 18.3909L40.2915 29.3211V16.7002H35.4902V29.3223L29.1781 18.3909L25.0204 20.7916L31.3312 31.7218L20.4001 25.412L17.9995 29.5698L28.9306 35.8809H16.3088V40.6824H28.9294L17.9995 46.9934L20.4001 51.1525L31.33 44.8426L25.0192 55.7728L29.1781 58.1735L35.489 47.2422V59.8643H40.2904V47.2434L46.6 58.1735L50.7589 55.7728L44.4481 44.8415L55.3792 51.1525L57.7799 46.9934L46.85 40.6835H59.4704V35.8821H59.4729ZM37.8909 44.8124C34.2705 44.8124 31.3361 41.878 31.3361 38.2575C31.3361 34.637 34.2705 31.7025 37.8909 31.7025C41.5112 31.7025 44.4456 34.637 44.4456 38.2575C44.4456 41.878 41.5112 44.8124 37.8909 44.8124Z\"\n fill=\"white\"\n />\n </g>\n <defs>\n <clipPath id=\"clip0_45829_3571\">\n <rect\n width=\"60.9375\"\n height=\"60.9375\"\n fill=\"white\"\n transform=\"translate(7.42188 7.8125)\"\n />\n </clipPath>\n </defs>\n </svg>\n );\n default:\n return (\n <svg aria-label=\"Loom\" viewBox=\"0 0 100 30\" fill=\"none\" {...props}>\n <title>Loom</title>\n <path\n d=\"M30.01 13.43h-9.142l7.917-4.57-1.57-2.72-7.918 4.57 4.57-7.915-2.72-1.57-4.571 7.913V0h-3.142v9.139L8.863 1.225l-2.721 1.57 4.57 7.913L2.796 6.14 1.225 8.86l7.917 4.57H0v3.141h9.141l-7.916 4.57 1.57 2.72 7.918-4.57-4.571 7.915 2.72 1.57 4.572-7.914V30h3.142v-9.334l4.655 8.06 2.551-1.472-4.656-8.062 8.087 4.668 1.571-2.72-7.916-4.57h9.141v-3.14h.001zm-15.005 5.84a4.271 4.271 0 11-.001-8.542 4.271 4.271 0 01.001 8.542z\"\n fill={\n symbolColor\n ? getColorValue(symbolColor)\n : getColorValue('primary')\n }\n />\n <path\n d=\"M38.109 25.973V4.027h4.028v21.946h-4.028zM76.742 11.059h3.846v1.82c.818-1.455 2.727-2.244 4.362-2.244 2.03 0 3.665.88 4.422 2.485 1.18-1.82 2.756-2.485 4.725-2.485 2.756 0 5.39 1.667 5.39 5.668v9.67h-3.906v-8.851c0-1.607-.788-2.82-2.636-2.82-1.727 0-2.757 1.335-2.757 2.942v8.73h-3.996v-8.852c0-1.607-.818-2.82-2.636-2.82-1.757 0-2.787 1.305-2.787 2.942v8.73h-4.027V11.059zM51.24 26.405c-4.538 0-7.824-3.367-7.824-7.889 0-4.45 3.276-7.896 7.824-7.896 4.57 0 7.824 3.478 7.824 7.896 0 4.49-3.288 7.889-7.824 7.889zm0-12.135a4.25 4.25 0 00-4.244 4.247 4.25 4.25 0 004.244 4.247 4.25 4.25 0 004.243-4.247 4.25 4.25 0 00-4.243-4.247zM67.667 26.405c-4.538 0-7.824-3.367-7.824-7.889 0-4.45 3.276-7.896 7.824-7.896 4.57 0 7.824 3.478 7.824 7.896 0 4.49-3.29 7.889-7.824 7.889zm0-12.186a4.3 4.3 0 00-4.293 4.296 4.3 4.3 0 004.293 4.296 4.3 4.3 0 004.293-4.296 4.3 4.3 0 00-4.293-4.296z\"\n fill={wordmarkColor}\n />\n </svg>\n );\n }\n};\n\nconst LogoWrapper = styled.span<LogoWrapperProps>`\n display: block;\n ${props => props.maxWidth && getSize('max-width', props.maxWidth)};\n\n & > svg.lns-logoSvg {\n display: block;\n width: 100%;\n height: 100%;\n ${props => props.maxWidth && getSize('max-width', props.maxWidth)};\n }\n`;\n\nconst Logo = ({\n variant = 'combined',\n maxWidth,\n symbolColor,\n wordmarkColor = 'body',\n brand = 'loom',\n customId = '',\n ...props\n}: LogoProps &\n React.ComponentProps<typeof LogoWrapper> &\n Omit<\n LensSpanProps,\n keyof LogoProps & React.ComponentProps<typeof LogoWrapper>\n >) => (\n <LogoWrapper variant={variant} maxWidth={maxWidth} {...props}>\n {variant === 'combined' && (\n <CombinedLogoSvg\n brand={brand}\n symbolColor={symbolColor}\n wordmarkColor={getColorValue(wordmarkColor)}\n customId={customId}\n className=\"lns-logoSvg\"\n />\n )}\n {variant === 'symbol' && (\n <SymbolLogoSvg\n brand={brand}\n symbolColor={symbolColor}\n customId={customId}\n className=\"lns-logoSvg\"\n />\n )}\n {variant === 'wordmark' && (\n <WordmarkLogoSvg\n brand={brand}\n wordmarkColor={getColorValue(wordmarkColor)}\n className=\"lns-logoSvg\"\n />\n )}\n </LogoWrapper>\n);\n\nexport const availableVariants = ['combined', 'symbol', 'wordmark'];\n\ntype LogoProps = {\n variant?: 'combined' | 'symbol' | 'wordmark';\n brand?: 'loom' | 'ai' | 'apptile' | 'product' | 'marketing' | 'attributed';\n maxWidth?: number | string;\n symbolColor?: string;\n wordmarkColor?: string;\n customId?: string;\n};\n\ntype LogoWrapperProps = {\n variant?: 'combined' | 'symbol' | 'wordmark';\n brand?: 'loom' | 'ai' | 'apptile' | 'product' | 'marketing' | 'attributed';\n maxWidth?: number | string;\n};\n\nexport default Logo;\n", "import styled from '@emotion/styled';\nimport React from 'react';\n\nimport { LENS_CDN } from '../../constants/routes';\n\nconst sizeToPx = {\n small: '40px',\n medium: '80px',\n};\n\nconst LogoLoaderWrapper = styled.span<LogoLoaderProps>`\n animation: ${props => props.animation};\n background-image: url(${LENS_CDN}/${props => props.brand}-loader.svg);\n background-size: cover;\n background-position: left center;\n display: block;\n height: ${props => sizeToPx[props.size]};\n width: ${props => sizeToPx[props.size]};\n\n @keyframes spin {\n 100% {\n background-position: right center;\n }\n }\n`;\n\nconst LogoLoader = ({\n animation = 'spin 2s infinite steps(49) forwards',\n brand = 'loom',\n size = 'medium',\n}: LogoLoaderProps & React.ComponentProps<typeof LogoLoaderWrapper>) => {\n return <LogoLoaderWrapper animation={animation} brand={brand} size={size} />;\n};\n\ntype LogoLoaderProps = {\n animation?: string;\n brand?: 'loom' | 'ai';\n size?: 'small' | 'medium';\n};\n\nexport default LogoLoader;\n", "export const LENS_CDN = 'https://cdn.loom.com/assets/lens';\n", "import { css } from '@emotion/react';\nimport styled from '@emotion/styled';\nimport React from 'react';\n\nimport { LensDivProps, ResponsiveType } from '../../types';\nimport {\n getRadius,\n getSize,\n getSizeValue,\n getColorValue,\n} from '../../utilities';\n\nconst ssrComment = `/* emotion-disable-server-rendering-unsafe-selector-warning-please-do-not-use-this-the-warning-exists-for-a-reason */`;\n\nconst variantStyles = {\n border: css`\n .ListRowWrapper:last-child {\n border-bottom: 1px solid ${getColorValue('border')};\n }\n\n .ListRowWrapper,\n .ListRowWrapper:first-child ${ssrComment} {\n border-top: 1px solid ${getColorValue('border')};\n }\n `,\n stripe: css`\n .ListRowWrapper {\n &:nth-child(odd) ${ssrComment} {\n background-color: ${getColorValue('backgroundSecondary')};\n }\n }\n\n .ListRowWrapper {\n ${getRadius('medium')};\n }\n `,\n clear: css``,\n};\n\nconst ListWrapper = styled.div<ListProps>`\n .ListRowWrapper {\n grid-template-columns: ${props => props.columns && props.columns};\n ${props => getSize('gap', props.gap)};\n }\n\n ${props => variantStyles[props.variant]};\n`;\n\nconst ListRowWrapper = styled.div<ListRowWrapperProps>`\n display: grid;\n align-items: center;\n text-decoration: none;\n color: inherit;\n\n ${props => getSize('height', props.height)};\n ${props => getSize('min-height', props.minHeight)};\n ${props => getSize('max-height', props.maxHeight)};\n ${props => getSize('padding', props.padding)};\n ${props => getSize('padding-top', props.paddingTop)};\n ${props => getSize('padding-bottom', props.paddingBottom)};\n ${props => getSize('padding-left', props.paddingLeft)};\n ${props => getSize('padding-right', props.paddingRight)};\n\n ${props =>\n props.paddingY &&\n `\n ${getSize('padding-top', props.paddingY)}\n ${getSize('padding-bottom', props.paddingY)}\n `};\n\n ${props =>\n props.paddingX &&\n `\n ${getSize('padding-left', props.paddingX)}\n ${getSize('padding-right', props.paddingX)}\n `};\n\n ${props => (props.onClick || props.href) && `cursor: pointer;`};\n\n &.ListRowWrapper:nth-child(even),\n &.ListRowWrapper:nth-child(odd) ${ssrComment} {\n ${props =>\n props.backgroundColor &&\n `background-color: ${getColorValue(props.backgroundColor)}`};\n\n &:hover {\n ${props =>\n (props.onClick || props.href) &&\n `\n background-color: ${getColorValue('backgroundHover')};\n border-color: transparent;\n ${getRadius('medium')};\n `};\n }\n }\n`;\n\nexport const ListRow = ({\n children,\n htmlTag = 'li',\n className,\n backgroundColor,\n onClick,\n href,\n role,\n ...props\n}: ListRowProps) => {\n const classNameFromProp = className ? ` ${className}` : ``;\n\n const nonInteractiveElements = [\n 'div',\n 'span',\n 'p',\n 'h1',\n 'h2',\n 'h3',\n 'h4',\n 'h5',\n 'h6',\n 'section',\n 'article',\n 'header',\n 'footer',\n 'main',\n 'aside',\n 'nav',\n ];\n\n const isAutoInteractive = !htmlTag && onClick;\n\n let isNonInteractive = false;\n const actualHtmlTag = htmlTag || 'div';\n if (!isAutoInteractive) {\n isNonInteractive = nonInteractiveElements.includes(actualHtmlTag);\n }\n\n const interactiveProps =\n !isNonInteractive || isAutoInteractive\n ? {\n onClick,\n onKeyDown: e => {\n if (e.key === 'Enter') {\n e.preventDefault();\n onClick?.(e);\n }\n },\n }\n : {};\n\n return (\n // eslint-disable-next-line styled-components-a11y/no-static-element-interactions\n <ListRowWrapper\n role={role || (htmlTag === 'li' ? 'listitem' : undefined)}\n className={`ListRowWrapper${classNameFromProp}`}\n as={htmlTag}\n backgroundColor={backgroundColor}\n href={href}\n {...interactiveProps}\n {...props}\n >\n {children}\n </ListRowWrapper>\n );\n};\n\nconst formatColumns = columns =>\n columns.map(columnValue => getSizeValue(columnValue)).join(' ');\n\nconst List = ({\n children,\n columns,\n gap,\n variant = 'stripe',\n htmlTag = 'ul',\n ...props\n}: ListProps &\n React.ComponentProps<typeof ListWrapper> &\n Omit<\n LensDivProps,\n keyof ListProps & React.ComponentProps<typeof ListWrapper>\n >) => {\n let processedChildren = children;\n if (htmlTag === 'ul') {\n processedChildren = React.Children.map(children, child => {\n if (React.isValidElement(child) && child.type === ListRow) {\n return React.cloneElement(child as React.ReactElement<ListRowProps>, {\n htmlTag: 'li',\n });\n }\n return child;\n });\n }\n\n return (\n <ListWrapper\n as={htmlTag}\n columns={columns && formatColumns(columns)}\n gap={gap}\n variant={variant}\n role={htmlTag === 'ul' ? 'list' : undefined}\n {...props}\n >\n {processedChildren}\n </ListWrapper>\n );\n};\n\ninterface SharedProps {\n padding?: ResponsiveType<string | number>;\n paddingTop?: ResponsiveType<string | number>;\n paddingBottom?: ResponsiveType<string | number>;\n paddingLeft?: ResponsiveType<string | number>;\n paddingRight?: ResponsiveType<string | number>;\n paddingY?: ResponsiveType<string | number>;\n paddingX?: ResponsiveType<string | number>;\n height?: ResponsiveType<string | number>;\n minHeight?: ResponsiveType<string | number>;\n maxHeight?: ResponsiveType<string | number>;\n backgroundColor?: string;\n}\n\ninterface ListRowProps extends SharedProps {\n className?: string;\n htmlTag?: keyof JSX.IntrinsicElements;\n children?: React.ReactNode;\n onClick?: React.ReactEventHandler;\n href?: string;\n role?: string;\n}\n\ninterface ListRowWrapperProps extends SharedProps {\n className?: string;\n as?: string;\n children?: React.ReactNode;\n href?: string;\n onClick?: React.ReactEventHandler;\n}\n\ntype ListProps = {\n columns?: (string | number)[];\n gap?: ResponsiveType<string | number>;\n variant?: 'clear' | 'border' | 'stripe';\n htmlTag?: keyof JSX.IntrinsicElements;\n backgroundColor?: string;\n children?: React.ReactNode;\n};\n\nexport default List;\n", "import styled from '@emotion/styled';\nimport React from 'react';\n\nimport { LensButtonProps } from '../../types';\nimport {\n getColorValue,\n getFocusRing,\n getFontWeight,\n getRadius,\n getSize,\n getSizeValue,\n u,\n} from '../../utilities';\n\nimport Container from '../container/container';\n\nimport Icon from '../icon/icon';\n\nconst TabsContext = React.createContext<{ isPilledDesign?: boolean }>({});\n\nconst negativeScrollOffset = scrollOffset =>\n `calc(-1 * ${getSizeValue(scrollOffset)})`;\n\nconst Wrapper = styled.div<WrapperProps>`\n ${props =>\n props.scrollOffset &&\n `margin: 0 ${negativeScrollOffset(props.scrollOffset)};\n `};\n`;\n\nconst TabsNav = styled.div<TabsNavProps>`\n --activeIndicatorHeight: 3px;\n\n display: flex;\n overflow: auto;\n -ms-overflow-style: none;\n scrollbar-width: none;\n\n ${props =>\n props.hasBottomBorder && 'border-bottom: 1px solid var(--lns-color-border)'}\n\n ${props => props.scrollOffset && getSize('padding-left', props.scrollOffset)};\n\n &::-webkit-scrollbar {\n display: none;\n }\n\n > * {\n ${props => props.hasFullTabs && `flex: 1 0`};\n &:not(:first-of-type) {\n margin-left: 1rem;\n }\n }\n\n ::after {\n content: '';\n flex-shrink: 0;\n ${props => props.scrollOffset && getSize('width', props.scrollOffset)};\n }\n`;\n\nconst TabsNavPilled = styled.div<TabsNavProps>`\n ${getRadius('200')};\n background-color: var(--lns-color-backgroundSecondary);\n\n padding: var(--lns-space-xsmall);\n\n display: flex;\n overflow: auto;\n -ms-overflow-style: none;\n scrollbar-width: none;\n ${props => props.scrollOffset && getSize('padding-left', props.scrollOffset)};\n\n &::-webkit-scrollbar {\n display: none;\n }\n\n * {\n flex: 1 0;\n }\n\n ::after {\n content: '';\n flex-shrink: 0;\n ${props => props.scrollOffset && getSize('width', props.scrollOffset)};\n }\n`;\n\nconst TabWrapper = styled.button<TabWrapperProps>`\n appearance: none;\n font: inherit;\n background: transparent;\n border: 0;\n ${getRadius('medium')};\n cursor: pointer;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n vertical-align: middle;\n padding: 0 0 calc(var(--lns-space-small) + var(--activeIndicatorHeight)) 0;\n position: relative;\n color: inherit;\n text-decoration: none;\n flex-shrink: 0;\n ${getFontWeight('bold')};\n transition: 0.6s color;\n white-space: nowrap;\n color: ${props =>\n getColorValue(\n props.isActive\n ? 'body'\n : props.disabled\n ? 'disabledContent'\n : 'bodyDimmed'\n )};\n ${props =>\n props.isActive &&\n `border-color: ${getColorValue('primary')};\n `};\n\n &:focus,\n &:focus-visible {\n outline: 1px solid transparent;\n }\n\n &:focus-visible {\n ${getFocusRing(undefined, 'inset')};\n }\n\n &:hover:not(:disabled) {\n color: ${getColorValue('body')};\n transition: 0.3s color;\n }\n\n &::after {\n bottom: 0;\n ${getRadius('medium')};\n content: '';\n height: var(--activeIndicatorHeight);\n position: absolute;\n width: 100%;\n ${props =>\n props.isActive && `background-color: ${getColorValue('primary')}`};\n }\n`;\n\nconst TabWrapperPilled = styled.button<TabWrapperProps>`\n padding: ${u(1)} 0;\n\n appearance: none;\n font: inherit;\n background: transparent;\n border: none;\n ${getRadius('175')};\n cursor: pointer;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n vertical-align: middle;\n position: relative;\n color: inherit;\n text-decoration: none;\n flex-shrink: 0;\n ${getFontWeight('bold')};\n\n transition: 0.6s color;\n white-space: nowrap;\n color: ${props =>\n getColorValue(\n props.isActive\n ? 'body'\n : props.disabled\n ? 'disabledContent'\n : 'bodyDimmed'\n )};\n ${props =>\n props.isActive &&\n `background-color: ${getColorValue('background')};\n color: ${getColorValue('primary')};\n `};\n\n &:focus,\n &:focus-visible {\n outline: 1px solid transparent;\n }\n\n &:focus-visible {\n ${getFocusRing(undefined, 'inset')};\n }\n\n &:hover:not(:disabled) {\n color: ${getColorValue('primary')};\n transition: 0.3s color;\n }\n`;\n\nexport const Tab = ({\n children,\n isActive,\n htmlTag = 'button',\n icon,\n isDisabled = false,\n ...props\n}: TabProps &\n React.ComponentProps<typeof TabWrapper> &\n Omit<\n LensButtonProps,\n keyof TabProps & React.ComponentProps<typeof TabWrapper>\n >) => {\n const { isPilledDesign } = React.useContext(TabsContext);\n\n if (isPilledDesign) {\n return (\n <TabWrapperPilled\n as={htmlTag}\n isActive={isActive}\n icon={icon}\n role=\"tab\"\n aria-selected={isActive}\n disabled={isDisabled}\n {...props}\n >\n {icon && (\n <Container htmlTag=\"span\" paddingRight={children && 'small'}>\n <Icon icon={icon} color=\"currentColor\" />\n </Container>\n )}\n {children}\n </TabWrapperPilled>\n );\n }\n\n return (\n <TabWrapper\n as={htmlTag}\n isActive={isActive}\n icon={icon}\n role=\"tab\"\n aria-selected={isActive}\n disabled={isDisabled}\n {...props}\n >\n {icon && (\n <Container htmlTag=\"span\" paddingRight={children && 'small'}>\n <Icon icon={icon} color=\"currentColor\" />\n </Container>\n )}\n {children}\n </TabWrapper>\n );\n};\n\nconst Tabs = ({\n children,\n scrollOffset,\n hasFullTabs,\n isPilledDesign,\n hasBottomBorder = false,\n ...props\n}: TabsProps) => {\n const tabsContent = isPilledDesign ? (\n <TabsNavPilled\n hasFullTabs={hasFullTabs}\n scrollOffset={scrollOffset}\n role=\"tablist\"\n {...props}\n >\n {children}\n </TabsNavPilled>\n ) : (\n <TabsNav\n hasFullTabs={hasFullTabs}\n scrollOffset={scrollOffset}\n hasBottomBorder={hasBottomBorder}\n role=\"tablist\"\n {...props}\n >\n {children}\n </TabsNav>\n );\n\n if (scrollOffset) {\n return <Wrapper scrollOffset={scrollOffset}>{tabsContent}</Wrapper>;\n }\n\n return (\n <TabsContext.Provider value={{ isPilledDesign }}>\n {tabsContent}\n </TabsContext.Provider>\n );\n};\n\ntype TabsProps = {\n scrollOffset?: number | string;\n hasFullTabs?: boolean;\n children?: React.ReactNode;\n isPilledDesign?: boolean;\n hasBottomBorder?: boolean;\n};\n\ntype TabProps = {\n isActive?: boolean;\n icon?: React.ReactNode;\n children?: React.ReactNode;\n htmlTag?: 'a' | 'button' | 'span';\n isPilledDesign?: boolean;\n isDisabled?: boolean;\n};\n\ntype TabWrapperProps = {\n isActive?: boolean;\n icon?: React.ReactNode;\n as?: string;\n isDisabled?: boolean;\n};\n\ntype TabsNavProps = {\n scrollOffset?: number | string;\n hasFullTabs?: boolean;\n hasBottomBorder?: boolean;\n};\n\ntype WrapperProps = {\n scrollOffset?: number | string;\n};\n\nexport default Tabs;\n", "import styled from '@emotion/styled';\nimport React from 'react';\n\nimport { LensDivProps } from '../../types';\nimport {\n getColorValue,\n getFontWeight,\n getRadius,\n getSize,\n getTextSize,\n u,\n} from '../../utilities';\n\nimport Container from '../container/container';\nimport Icon from '../icon/icon';\n\nconst PillWrapper = styled.div<PillWrapperProps>`\n display: inline-grid;\n grid-auto-flow: column;\n align-items: center;\n vertical-align: middle;\n padding: 0 ${u(1.5)};\n min-height: ${u(3.25)};\n color: ${props => getColorValue(props.color)};\n background-color: ${props => getColorValue(props.backgroundColor)};\n ${getRadius('100')};\n ${getTextSize('small')};\n ${getFontWeight('bold')};\n ${getSize('gap', 'xsmall')};\n`;\n\nconst Pill = ({\n color,\n backgroundColor,\n children,\n icon,\n iconPosition = 'left',\n ...props\n}: PillProps &\n React.ComponentProps<typeof PillWrapper> &\n Omit<\n LensDivProps,\n keyof PillProps & React.ComponentProps<typeof PillWrapper>\n >) => {\n const iconComponent = (\n <Container\n htmlTag=\"span\"\n paddingLeft={iconPosition === 'right' && 'xsmall'}\n paddingRight={iconPosition === 'left' && 'xsmall'}\n >\n <Icon icon={icon} color=\"currentColor\" size={2} />\n </Container>\n );\n\n return (\n <PillWrapper color={color} backgroundColor={backgroundColor} {...props}>\n {icon && iconPosition === 'left' && iconComponent}\n {children}\n {icon && iconPosition === 'right' && iconComponent}\n </PillWrapper>\n );\n};\n\ntype PillProps = {\n icon?: React.ReactNode;\n iconPosition?: 'left' | 'right';\n color?: string;\n backgroundColor?: string;\n children?: React.ReactNode;\n};\n\ntype PillWrapperProps = {\n color?: string;\n backgroundColor?: string;\n};\n\nexport default Pill;\n", "import styled from '@emotion/styled';\nimport {\n Placement,\n autoUpdate,\n flip,\n offset as floatingUiOffset,\n limitShift,\n shift,\n useFloating,\n} from '@floating-ui/react-dom';\nimport React, { useEffect } from 'react';\n\nimport ReactDOM from 'react-dom';\n\nimport { useTransition } from 'transition-hook';\n\nimport { unit } from '../../variables';\n\ntype PlacementProps =\n | 'topLeft'\n | 'topCenter'\n | 'topRight'\n | 'bottomLeft'\n | 'bottomCenter'\n | 'bottomRight'\n | 'leftTop'\n | 'leftCenter'\n | 'leftBottom'\n | 'rightTop'\n | 'rightCenter'\n | 'rightBottom';\n\nconst placements = {\n topLeft: 'top-start',\n topCenter: 'top',\n topRight: 'top-end',\n bottomLeft: 'bottom-start',\n bottomCenter: 'bottom',\n bottomRight: 'bottom-end',\n leftTop: 'left-start',\n leftCenter: 'left',\n leftBottom: 'left-end',\n rightTop: 'right-start',\n rightCenter: 'right',\n rightBottom: 'right-end',\n};\n\nconst Wrapper = styled.div<{\n childrenZIndex: number;\n}>`\n position: relative;\n width: fit-content;\n // transform forces the popover to calculate the position from the trigger instead of the viewport\n transform: translate(0);\n z-index: ${props => props.childrenZIndex};\n`;\n\nconst ContentWrapper = styled.div<{\n zIndex: string | number;\n}>`\n ${props => props.zIndex && `z-index: ${props.zIndex}`};\n`;\n\nconst Popover = ({\n children,\n content,\n offset = 0.5,\n boundaryOffset = 0.5,\n isOpen,\n zIndex = 500,\n childrenZIndex = 1,\n placement = 'topCenter',\n rootId,\n boundaryElement = 'body',\n transitionDuration = 0,\n transitionDelay = 0,\n ...props\n}: PopoverProps) => {\n const unitOffset = offset * unit;\n const unitBoundaryOffset = boundaryOffset * unit;\n const isBrowser = typeof window !== 'undefined';\n const rootNode =\n rootId && isBrowser ? document.getElementById(rootId) : undefined;\n\n const { stage, shouldMount } = useTransition(\n isOpen,\n transitionDuration + transitionDelay\n );\n const getBoundaryElement = () => {\n if (boundaryElement === 'body' && isBrowser) {\n return document.body;\n }\n\n return boundaryElement as Element;\n };\n\n const { x, y, reference, floating, strategy, update, refs } = useFloating({\n placement: placements[placement] as Placement,\n middleware: [\n shift({\n padding: unitBoundaryOffset,\n boundary: boundaryElement ? getBoundaryElement() : undefined,\n limiter: limitShift(),\n }),\n flip({\n fallbackPlacements: ['top', 'bottom'],\n fallbackStrategy: 'initialPlacement',\n }),\n floatingUiOffset(unitOffset),\n ],\n strategy: 'fixed',\n });\n\n useEffect(() => {\n if (!refs.reference.current || !refs.floating.current) {\n return;\n }\n\n // Only call this when the floating element is rendered\n return autoUpdate(refs.reference.current, refs.floating.current, update);\n }, [refs.reference, refs.floating, update, shouldMount]);\n\n const contentProps = {\n zIndex,\n ref: floating,\n style: {\n position: strategy,\n top: y ?? '',\n left: x ?? '',\n transition: `opacity ${transitionDuration}ms ${transitionDelay}ms`,\n opacity: stage === 'enter' ? 1 : 0,\n },\n };\n\n return (\n <Wrapper ref={reference} {...props} childrenZIndex={childrenZIndex}>\n {children}\n\n {shouldMount && (\n <>\n {!rootNode && (\n <ContentWrapper {...contentProps}>{content}</ContentWrapper>\n )}\n\n {rootNode &&\n ReactDOM.createPortal(\n <ContentWrapper {...contentProps}>{content}</ContentWrapper>,\n rootNode\n )}\n </>\n )}\n </Wrapper>\n );\n};\n\ntype PopoverProps = {\n children?: React.ReactNode;\n content?: React.ReactNode;\n offset?: number;\n boundaryOffset?: number;\n zIndex?: number | string;\n isOpen?: boolean;\n placement?: PlacementProps;\n rootId?: string;\n boundaryElement?: 'body' | Element;\n transitionDuration?: number;\n transitionDelay?: number;\n childrenZIndex?: number;\n};\n\nexport default Popover;\n", "import styled from '@emotion/styled';\nimport React from 'react';\n\nimport { getSize, getColorValue } from '../../utilities';\n\nconst IllustrationWrapper = styled.span<IllustrationWrapperProps>`\n display: block;\n color: ${props =>\n props.color ? getColorValue(props.color) : getColorValue('grey8')};\n ${props => props.size && getSize('width', props.size)};\n ${props => props.size && getSize('height', props.size)};\n\n svg {\n display: block;\n width: 100%;\n height: 100%;\n }\n`;\n\nconst Illustration = ({\n altText,\n illustration,\n color = 'orange',\n size = 12,\n ...props\n}: IllustrationProps & React.ComponentProps<typeof IllustrationWrapper>) => {\n return (\n <IllustrationWrapper\n aria-hidden=\"true\"\n aria-label={altText}\n color={color}\n size={size}\n {...props}\n >\n {illustration}\n </IllustrationWrapper>\n );\n};\n\ntype IllustrationProps = {\n altText?: string;\n color?: string;\n illustration?: React.ReactNode;\n size?: number | string;\n};\n\ntype IllustrationWrapperProps = {\n color?: string;\n size?: number | string;\n};\n\nexport default Illustration;\n", "import { css } from '@emotion/react';\nimport styled from '@emotion/styled';\nimport React, { Children, cloneElement } from 'react';\n\nimport { customStylesWarning } from '../../console-messages';\nimport { ResponsiveType } from '../../types';\nimport {\n getResponsiveNumber,\n getResponsiveOneOf,\n getSize,\n} from '../../utilities';\n\nimport { getListContainer } from '../../utilities/styles';\n\nconst getSizeStyles = props => css`\n ${getSize('width', props.width)};\n ${getSize('height', props.height)};\n ${getSize('min-width', props.minWidth)};\n ${getSize('min-height', props.minHeight)};\n ${getSize('max-width', props.maxWidth)};\n ${getSize('max-height', props.maxHeight)};\n`;\n\nconst SplitWrapper = styled.div<SplitWrapperProps>`\n display: flex;\n ${props => getResponsiveOneOf('align-items', props.alignItems)};\n ${props =>\n props.justifyContent &&\n getResponsiveOneOf('justify-content', props.justifyContent)};\n ${props =>\n props.alignContent &&\n getResponsiveOneOf('align-content', props.alignContent)};\n ${props => getResponsiveOneOf('flex-wrap', props.wrap)};\n ${props =>\n props.direction && getResponsiveOneOf('flex-direction', props.direction)};\n ${props => props.gap && getSize('gap', props.gap)};\n ${props => props.rowGap && getSize('row-gap', props.rowGap)};\n ${props => props.columnGap && getSize('column-gap', props.columnGap)};\n ${props => getSizeStyles(props)};\n ${props => getListContainer(props.as)};\n`;\n\nconst SplitSectionWrapper = styled.div<SplitSectionWrapperProps>`\n ${props => getResponsiveNumber('flex-grow', props.grow)};\n ${props => getResponsiveNumber('flex-shrink', props.shrink)};\n ${props => props.basis && getSize('flex-basis', props.basis)};\n ${props => getSizeStyles(props)};\n`;\n\nexport const SplitSection = ({\n children,\n grow,\n shrink,\n basis,\n width,\n height,\n minWidth,\n minHeight,\n maxWidth,\n maxHeight,\n htmlTag = 'div',\n className,\n style,\n ...props\n}: SplitSectionProps & React.ComponentProps<typeof SplitSectionWrapper>) => {\n if (className || style) {\n // eslint-disable-next-line no-console\n console.warn(customStylesWarning);\n }\n\n return (\n <SplitSectionWrapper\n as={htmlTag}\n grow={grow}\n shrink={shrink}\n basis={basis}\n width={width}\n height={height}\n minWidth={minWidth}\n minHeight={minHeight}\n maxWidth={maxWidth}\n maxHeight={maxHeight}\n {...props}\n >\n {children}\n </SplitSectionWrapper>\n );\n};\n\nconst Split = ({\n children,\n gap = 'initial',\n rowGap,\n columnGap,\n alignItems = 'center',\n justifyContent,\n alignContent,\n wrap = 'wrap',\n width,\n height,\n minWidth,\n minHeight,\n maxWidth,\n maxHeight,\n htmlTag = 'div',\n className,\n style,\n ...props\n}: SplitProps & React.ComponentProps<typeof SplitWrapper>) => {\n if (className || style) {\n // eslint-disable-next-line no-console\n console.warn(customStylesWarning);\n }\n\n return (\n <SplitWrapper\n as={htmlTag}\n gap={gap}\n rowGap={rowGap}\n columnGap={columnGap}\n alignItems={alignItems}\n justifyContent={justifyContent}\n alignContent={alignContent}\n wrap={wrap}\n width={width}\n height={height}\n minWidth={minWidth}\n minHeight={minHeight}\n maxWidth={maxWidth}\n maxHeight={maxHeight}\n {...props}\n >\n {htmlTag === 'ul' || htmlTag === 'ol'\n ? Children.map(children, (child: React.ReactElement) => {\n if (child.type === SplitSection || child.type === Split) {\n return cloneElement(child, { htmlTag: 'li' });\n }\n\n return child;\n })\n : children}\n </SplitWrapper>\n );\n};\n\ninterface SharedProps {\n width?: ResponsiveType<number | string>;\n height?: ResponsiveType<number | string>;\n minWidth?: ResponsiveType<number | string>;\n minHeight?: ResponsiveType<number | string>;\n maxWidth?: ResponsiveType<number | string>;\n maxHeight?: ResponsiveType<number | string>;\n children?: React.ReactNode;\n}\n\ninterface SplitProps extends SharedProps {\n alignItems?: ResponsiveType<\n 'start' | 'stretch' | 'flex-start' | 'flex-end' | 'center' | 'baseline'\n >;\n justifyContent?: ResponsiveType<\n | 'flex-start'\n | 'flex-end'\n | 'center'\n | 'space-between'\n | 'space-around'\n | 'space-evenly'\n >;\n alignContent?:\n | 'flex-start'\n | 'flex-end'\n | 'center'\n | 'space-between'\n | 'space-around'\n | 'space-evenly'\n | 'stretch'\n | 'start'\n | 'end'\n | 'baseline';\n wrap?: ResponsiveType<'nowrap' | 'wrap' | 'wrap-reverse'>;\n htmlTag?: 'div' | 'ul' | 'ol' | 'li';\n gap?: ResponsiveType<number | string>;\n rowGap?: ResponsiveType<number | string>;\n columnGap?: ResponsiveType<number | string>;\n direction?: ResponsiveType<\n 'column' | 'column-reverse' | 'row' | 'row-reverse'\n >;\n className?: never;\n style?: never;\n}\n\ninterface SplitWrapperProps extends SplitProps {\n as?: string;\n}\n\ninterface SplitSectionProps extends SharedProps {\n grow?: ResponsiveType<number | string>;\n shrink?: ResponsiveType<number | string>;\n basis?: ResponsiveType<number | string>;\n className?: never;\n style?: never;\n htmlTag?: 'div' | 'li';\n}\n\ninterface SplitSectionWrapperProps extends SplitSectionProps {\n as?: string;\n}\n\nexport default Split;\n", "import styled from '@emotion/styled';\nimport React, { FC, useState } from 'react';\nimport { HexColorPicker, HexColorInput } from 'react-colorful';\n\nimport { LensDivProps } from '../../types';\nimport { u, getRadius } from '../../utilities';\n\nconst ColorfulWrapper = styled.div`\n padding: var(--lns-space-medium);\n & .react-colorful {\n width: auto;\n height: auto;\n }\n & .react-colorful__saturation {\n height: ${u(14)};\n border-bottom: none;\n box-shadow: inset 0 0 0 1px var(--lns-color-border);\n ${getRadius(100)};\n margin-bottom: var(--lns-space-small);\n }\n\n & .react-colorful__hue {\n height: ${u(2)};\n width: 100%;\n box-shadow: inset 0 0 0 1px var(--lns-color-border);\n ${getRadius('50')};\n margin-bottom: var(--lns-space-medium);\n }\n\n & .react-colorful__saturation-pointer {\n width: ${u(1)};\n height: ${u(1)};\n cursor: pointer;\n border: 2px solid white;\n box-shadow: 0 0 0 3px var(--lns-color-border);\n border-radius: var(--lns-radius-medium);\n }\n & .react-colorful__hue-pointer {\n width: ${u(1)};\n height: ${u(2.5)};\n border-radius: 2px;\n box-shadow: 0 0 0 2px var(--lns-color-border);\n cursor: pointer;\n border: 2px solid white;\n }\n`;\n\nconst ColorPickerContainer = styled.div`\n position: relative;\n width: ${u(31)};\n background-color: var(--lns-color-overlay);\n ${getRadius('250')};\n box-shadow:\n 0 0 0 1px var(--lns-color-border),\n var(--lns-shadow-medium);\n`;\n\nconst InputContainer = styled.div`\n position: relative;\n width: 100%;\n\n input {\n padding: 0 0 0 ${u(4)};\n height: ${u(4)};\n width: 100%;\n font: inherit;\n font-size: var(--lns-fontSize-small);\n border: none;\n box-shadow: inset 0 0 0 var(--lns-formFieldBorderWidth)\n var(--lns-color-formFieldBorder);\n ${getRadius('150')};\n transition: 0.3s box-shadow;\n background-color: var(--lns-color-overlay);\n color: var(--lns-color-body);\n\n &:hover {\n box-shadow: inset 0 0 0 var(--lns-formFieldBorderWidthFocus)\n var(--lns-color-blurple);\n }\n\n &:focus {\n outline: 1px solid transparent;\n box-shadow: var(--lns-formFieldBorderShadowFocus);\n }\n }\n`;\n\nconst ColorBox = styled.div<{ color: string }>`\n position: absolute;\n width: ${u(3)};\n height: ${u(3)};\n left: var(--lns-space-xsmall);\n top: var(--lns-space-xsmall);\n border: 1px solid rgba(0, 0, 0, 0.1);\n ${getRadius('100')};\n background-color: ${props => props.color};\n`;\n\nconst ButtonWrapper = styled.div`\n position: relative;\n border-radius: var(--lns-radius-medium);\n padding: 0 var(--lns-space-medium) var(--lns-space-medium)\n var(--lns-space-medium);\n`;\n\nconst SwatchesContainer = styled.div`\n display: grid;\n grid-template-columns: repeat(7, ${u(3)});\n gap: ${u(1)} ${u(1)};\n border-bottom: 1px solid var(--lns-color-border);\n padding: var(--lns-space-medium);\n`;\n\nconst Swatch = styled.div<SwatchProps>`\n cursor: pointer;\n width: ${u(3)};\n height: ${u(3)};\n ${getRadius('100')};\n background-color: ${props => props.color};\n border: ${props =>\n props.selected === props.color\n ? '1px solid white'\n : '1px solid var(--lns-color-border)'};\n box-shadow: ${props =>\n props.selected === props.color && '0 0 0 2px var(--lns-color-focusRing)'};\n`;\n\nconst SwatchSelector: FC<{\n swatches: string[];\n currentColor: string;\n onSwatchClick: (swatch: string) => void;\n}> = ({ swatches, currentColor, onSwatchClick }) => {\n const selectedSwatch = swatches.includes(currentColor) && currentColor;\n\n return (\n <SwatchesContainer>\n {swatches.map(swatch => (\n <Swatch\n key={swatch}\n color={swatch}\n selected={selectedSwatch}\n onClick={() => onSwatchClick(swatch)}\n role=\"button\"\n tabIndex={0}\n onKeyDown={e => {\n if (e.key === 'Enter') {\n e.preventDefault();\n onSwatchClick(swatch);\n }\n }}\n />\n ))}\n </SwatchesContainer>\n );\n};\n\nconst ColorSelector = ({ color, setColor }) => {\n return (\n <ColorfulWrapper>\n <HexColorPicker color={color} onChange={setColor} />\n <InputContainer>\n <HexColorInput prefixed color={color} onChange={setColor} />\n <ColorBox color={color} />\n </InputContainer>\n </ColorfulWrapper>\n );\n};\n\nconst ColorPicker = ({\n defaultColor = '#ffffff',\n confirmButton,\n swatches,\n onChange,\n ...props\n}: ColorPickerProps &\n Omit<\n React.ComponentProps<typeof ColorPickerContainer>,\n keyof ColorPickerProps\n > &\n Omit<\n LensDivProps,\n keyof ColorPickerProps &\n Omit<\n React.ComponentProps<typeof ColorPickerContainer>,\n keyof ColorPickerProps\n >\n >) => {\n const [tempColor, setTempColor] = useState(\n defaultColor ? defaultColor : '#FFFFFF'\n );\n\n const handleOnChange = (hex: string) => {\n setTempColor(hex);\n onChange(hex);\n };\n\n const onSwatchClick = (swatch: string) => {\n handleOnChange(swatch);\n };\n\n return (\n <ColorPickerContainer {...props}>\n {swatches && (\n <SwatchSelector\n swatches={swatches}\n currentColor={tempColor}\n onSwatchClick={onSwatchClick}\n />\n )}\n <ColorSelector color={tempColor} setColor={handleOnChange} />\n {confirmButton && <ButtonWrapper>{confirmButton}</ButtonWrapper>}\n </ColorPickerContainer>\n );\n};\n\ntype SwatchProps = {\n color?: string;\n selected?: string;\n};\n\ntype ColorPickerProps = {\n defaultColor?: string;\n confirmButton?: React.ReactNode;\n swatches?: string[];\n onChange?: (selectedColor: string) => void;\n};\n\nexport default ColorPicker;\n", "import { keyframes } from '@emotion/react';\nimport styled from '@emotion/styled';\nimport React from 'react';\n\nimport { LensSpanProps } from '../../types';\nimport { getColorValue, u } from '../../utilities';\n\nconst speed = 2.0;\n\nconst sizes = {\n small: {\n totalSize: u(2.25),\n height: u(0.5625),\n dotSize: u(0.375),\n gap: u(0.25),\n },\n medium: {\n totalSize: u(3),\n height: u(0.75),\n dotSize: u(0.5),\n gap: u(0.375),\n },\n large: {\n totalSize: u(6),\n height: u(1.5),\n dotSize: u(1),\n gap: u(0.75),\n },\n};\n\nconst getTotalSize = (props: EllipsesLoaderWrapperProps) =>\n sizes[props.size].totalSize;\nconst getHeight = (props: EllipsesLoaderWrapperProps) =>\n sizes[props.size].height;\nconst getDotSize = (props: EllipsesLoaderWrapperProps) =>\n sizes[props.size].dotSize;\nconst getGap = (props: EllipsesLoaderWrapperProps) => sizes[props.size].gap;\nconst getBounceDistance = (props: EllipsesLoaderWrapperProps) =>\n sizes[props.size].dotSize;\n\nconst createDotBounce = (bounceDistance: string) => keyframes`\n 0%, 40%, 100% {\n transform: translateY(50%);\n }\n 20% {\n transform: translateY(calc(50% - ${bounceDistance}));\n }\n`;\n\nconst EllipsesLoaderWrapper = styled.span<EllipsesLoaderWrapperProps>`\n display: inline-flex;\n align-items: center;\n justify-content: center;\n height: ${props => getHeight(props)};\n width: ${props => getTotalSize(props)};\n gap: ${props => getGap(props)};\n`;\n\nconst Dot = styled.span<DotProps>`\n width: ${props => getDotSize(props)};\n height: ${props => getDotSize(props)};\n border-radius: 50%;\n background-color: ${props => getColorValue(props.color)};\n transform: translateY(50%);\n animation: ${props => createDotBounce(getBounceDistance(props))} ${speed}s\n ease-in-out infinite;\n animation-fill-mode: both;\n animation-delay: ${props => props.delay}s;\n`;\n\nconst EllipsesLoader = ({\n color = 'body',\n size = 'medium',\n ...props\n}: EllipsesLoaderProps &\n React.ComponentProps<typeof EllipsesLoaderWrapper> &\n Omit<\n LensSpanProps,\n keyof EllipsesLoaderProps &\n React.ComponentProps<typeof EllipsesLoaderWrapper>\n >) => {\n return (\n <EllipsesLoaderWrapper size={size} {...props}>\n <Dot color={color} size={size} delay={0} />\n <Dot color={color} size={size} delay={0.2} />\n <Dot color={color} size={size} delay={0.4} />\n </EllipsesLoaderWrapper>\n );\n};\n\nexport const availableSizes = Object.keys(sizes);\n\ntype EllipsesLoaderProps = {\n color?: string;\n size?: 'small' | 'medium' | 'large';\n};\n\ntype EllipsesLoaderWrapperProps = {\n size: 'small' | 'medium' | 'large';\n};\n\ntype DotProps = {\n color?: string;\n size: 'small' | 'medium' | 'large';\n delay?: number;\n};\n\nexport default EllipsesLoader;\n", "import { keyframes } from '@emotion/react';\nimport styled from '@emotion/styled';\nimport React from 'react';\nimport { getColorValue, u } from '../../utilities';\nimport { LensSpanProps } from '../../types';\nconst sizes = {\n medium: {\n totalSize: u(3), // 24px\n barHeight: u(2.25), // 18px\n },\n};\nconst speeds = {\n fast: 1.2,\n slow: 1.7,\n};\n\nconst AI_PRIMARY_ANIMATED_LINEAR_GRADIENT =\n 'linear-gradient(270deg, #565ADD 10.58%, #DC43BE 41.83%, #565ADD 69.23%, #565ADD 96.63%)';\nconst GRADIENT_ANIMATION_SPEED = 2.0;\nconst BARS_COUNT = 5;\nconst BAR_WIDTH = u(0.25); // 2px = 0.25 units\nconst getBarHeight = props => sizes[props.size || 'medium'].barHeight;\nconst getTotalSize = props => sizes[props.size || 'medium'].totalSize;\nconst getAnimationSpeed = props => speeds[props.speed || 'fast'];\nconst ripple = keyframes`\n 0%, 100% {\n transform: scaleY(0.3);\n }\n 50% {\n transform: scaleY(1);\n }\n`;\n\n// We only animate the background when it's the ai-primary gradient\nconst backgroundAnimation = keyframes`\n 0% {\n background-position: 0% center;\n }\n 100% {\n background-position: 100% center;\n }\n`;\n\n// The fade-in is to mask that the bars start at the same height. Without this\n// you can see the bars load in at full height then \"glitch\" into animation\nconst fadeIn = keyframes`\n 0% {\n opacity: 0;\n }\n 100% {\n opacity: 1;\n }\n`;\n\ntype WaveformLoaderWrapperProps = {\n size?: 'medium';\n color?: string;\n};\ntype BarProps = {\n index: number;\n size?: 'medium';\n speed: 'fast' | 'slow';\n color?: string;\n};\n\nconst WaveformLoaderWrapper = styled.span<WaveformLoaderWrapperProps>`\n display: inline-flex;\n align-items: center;\n justify-content: space-evenly;\n height: ${props => getTotalSize(props)};\n width: ${props => getTotalSize(props)};\n position: relative;\n`;\nconst Bar = styled.span<BarProps>`\n width: ${BAR_WIDTH};\n height: ${props => getBarHeight(props)};\n background: ${props =>\n props.color === 'ai-primary'\n ? AI_PRIMARY_ANIMATED_LINEAR_GRADIENT\n : getColorValue(props.color)};\n background-size: ${props => getTotalSize(props)}\n ${props => getTotalSize(props)};\n background-position: ${props => {\n const barCenterRatio = (props.index + 1) / (BARS_COUNT + 1);\n const offsetRatio = barCenterRatio - 0.5;\n return `calc(${getTotalSize(props)} * ${offsetRatio}) center`;\n }};\n opacity: 0; /* Ensure it starts invisible */\n transform: scaleY(0.3);\n transform-origin: center;\n animation:\n ${fadeIn} 50ms ease-out forwards,\n ${ripple} ${props => getAnimationSpeed(props)}s ease-in-out infinite,\n ${backgroundAnimation} ${GRADIENT_ANIMATION_SPEED}s linear infinite;\n\n animation-delay: ${props =>\n -1 + props.index * (getAnimationSpeed(props) / BARS_COUNT)}s;\n position: relative;\n`;\n\nexport const WaveformLoader = ({\n size = 'medium',\n speed = 'fast',\n color = 'body',\n ...props\n}: WaveformLoaderProps &\n React.ComponentProps<typeof WaveformLoaderWrapper> &\n Omit<\n LensSpanProps,\n keyof WaveformLoaderProps &\n React.ComponentProps<typeof WaveformLoaderWrapper>\n >) => {\n const barsList = Array.from({ length: BARS_COUNT }, (_, index) => (\n <Bar key={index} index={index} size={size} speed={speed} color={color} />\n ));\n return (\n <WaveformLoaderWrapper size={size} color={color} {...props}>\n {barsList}\n </WaveformLoaderWrapper>\n );\n};\nexport const availableSizes = Object.keys(sizes);\nexport const availableSpeeds = Object.keys(speeds);\ntype WaveformLoaderProps = {\n color?: string;\n size?: 'medium';\n speed?: 'fast' | 'slow';\n};\nexport default WaveformLoader;\n", "import * as React from 'react';\n\nfunction IllustrationAccountsBilling(props) {\n return (\n <svg\n viewBox=\"0 0 102 101\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n d=\"M96.072 5.826H5.928v90.145h90.144V5.826z\"\n stroke=\"currentColor\"\n strokeWidth={10}\n strokeMiterlimit={10}\n />\n <path\n d=\"M69.38 59.21c14.74 0 26.691-11.95 26.691-26.692S84.121 5.826 69.38 5.826c-14.741 0-26.692 11.95-26.692 26.692S54.638 59.21 69.38 59.21zM1 95.973h100M1 77.28h100M1 59.213h100M5.928 1v58.213M24.605 1v58.213M42.674 1v58.213\"\n stroke=\"currentColor\"\n strokeWidth={10}\n strokeMiterlimit={10}\n />\n </svg>\n );\n}\n\nexport default IllustrationAccountsBilling;\n", "import * as React from 'react';\n\nfunction IllustrationInvite(props) {\n return (\n <svg\n viewBox=\"0 0 100 101\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n d=\"M50.028 25.007A24.999 24.999 0 0034.586 1.905a25.022 25.022 0 00-27.26 5.42 25.002 25.002 0 0017.688 42.687V25.007h25.014z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M74.986 50.012a25.02 25.02 0 0023.11-15.436 24.993 24.993 0 00-5.422-27.25 25.017 25.017 0 00-42.702 17.681h25.014v25.005z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M49.972 74.99a25 25 0 0015.442 23.102 25.025 25.025 0 0027.26-5.42 25.002 25.002 0 00-17.688-42.687V74.99H49.972z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M25.014 100.003a25.003 25.003 0 0023.103-15.44 25.017 25.017 0 00-5.42-27.259A25.005 25.005 0 00.006 74.991h25.007v25.012z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n}\n\nexport default IllustrationInvite;\n", "import * as React from 'react';\n\nfunction IllustrationArchived(props) {\n return (\n <svg\n viewBox=\"0 0 100 101\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n d=\"M0 .002v100h100v-100H0zm90 90H10v-80h80v80z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M87 13.002H53.68c8.41 1.53 15 8.2 16.46 16.63H87v-16.63zM46.32 13.002H13v16.63h16.86c1.45-8.43 8.05-15.1 16.46-16.63zM13 32.632v15.87h18.19c3.12-7.32 10.35-12.47 18.81-12.47 8.46 0 15.69 5.15 18.81 12.47H87v-15.87H13zM13 67.372h20.4c3.71-5.15 9.76-8.52 16.59-8.52 6.84 0 12.88 3.36 16.59 8.52H87v-15.87H13v15.87zM13 87.002h23.47c3.61-3.18 8.34-5.12 13.53-5.12 5.19 0 9.92 1.93 13.53 5.12H87v-16.63H13v16.63z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n}\n\nexport default IllustrationArchived;\n", "import * as React from 'react';\n\nfunction IllustrationLeadwithTransparency(props) {\n return (\n <svg\n viewBox=\"0 0 110 101\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n d=\"M55 100.888a54.867 54.867 0 0031.361-9.8H23.64a54.867 54.867 0 0031.361 9.8zM20.482 88.728h69.025a54.887 54.887 0 008.8-8.911H11.682a56.245 56.245 0 008.8 8.911zM9.262 76.492h91.476a54.95 54.95 0 004.411-7.957H4.851a54.95 54.95 0 004.41 7.957zM3.124 64.255h103.752a54.896 54.896 0 001.969-7.002H1.166a53.117 53.117 0 001.958 7.002zM0 46.015c0 2.03.121 4.039.33 6.003h109.34c.22-1.975.33-3.973.33-6.003v-.033H0v.033zM.363 39.782h109.274a54.71 54.71 0 00-.814-5.07H1.177a55.308 55.308 0 00-.814 5.07zM3.2 27.556H106.8a58.547 58.547 0 00-1.672-4.115H4.873A51.945 51.945 0 003.2 27.556zM9.405 15.32h91.19a59.831 59.831 0 00-2.321-3.161H11.726a59.814 59.814 0 00-2.321 3.16zM23.716.888a57.211 57.211 0 00-2.959 2.195h68.475A52.837 52.837 0 0086.273.888H23.716z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n}\n\nexport default IllustrationLeadwithTransparency;\n", "import * as React from 'react';\n\nfunction IllustrationAskforMore(props) {\n return (\n <svg\n viewBox=\"0 0 100 100\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n d=\"M100 38.086V0H61.914v9.93h21.132L54.963 38.013V16.88h-9.93v21.132L16.951 9.93h21.135V0H0v38.086h9.93V16.951l28.083 28.082H16.88v9.93h21.132L9.93 83.046V61.914H0V100h38.086v-9.93H16.951l28.082-28.086v21.135h9.93V61.984L83.046 90.07H61.914V100H100V61.914h-9.93v21.132L61.987 54.963H83.12v-9.93H61.987L90.07 16.951v21.135H100z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n}\n\nexport default IllustrationAskforMore;\n", "import * as React from 'react';\n\nfunction IllustrationLearningDevelopment(props) {\n return (\n <svg\n viewBox=\"0 0 142 142\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M19.945 50.767l50.766 50.766 50.765-50.766 19.944 19.944-51.672 51.673c-10.514 10.514-27.56 10.514-38.075 0L.001 70.711l19.944-19.944z\"\n fill=\"currentColor\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M70.509 55.733l-27.901-27.63L23.57 47.14l28.354 28.084c10.264 10.264 26.904 10.264 37.168 0l28.48-28.362-19.038-19.037L70.51 55.733z\"\n fill=\"currentColor\"\n />\n <circle\n cx={70.71}\n cy={24.88}\n transform=\"rotate(-45 70.71 24.88)\"\n fill=\"currentColor\"\n r={17.592}\n />\n </svg>\n );\n}\n\nexport default IllustrationLearningDevelopment;\n", "import * as React from 'react';\n\nfunction IllustrationBusinessPlan(props) {\n return (\n <svg\n viewBox=\"0 0 101 100\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M47.333 0H0v47.333h47.333V0zM74 0H52.667v21.333H74V0zM52.667 26H74v21.333H52.667V26zm-5.333 26.667H0V100h47.333V52.667zm52.666 0H52.667V100H100V52.667zM78.667 26H100v21.333H78.667V26zm3-10.333h2.667v2.666h-2.667v-2.666zm-3 5.666v-8.666h8.667v8.666h-8.667zM84.334 3h-2.667v2.667h2.667V3zm-5.667-3v8.667h8.667V0h-8.667zm15.668 15.667H97v2.666h-2.666v-2.666zm-3 5.666v-8.666H100v8.666h-8.666zM97 3h-2.666v2.667H97V3zm-5.666-3v8.667H100V0h-8.666z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n}\n\nexport default IllustrationBusinessPlan;\n", "import * as React from 'react';\n\nfunction IllustrationLoomPlans(props) {\n return (\n <svg\n viewBox=\"0 0 100 100\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n d=\"M0 12.288L12.287 0v87.71h37.706L37.706 100H0v-87.71zM49.994 63.743l12.287-12.276v36.245h37.72L87.714 100h-37.72V63.743zM49.994 33.336l12.287-12.288v18.129h37.72L87.714 51.465h-37.72V33.336z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M49.993 12.288L62.28 0v9.064H100L87.713 21.353h-37.72v-9.065z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n}\n\nexport default IllustrationLoomPlans;\n", "import * as React from 'react';\n\nfunction IllustrationCollaboratewithTeammatesSharedLibrary(props) {\n return (\n <svg\n viewBox=\"0 0 100 100\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M0 0h100v100H0V0zm17.12 10.344h-6.54v6.54h6.54v-6.54zm6.392-.61l6.396 1.364-1.364 6.396-6.397-1.365 1.365-6.396zM17.89 23.208l-6.396-1.365-1.365 6.396 6.396 1.365 1.365-6.396zM50.496 8.99l4.507 4.74-4.74 4.507-4.507-4.74 4.74-4.507zm-32.25 41.271l-4.507-4.74L9 50.03l4.507 4.74 4.74-4.508zm18.708-41.1l5.702 3.204-3.203 5.702-5.702-3.204 3.203-5.702zM17.906 36.999l-5.702-3.204L9 39.497l5.702 3.204 3.204-5.702zm46.62-27.57l2.216 6.153L60.59 17.8l-2.216-6.154 6.153-2.216zm-46.12 53.986l-3.69-5.4-5.4 3.69 3.69 5.4 5.4-3.69zM77.57 9.96l.82 6.488-6.489.82-.82-6.488 6.489-.82zM17.577 77.17l-1.733-6.306-6.307 1.733 1.733 6.306 6.307-1.733zm7.303-55.86l5.627 3.334-3.333 5.627-5.627-3.333 3.333-5.627zm29.716 6.384l-2.311-6.118-6.119 2.311 2.312 6.118 6.118-2.31zm-15.582-6.457l3.744 5.363-5.363 3.744-3.744-5.363 5.363-3.744zm27.458 7.017l-1.45-6.378-6.378 1.451 1.45 6.377 6.378-1.45zm11.731-5.521l-.411 6.527-6.527-.411.41-6.527 6.528.41zm-47.559 15.49l-4.362-4.873-4.873 4.362 4.362 4.873 4.873-4.361zm22.144-4.204l1.542 6.356-6.356 1.541-1.542-6.355 6.356-1.542zm-10.132 5.2l-3.201-5.703-5.704 3.2 3.201 5.704 5.704-3.201zm23.253-4.438l-.165 6.538-6.538-.165.165-6.538 6.538.165zm12.84.891l-6.31-1.72-1.719 6.31 6.31 1.72 1.72-6.31zm-51.5 10.013l3.238 5.683-5.683 3.237-3.238-5.683 5.683-3.237zm26.346 7.784l.11-6.539-6.54-.11-.11 6.54 6.54.11zm-13.008-7.287l1.58 6.347-6.347 1.58-1.58-6.348 6.347-1.58zM66.6 47.896l-6.29-1.793-1.792 6.29 6.29 1.793 1.792-6.29zm6.863-2.197l5.718 3.174-3.174 5.718-5.719-3.174 3.175-5.718zM28.985 58.767l-6.513.598.598 6.513 6.513-.598-.598-6.513zm19.734-.761l5.978 2.654-2.655 5.978-5.977-2.655 2.654-5.977zm-7.014 1.293l-6.523-.477-.478 6.522 6.523.478.478-6.523zm20.341-1.573l5.108 4.084-4.084 5.108-5.108-4.084 4.084-5.108zm17.236 5.44l-3.703-5.39-5.391 3.702 3.703 5.391 5.39-3.703zm-55.967 7.587l6.458 1.034-1.034 6.458-6.458-1.034 1.034-6.458zm31.473 2.343l-5.81-3.004-3.003 5.81 5.81 3.004 3.003-5.81zm-19.53-2.16l6.51.615-.615 6.512-6.512-.616.616-6.511zm31.919 3.807l-4.375-4.862-4.862 4.374 4.374 4.862 4.863-4.374zm8.616-4.746l3.444 5.56-5.56 3.444-3.444-5.56 5.56-3.444zM17.121 83.406h-6.54v6.54h6.54v-6.54zm7.036-1.184l6.1 2.356-2.356 6.101-6.1-2.356 2.356-6.101zm30.846 4.345l-4.507-4.74-4.74 4.508 4.508 4.739 4.739-4.507zm-18.049-4.57l5.702 3.205-3.203 5.701L33.75 87.7l3.203-5.702zm29.788 6.422l-2.216-6.154-6.153 2.217 2.216 6.153 6.153-2.216zm10.827-5.623l.82 6.489-6.489.82-.82-6.489 6.489-.82zm12.605-72.452h-6.54v6.54h6.54v-6.54zm-5.627 11.5l6.396 1.365-1.365 6.396-6.396-1.365 1.365-6.396zm6.752 28.417l-4.507-4.74-4.739 4.508 4.507 4.74 4.74-4.508zm-6.044-16.466L90.957 37l-3.204 5.702-5.701-3.204 3.203-5.702zm6.205 29.62l-3.69-5.4-5.4 3.69 3.69 5.4 5.4-3.69zm-2.563 7.449l1.733 6.306-6.306 1.733-1.734-6.306 6.307-1.733zm1.276 12.542h-6.54v6.54h6.54v-6.54z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n}\n\nexport default IllustrationCollaboratewithTeammatesSharedLibrary;\n", "import * as React from 'react';\n\nfunction IllustrationOptionGrants(props) {\n return (\n <svg\n viewBox=\"0 0 101 101\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n fill=\"currentColor\"\n d=\"M.001 53.596h47.333v47.333H.001zM52.667 53.596H100v47.333H52.667zM52.667 26.929H74v21.333H52.667zM52.667.929H74v21.333H52.667zM78.667 26.929H100v21.333H78.667zM78.667 13.596h8.667v8.667h-8.667zM78.667.929h8.667v8.667h-8.667zM91.335 13.596h8.667v8.667h-8.667zM91.335.929h8.667v8.667h-8.667zM0 .929h47.333v47.333H0z\"\n />\n </svg>\n );\n}\n\nexport default IllustrationOptionGrants;\n", "import * as React from 'react';\n\nfunction IllustrationCommunity(props) {\n return (\n <svg\n viewBox=\"0 0 101 100\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M62.467 36.689c5.566-3.544 9.253-9.73 9.253-16.769C71.72 8.92 62.713 0 51.603 0c-8.12 0-15.118 4.766-18.295 11.627a17.717 17.717 0 00-15.593-9.231C7.942 2.396.02 10.241.02 19.919c0 7.906 5.286 14.589 12.55 16.77C5.296 38.874 0 45.565 0 53.48c0 8.41 5.977 15.439 13.954 17.146-5.396 1.6-9.329 6.554-9.329 12.419 0 7.158 5.86 12.96 13.089 12.96s13.089-5.802 13.089-12.96c0-5.865-3.933-10.819-9.33-12.419a17.725 17.725 0 0011.834-8.813 20.078 20.078 0 007.207 8.31c-3.692 3.111-6.034 7.745-6.034 12.92 0 9.365 7.667 16.957 17.124 16.957 9.457 0 17.123-7.592 17.123-16.956 0-5.176-2.342-9.81-6.033-12.92 4.51-2.953 7.75-7.655 8.733-13.13 1.583 6.234 7.282 10.85 14.069 10.85 8.011 0 14.505-6.431 14.505-14.364 0-7.934-6.494-14.365-14.505-14.365-6.787 0-12.486 4.616-14.069 10.85-1-5.566-4.332-10.334-8.96-13.276zm-29.16 8.458a20.083 20.083 0 017.433-8.458 20.063 20.063 0 01-7.433-8.477A17.705 17.705 0 0122.86 36.69a17.725 17.725 0 0110.447 8.457zM59.671 19.92c0 4.413-3.612 7.99-8.069 7.99-4.456 0-8.069-3.577-8.069-7.99s3.613-7.99 8.07-7.99c4.456 0 8.069 3.577 8.069 7.99zm4.036 33.56c0 6.619-5.42 11.985-12.104 11.985-6.685 0-12.104-5.366-12.104-11.986 0-6.619 5.42-11.985 12.104-11.985 6.685 0 12.104 5.366 12.104 11.986zm-41.96.001c0 2.207-1.806 3.995-4.034 3.995-2.228 0-4.034-1.788-4.034-3.995 0-2.206 1.806-3.995 4.034-3.995 2.228 0 4.035 1.789 4.035 3.995zm61.309 29.562c0-1.335 1.092-2.416 2.44-2.416 1.347 0 2.439 1.081 2.439 2.416 0 1.334-1.092 2.415-2.44 2.415-1.347 0-2.44-1.081-2.44-2.415zm2.44-10.37c-5.784 0-10.472 4.643-10.472 10.37 0 5.726 4.688 10.368 10.471 10.368s10.472-4.642 10.472-10.368c0-5.727-4.689-10.37-10.472-10.37zm.345-55.186c-1.347 0-2.44 1.081-2.44 2.416 0 1.334 1.093 2.415 2.44 2.415s2.44-1.081 2.44-2.415c0-1.335-1.093-2.416-2.44-2.416zm-10.47 2.416c0-5.727 4.687-10.37 10.47-10.37s10.471 4.643 10.471 10.37c0 5.726-4.688 10.368-10.47 10.368-5.784 0-10.472-4.642-10.472-10.368zM44.52 83.043c0-3.873 3.171-7.014 7.084-7.014 3.912 0 7.084 3.14 7.084 7.015 0 3.874-3.172 7.014-7.084 7.014-3.913 0-7.084-3.14-7.084-7.014zm-26.806-3.018c-1.684 0-3.05 1.352-3.05 3.02 0 1.667 1.366 3.02 3.05 3.02 1.684 0 3.05-1.353 3.05-3.02 0-1.668-1.366-3.02-3.05-3.02zm-6.398-60.106c0-3.5 2.865-6.337 6.4-6.337 3.533 0 6.398 2.837 6.398 6.337 0 3.5-2.865 6.337-6.399 6.337s-6.399-2.837-6.399-6.337zm74.18 27.15c-3.576 0-6.474 2.87-6.474 6.41 0 3.541 2.898 6.411 6.474 6.411 3.575 0 6.474-2.87 6.474-6.41 0-3.541-2.899-6.411-6.474-6.411zM27.397 53.48c0 5.296-4.335 9.589-9.683 9.589-5.347 0-9.682-4.293-9.682-9.589 0-5.295 4.335-9.588 9.682-9.588 5.348 0 9.683 4.293 9.683 9.588z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n}\n\nexport default IllustrationCommunity;\n", "import * as React from 'react';\n\nfunction IllustrationCommunityAlt(props) {\n return (\n <svg\n viewBox=\"0 0 96 96\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M48 8.727C26.31 8.727 8.727 26.31 8.727 48c0 6.558 1.608 12.74 4.45 18.175a35.829 35.829 0 01-.462-5.749c0-19.647 15.927-35.573 35.574-35.573 19.646 0 35.573 15.926 35.573 35.573 0 1.395-.08 2.77-.236 4.123a39.123 39.123 0 003.647-16.55C87.273 26.31 69.69 8.728 48 8.728zm.708 78.539c.328-.006.655-.016.98-.03a27 27 0 001.832-.156c6.84-1.128 12.056-7.069 12.056-14.227 0-7.964-6.456-14.42-14.42-14.42-7.964 0-14.42 6.456-14.42 14.42 0 7.814 6.215 14.176 13.972 14.413zM26.177 75.655a23.374 23.374 0 01-.168-2.802c0-12.784 10.363-23.148 23.147-23.148 12.648 0 22.928 10.145 23.144 22.742a26.734 26.734 0 002.835-12.02c0-14.828-12.02-26.847-26.846-26.847-14.827 0-26.847 12.02-26.847 26.846a26.722 26.722 0 004.735 15.229zm22.58 20.342a36.51 36.51 0 01-.635.002H48C21.49 96 0 74.51 0 48 0 21.49 21.49 0 48 0s48 21.49 48 48c0 25.236-19.475 45.923-44.216 47.853a23.393 23.393 0 01-3.027.144z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n}\n\nexport default IllustrationCommunityAlt;\n", "import * as React from 'react';\n\nfunction IllustrationParentalLeave(props) {\n return (\n <svg\n viewBox=\"0 0 100 101\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n d=\"M49.027 25.443a24.514 24.514 0 10-24.513 24.513V25.443h24.513zM75.486 49.956a24.513 24.513 0 10-24.513-24.513h24.513v24.513zM50.973 76.415a24.514 24.514 0 1024.513-24.513v24.513H50.973zM24.514 51.902a24.513 24.513 0 1024.513 24.513H24.514V51.902z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n}\n\nexport default IllustrationParentalLeave;\n", "import * as React from 'react';\n\nfunction IllustrationContentLimit(props) {\n return (\n <svg\n viewBox=\"0 0 100 100\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M0 0h100v100H0V0zm10 10h80v80H10V10zm10 10h60v10H20V20zm30 27h22c-2.57-9.778-11.443-17-22.008-17C39.411 30 30.554 37.222 28 47h22zm0 0c9.389 0 17 7.387 17 16.5S59.389 80 50 80s-17-7.387-17-16.5S40.611 47 50 47z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n}\n\nexport default IllustrationContentLimit;\n", "import * as React from 'react';\n\nfunction IllustrationPto(props) {\n return (\n <svg\n viewBox=\"0 0 110 111\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M55 110.929c30.376 0 55-24.624 55-55s-24.624-55-55-55-55 24.624-55 55 24.624 55 55 55zm-6.108-79.595l6.11-24.877 6.09 24.877h-12.2zm-18.63-18.26l7.149 24.595 10.563-6.091-17.711-18.504zm.387 35.831L12.145 31.194l24.595 7.148-6.091 10.563zM5.528 55.93l24.877 6.092V49.82L5.528 55.93zM36.74 73.498l-24.595 7.148L30.65 62.935l6.091 10.563zm-6.477 25.266l17.711-18.503-10.563-6.092-7.148 24.595zm30.83-18.257L55 105.384l-6.109-24.877h12.2zm18.622 18.257L72.567 74.17l-10.563 6.092 17.711 18.503zm-.383-35.829l18.503 17.711-24.595-7.148 6.092-10.563zm25.121-7.005l-24.877-6.11v12.202l24.877-6.092zM73.24 38.342l24.595-7.148-18.503 17.711-6.092-10.563zm6.475-25.268L62.004 31.578l10.563 6.091 7.148-24.595zM52.271 44.978l2.73-11.092 2.71 11.091h-5.44zm-8.293-8.136l3.187 10.95 4.7-2.71-7.887-8.24zm.177 15.953l-8.24-7.888 10.951 3.187-2.711 4.7zm-11.198 3.134l11.092 2.712V53.2l-11.092 2.728zm13.91 7.816l-10.952 3.187 8.24-7.888 2.711 4.7zm-2.889 11.252l7.888-8.24-4.7-2.711-3.188 10.95zm13.734-8.12L55 77.951l-2.728-11.074h5.44zm8.293 8.12l-3.187-10.951-4.7 2.711 7.887 8.24zm-.18-15.953l8.24 7.888-10.95-3.187 2.71-4.7zm11.202-3.115L65.953 53.2v5.44l11.074-2.71zm-13.912-7.835l10.95-3.187-8.24 7.888-2.71-4.7zm2.89-11.252l-7.888 8.24 4.701 2.71 3.187-10.95z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n}\n\nexport default IllustrationPto;\n", "import * as React from 'react';\n\nfunction IllustrationCustomBranding(props) {\n return (\n <svg\n viewBox=\"0 0 134 134\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n d=\"M64.657 63.942L19.983 19.267l-.708.707 44.708 44.708L9.227 33.067l-.5.866L63.4 65.5h-.063L2.407 49.176l-.26.966L59.475 65.5H0v3h55.604L1.889 82.89l.776 2.898 53.719-14.391L8.227 99.2l1.5 2.598 48.184-27.82-39.343 39.343.709.708-.002.001.708.708v-.002l.707.706 39.298-39.299-27.787 48.128 2.598 1.5 27.83-48.202-14.404 53.764 2.898.776L65.5 78.447V134h3V78.395l14.39 53.715.98-.262v.002l.966-.258v-.003l.953-.255-14.392-53.719L99.2 125.772l2.598-1.5-27.803-48.154 39.326 39.325.711-.711.007.007.707-.708-.007-.007.703-.702-39.325-39.326 48.154 27.803 1.5-2.598-48.157-27.804 53.719 14.391.776-2.897L78.395 68.5H134v-3H74.525l57.326-15.358-.259-.966L70.661 65.5h-.064l54.674-31.567-.5-.866-54.697 31.58 44.673-44.673-.707-.707-44.728 44.728 31.621-54.768-.866-.5-31.576 54.69 16.345-61.01-.966-.26L67.5 63.252V0h-1v63.15L50.157 2.148l-.966.258 16.368 61.098L33.933 8.727l-.866.5 31.59 54.715z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n}\n\nexport default IllustrationCustomBranding;\n", "import * as React from 'react';\n\nfunction IllustrationRecord(props) {\n return (\n <svg\n viewBox=\"0 0 100 100\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <g clipPath=\"url(#Record_svg__clip0)\" fill=\"currentColor\">\n <path d=\"M79.819 62.343c6.818-16.462-.999-35.334-17.46-42.153-16.463-6.82-35.336.998-42.155 17.46-6.819 16.462.998 35.335 17.46 42.154 16.463 6.819 35.335-.999 42.154-17.46zM53.659 0h-7.303v8.763h7.303V0zM40.498.773l-6.87 1.84 2.268 8.465 6.87-1.84L40.498.772zM28.003 4.978l-5.996 3.46 4.38 7.59 5.996-3.46-4.38-7.59zM17.048 12.274l-4.761 4.76 6.196 6.197 4.761-4.76-6.196-6.197zM8.34 22.174L5.07 27.84l7.588 4.381 3.271-5.666-7.588-4.381zM2.522 33.984L.878 40.121l8.464 2.268 1.644-6.137-8.464-2.268zM8.763 46.926H0v6.163h8.763v-6.163zM9.362 57.697L.898 59.965l1.595 5.953 8.464-2.268-1.595-5.953zM12.806 68.033l-7.589 4.382 2.987 5.173 7.589-4.382-2.987-5.173zM18.811 77.097l-6.196 6.197 4.09 4.09 6.196-6.197-4.09-4.09zM26.969 84.311L22.587 91.9l4.844 2.797 4.382-7.59-4.844-2.796zM36.721 89.14l-2.27 8.464 5.22 1.4 2.27-8.464-5.22-1.4zM52.607 91.237h-5.214V100h5.214v-8.763zM63.083 89.192l-4.839 1.296 2.268 8.464 4.839-1.296-2.268-8.464zM72.698 84.501l-4.173 2.41 4.381 7.59 4.174-2.41-4.382-7.59zM80.772 77.506L77.5 80.78l6.196 6.196 3.274-3.274-6.197-6.196zM86.813 68.694l-2.22 3.845 7.59 4.382 2.22-3.845-7.59-4.382zM90.385 58.633l-1.1 4.105 8.464 2.268 1.1-4.105-8.464-2.268zM100 47.962h-8.763v4.06H100v-4.06zM97.796 35.184l-8.464 2.267 1.002 3.739 8.464-2.268-1.002-3.738zM92.37 23.41l-7.589 4.381 1.84 3.188 7.59-4.382-1.84-3.187zM84.1 13.424l-6.197 6.195 2.467 2.469 6.198-6.195-2.467-2.469zM73.564 5.885l-4.383 7.588 2.858 1.65 4.383-7.587-2.858-1.651zM61.446 1.297l-2.27 8.465 3.005.805 2.27-8.464-3.005-.806z\" />\n </g>\n <defs>\n <clipPath id=\"Record_svg__clip0\">\n <path fill=\"#fff\" d=\"M0 0h100v100H0z\" />\n </clipPath>\n </defs>\n </svg>\n );\n}\n\nexport default IllustrationRecord;\n", "import * as React from 'react';\n\nfunction IllustrationDesktopAppandChromeExtension(props) {\n return (\n <svg\n viewBox=\"0 0 134 134\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n d=\"M64.676 50.418L55.95.916l-1.164.207 8.727 49.502c.195-.042.384-.083.58-.119.194-.035.39-.059.584-.088zM44.664 3.828l-1.158.42L60.694 51.48c.378-.153.768-.29 1.158-.42L44.664 3.829zM34.058 8.656l-1.11.644 25.128 43.528c.36-.225.733-.443 1.111-.644L34.058 8.656zM24.444 15.243l-1.022.856L55.73 54.606c.33-.302.668-.586 1.022-.857L24.444 15.243zM16.117 23.403l-.892 1.058L53.73 56.769c.283-.366.579-.715.892-1.058L16.117 23.403zM9.336 32.88l-.715 1.241 43.534 25.135c.225-.425.461-.839.715-1.247L9.336 32.88zM4.295 43.387l-.508 1.394 47.24 17.194c.147-.473.318-.94.507-1.394L4.295 43.387zM1.153 54.606l-.266 1.519 49.502 8.727c.065-.509.153-1.017.266-1.513L1.153 54.606zM0 66.205v1.59h50.27a15.808 15.808 0 010-1.59H0zM50.375 69.076L.867 77.803l.296 1.66 49.508-8.726c-.066-.272-.119-.55-.166-.828a13.631 13.631 0 01-.13-.833zM3.746 89.102l.597 1.636 47.245-17.194a16.817 16.817 0 01-.591-1.636L3.747 89.102zM8.525 99.725l.893 1.548 43.534-25.135a16.699 16.699 0 01-.892-1.548L8.525 99.725zM15.086 109.361l1.182 1.413 38.518-32.32c-.42-.45-.816-.916-1.182-1.406L15.086 109.36zM23.207 117.715l1.448 1.217 32.32-38.518c-.503-.378-.993-.78-1.454-1.211l-32.314 38.512zM32.662 124.54l1.678.969 25.141-43.54c-.579-.29-1.14-.62-1.678-.975l-25.14 43.546zM43.152 129.623l1.873.679 17.2-47.25c-.638-.19-1.264-.42-1.873-.68l-17.2 47.251zM54.36 132.807l2.008.355 8.733-49.52a16.216 16.216 0 01-2.009-.354l-8.733 49.519zM65.951 134h2.092V83.718c-.703.047-1.4.042-2.092 0V134zM68.846 83.646l8.733 49.525 2.109-.372-8.733-49.525c-.343.082-.697.16-1.052.224-.348.06-.703.107-1.057.148zM88.883 130.337l2.063-.751-17.2-47.25c-.662.29-1.353.543-2.062.75l17.2 47.251zM99.528 125.585l1.944-1.123L76.325 80.91a16.63 16.63 0 01-1.944 1.123l25.147 43.552zM109.189 119.063l1.761-1.477-32.326-38.523c-.55.531-1.14 1.022-1.76 1.477l32.325 38.523zM117.575 110.967l1.506-1.796-38.53-32.332a16.83 16.83 0 01-1.506 1.797l38.53 32.331zM124.423 101.539l1.2-2.074-43.558-25.147a16.44 16.44 0 01-1.2 2.074l43.558 25.147zM129.54 91.069l.839-2.299-47.257-17.2c-.224.792-.508 1.56-.839 2.299l47.257 17.2zM132.764 79.867l.431-2.458-49.531-8.733c-.083.839-.23 1.66-.432 2.458l49.532 8.733zM133.999 68.272v-2.546h-50.3c.065.857.065 1.707.006 2.546H134zM83.666 65.383l49.543-8.732-.449-2.559-49.543 8.733a15.696 15.696 0 01.45 2.558zM130.415 45.33l-.904-2.493-47.269 17.205c.36.798.662 1.631.904 2.494l47.269-17.206zM125.7 34.671l-1.353-2.34-43.564 25.153a16.98 16.98 0 011.353 2.34L125.7 34.671zM119.213 24.988l-1.767-2.11-38.542 32.338c.644.65 1.235 1.353 1.773 2.103l38.536-32.331zM111.141 16.573l-2.145-1.802-32.338 38.542a17.328 17.328 0 012.145 1.802l32.338-38.542zM101.732 9.69l-2.47-1.424-25.159 43.576c.863.407 1.69.88 2.47 1.424L101.732 9.69zM74.07 51.817L91.28 4.537l-2.73-.993-17.188 47.227-.011.053c.939.255 1.849.585 2.718.993z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M71.346 50.825l.017-.047 8.728-49.496-2.908-.514-8.662 49.1v.455a16.15 16.15 0 012.825.502z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M71.354 50.825l.011-.053-.017.047c0 .006.006.006.006.006zM68.522 49.868V0h-3.043v50.323a16.573 16.573 0 012.966-.012l.077-.443z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M68.52 50.317v-.449l-.077.444c.024 0 .053.005.077.005z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n}\n\nexport default IllustrationDesktopAppandChromeExtension;\n", "import * as React from 'react';\n\nfunction IllustrationRemoteFirst(props) {\n return (\n <svg\n viewBox=\"0 0 110 110\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n d=\"M55 105c27.615 0 50-22.386 50-50S82.615 5 55 5C27.386 5 5 27.386 5 55s22.386 50 50 50z\"\n stroke=\"currentColor\"\n strokeWidth={10}\n strokeMiterlimit={10}\n />\n <path\n d=\"M60.849 5.33c13.693 12.157 22.34 29.89 22.34 49.653 0 19.744-8.63 37.495-22.322 49.652M49.131 5.33c-13.693 12.157-22.34 29.89-22.34 49.653 0 19.744 8.629 37.495 22.322 49.652\"\n stroke=\"currentColor\"\n strokeWidth={10}\n strokeMiterlimit={10}\n />\n <path\n d=\"M97.467 26.024C86.589 36.9 71.58 43.61 54.999 43.61c-16.07 0-30.658-6.307-41.444-16.6M97.467 83.958C86.589 73.08 71.58 66.37 54.999 66.37c-16.07 0-30.658 6.307-41.444 16.6M104.981 55H5M55 104.982V5\"\n stroke=\"currentColor\"\n strokeWidth={10}\n strokeMiterlimit={10}\n />\n </svg>\n );\n}\n\nexport default IllustrationRemoteFirst;\n", "import * as React from 'react';\n\nfunction IllustrationDeviceCompatibility(props) {\n return (\n <svg\n viewBox=\"0 0 110 110\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n d=\"M55 0C24.626 0 0 24.626 0 55s24.626 55 55 55 55-24.626 55-55S85.374 0 55 0zm0 109.525L.49 55 55 .49l54.525 54.525L55 109.525z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M27.923 27.923v54.139H82.06V27.923H27.923zm27.076 52.074c-13.798 0-24.982-11.184-24.982-24.982S41.201 30.032 55 30.032c13.799 0 24.983 11.185 24.983 24.983 0 13.783-11.184 24.982-24.983 24.982z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n}\n\nexport default IllustrationDeviceCompatibility;\n", "import * as React from 'react';\n\nfunction IllustrationRoadmap(props) {\n return (\n <svg\n viewBox=\"0 0 100 100\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path d=\"M100 100H0V0h100v100zM10 90h80V10H10v80z\" fill=\"currentColor\" />\n <path\n d=\"M50.008 39.806L80 54v-9.806L50.008 30 20 44.194V54l30.008-14.194zM80 20H20v10h60V20z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n}\n\nexport default IllustrationRoadmap;\n", "import * as React from 'react';\n\nfunction IllustrationDowngrade(props) {\n return (\n <svg\n viewBox=\"0 0 100 100\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M0 0h100v100H0V0zm32.854 35.063L10.163 10h79.674L67.146 35.063h22.691L63.96 53.295h25.877L61.804 66.97h28.033l-25.895 9.357h25.895l-23.902 6.477h23.902L50 90l-39.837-7.197h23.902l-23.902-6.477h25.895l-25.895-9.357h28.033L10.163 53.295H36.04L10.163 35.063h22.691z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n}\n\nexport default IllustrationDowngrade;\n", "import * as React from 'react';\n\nfunction IllustrationScreenshot(props) {\n return (\n <svg\n viewBox=\"0 0 100 100\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M100 0H0v100h100V0zM10 17.071V90h72.929L64.594 71.665v8.412h-10V54.594h25.434v10h-8.363L90 82.929V10H17.071l18.43 18.43.07-8.546 9.999.08-.204 25.443H19.973v-10h8.363L10 17.07zm19.745 37.701h-10v25.483H45.18v-10h-8.365l33.44-33.452v8.425h10V19.745H54.822v10h8.35L29.745 63.18v-8.409z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n}\n\nexport default IllustrationScreenshot;\n", "import * as React from 'react';\n\nfunction IllustrationEmbracetheWeird(props) {\n return (\n <svg\n viewBox=\"0 0 110 110\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M50.028 9.658C27.178 12.136 9.39 31.491 9.39 55c0 8.832 2.51 17.078 6.857 24.063-2.302-8.325-2.151-17.035.801-24.035l-.015-.03.245-.498a25.44 25.44 0 01.81-1.65c6.717-13.595 20.721-22.947 36.91-22.948 12.318-.013 23.354 5.414 30.887 13.98.329-5.954-1.19-12.893-4.87-19.106-5.552-9.378-15.74-16.548-30.987-15.116v-.002zm42.655 45.894l.272-.551-.017-.034c2.956-7.012 3.1-15.739.787-24.075A45.397 45.397 0 01100.61 55c0 23.515-17.795 42.873-40.654 45.344v-.004c-15.246 1.431-25.435-5.739-30.987-15.117-3.678-6.212-5.198-13.148-4.87-19.102 7.534 8.562 18.582 13.976 30.902 13.976 16.2 0 30.185-9.394 36.896-22.95.28-.52.542-1.052.786-1.595zM55 0C24.624 0 0 24.624 0 55s24.624 55 55 55 55-24.624 55-55S85.376 0 55 0zm27.39 54.998c-3.929-6.688-10.221-11.812-17.719-14.21 4.53 3.092 7.504 8.297 7.504 14.195 0 5.93-3.012 11.157-7.582 14.243 7.533-2.393 13.855-7.527 17.798-14.228zM27.592 55c3.927-6.69 10.223-11.806 17.728-14.205-4.525 3.093-7.494 8.294-7.494 14.188 0 5.934 3.01 11.165 7.585 14.25C37.858 66.845 31.527 61.71 27.591 55zM55 47.198a7.785 7.785 0 000 15.57c4.287 0 7.784-3.49 7.784-7.785A7.785 7.785 0 0055 47.198z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n}\n\nexport default IllustrationEmbracetheWeird;\n", "import * as React from 'react';\n\nfunction IllustrationSharewithYourTeamTeamLibrary(props) {\n return (\n <svg\n viewBox=\"0 0 100 100\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <g\n clipPath=\"url(#Share_with_Your_Team_(Team_Library)_svg__clip0)\"\n fill=\"currentColor\"\n >\n <path d=\"M33.33 24.946V8.384L24.946 0v24.946H0l8.384 8.384H33.33v-8.384zM58.286 33.33h8.385V8.384L58.286 0v24.946H33.331l8.394 8.384h16.561z\" />\n <path d=\"M100 8.384L91.614 0v24.946H66.67l8.385 8.384H100V8.384zM33.33 58.286V41.724l-8.384-8.394v24.956H0l8.384 8.384H33.33v-8.384zM33.33 58.286l8.395 8.384H66.67V41.724l-8.385-8.394v24.956H33.331zM66.67 58.286l8.384 8.384H100V41.724l-8.385-8.394v24.956H66.67zM24.946 66.67v24.946H0L8.384 100H33.33V75.054l-8.384-8.384zM58.286 66.67v24.946H33.331L41.725 100H66.67V75.054l-8.385-8.384zM66.67 91.616L75.053 100h24.945V75.054l-8.384-8.384v24.946H66.67z\" />\n </g>\n <defs>\n <clipPath id=\"Share_with_Your_Team_(Team_Library)_svg__clip0\">\n <path fill=\"#fff\" d=\"M0 0h100v100H0z\" />\n </clipPath>\n </defs>\n </svg>\n );\n}\n\nexport default IllustrationSharewithYourTeamTeamLibrary;\n", "import * as React from 'react';\n\nfunction IllustrationEnterprisePlan(props) {\n return (\n <svg\n viewBox=\"0 0 101 100\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n fill=\"currentColor\"\n d=\"M.001 52.667h47.333V100H.001zM52.667 52.667H100V100H52.667zM52.667 26H74v21.333H52.667zM52.667 0H74v21.333H52.667zM78.667 26H100v21.333H78.667zM78.667 12.667h8.667v8.667h-8.667zM78.667 0h8.667v8.667h-8.667zM91.335 12.667h8.667v8.667h-8.667zM91.335 0h8.667v8.667h-8.667zM0 0h47.333v47.333H0z\"\n />\n </svg>\n );\n}\n\nexport default IllustrationEnterprisePlan;\n", "import * as React from 'react';\n\nfunction IllustrationShare(props) {\n return (\n <svg\n viewBox=\"0 0 100 101\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n d=\"M34.27 50.002v15.73H50c-8.69 0-15.73-7.04-15.73-15.73zM65.73 50.002v-15.73H50c8.69 0 15.73 7.04 15.73 15.73zM50 34.272H34.27v15.73c0-8.69 7.04-15.73 15.73-15.73z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M50 65.732h15.73v-15.73c0 8.69-7.04 15.73-15.73 15.73z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M0 .002v100h100v-100H0zm81.46 10c3.48 1.79 6.2 4.84 7.57 8.54h-7.57v-8.54zm-15.73 0c6.1 0 11.38 3.47 13.99 8.54H65.73v-8.54zm-15.73 0c6.1 0 11.38 3.47 13.99 8.54H36.01c2.61-5.07 7.89-8.54 13.99-8.54zm-15.73 0v8.54H20.28c2.61-5.07 7.89-8.54 13.99-8.54zm-15.73 80c-3.48-1.79-6.2-4.84-7.57-8.54h7.57v8.54zm0-10.28c-5.07-2.61-8.54-7.89-8.54-13.99h8.54v13.99zm0-15.73c-5.07-2.61-8.54-7.89-8.54-13.99 0-6.1 3.47-11.38 8.54-13.99v27.98zm0-29.72H10c0-6.1 3.47-11.38 8.54-13.99v13.99zm0-15.73h-7.57c1.37-3.7 4.09-6.75 7.57-8.54v8.54zm62.92 71.46v-8.54h7.57c-1.37 3.7-4.09 6.75-7.57 8.54zm0-10.28v-13.99H90c0 6.1-3.47 11.38-8.54 13.99zm0-29.72v-13.99c5.07 2.61 8.54 7.89 8.54 13.99 0 6.1-3.47 11.38-8.54 13.99v-13.99c0 8.69-7.04 15.73-15.73 15.73h15.73c0 8.69-7.04 15.73-15.73 15.73h13.99c-2.61 5.07-7.89 8.54-13.99 8.54v-8.54-15.73c0 8.69-7.04 15.73-15.73 15.73h13.99c-2.61 5.07-7.89 8.54-13.99 8.54-6.1 0-11.38-3.47-13.99-8.54H50c-8.69 0-15.73-7.04-15.73-15.73v24.27c-6.1 0-11.38-3.47-13.99-8.54h13.99c-8.69 0-15.73-7.04-15.73-15.73h15.73c-8.69 0-15.73-7.04-15.73-15.73 0-8.69 7.04-15.73 15.73-15.73H18.54c0-8.69 7.04-15.73 15.73-15.73v15.73c0-8.69 7.04-15.73 15.73-15.73 8.69 0 15.73 7.04 15.73 15.73v-15.73c8.69 0 15.73 7.04 15.73 15.73v-13.99c5.07 2.61 8.54 7.89 8.54 13.99H65.73c8.69 0 15.73 7.04 15.73 15.73z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n}\n\nexport default IllustrationShare;\n", "import * as React from 'react';\n\nfunction IllustrationFaQandSecurity(props) {\n return (\n <svg\n viewBox=\"0 0 100 100\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n d=\"M50 70c11.046 0 20-8.954 20-20s-8.954-20-20-20-20 8.954-20 20 8.954 20 20 20z\"\n fill=\"currentColor\"\n />\n <path d=\"M31 50V0H0v100h99.999V69H31V50z\" fill=\"currentColor\" />\n <path d=\"M100 66V0H34v31h35v35h31z\" fill=\"currentColor\" />\n </svg>\n );\n}\n\nexport default IllustrationFaQandSecurity;\n", "import * as React from 'react';\n\nfunction IllustrationStarred(props) {\n return (\n <svg\n viewBox=\"0 0 101 101\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n d=\"M38.963 0C17.45 0 0 18.136 0 40.495v8.507h9.444C30.967 49.002 48 30.41 48 8.05V.002L38.963 0zM100.002 38.965c0-21.513-18.136-38.963-40.495-38.963H51v9.444c0 21.523 18.592 38.556 40.951 38.556H100l.002-9.037zM61.039 100.004c21.513 0 38.963-18.136 38.963-40.495v-8.507h-9.444c-21.523 0-38.556 18.592-38.556 40.951v8.049l9.037.002zM0 61.039c0 21.513 18.136 38.963 40.495 38.963h8.507v-9.444c0-21.523-18.592-38.556-40.952-38.556H.002L0 61.039z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n}\n\nexport default IllustrationStarred;\n", "import * as React from 'react';\n\nfunction Illustration5MinuteLimit(props) {\n return (\n <svg\n viewBox=\"0 0 110 110\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M55 10c-24.853 0-45 20.147-45 45s20.147 45 45 45 45-20.147 45-45-20.147-45-45-45zM0 55C0 24.624 24.624 0 55 0s55 24.624 55 55-24.624 55-55 55S0 85.376 0 55zm33.8-35.64H76v10H43.8v20.19h11.75v-9.87c14.131 0 25.59 11.459 25.59 25.59S69.681 90.86 55.55 90.86 29.96 79.401 29.96 65.27h10c0 8.609 6.981 15.59 15.59 15.59s15.59-6.981 15.59-15.59c0-8.535-6.863-15.47-15.37-15.588v9.868H33.8V19.36z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n}\n\nexport default Illustration5MinuteLimit;\n", "import * as React from 'react';\n\nfunction IllustrationStarterPlusPlan(props) {\n return (\n <svg\n viewBox=\"0 0 100 100\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M55.666 3h15.333v15.333H55.666V3zm-3 18.333V0h21.333v21.333H52.666zM70.999 29H55.666v15.333h15.333V29zm-18.333-3v21.333h21.333V26H52.666zm-5.333 26.667H0V100h47.333V52.667zm52.666 0H52.666V100h47.333V52.667zM97 29H81.668v15.333H97V29zm-18.332-3v21.333H100V26H78.666zm3-10.333h2.666v2.666h-2.666v-2.666zm-3 5.666v-8.666h8.666v8.666h-8.666zM84.332 3h-2.666v2.667h2.666V3zm-5.666-3v8.667h8.666V0h-8.666zm15.667 15.667h2.667v2.666h-2.667v-2.666zm-3 5.666v-8.666h8.667v8.666h-8.667zM97.001 3h-2.667v2.667h2.667V3zm-5.667-3v8.667h8.667V0h-8.667zm-44 0H0v47.333h47.333V0z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n}\n\nexport default IllustrationStarterPlusPlan;\n", "import * as React from 'react';\n\nfunction IllustrationGettingStarted(props) {\n return (\n <svg\n viewBox=\"0 0 106 106\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n d=\"M53 101c26.51 0 48-21.49 48-48S79.51 5 53 5 5 26.49 5 53s21.49 48 48 48z\"\n stroke=\"currentColor\"\n strokeWidth={10}\n strokeMiterlimit={10}\n />\n <path\n d=\"M53 100.986c26.51 0 48-14.563 48-32.527 0-17.965-21.49-32.528-48-32.528S5 50.494 5 68.46c0 17.964 21.49 32.527 48 32.527z\"\n stroke=\"currentColor\"\n strokeWidth={10}\n strokeMiterlimit={10}\n />\n <path\n d=\"M53 100.998c26.51 0 48-8.682 48-19.39 0-10.71-21.49-19.391-48-19.391S5 70.898 5 81.607c0 10.71 21.49 19.391 48 19.391z\"\n stroke=\"currentColor\"\n strokeWidth={10}\n strokeMiterlimit={10}\n />\n <path\n d=\"M53 100.984c26.51 0 48-3.908 48-8.728S79.51 83.53 53 83.53 5 87.436 5 92.256s21.49 8.728 48 8.728z\"\n stroke=\"currentColor\"\n strokeWidth={10}\n strokeMiterlimit={10}\n />\n </svg>\n );\n}\n\nexport default IllustrationGettingStarted;\n", "import * as React from 'react';\n\nfunction IllustrationStrongUploadSpeed(props) {\n return (\n <svg\n viewBox=\"0 0 111 110\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n d=\"M.223 57.064l-.208-.356a55.069 55.069 0 002.244 13.991l44.404-40.904-46.44 27.27zM3.27 73.804C10.953 94.924 31.208 110 55 110c23.926 0 44.285-15.269 51.865-36.582l-51.582-47.53L3.27 73.804zm88.867-9.358v24.36L64.838 63.584v39.003a1.49 1.49 0 01-1.486 1.486H47.287a1.49 1.49 0 01-1.486-1.486V63.585l-27.388 25.22V64.446l36.914-33.983 36.81 33.983zM107.861 70.299a54.916 54.916 0 002.125-13.442L63.873 29.78 107.861 70.3zM63.115 25.873l46.886 27.537c-.148-5.228-1.01-10.293-2.526-15.06l-44.36-12.477zM2.482 38.543C.966 43.356.119 48.465 0 53.753l47.436-27.864L2.482 38.543z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M106.241 34.934C98.216 14.482 78.302 0 55.001 0 31.625 0 11.68 14.57 3.7 35.112l51.582-14.511 50.958 14.333z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n}\n\nexport default IllustrationStrongUploadSpeed;\n", "import * as React from 'react';\n\nfunction IllustrationGrowththroughEmpathy(props) {\n return (\n <svg\n viewBox=\"0 0 104 100\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n d=\"M98.75 100.001c0-25.889-20.986-46.876-46.874-46.876C25.987 53.125 5 74.112 5 100.001\"\n stroke=\"currentColor\"\n strokeWidth={10}\n strokeMiterlimit={10}\n />\n <path\n d=\"M16.704 100.001c0-19.416 15.74-35.171 35.172-35.171 19.43 0 35.171 15.74 35.171 35.171\"\n stroke=\"currentColor\"\n strokeWidth={10}\n strokeMiterlimit={10}\n />\n <path\n d=\"M28.213 100.001c0-13.07 10.593-23.648 23.648-23.648 13.054 0 23.662 10.579 23.662 23.648\"\n stroke=\"currentColor\"\n strokeWidth={10}\n strokeMiterlimit={10}\n />\n <path\n d=\"M39.736 100c0-6.692 5.432-12.124 12.124-12.124 6.693 0 12.124 5.432 12.124 12.124M5 0c0 25.889 20.987 46.875 46.875 46.875C77.764 46.875 98.751 25.89 98.751 0\"\n stroke=\"currentColor\"\n strokeWidth={10}\n strokeMiterlimit={10}\n />\n <path\n d=\"M87.047 0c0 19.416-15.74 35.171-35.172 35.171-19.43 0-35.171-15.74-35.171-35.171\"\n stroke=\"currentColor\"\n strokeWidth={10}\n strokeMiterlimit={10}\n />\n <path\n d=\"M75.538 0c0 13.07-10.593 23.648-23.648 23.648-13.054 0-23.662-10.579-23.662-23.648\"\n stroke=\"currentColor\"\n strokeWidth={10}\n strokeMiterlimit={10}\n />\n <path\n d=\"M64.015 0c0 6.693-5.432 12.124-12.124 12.124S39.767 6.693 39.767.002\"\n stroke=\"currentColor\"\n strokeWidth={10}\n strokeMiterlimit={10}\n />\n </svg>\n );\n}\n\nexport default IllustrationGrowththroughEmpathy;\n", "import * as React from 'react';\n\nfunction IllustrationTroubleshooting(props) {\n return (\n <svg\n viewBox=\"0 0 110 110\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n d=\"M5 55h99.984c0 27.61-22.375 50-50 50S5 82.61 5 55z\"\n fill=\"currentColor\"\n stroke=\"currentColor\"\n strokeWidth={10}\n strokeMiterlimit={10}\n />\n <path\n d=\"M55 105c27.614 0 50-22.386 50-50S82.614 5 55 5 5 27.386 5 55s22.386 50 50 50z\"\n stroke=\"currentColor\"\n strokeWidth={10}\n strokeMiterlimit={10}\n />\n <path\n d=\"M23.534 55C23.534 37.62 37.62 23.534 55 23.534c17.382 0 31.466 14.085 31.466 31.466\"\n stroke=\"currentColor\"\n strokeWidth={10}\n strokeMiterlimit={10}\n />\n <path\n d=\"M42.053 55c0-7.138 5.794-12.932 12.932-12.932 7.138 0 12.932 5.794 12.932 12.932\"\n stroke=\"currentColor\"\n strokeWidth={10}\n strokeMiterlimit={10}\n />\n </svg>\n );\n}\n\nexport default IllustrationTroubleshooting;\n", "import * as React from 'react';\n\nfunction IllustrationHealthPlans(props) {\n return (\n <svg\n viewBox=\"0 0 100 101\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M100 .929H0v100h100v-100zm-54.528 18.32v4.298l9.051-4.299h-9.05zm0 14.937v-5.883h9.051l-9.05 5.883zm0 3.166v7.467l9.051-7.467h-9.05zm0 18.1V46.4h9.051l-9.05 9.05zm0 1.586v7.467l9.051-7.467h-9.05zm0 16.517v-5.883h9.051l-9.05 5.883zm0 4.75v4.3l9.051-4.3h-9.05zM88.01 91.66v-2.715h2.715l-2.715 2.715zm0-13.354v4.3l2.715-4.3H88.01zm0-4.75v-5.883h2.715l-2.715 5.883zm0-16.517v7.467l2.715-7.467H88.01zm0-1.586V46.4h2.715l-2.715 9.05zm0-18.1v7.467l2.715-7.467H88.01zm0-3.166v-5.883h2.715l-2.715 5.883zm0-14.938v4.3l2.715-4.3H88.01zm0-6.334V10.2h2.715l-2.715 2.716zm-10.633 76.03v2.715l4.3-2.715h-4.3zm0-6.34v-4.299h4.3l-4.3 4.3zm0-14.932v5.883l4.3-5.883h-4.3zm0-3.167v-7.467h4.3l-4.3 7.467zm0-18.104v9.05l4.3-9.05h-4.3zm0-1.582v-7.467h4.3l-4.3 7.467zm0-16.516v5.883l4.3-5.883h-4.3zm0-4.756v-4.299h4.3l-4.3 4.3zm0-13.348v2.716l4.3-2.716h-4.3zM66.741 91.66v-2.715h5.883l-5.883 2.715zm0-13.354v4.3l5.883-4.3h-5.883zm0-4.75v-5.883h5.883l-5.883 5.883zm0-16.517v7.467l5.883-7.467h-5.883zm0-1.586V46.4h5.883l-5.883 9.05zm0-18.1v7.467l5.883-7.467h-5.883zm0-3.166v-5.883h5.883l-5.883 5.883zm0-14.938v4.3l5.883-4.3h-5.883zm0-6.334V10.2h5.883l-5.883 2.716zm-10.634 76.03v2.715l7.467-2.715h-7.467zm0-6.339v-4.3h7.467l-7.467 4.3zm0-14.932v5.883l7.467-5.883h-7.467zm0-3.168v-7.467h7.467l-7.467 7.467zm0-18.104v9.051l7.467-9.05h-7.467zm0-1.582v-7.467h7.467l-7.467 7.467zm0-16.516v5.883l7.467-5.883h-7.467zm0-4.755v-4.3h7.467l-7.467 4.3zm.001-13.348v2.715l7.467-2.715h-7.467zm-10.636 2.715v-2.716h9.051l-9.05 2.716zm-9.051 76.029v2.715l7.467-2.715H36.42zm0-6.34v-4.299h7.467l-7.467 4.3zm0-14.932v5.883l7.467-5.883H36.42zm0-3.167v-7.467h7.467l-7.467 7.467zm0-18.104v9.05l7.467-9.05H36.42zm0-1.582v-7.467h7.467l-7.467 7.467zm0-16.516v5.883l7.467-5.883H36.42zm0-4.756v-4.299h7.467l-7.467 4.3zm0-13.348v2.716l7.467-2.716H36.42zm-9.05 81.46v-2.715h5.883l-5.883 2.715zm0-13.354v4.3l5.883-4.3h-5.883zm0-4.75v-5.883h5.883l-5.883 5.883zm0-16.517v7.467l5.883-7.467h-5.883zm0-1.586V46.4h5.883l-5.883 9.05zm0-18.1v7.467l5.883-7.467h-5.883zm0-3.166v-5.883h5.883l-5.883 5.883zm0-14.938v4.3l5.883-4.3h-5.883zm0-6.334V10.2h5.883l-5.883 2.716zm-9.05 76.03v2.715l4.299-2.715h-4.3zm0-6.34v-4.299h4.299l-4.3 4.3zm0-14.932v5.883l4.299-5.883h-4.3zm0-3.167v-7.467h4.299l-4.3 7.467zm0-18.104v9.05l4.299-9.05h-4.3zm0-1.582v-7.467h4.299l-4.3 7.467zm0-16.516v5.883l4.299-5.883h-4.3zm0-4.756v-4.299h4.299l-4.3 4.3zm0-13.348v2.716l4.299-2.716h-4.3zm27.151 81.46v-2.715h9.051l-9.05 2.715zM9.27 88.944v2.715l2.715-2.715H9.27zm0-6.34v-4.299h2.715l-2.715 4.3zm0-14.932v5.883l2.715-5.883H9.27zm0-3.167v-7.467h2.715L9.27 64.505zm0-18.104v9.05l2.715-9.05H9.27zm0-1.582v-7.467h2.715L9.27 44.819zm0-16.516v5.883l2.715-5.883H9.27zm0-4.756v-4.299h2.715l-2.715 4.3zm0-13.348v2.715l2.716-2.715H9.268z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n}\n\nexport default IllustrationHealthPlans;\n", "import * as React from 'react';\n\nfunction IllustrationUpgrade(props) {\n return (\n <svg\n viewBox=\"0 0 100 100\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M100 100H0V0h100v100zM67.146 64.937L89.837 90H10.163l22.691-25.063H10.163L36.04 46.705H10.163L38.196 33.03H10.163l25.895-9.357H10.163l23.902-6.477H10.163L50 10l39.837 7.197H65.935l23.902 6.477H63.942l25.895 9.357H61.804l28.033 13.674H63.96l25.877 18.232H67.146z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n}\n\nexport default IllustrationUpgrade;\n", "import * as React from 'react';\n\nfunction IllustrationHowtoUseLoom(props) {\n return (\n <svg\n viewBox=\"0 0 110 110\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n d=\"M61.125 97.536H48.768v12.373h12.357V97.536zM81.608 88.743l-10.701 6.179 6.186 10.714 10.701-6.178-6.186-10.715zM94.92 70.897l-6.178 10.7 10.715 6.187 6.178-10.701-10.714-6.186zM89.445 61.127V48.77H78.014l9.91-5.724-6.178-10.71-9.895 5.724 5.724-9.895-10.71-6.179-5.724 9.895V20.45H48.769V31.88l-5.724-9.895-10.71 6.179 5.723 9.91-9.91-5.723-6.179 10.71 9.91 5.724H20.45v12.356h11.43l-9.91 5.724 6.179 10.71 9.91-5.723-5.723 9.91 10.71 6.178 5.724-9.91v11.431h12.356V78.032l5.724 9.91 10.71-6.178-5.724-9.895 9.895 5.724 6.179-10.71-9.91-5.724h11.447v-.031zM54.947 71.413c-9.095 0-16.465-7.37-16.465-16.465 0-9.095 7.37-16.465 16.465-16.465 9.095 0 16.465 7.37 16.465 16.465 0 9.095-7.37 16.465-16.465 16.465zM109.91 48.77H97.538v12.356h12.372V48.77zM99.46 22.114l-10.714 6.187L94.925 39l10.714-6.186-6.178-10.7zM77.082 4.276L70.896 14.99l10.701 6.179 6.186-10.715-10.7-6.178zM61.125 0H48.768v12.373h12.357V0zM32.825 4.281L22.124 10.46l6.186 10.714 10.701-6.178-6.186-10.715zM10.449 22.127L4.27 32.828l10.714 6.186 6.178-10.7-10.714-6.187zM12.373 48.77H0v12.356h12.373V48.77zM14.99 70.881L4.274 77.067l6.178 10.701 10.715-6.186-6.179-10.7zM28.311 88.746L22.125 99.46l10.701 6.179 6.186-10.715-10.7-6.178z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n}\n\nexport default IllustrationHowtoUseLoom;\n", "import * as React from 'react';\n\nfunction IllustrationUploadDragAndDrop(props) {\n return (\n <svg\n viewBox=\"0 0 100 100\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n d=\"M100 38.086V0H61.914v9.93h21.132L54.963 38.013V16.88h-9.93v21.132L16.951 9.93h21.135V0H0v38.086h9.93V16.951l28.083 28.082H16.88v9.93h21.132L9.93 83.046V61.914H0V100h38.086v-9.93H16.951l28.082-28.086v21.135h9.93V61.984L83.046 90.07H61.914V100H100V61.914h-9.93v21.132L61.987 54.963H83.12v-9.93H61.987L90.07 16.951v21.135H100z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n}\n\nexport default IllustrationUploadDragAndDrop;\n", "import * as React from 'react';\n\nfunction IllustrationUseCases(props) {\n return (\n <svg\n viewBox=\"0 0 100 100\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n d=\"M0 0v100h100V0H0zm90 90H61.91l20.87-12.52L90 89.52V90zm0-71.25H29.01L90 26.56v8.82l-42.3-5.42L90 42.3v9.12l-27.61-8.05L90 56.78v9.73l-15.29-7.42L90 71.34v11.22L76.02 71.35 61.06 90H49.84l24.82-30.94-8.62-4.19L48.98 90h-9.73l22.71-46.76-9.21-2.68L38.34 90h-9.12l17.53-60.15-10.48-1.35L28.4 90h-8.82l9.12-71.25h-9.94V90H10V10h80v8.75z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n}\n\nexport default IllustrationUseCases;\n", "import * as React from 'react';\n\nfunction IllustrationInviteMembers(props) {\n return (\n <svg\n viewBox=\"0 0 134 134\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M67.59 60.288V0h-1.175v60.292L55.941.914l-1.157.204 10.474 59.374L44.636 3.841l-1.104.401 20.622 56.651L34.01 8.681l-1.017.588 30.144 52.213-38.752-46.184-.9.755 38.753 46.185-46.185-38.752-.755.9 46.184 38.752L9.27 32.993 8.68 34.01l52.212 30.144-56.65-20.622-.403 1.104 56.652 20.622L1.118 54.785l-.204 1.157 59.377 10.473H0v1.175h60.288L.914 78.058l.204 1.157 59.374-10.468L3.84 89.364l.402 1.104 56.651-20.617L8.681 99.99l.588 1.017 52.213-30.14-46.184 38.747.755.9 46.186-38.747-38.753 46.18.9.755 38.751-46.178-30.144 52.207 1.017.588 30.144-52.207-20.622 56.645 1.104.402 20.622-56.646-10.473 59.369 1.156.204 10.474-59.373V134h1.175V73.717l10.468 59.369 1.157-.204-10.468-59.37 20.617 56.647 1.104-.401-20.617-56.646 30.139 52.206 1.017-.587-30.14-52.208 38.747 46.179.9-.755-38.747-46.18 46.18 38.747.755-.9-46.179-38.746 52.208 30.139.588-1.017L73.112 69.85l56.646 20.617.401-1.104-56.646-20.617 59.369 10.468.204-1.157-59.37-10.468H134v-1.175H73.714l59.372-10.474-.204-1.156-59.369 10.473 56.646-20.622-.401-1.104-56.646 20.622 52.207-30.144-.588-1.017-52.208 30.144 46.179-38.752-.755-.9-46.18 38.753 38.747-46.185-.9-.755-38.746 46.184L101.007 9.27 99.99 8.68 69.85 60.893l20.617-56.65-1.104-.402-20.617 56.651L79.215 1.118 78.058.914 67.59 60.288z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n}\n\nexport default IllustrationInviteMembers;\n", "import * as React from 'react';\n\nfunction IllustrationWellness(props) {\n return (\n <svg\n viewBox=\"0 0 100 101\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n d=\"M66.667.929a33.333 33.333 0 010 66.666V.93zM0 34.263a33.333 33.333 0 0166.667 0H0zM33.333 100.929a33.338 33.338 0 01-23.57-9.763 33.333 33.333 0 0123.57-56.903v66.666z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M99.999 67.596a33.332 33.332 0 01-64.13 12.756 33.332 33.332 0 01-2.537-12.756h66.667zM33.334.93H.001v33.333h33.333z\"\n fill=\"currentColor\"\n />\n <path fill=\"currentColor\" d=\"M100 67.595H66.667v33.333H100z\" />\n </svg>\n );\n}\n\nexport default IllustrationWellness;\n", "import * as React from 'react';\n\nfunction IllustrationComments(props) {\n return (\n <svg\n viewBox=\"0 0 96 96\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M96 0H0v96h96V0zM84 12H12v72h72V12z\"\n fill=\"currentColor\"\n />\n <path\n fill=\"currentColor\"\n d=\"M19.2 19.2h57.6v12H19.2zM19.2 38.4h57.6v12H19.2zM19.2 57.6h31.2v12H19.2z\"\n />\n </svg>\n );\n}\n\nexport default IllustrationComments;\n", "import * as React from 'react';\n\nfunction IllutrationFoldersEmptyStateMobile(props) {\n return (\n <svg\n viewBox=\"0 0 96 96\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M0 67.2V96h96V0H67.2v67.2H0z\"\n fill=\"currentColor\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M0 28.8V60h28.8V28.8H60V0H0v28.8z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n}\n\nexport default IllutrationFoldersEmptyStateMobile;\n", "import * as React from 'react';\n\nfunction IllustrationHelpIos(props) {\n return (\n <svg\n viewBox=\"0 0 96 96\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n d=\"M22.8 12c5.965 0 10.8 4.835 10.8 10.8 0 .254-.008.505-.026.754C38.542 16.58 46.912 12 56.4 12 71.643 12 84 23.82 84 38.4c0 14.58-12.357 26.4-27.6 26.4-5.744 0-11.078-1.678-15.496-4.55A15.527 15.527 0 0143.2 68.4c0 8.616-6.984 15.6-15.6 15.6C18.985 84 12 77.016 12 68.4s6.985-15.6 15.6-15.6c2.444 0 4.757.562 6.816 1.564C30.892 49.93 28.8 44.399 28.8 38.4c0-2.6.393-5.11 1.125-7.483A10.76 10.76 0 0122.8 33.6c-5.964 0-10.8-4.835-10.8-10.8C12 16.835 16.836 12 22.8 12z\"\n fill=\"currentColor\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M0 0h96v96H0V0zm12 12v72h72V12H12z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n}\n\nexport default IllustrationHelpIos;\n", "import * as React from 'react';\n\nfunction IllustrationMyVideosEmptyStateMobile(props) {\n return (\n <svg\n viewBox=\"0 0 96 96\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path d=\"M96 0H0v96h96V0zM84 12v72H12V12h72z\" fill=\"currentColor\" />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M85.023 48.341L48.341 11.66 11.66 48.341 48.34 85.023l36.682-36.682zm-56.69 0L48.34 28.333 28.333 48.34zm20.842 19.175L68.35 48.34 49.175 29.167v38.349z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n}\n\nexport default IllustrationMyVideosEmptyStateMobile;\n", "import * as React from 'react';\n\nfunction IllustrationRecentsEmptyStateMobile(props) {\n return (\n <svg\n viewBox=\"0 0 96 96\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M0 0h96v28.704H47.844V12L12 48l35.844 36V67.305H96V96H0V0z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n}\n\nexport default IllustrationRecentsEmptyStateMobile;\n", "import * as React from 'react';\n\nfunction IllustrationChromeNotificationsEmptyState(props) {\n return (\n <svg\n viewBox=\"0 0 96 96\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <circle\n cx={15.84}\n cy={15.84}\n r={11.04}\n stroke=\"currentColor\"\n strokeWidth={9.6}\n />\n <path\n d=\"M59.52 15.84c0 5.963-5.022 11.04-11.52 11.04-6.498 0-11.52-5.077-11.52-11.04C36.48 9.877 41.502 4.8 48 4.8c6.498 0 11.52 5.077 11.52 11.04z\"\n stroke=\"currentColor\"\n strokeWidth={9.6}\n />\n <circle cx={80.16} cy={15.84} r={15.84} fill=\"currentColor\" />\n <path\n d=\"M26.88 48c0 6.498-5.077 11.52-11.04 11.52C9.877 59.52 4.8 54.498 4.8 48c0-6.498 5.077-11.52 11.04-11.52 5.963 0 11.04 5.022 11.04 11.52z\"\n stroke=\"currentColor\"\n strokeWidth={9.6}\n />\n <circle\n cx={48}\n cy={48}\n r={11.52}\n stroke=\"currentColor\"\n strokeWidth={9.6}\n />\n <path\n d=\"M91.2 48c0 6.498-5.077 11.52-11.04 11.52-5.963 0-11.04-5.022-11.04-11.52 0-6.498 5.077-11.52 11.04-11.52 5.963 0 11.04 5.022 11.04 11.52z\"\n stroke=\"currentColor\"\n strokeWidth={9.6}\n />\n <circle\n cx={15.84}\n cy={80.16}\n r={11.04}\n stroke=\"currentColor\"\n strokeWidth={9.6}\n />\n <path\n d=\"M59.52 80.16c0 5.963-5.022 11.04-11.52 11.04-6.498 0-11.52-5.077-11.52-11.04 0-5.963 5.022-11.04 11.52-11.04 6.498 0 11.52 5.077 11.52 11.04z\"\n stroke=\"currentColor\"\n strokeWidth={9.6}\n />\n <circle\n cx={80.16}\n cy={80.16}\n r={11.04}\n stroke=\"currentColor\"\n strokeWidth={9.6}\n />\n </svg>\n );\n}\n\nexport default IllustrationChromeNotificationsEmptyState;\n"],
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": ["import_react", "React", "_debounce", "alignments", "import_react", "styled", "React", "sides", "spaces", "import_styled", "import_react", "styled", "React", "import_react", "React", "import_react", "import_styled", "import_styled", "import_react", "styled", "React", "import_react", "import_styled", "styled", "React", "styled", "React", "traceUFOPress", "availableSizes", "import_styled", "import_react", "styled", "React", "import_styled", "import_react", "import_styled", "import_react", "styled", "React", "import_styled", "import_react", "styled", "React", "sizesStyles", "styled", "IconSection", "React", "import_styled", "import_react", "alignments", "styled", "React", "availableAlignments", "alignments", "import_styled", "import_react", "import_styled", "import_react", "styled", "React", "React", "WarningIcon", "styled", "React", "import_styled", "import_react", "alignments", "styled", "React", "import_styled", "import_react", "styled", "React", "import_styled", "import_react", "React", "styled", "import_styled", "import_react", "sizeStyles", "styled", "React", "import_styled", "import_react", "React", "import_styled", "import_react", "React", "CheckMarkIcon", "styled", "Image", "React", "styled", "Image", "React", "ResizeObserver", "selectedItem", "Downshift", "import_styled", "import_react", "import_react", "styled", "React", "import_styled", "import_react", "React", "CloseIcon", "styled", "ChildrenSection", "React", "FocusTrap", "_a", "import_react", "import_styled", "variants", "statusStyles", "styled", "React", "availableVariants", "import_styled", "import_react", "sizesStyles", "styled", "React", "import_styled", "import_downshift", "import_react", "import_react_laag", "import_resize_observer_polyfill", "styled", "Group", "ErrorMessage", "isGrouped", "getSelectedOptionObject", "getIcon", "getTitle", "getHeaderAccessibilityProps", "IconSection", "React", "getSelectedOption", "didSelectedOptionValueChange", "renderOption", "ResizeObserver", "_a", "Downshift", "selectedItem", "import_styled", "import_downshift", "import_react", "import_react_laag", "import_resize_observer_polyfill", "
|
|
3
|
+
"sources": ["../../src/index.ts", "../../src/colors.ts", "../../src/utilities/color.ts", "../../src/hooks/use-media.js", "../../src/utilities/size.ts", "../../src/utilities/responsive.ts", "../../src/utilities/styles.js", "../../src/utilities/case.ts", "../../src/variables.ts", "../../src/components/text/text.tsx", "../../src/console-messages.js", "../../src/css-utilities/rules.js", "../../src/css-utilities/generate-utilities.js", "../../src/css-variables/index.ts", "../../src/components/avatar/avatar.tsx", "../../src/components/base-styles/base-styles.tsx", "../../src/components/button/button.tsx", "../../src/components/icon/icon.tsx", "../../src/components/loader/loader.tsx", "../../src/components/spacer/spacer.tsx", "../../src/components/text-input/text-input.tsx", "../../src/components/align/align.tsx", "../../src/components/container/container.tsx", "../../src/components/distribute/distribute.tsx", "../../src/components/error-container/error-container.tsx", "../../src/components/arrange/arrange.tsx", "../../src/components/icon/available-icons/alert-triangle.tsx", "../../src/components/layout/layout.tsx", "../../src/components/icon-button/icon-button.tsx", "../../src/components/checkbox/checkbox.tsx", "../../src/components/text-button/text-button.tsx", "../../src/components/select/select.tsx", "../../src/utilities/downshift.js", "../../src/utilities/text.ts", "../../src/components/icon/available-icons/chevron-down.tsx", "../../src/components/menu/menu.tsx", "../../src/components/icon/available-icons/check.tsx", "../../src/components/search-bar/search-bar.tsx", "../../src/components/icon/available-icons/search.tsx", "../../src/components/backdrop/backdrop.tsx", "../../src/hooks/use-prevent-scroll.ts", "../../src/components/modal/modal.tsx", "../../src/components/icon/available-icons/close.tsx", "../../src/components/link/link.tsx", "../../src/components/textarea/textarea.tsx", "../../src/components/typeahead/typeahead.tsx", "../../src/components/dropdown/dropdown.tsx", "../../src/components/form-field/form-field.tsx", "../../src/components/radio/radio.tsx", "../../src/components/switch/switch.tsx", "../../src/components/notification-bar/notification-bar.tsx", "../../src/hooks/use-on-click-outside.js", "../../src/hooks/use-focused-element.tsx", "../../src/hooks/use-push-page-down.ts", "../../src/components/icon/available-icons/info.tsx", "../../src/components/icon/available-icons/warning-alert.tsx", "../../src/components/toast/toast.tsx", "../../src/components/tooltip/tooltip.tsx", "../../src/components/skeleton/skeleton.tsx", "../../src/components/logo/logo.tsx", "../../src/components/logo-loader/logo-loader.tsx", "../../src/constants/routes.ts", "../../src/components/list/list.tsx", "../../src/components/tabs/tabs.tsx", "../../src/components/pill/pill.tsx", "../../src/components/popover/popover.tsx", "../../src/components/illustration/illustration.tsx", "../../src/components/split/split.tsx", "../../src/components/color-picker/color-picker.tsx", "../../src/components/ellipses-loader/ellipses-loader.tsx", "../../src/components/waveform-loader/waveform-loader.tsx", "../../src/illustrations/accounts-and-billing.js", "../../src/illustrations/invite.js", "../../src/illustrations/archived.js", "../../src/illustrations/lead-with-transparency.js", "../../src/illustrations/ask-for-more.js", "../../src/illustrations/learning-and-development.js", "../../src/illustrations/business-plan.js", "../../src/illustrations/loom-plans.js", "../../src/illustrations/collaborate-with-teammates.js", "../../src/illustrations/option-grants.js", "../../src/illustrations/community.js", "../../src/illustrations/community-alt.js", "../../src/illustrations/parental-leave.js", "../../src/illustrations/content-limit.js", "../../src/illustrations/pto.js", "../../src/illustrations/custom-branding.js", "../../src/illustrations/record.js", "../../src/illustrations/desktop-app-and-chrome-extension.js", "../../src/illustrations/remote-first.js", "../../src/illustrations/device-compatibility.js", "../../src/illustrations/roadmap.js", "../../src/illustrations/downgrade.js", "../../src/illustrations/screenshot.js", "../../src/illustrations/embrace-the-weird.js", "../../src/illustrations/share-with-your-team.js", "../../src/illustrations/enterprise-plan.js", "../../src/illustrations/share.js", "../../src/illustrations/faq-and-security.js", "../../src/illustrations/starred.js", "../../src/illustrations/five-minute-limit.js", "../../src/illustrations/starter-plus-plan.js", "../../src/illustrations/getting-started.js", "../../src/illustrations/strong-upload-speed.js", "../../src/illustrations/growth-through-empathy.js", "../../src/illustrations/troubleshooting.js", "../../src/illustrations/health-plans.js", "../../src/illustrations/upgrade.js", "../../src/illustrations/how-to-use-loom.js", "../../src/illustrations/upload-drag-and-drop.js", "../../src/illustrations/use-cases.js", "../../src/illustrations/invite-members.js", "../../src/illustrations/wellness.js", "../../src/illustrations/comments.js", "../../src/illustrations/folders-empty-state-mobile.js", "../../src/illustrations/help-ios.js", "../../src/illustrations/my-videos-empty-state-mobile.js", "../../src/illustrations/recents-empty-state-mobile.js", "../../src/illustrations/chrome-notifications-empty-state.js"],
|
|
4
|
+
"sourcesContent": ["// needed for emotion types\nimport '@emotion/react';\n\nexport * from './colors';\nexport * from './variables';\nexport * from './utilities';\nexport * from './css-utilities';\nexport * from './css-variables';\nexport * from './components';\nexport * from './illustrations';\nexport * from './hooks';\nexport * from './types';\n", "type HslaColor = { h: number; s: number; l: number; a: number; ads?: string };\nconst BaseColors = [\n 'red',\n 'blurpleLight',\n 'blurpleMedium',\n 'blurple',\n 'blurpleDark',\n 'blurpleStrong',\n 'offWhite',\n 'blueLight',\n 'blue',\n 'blueDark',\n 'magenta',\n 'orangeLight',\n 'orange',\n 'orangeDark',\n 'tealLight',\n 'teal',\n 'tealDark',\n 'yellowLight',\n 'yellow',\n 'yellowDark',\n] as const;\nconst GreyColors = [\n 'grey8',\n 'grey7',\n 'grey6',\n 'grey5',\n 'grey4',\n 'grey3',\n 'grey2',\n 'grey1',\n 'white',\n] as const;\nconst SharedColors = [\n 'record',\n 'recordHover',\n 'recordActive',\n 'focusRing',\n 'backdropDark',\n 'backdropTwilight',\n 'highlight',\n 'warning',\n] as const;\nconst SemanticColors = [\n 'primary',\n 'primaryHover',\n 'primaryActive',\n 'body',\n 'bodyDimmed',\n 'bodyInverse',\n 'background',\n 'backgroundHover',\n 'backgroundActive',\n 'backgroundNeutral',\n 'backgroundNeutralHover',\n 'backgroundNeutralActive',\n 'backgroundSecondary',\n 'backgroundSecondary2',\n 'backgroundInverse',\n 'overlay',\n 'overlayHover',\n 'overlayActive',\n 'backdrop',\n 'border',\n 'disabledContent',\n 'disabledBackground',\n 'formFieldBorder',\n 'formFieldBackground',\n 'buttonBorder',\n 'upgrade',\n 'upgradeHover',\n 'upgradeActive',\n 'tabBackground',\n 'discoveryBackground',\n 'discoveryLightBackground',\n 'discoveryTitle',\n 'discoveryHighlight',\n 'info',\n 'success',\n 'danger',\n 'dangerHover',\n 'dangerActive',\n] as const;\n\ntype ThemesColorVariant = Record<\n (typeof SharedColors)[number] | (typeof SemanticColors)[number],\n HslaColor\n>;\ntype ThemesColors = {\n light: ThemesColorVariant;\n dark: ThemesColorVariant;\n};\n\nconst percent = (number: number, percentage: number) =>\n Math.round((number * percentage) / 100);\n\nexport const darken = (color: HslaColor, percentage: number): HslaColor => ({\n ...color,\n l: color.l - percent(color.l, percentage),\n});\n\nexport const lighten = (color: HslaColor, percentage: number): HslaColor => ({\n ...color,\n l: color.l + percent(color.l, percentage),\n});\n\nexport const saturate = (color: HslaColor, percentage: number): HslaColor => ({\n ...color,\n s: color.s + percent(color.s, percentage),\n});\n\nexport const alphaFunction = (color: HslaColor, alpha: number): HslaColor => ({\n ...color,\n a: alpha,\n});\n\nconst hoverIncrease = 15.8;\nconst activeIncrease = 31.6;\nconst borderAlpha = 0.14;\nconst backdropAlpha = 0.46;\nconst backdropDarkAlpha = 0.9;\nconst backdropTwilightAlpha = 0.8;\nconst focusRingAlpha = 0.8;\nconst buttonBorderAlpha = 0.25;\nconst tabBackgroundAlpha = 0.06;\nconst highlightAlpha = 0.15;\n\nexport const hslaBaseColors: Record<(typeof BaseColors)[number], HslaColor> = {\n red: { h: 4, s: 64, l: 48, a: 1 },\n\n blurpleLight: { h: 240, s: 83.3, l: 95.3, a: 1 },\n blurpleMedium: { h: 242, s: 81.0, l: 87.6, a: 1 },\n blurple: { h: 242, s: 88.4, l: 66.3, a: 1 },\n blurpleDark: { h: 242, s: 87.6, l: 62.0, a: 1 },\n blurpleStrong: { h: 242, s: 55, l: 36, a: 1 },\n\n offWhite: { h: 0, s: 0, l: 97.25, a: 1 },\n\n blueLight: { h: 216.5, s: 92, l: 90.2, a: 1 },\n blue: { h: 215.4, s: 80, l: 47.65, a: 1 },\n blueDark: { h: 216.3, s: 69.2, l: 23, a: 1 },\n\n magenta: { h: 323, s: 42, l: 48, a: 1 },\n\n orangeLight: { h: 4, s: 100, l: 91.2, a: 1 },\n orange: { h: 11, s: 100, l: 62.2, a: 1 },\n orangeDark: { h: 10.9, s: 100, l: 42.2, a: 1 },\n\n tealLight: { h: 155, s: 70, l: 84, a: 1 },\n teal: { h: 155, s: 62, l: 32, a: 1 },\n tealDark: { h: 155, s: 55, l: 19, a: 1 },\n\n yellowLight: { h: 43, s: 93, l: 82, a: 1 },\n yellow: { h: 45.5, s: 96, l: 57, a: 1 },\n yellowDark: { h: 39.8, s: 100, l: 49.4, a: 1 },\n};\n\nexport const hslaGreys: Record<(typeof GreyColors)[number], HslaColor> = {\n grey8: { h: 228, s: 6, l: 17, a: 1 },\n grey7: { h: 223, s: 6, l: 24.5, a: 1 },\n grey6: { h: 224, s: 5, l: 44, a: 1 },\n grey5: { h: 224, s: 5, l: 57, a: 1 },\n grey4: { h: 223, s: 5, l: 73, a: 1 },\n grey3: { h: 225, s: 6, l: 87.5, a: 1 },\n grey2: { h: 210, s: 7, l: 94.5, a: 1 },\n grey1: { h: 0, s: 0, l: 97.25, a: 1 },\n white: { h: 0, s: 0, l: 100, a: 1 },\n};\n\nconst themeSharedColors: Record<(typeof SharedColors)[number], HslaColor> = {\n record: hslaBaseColors.orange,\n recordHover: darken(hslaBaseColors.orange, hoverIncrease),\n recordActive: darken(hslaBaseColors.orange, activeIncrease),\n focusRing: alphaFunction(hslaBaseColors.blurple, focusRingAlpha),\n backdropDark: alphaFunction(hslaGreys.grey8, backdropDarkAlpha),\n backdropTwilight: alphaFunction(\n hslaBaseColors.blurpleStrong,\n backdropTwilightAlpha\n ),\n highlight: alphaFunction(hslaBaseColors.blurple, highlightAlpha),\n warning: {\n h: 45.5,\n s: 96,\n l: 57,\n a: 1,\n ads: '--ds-background-warning-bold',\n },\n};\n\n// This object has a specific spread order for documentation purposes\nexport const themeColors: ThemesColors = {\n light: {\n primary: hslaBaseColors.blurple,\n primaryHover: hslaBaseColors.blurpleDark,\n primaryActive: hslaBaseColors.blurpleStrong,\n body: { h: 228, s: 6, l: 17, a: 1, ads: '--ds-text' },\n bodyDimmed: { h: 224, s: 5, l: 44, a: 1, ads: '--ds-text-subtlest' },\n bodyInverse: { h: 0, s: 0, l: 100, a: 1, ads: '--ds-text-inverse' },\n background: { h: 0, s: 0, l: 100, a: 1, ads: '--ds-surface' },\n backgroundHover: {\n h: 209,\n s: 75.6,\n l: 8,\n a: 0.08,\n ads: '--ds-background-neutral-subtle-hovered',\n },\n backgroundActive: {\n h: 225.5,\n s: 56.9,\n l: 10,\n a: 0.14,\n ads: '--ds-background-neutral-subtle-pressed',\n },\n backgroundSecondary: {\n h: 0,\n s: 0,\n l: 97.25,\n a: 1,\n ads: '--ds-surface-sunken',\n },\n backgroundSecondary2: {\n h: 0,\n s: 0,\n l: 97.25,\n a: 1,\n ads: '--ds-surface-sunken',\n },\n backgroundNeutral: {\n h: 209,\n s: 76,\n l: 8,\n a: 0.08,\n ads: '--ds-background-neutral',\n },\n backgroundNeutralHover: {\n h: 226,\n s: 57,\n l: 1,\n a: 0.14,\n ads: '--ds-background-neutral-hovered',\n },\n backgroundNeutralActive: {\n h: 223,\n s: 61,\n l: 8,\n a: 0.28,\n ads: '--ds-background-neutral-pressed',\n },\n backgroundInverse: {\n h: 228,\n s: 6,\n l: 17,\n a: 1,\n ads: '--ds-background-neutral-bold',\n },\n overlay: { h: 0, s: 0, l: 100, a: 1, ads: '--ds-surface-overlay' },\n overlayHover: hslaGreys.grey2,\n overlayActive: hslaGreys.grey3,\n backdrop: { h: 224, s: 72, l: 7, a: backdropAlpha, ads: '--ds-blanket' },\n border: { h: 225.5, s: 57, l: 10, a: borderAlpha, ads: '--ds-border' },\n ...themeSharedColors,\n info: {\n h: 215,\n s: 80.25,\n l: 47.65,\n a: 1,\n ads: '--ds-background-information-bold',\n },\n success: {\n h: 155,\n s: 62,\n l: 32,\n a: 1,\n ads: '--ds-background-accent-green-bolder',\n },\n danger: { h: 4, s: 64, l: 48, a: 1, ads: '--ds-background-danger-bold' },\n dangerHover: {\n h: 4.3,\n s: 65.7,\n l: 41.2,\n a: 1,\n ads: '--ds-background-danger-bold-hovered',\n },\n dangerActive: {\n h: 4.5,\n s: 56.3,\n l: 23.3,\n a: 1,\n ads: '--ds-background-danger-bold-pressed',\n },\n disabledContent: {\n h: 223,\n s: 5,\n l: 73,\n a: 1,\n ads: '--ds-text-disabled',\n },\n disabledBackground: {\n h: 0,\n s: 0,\n l: 9,\n a: 0.03,\n ads: '--ds-background-disabled',\n },\n formFieldBorder: { h: 223.6, s: 5, l: 57, a: 1, ads: '--ds-border-input' },\n formFieldBackground: {\n h: 0,\n s: 0,\n l: 100,\n a: 1,\n ads: '--ds-background-input',\n },\n buttonBorder: {\n h: 252,\n s: 13,\n l: 46,\n a: buttonBorderAlpha,\n ads: '--ds-border',\n },\n tabBackground: {\n h: 209,\n s: 75.6,\n l: 8,\n a: tabBackgroundAlpha,\n ads: '--ds-background-neutral',\n },\n upgrade: {\n h: 277.5,\n s: 89,\n l: 96.5,\n a: 1,\n ads: '--ds-background-discovery',\n },\n upgradeHover: {\n h: 277,\n s: 86,\n l: 91.6,\n a: 1,\n ads: '--ds-background-discovery-hovered',\n },\n upgradeActive: {\n h: 278.6,\n s: 84.5,\n l: 79.8,\n a: 1,\n ads: '--ds-background-discovery-pressed',\n },\n discoveryBackground: {\n h: 278.6,\n s: 48.4,\n l: 52.2,\n a: 1,\n ads: '--ds-background-discovery-bold',\n },\n discoveryLightBackground: {\n h: 277.5,\n s: 89,\n l: 96.5,\n a: 1,\n ads: '--ds-background-discovery',\n },\n discoveryTitle: { h: 228, s: 6, l: 17, a: 1, ads: '--ds-text' },\n discoveryHighlight: {\n h: 277.5,\n s: 89,\n l: 96.5,\n a: 1,\n ads: '--ds-background-discovery',\n },\n },\n\n dark: {\n primary: { h: 242, s: 87, l: 73, a: 1 },\n primaryHover: hslaBaseColors.blurpleDark,\n primaryActive: hslaBaseColors.blurpleStrong,\n body: { h: 225, s: 4.3, l: 81.6, a: 1, ads: '--ds-text' },\n bodyDimmed: { h: 217.5, s: 4, l: 60.4, a: 1, ads: '--ds-text-subtlest' },\n bodyInverse: { h: 240, s: 3, l: 12.5, a: 1, ads: '--ds-text-inverse' },\n background: { h: 240, s: 3, l: 12.5, a: 1, ads: '--ds-surface' },\n backgroundHover: {\n h: 240,\n s: 12.6,\n l: 83,\n a: 0.07,\n ads: '--ds-background-neutral-subtle-hovered',\n },\n backgroundActive: {\n h: 236,\n s: 36.6,\n l: 92,\n a: 0.12,\n ads: '--ds-background-neutral-subtle-pressed',\n },\n backgroundSecondary: {\n h: 210,\n s: 4,\n l: 9.8,\n a: 1,\n ads: '--ds-surface-sunken',\n },\n backgroundSecondary2: {\n h: 210,\n s: 4,\n l: 9.8,\n a: 1,\n ads: '--ds-surface-sunken',\n },\n // Same base hsl to backgroundHover\n backgroundNeutral: {\n h: 240,\n s: 12.6,\n l: 83,\n a: 0.07,\n ads: '--ds-background-neutral',\n },\n backgroundNeutralHover: {\n h: 236,\n s: 36.6,\n l: 92,\n a: 0.12,\n ads: '--ds-background-neutral-hovered',\n },\n backgroundNeutralActive: {\n h: 226,\n s: 49,\n l: 93,\n a: 0.25,\n ads: '--ds-background-neutral-pressed',\n },\n backgroundInverse: {\n h: 225,\n s: 4.3,\n l: 81.6,\n a: 1,\n ads: '--ds-background-neutral-bold',\n },\n overlay: { h: 225, s: 4, l: 17.6, a: 1, ads: '--ds-surface-overlay' },\n overlayHover: {\n h: 225,\n s: 4,\n l: 19.61,\n a: 1,\n ads: '--ds-surface-overlay-hovered',\n },\n overlayActive: {\n h: 225,\n s: 4.69,\n l: 25.1,\n a: 1,\n ads: '--ds-surface-overlay-pressed',\n },\n backdrop: { h: 210, s: 11, l: 7, a: 0.6, ads: '--ds-blanket' },\n border: { h: 236, s: 36.6, l: 92, a: 0.12, ads: '--ds-border' },\n ...themeSharedColors,\n info: {\n h: 216.3,\n s: 83,\n l: 67.25,\n a: 1,\n ads: '--ds-background-information-bold',\n },\n success: {\n h: 155,\n s: 57,\n l: 55,\n a: 1,\n ads: '--ds-background-accent-green-bolder',\n },\n danger: { h: 3.75, s: 91, l: 69, a: 1, ads: '--ds-background-danger-bold' },\n dangerHover: {\n h: 4,\n s: 96,\n l: 78,\n a: 1,\n ads: '--ds-background-danger-bold-hovered',\n },\n dangerActive: {\n h: 4,\n s: 100,\n l: 91.2,\n a: 1,\n ads: '--ds-background-danger-bold-pressed',\n },\n disabledContent: {\n h: 225,\n s: 5,\n l: 33,\n a: 1,\n ads: '--ds-text-disabled',\n },\n disabledBackground: {\n h: 0,\n s: 0,\n l: 1,\n a: 0.46,\n ads: '--ds-background-disabled',\n },\n formFieldBorder: { h: 222, s: 4, l: 51.4, a: 1, ads: '--ds-border-input' },\n formFieldBackground: {\n h: 225,\n s: 5,\n l: 15,\n a: 1,\n ads: '--ds-background-input',\n },\n buttonBorder: {\n h: 0,\n s: 0,\n l: 100,\n a: buttonBorderAlpha,\n ads: '--ds-border',\n },\n tabBackground: {\n h: 240,\n s: 12.6,\n l: 83,\n a: 0.07,\n ads: '--ds-background-neutral',\n },\n upgrade: {\n h: 277.8,\n s: 27.3,\n l: 19.4,\n a: 1,\n ads: '--ds-background-discovery',\n },\n upgradeHover: {\n h: 278,\n s: 44.2,\n l: 25.3,\n a: 1,\n ads: '--ds-background-discovery-hovered',\n },\n upgradeActive: {\n h: 278,\n s: 45,\n l: 44.7,\n a: 1,\n ads: '--ds-background-discovery-pressed',\n },\n discoveryBackground: {\n h: 278.5,\n s: 84.5,\n l: 72.2,\n a: 1,\n ads: '--ds-background-discovery-bold',\n },\n discoveryLightBackground: {\n h: 277.8,\n s: 27.3,\n l: 19.4,\n a: 1,\n ads: '--ds-background-discovery',\n },\n discoveryTitle: { h: 225, s: 4.3, l: 81.6, a: 1, ads: '--ds-text' },\n discoveryHighlight: {\n h: 277.8,\n s: 27.3,\n l: 19.4,\n a: 1,\n ads: '--ds-background-discovery',\n },\n },\n};\n\nexport const hslaColors = {\n ...hslaBaseColors,\n ...hslaGreys,\n};\n\nexport const colorsNames = [\n ...Object.keys(hslaColors),\n ...Object.keys(themeColors.light),\n];\n", "import { hslaColors, themeColors } from '../colors';\nimport { gradients } from '../variables';\n\nexport const getColorAlpha = (\n color: keyof typeof hslaColors,\n alpha: number\n) => {\n return `hsla(${hslaColors[color].h},${hslaColors[color].s}%,${hslaColors[color].l}%,${alpha})`;\n};\n\nexport const getColorScale = (\n color: keyof typeof hslaColors,\n scaleType: string,\n scaleIncrement: number\n): string => {\n const scaledValue = () => {\n if (scaleType === 'dark') {\n return hslaColors[color].l - hslaColors[color].l * scaleIncrement;\n } else if (scaleType === 'light') {\n return hslaColors[color].l + hslaColors[color].l * scaleIncrement;\n }\n };\n\n return `hsla(${hslaColors[color].h},${hslaColors[color].s}%,${Math.round(\n scaledValue()\n )}%,${hslaColors[color].a})`;\n};\n\nexport const getColorValue = (color?: string): string | undefined => {\n if (color) {\n if (color in hslaColors || color in themeColors.light) {\n return `var(--lns-color-${color})`;\n }\n\n // Handle gradient colors\n if (color in gradients) {\n return `var(--lns-gradient-${color})`;\n }\n\n return color;\n }\n};\n", "import _debounce from 'lodash/debounce';\nimport React from 'react';\n\n/**\n * Provided an array of media queries and an associated\n * array of values, it will match a media query to a value\n * on resize and return it.\n * If no queries match, it will return a default value.\n */\nexport default function useMedia(queries, values, defaultValue) {\n const match = React.useCallback(() => {\n if (typeof window === 'undefined') {\n return defaultValue;\n }\n\n return (\n values[queries.findIndex(q => matchMedia(q).matches)] || defaultValue\n );\n }, [defaultValue, queries, values]);\n\n const [value, set] = React.useState(match);\n\n React.useEffect(() => {\n const handler = _debounce(() => set(match), 150);\n\n window.addEventListener('resize', handler);\n\n return () => window.removeEventListener('resize', handler);\n }, [match]);\n\n return value;\n}\n", "import { Breakpoint, Space, spaces, unit } from '../variables';\nimport { objectToBreakpoints } from './responsive';\n\nimport { arrayToBreakpoints } from '.';\n\nexport const u = (amount: number) =>\n amount && `calc(${amount} * var(--lns-unit, ${unit}px))`;\n\n/**\n * @example\n * Sample values: \"large\", 42, \"80px\"\n */\nexport type Size = Space | number | string;\n\nexport const getSizeValue = (size: Size) => {\n if (size in spaces) {\n return `var(--lns-space-${size})`;\n }\n\n if (size && isNaN(size as number)) {\n return `${size}`;\n }\n\n if (size === 0) {\n return `0`;\n }\n\n if (size) {\n return `${u(size as number)}`;\n }\n};\n\nexport type SizeProp =\n | Size\n | Size[]\n | Partial<Record<Breakpoint | 'default', Size>>;\nexport const getSize = (property: string, size: SizeProp) => {\n if (size || size === 0) {\n if (Array.isArray(size)) {\n const rulesetsArray = size.map(sizeItem => {\n return `${property}: ${getSizeValue(sizeItem)}`;\n });\n\n return arrayToBreakpoints(rulesetsArray);\n }\n\n if (typeof size === 'object') {\n const sizeValesObject: Partial<Record<Breakpoint, string>> = {};\n\n Object.entries(size).forEach(\n ([key, value]) => (sizeValesObject[key] = getSizeValue(value))\n );\n\n return objectToBreakpoints(property, sizeValesObject);\n }\n\n return `${property}: ${getSizeValue(size)};`;\n }\n};\n", "import useMedia from '../hooks/use-media';\nimport { ResponsiveGridSections, ResponsiveType } from '../types';\nimport { Breakpoint, breakpoints } from '../variables';\nimport { getSizeValue, Size } from './size';\n\nexport const getMediaCss = (\n widthType: string,\n breakpoint: string,\n declaration: string\n) => `@media(${widthType}: ${breakpoint}){${declaration}}`;\n\nexport const arrayToBreakpoints = (values: string[]) => {\n const smallestBreakpoint = Object.values(breakpoints)[0];\n\n const maxWithRulesets = getMediaCss(\n 'max-width',\n smallestBreakpoint,\n values[0]\n );\n\n const minWithRulesets = values.reduce((rulesets, value, index) => {\n const breakpoint = `${Object.values(breakpoints)[index]}`;\n\n return rulesets + getMediaCss('min-width', breakpoint, value);\n }, '');\n\n return maxWithRulesets + minWithRulesets;\n};\n\nexport type BreakpointProperties = Breakpoint | 'default';\nexport type BreakpointObject = Partial<Record<BreakpointProperties, string>>;\n\nexport const objectToBreakpoints = (\n property: string,\n obj: BreakpointObject\n) => {\n const result = [];\n\n obj['default'] && result.push(`${property}: ${obj['default']};`);\n\n delete obj.default;\n\n Object.entries(obj).forEach(([key, value]) => {\n const breakpoint = key in breakpoints ? breakpoints[key] : key;\n\n result.push(`@media(min-width: ${breakpoint}){ ${property}: ${value} }`);\n });\n\n return result.join(' ');\n};\n\nexport const getResponsiveOneOf = (\n property: string,\n valueArray: ResponsiveType<string>\n) => {\n if (Array.isArray(valueArray)) {\n const oneOfValuesArray = valueArray.map(valueArrayItem => {\n return `${property}: ${valueArrayItem};`;\n });\n\n return arrayToBreakpoints(oneOfValuesArray);\n }\n\n if (typeof valueArray === 'object') {\n return objectToBreakpoints(property, valueArray);\n }\n\n return `${property}: ${valueArray};`;\n};\n\nexport const getAlignmentStyles = (\n prop: string | string[],\n alignments: Record<string, string>\n) => {\n if (prop) {\n if (Array.isArray(prop)) {\n const alignItemsArray = [];\n\n prop.map(propItem => {\n alignItemsArray.push(alignments[propItem]);\n });\n\n return getResponsiveOneOf('align-items', alignItemsArray);\n }\n\n return `align-items ${alignments[prop]};`;\n }\n};\n\nexport const getResponsiveBoolean = (\n property: string,\n valueArray: string[],\n booleanValue: boolean | boolean[]\n) => {\n if (Array.isArray(booleanValue)) {\n const booleanValuesArray = booleanValue.map(booleanItem => {\n const value = booleanItem === true ? valueArray[0] : valueArray[1];\n\n return `${property}: ${value};`;\n });\n\n return arrayToBreakpoints(booleanValuesArray);\n }\n\n return `${property}: ${valueArray[0]};`;\n};\n\nexport const getResponsiveNumber = (\n property: string,\n number: ResponsiveType<number | string>\n) => {\n if (number || number === 0) {\n if (Array.isArray(number)) {\n const rulesetsArray = number.map(numberItem => {\n return `${property}: ${numberItem}`;\n });\n\n return arrayToBreakpoints(rulesetsArray);\n }\n\n if (typeof number === 'object' && !Array.isArray(number)) {\n return objectToBreakpoints(property, number);\n }\n\n return `${property}: ${number};`;\n }\n};\n\ntype SizeParam = Size | Size[];\nconst transformColumns = (columns: SizeParam) => {\n if (Array.isArray(columns)) {\n return columns.map(column => getSizeValue(column)).join(' ');\n }\n\n return columns;\n};\n\nexport const getResponsiveColumns = (\n columns: Record<Breakpoint, SizeParam>\n) => {\n if (columns) {\n if (typeof columns === 'object' && !Array.isArray(columns)) {\n const columnsValuesObject: BreakpointObject = {};\n\n Object.entries(columns).forEach(\n ([key, value]) => (columnsValuesObject[key] = transformColumns(value))\n );\n\n return objectToBreakpoints('grid-template-columns', columnsValuesObject);\n }\n\n return `grid-template-columns: ${transformColumns(columns)};`;\n }\n};\n\nexport const getResponsiveGridSections = (\n gridSections: ResponsiveGridSections,\n sectionType: string\n) => {\n if (gridSections) {\n if (typeof gridSections === 'object' && !Array.isArray(gridSections)) {\n const gridSectionsValesObject = {};\n\n Object.entries(gridSections).forEach(\n ([key, value]) =>\n (gridSectionsValesObject[key] = transformColumns(value))\n );\n\n return objectToBreakpoints(\n `grid-template-${sectionType}`,\n gridSectionsValesObject\n );\n }\n\n return `grid-template-${sectionType}: ${transformColumns(gridSections)};`;\n }\n};\n\nexport const Media = ({ children, queries, values, defaultValue }) => {\n const value = useMedia(queries, values, defaultValue);\n\n return children(value);\n};\n", "// TODO(LNS-185): Convert all utils to ts\nimport { getColorValue } from './color';\n\n// Type\nexport const getTextSize = size =>\n size &&\n `\n font-size: var(--lns-fontSize-${size});\n line-height: var(--lns-lineHeight-${size});\n letter-spacing: var(--lns-letterSpacing-${size});\n`;\n\nexport const getFontWeight = fontWeight =>\n fontWeight && `font-weight: var(--lns-fontWeight-${fontWeight});`;\n\nexport const getFontSetting = fontSetting =>\n fontSetting && `var(--lns-fontSetting-${fontSetting});`;\n\nexport const getRadius = size =>\n size && `border-radius: var(--lns-radius-${size});`;\n\nexport const getShadow = size =>\n size && `box-shadow: var(--lns-shadow-${size});`;\n\nexport const getFocusRing = (color, position) => {\n const focusColor = color ? color : getColorValue('focusRing');\n\n return `box-shadow:${position ? position : ''} 0 0 0 2px ${focusColor};`;\n};\n\n// Use for elements who have background colour. The standard focus ring does\n// not provide sufficient contrast against most variant bg colours.\nexport const getOffsetFocusRing = color => {\n const focusColor = color ? color : getColorValue('focusRing');\n\n return `\n outline: 2px solid ${focusColor};\n outline-offset: 1px;\n `;\n};\n\nexport const getListContainer = tag => {\n if (tag === 'ol' || tag === 'ul') {\n return `\n list-style-type: none;\n margin: 0;\n padding: 0\n `;\n }\n};\n\nexport const getPlacement = (maxHeight, placement) => {\n const placementStyles = {\n center: {\n bottom: 0,\n top: `calc((100vh - ${maxHeight}) / 2)`,\n position: 'relative',\n },\n bottom: {\n bottom: 0,\n top: 'unset',\n position: 'absolute',\n },\n undefined: {\n bottom: undefined,\n top: '15vh',\n position: 'relative',\n },\n };\n\n return placementStyles[placement];\n};\n", "export const pascalCaseToKebabCase = (string: string): string => {\n return string\n .replace(/([a-z0-9])([A-Z])/g, '$1-$2')\n .replace(/[\\s_]+/g, '-')\n .toLowerCase();\n};\n", "import { u } from './utilities';\n\nexport const unit = 8;\n\nexport const textSizes = {\n small: {\n fontSize: 1.5,\n lineHeight: 1.5,\n letterSpacing: 'normal',\n },\n 'body-sm': {\n fontSize: 1.5,\n lineHeight: 1.5,\n letterSpacing: 'normal',\n },\n medium: {\n fontSize: 1.75,\n lineHeight: 1.57,\n letterSpacing: 'normal',\n },\n 'body-md': {\n fontSize: 1.75,\n lineHeight: 1.57,\n letterSpacing: 'normal',\n },\n large: {\n fontSize: 2.25,\n lineHeight: 1.44,\n letterSpacing: '-0.2px',\n },\n 'body-lg': {\n fontSize: 2.25,\n lineHeight: 1.44,\n letterSpacing: '-0.2px',\n },\n xlarge: {\n fontSize: 3,\n lineHeight: 1.16,\n letterSpacing: '-0.2px',\n },\n 'heading-sm': {\n fontSize: 3,\n lineHeight: 1.16,\n letterSpacing: '-0.2px',\n },\n xxlarge: {\n fontSize: 4,\n lineHeight: 1.125,\n letterSpacing: '-0.5px',\n },\n 'heading-md': {\n fontSize: 4,\n lineHeight: 1.125,\n letterSpacing: '-0.5px',\n },\n xxxlarge: {\n fontSize: 6,\n lineHeight: 1.16,\n letterSpacing: '-1.2px',\n },\n 'heading-lg': {\n fontSize: 6,\n lineHeight: 1.16,\n letterSpacing: '-1.2px',\n },\n};\nexport type TextSize = keyof typeof textSizes;\n\nexport const fontWeights = {\n book: 400,\n regular: 400,\n medium: 500,\n bold: 653,\n};\n\n// NOTE(tatiana): For reasons unclear to me at this time,\n// I do not know why I have to do this silliness but\n// it's the only way I can get the correct version to show\n// in the Lens doc only\nexport const fontSettings = {\n normal: `'normal'`,\n tnum: `'tnum'`,\n};\n\nexport const radii = {\n none: u(0),\n 50: u(0.5),\n 100: u(1),\n medium: u(1),\n 150: u(1.5),\n 175: u(1.75),\n 200: u(2),\n large: u(2),\n 250: u(2.5),\n 300: u(3),\n xlarge: u(3),\n round: u(999),\n full: u(999),\n};\n\nexport const shadows = {\n small: `0 ${u(0.5)} ${u(1.25)} hsla(0, 0%, 0%, 0.05)`,\n medium: `0 ${u(0.5)} ${u(1.25)} hsla(0, 0%, 0%, 0.1)`,\n large: `0 ${u(0.75)} ${u(3)} hsla(0, 0%, 0%, 0.1)`,\n};\n\nexport const spaces = {\n xsmall: 0.5,\n small: 1,\n medium: 2,\n large: 3,\n xlarge: 5,\n xxlarge: 8,\n};\nexport type Space = keyof typeof spaces;\n\nexport const breakpoints = {\n xsmall: '31em',\n small: '48em',\n medium: '64em',\n large: '75em',\n};\nexport type Breakpoint = keyof typeof breakpoints;\n\nexport const gradients = {\n 'ai-primary':\n 'radial-gradient(134.96% 884.49% at 119.29% 112.58%, #DC43BE 0%, #565ADD 70%)',\n 'ai-secondary':\n 'radial-gradient(100% 138.41% at 100% 100%, #EFF0FF 0%, #FFFFFF 100%)',\n};\n", "import styled from '@emotion/styled';\nimport React from 'react';\n\nimport { textIsDimmedDeprecated } from '../../console-messages';\nimport { LensSpanProps } from '../../types';\nimport {\n getFontWeight,\n getFontSetting,\n getTextSize,\n getColorValue,\n u,\n} from '../../utilities';\nimport { TextSize, textSizes, unit } from '../../variables';\n\nexport const dimAmount = 0.6;\n\ntype VariantsProps = {\n [key: string]: {\n size: TextProps['size'];\n fontWeight: TextProps['fontWeight'];\n };\n};\n\nexport const variants: VariantsProps = {\n body: {\n size: 'body-md',\n fontWeight: 'regular',\n },\n title: {\n size: 'body-lg',\n fontWeight: 'bold',\n },\n mainTitle: {\n size: 'heading-md',\n fontWeight: 'bold',\n },\n};\n\nconst getTextPxSize = size => textSizes[size].fontSize * unit;\n\nconst getTextUnitSize = size => u(textSizes[size].fontSize);\n\nexport const lineHeightToPx = size =>\n textSizes[size].fontSize * textSizes[size].lineHeight * unit;\n\nconst clampBuilder = (minSize, maxSize, minWindow, maxWindow) => {\n const slope = (maxSize - minSize) / (maxWindow - minWindow);\n const yAxisIntersection = -minWindow * slope + minSize;\n\n return `${yAxisIntersection}px + ${slope * 100}vw`;\n};\n\nconst TextWrapper = styled.span<TextWrapperProps>`\n display: ${props => (props.isInline ? 'inline' : 'block')};\n ${props => !props.sizeMinMax && getTextSize(props.size)};\n ${props => getFontWeight(props.fontWeight)};\n ${props => props.color && `color: ${getColorValue(props.color)}`};\n ${props =>\n props.fontSetting &&\n `font-feature-settings: ${getFontSetting(props.fontSetting)}`};\n ${props => props.isDimmed && `opacity: ${dimAmount}`};\n ${props => props.alignment && `text-align: ${props.alignment}`};\n ${props =>\n props.hasEllipsis &&\n !props.ellipsisLines &&\n `\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n `};\n ${props =>\n props.hasEllipsis &&\n props.ellipsisLines &&\n `\n overflow: hidden;\n display: -webkit-box;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: ${props.ellipsisLines};\n `};\n ${props =>\n !props.hasEllipsis &&\n props.noWrap &&\n 'white-space: nowrap; overflow: hidden;'};\n ${props =>\n props.sizeMinMax &&\n `\n min-height: 0vw;\n font-size: clamp(\n ${getTextUnitSize(props.sizeMinMax[0])},\n ${clampBuilder(\n getTextPxSize(props.sizeMinMax[0]),\n getTextPxSize(props.sizeMinMax[1]),\n 496,\n 1200\n )},\n ${getTextUnitSize(props.sizeMinMax[1])}\n );\n\n line-height: clamp(\n ${lineHeightToPx(props.sizeMinMax[0])}px,\n ${clampBuilder(\n lineHeightToPx(props.sizeMinMax[0]),\n lineHeightToPx(props.sizeMinMax[1]),\n 496,\n 1200\n )},\n ${lineHeightToPx(props.sizeMinMax[1])}px\n );\n `}\n`;\n\nconst Text = ({\n children,\n size = 'body-md',\n color,\n isInline,\n isDimmed,\n fontWeight = 'regular',\n hasEllipsis,\n ellipsisLines,\n noWrap,\n variant,\n htmlTag = 'span',\n alignment,\n sizeMinMax,\n fontSetting = 'normal',\n ...props\n}: TextProps &\n React.ComponentProps<typeof TextWrapper> &\n Omit<\n LensSpanProps,\n keyof TextProps & React.ComponentProps<typeof TextWrapper>\n >) => {\n if (isDimmed) {\n // eslint-disable-next-line no-console\n console.warn(textIsDimmedDeprecated);\n }\n\n // All heading sizes should use fontWeight bold\n if (size.includes('heading-')) {\n fontWeight = 'bold';\n }\n\n return (\n <TextWrapper\n size={variant ? variants[variant].size : size}\n color={color}\n isInline={isInline}\n isDimmed={isDimmed}\n fontWeight={variant ? variants[variant].fontWeight : fontWeight}\n hasEllipsis={hasEllipsis}\n ellipsisLines={ellipsisLines}\n noWrap={noWrap}\n variant={variant}\n as={htmlTag}\n alignment={alignment}\n sizeMinMax={sizeMinMax}\n fontSetting={fontSetting}\n {...props}\n >\n {children}\n </TextWrapper>\n );\n};\n\nexport const availableSizes = [\n 'body-sm',\n 'body-md',\n 'body-lg',\n 'heading-sm',\n 'heading-md',\n 'heading-lg',\n];\nexport const deprecatedSizes = [\n 'small',\n 'medium',\n 'large',\n 'xlarge',\n 'xxlarge',\n 'xxxlarge',\n];\nexport const availableFontWeights = ['regular', 'medium', 'bold'];\nexport const availableHtmlTags = ['h1', 'h2', 'h3', 'h4', 'p', 'span', 'div'];\nexport const alignments = ['left', 'right', 'center'];\n\ninterface TextProps {\n size?: TextSize;\n fontWeight?: 'book' | 'regular' | 'medium' | 'bold';\n variant?: 'body' | 'title' | 'mainTitle';\n alignment?: 'left' | 'right' | 'center';\n color?: string;\n isInline?: boolean;\n isDimmed?: boolean;\n hasEllipsis?: boolean;\n noWrap?: boolean;\n ellipsisLines?: number;\n htmlTag?: 'h1' | 'h2' | 'h3' | 'h4' | 'p' | 'span' | 'div';\n children?: React.ReactNode;\n sizeMinMax?: string[];\n fontSetting?: 'tnum' | 'normal';\n /** @deprecated Usage of dclassName results in non-standard components */\n className?: string;\n}\n\ninterface TextWrapperProps extends TextProps {\n as?: string;\n}\n\nexport default Text;\n", "export const textIsDimmedDeprecated = `Lens: Text prop 'isDimmed' is deprecated, use color=\"bodyDimmed\" instead.`;\nexport const customStylesWarning = `Lens: don't apply custom styles to components, learn more: https://lens.loom.dev/guides/development-best-practices/the-risk-of-modifying-components-with-custom-styles.`;\nexport const distributeDeprecatedWarning = `Lens: Distribute component is deprecated. Use Arrange or Split.`;\nexport const layoutDeprecatedWarning = `Lens: Layout component is deprecated. Use Arrange or Split.`;\n", "import { colorsNames } from '../colors';\nimport { variants, alignments } from '../components/text/text';\nimport { pascalCaseToKebabCase } from '../utilities';\nimport { fontWeights, textSizes, shadows, radii, spaces } from '../variables';\n\nconst sides = ['top', 'bottom', 'left', 'right'];\n\nconst spacesWithZero = { 0: '0', ...spaces };\n\nconst spacesWithAutoAndZero = { 0: '0', auto: 'auto', ...spaces };\n\nexport const colorRules = colorsNames.map(colorsName => {\n return {\n selector: 'c',\n modifier: colorsName,\n declarations: [\n {\n property: 'color',\n value: `var(--lns-color-${colorsName})`,\n },\n ],\n };\n});\n\nexport const backgroundColorRules = colorsNames.map(colorsName => {\n return {\n selector: 'bgc',\n modifier: colorsName,\n declarations: [\n {\n property: 'background-color',\n value: `var(--lns-color-${colorsName})`,\n },\n ],\n };\n});\n\nexport const textSizeRules = Object.keys(textSizes).map(size => {\n return {\n selector: 'text',\n modifier: size,\n declarations: [\n {\n property: 'font-size',\n value: `var(--lns-fontSize-${size})`,\n },\n {\n property: 'line-height',\n value: `var(--lns-lineHeight-${size})`,\n },\n {\n property: 'letter-spacing',\n value: `var(--lns-letterSpacing-${size})`,\n },\n size.includes('heading-') || size.includes('xlarge')\n ? {\n property: 'font-weight',\n value: 'var(--lns-fontWeight-bold)',\n }\n : {\n property: 'font-weight',\n value: 'var(--lns-fontWeight-regular)',\n },\n ],\n };\n});\n\nexport const fontWeightRules = Object.keys(fontWeights).map(fontWeight => {\n return {\n selector: 'weight',\n modifier: fontWeight,\n declarations: [\n {\n property: 'font-weight',\n value: `var(--lns-fontWeight-${fontWeight})`,\n },\n ],\n };\n});\n\nexport const textVariantRules = Object.entries(variants).map(([key, value]) => {\n return {\n selector: 'text',\n modifier: key,\n declarations: [\n {\n property: 'font-size',\n value: `var(--lns-fontSize-${value.size})`,\n },\n {\n property: 'line-height',\n value: `var(--lns-lineHeight-${value.size})`,\n },\n {\n property: 'font-weight',\n value: `var(--lns-fontWeight-${value.fontWeight})`,\n },\n ],\n };\n});\n\nexport const textAlignmentRules = alignments.map(alignment => {\n return {\n selector: 'text',\n modifier: alignment,\n declarations: [\n {\n property: 'text-align',\n value: alignment,\n },\n ],\n };\n});\n\nexport const shadowRules = Object.keys(shadows).map(shadow => {\n return {\n selector: 'shadow',\n modifier: shadow,\n declarations: [\n {\n property: 'box-shadow',\n value: `var(--lns-shadow-${shadow})`,\n },\n ],\n };\n});\n\nexport const radiiRules = Object.keys(radii).map(radius => {\n return {\n selector: 'radius',\n modifier: radius,\n declarations: [\n {\n property: 'border-radius',\n value: `var(--lns-radius-${radius})`,\n },\n ],\n };\n});\n\nexport const getSpacingSelectors = (property, sides, spaces, shortSides) => {\n const result = [];\n\n sides.map(side => {\n const sideString = shortSides\n ? `${property.charAt(0)}${side.charAt(0)}`\n : side;\n\n Object.keys(spaces).map(space => {\n result.push({\n selector: sideString,\n property: `${property}${\n side && property ? `-${side}` : side ? side : ''\n }`,\n modifier: space,\n value:\n space === 'auto' || space === '0'\n ? space\n : `var(--lns-space-${space})`,\n });\n });\n });\n\n return result;\n};\n\nexport const marginRules = Object.values(\n getSpacingSelectors(\n 'margin',\n ['', ...sides],\n spacesWithAutoAndZero,\n 'shortSides'\n )\n).map(spaceSelector => {\n return {\n selector: spaceSelector.selector,\n modifier: spaceSelector.modifier,\n declarations: [\n {\n property: spaceSelector.property,\n value: spaceSelector.value,\n },\n ],\n };\n});\n\nexport const marginCrossRules = Object.values(\n getSpacingSelectors('margin', ['x', 'y'], spacesWithAutoAndZero, 'shortSides')\n).map(spaceSelector => {\n return {\n selector: spaceSelector.selector,\n modifier: spaceSelector.modifier,\n declarations: [\n {\n property:\n spaceSelector.property === 'margin-x' ? 'margin-left' : 'margin-top',\n value: spaceSelector.value,\n },\n {\n property:\n spaceSelector.property === 'margin-x'\n ? 'margin-right'\n : 'margin-bottom',\n value: spaceSelector.value,\n },\n ],\n };\n});\n\nexport const paddingRules = Object.values(\n getSpacingSelectors('padding', ['', ...sides], spacesWithZero, 'shortSides')\n).map(spaceSelector => {\n return {\n selector: spaceSelector.selector,\n modifier: spaceSelector.modifier,\n declarations: [\n {\n property: spaceSelector.property,\n value: spaceSelector.value,\n },\n ],\n };\n});\n\nexport const paddingCrossRules = Object.values(\n getSpacingSelectors('padding', ['x', 'y'], spacesWithZero, 'shortSides')\n).map(spaceSelector => {\n return {\n selector: spaceSelector.selector,\n modifier: spaceSelector.modifier,\n declarations: [\n {\n property:\n spaceSelector.property === 'padding-x'\n ? 'padding-left'\n : 'padding-top',\n value: spaceSelector.value,\n },\n {\n property:\n spaceSelector.property === 'padding-x'\n ? 'padding-right'\n : 'padding-bottom',\n value: spaceSelector.value,\n },\n ],\n };\n});\n\nexport const borderRules = ['', ...sides].map(side => {\n const selector =\n 'border' + side.replace(side.charAt(0), side.charAt(0).toUpperCase());\n\n const property = `border${side && `-${side}`}`;\n\n return {\n selector,\n declarations: [\n {\n property,\n value: `1px solid var(--lns-color-border)`,\n },\n ],\n };\n});\n\nconst displayOptions = [\n 'inline',\n 'block',\n 'flex',\n 'inlineBlock',\n 'inlineFlex',\n 'none',\n];\n\nexport const displayRules = displayOptions.map(displayOption => {\n return {\n selector: displayOption,\n declarations: [\n {\n property: 'display',\n value: pascalCaseToKebabCase(displayOption),\n },\n ],\n };\n});\n\nexport const flexWrapRules = [\n {\n selector: 'flexWrap',\n declarations: [\n {\n property: 'flex-wrap',\n value: 'wrap',\n },\n ],\n },\n];\n\nconst flexDirections = ['column', 'row'];\n\nexport const flexDirectionRules = flexDirections.map(flexDirection => {\n return {\n selector: 'flexDirection',\n modifier: flexDirection,\n declarations: [\n {\n property: 'flex-direction',\n value: flexDirection,\n },\n ],\n };\n});\n\nconst flexItemOptions = [\n 'stretch',\n 'center',\n 'baseline',\n 'flexStart',\n 'flexEnd',\n 'selfStart',\n 'selfEnd',\n];\n\nexport const flexItemRules = flexItemOptions.map(flexItemOption => {\n return {\n selector: 'items',\n modifier: flexItemOption,\n declarations: [\n {\n property: 'align-items',\n value: pascalCaseToKebabCase(flexItemOption),\n },\n ],\n };\n});\n\nconst justifyContentOptions = [\n 'flexStart',\n 'flexEnd',\n 'center',\n 'spaceBetween',\n 'spaceAround',\n 'spaceEvenly',\n];\n\nexport const JustifyContentRules = justifyContentOptions.map(\n justifyContentOption => {\n return {\n selector: 'justify',\n modifier: justifyContentOption,\n declarations: [\n {\n property: 'justify-content',\n value: pascalCaseToKebabCase(justifyContentOption),\n },\n ],\n };\n }\n);\n\nconst growOptions = ['0', '1'];\n\nexport const growRules = growOptions.map(growOption => {\n return {\n selector: 'grow',\n modifier: growOption,\n declarations: [\n {\n property: 'flex-grow',\n value: growOption,\n },\n ],\n };\n});\n\nconst shrinkOptions = ['0', '1'];\n\nexport const shrinkRules = shrinkOptions.map(shrinkOption => {\n return {\n selector: 'shrink',\n modifier: shrinkOption,\n declarations: [\n {\n property: 'flex-shrink',\n value: shrinkOption,\n },\n ],\n };\n});\n\nconst alignSelfOptions = [\n 'auto',\n 'flexStart',\n 'flexEnd',\n 'center',\n 'baseline',\n 'stretch',\n];\n\nexport const alignSelfRules = alignSelfOptions.map(alignSelfOption => {\n return {\n selector: 'self',\n modifier: alignSelfOption,\n declarations: [\n {\n property: 'align-self',\n value: pascalCaseToKebabCase(alignSelfOption),\n },\n ],\n };\n});\n\nconst overflowOptions = ['hidden', 'auto'];\n\nexport const overflowRules = overflowOptions.map(overflowOption => {\n return {\n selector: 'overflow',\n modifier: overflowOption,\n declarations: [\n {\n property: 'overflow',\n value: overflowOption,\n },\n ],\n };\n});\n\nconst positionOptions = ['relative', 'absolute', 'sticky', 'fixed'];\n\nexport const positionRules = positionOptions.map(positionOption => {\n return {\n selector: positionOption,\n declarations: [\n {\n property: 'position',\n value: positionOption,\n },\n ],\n };\n});\n\nexport const sidePositionRules = Object.values(\n getSpacingSelectors('', sides, spacesWithAutoAndZero)\n).map(spaceSelector => {\n return {\n selector: spaceSelector.selector,\n modifier: spaceSelector.modifier,\n declarations: [\n {\n property: spaceSelector.property,\n value: spaceSelector.value,\n },\n ],\n };\n});\n\nconst widthOptions = ['auto', 'full', '0'];\n\nexport const widthRules = widthOptions.map(widthOption => {\n return {\n selector: 'width',\n modifier: widthOption,\n declarations: [\n {\n property: 'width',\n value: widthOption === 'full' ? '100%' : widthOption,\n },\n ],\n };\n});\n\nexport const minWidthRules = [\n {\n selector: 'minWidth',\n modifier: '0',\n declarations: [\n {\n property: 'min-width',\n value: '0',\n },\n ],\n },\n];\n\nconst heightOptions = ['auto', 'full', '0'];\n\nexport const heightRules = heightOptions.map(heightOption => {\n return {\n selector: 'height',\n modifier: heightOption,\n declarations: [\n {\n property: 'height',\n value: heightOption === 'full' ? '100%' : heightOption,\n },\n ],\n };\n});\n\nexport const ellipsisRules = [\n {\n selector: 'ellipsis',\n declarations: [\n {\n property: 'overflow',\n value: 'hidden',\n },\n {\n property: 'text-overflow',\n value: 'ellipsis',\n },\n {\n property: 'white-space',\n value: 'nowrap',\n },\n ],\n },\n];\n\nexport const accessibilityRules = [\n {\n selector: 'srOnly',\n declarations: [\n { property: 'position', value: 'absolute' },\n { property: 'width', value: '1px' },\n { property: 'height', value: '1px' },\n { property: 'padding', value: '0' },\n { property: 'margin', value: '-1px' },\n { property: 'overflow', value: 'hidden' },\n { property: 'clip', value: 'rect(0, 0, 0, 0)' },\n { property: 'white-space', value: 'nowrap' },\n { property: 'border-width', value: '0' },\n ],\n },\n];\n", "import { breakpoints } from '../variables';\n\nimport {\n colorRules,\n shadowRules,\n radiiRules,\n backgroundColorRules,\n marginRules,\n marginCrossRules,\n paddingRules,\n paddingCrossRules,\n textSizeRules,\n fontWeightRules,\n textVariantRules,\n textAlignmentRules,\n borderRules,\n displayRules,\n flexWrapRules,\n flexDirectionRules,\n flexItemRules,\n JustifyContentRules,\n growRules,\n shrinkRules,\n alignSelfRules,\n overflowRules,\n positionRules,\n sidePositionRules,\n widthRules,\n minWidthRules,\n heightRules,\n ellipsisRules,\n accessibilityRules,\n} from './rules';\n\nconst separator = '\\\\:';\n\nconst allRules = [\n ...colorRules,\n ...shadowRules,\n ...radiiRules,\n ...backgroundColorRules,\n ...marginRules,\n ...marginCrossRules,\n ...paddingRules,\n ...paddingCrossRules,\n ...textSizeRules,\n ...fontWeightRules,\n ...textVariantRules,\n ...textAlignmentRules,\n ...borderRules,\n ...displayRules,\n ...flexWrapRules,\n ...flexDirectionRules,\n ...flexItemRules,\n ...JustifyContentRules,\n ...growRules,\n ...shrinkRules,\n ...alignSelfRules,\n ...overflowRules,\n ...positionRules,\n ...sidePositionRules,\n ...widthRules,\n ...minWidthRules,\n ...heightRules,\n ...ellipsisRules,\n ...accessibilityRules,\n];\n\nexport const objectToRuleset = (rules, prefix) => {\n const result = [];\n const prefixString = prefix ? `${prefix}-` : '';\n\n rules.map(rule => {\n const declarations = [];\n\n rule.declarations.map(declaration => {\n declarations.push(`${declaration.property}:${declaration.value}`);\n });\n\n const string = `.${prefixString}${rule.selector}${\n rule.modifier ? separator : ''\n }${rule.modifier ? rule.modifier : ''}{${declarations.join(';')}}`;\n\n result.push(string);\n });\n\n return result.join('');\n};\n\nexport const shortBreakpoints = {\n xs: breakpoints.xsmall,\n sm: breakpoints.small,\n md: breakpoints.medium,\n lg: breakpoints.large,\n};\n\nexport const cssUtilities = () => {\n const getRulesetsInMedia = () => {\n const result = [];\n\n result.push(`${objectToRuleset(allRules)}`);\n\n Object.entries(shortBreakpoints).map(([key, value]) => {\n result.push(\n `@media(min-width:${value}){${objectToRuleset(allRules, key)}}`\n );\n });\n\n return result.join('');\n };\n\n return getRulesetsInMedia();\n};\n", "import { hslaBaseColors, hslaColors, hslaGreys, themeColors } from '../colors';\n\nimport { u } from '../utilities';\nimport {\n fontWeights,\n fontSettings,\n radii,\n shadows,\n spaces,\n textSizes,\n unit,\n gradients,\n} from '../variables';\n\ntype VarsObject = Record<string, string | number>;\n\nexport const getCssVarsFromObject = (\n prefix: string,\n varsObject: VarsObject\n): VarsObject => {\n const resultObj = {};\n\n Object.entries(varsObject).forEach(([varName, varValue]) => {\n const namePrefix = prefix ? `${prefix}-` : '';\n const value = `--lns-${namePrefix + varName}`;\n\n resultObj[value] = varValue;\n });\n\n return resultObj;\n};\n\nconst getTextSizesObject = (): VarsObject => {\n const resultObj = {};\n\n Object.entries(textSizes).forEach(([textSizeKey, textSizeValue]) => {\n const fontSizesObj = {};\n const lineHeightsObj = {};\n const letterSpacingObj = {};\n const fontSizeValue = `fontSize-${textSizeKey}`;\n const lineHeightValue = `lineHeight-${textSizeKey}`;\n const letterSpacingValue = `letterSpacing-${textSizeKey}`;\n\n fontSizesObj[fontSizeValue] = u(textSizeValue.fontSize);\n fontSizesObj[lineHeightValue] = textSizeValue.lineHeight;\n fontSizesObj[letterSpacingValue] = textSizeValue.letterSpacing;\n\n Object.assign(resultObj, fontSizesObj, lineHeightsObj, letterSpacingObj);\n });\n\n return resultObj;\n};\n\nconst getSpacesObject = (): VarsObject => {\n const resultObj = {};\n\n Object.entries(spaces).forEach(([spaceName, spaceValue]) => {\n const value = `space-${spaceName}`;\n\n resultObj[value] = u(spaceValue);\n });\n\n return resultObj;\n};\n\nconst getColorsObject = (): VarsObject => {\n const colorsObject = {};\n\n Object.keys({ ...hslaBaseColors, ...hslaGreys }).forEach(name => {\n const value = name;\n\n colorsObject[value] =\n `hsla(${hslaColors[name].h},${hslaColors[name].s}%,${hslaColors[name].l}%,${hslaColors[name].a})`;\n });\n\n return colorsObject;\n};\n\nconst getThemeColorsObject = (): VarsObject => {\n const reducer = (colors, prefix) =>\n Object.keys(colors).reduce((accumulator, name) => {\n const color = colors[name];\n const value = `${prefix}-color-${name}`;\n\n accumulator[value] = color.ads\n ? `var(${color.ads}, hsla(${color.h},${color.s}%,${color.l}%,${color.a}))`\n : `hsla(${color.h},${color.s}%,${color.l}%,${color.a})`;\n\n return accumulator;\n }, {});\n\n return {\n ...reducer(themeColors.light, 'themeLight'),\n ...reducer(themeColors.dark, 'themeDark'),\n };\n};\n\nexport const unitVariables = getCssVarsFromObject(undefined, {\n unit: `${unit / 16}rem`,\n});\n\nexport const fontWeightVariables = getCssVarsFromObject(\n 'fontWeight',\n fontWeights\n);\n\nexport const fontSettingVariables = getCssVarsFromObject(\n 'fontSetting',\n fontSettings\n);\n\nexport const textSizeVariables = getCssVarsFromObject(\n undefined,\n getTextSizesObject()\n);\n\nexport const radiusVariables = getCssVarsFromObject('radius', radii);\n\nexport const shadowVariables = getCssVarsFromObject('shadow', shadows);\n\nexport const spaceVariables = getCssVarsFromObject(\n undefined,\n getSpacesObject()\n);\n\nexport const formFieldVariables = getCssVarsFromObject(undefined, {\n formFieldBorderWidth: '1px',\n formFieldBorderWidthFocus: '2px',\n formFieldHeight: u(4.5),\n formFieldRadius: 'var(--lns-radius-175)',\n formFieldHorizontalPadding: u(2),\n formFieldBorderShadow: `\n inset 0 0 0 var(--lns-formFieldBorderWidth) var(--lns-color-formFieldBorder)\n `,\n formFieldBorderShadowFocus: `\n inset 0 0 0 var(--lns-formFieldBorderWidthFocus) var(--lns-color-blurple),\n 0 0 0 var(--lns-formFieldBorderWidthFocus) var(--lns-color-focusRing)\n `,\n formFieldBorderShadowError: `\n inset 0 0 0 var(--lns-formFieldBorderWidthFocus) var(--lns-color-danger),\n 0 0 0 var(--lns-formFieldBorderWidthFocus) var(--lns-color-orangeLight)\n `,\n});\n\nconst colorVariables = getCssVarsFromObject('color', getColorsObject());\n\nconst themeColorVariables = getCssVarsFromObject(\n undefined,\n getThemeColorsObject()\n);\n\nexport const gradientVariables = getCssVarsFromObject('gradient', gradients);\n\nconst sizingVariables = [\n unitVariables,\n textSizeVariables,\n radiusVariables,\n shadowVariables,\n spaceVariables,\n formFieldVariables,\n];\n\nexport const getSizingVariablesCssVarsObject = (): VarsObject => {\n return Object.assign({}, ...sizingVariables);\n};\n\nexport const getVariablesCssVarsObject = (): VarsObject => {\n return Object.assign(\n {},\n fontWeightVariables,\n ...sizingVariables,\n fontSettingVariables\n );\n};\n\nexport const getColorsCssVarsObject = (): VarsObject => {\n return {\n ...colorVariables,\n ...themeColorVariables,\n ...gradientVariables,\n };\n};\n\nconst assignLightThemeColors = () => {\n return Object.keys(themeColors.light).map(\n color => `--lns-color-${color}: var(--lns-themeLight-color-${color});`\n );\n};\nconst assignDarkThemeColors = () => {\n return Object.keys(themeColors.dark).map(\n color => `--lns-color-${color}: var(--lns-themeDark-color-${color});`\n );\n};\n\nexport const getThemeStylesString = (customRootElement = ':root') => {\n const rootElement = customRootElement || ':root';\n\n return `\n ${rootElement},\n .theme-light,\n [data-lens-theme=\"light\"] {\n ${assignLightThemeColors().join('')}\n }\n\n .theme-dark,\n [data-lens-theme=\"dark\"] {\n ${assignDarkThemeColors().join('')}\n }\n `;\n};\n\nexport const getThemeStyles = () => {\n const style = document.createElement('style');\n\n style.innerHTML = getThemeStylesString();\n document.head.appendChild(style);\n};\n\nexport const getSizingCssVarsDeclarations = () => {\n const result = Object.entries(getSizingVariablesCssVarsObject()).map(\n cssVar => `${cssVar[0]}:${cssVar[1]};`\n );\n\n return result.join('');\n};\n\nexport const getAllCssVarsString = customRootElement => {\n const result = [];\n const rootElement = customRootElement || ':root';\n\n Object.entries(getVariablesCssVarsObject()).forEach(cssVar => {\n result.push(`${cssVar[0]}:${cssVar[1]};`);\n });\n\n Object.entries(getColorsCssVarsObject()).forEach(cssVar => {\n result.push(`${cssVar[0]}:${cssVar[1]};`);\n });\n\n return `\n ${rootElement} {\n ${result.join('')}\n }\n `;\n};\n", "import styled from '@emotion/styled';\nimport React from 'react';\n\nimport { LensSpanProps } from '../../types';\nimport { getRadius, getSizeValue, u } from '../../utilities';\n\nexport type AvatarColor = 'orange' | 'blue' | 'yellow' | 'teal';\n\nconst getColorMapping = (color: AvatarColor) => {\n switch (color) {\n case 'orange':\n return {\n background: 'orangeLight',\n text: 'dangerHover',\n };\n case 'blue':\n return {\n background: 'blueLight',\n text: 'blueDark',\n };\n case 'yellow':\n return {\n background: 'yellowLight',\n text: '#9E4C00',\n };\n case 'teal':\n return {\n background: 'tealLight',\n text: 'tealDark',\n };\n default:\n return {\n background: 'orangeLight',\n text: 'dangerHover',\n };\n }\n};\n\nconst getLetterSize = wrapperSize => `calc(${wrapperSize} / 2)`;\n\nconst getAvatarSize = avatarSize => {\n let width;\n let height;\n\n if (avatarSize === 'medium') {\n width = u(4);\n height = u(4);\n } else if (avatarSize === 'large') {\n width = u(7);\n height = u(7);\n } else {\n const sizeValue = getSizeValue(avatarSize);\n\n width = sizeValue;\n height = sizeValue;\n }\n\n const fontSize = getLetterSize(width);\n\n return {\n width,\n height,\n fontSize,\n };\n};\nconst AvatarWrapper = styled.span<\n AvatarWrapperProps & { backgroundColor?: string; color?: string }\n>`\n display: block;\n color: ${props =>\n props.color\n ? props.color.startsWith('#')\n ? props.color\n : `var(--lns-color-${props.color})`\n : 'var(--lns-color-blueLight)'};\n background-color: var(--lns-color-background);\n ${getRadius('full')};\n overflow: hidden;\n display: flex;\n align-items: center;\n justify-content: center;\n line-height: 1;\n font-weight: var(--lns-fontWeight-bold);\n width: ${props => {\n const { width } = getAvatarSize(props.size);\n\n return width;\n }};\n height: ${props => {\n const { height } = getAvatarSize(props.size);\n\n return height;\n }};\n font-size: ${props => {\n const { fontSize } = getAvatarSize(props.size);\n\n return fontSize;\n }};\n position: relative;\n z-index: 0;\n\n &:after {\n content: '';\n width: 100%;\n height: 100%;\n position: absolute;\n left: 0;\n top: 0;\n z-index: -1;\n background-color: ${props =>\n props.hasBackgroundColor &&\n (props.backgroundColor\n ? `var(--lns-color-${props.backgroundColor})`\n : 'var(--lns-color-orange)')};\n }\n`;\n\nconst AvatarImage = styled.img<AvatarProps>`\n max-width: 100%;\n width: ${props => {\n const { width } = getAvatarSize(props.size);\n\n return width;\n }};\n height: ${props => {\n const { height } = getAvatarSize(props.size);\n\n return height;\n }};\n font-size: ${props => {\n const { fontSize } = getAvatarSize(props.size);\n\n return fontSize;\n }};\n`;\n\nconst Avatar = ({\n altText = '',\n size = 4,\n letter,\n imageSrc,\n children,\n themeColor = 'blue',\n ...props\n}: AvatarProps &\n React.ComponentProps<typeof AvatarWrapper> &\n Omit<\n LensSpanProps,\n keyof AvatarProps & React.ComponentProps<typeof AvatarWrapper>\n >) => {\n const getContent = () => {\n if (children) {\n return children;\n }\n\n if (imageSrc) {\n const height = getAvatarSize(size).height;\n const width = getAvatarSize(size).width;\n\n return (\n <AvatarImage\n size={size}\n alt={altText}\n src={imageSrc}\n height={height}\n width={width}\n />\n );\n }\n\n if (letter) {\n if (altText) {\n return <span aria-label={altText}>{letter}</span>;\n }\n\n return letter;\n }\n };\n\n const hasBackgroundColor = letter && !imageSrc && !children;\n const colorMapping = getColorMapping(themeColor || 'blue');\n\n return (\n <AvatarWrapper\n hasBackgroundColor={hasBackgroundColor}\n size={size}\n backgroundColor={colorMapping.background}\n color={colorMapping.text}\n {...props}\n >\n {getContent()}\n </AvatarWrapper>\n );\n};\n\ntype AvatarProps = {\n altText?: string;\n letter?: string;\n imageSrc?: string;\n size?: string | number;\n children?: React.ReactNode;\n height?: number;\n width?: number;\n hasBackgroundColor?: boolean;\n backgroundColor?: string;\n themeColor?: AvatarColor;\n};\n\ntype AvatarWrapperProps = {\n size?: string | number;\n hasBackgroundColor?: boolean;\n themeColor?: AvatarColor;\n};\n\nexport default Avatar;\n", "import { Global, css } from '@emotion/react';\n\nimport React from 'react';\n\nimport { cssUtilities } from '../../css-utilities';\nimport { getAllCssVarsString, getThemeStylesString } from '../../css-variables';\nimport { getColorValue, getTextSize } from '../../utilities';\n\nconst buildGlobalStylesheet = (\n rootElement = ':root',\n bodyElement = 'body',\n documentElement = 'html'\n) => {\n return `\n ${rootElement} {\n font-size: 100%;\n }\n ${bodyElement} {\n --lns-fontFamily-body: \"Atlassian Sans\", ui-sans-serif, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Ubuntu, system-ui, \"Helvetica Neue\", sans-serif;\n --lns-fontFamily-heading: \"Atlassian Sans\", ui-sans-serif, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Ubuntu, system-ui, \"Helvetica Neue\", sans-serif;\n --lns-fontFamily-code: \"Atlassian Mono\", ui-monospace, Menlo, \"Segoe UI Mono\", \"Ubuntu Mono\", monospace;\n\n font-family: var(--lns-fontFamily-body);\n color: var(--ds-text, ${getColorValue('body')});\n ${getTextSize('body-md')};\n }\n\n ${bodyElement} *,\n ${bodyElement} *:before,\n ${bodyElement} *:after {\n box-sizing: border-box;\n }\n\n ${bodyElement} * {\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n }\n\n ${getThemeStylesString(rootElement)}\n\n ${getAllCssVarsString(rootElement)}\n\n ${cssUtilities()}\n\n ${documentElement}[data-brand-color=\"blue\"] {\n --lns-color-blurpleLight: #E9F2FE;\n --lns-color-blurpleMedium: #CFE1FD;\n --lns-color-blurple: #1868DB;\n --lns-color-blurpleDark: #1558BC;\n --lns-color-blurpleStrong: #123263;\n\n --lns-color-backdropTwilight: hsla(216, 69%, 23%, 0.8);\n --lns-color-highlight: hsla(215, 80%, 48%, 0.15);\n\n --lns-gradient-ai-primary: conic-gradient(from 270deg, #0469FF 90deg, #BF63F3 180deg, #FFA900 270deg, #0065FF 360deg);\n --lns-gradient-ai-secondary: radial-gradient(138.41% 100% at 100% 100%, #E9F2FE 0%, #FFF 100%);\n }\n\n ${documentElement}[data-color-mode=\"light\"][data-brand-color=\"blue\"],\n ${documentElement}[data-brand-color=\"blue\"] [data-lens-theme=\"light\"],\n ${documentElement}[data-brand-color=\"blue\"] .brand-theme-light {\n --lns-themeLight-color-primary: #1868DB;\n --lns-themeLight-color-primaryHover: #1558BC;\n --lns-themeLight-color-primaryActive: #123263;\n --lns-themeLight-color-focusRing: #4688EC;\n }\n\n ${documentElement}[data-color-mode=\"dark\"][data-brand-color=\"blue\"],\n ${documentElement}[data-brand-color=\"blue\"] [data-lens-theme=\"dark\"],\n ${documentElement}[data-brand-color=\"blue\"] .brand-theme-dark {\n --lns-themeDark-color-primary: #669DF1;\n --lns-themeDark-color-primaryHover: #8FB8F6;\n --lns-themeDark-color-primaryActive: #CFE1FD;\n --lns-themeDark-color-focusRing: #8FB8F6;\n }\n `;\n};\n\nconst BaseStyles = () => <Global styles={css(buildGlobalStylesheet())} />;\n\nexport default BaseStyles;\nexport { BaseStyles, buildGlobalStylesheet };\n", "import { css } from '@emotion/react';\nimport styled from '@emotion/styled';\nimport React, { useCallback } from 'react';\n\nimport traceUFOPress from '@atlaskit/react-ufo/trace-press';\n\nimport { LensButtonProps } from '../../types';\nimport {\n getColorValue,\n getFocusRing,\n getOffsetFocusRing,\n getFontWeight,\n getSize,\n getTextSize,\n u,\n} from '../../utilities';\n\nimport Icon from '../icon/icon';\nimport Loader from '../loader/loader';\nimport { shadows } from 'src/variables';\n\nconst sizesStyles = {\n small: {\n height: u(4),\n textSize: 'small',\n iconSize: 2,\n xSpace: u(1.5),\n radius: 'var(--lns-radius-150)',\n },\n medium: {\n height: u(4.5),\n textSize: 'medium',\n iconSize: 3,\n xSpace: u(2),\n radius: 'var(--lns-radius-175)',\n },\n large: {\n height: u(7),\n textSize: 'large',\n iconSize: 4,\n xSpace: u(2.5),\n radius: 'var(--lns-radius-250)',\n },\n};\n\nconst hasLoaderStyles = props => css`\n ${props.hasLoader && `display: none`};\n`;\n\nconst variantStyles = {\n neutral: {\n color: getColorValue('body'),\n background: 'transparent',\n borderColor: getColorValue('buttonBorder'),\n hover: getColorValue('backgroundHover'),\n active: getColorValue('backgroundActive'),\n floatingBackground: getColorValue('overlay'),\n floatingHover: getColorValue('overlayHover'),\n floatingActive: getColorValue('overlayActive'),\n },\n neutralSecondary: {\n color: getColorValue('body'),\n background: getColorValue('backgroundNeutral'),\n borderColor: null,\n hover: getColorValue('backgroundNeutralHover'),\n active: getColorValue('backgroundNeutralActive'),\n },\n primary: {\n color: getColorValue('white'),\n background: getColorValue('blurple'),\n borderColor: null,\n hover: getColorValue('primaryHover'),\n active: getColorValue('primaryActive'),\n },\n secondary: {\n color: getColorValue('primary'),\n background: getColorValue('highlight'),\n borderColor: null,\n hover: getColorValue('blurpleMedium'),\n active: null,\n },\n record: {\n color: getColorValue('white'),\n background: getColorValue('record'),\n borderColor: null,\n hover: getColorValue('recordHover'),\n active: getColorValue('recordActive'),\n },\n upgrade: {\n color: getColorValue('body'),\n background: getColorValue('upgrade'),\n borderColor: null,\n hover: getColorValue('upgradeHover'),\n active: getColorValue('upgradeActive'),\n focusRing: getFocusRing(),\n },\n danger: {\n color: getColorValue('bodyInverse'),\n background: getColorValue('danger'),\n borderColor: null,\n hover: getColorValue('dangerHover'),\n active: getColorValue('dangerActive'),\n },\n ai: {\n color: getColorValue('white'),\n background: getColorValue('ai-primary'),\n borderColor: null,\n hover: null,\n active: null,\n },\n};\n\nconst statusStyles = props => ({\n enabled: css`\n cursor: pointer;\n `,\n disabled: css`\n ${props.ariaDisabled && `aria-disabled: true`};\n pointer-events: none;\n background-color: ${getColorValue('disabledBackground')};\n color: ${getColorValue('disabledContent')};\n border: none;\n `,\n});\n\nconst iconGap = u(1);\n\nconst ButtonWrapper = styled.button<ButtonWrapperProps>`\n appearance: none;\n padding: 0\n ${props => (props.hasChildren ? sizesStyles[props.size].xSpace : 0)};\n font: inherit;\n text-decoration: none;\n transition:\n 0.6s background,\n 0.6s border-color;\n align-items: center;\n justify-content: center;\n vertical-align: middle;\n white-space: nowrap;\n ${getFontWeight('bold')};\n border-radius: ${props => sizesStyles[props.size].radius};\n ${props =>\n props.hasFullWidth ? 'display: flex; width: 100%' : 'display: inline-flex'};\n height: ${props => sizesStyles[props.size].height};\n height: ${props => sizesStyles[props.size].height};\n min-width: ${props => sizesStyles[props.size].height};\n ${props => getTextSize(sizesStyles[props.size].textSize)};\n ${props => props.isFloating && `box-shadow: ${shadows.medium}`};\n ${props =>\n props.disabled\n ? statusStyles(props).disabled\n : statusStyles(props).enabled};\n ${props =>\n !props.disabled &&\n `\n border: ${\n variantStyles[props.variant].borderColor\n ? `1px solid ${variantStyles[props.variant].borderColor}`\n : 'none'\n };\n background: ${\n props.isFloating && props.variant === 'neutral'\n ? variantStyles[props.variant].floatingBackground\n : variantStyles[props.variant].background\n };\n background-position: left;\n background-size: 125%;\n color: ${variantStyles[props.variant].color};\n `};\n\n &:hover {\n transition:\n 0.3s background,\n 0.3s border-color;\n background: ${props =>\n props.isFloating && props.variant === 'neutral'\n ? variantStyles[props.variant].floatingHover\n : variantStyles[props.variant].hover};\n background-position: 75% center;\n }\n\n &:active {\n transition:\n 0s background,\n 0s border-color;\n background: ${props =>\n props.isFloating && props.variant === 'neutral'\n ? variantStyles[props.variant].floatingActive\n : variantStyles[props.variant].active};\n background-position: right;\n }\n\n &:focus-visible {\n ${getOffsetFocusRing()};\n }\n\n &::-moz-focus-inner {\n border: 0;\n }\n`;\n\nconst IconSection = styled.span<{\n paddingLeft: string;\n paddingRight: string;\n hasLoader: boolean;\n}>`\n ${props => getSize('padding-left', props.paddingLeft)};\n ${props => getSize('padding-right', props.paddingRight)};\n ${hasLoaderStyles};\n`;\n\nconst LogoImage = styled.img<{\n size: 'small' | 'medium' | 'large';\n hasSpacing: boolean;\n hasLoader: boolean;\n}>`\n max-width: 1.45em;\n max-height: 1.45em;\n height: ${props => sizesStyles[props.size].height};\n width: ${props => sizesStyles[props.size].height};\n ${props => props.hasSpacing && `margin-right: 0.57em`};\n ${hasLoaderStyles};\n`;\n\nconst LoaderSection = styled.span`\n position: relative;\n display: flex;\n align-items: center;\n`;\n\nconst ChildrenSection = styled.span<{ hasLoader: boolean }>`\n ${hasLoaderStyles};\n`;\n\nconst Button = ({\n size = 'medium',\n children,\n variant = 'neutral',\n hasFullWidth,\n icon,\n iconPosition = 'left',\n iconBefore,\n iconAfter,\n logoSrc,\n hasLoader,\n isDisabled,\n ariaDisabled,\n htmlTag = 'button',\n interactionName,\n onClick,\n refHandler,\n ...props\n}: ButtonProps &\n React.ComponentProps<typeof ButtonWrapper> &\n Omit<\n LensButtonProps,\n keyof ButtonProps & React.ComponentProps<typeof ButtonWrapper>\n >) => {\n const legacyIconLeft = icon && iconPosition === 'left' ? icon : null;\n const iconBeforeElement =\n iconBefore || legacyIconLeft ? (\n <IconSection\n hasLoader={hasLoader}\n paddingLeft=\"0\"\n paddingRight={children ? iconGap : '0'}\n >\n <Icon\n icon={iconBefore || legacyIconLeft}\n color=\"currentColor\"\n size={sizesStyles[size].iconSize}\n />\n </IconSection>\n ) : null;\n const legacyIconRight = icon && iconPosition === 'right' ? icon : null;\n const iconAfterElement =\n iconAfter || legacyIconRight ? (\n <IconSection\n hasLoader={hasLoader}\n paddingLeft={children ? iconGap : '0'}\n paddingRight=\"unset\"\n >\n <Icon\n icon={legacyIconRight || iconAfter}\n color=\"currentColor\"\n size={sizesStyles[size].iconSize}\n />\n </IconSection>\n ) : null;\n\n const onClickWithPressTracing = useCallback(\n (event: React.MouseEvent<HTMLButtonElement>) => {\n if (interactionName) {\n traceUFOPress(interactionName);\n }\n onClick?.(event);\n },\n [onClick, interactionName]\n );\n\n return (\n <ButtonWrapper\n size={size}\n variant={variant}\n hasFullWidth={hasFullWidth}\n icon={icon}\n iconPosition={iconPosition}\n logoSrc={logoSrc}\n disabled={isDisabled}\n ariaDisabled={ariaDisabled}\n as={htmlTag}\n hasChildren={children}\n ref={ref => refHandler && refHandler(ref)}\n {...props}\n onClick={\n interactionName === undefined ? onClick : onClickWithPressTracing\n }\n >\n {hasLoader && (\n <LoaderSection>\n <Loader color=\"currentColor\" />\n </LoaderSection>\n )}\n {iconBeforeElement}\n {logoSrc && (\n <LogoImage\n // Assumes image is only referencing information written within the button.\n alt=\"\"\n hasSpacing={Boolean(children)}\n src={logoSrc}\n size={size}\n // Assumes all images are 1:1 aspectRatio\n height={sizesStyles[size].height}\n width={sizesStyles[size].height}\n hasLoader={hasLoader}\n />\n )}\n <ChildrenSection hasLoader={hasLoader}>{children}</ChildrenSection>\n {iconAfterElement}\n </ButtonWrapper>\n );\n};\n\ntype Variant =\n | 'neutral'\n | 'neutralSecondary'\n | 'primary'\n | 'secondary'\n | 'record'\n | 'upgrade'\n | 'danger'\n | 'ai';\n\ninterface ButtonProps {\n size?: 'small' | 'medium' | 'large';\n variant?: Variant;\n children?: React.ReactNode;\n isDisabled?: boolean;\n ariaDisabled?: boolean;\n hasFullWidth?: boolean;\n /** @deprecated Use iconBefore or iconAfter instead */\n icon?: React.ReactNode;\n /** @deprecated Use iconBefore or iconAfter instead */\n iconPosition?: 'left' | 'right';\n iconBefore?: React.ReactNode;\n iconAfter?: React.ReactNode;\n logoSrc?: string;\n onClick?: React.MouseEventHandler<HTMLButtonElement>;\n hasLoader?: boolean;\n isFloating?: boolean;\n htmlTag?: 'button' | 'a';\n href?: string;\n download?: string;\n target?: string;\n type?: string;\n refHandler?: (ref: HTMLButtonElement) => void;\n /** Used to enable press tracing. See more at https://developer.atlassian.com/platform/ufo/react-ufo/react-ufo/press-interactions/#implementation */\n interactionName?: string;\n /** @deprecated Usage of className results in non-standard components */\n className?: string;\n /** @deprecated Usage of style results in non-standard components */\n style?: any;\n}\n\ninterface ButtonWrapperProps {\n hasNoPaddingRight?: boolean;\n hasNoPaddingLeft?: boolean;\n size?: 'small' | 'medium' | 'large';\n variant?: Variant;\n hasFullWidth?: boolean;\n icon?: React.ReactNode;\n iconPosition?: 'left' | 'right';\n iconBefore?: React.ReactNode;\n iconAfter?: React.ReactNode;\n logoSrc?: string;\n as?: string;\n disabled?: boolean;\n ariaDisabled?: boolean;\n buttonPadding?: number | string;\n hasChildren?: React.ReactNode;\n isFloating?: boolean;\n}\n\nexport const availableSizes = Object.keys(sizesStyles);\nexport const availableVariants = Object.keys(variantStyles);\nexport const availableHtmlTags = ['button', 'a'];\nexport const availableIconPositions = ['left', 'right'];\n\nexport default Button;\n", "import styled from '@emotion/styled';\nimport React from 'react';\n\nimport { LensSpanProps } from '../../types';\nimport { getColorValue, getSize, SizeProp } from '../../utilities';\n\nconst defaultIconSize = 3;\n\nconst IconWrapper = styled.span<IconProps>`\n display: block;\n color: ${props => getColorValue(props.color)};\n\n & > svg,\n & > img {\n display: block;\n ${props => getSize('width', props.size)};\n ${props => getSize('height', props.size)};\n }\n\n // TODO: remove data-testid once all icons are using ADS\n [data-testid='ads-refreshed-icon'] {\n display: block;\n ${props => getSize('width', props.size)};\n ${props => getSize('height', props.size)};\n\n svg {\n padding: 8%;\n height: 100%;\n width: 100%;\n }\n }\n`;\n\ntype IconProps = {\n size?: SizeProp;\n altText?: string;\n icon?: React.ReactNode;\n color?: string;\n};\n\nconst Icon = ({\n altText,\n icon,\n color = 'body',\n size = defaultIconSize,\n ...props\n}: IconProps &\n React.ComponentProps<typeof IconWrapper> &\n Omit<\n LensSpanProps,\n keyof IconProps & React.ComponentProps<typeof IconWrapper>\n >) => {\n const ref = React.useRef(null);\n\n return (\n <IconWrapper\n ref={ref}\n aria-label={altText}\n color={color}\n size={size}\n {...props}\n >\n {icon}\n </IconWrapper>\n );\n};\n\nexport default Icon;\n", "import { keyframes } from '@emotion/react';\nimport styled from '@emotion/styled';\nimport React from 'react';\n\nimport { LensSpanProps } from '../../types';\nimport { getColorValue } from '../../utilities';\n\nconst speed = 1;\nconst dotsAmount = 8;\n\nconst sizes = {\n small: {\n totalSize: 18,\n },\n medium: {\n totalSize: 24,\n },\n large: {\n totalSize: 48,\n },\n};\n\nconst getDotSize = props => {\n return sizes[props.size].totalSize / 6;\n};\n\nconst getTotalSize = props => {\n return sizes[props.size].totalSize;\n};\n\nconst dotScale = keyframes`\n 50% {\n transform: scale(1);\n }\n`;\n\nconst LoaderWrapper = styled.span<LoaderWrapperProps>`\n display: inline-block;\n vertical-align: middle;\n height: ${props => getTotalSize(props)}px;\n width: ${props => getTotalSize(props)}px;\n`;\n\nconst Dots = styled.span`\n display: grid;\n grid-template-areas: 'stack';\n height: 100%;\n width: 100%;\n`;\n\nconst DotWrapper = styled.span<DotProps>`\n grid-area: stack;\n place-self: center;\n transform: rotate(${props => props.position * (360 / dotsAmount)}deg)\n translateY(${props => getTotalSize(props) / 2 - getDotSize(props) / 2}px);\n\n &:after {\n content: '';\n height: ${props => getDotSize(props)}px;\n width: ${props => getDotSize(props)}px;\n border-radius: ${props => getDotSize(props)}px;\n background-color: ${props => getColorValue(props.color)};\n display: block;\n transform: scale(0.65);\n animation: ${dotScale} ${speed}s\n ${props => (props.position * speed) / dotsAmount}s ease-in-out infinite;\n }\n`;\n\nconst Dot = ({ position, color, size }: DotProps) => (\n <DotWrapper color={color} position={position} size={size} />\n);\n\nconst Loader = ({\n color = 'body',\n size = 'medium',\n ...props\n}: LoaderProps &\n React.ComponentProps<typeof LoaderWrapper> &\n Omit<\n LensSpanProps,\n keyof LoaderProps & React.ComponentProps<typeof LoaderWrapper>\n >) => {\n let i;\n const dotsList = [];\n\n for (i = 0; i < dotsAmount; i++) {\n dotsList.push(<Dot color={color} position={i} size={size} key={i} />);\n }\n\n return (\n <LoaderWrapper size={size} {...props}>\n <Dots>{dotsList}</Dots>\n </LoaderWrapper>\n );\n};\n\nexport const availableSizes = Object.keys(sizes);\n\ntype LoaderProps = {\n color?: string;\n size?: 'small' | 'medium' | 'large';\n};\n\ntype LoaderWrapperProps = {\n size?: string;\n};\n\ntype DotProps = {\n position?: number;\n color?: string;\n size?: string;\n};\n\nexport default Loader;\n", "import styled from '@emotion/styled';\nimport React from 'react';\n\nimport { LensDivProps, ResponsiveType } from '../../types';\nimport { getSize } from '../../utilities';\n\nconst SpacerWrapper = styled.div<SpacerProps>`\n display: ${props => (props.isInline ? 'inline-block' : 'block')};\n vertical-align: middle;\n ${props => getSize('padding', props.all)};\n ${props => getSize('padding-top', props.top)};\n ${props => getSize('padding-right', props.right)};\n ${props => getSize('padding-bottom', props.bottom)};\n ${props => getSize('padding-left', props.left)};\n`;\n\nconst Spacer = ({\n children,\n all,\n y,\n x,\n top,\n right,\n bottom,\n left,\n isInline,\n ...props\n}: SpacerProps &\n React.ComponentProps<typeof SpacerWrapper> &\n Omit<\n LensDivProps,\n keyof SpacerProps & React.ComponentProps<typeof SpacerWrapper>\n >) => (\n <SpacerWrapper\n all={all}\n top={y || top}\n bottom={y || bottom}\n right={x || right}\n left={x || left}\n isInline={isInline}\n {...props}\n >\n {children}\n </SpacerWrapper>\n);\n\ntype SpacerProps = {\n all?: ResponsiveType<string | number>;\n y?: ResponsiveType<string | number>;\n x?: ResponsiveType<string | number>;\n left?: ResponsiveType<string | number>;\n right?: ResponsiveType<string | number>;\n top?: ResponsiveType<string | number>;\n bottom?: ResponsiveType<string | number>;\n isInline?: boolean;\n children?: React.ReactNode;\n};\n\nexport default Spacer;\n", "import styled from '@emotion/styled';\nimport React, { forwardRef } from 'react';\n\nimport { getColorValue, getTextSize, u } from '../../utilities';\n\nimport Align from '../align/align';\nimport Container from '../container/container';\nimport Icon from '../icon/icon';\n\ntype SizesStylesProps = {\n [key: string]: {\n height: string;\n width: string;\n iconSize: number;\n padding: string | number;\n withIconPadding: string | number;\n passwordAdditionalPadding: string | number;\n textSize: string;\n radius: string;\n };\n};\n\nconst sizesStyles: SizesStylesProps = {\n small: {\n height: u(4),\n width: u(5),\n iconSize: 2,\n padding: u(1.75),\n withIconPadding: u(4.5),\n passwordAdditionalPadding: u(0.5),\n textSize: 'small',\n radius: 'var(--lns-radius-150)',\n },\n medium: {\n height: 'var(--lns-formFieldHeight)',\n width: u(6),\n iconSize: 3,\n padding: 'var(--lns-formFieldHorizontalPadding)',\n withIconPadding: u(5.5),\n passwordAdditionalPadding: u(0.5),\n textSize: 'medium',\n radius: 'var(--lns-radius-175)',\n },\n large: {\n height: u(7),\n width: u(6),\n iconSize: 3,\n padding: 'var(--lns-formFieldHorizontalPadding)',\n withIconPadding: u(5.5),\n passwordAdditionalPadding: u(0.5),\n textSize: 'large',\n radius: 'var(--lns-radius-250)',\n },\n};\n\nconst inputRightPadding = (\n props: InputFieldProps & Pick<TextInputProps, 'type'>\n): string | number => {\n let padding = props.addOn\n ? sizesStyles[props.inputSize].withIconPadding\n : sizesStyles[props.inputSize].padding;\n\n // Allow additional space for safari & other password filling icons to not overlap with addon\n if (props.type === 'password') {\n padding = `calc(${\n sizesStyles[props.inputSize].passwordAdditionalPadding\n } + ${padding})`;\n }\n\n return padding;\n};\n\nconst InputField = styled.input<InputFieldProps & Pick<TextInputProps, 'type'>>`\n -webkit-appearance: none;\n font-family: inherit;\n width: 100%;\n height: ${props => sizesStyles[props.inputSize].height};\n border: none;\n color: inherit;\n background-color: ${getColorValue('formFieldBackground')};\n transition: 0.3s box-shadow;\n padding-top: 0;\n padding-bottom: 0;\n padding-left: ${props =>\n props.icon\n ? sizesStyles[props.inputSize].withIconPadding\n : sizesStyles[props.inputSize].padding};\n padding-right: ${props => inputRightPadding(props)};\n border-radius: ${props => sizesStyles[props.inputSize].radius};\n box-shadow: inset 0 0 0\n ${props =>\n props.hasError\n ? 'var(--lns-formFieldBorderWidthFocus) var(--lns-color-danger)'\n : 'var(--lns-formFieldBorderWidth) var(--lns-color-formFieldBorder)'};\n\n ${props => getTextSize(sizesStyles[props.inputSize].textSize)};\n\n &:hover {\n box-shadow: inset 0 0 0 var(--lns-formFieldBorderWidthFocus)\n var(--lns-color-blurple);\n }\n\n &:focus {\n outline: 1px solid transparent;\n box-shadow: var(--lns-formFieldBorderShadowFocus);\n }\n\n &:disabled {\n color: ${getColorValue('disabledContent')};\n background-color: ${getColorValue('disabledBackground')};\n }\n\n &:disabled:hover {\n box-shadow: inset 0 0 0 var(--lns-formFieldBorderWidth)\n var(--lns-color-formFieldBorder);\n }\n\n &::placeholder {\n color: ${getColorValue('bodyDimmed')};\n }\n`;\n\nconst InputFieldWrapper = styled.div`\n position: relative;\n width: 100%;\n`;\n\nconst IconSection = styled.div<IconSectionProps>`\n position: absolute;\n pointer-events: none;\n width: ${props => sizesStyles[props.size].width};\n // Width isn't equal to iconPadding because we want more space on the left than the right\n height: 100%;\n display: flex;\n align-items: center;\n justify-content: center;\n`;\n\nconst Image = styled.img<Pick<TextInputProps, 'isDisabled'>>`\n height: 100%;\n width: auto;\n min-width: 100%;\n min-height: 100%;\n object-fit: cover;\n opacity: ${({ isDisabled }) => (isDisabled ? 0.5 : 1)};\n`;\n\nconst AddOnWrapper = styled.div<IconSectionProps>`\n position: absolute;\n height: 100%;\n display: flex;\n align-items: center;\n justify-content: center;\n right: 0;\n width: ${props => sizesStyles[props.size].width};\n top: 50%;\n transform: translateY(-50%);\n`;\n\nconst TextInput = forwardRef(\n (\n {\n placeholder,\n onFocus,\n onChange,\n onBlur,\n onKeyDown,\n isDisabled,\n icon,\n type = 'text',\n value,\n hasError,\n size = 'medium',\n addOn,\n ...props\n }: TextInputProps & Omit<React.ComponentProps<typeof InputField>, 'size'>,\n ref: React.ForwardedRef<HTMLInputElement>\n ) => {\n const inputField = (\n <InputField\n type={type}\n placeholder={placeholder}\n onFocus={onFocus}\n onChange={onChange}\n onBlur={onBlur}\n onKeyDown={onKeyDown}\n disabled={isDisabled}\n icon={icon}\n ref={ref}\n value={value}\n hasError={hasError}\n inputSize={size}\n addOn={addOn}\n {...props}\n />\n );\n\n return icon || addOn ? (\n <InputFieldWrapper>\n {icon && (\n <IconSection size={size}>\n {typeof icon === 'string' ? (\n <Container\n radius=\"50\"\n width={sizesStyles[size].iconSize}\n height={sizesStyles[size].iconSize}\n overflow=\"hidden\"\n >\n <Align alignment=\"center\">\n <Image src={icon} alt=\"\" isDisabled={isDisabled} />\n </Align>\n </Container>\n ) : (\n <Icon\n icon={icon}\n size={sizesStyles[size].iconSize}\n color={getColorValue(isDisabled ? 'disabledContent' : 'body')}\n />\n )}\n </IconSection>\n )}\n {inputField}\n {addOn && <AddOnWrapper size={size}>{addOn}</AddOnWrapper>}\n </InputFieldWrapper>\n ) : (\n inputField\n );\n }\n);\n\ntype TextInputProps = {\n placeholder?: string;\n value?: string | number;\n onFocus?: React.ReactEventHandler;\n onChange?: React.ReactEventHandler;\n onBlur?: React.ReactEventHandler;\n onKeyDown?: React.ReactEventHandler;\n isDisabled?: boolean;\n icon?: React.ReactNode | string;\n type?:\n | 'date'\n | 'datetime-local'\n | 'email'\n | 'month'\n | 'number'\n | 'password'\n | 'search'\n | 'tel'\n | 'text'\n | 'time'\n | 'url'\n | 'week';\n id?: string;\n hasError?: boolean;\n size?: 'small' | 'medium' | 'large';\n addOn?: React.ReactNode;\n};\n\ntype IconSectionProps = {\n size?: 'small' | 'medium' | 'large';\n};\ntype InputFieldProps = {\n icon?: React.ReactNode;\n hasError?: boolean;\n inputSize?: 'small' | 'medium' | 'large';\n addOn?: React.ReactNode;\n};\n\nexport default TextInput;\n", "import styled from '@emotion/styled';\nimport React from 'react';\n\nimport { LensDivProps, ResponsiveType } from '../../types';\nimport { getResponsiveOneOf } from '../../utilities';\n\nconst alignmentsPlaceItems = {\n topLeft: 'start',\n topCenter: 'start center',\n topRight: 'start end',\n centerLeft: 'center start',\n center: 'center',\n centerRight: 'center end',\n bottomLeft: 'end start',\n bottomCenter: 'end center',\n bottomRight: 'end',\n};\n\nconst getPlaceItems = (\n alignment: ResponsiveType<\n | 'topLeft'\n | 'topCenter'\n | 'topRight'\n | 'centerLeft'\n | 'center'\n | 'centerRight'\n | 'bottomLeft'\n | 'bottomCenter'\n | 'bottomRight'\n >\n) => {\n if (Array.isArray(alignment)) {\n return alignment.map(\n alignmentArrayItem => alignmentsPlaceItems[alignmentArrayItem]\n );\n }\n\n if (typeof alignment === 'object') {\n const alignmentsPlaceItemsObject = {};\n\n Object.entries(alignment).forEach(([key, value]) => {\n return (alignmentsPlaceItemsObject[key] = alignmentsPlaceItems[value]);\n });\n\n return alignmentsPlaceItemsObject;\n }\n\n return alignmentsPlaceItems[alignment];\n};\n\nconst AlignWrapper = styled.div<AlignWrapperProps>`\n width: 100%;\n height: 100%;\n display: grid;\n ${props => getResponsiveOneOf('place-items', getPlaceItems(props.alignment))};\n`;\n\nconst Align = ({\n children,\n alignment = 'center',\n htmlTag = 'div',\n ...props\n}: AlignProps &\n React.ComponentProps<typeof AlignWrapper> &\n Omit<\n LensDivProps,\n keyof AlignProps & React.ComponentProps<typeof AlignWrapper>\n >) => {\n return (\n <AlignWrapper alignment={alignment} as={htmlTag} {...props}>\n {children}\n </AlignWrapper>\n );\n};\n\nexport const availableAlignments = Object.keys(alignmentsPlaceItems);\nexport const availableHtmlTags = [\n 'div',\n 'header',\n 'article',\n 'section',\n 'nav',\n 'aside',\n 'footer',\n 'main',\n];\n\ntype AlignProps = {\n children: React.ReactNode;\n alignment?: ResponsiveType<\n | 'topLeft'\n | 'topCenter'\n | 'topRight'\n | 'centerLeft'\n | 'center'\n | 'centerRight'\n | 'bottomLeft'\n | 'bottomCenter'\n | 'bottomRight'\n >;\n htmlTag?:\n | 'div'\n | 'header'\n | 'article'\n | 'section'\n | 'nav'\n | 'aside'\n | 'footer'\n | 'main';\n};\n\ntype AlignWrapperProps = {\n children: React.ReactNode;\n alignment?: ResponsiveType<\n | 'topLeft'\n | 'topCenter'\n | 'topRight'\n | 'centerLeft'\n | 'center'\n | 'centerRight'\n | 'bottomLeft'\n | 'bottomCenter'\n | 'bottomRight'\n >;\n as?: string;\n};\n\nexport default Align;\n", "import styled from '@emotion/styled';\nimport React from 'react';\n\nimport { LensDivProps, ResponsiveType } from '../../types';\nimport {\n getColorValue,\n getRadius,\n getShadow,\n getSize,\n getSizeValue,\n} from '../../utilities';\n\nconst getBorderSideAndColor = (side, color, width) => {\n const borderColor = color ? color : 'border';\n const borderWidth = getSizeValue(width);\n const borderStyle = `${borderWidth} solid ${getColorValue(borderColor)}`;\n\n if (side) {\n if (side === 'all') {\n return `border: ${borderStyle};`;\n }\n\n return `border-${side}: ${borderStyle};`;\n }\n};\n\nconst ContainerWrapper = styled.div<ContainerWrapperProps>`\n ${props => props.position && `position: ${props.position}`};\n ${props => props.overflow && `overflow: ${props.overflow}`};\n ${props =>\n props.backgroundColor &&\n `background-color: ${getColorValue(props.backgroundColor)}`};\n ${props =>\n props.backgroundImage && `background-image: ${props.backgroundImage}`}\n ${props =>\n props.contentColor && `color: ${getColorValue(props.contentColor)}`};\n ${props =>\n getBorderSideAndColor(\n props.borderSide,\n props.borderColor,\n props.borderWidth\n )};\n ${props => getRadius(props.radius)};\n ${props => getShadow(props.shadow)};\n ${props => getSize('width', props.width)};\n ${props => getSize('height', props.height)};\n ${props => getSize('min-width', props.minWidth)};\n ${props => getSize('min-height', props.minHeight)};\n ${props => getSize('max-width', props.maxWidth)};\n ${props => getSize('max-height', props.maxHeight)};\n ${props => getSize('padding', props.padding)};\n ${props => getSize('padding-top', props.paddingTop)};\n ${props => getSize('padding-right', props.paddingRight)};\n ${props => getSize('padding-bottom', props.paddingBottom)};\n ${props => getSize('padding-left', props.paddingLeft)};\n ${props => getSize('margin', props.margin)};\n ${props => getSize('margin-top', props.marginTop)};\n ${props => getSize('margin-right', props.marginRight)};\n ${props => getSize('margin-bottom', props.marginBottom)};\n ${props => getSize('margin-left', props.marginLeft)};\n ${props => getSize('top', props.top)};\n ${props => getSize('right', props.right)};\n ${props => getSize('bottom', props.bottom)};\n ${props => getSize('left', props.left)};\n ${props => props.zIndex && `z-index: ${props.zIndex}`};\n`;\n\nconst Container = ({\n children,\n backgroundColor,\n backgroundImage,\n contentColor,\n borderColor,\n radius,\n borderSide,\n borderWidth = '1px',\n shadow,\n padding,\n paddingX,\n paddingY,\n paddingLeft,\n paddingRight,\n paddingTop,\n paddingBottom,\n margin,\n marginX,\n marginY,\n marginLeft,\n marginRight,\n marginTop,\n marginBottom,\n width,\n height,\n minWidth,\n minHeight,\n maxWidth,\n maxHeight,\n htmlTag = 'div',\n position,\n overflow,\n zIndex,\n top,\n bottom,\n left,\n right,\n refHandler,\n ...props\n}: ContainerProps &\n React.ComponentProps<typeof ContainerWrapper> &\n Omit<\n LensDivProps,\n keyof ContainerProps & React.ComponentProps<typeof ContainerWrapper>\n >) => {\n return (\n <ContainerWrapper\n backgroundColor={backgroundColor}\n backgroundImage={backgroundImage}\n contentColor={contentColor}\n borderColor={borderColor}\n radius={radius}\n borderSide={borderSide}\n shadow={shadow}\n padding={padding}\n paddingLeft={paddingX || paddingLeft}\n paddingRight={paddingX || paddingRight}\n paddingTop={paddingY || paddingTop}\n paddingBottom={paddingY || paddingBottom}\n margin={margin}\n marginLeft={marginX || marginLeft}\n marginRight={marginX || marginRight}\n marginTop={marginY || marginTop}\n marginBottom={marginY || marginBottom}\n width={width}\n height={height}\n minWidth={minWidth}\n minHeight={minHeight}\n maxWidth={maxWidth}\n maxHeight={maxHeight}\n as={htmlTag}\n position={position}\n top={top}\n bottom={bottom}\n left={left}\n right={right}\n overflow={overflow}\n zIndex={zIndex}\n borderWidth={borderWidth}\n ref={ref => refHandler && refHandler(ref)}\n {...props}\n >\n {children}\n </ContainerWrapper>\n );\n};\n\nexport const availableBorderSides = ['all', 'left', 'right', 'top', 'bottom'];\nexport const availableRadii = [\n 'none',\n '50',\n '100',\n '150',\n '175',\n '200',\n '250',\n '300',\n 'round',\n];\nexport const availableHtmlTags = [\n 'div',\n 'header',\n 'article',\n 'section',\n 'nav',\n 'aside',\n 'footer',\n 'main',\n 'span',\n 'form',\n];\n\ninterface SharedProps {\n backgroundColor?: string;\n backgroundImage?: string;\n contentColor?: string;\n borderColor?: string;\n radius?:\n | 'medium'\n | 'large'\n | 'xlarge'\n | 'full'\n | 'none'\n | '50'\n | '100'\n | '150'\n | '175'\n | '200'\n | '250'\n | '300'\n | 'round';\n borderSide?: 'all' | 'left' | 'right' | 'top' | 'bottom';\n shadow?: 'small' | 'medium' | 'large';\n padding?: ResponsiveType<string | number> | null;\n paddingX?: ResponsiveType<string | number> | null;\n paddingY?: ResponsiveType<string | number> | null;\n paddingLeft?: ResponsiveType<string | number> | null;\n paddingRight?: ResponsiveType<string | number> | null;\n paddingTop?: ResponsiveType<string | number> | null;\n paddingBottom?: ResponsiveType<string | number> | null;\n margin?: ResponsiveType<string | number> | null;\n marginX?: ResponsiveType<string | number> | null;\n marginY?: ResponsiveType<string | number> | null;\n marginLeft?: ResponsiveType<string | number> | null;\n marginRight?: ResponsiveType<string | number> | null;\n marginTop?: ResponsiveType<string | number> | null;\n marginBottom?: ResponsiveType<string | number> | null;\n width?: ResponsiveType<string | number>;\n height?: ResponsiveType<string | number>;\n minWidth?: ResponsiveType<string | number>;\n minHeight?: ResponsiveType<string | number>;\n maxWidth?: ResponsiveType<string | number>;\n maxHeight?: ResponsiveType<string | number>;\n children?: React.ReactNode;\n position?: string;\n overflow?: string;\n top?: ResponsiveType<string | number> | null;\n bottom?: ResponsiveType<string | number> | null;\n left?: ResponsiveType<string | number> | null;\n right?: ResponsiveType<string | number> | null;\n zIndex?: number | string;\n borderWidth?: string | number;\n // NOTE: Covers the most common types since the user can change the `as` value using `htmlTag`\n refHandler?:\n | ((ref: HTMLElement) => void)\n | ((ref: HTMLDivElement) => void)\n | ((ref: HTMLSpanElement) => void);\n}\n\ninterface ContainerProps extends SharedProps {\n htmlTag?:\n | 'div'\n | 'header'\n | 'article'\n | 'section'\n | 'nav'\n | 'aside'\n | 'footer'\n | 'main'\n | 'span'\n | 'form';\n}\n\ninterface ContainerWrapperProps extends SharedProps {\n as?: string;\n}\n\nexport default Container;\n", "import styled from '@emotion/styled';\nimport React from 'react';\n\nimport { distributeDeprecatedWarning } from '../../console-messages';\nimport { LensDivProps, ResponsiveType } from '../../types';\nimport {\n arrayToBreakpoints,\n getAlignmentStyles,\n getResponsiveBoolean,\n getSizeValue,\n} from '../../utilities';\n\nconst alignments = {\n start: 'flex-start',\n center: 'center',\n end: 'flex-end',\n stretch: 'stretch',\n};\n\nlet alreadyWarned = false;\n\nconst propToArray = prop => {\n if (!Array.isArray(prop)) {\n return [prop];\n }\n\n return prop;\n};\n\nconst formatItems = (items, targetRulesetLength) => {\n if (items.length === targetRulesetLength) {\n return items;\n }\n\n const lastItem = items[items.length - 1];\n\n return [...Array(targetRulesetLength)].map((_, i) => items[i] || lastItem);\n};\n\nconst getDirectionAndGap = (direction, gap) => {\n const targetRulesetLength = Math.max(\n propToArray(direction).length,\n propToArray(gap).length\n );\n\n const gapsArray = formatItems(propToArray(gap), targetRulesetLength);\n const directionsArray = formatItems(\n propToArray(direction),\n targetRulesetLength\n );\n\n const childrenSelector = '& > * + *';\n const gapsRulesets = gapsArray.map((gapItem, index) => {\n const marginTop = `${getSizeValue(gapItem)} 0 0 0`;\n const marginRight = `0 0 0 ${getSizeValue(gapItem)}`;\n\n const marginValue =\n directionsArray[index] === 'column' ? marginTop : marginRight;\n\n return `${childrenSelector}{ margin: ${marginValue}; }`;\n });\n\n const directionsRulesets = directionsArray.map(\n directionItem => `flex-direction: ${directionItem}`\n );\n\n return (\n arrayToBreakpoints(gapsRulesets) + arrayToBreakpoints(directionsRulesets)\n );\n};\n\nconst DistributeWrapper = styled.div<DistributeWrapperProps>`\n display: flex;\n flex-wrap: wrap;\n ${props => getDirectionAndGap(props.flexDirection, props.gap)};\n ${props => getAlignmentStyles(props.flexAlign, alignments)};\n ${props =>\n props.isSpread &&\n getResponsiveBoolean(\n 'justify-content',\n ['space-between', 'initial'],\n props.isSpread\n )};\n\n & > * {\n flex-shrink: 0;\n }\n`;\n\nconst Distribute = ({\n children,\n gap,\n direction = 'row',\n alignment = 'start',\n isSpread,\n htmlTag = 'div',\n ...props\n}: DistributeProps &\n React.ComponentProps<typeof DistributeWrapper> &\n Omit<\n LensDivProps,\n keyof DistributeProps & React.ComponentProps<typeof DistributeWrapper>\n >) => {\n if (!alreadyWarned) {\n // eslint-disable-next-line no-console\n console.warn(distributeDeprecatedWarning);\n alreadyWarned = true;\n }\n\n return (\n <DistributeWrapper\n gap={gap}\n flexDirection={direction}\n flexAlign={alignment}\n isSpread={isSpread}\n as={htmlTag}\n {...props}\n >\n {children}\n </DistributeWrapper>\n );\n};\n\nexport const availableDirections = ['row', 'column'];\nexport const availableAlignments = Object.keys(alignments);\nexport const availableHtmlTags = [\n 'div',\n 'header',\n 'article',\n 'section',\n 'nav',\n 'aside',\n 'footer',\n 'main',\n];\n\ntype Alignment = 'start' | 'center' | 'end' | 'stretch';\ntype DistributeProps = {\n children: React.ReactNode;\n direction?: ResponsiveType<'row' | 'column'>;\n alignment?: Alignment | Alignment[];\n isSpread?: ResponsiveType<true | false>;\n htmlTag?:\n | 'div'\n | 'header'\n | 'article'\n | 'section'\n | 'nav'\n | 'aside'\n | 'footer'\n | 'main';\n gap?: string | number;\n};\n\ntype DistributeWrapperProps = {\n flexDirection?: ResponsiveType<'row' | 'column'>;\n flexAlign?: Alignment | Alignment[];\n isSpread?: boolean | boolean[];\n gap?: string | number;\n as?: string;\n};\n\nexport default Distribute;\n", "import styled from '@emotion/styled';\nimport React from 'react';\n\nimport Arrange from '../arrange/arrange';\nimport { SvgAlertTriangle } from '../icon/available-icons/alert-triangle';\nimport Icon from '../icon/icon';\nimport Text from '../text/text';\n\ninterface ErrorContainerProps {\n children: React.ReactNode;\n errorActive: boolean;\n errorMessage?: string;\n}\n\n// the border below is a stand-alone component to avoid messing with the layout of the children\n// the calculations in width, height, top, and left are to add padding between the border and the children\n// pointer-events: none is to allow the children to be clickable\n\nconst ErrorContainerBorder = styled.div`\n position: relative;\n ::before {\n content: '';\n width: calc(100% + var(--lns-space-medium));\n height: calc(100% + var(--lns-space-medium));\n position: absolute;\n top: calc(-1 * var(--lns-space-small));\n left: calc(-1 * var(--lns-space-small));\n outline: 1px solid var(--lns-color-danger);\n border-radius: var(--lns-radius-large);\n pointer-events: none;\n }\n`;\n\nconst ErrorContainer = ({\n children,\n errorActive,\n errorMessage = \"Oops, that didn't work. Try again.\",\n}: ErrorContainerProps) => {\n if (!errorActive) {\n return <>{children}</>;\n }\n\n return (\n <ErrorContainerBorder>\n <Arrange autoFlow=\"row\" gap=\"small\">\n {children}\n {errorMessage ? (\n <Arrange gap=\"xsmall\">\n <Icon icon={<SvgAlertTriangle />} size={2} color=\"danger\" />\n <Text size=\"body-sm\" color=\"danger\">\n {errorMessage}\n </Text>\n </Arrange>\n ) : null}\n </Arrange>\n </ErrorContainerBorder>\n );\n};\n\nexport default ErrorContainer;\n", "import styled from '@emotion/styled';\nimport React from 'react';\n\nimport { customStylesWarning } from '../../console-messages';\nimport {\n LensDivProps,\n ResponsiveGridSections,\n ResponsiveType,\n} from '../../types';\nimport { getResponsiveOneOf, getSize } from '../../utilities';\n\nimport { getResponsiveGridSections } from '../../utilities/responsive';\nimport { getListContainer } from '../../utilities/styles';\n\nconst ArrangeWrapper = styled.div<ArrangeWrapperProps>`\n display: grid;\n ${props => getResponsiveOneOf('align-items', props.alignItems)};\n ${props => getResponsiveOneOf('justify-content', props.justifyContent)};\n ${props =>\n props.justifyItems &&\n getResponsiveOneOf('justify-items', props.justifyItems)};\n ${props =>\n props.alignContent &&\n getResponsiveOneOf('align-content', props.alignContent)};\n ${props =>\n !props.columns &&\n !props.rows &&\n !props.autoFlow &&\n 'grid-auto-flow: column'};\n ${props => getResponsiveGridSections(props.columns, 'columns')};\n ${props => getResponsiveGridSections(props.rows, 'rows')};\n ${props => getSize('gap', props.gap)};\n ${props => getSize('width', props.width)};\n ${props => getSize('height', props.height)};\n ${props => getSize('min-width', props.minWidth)};\n ${props => getSize('min-height', props.minHeight)};\n ${props => getSize('max-width', props.maxWidth)};\n ${props => getSize('max-height', props.maxHeight)};\n\n ${props =>\n props.autoFlow && getResponsiveOneOf('grid-auto-flow', props.autoFlow)};\n ${props =>\n props.columns &&\n props.autoFlow &&\n getResponsiveOneOf('grid-auto-flow', props.autoFlow)};\n ${props => getListContainer(props.as)};\n`;\n\nconst Arrange = ({\n children,\n width,\n height,\n minWidth,\n minHeight,\n maxWidth,\n maxHeight,\n gap,\n columns,\n rows,\n alignItems = 'center',\n justifyContent = 'start',\n justifyItems,\n alignContent,\n autoFlow,\n htmlTag = 'div',\n className,\n style,\n ...props\n}: ArrangeProps &\n React.ComponentProps<typeof ArrangeWrapper> &\n Omit<\n LensDivProps,\n keyof ArrangeProps & React.ComponentProps<typeof ArrangeWrapper>\n >) => {\n if (className || style) {\n // eslint-disable-next-line no-console\n console.warn(customStylesWarning);\n }\n\n return (\n <ArrangeWrapper\n alignItems={alignItems}\n as={htmlTag}\n justifyContent={justifyContent}\n justifyItems={justifyItems}\n alignContent={alignContent}\n gap={gap}\n columns={columns}\n rows={rows}\n width={width}\n height={height}\n minWidth={minWidth}\n minHeight={minHeight}\n maxWidth={maxWidth}\n maxHeight={maxHeight}\n autoFlow={autoFlow}\n {...props}\n >\n {children}\n </ArrangeWrapper>\n );\n};\n\ninterface SharedProps {\n children?: React.ReactNode;\n width?: ResponsiveType<string | number>;\n height?: ResponsiveType<string | number>;\n minWidth?: ResponsiveType<string | number>;\n minHeight?: ResponsiveType<string | number>;\n maxWidth?: ResponsiveType<string | number>;\n maxHeight?: ResponsiveType<string | number>;\n gap?: ResponsiveType<string | number> | null;\n alignItems?: ResponsiveType<\n 'start' | 'end' | 'center' | 'stretch' | 'baseline'\n >;\n justifyItems?: ResponsiveType<'start' | 'end' | 'center' | 'stretch'>;\n alignContent?: ResponsiveType<\n | 'start'\n | 'end'\n | 'center'\n | 'stretch'\n | 'space-around'\n | 'space-between'\n | 'space-evenly'\n >;\n justifyContent?: ResponsiveType<\n | 'start'\n | 'end'\n | 'center'\n | 'stretch'\n | 'space-around'\n | 'space-between'\n | 'space-evenly'\n >;\n autoFlow?: ResponsiveType<'column' | 'row'>;\n columns?: ResponsiveGridSections;\n rows?: ResponsiveGridSections;\n}\n\ninterface ArrangeProps extends SharedProps {\n htmlTag?: 'div' | 'ul' | 'ol' | 'li';\n}\n\ninterface ArrangeWrapperProps extends SharedProps {\n as?: string;\n}\n\nexport default Arrange;\n", "import WarningIcon from '@atlaskit/icon/core/warning';\nimport * as React from 'react';\n\nexport function SvgAlertTriangle() {\n return <WarningIcon label=\"\" testId=\"ads-refreshed-icon\" />;\n}\n", "import styled from '@emotion/styled';\nimport React, { Component } from 'react';\n\nimport { layoutDeprecatedWarning } from '../../console-messages';\nimport { ResponsiveType } from '../../types';\nimport { getSize, getAlignmentStyles } from '../../utilities';\n\nconst alignments = {\n start: 'flex-start',\n center: 'center',\n end: 'flex-end',\n};\n\nconst LayoutWrapper = styled.div<LayoutProps>`\n display: flex;\n ${props => getAlignmentStyles(props.alignment, alignments)};\n\n & > * + * {\n ${props => props.gap && getSize('margin-left', props.gap)};\n }\n`;\n\nconst LayoutSectionWrapper = styled.div<LayoutSectionProps>`\n min-width: 0px;\n flex-shrink: 0;\n ${props => getSize('width', props.width)};\n ${props => getSize('max-width', props.maxWidth)};\n ${props => (props.width ? `flex-shrink: 0` : `flex: 1 1 0%`)};\n`;\n\nexport const LayoutSection = ({\n width,\n maxWidth,\n children,\n ...props\n}: LayoutSectionProps & React.ComponentProps<typeof LayoutSectionWrapper>) => {\n // eslint-disable-next-line no-console\n console.warn(layoutDeprecatedWarning);\n\n return (\n <LayoutSectionWrapper width={width} maxWidth={maxWidth} {...props}>\n {children}\n </LayoutSectionWrapper>\n );\n};\n\n// eslint-disable-next-line react-prefer-function-component/react-prefer-function-component\nclass Layout extends Component<LayoutProps> {\n static Section = LayoutSection;\n\n render() {\n // eslint-disable-next-line no-console\n console.warn(layoutDeprecatedWarning);\n\n return <LayoutWrapper {...this.props}>{this.props.children}</LayoutWrapper>;\n }\n}\n\ntype Alignments = 'start' | 'center' | 'end' | 'stretch';\ntype LayoutProps = {\n alignment?: Alignments | Alignments[];\n gap?: ResponsiveType<string | number>;\n children?: React.ReactNode;\n};\n\ntype LayoutSectionProps = {\n width?: ResponsiveType<string | number>;\n maxWidth?: ResponsiveType<string | number>;\n children?: React.ReactNode;\n};\n\nexport default Layout;\n", "import styled from '@emotion/styled';\nimport React from 'react';\n\nimport { LensButtonProps } from '../../types';\nimport { getColorValue, getFocusRing, u } from '../../utilities';\n\nimport Icon from '../icon/icon';\n\nconst sizeStyles = {\n small: {\n size: u(3),\n iconSize: 2.25,\n radius: 'var(--lns-radius-100)',\n },\n medium: {\n size: u(4),\n iconSize: 3,\n radius: 'var(--lns-radius-150)',\n },\n large: {\n size: u(5),\n iconSize: 4,\n radius: 'var(--lns-radius-175)',\n },\n};\n\nexport const IconButtonBox = styled.button<IconButtonBoxProps>`\n background-color: ${props =>\n getColorValue(\n props.isActive ? 'backgroundActive' : props.backgroundColor\n ) || 'transparent'};\n border: none;\n appearance: none;\n cursor: pointer;\n padding: 0;\n width: ${props => sizeStyles[props.size].size};\n height: ${props => sizeStyles[props.size].size};\n position: relative;\n outline: 1px solid transparent;\n transition: 0.6s background-color;\n display: inline-flex;\n justify-content: center;\n align-items: center;\n vertical-align: middle;\n border-radius: ${props => sizeStyles[props.size].radius};\n font: inherit;\n\n &:hover {\n transition: 0.3s background-color;\n background-color: ${props =>\n getColorValue(props.isActive ? 'backgroundActive' : 'backgroundHover')};\n }\n\n &:active {\n transition: 0s background-color;\n background-color: ${getColorValue('backgroundActive')};\n }\n\n &:disabled {\n color: ${getColorValue('disabledContent')};\n pointer-events: none;\n }\n\n &:before {\n content: '';\n width: 100%;\n height: 100%;\n display: block;\n position: absolute;\n top: 0;\n border-radius: ${props => sizeStyles[props.size].radius};\n }\n\n &:focus-visible:before,\n &:focus:before {\n ${getFocusRing()};\n }\n\n &:focus::-moz-focus-inner {\n border: 0;\n }\n`;\n\ntype AllProps = IconButtonProps &\n React.ComponentProps<typeof IconButtonBox> &\n Omit<\n LensButtonProps,\n keyof IconButtonProps & React.ComponentProps<typeof IconButtonBox>\n >;\n\nconst IconButton = React.forwardRef(\n (\n {\n altText,\n icon,\n onClick,\n iconColor = 'body',\n backgroundColor,\n isActive,\n isDisabled,\n size = 'medium',\n ...props\n }: AllProps,\n ref: React.ForwardedRef<HTMLButtonElement>\n ) => (\n <IconButtonBox\n aria-label={altText}\n onClick={onClick}\n isActive={isActive}\n disabled={isDisabled}\n size={size}\n backgroundColor={backgroundColor}\n ref={ref}\n {...props}\n >\n <Icon\n icon={icon}\n size={sizeStyles[size].iconSize}\n color={isDisabled ? 'disabledContent' : iconColor}\n />\n </IconButtonBox>\n )\n);\n\nIconButton.displayName = 'IconButton';\n\ntype IconButtonProps = {\n altText: string;\n icon?: React.ReactNode;\n onClick?: React.MouseEventHandler<HTMLInputElement>;\n iconColor?: string;\n backgroundColor?: string;\n isActive?: boolean;\n isDisabled?: boolean;\n size?: 'small' | 'medium' | 'large';\n};\n\ntype IconButtonBoxProps = {\n size?: 'small' | 'medium' | 'large';\n isActive?: boolean;\n backgroundColor?: string;\n};\n\nexport default IconButton;\n", "import styled from '@emotion/styled';\nimport React, { forwardRef, useEffect, useRef } from 'react';\n\nimport { getColorValue, getFocusRing, u } from '../../utilities';\n\nconst SvgCheckboxCheck = props => (\n <svg width={12} height={9} viewBox=\"0 0 12 9\" fill=\"none\" {...props}>\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M11.707.293a1 1 0 010 1.414l-7 7a1 1 0 01-1.414 0l-3-3a1 1 0 011.414-1.414L4 6.586 10.293.293a1 1 0 011.414 0z\"\n fill=\"currentColor\"\n />\n </svg>\n);\n\nconst SvgCheckboxMinus = props => (\n <svg width={12} height={2} viewBox=\"0 0 12 2\" fill=\"none\" {...props}>\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M0 1a1 1 0 011-1h10a1 1 0 110 2H1a1 1 0 01-1-1z\"\n fill=\"currentColor\"\n />\n </svg>\n);\n\nconst CheckboxWrapper = styled.div`\n display: block;\n position: relative;\n`;\n\nconst CheckboxInput = styled.input`\n height: 100%;\n margin: 0;\n opacity: 0;\n position: absolute;\n width: 100%;\n\n &:not(:disabled) {\n cursor: pointer;\n\n & ~ .CheckboxBox {\n border: 2px solid ${getColorValue('body')};\n }\n\n &:checked ~ .CheckboxBox,\n &:indeterminate ~ .CheckboxBox {\n background-color: ${getColorValue('body')};\n }\n }\n\n &:disabled,\n &:disabled ~ .CheckboxBox {\n pointer-events: none;\n }\n\n &:disabled ~ .CheckboxBox {\n background-color: ${getColorValue('disabledBackground')};\n\n .Icon {\n color: ${getColorValue('disabledContent')};\n }\n }\n\n &:focus-visible ~ .CheckboxBox {\n ${getFocusRing()};\n }\n\n & ~ .CheckboxBox .Icon {\n display: none;\n color: ${getColorValue('background')};\n }\n\n &:checked ~ .CheckboxBox .IconCheck {\n display: block;\n }\n\n &:indeterminate ~ .CheckboxBox .IconMinus {\n display: block;\n }\n`;\n\nconst CheckboxBox = styled.span`\n cursor: pointer;\n width: ${u(2.25)};\n height: ${u(2.25)};\n border-radius: ${u(0.5)};\n display: flex;\n align-items: center;\n justify-content: center;\n user-select: none;\n`;\n\nconst Checkbox = forwardRef(\n (\n {\n isDisabled,\n isChecked,\n isIndeterminate,\n onFocus,\n onChange,\n onBlur,\n ...props\n }: CheckboxProps & React.ComponentProps<typeof CheckboxInput>,\n ref: React.ForwardedRef<HTMLInputElement>\n ) => {\n const defaultRef = useRef<HTMLInputElement>();\n const checkboxRef =\n (ref as React.MutableRefObject<HTMLInputElement>) || defaultRef;\n\n const iconColor = getColorValue(\n isDisabled ? 'disabledContent' : 'currentColor'\n );\n\n useEffect(() => {\n checkboxRef.current.indeterminate = isIndeterminate;\n });\n\n return (\n <CheckboxWrapper>\n <CheckboxInput\n type=\"checkbox\"\n disabled={isDisabled}\n checked={isChecked}\n onFocus={onFocus}\n onChange={onChange}\n onBlur={onBlur}\n ref={checkboxRef}\n aria-checked={isChecked}\n {...props}\n />\n <CheckboxBox className=\"CheckboxBox\">\n <SvgCheckboxMinus className=\"Icon IconMinus\" color={iconColor} />\n <SvgCheckboxCheck className=\"Icon IconCheck\" color={iconColor} />\n </CheckboxBox>\n </CheckboxWrapper>\n );\n }\n);\n\ntype CheckboxProps = {\n isChecked?: boolean;\n isIndeterminate?: boolean;\n isDisabled?: boolean;\n onFocus?: React.ReactEventHandler;\n onChange?: React.ReactEventHandler;\n onBlur?: React.ReactEventHandler;\n};\n\nexport default Checkbox;\n", "import styled from '@emotion/styled';\nimport React from 'react';\n\nimport { LensButtonProps } from '../../types';\nimport {\n getColorValue,\n getFocusRing,\n getFontWeight,\n getTextSize,\n u,\n} from '../../utilities';\n\nimport Container from '../container/container';\nimport Icon from '../icon/icon';\n\nconst sizeStyles = {\n small: {\n textSize: 'small',\n iconSize: 2.25,\n height: u(3),\n xSpace: u(1),\n radius: 'var(--lns-radius-100)',\n },\n medium: {\n textSize: 'medium',\n iconSize: 3,\n height: u(4),\n xSpace: u(1.5),\n radius: 'var(--lns-radius-150)',\n },\n large: {\n textSize: 'large',\n iconSize: 4,\n height: u(6),\n xSpace: u(3),\n radius: 'var(--lns-radius-200)',\n },\n};\n\nconst TextButtonWrapper = styled.button<TextButtonWrapperProps>`\n background-color: ${props =>\n props.isActive ? getColorValue('backgroundActive') : 'transparent'};\n display: inline-flex;\n vertical-align: middle;\n align-items: center;\n font: inherit;\n text-decoration: none;\n border: none;\n appearance: none;\n height: ${props => sizeStyles[props.size].height};\n cursor: pointer;\n transition: 0.6s background-color;\n color: ${props => getColorValue(props.color || 'body')};\n ${getFontWeight('bold')};\n border-radius: ${props => sizeStyles[props.size].radius};\n ${props => getTextSize(sizeStyles[props.size].textSize)};\n padding: 0 ${props => sizeStyles[props.size].xSpace};\n ${props =>\n props.offsetSide &&\n `margin-${props.offsetSide}: calc(-1 * ${sizeStyles[props.size].xSpace})`};\n\n &:focus,\n &:focus-visible {\n outline: 1px solid transparent;\n }\n\n &:focus-visible {\n ${getFocusRing()};\n }\n\n &::-moz-focus-inner {\n border: 0;\n }\n\n &:hover {\n transition: 0.3s background-color;\n background-color: ${props =>\n getColorValue(props.isActive ? 'backgroundActive' : 'backgroundHover')};\n }\n\n &:active {\n transition: 0s background-color;\n background-color: ${getColorValue('backgroundActive')};\n }\n\n &:disabled {\n color: ${getColorValue('disabledContent')};\n pointer-events: none;\n }\n`;\n\ntype AllProps = TextButtonProps &\n React.ComponentProps<typeof TextButtonWrapper> &\n Omit<\n LensButtonProps,\n keyof TextButtonProps & React.ComponentProps<typeof TextButtonWrapper>\n >;\n\nconst TextButton = React.forwardRef(\n (\n {\n onClick,\n size = 'medium',\n children,\n icon,\n iconPosition = 'left',\n isActive,\n isDisabled,\n htmlTag,\n offsetSide,\n ...props\n }: AllProps,\n ref: React.ForwardedRef<HTMLButtonElement>\n ) => {\n const iconComponent = (\n <Container\n paddingLeft={iconPosition === 'right' && 'small'}\n paddingRight={iconPosition === 'left' && 'small'}\n htmlTag=\"span\"\n >\n <Icon\n icon={icon}\n size={sizeStyles[size].iconSize}\n color={isDisabled ? 'disabledColor' : undefined}\n />\n </Container>\n );\n\n return (\n <TextButtonWrapper\n onClick={onClick}\n size={size}\n icon={icon}\n iconPosition={iconPosition}\n disabled={isDisabled}\n isActive={isActive}\n as={htmlTag}\n offsetSide={offsetSide}\n ref={ref}\n {...props}\n >\n {icon && iconPosition === 'left' && iconComponent}\n {children}\n {icon && iconPosition === 'right' && iconComponent}\n </TextButtonWrapper>\n );\n }\n);\n\nTextButton.displayName = 'TextButton';\n\ntype TextButtonProps = {\n onClick?: React.ReactEventHandler;\n isDisabled?: boolean;\n isActive?: boolean;\n icon?: React.ReactNode;\n iconPosition?: 'left' | 'right';\n children: React.ReactNode;\n size?: 'small' | 'medium' | 'large';\n htmlTag?: 'button' | 'a';\n offsetSide?: 'left' | 'right';\n href?: string;\n target?: string;\n type?: string;\n};\n\ntype TextButtonWrapperProps = {\n icon?: React.ReactNode;\n iconPosition?: 'left' | 'right';\n children: React.ReactNode;\n size?: 'small' | 'medium' | 'large';\n as?: 'button' | 'a';\n offsetSide?: 'left' | 'right';\n isActive?: boolean;\n};\n\nexport default TextButton;\n", "import styled from '@emotion/styled';\nimport Downshift from 'downshift';\nimport React, { HTMLAttributes, useEffect, useState, useMemo } from 'react';\n\nimport { useLayer } from 'react-laag';\nimport ResizeObserver from 'resize-observer-polyfill';\n\nimport { LensDivProps } from '../../types';\nimport { getColorValue, getSize, u } from '../../utilities';\n\nimport { getDownshiftEnvironment } from '../../utilities/downshift';\nimport { getTextFromNode } from '../../utilities/text';\nimport { SvgChevronDown } from '../icon/available-icons/chevron-down';\nimport Icon from '../icon/icon';\n\nimport Menu, { MenuItem, menuPositions } from '../menu/menu';\nimport Align from '../align/align';\nimport Container from '../container/container';\nimport SearchBar from '../search-bar/search-bar';\nimport Spacer from '../spacer/spacer';\nimport Text from '../text/text';\n\nconst SelectWrapper = styled.div`\n position: relative;\n`;\n\nconst SelectHeaderWrapper = styled.button<SelectHeaderProps>`\n appearance: none;\n font: inherit;\n text-align: left;\n display: grid;\n grid-auto-flow: column;\n grid-template-columns: ${props => props.columns};\n ${getSize('grid-gap', 'small')};\n align-items: center;\n cursor: pointer;\n width: 100%;\n min-height: ${u(4.5)};\n padding: 0 ${u(1.5)} 0 var(--lns-formFieldHorizontalPadding);\n color: ${getColorValue('body')};\n border: none;\n background-color: ${getColorValue('formFieldBackground')};\n transition: 0.3s box-shadow;\n border-radius: var(--lns-formFieldRadius);\n box-shadow: inset 0 0 0\n ${props =>\n props.hasError\n ? 'var(--lns-formFieldBorderWidthFocus) var(--lns-color-danger)'\n : 'var(--lns-formFieldBorderWidth) var(--lns-color-formFieldBorder)'};\n\n &:hover:not(:disabled) {\n box-shadow: inset 0 0 0 var(--lns-formFieldBorderWidthFocus)\n ${props =>\n props.hasError\n ? 'var(--lns-color-danger)'\n : 'var(--lns-color-blurple)'};\n }\n\n &:focus {\n outline: 1px solid transparent;\n box-shadow: var(--lns-formFieldBorderShadowFocus);\n }\n\n &:focus:hover {\n outline: 1px solid transparent;\n box-shadow: var(--lns-formFieldBorderShadowFocus);\n }\n\n &:disabled {\n color: ${getColorValue('disabledContent')};\n background-color: ${getColorValue('disabledBackground')};\n cursor: default;\n }\n`;\n\n// Scale down proportionally (preserving aspect ratio) and crop overflow\nconst Image = styled.img<Pick<SelectProps, 'isDisabled'>>`\n height: 100%;\n width: auto;\n min-width: 100%;\n min-height: 100%;\n object-fit: cover;\n opacity: ${({ isDisabled }) => (isDisabled ? 0.5 : 1)};\n`;\n\nconst Group = styled.ul`\n list-style: none;\n margin: 0;\n padding: 0;\n`;\n\nconst ErrorMessage = styled.span`\n color: var(--lns-color-red);\n margin-top: var(--lns-space-xsmall);\n display: block;\n width: 100%;\n grid-column-start: 1;\n grid-column-end: 3;\n`;\n\nconst isGrouped = (\n options: OptionsObject[] | GroupedOptionsObject[]\n): options is GroupedOptionsObject[] =>\n Array.isArray(options) && options.length > 0 && 'group' in options[0];\n\nconst getSelectedOptionObject = ({ options, selectedOptionValue }) => {\n if (!options || !selectedOptionValue) {\n return { icon: null, title: null };\n }\n\n if (isGrouped(options)) {\n for (const option of options) {\n const foundItem = option.items.find(\n item => item.value === selectedOptionValue\n );\n if (foundItem) {\n return foundItem;\n }\n }\n } else {\n const foundItem = options.find(item => item.value === selectedOptionValue);\n return foundItem || { icon: null, title: null };\n }\n\n return { icon: null, title: null };\n};\n\nconst getIcon = ({ options, selectedItem, selectedOptionValue }) => {\n if (selectedItem) {\n return selectedItem.icon;\n }\n\n if (selectedOptionValue) {\n return getSelectedOptionObject({ options, selectedOptionValue }).icon;\n }\n};\n\nconst getTitle = ({\n options,\n selectedItem,\n selectedOptionValue,\n selectPlaceholder,\n}) => {\n if (selectedItem) {\n return selectedItem.title;\n }\n\n if (selectedOptionValue) {\n return getSelectedOptionObject({ options, selectedOptionValue }).title;\n }\n\n return selectPlaceholder;\n};\n\nconst getHeaderAccessibilityProps = ({\n selectedItem,\n getInputProps,\n getToggleButtonProps,\n ariaMenuName,\n isOpen,\n}) => {\n const valueLabel = selectedItem\n ? `selected value is ${selectedItem.title}`\n : 'no value selected';\n\n const toggleLabel = getToggleButtonProps?.()['aria-label'];\n return {\n 'aria-expanded': isOpen,\n // Ensures all options within the list of selections can be narrated by a screen reader\n 'aria-activedescendant': getInputProps()['aria-activedescendant'],\n // The existing aria-label includes whether or not the menu is open or closed, and we add the valueLabel to make a screen reader narrate what is selected\n 'aria-label': [ariaMenuName, toggleLabel, valueLabel]\n .filter(Boolean)\n .join(', '),\n };\n};\n\nconst SelectHeader = ({\n getToggleButtonProps,\n inputValue,\n selectedItem,\n selectedOptionValue,\n selectPlaceholder,\n isDisabled,\n options,\n getInputProps,\n ariaMenuName,\n hasError,\n isOpen,\n}: SelectHeaderProps & React.ComponentProps<typeof SelectHeaderWrapper>) => {\n const icon = getIcon({ options, selectedItem, selectedOptionValue });\n const hasIcon = Boolean(icon);\n\n const hasPlaceholder = !selectedOptionValue && !selectedItem;\n const iconColumn = hasIcon ? 'auto' : '';\n const columns = `${iconColumn} 1fr auto`;\n const color = isDisabled ? 'disabledContent' : undefined;\n\n return (\n <SelectHeaderWrapper\n {...getToggleButtonProps()}\n {...getHeaderAccessibilityProps({\n selectedItem,\n getInputProps,\n getToggleButtonProps,\n ariaMenuName,\n isOpen,\n })}\n hasValue={inputValue || selectedOptionValue}\n disabled={isDisabled}\n columns={columns}\n hasError={hasError}\n >\n {hasIcon &&\n (typeof icon === 'string' ? (\n <Container radius=\"50\" width={3} height={3} overflow=\"hidden\">\n <Align alignment=\"center\">\n <Image src={icon} alt=\"\" isDisabled={isDisabled} />\n </Align>\n </Container>\n ) : (\n <Icon\n icon={getIcon({ options, selectedItem, selectedOptionValue })}\n color={color}\n />\n ))}\n <Text hasEllipsis color={hasPlaceholder ? 'bodyDimmed' : 'inherit'}>\n {getTitle({\n options,\n selectedItem,\n selectedOptionValue,\n selectPlaceholder,\n })}\n </Text>\n <Icon icon={<SvgChevronDown />} color={color} />\n </SelectHeaderWrapper>\n );\n};\n\nconst CustomHeader = ({\n selectedOptionValue,\n selectedItem,\n trigger,\n getToggleButtonProps,\n options,\n selectPlaceholder,\n isDisabled,\n getInputProps,\n ariaMenuName,\n hasError,\n errorMessage,\n isOpen,\n}) => {\n const buttonProps = () => {\n return {\n ...getToggleButtonProps(),\n ...getHeaderAccessibilityProps({\n selectedItem,\n getInputProps,\n getToggleButtonProps,\n ariaMenuName,\n isOpen,\n }),\n };\n };\n const getSelectedItem = (): OptionsObject | undefined => {\n if (selectedItem) {\n return selectedItem;\n }\n\n if (selectedOptionValue) {\n return getSelectedOptionObject({ options, selectedOptionValue });\n }\n };\n\n const triggerContent = {\n ...getSelectedItem(),\n placeholder: selectPlaceholder,\n isDisabled,\n hasError,\n errorMessage,\n };\n\n return trigger(triggerContent, buttonProps());\n};\n\nconst getSelectedOption = (\n value: string,\n options: OptionsObject[] | GroupedOptionsObject[]\n): OptionsObject | undefined => {\n if (isGrouped(options)) {\n for (const option of options) {\n const foundItem = option.items.find(item => item.value === value);\n if (foundItem) {\n return foundItem;\n }\n }\n } else {\n return options.find(item => item.value === value);\n }\n};\n\nconst didSelectedOptionValueChange = (\n selectedOptionValue: string,\n prevSelectedItem: OptionsObject | undefined\n) => {\n return Boolean(\n prevSelectedItem && selectedOptionValue !== prevSelectedItem.value\n );\n};\n\nconst renderOption = (\n item,\n index,\n selectedItem,\n selectedOptionValue,\n highlightedIndex,\n getItemProps\n) => {\n const isSelected =\n (!selectedItem && item.value === selectedOptionValue) ||\n (selectedItem && selectedItem.value === item.value);\n return (\n <MenuItem\n key={index}\n getItemProps={getItemProps}\n icon={item.icon}\n hidden={item.hidden}\n {...getItemProps({\n key: `${item.value}-${index}`,\n index,\n item,\n disabled: item.isDisabled,\n 'aria-selected': isSelected,\n })}\n isDisabled={item.isDisabled}\n hasDivider={item.hasDivider}\n isHighlighted={highlightedIndex === index}\n isSelected={isSelected}\n >\n {item.title}\n </MenuItem>\n );\n};\n\nconst SelectMenu = ({\n options,\n selectedItem,\n selectedOptionValue,\n highlightedIndex,\n getItemProps,\n search,\n ...menuProps\n}) => {\n if (!isGrouped(options)) {\n return (\n <Menu search={search} {...menuProps}>\n {options.map((item, index) =>\n renderOption(\n item,\n index,\n selectedItem,\n selectedOptionValue,\n highlightedIndex,\n getItemProps\n )\n )}\n </Menu>\n );\n }\n\n let downshiftIndex = 0;\n return (\n <Menu search={search} {...menuProps}>\n {options.map(group => {\n const groupId = `group-${group.group.replace(/\\s+/g, '-')}`;\n return (\n <li key={groupId}>\n <Spacer left=\"medium\" top=\"small\" bottom=\"xsmall\">\n <Text id={groupId} size=\"body-sm\" fontWeight=\"bold\">\n {group.group}\n </Text>\n </Spacer>\n <Group role=\"group\" aria-labelledby={groupId}>\n {group.items.map(item => {\n return renderOption(\n item,\n downshiftIndex++,\n selectedItem,\n selectedOptionValue,\n highlightedIndex,\n getItemProps\n );\n })}\n </Group>\n </li>\n );\n })}\n </Menu>\n );\n};\n\nconst Select = ({\n container,\n onChange,\n menuZIndex = 1100,\n menuMaxWidth,\n menuMaxHeight = 34,\n menuMinWidth,\n triggerOffset = 0,\n ariaMenuName,\n selectedOptionValue,\n onOuterClick,\n options,\n placeholder,\n menuPosition = 'left',\n isDisabled,\n onOpenChange,\n trigger,\n hasError,\n errorMessage = \"Oops, that didn't work.\",\n search,\n ...props\n}: SelectProps &\n Omit<React.ComponentProps<typeof SelectWrapper>, keyof SelectProps> &\n Omit<\n LensDivProps,\n keyof SelectProps & React.ComponentProps<typeof SelectWrapper>\n >) => {\n const environment = getDownshiftEnvironment(container);\n\n const [downshiftIsOpen, setDownshiftIsOpen] = useState(false);\n\n const [searchValue, setSearchValue] = useState('');\n\n const onSearchChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n const value = e.target.value;\n setSearchValue(value);\n };\n\n const [prevSelectedItem, setPrevSelectedItem] = useState(\n getSelectedOption(selectedOptionValue, options)\n );\n\n const [selectedItem, setSelectedItem] = useState(prevSelectedItem);\n\n const onDownshiftChange = item => {\n setSelectedItem(item);\n onChange && onChange(item ? item : '');\n };\n\n const downshiftProps = {\n itemToString: item => (item ? item.value : ''),\n onChange: onDownshiftChange,\n onOuterClick,\n environment,\n selectedItem,\n isOpen: downshiftIsOpen,\n };\n\n if (environment) {\n downshiftProps.environment = environment;\n }\n\n const { layerProps, triggerProps, renderLayer, triggerBounds } = useLayer({\n isOpen: downshiftIsOpen,\n container,\n ResizeObserver,\n placement: menuPositions[menuPosition],\n auto: true,\n snap: true,\n triggerOffset,\n });\n\n useEffect(() => {\n if (didSelectedOptionValueChange(selectedOptionValue, prevSelectedItem)) {\n const selectedItem = getSelectedOption(selectedOptionValue, options);\n\n setPrevSelectedItem(selectedItem);\n setSelectedItem(selectedItem);\n }\n }, [selectedOptionValue, options, prevSelectedItem]);\n\n useEffect(() => {\n onOpenChange && onOpenChange(downshiftIsOpen);\n }, [downshiftIsOpen, onOpenChange]);\n\n const stateReducer = (state, changes) => {\n if (changes.isOpen !== undefined) {\n if (changes.type === Downshift.stateChangeTypes.keyDownEscape) {\n setDownshiftIsOpen(false);\n\n return { isOpen: false };\n }\n\n setDownshiftIsOpen(changes.isOpen);\n }\n\n return changes;\n };\n\n // Filtering in Atlassian is based on if the searched value is a substring of the provided values at\n // any point of the string.\n // For example is the searched value is \"a\" and the provided values are \"a\", \"ab\", \"b\", and \"ba\", the\n // returned values will be \"a\", \"ab\", and \"ba\".\n options = useMemo(() => {\n if (search) {\n // For each group, filter the items based on the search value and then remove the groups that have no items\n if (isGrouped(options)) {\n let filteredGroups;\n\n if (search.searchType === 'startsWith') {\n filteredGroups = options.map(group => ({\n ...group,\n items: group.items.filter(item =>\n getTextFromNode(item.title)\n .toLowerCase()\n .startsWith(searchValue.toLowerCase())\n ),\n }));\n } else {\n filteredGroups = options.map(group => ({\n ...group,\n items: group.items.filter(item =>\n getTextFromNode(item.title)\n .toLowerCase()\n .includes(searchValue.toLowerCase())\n ),\n }));\n }\n\n return filteredGroups.reduce((acc, group) => {\n if (group.items.length > 0) {\n acc.push(group);\n }\n return acc;\n }, []);\n // If the options are not grouped, filter the options based on the search value\n }\n if (search.searchType === 'startsWith') {\n return options.filter(option =>\n getTextFromNode(option.title)\n .toLowerCase()\n .startsWith(searchValue.toLowerCase())\n );\n }\n\n return options.filter(option =>\n getTextFromNode(option.title)\n .toLowerCase()\n .includes(searchValue.toLowerCase())\n );\n\n // If the search parameter is not provided, return the options as is\n }\n return options;\n }, [options, searchValue, search]);\n\n return (\n <SelectWrapper {...props}>\n <Downshift {...downshiftProps} stateReducer={stateReducer}>\n {({\n getItemProps,\n getInputProps,\n getMenuProps,\n getToggleButtonProps,\n isOpen,\n inputValue,\n highlightedIndex,\n selectedItem,\n }) => {\n return (\n // Don't set the role to combobox to ensure a consistent experience for screen readers\n <div role=\"presentation\">\n <div {...triggerProps}>\n {trigger ? (\n <CustomHeader\n getToggleButtonProps={getToggleButtonProps}\n selectedItem={selectedItem}\n selectedOptionValue={selectedOptionValue}\n selectPlaceholder={placeholder}\n isDisabled={isDisabled}\n options={options}\n trigger={trigger}\n getInputProps={getInputProps}\n ariaMenuName={ariaMenuName}\n hasError={hasError}\n errorMessage={errorMessage}\n isOpen={isOpen}\n />\n ) : (\n <SelectHeader\n getToggleButtonProps={getToggleButtonProps}\n selectedItem={selectedItem}\n selectedOptionValue={selectedOptionValue}\n selectPlaceholder={placeholder}\n options={options}\n inputValue={inputValue}\n isDisabled={isDisabled}\n getInputProps={getInputProps}\n ariaMenuName={ariaMenuName}\n hasError={hasError}\n isOpen={isOpen}\n />\n )}\n </div>\n {downshiftIsOpen &&\n isOpen &&\n renderLayer(\n <div\n {...layerProps}\n style={{\n ...layerProps.style,\n zIndex: menuZIndex,\n width: menuMinWidth ? 'auto' : triggerBounds?.width,\n }}\n >\n <SelectMenu\n options={options}\n selectedItem={selectedItem}\n selectedOptionValue={selectedOptionValue}\n highlightedIndex={highlightedIndex}\n getItemProps={getItemProps}\n position={menuPosition}\n downshiftMenuProps={getMenuProps}\n maxWidth={menuMaxWidth}\n maxHeight={menuMaxHeight}\n minWidth={menuMinWidth}\n search={\n search && (\n <SearchBar\n ariaLabel={search.searchPlaceholder}\n placeholder={search.searchPlaceholder}\n value={searchValue}\n onChange={onSearchChange}\n getInputProps={getInputProps}\n />\n )\n }\n />\n </div>\n )}\n {hasError && !downshiftIsOpen && (\n <ErrorMessage>{errorMessage}</ErrorMessage>\n )}\n </div>\n );\n }}\n </Downshift>\n </SelectWrapper>\n );\n};\n\nexport type OptionsObject = {\n value: string;\n title: React.ReactNode;\n icon?: React.ReactNode | string;\n isDisabled?: boolean;\n hasDivider?: boolean;\n hidden?: HTMLAttributes<HTMLOptionElement>['hidden'];\n};\n\nexport type GroupedOptionsObject = {\n group: string;\n items: OptionsObject[];\n};\n\ntype SearchProps = {\n searchPlaceholder: string;\n searchType?: 'contains' | 'startsWith';\n};\n\ntype SelectProps = {\n onChange?: (selectedOption: OptionsObject) => void;\n isDisabled?: boolean;\n placeholder?: React.ReactNode;\n selectedOptionValue?: string | null;\n menuZIndex?: number;\n menuMaxWidth?: string | number;\n menuMaxHeight?: string | number;\n menuMinWidth?: string | number;\n menuPosition?: 'left' | 'right' | 'topRight' | 'topLeft';\n triggerOffset?: number;\n ariaMenuName?: string;\n options?: OptionsObject[] | GroupedOptionsObject[];\n container?: HTMLElement;\n onOuterClick?: () => void;\n onOpenChange?: (isOpen: boolean) => void;\n trigger?: (triggerContent, buttonProps) => void;\n hasError?: boolean;\n errorMessage?: string;\n search?: SearchProps;\n};\n\ntype SelectHeaderProps = {\n getToggleButtonProps?: any;\n inputValue?: string;\n selectedItem?: { icon: React.ReactNode; title: string };\n selectedOptionValue?: string;\n selectPlaceholder?: React.ReactNode;\n isDisabled?: boolean;\n options?: OptionsObject[] | GroupedOptionsObject[];\n columns?: string;\n getInputProps?: any;\n ariaMenuName?: string;\n hasError?: boolean;\n isOpen?: boolean;\n};\n\nexport default Select;\n", "export const getDownshiftEnvironment = container => {\n const rootNode = container?.()?.getRootNode?.();\n\n if (String(rootNode) === '[object ShadowRoot]') {\n // Create a polyfill for Downshift to not throw errors when appended to a shadow DOM\n // See: https://github.com/downshift-js/downshift/issues/834\n rootNode.createElement = (...args) =>\n rootNode.ownerDocument.createElement(...args);\n\n const downshiftPolyfill = rootNode.createElement('div');\n\n downshiftPolyfill.id = 'a11y-status-message';\n downshiftPolyfill.style.display = 'none';\n\n rootNode.appendChild(downshiftPolyfill);\n\n // Necessary properties for Downshift to register clicks inside a shadow DOM.\n // See: https://github.com/downshift-js/downshift/issues/536\n return {\n document: rootNode,\n addEventListener: rootNode.addEventListener.bind(rootNode),\n removeEventListener: rootNode.removeEventListener.bind(rootNode),\n };\n }\n\n if (typeof window === 'undefined') {\n return null;\n }\n\n return window;\n};\n", "import React from 'react';\n\nexport const getTextFromNode = (node: React.ReactNode) => {\n if (typeof node === 'string') {\n return node;\n }\n\n if (\n typeof node === 'number' ||\n typeof node === 'boolean' ||\n typeof node === 'bigint'\n ) {\n return node.toString();\n }\n\n if (node === null || node === undefined) {\n return '';\n }\n\n if (isIterable(node)) {\n return Array.from(node).map(getTextFromNode).join('');\n }\n\n if (\n typeof node === 'object' &&\n 'props' in node &&\n node.props &&\n node.props.children !== undefined\n ) {\n return getTextFromNode(node.props.children);\n }\n\n return '';\n};\n\nconst isIterable = (\n node: React.ReactNode\n): node is Iterable<React.ReactNode> => {\n return typeof node[Symbol.iterator] === 'function';\n};\n", "import * as React from 'react';\n\nexport function SvgChevronDown() {\n return (\n <span aria-hidden={true} data-testid=\"ads-refreshed-icon\">\n <svg viewBox=\"-2 -2 16 16\">\n <path\n fill=\"currentColor\"\n fillRule=\"evenodd\"\n d=\"M2.03 3.97 6 7.94l3.97-3.97 1.06 1.06-4.5 4.5a.75.75 0 0 1-1.06 0l-4.5-4.5z\"\n clipRule=\"evenodd\"\n />\n </svg>\n </span>\n );\n}\n", "import styled from '@emotion/styled';\nimport React from 'react';\n\nimport {\n getColorValue,\n getRadius,\n getShadow,\n getSize,\n getFocusRing,\n u,\n} from '../../utilities';\n\nimport { SvgCheck } from '../icon/available-icons/check';\nimport Align from '../align/align';\nimport Container from '../container/container';\nimport Icon from '../icon/icon';\nimport Text from '../text/text';\n\ntype MenuPositionsProps = {\n [key: string]:\n | 'bottom-start'\n | 'bottom-end'\n | 'top-start'\n | 'top-end'\n | 'left-start'\n | 'right-start';\n};\n\nexport const menuPositions: MenuPositionsProps = {\n left: 'bottom-start',\n right: 'bottom-end',\n ['topLeft']: 'top-start',\n ['topRight']: 'top-end',\n leftSide: 'left-start',\n rightSide: 'right-start',\n};\n\nconst MenuContainer = styled.div<MenuProps>`\n background-color: ${getColorValue('overlay')};\n display: flex;\n flex-direction: column;\n margin: 0;\n ${props => getSize('min-width', props.minWidth)};\n ${props => getSize('max-width', props.maxWidth)};\n ${props => getSize('max-height', props.maxHeight)};\n z-index: ${props => props.zIndex};\n border: 1px solid ${getColorValue('border')};\n ${getShadow('medium')};\n ${getRadius('250')};\n`;\n\nconst MenuWrapper = styled.ul<MenuProps>`\n padding: ${props =>\n props.search ? `0 ${u(1.5)} ${u(1.5)} ${u(1.5)}` : u(1.5)};\n list-style: none;\n overflow: auto;\n margin: 0;\n`;\n\nconst MenuItemWrapper = styled.li<MenuItemProps>`\n display: ${({ hidden }) => (hidden ? 'none' : 'grid')};\n grid-auto-flow: column;\n grid-template-columns: ${props => props.columns};\n ${getSize('grid-gap', 'small')};\n ${getRadius('175')};\n align-items: center;\n min-height: ${u(5)};\n padding: 0 ${u(2)};\n cursor: ${props => (props.isDisabled ? 'default' : 'pointer')};\n &:focus-visible {\n outline: 1px solid transparent;\n }\n &:focus-visible {\n ${getFocusRing(undefined, 'inset')};\n }\n ${props =>\n props.isHighlighted &&\n !props.isDisabled &&\n `\n background-color: ${getColorValue('backgroundHover')};\n `};\n ${props =>\n props.hasDivider &&\n `\n position: relative;\n margin-top: ${u(3)};\n &:before {\n content: '';\n border-top: 1px solid ${getColorValue('border')};\n position: absolute;\n top: ${u(-1.5)};\n left: ${u(-1.5)};\n width: calc(100% + ${u(3)});\n }\n `};\n`;\n\nconst Image = styled.img<Pick<MenuItemProps, 'isDisabled'>>`\n height: 100%;\n width: auto;\n min-width: 100%;\n min-height: 100%;\n object-fit: cover;\n opacity: ${({ isDisabled }) => (isDisabled ? 0.5 : 1)};\n`;\n\nexport const MenuItem = ({\n isDisabled,\n isHighlighted,\n isSelected,\n icon,\n hasDivider,\n children,\n menuItemRole,\n ...props\n}: MenuItemProps & React.ComponentProps<typeof MenuItemWrapper>) => {\n const checkColumn = isSelected ? 'auto' : '';\n const iconColumn = icon ? 'auto' : '';\n const columns = `${iconColumn} 1fr ${checkColumn}`;\n const color = isDisabled ? 'disabledContent' : undefined;\n const updatedProps = menuItemRole\n ? {\n ...props,\n role: menuItemRole,\n }\n : props;\n\n return (\n <MenuItemWrapper\n isHighlighted={isHighlighted}\n isDisabled={isDisabled}\n columns={columns}\n hasDivider={hasDivider}\n tabIndex={isDisabled ? -1 : 0}\n data-highlighted={isHighlighted || undefined}\n {...props}\n >\n {icon &&\n (typeof icon === 'string' ? (\n <Container radius=\"50\" width={3} height={3} overflow=\"hidden\">\n <Align alignment=\"center\">\n <Image src={icon} alt=\"\" isDisabled={isDisabled} />\n </Align>\n </Container>\n ) : (\n <Icon icon={icon} color={color} />\n ))}\n <Text color={color} hasEllipsis>\n {children}\n </Text>\n {isSelected && <Icon icon={<SvgCheck />} color={color} />}\n </MenuItemWrapper>\n );\n};\n\nconst Menu = ({\n position,\n zIndex,\n minWidth,\n maxWidth,\n maxHeight,\n children,\n role,\n downshiftMenuProps = () => null,\n search,\n ...props\n}: MenuProps & React.ComponentProps<typeof MenuContainer>) => {\n const updatedDownshiftMenuProps = role\n ? {\n ...downshiftMenuProps(),\n role,\n }\n : { ...downshiftMenuProps() };\n\n return (\n <MenuContainer\n minWidth={minWidth}\n maxWidth={maxWidth}\n maxHeight={maxHeight}\n zIndex={zIndex}\n position={position}\n {...downshiftMenuProps()}\n {...props}\n >\n {search && search}\n <MenuWrapper search={search}>{children}</MenuWrapper>\n </MenuContainer>\n );\n};\n\ntype MenuProps = {\n isDisabled?: boolean;\n position?: string;\n zIndex?: number;\n minWidth?: number | string;\n maxWidth?: number | string;\n maxHeight?: number | string;\n children?: React.ReactNode;\n downshiftMenuProps?: any;\n search?: React.ReactElement;\n role?: React.AriaRole;\n};\n\ntype MenuItemProps = {\n isDisabled?: boolean;\n isHighlighted?: boolean;\n isSelected?: boolean;\n icon?: React.ReactNode | string;\n hasDivider?: boolean;\n children?: React.ReactNode;\n columns?: string;\n hidden?: boolean;\n menuItemRole?: React.AriaRole;\n};\n\nexport default Menu;\n", "import CheckMarkIcon from '@atlaskit/icon/core/check-mark';\nimport * as React from 'react';\n\nexport function SvgCheck() {\n return <CheckMarkIcon label=\"\" testId=\"ads-refreshed-icon\" />;\n}\n", "import styled from '@emotion/styled';\nimport React from 'react';\n\nimport { SvgSearch } from '../icon/available-icons/search';\nimport TextInput from '../text-input/text-input';\nimport { u } from '../../utilities';\n\nconst SearchBarContainer = styled.div`\n padding: ${u(1.5)} ${u(1.5)} 0;\n margin-bottom: ${u(1.5)};\n position: sticky;\n top: 0;\n`;\n\nconst SearchBar = ({\n ariaLabel,\n placeholder,\n value,\n onChange,\n getInputProps,\n}: {\n ariaLabel: string;\n placeholder: string;\n value: string;\n onChange: (e: React.ChangeEvent<HTMLInputElement>) => void;\n getInputProps?: any;\n}) => {\n return (\n <SearchBarContainer>\n <TextInput\n aria-label={ariaLabel}\n icon={<SvgSearch />}\n {...getInputProps({\n placeholder,\n value,\n onChange,\n type: 'text',\n })}\n />\n </SearchBarContainer>\n );\n};\n\nexport default SearchBar;\n", "import SearchIcon from '@atlaskit/icon/core/search';\nimport * as React from 'react';\n\nexport function SvgSearch() {\n return <SearchIcon label=\"\" testId=\"ads-refreshed-icon\" />;\n}\n", "import styled from '@emotion/styled';\nimport React from 'react';\nimport { useTransition } from 'transition-hook';\n\nimport usePreventScroll from '../../hooks/use-prevent-scroll';\nimport { LensDivProps } from '../../types';\nimport { getColorValue } from '../../utilities';\n\nconst duration = 300;\n\nconst BackdropWrapper = styled.div<BackdropProps>`\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n height: 100vh;\n background: ${props => getColorValue(props.backgroundColor)};\n z-index: ${props => props.zIndex};\n overflow: hidden;\n`;\n\nconst ChildrenWrapper = styled.div`\n overflow: auto;\n height: 100%;\n`;\n\nconst Backdrop = ({\n children,\n isOpen,\n zIndex = 1000,\n backgroundColor = 'backdropDark',\n ...props\n}: BackdropProps &\n React.ComponentProps<typeof BackdropWrapper> &\n Omit<\n LensDivProps,\n keyof BackdropProps & React.ComponentProps<typeof BackdropWrapper>\n >) => {\n const { stage, shouldMount } = useTransition(isOpen, duration);\n\n usePreventScroll('html', isOpen);\n\n return (\n <>\n {shouldMount && (\n <BackdropWrapper\n backgroundColor={backgroundColor}\n zIndex={zIndex}\n style={{\n transition: `opacity ${duration}ms`,\n opacity: stage === 'enter' ? 1 : 0,\n }}\n {...props}\n >\n <ChildrenWrapper>{children}</ChildrenWrapper>\n </BackdropWrapper>\n )}\n </>\n );\n};\n\ntype BackdropProps = {\n isOpen?: boolean;\n children?: React.ReactNode;\n zIndex?: number;\n backgroundColor?: string;\n};\n\nexport default Backdrop;\n", "import { useLayoutEffect } from 'react';\n\n/**\n * Usage:\n * usePreventScroll(<level>, <boolean-condition>);\n *\n * `level` allows you to control whether the styles\n * are passed to html or body, whichever level makes more sense\n * for your application.\n **/\nfunction usePreventScroll(level: 'body' | 'html', enabled?: boolean): void {\n const safeDocument: Document = document;\n\n useLayoutEffect(() => {\n const html = safeDocument?.documentElement;\n const body = safeDocument?.body;\n\n if (safeDocument == undefined || !html || !body) {\n return;\n }\n\n if (enabled) {\n // Add styles if enabled\n const scrollBarWidth = window.innerWidth - html.clientWidth;\n const bodyPaddingRight =\n parseInt(\n window.getComputedStyle(body).getPropertyValue('padding-right'),\n /* Force radixValue to be base-10 system to avoid errors:\n * https://stackoverflow.com/questions/6611824/why-do-we-need-to-use-radix-parameter-when-calling-parseint\n */\n 10\n ) || 0;\n /**\n * [1] iOS and desktop Safari bug: Requires position to make `overflow: hidden`\n * prevent scrolling.\n * [2] Desktop Safari bug: Must override overflow in both directions\n * since `overflowY` won't prevent scroll if `overflowX` is applied.\n * [3] paddingRight takes into account scrollbars by running a check.\n **/\n\n switch (level) {\n case 'html': {\n html.style.position = 'relative'; /* [1] */\n html.style.overflow = 'hidden'; /* [2] */\n body.style.paddingRight = `${\n bodyPaddingRight + scrollBarWidth\n }px`; /* [3] */\n break;\n }\n case 'body': {\n body.style.setProperty('position', 'relative'); /* [1] */\n body.style.setProperty('overflow', 'hidden'); /* [2] */\n body.style.setProperty(\n 'padding-right',\n `${bodyPaddingRight + scrollBarWidth}px`\n ); /* [3] */\n break;\n }\n\n default:\n return;\n }\n }\n\n return () => {\n switch (level) {\n case 'html': {\n // TODO(LNS-221): Preserve previous style states rather than resetting to empty values for more robust utility\n html.style.position = ''; /* [1] */\n html.style.overflow = ''; /* [2] */\n body.style.paddingRight = ''; /* [3] */\n break;\n }\n case 'body': {\n body.style.removeProperty('position'); /* [1] */\n body.style.removeProperty('overflow'); /* [2] */\n body.style.removeProperty('padding-right'); /* [3] */\n break;\n }\n\n default:\n return;\n }\n };\n // TODO(LNS-215): Clear styles on return to make utility more extendable for other uses\n }, [safeDocument, enabled, level]);\n}\n\nexport default usePreventScroll;\n", "// TODO(LNS-183): Implement scroll-lock\nimport styled from '@emotion/styled';\nimport FocusTrap from 'focus-trap-react';\n\nimport React, { PropsWithChildren, useEffect } from 'react';\n\nimport usePreventScroll from '../../hooks/use-prevent-scroll';\nimport { LensDialogProps } from '../../types';\nimport {\n getColorValue,\n getPlacement,\n getRadius,\n getShadow,\n getSize,\n getSizeValue,\n u,\n} from '../../utilities';\nimport Backdrop from '../backdrop/backdrop';\nimport Container from '../container/container';\nimport { SvgClose } from '../icon/available-icons/close';\nimport IconButton from '../icon-button/icon-button';\n\nimport Spacer from '../spacer/spacer';\nimport Text from '../text/text';\n\nconst DEFAULT_MODAL_CARD_HEIGHT = '70vh';\n\nconst ContentWrapper = styled.div<ContentWrapperProps>`\n display: grid;\n grid-template-rows: ${props => props.rows};\n position: relative;\n`;\n\nconst ModalCardWrapper = styled.dialog<ModalCardProps>`\n top: ${props =>\n getPlacement(getSizeValue(props.maxHeight), props.placement).top};\n background-color: ${getColorValue('overlay')};\n color: ${getColorValue('body')};\n bottom: ${props => getPlacement(props.maxHeight, props.placement).bottom};\n ${getShadow('large')};\n ${getRadius('xlarge')};\n // Unsets bottom-radius for bottom-aligned modals\n border-bottom-left-radius: ${props =>\n props.placement === 'bottom' ? 'initial' : undefined};\n border-bottom-right-radius: ${props =>\n props.placement === 'bottom' ? 'initial' : undefined};\n ${props => getSize('max-height', props.maxHeight)};\n ${props => getSize('max-width', props.maxWidth)};\n margin: 0 auto;\n position: ${props => getPlacement(props.maxHeight, props.placement).position};\n overflow: auto;\n width: 100%;\n // TODO: LNS-150: Bake dialog resets into native resets file\n border: 0;\n padding: 0;\n &::backdrop {\n background: var(--lns-color-overlay);\n }\n`;\n\nconst CloseIconSection = styled.div`\n position: absolute;\n top: ${u(1.5)};\n right: ${u(1.5)};\n z-index: 1;\n`;\n\nconst RightButtonsSection = styled.div`\n margin-left: auto;\n\n * {\n vertical-align: middle;\n }\n`;\n\nconst TitleSection = styled.div<TitleSectionProps>`\n padding-left: var(--lns-space-xlarge);\n padding-right: var(--lns-space-xlarge);\n padding-top: var(--lns-space-xlarge);\n padding-bottom: ${props => props.bottom};\n flex-shrink: 0;\n`;\n\nconst ButtonsSection = styled.div<ButtonsSectionProps>`\n padding-left: var(--lns-space-xlarge);\n padding-right: var(--lns-space-xlarge);\n padding-bottom: var(--lns-space-xlarge);\n padding-top: ${props =>\n props.hasDividers ? 'var(--lns-space-medium)' : props.top};\n flex-shrink: 0;\n display: flex;\n justify-content: space-between;\n align-items: center;\n`;\n\nconst ChildrenSection = styled.div<Omit<ChildrenSectionProps, 'title'>>`\n display: flex;\n flex-direction: column;\n overflow: auto;\n padding-top: ${props =>\n props.hasTitle && !props.noPadding\n ? 0\n : !props.hasTitle && !props.noPadding\n ? 'var(--lns-space-xlarge)'\n : 0};\n padding-bottom: ${props =>\n props.hasButtons && !props.noPadding\n ? 0\n : !props.hasButtons && !props.noPadding\n ? 'var(--lns-space-xlarge)'\n : 0};\n padding-left: ${props => (props.noPadding ? 0 : 'var(--lns-space-xlarge)')};\n padding-right: ${props => (props.noPadding ? 0 : 'var(--lns-space-xlarge)')};\n border-style: solid;\n border-color: ${getColorValue('border')};\n border-width: ${props => (props.hasDividers ? '1px 0' : '0')};\n`;\n\nconst ModalCardChildrenSection = styled.div<{ maxHeight: number | string }>`\n overflow: auto;\n\n ${props => getMaxHeight(props.maxHeight)};\n\n & > * {\n ${props => getMaxHeight(props.maxHeight)};\n }\n`;\n\nconst getMaxHeight = (maxHeight: number | string) => {\n if (typeof maxHeight === 'number') {\n return getSize('max-height', maxHeight);\n }\n\n return 'max-height: ' + maxHeight;\n};\n\nexport const ModalCard = ({\n children,\n onCloseClick,\n isOpen,\n maxWidth = 60,\n maxHeight = DEFAULT_MODAL_CARD_HEIGHT,\n placement = 'center',\n ariaLabel,\n ariaModal,\n ariaLabelledBy,\n ref,\n removeClose,\n initialFocus,\n ...props\n}: ModalCardProps & {\n initialFocus?:\n | HTMLElement\n | SVGElement\n | string\n | false\n | (() => HTMLElement | SVGElement | string | false | undefined);\n} & React.ComponentProps<typeof ModalCardWrapper> &\n Omit<\n LensDialogProps,\n keyof ModalCardProps & React.ComponentProps<typeof ModalCardWrapper>\n >) => {\n const keyListener = e => {\n if (e.key === 'Escape') {\n e.preventDefault();\n\n if (!removeClose) {\n onCloseClick(e);\n }\n }\n };\n\n useEffect(() => {\n window.addEventListener('keydown', keyListener);\n\n return () => {\n window.removeEventListener('keydown', keyListener);\n };\n }, [isOpen, onCloseClick]);\n\n usePreventScroll('html', isOpen);\n\n return (\n <FocusTrap\n active={isOpen}\n focusTrapOptions={{\n clickOutsideDeactivates: false,\n allowOutsideClick: true,\n ...(initialFocus !== undefined ? { initialFocus } : {}),\n }}\n >\n {/* This dialog is interactable with the keyboard and need keyboard events -\n the keydown event is handled by the useEffect above.\n */}\n {/* eslint-disable-next-line styled-components-a11y/no-noninteractive-element-interactions, styled-components-a11y/click-events-have-key-events */}\n <ModalCardWrapper\n open={isOpen}\n maxWidth={maxWidth}\n maxHeight={maxHeight}\n placement={placement}\n onClick={e => e.stopPropagation()}\n ref={ref}\n aria-label={ariaLabel}\n aria-modal={ariaModal}\n aria-labelledby={ariaLabelledBy}\n {...props}\n >\n {!removeClose && onCloseClick && (\n <CloseIconSection>\n <IconButton\n altText=\"Close\"\n icon={<SvgClose />}\n onClick={onCloseClick}\n />\n </CloseIconSection>\n )}\n <ModalCardChildrenSection\n // If we are hiding the close button, we have to make the child container tab-able to allow <FocusTrap/> to\n // render, since it fails if there is not at least one tab-able node.\n {...(removeClose ? { tabIndex: 0 } : { tabIndex: -1 })}\n maxHeight={maxHeight}\n >\n {children}\n </ModalCardChildrenSection>\n </ModalCardWrapper>\n </FocusTrap>\n );\n};\n\ntype AllProps = ModalProps & React.ComponentProps<typeof Backdrop>;\n\nconst Modal = React.forwardRef(\n (\n {\n children,\n id,\n isOpen,\n mainButton,\n secondaryButton,\n alternativeButton,\n title,\n noPadding,\n onCloseClick,\n onBackgroundClick,\n onKeyDown,\n hasDividers,\n maxHeight = '70vh',\n maxWidth = 60,\n placement = 'center',\n zIndex = 1000,\n ariaLabel,\n ariaModal = true,\n ariaLabelledBy,\n initialFocus,\n ...props\n }: AllProps & {\n initialFocus?:\n | HTMLElement\n | SVGElement\n | string\n | false\n | (() => HTMLElement | SVGElement | string | false | undefined);\n },\n ref: React.ForwardedRef<HTMLDialogElement>\n ) => {\n const titleId = id ? `${id}-modal-title` : 'modal-title';\n const hasButtons =\n mainButton || secondaryButton || alternativeButton ? true : false;\n const closeClickHandler = e => {\n if (onBackgroundClick) {\n e.stopPropagation();\n onBackgroundClick(e);\n\n return;\n }\n\n onCloseClick(e);\n };\n\n return (\n <Backdrop isOpen={isOpen} zIndex={zIndex} {...props}>\n <Container\n height=\"100%\"\n onClick={closeClickHandler}\n onKeyDown={onKeyDown}\n >\n <ModalCard\n ref={ref}\n id={id}\n isOpen={isOpen}\n maxHeight={maxHeight}\n maxWidth={maxWidth}\n placement={placement}\n onCloseClick={onCloseClick}\n ariaLabel={ariaLabel}\n ariaModal={ariaModal}\n ariaLabelledBy={ariaLabelledBy ?? titleId ?? undefined}\n initialFocus={initialFocus}\n >\n <ContentWrapper\n rows={`${title ? 'auto ' : ''} ${children ? '1fr ' : ''} ${\n hasButtons ? 'auto' : ''\n }`}\n >\n {title && (\n <TitleSection\n bottom={\n children\n ? 'var(--lns-space-medium)'\n : 'var(--lns-space-xlarge)'\n }\n >\n <Text htmlTag=\"h1\" variant=\"title\" id={titleId}>\n {title}\n </Text>\n </TitleSection>\n )}\n <ChildrenSection\n noPadding={noPadding}\n hasDividers={hasDividers}\n hasTitle={Boolean(title)}\n hasButtons={hasButtons}\n >\n {children && children}\n </ChildrenSection>\n\n {hasButtons && (\n <ButtonsSection\n top={children ? 'var(--lns-space-xlarge)' : 0}\n hasDividers={hasDividers}\n >\n {alternativeButton}\n <RightButtonsSection>\n {secondaryButton && (\n <Spacer right=\"small\" isInline>\n {secondaryButton}\n </Spacer>\n )}\n {mainButton}\n </RightButtonsSection>\n </ButtonsSection>\n )}\n </ContentWrapper>\n </ModalCard>\n </Container>\n </Backdrop>\n );\n }\n);\n\ntype ModalProps = PropsWithChildren<{\n isOpen?: boolean;\n mainButton?: React.ReactNode;\n secondaryButton?: React.ReactNode;\n alternativeButton?: React.ReactNode;\n title?: React.ReactNode;\n onCloseClick?: React.ReactEventHandler;\n onBackgroundClick?: React.ReactEventHandler;\n onKeyDown?: React.ReactEventHandler;\n hasDividers?: boolean;\n maxHeight?: number | string;\n maxWidth?: number | string;\n noPadding?: boolean;\n placement?: 'center' | 'bottom';\n zIndex?: number;\n ariaLabel?: string;\n ariaModal?: boolean;\n ariaLabelledBy?: string;\n initialFocus?:\n | HTMLElement\n | SVGElement\n | string\n | false\n | (() => HTMLElement | SVGElement | string | false | undefined);\n}>;\n\ntype ModalCardProps = PropsWithChildren<{\n id?: string;\n isOpen?: boolean;\n onKeyDown?: React.ReactEventHandler;\n onCloseClick?: React.ReactEventHandler;\n placement?: string;\n maxHeight?: number | string;\n maxWidth?: number | string;\n ariaLabel?: string;\n ariaModal?: boolean;\n ariaLabelledBy?: string;\n removeClose?: boolean;\n}>;\n\ntype ChildrenSectionProps = {\n title?: React.ReactNode;\n hasButtons?: boolean;\n hasDividers?: boolean;\n hasTitle: boolean;\n noPadding?: boolean;\n};\n\ntype ButtonsSectionProps = {\n top?: string | number;\n hasDividers?: boolean;\n};\n\ntype TitleSectionProps = {\n bottom: number | string;\n};\n\ntype ContentWrapperProps = {\n rows: string;\n};\n\nexport default Modal;\n", "import CloseIcon from '@atlaskit/icon/core/close';\nimport * as React from 'react';\n\nexport function SvgClose() {\n return <CloseIcon label=\"\" testId=\"ads-refreshed-icon\" />;\n}\n", "import { css } from '@emotion/react';\nimport styled from '@emotion/styled';\nimport React from 'react';\n\nimport { LensAnchorProps } from '../../types';\nimport { getColorValue, getFocusRing } from '../../utilities';\n\nconst variants = {\n neutral: {\n color: getColorValue('inherit'),\n focusRing: getFocusRing(),\n underline: 'inactive',\n },\n primary: {\n color: getColorValue('primary'),\n focusRing: getFocusRing(),\n underline: 'inactive',\n },\n subtle: {\n color: getColorValue('body'),\n focusRing: getFocusRing(),\n underline: 'hover',\n },\n};\n\nconst statusStyles = {\n enabled: css`\n cursor: pointer;\n `,\n disabled: css`\n pointer-events: none;\n color: ${getColorValue('disabledContent')};\n `,\n};\n\nconst buttonStyles = {\n isButton: css`\n background: none;\n border: none;\n font: inherit;\n `,\n};\n\nconst LinkWrapper = styled.a<LinkWrapperProps>`\n ${props => !props.disabled && `color: ${variants[props.variant].color}`};\n ${props => (props.disabled ? statusStyles.disabled : statusStyles.enabled)};\n ${props => props.as === 'button' && buttonStyles.isButton};\n ${props =>\n `text-decoration: ${\n variants[props.variant].underline === 'inactive' ? 'underline' : 'none'\n }`};\n border-radius: 0.28em;\n box-shadow: 0 0 0 1px transparent;\n text-underline-offset: 0.35em;\n transition: 0.3s box-shadow;\n &:hover {\n ${props =>\n `text-decoration: ${\n variants[props.variant].underline === 'hover' ? 'underline' : 'none'\n }`};\n }\n &:focus,\n &:focus-visible {\n outline: 1px solid transparent;\n }\n &:focus-visible {\n ${getFocusRing()};\n }\n &::-moz-focus-inner {\n border: 0;\n }\n`;\n\n// This implementation can trigger false positives for accessibility rules\n// TODO: Improve button link semantics to avoid jsx-a11y/anchor-is-valid warnings\nconst Link = ({\n children,\n href,\n variant = 'primary',\n htmlTag = 'a',\n isDisabled,\n ...props\n}: LinkProps &\n React.ComponentProps<typeof LinkWrapper> &\n Omit<\n LensAnchorProps,\n keyof LinkProps & React.ComponentProps<typeof LinkWrapper>\n >) => (\n <LinkWrapper\n href={href}\n variant={variant}\n as={htmlTag}\n disabled={isDisabled}\n {...props}\n >\n {children}\n </LinkWrapper>\n);\n\nexport const availableVariants = Object.keys(variants);\n\ntype LinkProps = {\n children?: React.ReactNode;\n href?: string;\n variant?: 'neutral' | 'primary' | 'subtle';\n htmlTag?: 'button' | 'a';\n isDisabled?: boolean;\n onClick?: React.MouseEventHandler<HTMLAnchorElement>;\n target?: string;\n};\n\ntype LinkWrapperProps = {\n children?: React.ReactNode;\n href?: string;\n disabled?: boolean;\n variant?: 'neutral' | 'primary' | 'subtle';\n as?: string;\n target?: string;\n};\n\nexport default Link;\n", "import styled from '@emotion/styled';\nimport React from 'react';\n\nimport { getColorValue, getRadius, getTextSize, u } from '../../utilities';\nimport Spacer from '../spacer/spacer';\nimport Text from '../text/text';\n\nconst sizesStyles = {\n small: {\n padding: `${u(1.5)} ${u(1.75)}`,\n textSize: 'small',\n },\n medium: {\n padding: `${u(1.5)} var(--lns-formFieldHorizontalPadding)`,\n textSize: 'medium',\n },\n};\n\nconst TextareaWrapper = styled.textarea<TextareaProps>`\n width: 100%;\n border: none;\n font-family: inherit;\n color: inherit;\n background-color: ${getColorValue('formFieldBackground')};\n transition: 0.3s box-shadow;\n padding: ${props => sizesStyles[props.size].padding};\n ${getRadius('large')};\n box-shadow: inset 0 0 0 var(--lns-formFieldBorderWidth)\n ${props =>\n props.error\n ? 'var(--lns-color-danger)'\n : 'var(--lns-color-formFieldBorder)'};\n ${props => getTextSize(sizesStyles[props.size].textSize)};\n resize: ${props => props.resize};\n\n &:hover {\n box-shadow: inset 0 0 0 var(--lns-formFieldBorderWidthFocus)\n ${props =>\n props.error ? 'var(--lns-color-danger)' : 'var(--lns-color-blurple)'};\n }\n\n &:focus {\n outline: 1px solid\n ${props => (props.error ? 'var(--lns-color-orangeLight)' : 'transparent')};\n box-shadow: ${props =>\n props.error\n ? 'var(--lns-formFieldBorderShadowError)'\n : 'var(--lns-formFieldBorderShadowFocus)'};\n }\n\n &:disabled {\n color: ${getColorValue('disabledContent')};\n background-color: ${getColorValue('disabledBackground')};\n }\n\n &:disabled:hover {\n box-shadow: inset 0 0 0 var(--lns-formFieldBorderWidth)\n var(--lns-color-formFieldBorder);\n }\n\n &::placeholder {\n color: ${getColorValue('bodyDimmed')};\n }\n`;\n\nconst Textarea = React.forwardRef(\n (\n {\n onChange,\n value,\n rows = 4,\n isDisabled,\n placeholder,\n size = 'medium',\n resize = 'both',\n error = null,\n ...props\n }: TextareaProps & React.ComponentProps<typeof TextareaWrapper>,\n ref: React.ForwardedRef<HTMLTextAreaElement>\n ) => (\n <>\n <TextareaWrapper\n disabled={isDisabled}\n onChange={onChange}\n placeholder={placeholder}\n ref={ref}\n rows={rows}\n value={value}\n size={size}\n resize={resize}\n error={error}\n {...props}\n />\n {error ? (\n <>\n <Spacer bottom=\"xmsall\" />\n <Text color=\"danger\" fontWeight=\"regular\" size=\"body-md\">\n {error}\n </Text>\n </>\n ) : null}\n </>\n )\n);\n\ntype TextareaProps = {\n rows?: number;\n value?: string;\n placeholder?: string;\n isDisabled?: boolean;\n onChange?: React.ReactEventHandler;\n size?: 'small' | 'medium';\n resize?: 'none' | 'both' | 'horizontal' | 'vertical';\n error?: string;\n};\n\nexport default Textarea;\n", "import styled from '@emotion/styled';\nimport Downshift from 'downshift';\nimport React, {\n HTMLAttributes,\n useEffect,\n useState,\n useMemo,\n forwardRef,\n useRef,\n useCallback,\n} from 'react';\n\nimport { useLayer } from 'react-laag';\nimport ResizeObserver from 'resize-observer-polyfill';\n\nimport { LensDivProps } from '../../types';\n\nimport { getDownshiftEnvironment } from '../../utilities/downshift';\nimport { getColorValue, getSize, u } from '../../utilities';\nimport { SvgChevronDown } from '../icon/available-icons/chevron-down';\nimport Icon from '../icon/icon';\n\nimport Menu, { MenuItem, menuPositions } from '../menu/menu';\nimport Align from '../align/align';\nimport Container from '../container/container';\nimport Loader from '../loader/loader';\nimport Spacer from '../spacer/spacer';\nimport Text from '../text/text';\n\nconst TypeaheadWrapper = styled.div`\n position: relative;\n`;\n\nconst Group = styled.ul`\n list-style: none;\n margin: 0;\n padding: 0;\n`;\n\nconst ErrorMessage = styled.span`\n color: var(--lns-color-red);\n margin-top: var(--lns-space-xsmall);\n display: block;\n width: 100%;\n grid-column-start: 1;\n grid-column-end: 3;\n`;\n\nconst isGrouped = (\n options: OptionsObject[] | GroupedOptionsObject[]\n): options is GroupedOptionsObject[] =>\n Array.isArray(options) && options.length > 0 && 'group' in options[0];\n\nconst getSelectedOptionObject = ({ options, selectedOptionValue }) => {\n if (!options || !selectedOptionValue) {\n return { icon: null, title: null };\n }\n\n if (isGrouped(options)) {\n for (const option of options) {\n const foundItem = option.items.find(\n item => item.value === selectedOptionValue\n );\n if (foundItem) {\n return foundItem;\n }\n }\n } else {\n const foundItem = options.find(item => item.value === selectedOptionValue);\n return foundItem || { icon: null, title: null };\n }\n\n return { icon: null, title: null };\n};\n\nconst getIcon = ({ options, selectedItem, selectedOptionValue }) => {\n if (selectedItem) {\n return selectedItem.icon;\n }\n\n if (selectedOptionValue) {\n return getSelectedOptionObject({ options, selectedOptionValue }).icon;\n }\n};\n\nconst getTitle = ({\n options,\n selectedItem,\n selectedOptionValue,\n placeholder,\n}) => {\n if (selectedItem) {\n return selectedItem.title;\n }\n\n if (selectedOptionValue) {\n return getSelectedOptionObject({ options, selectedOptionValue }).title;\n }\n\n return placeholder;\n};\n\nconst getHeaderAccessibilityProps = ({\n selectedItem,\n getInputProps,\n ariaMenuName,\n}) => {\n const valueLabel = selectedItem\n ? `selected value is ${selectedItem.title}`\n : 'no value selected';\n\n return {\n // Ensures all options within the list of selections can be narrated by a screen reader\n 'aria-activedescendant': getInputProps()['aria-activedescendant'],\n // The existing aria-label includes whether or not the menu is open or closed, and we add the valueLabel to make a screen reader narrate what is selected\n 'aria-label': [ariaMenuName, valueLabel].filter(Boolean).join(', '),\n };\n};\n\nconst TypeaheadHeaderWrapper = styled.button`\n position: relative;\n width: 100%;\n background: none;\n border: none;\n padding: 0;\n margin: 0;\n font: inherit;\n color: inherit;\n cursor: pointer;\n\n &:disabled {\n cursor: default;\n }\n`;\n\nconst TypeaheadInputField = styled.input<{\n hasIcon?: boolean;\n hasAddOn?: boolean;\n hasError?: boolean;\n isDisabled?: boolean;\n}>`\n -webkit-appearance: none;\n font-family: inherit;\n width: 100%;\n height: var(--lns-formFieldHeight);\n border: none;\n color: inherit;\n background-color: ${getColorValue('formFieldBackground')};\n transition: 0.3s box-shadow;\n padding-top: 0;\n padding-bottom: 0;\n id: ${props => props.id};\n padding-left: ${props =>\n props.hasIcon ? u(5.5) : 'var(--lns-formFieldHorizontalPadding)'};\n padding-right: ${props =>\n props.hasAddOn ? u(5.5) : 'var(--lns-formFieldHorizontalPadding)'};\n border-radius: var(--lns-formFieldRadius);\n box-shadow: inset 0 0 0\n ${props =>\n props.hasError\n ? 'var(--lns-formFieldBorderWidthFocus) var(--lns-color-danger)'\n : 'var(--lns-formFieldBorderWidth) var(--lns-color-formFieldBorder)'};\n\n ${getSize('font-size', 'medium')};\n\n &:hover:not(:disabled):not(:focus) {\n box-shadow: inset 0 0 0 var(--lns-formFieldBorderWidthFocus)\n ${props =>\n props.hasError\n ? 'var(--lns-color-danger)'\n : 'var(--lns-color-blurple)'};\n }\n\n &:focus {\n outline: 1px solid transparent;\n box-shadow: var(--lns-formFieldBorderShadowFocus);\n }\n\n &:disabled {\n color: ${getColorValue('disabledContent')};\n background-color: ${getColorValue('disabledBackground')};\n }\n\n &:disabled:hover {\n box-shadow: inset 0 0 0 var(--lns-formFieldBorderWidth)\n var(--lns-color-formFieldBorder);\n }\n\n &::placeholder {\n color: ${getColorValue('bodyDimmed')};\n }\n`;\n\nconst IconSection = styled.div`\n position: absolute;\n pointer-events: none;\n width: ${u(6)};\n height: 100%;\n display: flex;\n align-items: center;\n justify-content: center;\n left: 0;\n`;\n\nconst AddOnSection = styled.div`\n position: absolute;\n height: 100%;\n display: flex;\n align-items: center;\n justify-content: center;\n right: 0;\n width: ${u(6)};\n top: 50%;\n transform: translateY(-50%);\n`;\n\nconst TextOverlay = styled.div<{ hasIcon?: boolean }>`\n position: absolute;\n top: 0;\n left: ${props =>\n props.hasIcon ? u(5.5) : 'var(--lns-formFieldHorizontalPadding)'};\n right: ${u(5.5)};\n bottom: 0;\n display: flex;\n align-items: center;\n pointer-events: none;\n color: inherit;\n`;\n\n// Scale down proportionally (preserving aspect ratio) and crop overflow\nconst TypeaheadImage = styled.img<{ isDisabled?: boolean }>`\n height: 100%;\n width: auto;\n min-width: 100%;\n min-height: 100%;\n object-fit: cover;\n opacity: ${({ isDisabled }) => (isDisabled ? 0.5 : 1)};\n`;\n\nconst TypeaheadHeader = ({\n selectedItem,\n selectedOptionValue,\n placeholder,\n isDisabled,\n options,\n getInputProps,\n ariaMenuName,\n isOpen,\n onInputFocus,\n hasError,\n hasLoader,\n inputValue,\n handleInputValueChange,\n inputRef,\n id,\n}: TypeaheadHeaderProps) => {\n const icon = getIcon({ options, selectedItem, selectedOptionValue });\n const hasIcon = Boolean(icon);\n const color = isDisabled ? 'disabledContent' : undefined;\n\n const handleClickAndFocus = () => {\n if (!isDisabled) {\n onInputFocus();\n }\n };\n\n const inputProps = {\n role: 'combobox',\n 'aria-autocomplete': 'list',\n 'aria-haspopup': 'listbox',\n 'aria-expanded': isOpen,\n ...getHeaderAccessibilityProps({\n selectedItem,\n getInputProps,\n ariaMenuName,\n }),\n ...getInputProps({\n id,\n 'aria-labelledby': undefined,\n disabled: isDisabled,\n onFocus: handleClickAndFocus,\n onClick: handleClickAndFocus,\n value: inputValue,\n onBlur: () => {\n handleInputValueChange('');\n },\n onChange: e => handleInputValueChange(e.target.value),\n }),\n };\n\n const showPlaceholder = !inputValue && !selectedOptionValue;\n\n return (\n <TypeaheadHeaderWrapper onClick={handleClickAndFocus} disabled={isDisabled}>\n {hasIcon && (\n <IconSection>\n {typeof icon === 'string' ? (\n <Container radius=\"50\" width={3} height={3} overflow=\"hidden\">\n <Align alignment=\"center\">\n <TypeaheadImage src={icon} alt=\"\" isDisabled={isDisabled} />\n </Align>\n </Container>\n ) : (\n <Icon icon={icon} color={color} />\n )}\n </IconSection>\n )}\n\n <TypeaheadInputField\n ref={inputRef}\n {...inputProps}\n hasIcon={hasIcon}\n hasAddOn={true}\n hasError={hasError}\n isDisabled={isDisabled}\n />\n\n {!inputValue && (\n <TextOverlay hasIcon={hasIcon}>\n <Text hasEllipsis color={showPlaceholder ? 'bodyDimmed' : 'inherit'}>\n {getTitle({\n options,\n selectedItem,\n selectedOptionValue,\n placeholder,\n })}\n </Text>\n </TextOverlay>\n )}\n\n <AddOnSection>\n {hasLoader ? (\n <Loader size=\"small\" />\n ) : (\n <Icon icon={<SvgChevronDown />} color={color} />\n )}\n </AddOnSection>\n </TypeaheadHeaderWrapper>\n );\n};\n\nconst getSelectedOption = (\n value: string | null,\n options: OptionsObject[] | GroupedOptionsObject[]\n): OptionsObject | null => {\n if (isGrouped(options)) {\n for (const option of options) {\n const foundItem = option.items.find(item => item.value === value);\n if (foundItem) {\n return foundItem;\n }\n }\n } else {\n return options.find(item => item.value === value) ?? null;\n }\n\n return null;\n};\n\nconst didSelectedOptionValueChange = (\n selectedOptionValue: string | null,\n prevSelectedItem: OptionsObject | null\n) => {\n const didChange = (selectedOptionValue || null) != prevSelectedItem?.value;\n\n return didChange;\n};\n\nconst renderOption = (\n item,\n index,\n selectedItem,\n selectedOptionValue,\n highlightedIndex,\n getItemProps\n) => {\n const isSelected =\n (!selectedItem && item.value === selectedOptionValue) ||\n (selectedItem && selectedItem.value === item.value);\n return (\n <MenuItem\n key={index}\n getItemProps={getItemProps}\n icon={item.icon}\n hidden={item.hidden}\n {...getItemProps({\n key: `${item.value}-${index}`,\n index,\n item,\n disabled: item.isDisabled,\n 'aria-selected': isSelected,\n })}\n isDisabled={item.isDisabled}\n hasDivider={item.hasDivider}\n isHighlighted={highlightedIndex === index}\n isSelected={isSelected}\n >\n {item.title}\n </MenuItem>\n );\n};\n\nconst TypeaheadMenu = ({\n options,\n selectedItem,\n selectedOptionValue,\n highlightedIndex,\n getItemProps,\n isLoading,\n loadingMessage,\n emptyResultsMessage,\n hasAvailableOptions,\n ...menuProps\n}) => {\n const defaultLoadingMessage = loadingMessage || <Loader />;\n const defaultEmptyResultsMessage = emptyResultsMessage || 'No results';\n\n if (isLoading) {\n return (\n <Menu as=\"div\" {...menuProps}>\n <Container padding=\"large\">\n <Align alignment=\"center\">{defaultLoadingMessage}</Align>\n </Container>\n </Menu>\n );\n }\n\n if (!hasAvailableOptions) {\n return (\n <Menu as=\"div\" {...menuProps}>\n <Container padding=\"large\">\n <Align alignment=\"center\">{defaultEmptyResultsMessage}</Align>\n </Container>\n </Menu>\n );\n }\n\n if (!isGrouped(options)) {\n return (\n <Menu {...menuProps}>\n {options.map((item, index) =>\n renderOption(\n item,\n index,\n selectedItem,\n selectedOptionValue,\n highlightedIndex,\n getItemProps\n )\n )}\n </Menu>\n );\n }\n\n let downshiftIndex = 0;\n return (\n <Menu {...menuProps}>\n {options.map(group => {\n const groupId = `group-${group.group.replace(/\\s+/g, '-')}`;\n return (\n <li key={groupId}>\n <Spacer left=\"medium\" top=\"small\" bottom=\"xsmall\">\n <Text id={groupId} size=\"body-sm\" fontWeight=\"bold\">\n {group.group}\n </Text>\n </Spacer>\n <Group role=\"group\" aria-labelledby={groupId}>\n {group.items.map(item => {\n return renderOption(\n item,\n downshiftIndex++,\n selectedItem,\n selectedOptionValue,\n highlightedIndex,\n getItemProps\n );\n })}\n </Group>\n </li>\n );\n })}\n </Menu>\n );\n};\n\nconst Typeahead = forwardRef(\n (\n {\n container,\n onOptionChange,\n onInputValueChange,\n menuZIndex = 1100,\n menuMaxWidth,\n menuMaxHeight = 34,\n menuMinWidth,\n ariaMenuName,\n selectedOptionValue,\n onOuterClick,\n options,\n placeholder,\n menuPosition = 'left',\n isDisabled,\n onOpenChange,\n isLoading,\n loadingMessage,\n emptyResultsMessage,\n errorMessage,\n id,\n ...props\n }: TypeaheadProps &\n Omit<\n React.ComponentProps<typeof TypeaheadWrapper>,\n keyof TypeaheadProps\n > &\n Omit<\n LensDivProps,\n keyof TypeaheadProps & React.ComponentProps<typeof TypeaheadWrapper>\n >,\n ref: React.ForwardedRef<HTMLInputElement>\n ) => {\n const environment = getDownshiftEnvironment(container);\n const internalInputRef = useRef<HTMLInputElement>(null);\n\n const inputRef = useCallback(\n (node: HTMLInputElement) => {\n internalInputRef.current = node;\n if (ref) {\n typeof ref === 'function' ? ref(node) : (ref.current = node);\n }\n },\n [ref]\n );\n\n const [inputValue, setInputValue] = useState<string>('');\n const [downshiftIsOpen, setDownshiftIsOpen] = useState<boolean>(false);\n const [prevSelectedItem, setPrevSelectedItem] =\n useState<OptionsObject | null>(\n getSelectedOption(selectedOptionValue, options)\n );\n const [selectedItem, setSelectedItem] = useState<OptionsObject | null>(\n prevSelectedItem\n );\n\n const handleInputValueChange = (value: string) => {\n setInputValue(value);\n onInputValueChange && onInputValueChange(value);\n };\n\n const onDownshiftChange = item => {\n const value = item || null;\n\n setSelectedItem(value);\n onOptionChange && onOptionChange(value);\n };\n\n const downshiftProps = {\n itemToString: item => (item ? item.value : ''),\n onChange: onDownshiftChange,\n onOuterClick,\n environment,\n selectedItem,\n isOpen: downshiftIsOpen,\n };\n\n if (environment) {\n downshiftProps.environment = environment;\n }\n\n const { layerProps, triggerProps, renderLayer, triggerBounds } = useLayer({\n isOpen: downshiftIsOpen,\n container,\n ResizeObserver,\n placement: menuPositions[menuPosition],\n auto: true,\n snap: true,\n });\n\n useEffect(() => {\n if (didSelectedOptionValueChange(selectedOptionValue, prevSelectedItem)) {\n const item = getSelectedOption(selectedOptionValue, options);\n\n setPrevSelectedItem(item);\n setSelectedItem(item);\n // Reset the input value when the selected option value changes\n setInputValue('');\n }\n }, [selectedOptionValue, options, prevSelectedItem]);\n\n useEffect(() => {\n onOpenChange && onOpenChange(downshiftIsOpen);\n if (!downshiftIsOpen) {\n internalInputRef.current?.blur();\n }\n }, [downshiftIsOpen, onOpenChange]);\n\n const hasAvailableOptions = useMemo(() => {\n if (!Array.isArray(options)) {\n return false;\n }\n\n return isGrouped(options)\n ? options.some(group => group.items.length > 0)\n : options.length > 0;\n }, [options]);\n\n const stateReducer = (state, changes) => {\n if (changes.isOpen !== undefined) {\n if (changes.type === Downshift.stateChangeTypes.keyDownEscape) {\n setDownshiftIsOpen(false);\n\n return { isOpen: false };\n }\n\n setDownshiftIsOpen(changes.isOpen);\n }\n\n return changes;\n };\n\n return (\n <TypeaheadWrapper {...props}>\n <Downshift {...downshiftProps} stateReducer={stateReducer}>\n {({\n getItemProps,\n getInputProps,\n getMenuProps,\n isOpen,\n highlightedIndex,\n selectedItem,\n }) => {\n return (\n // Don't set the role to combobox to ensure a consistent experience for screen readers\n <div role=\"presentation\">\n <div {...triggerProps}>\n <TypeaheadHeader\n inputRef={inputRef}\n selectedItem={selectedItem}\n selectedOptionValue={selectedOptionValue}\n placeholder={placeholder}\n isDisabled={isDisabled}\n options={options}\n getInputProps={getInputProps}\n ariaMenuName={ariaMenuName}\n inputValue={inputValue}\n handleInputValueChange={handleInputValueChange}\n isOpen={downshiftIsOpen && isOpen}\n onInputFocus={() => {\n setDownshiftIsOpen(true);\n }}\n hasLoader={isLoading}\n hasError={Boolean(errorMessage)}\n id={id}\n />\n </div>\n {downshiftIsOpen &&\n isOpen &&\n renderLayer(\n <div\n {...layerProps}\n style={{\n ...layerProps.style,\n zIndex: menuZIndex,\n width: menuMinWidth ? 'auto' : triggerBounds?.width,\n }}\n >\n <TypeaheadMenu\n options={options}\n selectedItem={selectedItem}\n selectedOptionValue={selectedOptionValue}\n hasAvailableOptions={hasAvailableOptions}\n highlightedIndex={highlightedIndex}\n getItemProps={getItemProps}\n isLoading={isLoading}\n loadingMessage={loadingMessage}\n emptyResultsMessage={emptyResultsMessage}\n position={menuPosition}\n downshiftMenuProps={getMenuProps}\n maxWidth={menuMaxWidth}\n maxHeight={menuMaxHeight}\n minWidth={menuMinWidth}\n />\n </div>\n )}\n {Boolean(errorMessage) && !downshiftIsOpen ? (\n <ErrorMessage>{errorMessage}</ErrorMessage>\n ) : null}\n </div>\n );\n }}\n </Downshift>\n </TypeaheadWrapper>\n );\n }\n);\n\nTypeahead.displayName = 'Typeahead';\n\nexport type OptionsObject = {\n value: string;\n title: React.ReactNode;\n icon?: React.ReactNode | string;\n isDisabled?: boolean;\n hasDivider?: boolean;\n hidden?: HTMLAttributes<HTMLOptionElement>['hidden'];\n};\n\nexport type GroupedOptionsObject = {\n group: string;\n items: OptionsObject[];\n};\n\ntype TypeaheadProps = {\n menuZIndex?: number;\n menuMaxHeight?: string | number;\n menuPosition?: 'left' | 'right' | 'topRight' | 'topLeft';\n\n options: OptionsObject[] | GroupedOptionsObject[];\n selectedOptionValue: string | null;\n placeholder?: React.ReactNode;\n isDisabled?: boolean;\n isLoading?: boolean;\n loadingMessage?: React.ReactNode;\n emptyResultsMessage?: React.ReactNode;\n errorMessage?: string;\n\n container?: HTMLElement;\n ariaMenuName?: string;\n menuMaxWidth?: string | number;\n menuMinWidth?: string | number;\n\n onInputValueChange?: (inputValue: string) => void;\n onOptionChange?: (selectedOption: OptionsObject | null) => void;\n onOpenChange?: (isOpen: boolean) => void;\n onOuterClick?: () => void;\n};\n\ntype TypeaheadHeaderProps = {\n selectedItem?: { icon: React.ReactNode; title: string };\n selectedOptionValue?: string;\n placeholder?: React.ReactNode;\n isDisabled?: boolean;\n options?: OptionsObject[] | GroupedOptionsObject[];\n getInputProps?: any;\n ariaMenuName?: string;\n isOpen: boolean;\n onInputFocus: () => void;\n hasError?: boolean;\n hasLoader?: boolean;\n inputValue?: string;\n handleInputValueChange?: (inputValue: string) => void;\n inputRef?: React.RefCallback<HTMLInputElement>;\n id?: string;\n};\n\nexport default Typeahead;\n", "import styled from '@emotion/styled';\nimport Downshift, { ChildrenFunction } from 'downshift';\nimport React, { useEffect, useMemo, useState } from 'react';\n\nimport { useLayer } from 'react-laag';\nimport ResizeObserver from 'resize-observer-polyfill';\n\nimport { getDownshiftEnvironment } from '../../utilities/downshift';\nimport { getTextFromNode } from '../../utilities/text';\n\nimport Menu, { MenuItem, menuPositions } from '../menu/menu';\nimport SearchBar from '../search-bar/search-bar';\n\ntype GetInputProps = Parameters<\n ChildrenFunction<Downshift>\n>[0]['getInputProps'];\n\ninterface GetAccessibilityProps {\n ariaMenuName: string | undefined;\n getInputProps: GetInputProps;\n isOpen: boolean;\n}\n\nconst getAccessibilityProps = ({\n ariaMenuName,\n getInputProps,\n isOpen,\n}: GetAccessibilityProps): {\n 'aria-activedescendant': string;\n 'aria-expanded': boolean;\n 'aria-label': string;\n} => {\n return {\n // Ensures all options within the list of selections can be narrated by a screen reader\n 'aria-activedescendant': getInputProps()['aria-activedescendant'],\n\n 'aria-expanded': isOpen,\n\n // Provides a screen-readable label for the dropdown\n 'aria-label': ariaMenuName ? ariaMenuName : '',\n };\n};\n\nconst TriggerSection = styled.div`\n display: inline-block;\n vertical-align: middle;\n`;\n\nconst Dropdown = ({\n ariaMenuName,\n menuPosition = 'left',\n menuZIndex = 1100,\n options,\n trigger,\n triggerCallback,\n isOpen: isOpenFromProps,\n menuMinWidth = 24,\n menuMaxWidth = 48,\n menuMaxHeight,\n container,\n onOuterClick,\n triggerOffset = 0,\n onOpenChange,\n search,\n role,\n menuItemRole,\n ...props\n}: DropdownProps) => {\n const environment = getDownshiftEnvironment(container);\n\n const [downshiftIsOpen, setDownshiftIsOpen] = useState(false);\n\n const [searchValue, setSearchValue] = useState('');\n\n const onSearchChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n const value = e.target.value;\n setSearchValue(value);\n };\n\n const isOpen = isOpenFromProps || downshiftIsOpen;\n\n const { layerProps, triggerProps, renderLayer } = useLayer({\n isOpen,\n container,\n placement: menuPositions[menuPosition],\n ResizeObserver,\n auto: true,\n snap: true,\n triggerOffset,\n });\n\n useEffect(() => {\n onOpenChange && onOpenChange(isOpen);\n }, [isOpen, onOpenChange]);\n\n const stateReducer = (state, changes) => {\n if (changes.isOpen !== undefined) {\n setDownshiftIsOpen(changes.isOpen);\n }\n\n return changes;\n };\n\n // Filtering in Atlassian is based on if the searched value is a substring of the provided values at\n // any point of the string.\n // For example is the searched value is \"a\" and the provided values are \"a\", \"ab\", \"b\", and \"ba\", the\n // returned values will be \"a\", \"ab\", and \"ba\".\n options = useMemo(() => {\n if (search) {\n if (search.searchType === 'startsWith') {\n return options.filter(option =>\n getTextFromNode(option.title)\n .toLowerCase()\n .startsWith(searchValue.toLowerCase())\n );\n }\n\n return options.filter(option =>\n getTextFromNode(option.title)\n .toLowerCase()\n .includes(searchValue.toLowerCase())\n );\n // If the search parameter is not provided, return the options as is\n }\n return options;\n }, [options, searchValue, search]);\n\n return (\n <Downshift\n stateReducer={stateReducer}\n itemToString={item => (item ? item.title : '')}\n onSelect={item =>\n item && !item.disabled && item.onClick && item.onClick()\n }\n onOuterClick={onOuterClick}\n environment={environment}\n >\n {({\n getInputProps,\n getItemProps,\n getMenuProps,\n getToggleButtonProps,\n highlightedIndex,\n isOpen,\n }) => (\n <div\n {...props}\n {...(triggerCallback\n ? {\n // the Downshift component appears to set the following props,\n // which we do not want applied to this element\n role: null,\n 'aria-haspopup': null,\n 'aria-expanded': null,\n 'aria-labelledby': null,\n }\n : {})}\n >\n <div {...triggerProps}>\n {triggerCallback ? (\n triggerCallback({\n ...getToggleButtonProps(),\n ...getAccessibilityProps({\n ariaMenuName,\n getInputProps,\n isOpen,\n }),\n })\n ) : (\n <TriggerSection {...getToggleButtonProps({ tabIndex: 0 })}>\n {trigger}\n </TriggerSection>\n )}\n </div>\n {isOpen &&\n renderLayer(\n <div\n {...layerProps}\n style={{ ...layerProps.style, zIndex: menuZIndex }}\n >\n <Menu\n position={menuPosition}\n minWidth={menuMinWidth}\n maxWidth={menuMaxWidth}\n maxHeight={menuMaxHeight}\n downshiftMenuProps={getMenuProps}\n role={role}\n search={\n search && (\n <SearchBar\n ariaLabel={search.searchPlaceholder}\n placeholder={search.searchPlaceholder}\n value={searchValue}\n onChange={onSearchChange}\n getInputProps={getInputProps}\n />\n )\n }\n >\n {options.map((item, index) => {\n return (\n <MenuItem\n key={index}\n isHighlighted={highlightedIndex === index}\n isDisabled={item.disabled}\n isSelected={item.selected}\n icon={item.icon}\n hasDivider={item.hasDivider}\n getItemProps={getItemProps}\n menuItemRole={menuItemRole}\n index={index}\n {...getItemProps({\n key: index,\n index,\n item,\n disabled: item.disabled,\n })}\n >\n {item.title}\n </MenuItem>\n );\n })}\n </Menu>\n </div>\n )}\n </div>\n )}\n </Downshift>\n );\n};\n\ntype OptionsObject = {\n key?: string;\n title?: React.ReactNode;\n icon?: React.ReactNode;\n onClick?: React.ReactEventHandler;\n disabled?: boolean;\n selected?: boolean;\n hasDivider?: boolean;\n};\n\ntype SearchProps = {\n searchPlaceholder: string;\n searchType?: 'contains' | 'startsWith';\n};\n\ntype TriggerProps =\n | {\n /** @deprecated Use triggerCallback and possibly with ariaMenuName for better accessibility support */\n trigger: React.ReactNode;\n triggerCallback?: never;\n }\n | {\n trigger?: never;\n triggerCallback: (buttonProps) => React.ReactNode;\n };\n\ntype DropdownProps = TriggerProps & {\n ariaMenuName?: string;\n // TODO: Update the menuPositions to match Tooltip placement Props\n menuPosition?:\n | 'left'\n | 'right'\n | 'topRight'\n | 'topLeft'\n | 'leftSide'\n | 'rightSide';\n options?: OptionsObject[];\n isOpen?: boolean;\n menuZIndex?: number;\n menuMinWidth?: number | string;\n menuMaxWidth?: number | string;\n menuMaxHeight?: number | string;\n container?: HTMLElement | (() => HTMLElement) | string;\n onOuterClick?: () => void;\n triggerOffset?: number;\n onOpenChange?: (isOpen: boolean) => void;\n search?: SearchProps;\n role?: React.AriaRole;\n menuItemRole?: React.AriaRole;\n};\n\nexport default Dropdown;\n", "import styled from '@emotion/styled';\nimport React, { ReactNode, isValidElement } from 'react';\n\nimport { LensDivProps } from '../../types';\nimport Checkbox from '../checkbox/checkbox';\nimport Radio from '../radio/radio';\nimport Switch from '../switch/switch';\n\nconst directionStyles = {\n row: {\n wrapper: {\n display: 'grid',\n gridTemplateColumns: 'auto 1fr',\n alignItems: 'center',\n },\n label: { marginLeft: 'var(--lns-space-small)' },\n errorMessage: { marginLeft: 'var(--lns-space-small)' },\n },\n 'row-reverse': {\n wrapper: {\n display: 'grid',\n gridTemplateColumns: '1fr auto',\n alignItems: 'center',\n },\n label: {},\n },\n column: {\n wrapper: {},\n label: { marginBottom: 'var(--lns-space-xsmall)' },\n },\n};\n\nconst FormFieldWrapper = styled.div<FormFieldProps>`\n ${props => props.direction && directionStyles[props.direction].wrapper};\n`;\n\nconst Label = styled.label<FormFieldProps>`\n display: block;\n ${props => props.direction && directionStyles[props.direction]?.label};\n ${props => props.isLabelClickable && 'cursor: pointer'};\n`;\n\nconst ErrorMessage = styled.span`\n color: var(--lns-color-red);\n margin-top: var(--lns-space-xsmall);\n display: block;\n width: 100%;\n grid-column-start: 1;\n grid-column-end: 3;\n`;\n\ntype InteractiveComponentType =\n | React.ComponentType<any>\n | React.ForwardRefExoticComponent<any>;\n\n// Include any Lens Components that should have a clickable label here\nconst interactiveComponents: InteractiveComponentType[] = [\n Radio,\n Checkbox,\n Switch,\n];\n\nconst isInteractiveComponent = (\n component: any\n): component is InteractiveComponentType => {\n return interactiveComponents.includes(component);\n};\n\nconst FormField = ({\n label,\n children,\n errorMessage,\n labelFor,\n direction = 'column',\n ...props\n}: FormFieldProps &\n React.ComponentProps<typeof FormFieldWrapper> &\n Omit<\n LensDivProps,\n keyof FormFieldProps & React.ComponentProps<typeof FormFieldWrapper>\n >) => {\n // Checks if child component is interactive\n const isLabelClickable = React.Children.toArray(children).some(\n child =>\n isValidElement(child) &&\n // The child might be a div, span, etc (type string) so we\n // have to typeguard before we check if our child is of interactive\n typeof child.type !== 'string' &&\n isInteractiveComponent(child.type)\n );\n\n const labelElement = label && (\n <Label\n direction={direction}\n htmlFor={labelFor}\n isLabelClickable={isLabelClickable}\n >\n {label}\n </Label>\n );\n\n return (\n <FormFieldWrapper direction={direction} {...props}>\n {direction === 'row' && (\n <>\n {children}\n {labelElement}\n </>\n )}\n {direction === 'column' && (\n <>\n {labelElement}\n {children}\n </>\n )}\n {direction === 'row-reverse' && (\n <>\n {labelElement}\n {children}\n </>\n )}\n {errorMessage && <ErrorMessage>{errorMessage}</ErrorMessage>}\n </FormFieldWrapper>\n );\n};\n\ntype FormFieldProps = {\n label?: ReactNode;\n errorMessage?: string | null;\n labelFor?: string;\n children?: React.ReactNode;\n direction?: 'row' | 'column' | 'row-reverse';\n isLabelClickable?: boolean;\n};\n\nexport default FormField;\n", "import styled from '@emotion/styled';\nimport React, { forwardRef } from 'react';\n\nimport { getColorValue, getFocusRing, getRadius, u } from '../../utilities';\n\nconst RadioLabel = styled.label`\n display: block;\n position: relative;\n\n .RadioBox:after {\n background-color: transparent;\n }\n`;\n\nconst RadioInput = styled.input`\n position: absolute;\n opacity: 0;\n\n &:not(:disabled) {\n cursor: pointer;\n\n & ~ .RadioBox {\n border: 2px solid ${getColorValue('body')};\n }\n\n &:checked ~ .RadioBox {\n border: 2px solid ${getColorValue('body')};\n }\n }\n\n &:disabled,\n &:disabled ~ .RadioBox {\n pointer-events: none;\n }\n\n &:disabled ~ .RadioBox {\n background-color: ${getColorValue('disabledBackground')};\n }\n\n &:checked {\n & ~ .RadioBox:after {\n background-color: ${getColorValue('blurple')};\n }\n\n &:disabled ~ .RadioBox:after {\n background-color: ${getColorValue('disabledContent')};\n }\n }\n\n &:focus-visible ~ .RadioBox {\n ${getFocusRing()};\n }\n`;\n\nconst RadioBox = styled.span`\n cursor: pointer;\n width: ${u(2.25)};\n height: ${u(2.25)};\n ${getRadius('full')};\n display: flex;\n align-items: center;\n justify-content: center;\n user-select: none;\n\n &:after {\n content: '';\n width: ${u(1)};\n height: ${u(1)};\n ${getRadius('full')};\n background-color: ${getColorValue('white')};\n }\n`;\n\nconst Radio = forwardRef(\n (\n {\n isDisabled,\n isChecked,\n onFocus,\n onChange,\n onBlur,\n ...props\n }: RadioProps & React.ComponentProps<typeof RadioInput>,\n ref: React.ForwardedRef<HTMLInputElement>\n ) => {\n return (\n <RadioLabel htmlFor={props.id}>\n <RadioInput\n type=\"radio\"\n disabled={isDisabled}\n checked={isChecked}\n onFocus={onFocus}\n onChange={onChange}\n onBlur={onBlur}\n ref={ref}\n {...props}\n />\n <RadioBox className=\"RadioBox\" />\n </RadioLabel>\n );\n }\n);\n\ntype RadioProps = {\n isChecked?: boolean;\n isDisabled?: boolean;\n onFocus?: React.ReactEventHandler;\n onChange?: React.ReactEventHandler;\n onBlur?: React.ReactEventHandler;\n};\n\nexport default Radio;\n", "import styled from '@emotion/styled';\nimport React from 'react';\n\nimport { LensInputProps } from '../../types';\nimport { getColorValue, getOffsetFocusRing } from '../../utilities';\n\nconst sizes = {\n medium: {\n switchHeight: 16,\n switchWidth: 32,\n knobOffset: 2,\n },\n large: {\n switchHeight: 20,\n switchWidth: 36,\n knobOffset: 2,\n },\n};\n\nconst colorStyles = {\n knob: {\n active: {\n enabled: getColorValue('white'),\n disabled: getColorValue('disabledContent'),\n },\n inactive: {\n enabled: getColorValue('white'),\n disabled: getColorValue('disabledContent'),\n },\n },\n track: {\n active: {\n enabled: getColorValue('blurple'),\n disabled: getColorValue('disabledBackground'),\n },\n inactive: {\n enabled: getColorValue('grey6'),\n disabled: getColorValue('disabledBackground'),\n },\n },\n};\n\nconst getKnobTravel = props => {\n return (\n sizes[props.switchSize].switchWidth - sizes[props.switchSize].switchHeight\n );\n};\n\nconst getKnobSize = props => {\n return (\n sizes[props.switchSize].switchHeight -\n sizes[props.switchSize].knobOffset * 2\n );\n};\n\nconst SwitchLabel = styled.label`\n display: block;\n position: relative;\n`;\n\nconst SwitchInput = styled.input<SwitchInputProps>`\n position: absolute;\n opacity: 0;\n cursor: pointer;\n\n // to overlap SwitchBox and occupy the same space\n z-index: 1;\n margin: 0;\n width: ${props => sizes[props.switchSize].switchWidth}px;\n height: ${props => sizes[props.switchSize].switchHeight}px;\n\n &:focus-visible ~ .SwitchBox {\n ${getOffsetFocusRing()};\n }\n &:not(:checked) {\n & + .SwitchBox {\n background-color: ${colorStyles.track.inactive.enabled};\n }\n &:disabled + .SwitchBox {\n background-color: ${colorStyles.track.inactive.disabled};\n }\n }\n &:checked {\n & + .SwitchBox {\n background-color: ${colorStyles.track.active.enabled};\n }\n &:disabled + .SwitchBox {\n background-color: ${colorStyles.track.active.disabled};\n }\n & + .SwitchBox:after {\n transform: translateX(${props => getKnobTravel(props)}px);\n }\n }\n &:disabled {\n pointer-events: none;\n }\n`;\n\nconst SwitchBox = styled.div<SwitchBoxProps>`\n width: ${props => sizes[props.switchSize].switchWidth}px;\n height: ${props => sizes[props.switchSize].switchHeight}px;\n position: relative;\n border-radius: var(--lns-radius-full);\n transition: 0.2s;\n cursor: ${props => (props.isDisabled ? 'default' : 'pointer')};\n &:after {\n content: '';\n position: absolute;\n top: ${props => sizes[props.switchSize].knobOffset}px;\n left: ${props => sizes[props.switchSize].knobOffset}px;\n width: ${props => getKnobSize(props)}px;\n height: ${props => getKnobSize(props)}px;\n border-radius: var(--lns-radius-full);\n transition: 0.15s;\n background-color: ${props =>\n props.isDisabled\n ? colorStyles.knob.active.disabled\n : colorStyles.knob.active.enabled};\n }\n`;\n\nconst Switch = ({\n isActive,\n isDisabled,\n onChange,\n size = 'medium',\n ariaLabelledby,\n ariaLabel,\n ariaDescribedby,\n ...props\n}: SwitchProps &\n Omit<React.ComponentProps<typeof SwitchInput>, 'size'> &\n Omit<\n LensInputProps,\n keyof SwitchProps & Omit<React.ComponentProps<typeof SwitchInput>, 'size'>\n >) => {\n if (ariaLabelledby && ariaLabel) {\n throw new Error(\n 'ariaLabelledby and ariaLabel serve the same purpose and therefore cannot be used at the same time. Choose the one that best suites your needs.'\n );\n }\n\n return (\n <SwitchLabel htmlFor={props.id}>\n <SwitchInput\n {...props}\n checked={isActive}\n disabled={isDisabled}\n onChange={onChange}\n type=\"checkbox\"\n switchSize={size}\n aria-labelledby={ariaLabelledby}\n aria-label={ariaLabel}\n aria-describedby={ariaDescribedby}\n aria-checked={isActive}\n />\n <SwitchBox\n className=\"SwitchBox\"\n isDisabled={isDisabled}\n isActive={isActive}\n switchSize={size}\n />\n </SwitchLabel>\n );\n};\n\ntype SwitchProps = {\n isActive?: boolean;\n isDisabled?: boolean;\n onChange?: React.ReactEventHandler;\n size?: 'medium' | 'large';\n ariaLabelledby?: string;\n ariaLabel?: string;\n ariaDescribedby?: string;\n};\n\ntype SwitchInputProps = {\n switchSize?: 'medium' | 'large';\n};\n\ntype SwitchBoxProps = {\n isActive?: boolean;\n isDisabled?: boolean;\n switchSize?: 'medium' | 'large';\n};\n\nexport default Switch;\n", "import styled from '@emotion/styled';\nimport React, { useEffect } from 'react';\n\nimport { SeverityLevels } from './types';\nimport { usePushPageDown } from '../../hooks';\nimport { LensAsideProps } from '../../types';\nimport { u } from '../../utilities';\nimport Align from '../align/align';\nimport Arrange from '../arrange/arrange';\nimport Container from '../container/container';\nimport { SvgAlertTriangle } from '../icon/available-icons/alert-triangle';\nimport { SvgClose } from '../icon/available-icons/close';\nimport { SvgInfo } from '../icon/available-icons/info';\nimport { SvgWarningAlert } from '../icon/available-icons/warning-alert';\nimport Icon from '../icon/icon';\nimport IconButton from '../icon-button/icon-button';\n\nconst severityStyles = {\n info: {\n bgColor: 'var(--lns-color-blurple)',\n icon: <SvgInfo />,\n color: 'var(--lns-color-white)',\n fontFamily: 'inherit',\n },\n warning: {\n bgColor: 'var(--lns-color-warning)',\n icon: <SvgWarningAlert />,\n color: 'var(--lns-color-grey8)',\n fontFamily: 'inherit',\n },\n error: {\n bgColor: 'var(--lns-color-danger)',\n icon: <SvgAlertTriangle />,\n color: 'var(--lns-color-white)',\n fontFamily: 'inherit',\n },\n internal: {\n icon: <span role=\"img\">\uD83D\uDD14</span>,\n color: 'var(--lns-color-tealLight)',\n bgColor: 'var(--lns-color-grey8)',\n fontFamily: 'var(--lns-fontFamily-code)',\n },\n};\n\nconst DURATION = 350;\nconst NotificationBarWrapper = styled.aside<NotificationBarWrapperProps>`\n --paddingXOffset: var(--lns-space-large);\n --alignItems: start;\n\n display: grid;\n align-items: var(--alignItems);\n justify-content: space-between;\n grid-template-columns: 1fr auto;\n ${props => `background-color: ${severityStyles[props.severity].bgColor}`};\n ${props => `font-family: ${severityStyles[props.severity].fontFamily}`};\n\n ${props => `color: ${severityStyles[props.severity].color}`};\n position: fixed;\n padding: var(--lns-space-medium) var(--paddingXOffset);\n top: 0;\n left: 0;\n transition:\n ${DURATION}ms box-shadow,\n ${DURATION}ms transform;\n width: 100%;\n box-sizing: border-box;\n z-index: 1100;\n opacity: ${props => (props.isOpen ? '1' : '0')};\n transform: ${props =>\n props.isOpen ? 'translateY(0px)' : 'translateY(-100%)'};\n @media (min-width: 872px) {\n --alignItems: center;\n }\n`;\n\nconst NotificationBar = ({\n children,\n onCloseClick,\n isOpen,\n severity = 'info',\n id,\n}: NotificationBarProps &\n React.ComponentProps<typeof NotificationBarWrapper> &\n Omit<\n LensAsideProps,\n keyof NotificationBarProps &\n React.ComponentProps<typeof NotificationBarWrapper>\n >) => {\n useEffect(() => {\n if (!isOpen) {\n return;\n }\n\n const keyListener = (e: KeyboardEvent) => {\n if (e.key === 'Escape') {\n e.preventDefault();\n onCloseClick && onCloseClick();\n }\n };\n\n window.addEventListener('keydown', keyListener);\n\n return () => {\n window.removeEventListener('keydown', keyListener);\n };\n }, [isOpen, onCloseClick]);\n\n usePushPageDown(isOpen);\n\n // NOTE: The UI for internal alert is slightly different.\n const isInternalAlert = severity === 'internal';\n\n return isOpen ? (\n <NotificationBarWrapper isOpen={isOpen} severity={severity} id={id}>\n <Arrange\n alignItems={{ default: 'start', small: 'center' }}\n justifyContent=\"space-between\"\n autoFlow={isInternalAlert ? 'column' : undefined}\n columns={!isInternalAlert ? ['1fr auto'] : undefined}\n >\n <Container\n paddingY={{ default: 'xsmall', xsmall: 0 }}\n // Visually offsets the close X so that text appears centre-aligned\n paddingLeft={\n !isInternalAlert ? { default: 0, medium: u(3.5) } : undefined\n }\n width=\"100%\"\n >\n <Arrange\n autoFlow=\"column\"\n gap={isInternalAlert ? 'medium' : 'small'}\n justifyContent=\"center\"\n >\n {severityStyles[severity]?.icon ? (\n <Align alignment=\"topLeft\">\n <Icon\n icon={severityStyles[severity].icon}\n color={\n severityStyles[severity].color ?? 'var(--lns-color-white)'\n }\n />\n </Align>\n ) : null}{' '}\n {children}\n </Arrange>\n </Container>\n </Arrange>\n {onCloseClick && (\n <IconButton\n iconColor={severityStyles[severity].color ?? 'var(--lns-color-white)'}\n tabIndex={0}\n altText=\"Close\"\n icon={<SvgClose />}\n onClick={onCloseClick}\n />\n )}\n </NotificationBarWrapper>\n ) : null;\n};\n\ntype NotificationBarProps = {\n children?: React.ReactNode;\n isOpen?: boolean;\n onCloseClick?: () => void;\n severity: SeverityLevels;\n};\n\ntype NotificationBarWrapperProps = {\n children?: React.ReactNode;\n isOpen?: boolean;\n severity: SeverityLevels;\n};\n\nexport default NotificationBar;\n", "import React from 'react';\n\nexport default function useOnClickOutside(ref, handler) {\n React.useEffect(() => {\n const listener = event => {\n if (!ref.current || ref.current.contains(event.target)) {\n return;\n }\n\n handler(event);\n };\n\n document.addEventListener('mousedown', listener);\n document.addEventListener('touchstart', listener);\n\n return () => {\n document.removeEventListener('mousedown', listener);\n document.removeEventListener('touchstart', listener);\n };\n }, [ref, handler]);\n}\n", "import { useCallback, useEffect, useState } from 'react';\n\nexport default function useFocusedElement<Element extends HTMLElement>(\n ref: React.RefObject<Element>\n): boolean {\n const [isFocused, setIsFocused] = useState(false);\n\n const handleFocus = useCallback(\n e => {\n const currentRef = ref.current;\n\n if (e.type === 'focusin' && e.target === currentRef) {\n setIsFocused(true);\n }\n },\n [ref]\n );\n\n const handleBlur = useCallback(\n e => {\n const currentRef = ref.current;\n\n if (e.type === 'focusout' && e.target === currentRef) {\n setIsFocused(false);\n }\n },\n [ref]\n );\n\n useEffect(() => {\n // Note: `focusin` is sent whenever an element OR its children gain focus (or, it supports \"event bubbling\"). If you need to isolate it to only the parent, create a new function using 'focus' and 'blur' respectively.\n\n document.addEventListener('focusin', handleFocus);\n document.addEventListener('focusout', handleBlur);\n\n return () => {\n document.removeEventListener('focusin', handleFocus);\n document.removeEventListener('focusout', handleBlur);\n };\n }, [handleFocus, handleBlur]);\n\n return Boolean(isFocused);\n}\n", "import { useLayoutEffect } from 'react';\n\n/**\n * Usage:\n * usePreventScroll(<boolean-condition>);\n **/\nfunction usePushPageDown(enabled?: boolean): void {\n const safeDocument: Document = document;\n\n useLayoutEffect(() => {\n const html = safeDocument?.documentElement;\n const body = safeDocument?.body;\n\n if (safeDocument == undefined || !html || !body) {\n return;\n }\n\n if (enabled) {\n body.style.setProperty('padding-top', '3.25rem');\n body.style.setProperty('transition', 'padding-top 350ms');\n /* [1] */\n }\n\n return () => {\n body.style.removeProperty('padding-top');\n };\n }, [safeDocument, enabled]);\n}\n\nexport default usePushPageDown;\n", "import InformationCircleIcon from '@atlaskit/icon/core/information-circle';\nimport * as React from 'react';\n\nexport function SvgInfo() {\n return <InformationCircleIcon label=\"\" testId=\"ads-refreshed-icon\" />;\n}\n", "import React from 'react';\n\nexport const SvgWarningAlert = props => (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" {...props}>\n <path\n fill=\"currentColor\"\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M7.42 2.293A1 1 0 0 1 8.127 2h7.245a1 1 0 0 1 .708.293l5.127 5.127a1 1 0 0 1 .293.707v7.245a1 1 0 0 1-.293.708l-5.127 5.127a1 1 0 0 1-.707.293H8.128a1 1 0 0 1-.708-.293L2.293 16.08A1 1 0 0 1 2 15.373V8.128a1 1 0 0 1 .293-.708L7.42 2.293ZM8.542 4 4 8.542v6.416L8.542 19.5h6.416l4.542-4.542V8.542L14.958 4H8.542Zm2.208 11.25a1 1 0 0 1 1-1h.009a1 1 0 1 1 0 2h-.009a1 1 0 0 1-1-1Zm2-7a1 1 0 1 0-2 0v3.5a1 1 0 1 0 2 0v-3.5Z\"\n />\n </svg>\n);\n", "import { keyframes } from '@emotion/react';\nimport styled from '@emotion/styled';\nimport React, { useEffect } from 'react';\n\nimport { LensDivProps } from '../../types';\nimport { getColorValue, getRadius, getShadow, u } from '../../utilities';\n\nimport { SvgClose } from '../icon/available-icons/close';\nimport IconButton from '../icon-button/icon-button';\n\nconst WEBAPP = 'web-app';\nconst CHROME_EXTENSION = 'chrome-extension';\nconst toastDurations = { short: 3000, long: 8000 };\n\nconst enter = (toastDuration, platform) => keyframes`\n 0% {\n opacity: 0;\n transform: translate(-50%, ${u(platform === CHROME_EXTENSION ? -8 : 8)});\n }\n // (300 / toastDuration) * 100 evaluates to 10% for short. Longer durations will have the same speed of animation\n ${(300 / toastDuration) * 100}% {\n opacity: 1;\n transform: translate(-50%, 0);\n }\n // 100 - (300 / toastDuration) * 100 evaluates to 90% for short. Longer durations will have the same speed of animation\n ${100 - (300 / toastDuration) * 100}% {\n opacity: 1;\n }\n 100% {\n opacity: 0;\n }\n`;\n\nconst getTop = platform => {\n switch (platform) {\n case WEBAPP:\n return 'unset';\n case CHROME_EXTENSION:\n return u(4);\n default:\n return 'unset';\n }\n};\n\nconst getBottom = platform => {\n switch (platform) {\n case WEBAPP:\n return u(4);\n case CHROME_EXTENSION:\n return 'unset';\n default:\n return u(4);\n }\n};\n\nconst ToastWrapper = styled.div<ToastWrapperProps>`\n animation: ${props => enter(props.toastDuration, props.platform)}\n ${props => props.toastDuration}ms forwards;\n background-color: ${getColorValue('backgroundInverse')};\n ${getRadius('250')};\n top: ${props => getTop(props.platform)};\n bottom: ${props => getBottom(props.platform)};\n ${getShadow('large')};\n color: ${getColorValue('bodyInverse')};\n display: grid;\n grid-auto-flow: column;\n gap: var(--lns-space-small);\n justify-content: space-between;\n left: 50%;\n max-width: ${u(50)}; // Fallback when min() function is not supported\n max-width: min(90%, ${u(50)});\n padding: ${u(1.5)} var(--lns-space-medium) ${u(1.5)} var(--lns-space-large);\n position: fixed;\n transform: translateX(-50%);\n width: max-content;\n z-index: ${props => props.zIndex};\n`;\n\nconst ChildrenSection = styled.div`\n align-self: center;\n`;\n\nconst Toast = ({\n children,\n isOpen,\n onCloseClick,\n zIndex = 1100,\n duration = 'short',\n platform = 'web-app',\n}: ToastProps &\n React.ComponentProps<typeof ToastWrapper> &\n Omit<\n LensDivProps,\n keyof ToastProps & React.ComponentProps<typeof ToastWrapper>\n >) => {\n const toastDuration = toastDurations[duration];\n\n useEffect(() => {\n const timer = setTimeout(() => {\n if (isOpen) {\n onCloseClick();\n }\n }, toastDuration);\n\n return () => clearTimeout(timer);\n }, [isOpen]);\n\n return (\n <>\n {isOpen && (\n <ToastWrapper\n role=\"presentation\"\n onClick={e => e.stopPropagation()}\n zIndex={zIndex}\n isOpen={isOpen}\n toastDuration={toastDuration}\n platform={platform}\n >\n <ChildrenSection aria-live=\"polite\">{children}</ChildrenSection>\n {onCloseClick && (\n <IconButton\n altText=\"Close\"\n icon={<SvgClose />}\n onClick={onCloseClick}\n iconColor=\"bodyInverse\"\n />\n )}\n </ToastWrapper>\n )}\n </>\n );\n};\n\ntype ToastProps = {\n children?: React.ReactNode;\n isOpen?: boolean;\n onCloseClick?: () => void;\n zIndex?: number;\n duration?: 'short' | 'long';\n platform?: 'web-app' | 'chrome-extension';\n};\n\ntype ToastWrapperProps = {\n zIndex?: number;\n isOpen?: boolean;\n toastDuration?: number;\n platform?: 'web-app' | 'chrome-extension';\n};\n\nexport default Toast;\n", "import styled from '@emotion/styled';\nimport React, { useState, useRef, useEffect } from 'react';\n\nimport { useHover, useLayer, mergeRefs } from 'react-laag';\n\nimport ResizeObserver from 'resize-observer-polyfill';\n\nimport {\n getColorValue,\n getFontWeight,\n getRadius,\n getShadow,\n getSize,\n getTextSize,\n Size,\n u,\n} from '../../utilities';\nimport { textSizes } from '../../variables';\nimport Arrange from '../arrange/arrange';\nimport Text from '../text/text';\n\ntype PlacementProps = {\n [key: string]:\n | 'bottom-start'\n | 'bottom-end'\n | 'bottom-center'\n | 'top-start'\n | 'top-center'\n | 'top-end'\n | 'left-end'\n | 'left-center'\n | 'left-start'\n | 'right-end'\n | 'right-center'\n | 'right-start'\n | 'center';\n};\n\ntype DelaySpeed = 'immediate' | 'long';\n\nconst placements: PlacementProps = {\n topLeft: 'top-start',\n topCenter: 'top-center',\n topRight: 'top-end',\n bottomLeft: 'bottom-start',\n bottomCenter: 'bottom-center',\n bottomRight: 'bottom-end',\n leftTop: 'left-start',\n leftCenter: 'left-center',\n leftBottom: 'left-end',\n rightTop: 'right-start',\n rightCenter: 'right-center',\n rightBottom: 'right-end',\n};\n\nconst tooltipMinHeight = 4;\nconst textHeight = textSizes.small.fontSize * textSizes.small.lineHeight;\n// eslint-disable-next-line @loomhq/loom/no-consecutive-uppercase-letters-for-acronyms\nconst tooltipYPadding = (tooltipMinHeight - textHeight) / 2;\n\nconst TooltipBoxWrapper = styled.div<TooltipBoxProps>`\n background-color: ${getColorValue('backgroundInverse')};\n color: ${getColorValue('bodyInverse')};\n ${getRadius('150')};\n ${getFontWeight('bold')};\n ${getTextSize('small')};\n ${getShadow('medium')};\n ${props => getSize('max-width', props.maxWidth)};\n z-index: 1100;\n padding: ${u(tooltipYPadding)} ${u(1.5)};\n z-index: ${props => props.zIndex};\n`;\n\nconst ShortcutWrapper = styled.div`\n background-color: ${getColorValue('grey7')};\n border-radius: 3px;\n color: ${getColorValue('grey3')};\n ${getFontWeight('bold')};\n ${getTextSize('small')};\n padding-left: ${u(0.5)};\n padding-right: ${u(0.5)};\n`;\n\nexport const ShortcutBox = ({\n children,\n}: React.ComponentProps<typeof ShortcutWrapper>) => (\n <ShortcutWrapper>{children}</ShortcutWrapper>\n);\n\nexport const TooltipBox = ({\n children,\n maxWidth,\n onMouseEnter,\n onMouseLeave,\n layerProps,\n zIndex,\n ...rest\n}: TooltipBoxProps & React.ComponentProps<typeof TooltipBoxWrapper>) => (\n // These are being added to hide the tooltip when users hover over\n /* eslint-disable-next-line styled-components-a11y/no-static-element-interactions */\n <TooltipBoxWrapper\n maxWidth={maxWidth}\n onMouseEnter={onMouseEnter}\n onMouseLeave={onMouseLeave}\n zIndex={zIndex}\n {...layerProps}\n {...rest}\n >\n {children}\n </TooltipBoxWrapper>\n);\n\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore: Ignoring because it was introduced through an unrelated PR that did not affect this file. When this file is touched next, it should be fixed properly\nconst TooltipChildren = styled.div<TooltipProps>`\n display: ${props => (props.isInline ? 'inline-block' : 'block')};\n ${props => props.verticalAlign && `vertical-align: ${props.verticalAlign}`};\n &:focus-visible {\n // Note: 0px solid transparent prevents focus rings from disappearing for -ms-high-contrast.\n // TODO(LNS-183): Provide more robust polyfill/support for :focus for older versions of Safari, which don't support :focus-visible\n outline: 0px solid transparent;\n box-shadow: var(--lns-formFieldBorderShadowFocus);\n }\n`;\n\nfunction getInitialDelaySpeed(delay: DelaySpeed) {\n switch (delay) {\n case 'immediate':\n return 200;\n case 'long':\n return 800;\n default:\n return 200;\n }\n}\n\nconst Tooltip = ({\n ariaLive = false,\n children,\n content,\n shortcut,\n placement = 'topCenter',\n keepOpen,\n triggerOffset = 4,\n maxWidth = 26,\n isInline = true,\n isDisabled,\n container,\n tabIndex = 0,\n zIndex = 1100,\n verticalAlign = 'middle',\n delay = 'immediate',\n tooltipId,\n ...rest\n}: TooltipProps) => {\n const [show, hoverProps] = useHover({\n delayEnter: getInitialDelaySpeed(delay),\n delayLeave: 200,\n });\n\n const [isOverTooltip, setIsOverTooltip] = useState(false);\n const [isOpen, setIsOpen] = useState(false);\n\n // Helps us keep the tooltip open when opened with a key press\n // instead of a mouse click.\n const [enterOrSpaceKeyDown, setEnterOrSpaceKeyDown] = useState(false);\n\n const focusRef = useRef();\n const isTooltipDisabled = !content || isDisabled;\n\n // Hide the tooltip as soon as isDisabled becomes true, and show it if a user has focused or hovered on it AND it is not disabled\n useEffect(() => {\n if (isTooltipDisabled) {\n setIsOpen(false);\n\n return;\n }\n\n const keepTooltipOpenOnHover = isOverTooltip && keepOpen;\n\n if (show || keepTooltipOpenOnHover) {\n setIsOpen(true);\n }\n\n // We have to watch this separately since hover and focus are managed separately. So, an element can be keyboard focused while another element is mouse hovered.\n // Also, we don't want to close the tooltip if the user has pressed the Enter or Space key to open it.\n if (!show && !keepTooltipOpenOnHover && !enterOrSpaceKeyDown) {\n setIsOpen(false);\n }\n }, [\n content,\n isDisabled,\n isOverTooltip,\n isTooltipDisabled,\n keepOpen,\n setIsOpen,\n show,\n enterOrSpaceKeyDown,\n ]);\n\n const handleFocus = () => {\n setEnterOrSpaceKeyDown(false);\n\n if (!isTooltipDisabled) {\n setIsOpen(true);\n }\n };\n\n const handleBlur = () => {\n setIsOpen(false);\n setEnterOrSpaceKeyDown(false);\n };\n\n useEffect(() => {\n if (!isOpen) {\n return;\n }\n\n const keyListener = e => {\n if (e.key === 'Escape') {\n e.preventDefault();\n handleBlur();\n }\n };\n\n window.addEventListener('keydown', keyListener);\n\n return () => {\n window.removeEventListener('keydown', keyListener);\n };\n }, [isOpen, setIsOpen]);\n\n const { layerProps, triggerProps, renderLayer } = useLayer({\n isOpen,\n placement: placements[placement],\n ResizeObserver,\n triggerOffset,\n container,\n auto: true,\n });\n\n return (\n <>\n {/* eslint-disable-next-line styled-components-a11y/click-events-have-key-events, styled-components-a11y/no-static-element-interactions */}\n <TooltipChildren\n {...triggerProps}\n {...hoverProps}\n onClick={e => {\n // onClick callbacks react to 'Enter' and 'Space' key presses\n // as well as mouse clicks. detail > 0 if it's a mouse click/double click..\n if (e.detail === 0) {\n setEnterOrSpaceKeyDown(true);\n }\n }}\n onFocus={handleFocus}\n onBlur={handleBlur}\n isInline={isInline}\n verticalAlign={verticalAlign}\n tabIndex={isTooltipDisabled ? -1 : tabIndex}\n ref={mergeRefs(triggerProps.ref, focusRef)}\n >\n {children}\n </TooltipChildren>\n {ariaLive && (\n <span className=\"srOnly\" aria-live=\"polite\">\n {isOpen && content}\n </span>\n )}\n {isOpen &&\n renderLayer(\n <div {...layerProps} style={{ ...layerProps.style, zIndex }}>\n <TooltipBox\n maxWidth={maxWidth}\n onMouseEnter={() => setIsOverTooltip(true)}\n onMouseLeave={() => setIsOverTooltip(false)}\n role=\"tooltip\"\n id={tooltipId}\n {...rest}\n >\n <Arrange gap=\"small\">\n <Text size=\"small\" fontWeight=\"bold\">\n {content}\n </Text>\n {shortcut && (\n <Arrange gap=\"xsmall\">\n {shortcut.map((char, index) => (\n <ShortcutBox key={index}>{char}</ShortcutBox>\n ))}\n </Arrange>\n )}\n </Arrange>\n </TooltipBox>\n </div>\n )}\n </>\n );\n};\n\nexport const availablePlacements = Object.keys(placements);\n\ntype TooltipBoxProps = {\n children?: React.ReactNode;\n maxWidth?: Size | [];\n onMouseEnter?: React.ReactEventHandler;\n onMouseLeave?: React.ReactEventHandler;\n layerProps?: any;\n zIndex?: number;\n};\n\nexport type TooltipProps = {\n ariaLive?: boolean;\n children?: React.ReactNode;\n container?: HTMLElement | (() => HTMLElement) | string;\n content?: React.ReactNode;\n shortcut?: string[];\n isDisabled?: boolean;\n isInline?: boolean;\n keepOpen?: boolean;\n maxWidth?: Size | [];\n placement?:\n | 'topLeft'\n | 'topCenter'\n | 'topRight'\n | 'bottomLeft'\n | 'bottomCenter'\n | 'bottomRight'\n | 'leftTop'\n | 'leftCenter'\n | 'leftBottom'\n | 'rightTop'\n | 'rightCenter'\n | 'rightBottom';\n triggerOffset?: number;\n verticalAlign?: string;\n zIndex?: number;\n delay?: DelaySpeed;\n tabIndex?: number;\n tooltipId?: string;\n};\n\nexport default Tooltip;\n", "import { css } from '@emotion/react';\nimport styled from '@emotion/styled';\nimport React from 'react';\n\nimport { getRadius, getTextSize } from '../../utilities';\nimport { TextSize } from '../../variables';\n\nconst SkeletonAnimation = css`\n @media (prefers-reduced-motion: no-preference) {\n animation: shimmer 2s infinite linear;\n background: linear-gradient(\n to right,\n var(--lns-color-disabledBackground) 4%,\n var(--lns-color-backgroundHover) 25%,\n var(--lns-color-disabledBackground) 36%\n );\n background-size: 1000px 100%;\n @keyframes shimmer {\n 0% {\n background-position: -1000px 0;\n }\n 100% {\n background-position: 1000px 0;\n }\n }\n }\n`;\n\nconst SkeletonTextWrapper = styled.div<SkeletonTextProps>`\n ${props => getTextSize(props.size)};\n color: transparent;\n position: relative;\n &::after {\n content: '';\n position: absolute;\n background-color: var(--lns-color-disabledBackground);\n border-radius: var(--lns-radius-full);\n width: 100%;\n display: block;\n height: 71.45%;\n top: 0.2em;\n ${props => props.animated && SkeletonAnimation}\n }\n\n ${props =>\n props.lines > 1 &&\n `\n &:nth-of-type(3n+1) {\n width: calc(100% - 2.25rem);\n }\n &:nth-of-type(3n) {\n width: calc(100% - 4.125rem);\n }\n }\n `};\n`;\n\nconst SkeletonContainerWrapper = styled.div<SkeletonContainerProps>`\n background-color: var(--lns-color-disabledBackground);\n ${props => getRadius(props.radius)};\n height: ${props => props.height};\n width: ${props => props.width};\n ${props => props.animated && SkeletonAnimation}\n`;\n\nexport const SkeletonText = ({\n size = 'body-md',\n lines = 1,\n animated = false,\n}: SkeletonTextProps & React.ComponentProps<typeof SkeletonTextWrapper>) => {\n return (\n <>\n {[...Array(lines)].map((_, i) => (\n <SkeletonTextWrapper\n key={i}\n size={size}\n lines={lines}\n animated={animated}\n >\n Loading\n </SkeletonTextWrapper>\n ))}\n </>\n );\n};\n\nexport const SkeletonContainer = ({\n animated = false,\n height = '40px',\n radius = 'full',\n width = '40px',\n}: SkeletonContainerProps &\n React.ComponentProps<typeof SkeletonTextWrapper>) => {\n return (\n <>\n <SkeletonContainerWrapper\n animated={animated}\n height={height}\n radius={radius}\n width={width}\n />\n </>\n );\n};\n\ntype SkeletonTextProps = {\n animated?: boolean;\n lines?: number;\n size?: TextSize;\n};\n\ntype SkeletonContainerProps = {\n animated?: boolean;\n height?: string;\n radius?: 'medium' | 'large' | 'xlarge' | 'full';\n width?: string;\n};\n\nexport default SkeletonText;\n", "import styled from '@emotion/styled';\nimport React from 'react';\n\nimport { LensSpanProps } from '../../types';\nimport { getSize, getColorValue } from '../../utilities';\n\nconst LoomAiGradientDef = (customId: string) => {\n return (\n <defs>\n <radialGradient\n id={`ai-logo-${customId}-gradient-1`}\n cx=\"50%\"\n cy=\"50%\"\n r=\"100%\"\n fx=\"0%\"\n fy=\"0%\"\n >\n <stop offset=\"30%\" stopColor=\"#97ACFD\" />\n <stop offset=\"33%\" stopColor=\"#B3B2F4\" />\n <stop offset=\"43%\" stopColor=\"#DEB0E0\" />\n <stop offset=\"50%\" stopColor=\"#DFC6E5\" />\n <stop offset=\"72%\" stopColor=\"#6663F6\" />\n </radialGradient>\n <radialGradient\n id={`ai-logo-${customId}-gradient-2`}\n r=\"100%\"\n fx=\"40%\"\n fy=\"72%\"\n >\n <stop offset=\"20%\" stopColor=\"#615CF500\" />\n <stop offset=\"32%\" stopColor=\"#615CF550\" />\n <stop offset=\"48%\" stopColor=\"#6663F6\" />\n </radialGradient>\n <radialGradient\n id={`ai-logo-${customId}-gradient-3`}\n r=\"100%\"\n fx=\"0%\"\n fy=\"100%\"\n >\n <stop offset=\"25%\" stopColor=\"#6663F6\" />\n <stop offset=\"38%\" stopColor=\"#6E68F450\" />\n <stop offset=\"45%\" stopColor=\"#6E68F400\" />\n </radialGradient>\n </defs>\n );\n};\n\nconst symbolLogoPath =\n 'M30 15.4433C30 16.6091 29.0933 16.8581 27.9562 16.9301C22.5158 17.2323 16.7962 22.686 16.4795 28.112C16.422 29.2634 16.173 30.1702 15.0072 30.1702C13.8414 30.1702 13.578 29.2634 13.5205 28.0976C13.2038 22.686 7.48416 17.2323 2.05814 16.9301C0.906735 16.8581 0 16.6091 0 15.4433C0 14.2775 0.906735 14.043 2.05814 13.971C7.48416 13.6687 13.2038 7.65433 13.5205 2.22831C13.578 1.0769 13.827 0.170166 15.0072 0.170166C16.1874 0.170166 16.422 1.0769 16.4795 2.22831C16.7962 7.65433 22.5158 13.6687 27.9419 13.971C29.0933 14.043 30 14.2919 30 15.4433Z';\n\nconst SymbolLogoSvg = ({ brand, symbolColor, customId, ...props }) => {\n switch (brand) {\n case 'ai':\n return (\n <svg aria-label=\"Loom AI\" viewBox=\"0 0 30 31\" fill=\"none\" {...props}>\n <title>Loom AI</title>\n {!symbolColor ? (\n <>\n {LoomAiGradientDef(customId)}\n {[...Array(3)].map((_, i) => (\n <path\n key={i}\n d={symbolLogoPath}\n fill={`url(#ai-logo-${customId}-gradient-${i + 1}`}\n />\n ))}\n </>\n ) : (\n <path d={symbolLogoPath} fill={getColorValue(symbolColor)} />\n )}\n </svg>\n );\n\n case 'apptile':\n return (\n <svg aria-label=\"Loom\" viewBox=\"0 0 40 40\" fill=\"none\" {...props}>\n <title>Loom</title>\n <path\n d=\"M0 12C0 5.37258 5.37258 0 12 0H28C34.6274 0 40 5.37258 40 12V28C40 34.6274 34.6274 40 28 40H12C5.37258 40 0 34.6274 0 28V12Z\"\n fill={\n symbolColor\n ? getColorValue(symbolColor)\n : getColorValue('blurple')\n }\n />\n <path\n d=\"M32.3962 18.6213H25.1467L31.4251 14.9965L30.0463 12.6077L23.768 16.2325L27.392 9.95464L25.0032 8.57506L21.3792 14.8529V7.604H18.6215V14.8536L14.9961 8.57506L12.6081 9.95395L16.2327 16.2318L9.95437 12.6077L8.57552 14.9958L14.8539 18.6206H7.60449V21.3784H14.8532L8.57552 25.0032L9.95437 27.392L16.2321 23.7679L12.6074 30.0457L14.9961 31.4246L18.6208 25.1461V32.3957H21.3785V25.1468L25.0025 31.4246L27.3912 30.0457L23.7665 23.7672L30.0449 27.392L31.4238 25.0032L25.1461 21.3791H32.3947V18.6213H32.3962ZM20.0003 23.7505C17.921 23.7505 16.2355 22.0651 16.2355 19.9856C16.2355 17.9062 17.921 16.2207 20.0003 16.2207C22.0797 16.2207 23.7651 17.9062 23.7651 19.9856C23.7651 22.0651 22.0797 23.7505 20.0003 23.7505Z\"\n fill=\"white\"\n />\n </svg>\n );\n case 'product':\n return (\n <svg aria-label=\"Loom\" viewBox=\"0 0 40 40\" fill=\"none\" {...props}>\n <path\n d=\"M0 9.25C0 4.14137 4.14137 0 9.25 0H30.75C35.8586 0 40 4.14137 40 9.25V30.75C40 35.8586 35.8586 40 30.75 40H9.25C4.14137 40 0 35.8586 0 30.75V9.25Z\"\n fill={\n symbolColor\n ? getColorValue(symbolColor)\n : getColorValue('primary')\n }\n />\n <path\n d=\"M32.3962 18.6756H25.1467L31.4251 15.0508L30.0463 12.662L23.768 16.2868L27.392 10.009L25.0032 8.62938L21.3792 14.9072V7.65833H18.6215V14.9079L14.9961 8.62938L12.6081 10.0083L16.2327 16.2861L9.95437 12.662L8.57552 15.0501L14.8539 18.6749H7.60449V21.4327H14.8532L8.57552 25.0575L9.95437 27.4463L16.2321 23.8222L12.6074 30.1L14.9961 31.4789L18.6208 25.2004V32.45H21.3785V25.2011L25.0025 31.4789L27.3912 30.1L23.7665 23.8215L30.0449 27.4463L31.4238 25.0575L25.1461 21.4334H32.3947V18.6756H32.3962ZM20.0003 23.8048C17.921 23.8048 16.2355 22.1194 16.2355 20.0399C16.2355 17.9605 17.921 16.275 20.0003 16.275C22.0797 16.275 23.7651 17.9605 23.7651 20.0399C23.7651 22.1194 22.0797 23.8048 20.0003 23.8048Z\"\n fill=\"white\"\n />\n </svg>\n );\n default:\n return (\n <svg aria-label=\"Loom\" viewBox=\"0 0 31 30\" fill=\"none\" {...props}>\n <title>Loom</title>\n <path\n d=\"M30.01 13.43h-9.142l7.917-4.57-1.57-2.72-7.918 4.57 4.57-7.915-2.72-1.57-4.571 7.913V0h-3.142v9.139L8.863 1.225l-2.721 1.57 4.57 7.913L2.796 6.14 1.225 8.86l7.917 4.57H0v3.141h9.141l-7.916 4.57 1.57 2.72 7.918-4.57-4.571 7.915 2.72 1.57 4.572-7.914V30h3.142v-9.334l4.655 8.06 2.551-1.472-4.656-8.062 8.087 4.668 1.571-2.72-7.916-4.57h9.141v-3.14h.001zm-15.005 5.84a4.271 4.271 0 11-.001-8.542 4.271 4.271 0 01.001 8.542z\"\n fill={\n symbolColor\n ? getColorValue(symbolColor)\n : getColorValue('primary')\n }\n />\n </svg>\n );\n }\n};\n\nconst WordmarkLogoSvg = ({ brand, wordmarkColor, ...props }) => {\n switch (brand) {\n case 'ai':\n return (\n <svg\n aria-label=\"Loom AI\"\n viewBox=\"0 0 94 23\"\n fill={wordmarkColor}\n {...props}\n >\n <title>Loom AI</title>\n <path d=\"M4.12637 22.4624H0V0H4.12637V22.4624Z\" />\n <path d=\"M13.3999 19.1737C15.4166 19.1737 17.2781 17.7155 17.2781 14.8301C17.2781 11.9448 15.4166 10.4866 13.3999 10.4866C11.3833 10.4866 9.52175 11.9448 9.52175 14.8301C9.52175 17.6845 11.3833 19.1737 13.3999 19.1737ZM13.3999 6.7325C17.9606 6.7325 21.4045 10.1143 21.4045 14.8301C21.4045 19.515 17.9606 22.9277 13.3999 22.9277C8.83919 22.9277 5.39538 19.515 5.39538 14.8301C5.39538 10.1143 8.83919 6.7325 13.3999 6.7325Z\" />\n <path d=\"M29.7548 19.1737C31.7714 19.1737 33.6329 17.7155 33.6329 14.8301C33.6329 11.9448 31.7714 10.4866 29.7548 10.4866C27.7381 10.4866 25.8766 11.9448 25.8766 14.8301C25.8766 17.6845 27.7381 19.1737 29.7548 19.1737ZM29.7548 6.7325C34.3155 6.7325 37.7593 10.1143 37.7593 14.8301C37.7593 19.515 34.3155 22.9277 29.7548 22.9277C25.194 22.9277 21.7502 19.515 21.7502 14.8301C21.7502 10.1143 25.194 6.7325 29.7548 6.7325Z\" />\n <path d=\"M43.1622 22.4624H39.0358V7.19788H42.976V9.05941C43.8137 7.57019 45.7683 6.76353 47.4437 6.76353C49.5224 6.76353 51.1978 7.66326 51.9734 9.30761C53.1834 7.44609 54.7967 6.76353 56.8134 6.76353C59.6367 6.76353 62.3359 8.46992 62.3359 12.5653V22.4624H58.3336V13.403C58.3336 11.7586 57.5269 10.5176 55.6344 10.5176C53.8659 10.5176 52.8111 11.8827 52.8111 13.5271V22.4624H48.7157V13.403C48.7157 11.7586 47.878 10.5176 46.0165 10.5176C44.2171 10.5176 43.1622 11.8517 43.1622 13.5271V22.4624Z\" />\n <path d=\"M84.1324 22.4624L82.3019 17.4363H73.3666L71.5361 22.4624H67.0064L75.4453 0.46538H80.4093L88.7862 22.4624H84.1324ZM77.8342 5.21226L74.7937 13.5271H80.8747L77.8342 5.21226Z\" />\n <path d=\"M94 22.4624H89.6565V0.46538H94V22.4624Z\" />\n </svg>\n );\n case 'product':\n return (\n <svg aria-label=\"Loom\" viewBox=\"0 0 104 30\" fill=\"none\" {...props}>\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M32.4383 7.29662C34.6059 7.29671 36.4904 7.77257 38.0897 8.72422C39.6888 9.67592 40.9247 11.0053 41.797 12.7102C42.6692 14.402 43.1045 16.3852 43.1045 18.6585C43.1044 20.9186 42.6693 22.9018 41.797 24.6068C40.9247 26.2985 39.6888 27.6207 38.0897 28.5724C36.4904 29.524 34.6059 29.9999 32.4383 30C30.2704 30 28.379 29.5241 26.7664 28.5724C25.1672 27.6208 23.9315 26.2985 23.0591 24.6068C22.1868 22.9018 21.7517 20.9186 21.7516 18.6585C21.7516 16.3851 22.1869 14.402 23.0591 12.7102C23.9315 11.0051 25.1671 9.67594 26.7664 8.72422C28.379 7.77249 30.2704 7.29662 32.4383 7.29662ZM32.4383 11.7584C31.3279 11.7584 30.3954 12.0564 29.642 12.6513C28.902 13.2461 28.3393 14.0587 27.956 15.0895C27.5861 16.1204 27.4009 17.3105 27.4009 18.6585C27.4009 19.9801 27.586 21.163 27.956 22.2071C28.3393 23.238 28.9019 24.0506 29.642 24.6454C30.3954 25.2402 31.3279 25.5382 32.4383 25.5382C33.5351 25.5381 34.4608 25.2401 35.2141 24.6454C35.9673 24.0506 36.53 23.2307 36.9001 22.1867C37.2831 21.1428 37.4733 19.9666 37.4734 18.6585C37.4734 17.324 37.2831 16.1406 36.9001 15.1099C36.5301 14.0661 35.9671 13.246 35.2141 12.6513C34.4608 12.0565 33.5351 11.7585 32.4383 11.7584Z\"\n fill={wordmarkColor}\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M56.9839 7.29662C59.1517 7.29662 61.036 7.77249 62.6354 8.72422C64.2348 9.67596 65.4702 11.005 66.3426 12.7102C67.215 14.4021 67.6524 16.385 67.6524 18.6585C67.6523 20.9186 67.215 22.9018 66.3426 24.6068C65.4702 26.2985 64.2346 27.6208 62.6354 28.5724C61.036 29.524 59.1516 30 56.9839 30C54.8166 29.9999 52.9267 29.5238 51.3143 28.5724C49.7151 27.6208 48.4795 26.2984 47.6071 24.6068C46.7347 22.9018 46.2974 20.9186 46.2973 18.6585C46.2973 16.3849 46.7346 14.4021 47.6071 12.7102C48.4795 11.005 49.7149 9.67596 51.3143 8.72422C52.9267 7.77274 54.8165 7.29671 56.9839 7.29662ZM56.9839 11.7584C55.8739 11.7585 54.9432 12.0566 54.1899 12.6513C53.4497 13.2461 52.8873 14.0585 52.504 15.0895C52.1339 16.1205 51.9488 17.3104 51.9488 18.6585C51.9488 19.9801 52.1339 21.163 52.504 22.2071C52.8873 23.2381 53.4497 24.0506 54.1899 24.6454C54.9431 25.2399 55.874 25.5381 56.9839 25.5382C58.081 25.5382 59.0064 25.2402 59.7598 24.6454C60.5133 24.0505 61.0756 23.231 61.4457 22.1867C61.8289 21.1427 62.0212 19.9667 62.0213 18.6585C62.0213 17.3239 61.8288 16.1407 61.4457 15.1099C61.0756 14.0657 60.5132 13.2461 59.7598 12.6513C59.0063 12.0564 58.081 11.7584 56.9839 11.7584Z\"\n fill={wordmarkColor}\n />\n <path\n d=\"M5.69001 24.7655H18.7174V29.5445H0V0H5.69001V24.7655Z\"\n fill={wordmarkColor}\n />\n <path\n d=\"M96.2633 7.2581C97.5984 7.2581 98.7952 7.54891 99.8527 8.13052C100.923 8.71205 101.762 9.56357 102.37 10.6866C102.991 11.8101 103.302 13.1852 103.302 14.8108V29.5445H97.7498V15.7625C97.7497 14.4545 97.3936 13.49 96.6803 12.8688C95.9667 12.2345 95.1007 11.9173 94.0834 11.9171C93.2908 11.9171 92.6027 12.0882 92.0213 12.4315C91.453 12.7751 91.0084 13.2511 90.6911 13.8591C90.3871 14.4671 90.2357 15.176 90.2357 15.9823V29.5445H84.8629V15.5654C84.8629 14.4552 84.5262 13.5682 83.8523 12.9073C83.1781 12.2464 82.3106 11.9171 81.2531 11.9171C80.5396 11.9172 79.8853 12.088 79.2907 12.4315C78.6959 12.7619 78.22 13.2521 77.8631 13.8998C77.5196 14.5343 77.3487 15.3205 77.3487 16.2588V29.5445H71.797V7.61387H77.0111L77.1652 11.7584C77.4644 10.9601 77.8429 10.2729 78.3005 9.69635C78.9746 8.86369 79.7606 8.24832 80.6594 7.8518C81.558 7.45546 82.496 7.25818 83.4738 7.2581C85.0733 7.2581 86.383 7.75323 87.4009 8.74462C88.2044 9.52754 88.8088 10.6088 89.225 11.985C89.5312 11.1783 89.9349 10.4756 90.4351 9.87537C91.1621 9.00295 92.0273 8.34693 93.032 7.91072C94.0364 7.47471 95.1136 7.2581 96.2633 7.2581Z\"\n fill={wordmarkColor}\n />\n </svg>\n );\n\n default:\n return (\n <svg\n aria-label=\"Loom\"\n viewBox=\"0 0 62 23\"\n fill={wordmarkColor}\n {...props}\n >\n <title>Loom</title>\n <path d=\"M.109 21.973V.027h4.028v21.946H.109zM38.742 7.059h3.846v1.82c.818-1.456 2.727-2.244 4.362-2.244 2.03 0 3.665.88 4.422 2.485 1.18-1.82 2.756-2.485 4.725-2.485 2.756 0 5.39 1.667 5.39 5.668v9.67h-3.906v-8.851c0-1.607-.788-2.82-2.636-2.82-1.727 0-2.757 1.335-2.757 2.942v8.73h-3.997v-8.852c0-1.607-.817-2.82-2.635-2.82-1.757 0-2.787 1.305-2.787 2.942v8.73h-4.027V7.059zM13.24 22.405c-4.537 0-7.824-3.367-7.824-7.889 0-4.45 3.276-7.896 7.824-7.896 4.57 0 7.824 3.478 7.824 7.896 0 4.49-3.288 7.889-7.824 7.889zm0-12.135a4.25 4.25 0 00-4.244 4.247 4.25 4.25 0 004.244 4.247 4.25 4.25 0 004.243-4.247 4.25 4.25 0 00-4.243-4.247zM29.667 22.405c-4.538 0-7.824-3.367-7.824-7.889 0-4.45 3.276-7.896 7.824-7.896 4.57 0 7.824 3.478 7.824 7.896 0 4.49-3.29 7.889-7.824 7.889zm0-12.186a4.3 4.3 0 00-4.293 4.296 4.3 4.3 0 004.293 4.296 4.3 4.3 0 004.293-4.296 4.3 4.3 0 00-4.293-4.296z\" />\n </svg>\n );\n }\n};\n\nconst combinedLogoPath =\n 'M100 7.76427C100 8.35691 99.539 8.48348 98.961 8.52007C96.1953 8.67371 93.2877 11.4461 93.1267 14.2045C93.0975 14.7898 92.9709 15.2508 92.3783 15.2508C91.7856 15.2508 91.6517 14.7898 91.6225 14.1972C91.4615 11.4461 88.5539 8.67371 85.7955 8.52007C85.2102 8.48348 84.7492 8.35691 84.7492 7.76427C84.7492 7.17162 85.2102 7.05237 85.7955 7.01578C88.5539 6.86213 91.4615 3.80464 91.6225 1.04628C91.6517 0.460948 91.7783 0 92.3783 0C92.9782 0 93.0975 0.460948 93.1267 1.04628C93.2877 3.80464 96.1953 6.86213 98.9537 7.01578C99.539 7.05237 100 7.17894 100 7.76427Z';\n\nconst CombinedLogoSvg = ({\n brand,\n wordmarkColor,\n symbolColor,\n customId,\n ...props\n}) => {\n switch (brand) {\n case 'ai':\n return (\n <svg aria-label=\"Loom AI\" viewBox=\"0 0 100 30\" fill=\"none\" {...props}>\n <title>Loom AI</title>\n {!symbolColor ? (\n <>\n {LoomAiGradientDef(customId)}\n {[...Array(3)].map((_, i) => (\n <path\n key={i}\n d={combinedLogoPath}\n fill={`url(#ai-logo-${customId}-gradient-${i + 1}`}\n />\n ))}\n </>\n ) : (\n <path d={combinedLogoPath} fill={getColorValue(symbolColor)} />\n )}\n <g fill={wordmarkColor}>\n <path d=\"M4.1997 29.5909H0.570312V9.83386H4.1997V29.5909Z\" />\n <path d=\"M12.3563 26.6983C14.1301 26.6983 15.7674 25.4157 15.7674 22.8778C15.7674 20.34 14.1301 19.0574 12.3563 19.0574C10.5826 19.0574 8.94526 20.34 8.94526 22.8778C8.94526 25.3884 10.5826 26.6983 12.3563 26.6983ZM12.3563 15.7555C16.3678 15.7555 19.3968 18.73 19.3968 22.8778C19.3968 26.9984 16.3678 30.0002 12.3563 30.0002C8.34491 30.0002 5.31587 26.9984 5.31587 22.8778C5.31587 18.73 8.34491 15.7555 12.3563 15.7555Z\" />\n <path d=\"M26.7414 26.6983C28.5152 26.6983 30.1525 25.4157 30.1525 22.8778C30.1525 20.34 28.5152 19.0574 26.7414 19.0574C24.9676 19.0574 23.3303 20.34 23.3303 22.8778C23.3303 25.3884 24.9676 26.6983 26.7414 26.6983ZM26.7414 15.7555C30.7528 15.7555 33.7819 18.73 33.7819 22.8778C33.7819 26.9984 30.7528 30.0002 26.7414 30.0002C22.73 30.0002 19.7009 26.9984 19.7009 22.8778C19.7009 18.73 22.73 15.7555 26.7414 15.7555Z\" />\n <path d=\"M38.534 29.5909H34.9047V16.1648H38.3703V17.8022C39.1071 16.4923 40.8263 15.7828 42.2999 15.7828C44.1282 15.7828 45.6018 16.5742 46.284 18.0205C47.3483 16.3831 48.7673 15.7828 50.5411 15.7828C53.0243 15.7828 55.3984 17.2837 55.3984 20.8858V29.5909H51.8782V21.6226C51.8782 20.1763 51.1687 19.0847 49.5041 19.0847C47.9486 19.0847 47.0208 20.2854 47.0208 21.7317V29.5909H43.4187V21.6226C43.4187 20.1763 42.6819 19.0847 41.0446 19.0847C39.4619 19.0847 38.534 20.2581 38.534 21.7317V29.5909Z\" />\n <path d=\"M74.5698 29.5909L72.9598 25.1701H65.1006L63.4906 29.5909H59.5064L66.929 10.2432H71.2951L78.6631 29.5909H74.5698ZM69.0302 14.4184L66.3559 21.7317H71.7045L69.0302 14.4184Z\" />\n <path d=\"M83.249 29.5909H79.4285V10.2432H83.249V29.5909Z\" />\n </g>\n </svg>\n );\n case 'apptile':\n return (\n <svg aria-label=\"Loom\" viewBox=\"0 0 103 40\" fill=\"none\" {...props}>\n <title>Loom</title>\n <path\n d=\"M0 12C0 5.37258 5.37258 0 12 0H28C34.6274 0 40 5.37258 40 12V28C40 34.6274 34.6274 40 28 40H12C5.37258 40 0 34.6274 0 28V12Z\"\n fill={\n symbolColor\n ? getColorValue(symbolColor)\n : getColorValue('blurple')\n }\n />\n <path\n d=\"M32.3962 18.6213H25.1467L31.4251 14.9965L30.0463 12.6077L23.768 16.2325L27.392 9.95464L25.0032 8.57506L21.3792 14.8529V7.604H18.6215V14.8536L14.9961 8.57506L12.6081 9.95395L16.2327 16.2318L9.95437 12.6077L8.57552 14.9958L14.8539 18.6206H7.60449V21.3784H14.8532L8.57552 25.0032L9.95437 27.392L16.2321 23.7679L12.6074 30.0457L14.9961 31.4246L18.6208 25.1461V32.3957H21.3785V25.1468L25.0025 31.4246L27.3912 30.0457L23.7665 23.7672L30.0449 27.392L31.4238 25.0032L25.1461 21.3791H32.3947V18.6213H32.3962ZM20.0003 23.7505C17.921 23.7505 16.2355 22.0651 16.2355 19.9856C16.2355 17.9062 17.921 16.2207 20.0003 16.2207C22.0797 16.2207 23.7651 17.9062 23.7651 19.9856C23.7651 22.0651 22.0797 23.7505 20.0003 23.7505Z\"\n fill=\"white\"\n />\n <g fill={wordmarkColor}>\n <path d=\"M47.6001 29.5076V10H51.1816V29.5076H47.6001Z\" />\n <path d=\"M81.9516 16.2509H85.3718V17.8682C86.0987 16.575 87.7961 15.8739 89.2499 15.8739C91.0549 15.8739 92.5086 16.6556 93.1818 18.0832C94.2314 16.4659 95.633 15.8739 97.3834 15.8739C99.8338 15.8739 102.177 17.356 102.177 20.9122V29.5076H98.7027V21.6402C98.7027 20.2119 98.0019 19.1345 96.3591 19.1345C94.8238 19.1345 93.9079 20.3202 93.9079 21.7485V29.5084H90.3541V21.6402C90.3541 20.2119 89.6272 19.1345 88.0104 19.1345C86.4483 19.1345 85.5323 20.2933 85.5323 21.7485V29.5084H81.9516V16.2509Z\" />\n <path d=\"M59.2755 29.8916C55.2407 29.8916 52.3189 26.899 52.3189 22.8795C52.3189 18.9241 55.2312 15.8603 59.2755 15.8603C63.3394 15.8603 66.232 18.9526 66.232 22.8795C66.232 26.8697 63.3086 29.8916 59.2755 29.8916ZM59.2755 19.1051C57.1944 19.1051 55.5018 20.7983 55.5018 22.8803C55.5018 24.9624 57.1944 26.6555 59.2755 26.6555C61.3565 26.6555 63.0484 24.9624 63.0484 22.8803C63.0484 20.7983 61.3565 19.1051 59.2755 19.1051Z\" />\n <path d=\"M73.8823 29.8916C69.8476 29.8916 66.9258 26.899 66.9258 22.8795C66.9258 18.9241 69.8381 15.8603 73.8823 15.8603C77.9463 15.8603 80.8389 18.9526 80.8389 22.8795C80.8389 26.8697 77.9139 29.8916 73.8823 29.8916ZM73.8823 19.0601C71.7776 19.0601 70.0652 20.7738 70.0652 22.8788C70.0652 24.9837 71.7776 26.6974 73.8823 26.6974C75.9871 26.6974 77.6995 24.9837 77.6995 22.8788C77.6988 20.7738 75.9863 19.0601 73.8823 19.0601Z\" />\n </g>\n </svg>\n );\n case 'product':\n return (\n <svg viewBox=\"0 0 112 40\" fill=\"none\" aria-label=\"Loom\" {...props}>\n <path\n d=\"M0 9.25C0 4.14137 4.14137 0 9.25 0H30.75C35.8586 0 40 4.14137 40 9.25V30.75C40 35.8586 35.8586 40 30.75 40H9.25C4.14137 40 0 35.8586 0 30.75V9.25Z\"\n fill={\n symbolColor\n ? getColorValue(symbolColor)\n : getColorValue('primary')\n }\n />\n <path\n d=\"M32.3962 18.6756H25.1467L31.4251 15.0508L30.0463 12.662L23.768 16.2868L27.392 10.009L25.0032 8.62938L21.3792 14.9072V7.65833H18.6215V14.9079L14.9961 8.62938L12.6081 10.0083L16.2327 16.2861L9.95437 12.662L8.57552 15.0501L14.8539 18.6749H7.60449V21.4327H14.8532L8.57552 25.0575L9.95437 27.4463L16.2321 23.8222L12.6074 30.1L14.9961 31.4789L18.6208 25.2004V32.45H21.3785V25.2011L25.0025 31.4789L27.3912 30.1L23.7665 23.8215L30.0449 27.4463L31.4238 25.0575L25.1461 21.4334H32.3947L32.3962 18.6756ZM20.0003 23.8048C17.921 23.8048 16.2355 22.1194 16.2355 20.0399C16.2355 17.9605 17.921 16.275 20.0003 16.275C22.0797 16.275 23.7651 17.9605 23.7651 20.0399C23.7651 22.1194 22.0797 23.8048 20.0003 23.8048Z\"\n fill=\"white\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M70.3743 15.1855C71.6352 15.1855 72.7252 15.459 73.6442 16.0059C74.5709 16.5527 75.2848 17.3237 75.7861 18.3187C76.2874 19.3061 76.5381 20.4568 76.5381 21.7708C76.5381 23.0773 76.2874 24.2242 75.7861 25.2116C75.2848 26.199 74.5709 26.9661 73.6442 27.513C72.7252 28.0599 71.6352 28.3333 70.3743 28.3333C69.1135 28.3333 68.0197 28.0599 67.0931 27.513C66.174 26.9661 65.4639 26.199 64.9626 25.2116C64.4613 24.2242 64.2106 23.0773 64.2106 21.7708C64.2106 20.4568 64.4613 19.3061 64.9626 18.3187C65.4639 17.3237 66.174 16.5527 67.0931 16.0059C68.0197 15.459 69.1135 15.1855 70.3743 15.1855ZM70.3743 17.7376C69.7287 17.7376 69.1895 17.9161 68.7565 18.2731C68.3312 18.6225 68.0084 19.101 67.7881 19.7087C67.5754 20.3087 67.4691 20.9923 67.4691 21.7594C67.4691 22.519 67.5754 23.2026 67.7881 23.8102C68.0084 24.4179 68.3312 24.9002 68.7565 25.2572C69.1895 25.6066 69.7287 25.7812 70.3743 25.7812C71.02 25.7812 71.5592 25.6066 71.9922 25.2572C72.4251 24.9002 72.7479 24.4179 72.9606 23.8102C73.1733 23.2026 73.2796 22.519 73.2796 21.7594C73.2796 20.9999 73.1733 20.3163 72.9606 19.7087C72.7479 19.101 72.4251 18.6225 71.9922 18.2731C71.5592 17.9161 71.02 17.7376 70.3743 17.7376Z\"\n fill={wordmarkColor}\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M84.6387 15.1855C85.8995 15.1855 86.9895 15.459 87.9085 16.0059C88.8352 16.5527 89.5491 17.3237 90.0505 18.3187C90.5518 19.3061 90.8024 20.4568 90.8024 21.7708C90.8024 23.0773 90.5518 24.2242 90.0505 25.2116C89.5491 26.199 88.8352 26.9661 87.9085 27.513C86.9895 28.0599 85.8995 28.3333 84.6387 28.3333C83.3778 28.3333 82.2841 28.0599 81.3574 27.513C80.4384 26.9661 79.7282 26.199 79.2269 25.2116C78.7256 24.2242 78.4749 23.0773 78.4749 21.7708C78.4749 20.4568 78.7256 19.3061 79.2269 18.3187C79.7282 17.3237 80.4384 16.5527 81.3574 16.0059C82.2841 15.459 83.3778 15.1855 84.6387 15.1855ZM84.6387 17.7376C83.9931 17.7376 83.4538 17.9161 83.0208 18.2731C82.5955 18.6225 82.2727 19.101 82.0524 19.7087C81.8397 20.3087 81.7334 20.9923 81.7334 21.7594C81.7334 22.519 81.8397 23.2026 82.0524 23.8102C82.2727 24.4179 82.5955 24.9002 83.0208 25.2572C83.4538 25.6066 83.9931 25.7812 84.6387 25.7812C85.2843 25.7812 85.8236 25.6066 86.2565 25.2572C86.6895 24.9002 87.0123 24.4179 87.2249 23.8102C87.4376 23.2026 87.5439 22.519 87.5439 21.7594C87.5439 20.9999 87.4376 20.3163 87.2249 19.7087C87.0123 19.101 86.6895 18.6225 86.2565 18.2731C85.8236 17.9161 85.2843 17.7376 84.6387 17.7376Z\"\n fill={wordmarkColor}\n />\n <path\n d=\"M54.9365 25.3483H62.3421V28.0827H51.6667V11.1068H54.9365V25.3483Z\"\n fill={wordmarkColor}\n />\n <path\n d=\"M107.368 15.1514C108.135 15.1514 108.823 15.3185 109.43 15.6527C110.046 15.9869 110.528 16.4768 110.877 17.1224C111.234 17.768 111.413 18.5579 111.413 19.4922V28.0827H108.211V20.0505C108.211 19.2985 108.006 18.744 107.596 18.387C107.186 18.0301 106.688 17.8516 106.104 17.8516C105.655 17.8516 105.264 17.9503 104.93 18.1478C104.603 18.3377 104.349 18.6073 104.167 18.9567C103.992 19.3061 103.905 19.7125 103.905 20.1758V28.0827H100.794V19.9365C100.794 19.2985 100.601 18.7934 100.213 18.4212C99.8334 18.0414 99.3397 17.8516 98.7321 17.8516C98.3143 17.8516 97.9346 17.9465 97.5928 18.1364C97.251 18.3263 96.9813 18.6073 96.7839 18.9795C96.5864 19.3441 96.4876 19.796 96.4876 20.3353V28.0827H93.2747V15.3451H96.2712L96.3786 17.806C96.5512 17.3255 96.7692 16.9151 97.0345 16.5755C97.4219 16.0894 97.8738 15.7324 98.3903 15.5046C98.9068 15.2691 99.4461 15.1514 100.008 15.1514C100.927 15.1514 101.668 15.44 102.23 16.0173C102.677 16.4764 103.023 17.1235 103.273 17.9574C103.451 17.4646 103.688 17.038 103.984 16.6781C104.417 16.1616 104.922 15.778 105.5 15.5273C106.085 15.2767 106.707 15.1514 107.368 15.1514Z\"\n fill={wordmarkColor}\n />\n </svg>\n );\n case 'marketing':\n return (\n <svg aria-label=\"Loom\" viewBox=\"0 0 170 48\" fill=\"none\" {...props}>\n <path\n d=\"M154.37 25.212V38H150.414V24.108C150.414 19.968 148.758 18.128 144.986 18.128C141.306 18.128 138.776 20.566 138.776 25.212V38H134.82V15H138.776V18.772C140.248 16.058 142.962 14.54 146.044 14.54C149.954 14.54 152.622 16.518 153.772 20.152C155.06 16.61 158.142 14.54 161.96 14.54C167.112 14.54 169.964 18.036 169.964 24.522V38H166.008V25.212C166.008 20.474 164.352 18.128 160.58 18.128C156.9 18.128 154.37 20.566 154.37 25.212Z\"\n fill={wordmarkColor}\n />\n <path\n d=\"M119.367 38.46C112.467 38.46 108.419 33.354 108.419 26.454C108.419 19.554 112.467 14.54 119.367 14.54C126.221 14.54 130.223 19.554 130.223 26.454C130.223 33.354 126.221 38.46 119.367 38.46ZM119.367 18.22C114.445 18.22 112.283 22.084 112.283 26.454C112.283 30.824 114.445 34.78 119.367 34.78C124.243 34.78 126.359 30.824 126.359 26.454C126.359 22.084 124.243 18.22 119.367 18.22Z\"\n fill={wordmarkColor}\n />\n <path\n d=\"M94.3452 38.46C87.4452 38.46 83.3972 33.354 83.3972 26.454C83.3972 19.554 87.4452 14.54 94.3452 14.54C101.199 14.54 105.201 19.554 105.201 26.454C105.201 33.354 101.199 38.46 94.3452 38.46ZM94.3452 18.22C89.4232 18.22 87.2612 22.084 87.2612 26.454C87.2612 30.824 89.4232 34.78 94.3452 34.78C99.2212 34.78 101.337 30.824 101.337 26.454C101.337 22.084 99.2212 18.22 94.3452 18.22Z\"\n fill={wordmarkColor}\n />\n <path\n d=\"M64.094 7.77783H68.234V34.0438H81.942V37.9998H64.094V7.77783Z\"\n fill={wordmarkColor}\n />\n <path\n d=\"M0 12C0 5.37258 5.37258 0 12 0H36C42.6274 0 48 5.37258 48 12V36C48 42.6274 42.6274 48 36 48H12C5.37258 48 0 42.6274 0 36V12Z\"\n fill={\n symbolColor\n ? getColorValue(symbolColor)\n : getColorValue('primary')\n }\n />\n <g clipPath=\"url(#clip0_45829_3572)\">\n <path\n d=\"M38.0625 22.9644H29.9846L36.9804 18.9253L35.4441 16.2635L28.4482 20.3026L32.4864 13.3073L29.8246 11.77L25.7864 18.7653V10.688H22.7136V18.7661L18.6738 11.77L16.0129 13.3065L20.0518 20.3018L13.0559 16.2635L11.5195 18.9246L18.5154 22.9636H10.4375V26.0366H18.5146L11.5195 30.0757L13.0559 32.7375L20.0511 28.6991L16.0121 35.6945L18.6738 37.2309L22.7128 30.2349V38.313H25.7857V30.2356L29.8239 37.2309L32.4855 35.6945L28.4466 28.6984L35.4425 32.7375L36.979 30.0757L29.9838 26.0373H38.0609V22.9644H38.0625ZM24.25 28.6798C21.933 28.6798 20.0549 26.8018 20.0549 24.4847C20.0549 22.1676 21.933 20.2895 24.25 20.2895C26.567 20.2895 28.445 22.1676 28.445 24.4847C28.445 26.8018 26.567 28.6798 24.25 28.6798Z\"\n fill=\"white\"\n />\n </g>\n <defs>\n <clipPath id=\"clip0_45829_3572\">\n <rect\n width=\"39\"\n height=\"39\"\n fill=\"white\"\n transform=\"translate(4.75 5)\"\n />\n </clipPath>\n </defs>\n </svg>\n );\n case 'attributed':\n return (\n <svg aria-label=\"Loom\" viewBox=\"0 0 232 75\" fill=\"none\" {...props}>\n <path\n d=\"M181.37 52.212V65H177.414V51.108C177.414 46.968 175.758 45.128 171.986 45.128C168.306 45.128 165.776 47.566 165.776 52.212V65H161.82V42H165.776V45.772C167.248 43.058 169.962 41.54 173.044 41.54C176.954 41.54 179.622 43.518 180.772 47.152C182.06 43.61 185.142 41.54 188.96 41.54C194.112 41.54 196.964 45.036 196.964 51.522V65H193.008V52.212C193.008 47.474 191.352 45.128 187.58 45.128C183.9 45.128 181.37 47.566 181.37 52.212Z\"\n fill={wordmarkColor}\n />\n <path\n d=\"M146.367 65.46C139.467 65.46 135.419 60.354 135.419 53.454C135.419 46.554 139.467 41.54 146.367 41.54C153.221 41.54 157.223 46.554 157.223 53.454C157.223 60.354 153.221 65.46 146.367 65.46ZM146.367 45.22C141.445 45.22 139.283 49.084 139.283 53.454C139.283 57.824 141.445 61.78 146.367 61.78C151.243 61.78 153.359 57.824 153.359 53.454C153.359 49.084 151.243 45.22 146.367 45.22Z\"\n fill={wordmarkColor}\n />\n <path\n d=\"M121.345 65.46C114.445 65.46 110.397 60.354 110.397 53.454C110.397 46.554 114.445 41.54 121.345 41.54C128.199 41.54 132.201 46.554 132.201 53.454C132.201 60.354 128.199 65.46 121.345 65.46ZM121.345 45.22C116.423 45.22 114.261 49.084 114.261 53.454C114.261 57.824 116.423 61.78 121.345 61.78C126.221 61.78 128.337 57.824 128.337 53.454C128.337 49.084 126.221 45.22 121.345 45.22Z\"\n fill={wordmarkColor}\n />\n <path\n d=\"M91.094 34.7778H95.234V61.0438H108.942V64.9998H91.094V34.7778Z\"\n fill={wordmarkColor}\n />\n <path\n d=\"M155.186 11.9857C155.186 14.5147 156.33 16.5017 160.967 17.4049C163.676 18.007 164.278 18.4285 164.278 19.3316C164.278 20.2348 163.676 20.7767 161.749 20.7767C159.521 20.7767 156.872 19.994 155.126 18.9704V23.0648C156.511 23.7271 158.317 24.5099 161.749 24.5099C166.566 24.5099 168.433 22.3423 168.433 19.2112M168.433 19.2714C168.433 16.2608 166.867 14.8759 162.351 13.9125C159.883 13.3706 159.281 12.8287 159.281 12.046C159.281 11.0826 160.184 10.6611 161.81 10.6611C163.797 10.6611 165.723 11.2632 167.59 12.1062V8.19237C166.265 7.53004 164.278 7.04834 161.93 7.04834C157.474 7.04834 155.186 8.97513 155.186 12.1062\"\n fill={wordmarkColor}\n />\n <path\n d=\"M216.844 7.16846V24.329H220.517V11.2629L222.022 14.695L227.2 24.329H231.776V7.16846H228.164V18.2475L226.779 14.9961L222.624 7.16846H216.844Z\"\n fill={wordmarkColor}\n />\n <path\n d=\"M193.602 7.16846H189.628V24.329H193.602V7.16846Z\"\n fill={wordmarkColor}\n />\n <path\n d=\"M185.052 19.2109C185.052 16.2003 183.486 14.8154 178.97 13.852C176.501 13.3101 175.899 12.7682 175.899 11.9854C175.899 11.022 176.802 10.6005 178.428 10.6005C180.415 10.6005 182.342 11.2027 184.209 12.0456V8.13183C182.884 7.46949 180.897 6.98779 178.549 6.98779C174.093 6.98779 171.805 8.91459 171.805 12.0456C171.805 14.5745 172.949 16.5615 177.585 17.4647C180.295 18.0669 180.897 18.4883 180.897 19.3915C180.897 20.2947 180.295 20.8366 178.368 20.8366C176.14 20.8366 173.491 20.0539 171.745 19.0302V23.1247C173.13 23.787 174.936 24.5698 178.368 24.5698C183.125 24.5698 185.052 22.4021 185.052 19.2109Z\"\n fill={wordmarkColor}\n />\n <path\n d=\"M124.237 7.16846V24.329H132.426L133.69 20.5958H128.211V7.16846H124.237Z\"\n fill={wordmarkColor}\n />\n <path\n d=\"M108.04 7.16846V10.8414H112.436V24.329H116.47V10.8414H121.227V7.16846H108.04Z\"\n fill={wordmarkColor}\n />\n <path\n d=\"M102.199 7.16846H96.961L91 24.329H95.5761L96.4191 21.4388C97.4427 21.7398 98.5265 21.9205 99.6104 21.9205C100.694 21.9205 101.778 21.7398 102.802 21.4388L103.645 24.329H108.221C108.16 24.329 102.199 7.16846 102.199 7.16846ZM99.5501 18.3077C98.7674 18.3077 98.0448 18.1873 97.3825 18.0067L99.5501 10.5403L101.718 18.0067C101.055 18.1873 100.333 18.3077 99.5501 18.3077Z\"\n fill={wordmarkColor}\n />\n <path\n d=\"M146.576 7.16846H141.337L135.316 24.329H139.892L140.735 21.4388C141.759 21.7398 142.843 21.9205 143.927 21.9205C145.01 21.9205 146.094 21.7398 147.118 21.4388L147.961 24.329H152.537L146.576 7.16846ZM143.927 18.3077C143.144 18.3077 142.421 18.1873 141.759 18.0067L143.927 10.5403L146.094 18.0067C145.432 18.1873 144.709 18.3077 143.927 18.3077Z\"\n fill={wordmarkColor}\n />\n <path\n d=\"M207.992 7.16846H202.754L196.793 24.329H201.369L202.212 21.4388C203.236 21.7398 204.319 21.9205 205.403 21.9205C206.487 21.9205 207.571 21.7398 208.595 21.4388L209.438 24.329H214.014L207.992 7.16846ZM205.403 18.3077C204.621 18.3077 203.898 18.1873 203.236 18.0067L205.403 10.5403L207.571 18.0067C206.909 18.1873 206.126 18.3077 205.403 18.3077Z\"\n fill={wordmarkColor}\n />\n <path\n d=\"M0 18.75C0 8.39466 8.39466 0 18.75 0H56.25C66.6053 0 75 8.39466 75 18.75V56.25C75 66.6053 66.6053 75 56.25 75H18.75C8.39466 75 0 66.6053 0 56.25V18.75Z\"\n fill={\n symbolColor\n ? getColorValue(symbolColor)\n : getColorValue('primary')\n }\n />\n <g clipPath=\"url(#clip0_45829_3571)\">\n <path\n d=\"M59.4729 35.8821H46.8511L57.7822 29.571L55.3817 25.412L44.4506 31.723L50.7602 20.7928L46.6012 18.3909L40.2915 29.3211V16.7002H35.4902V29.3223L29.1781 18.3909L25.0204 20.7916L31.3312 31.7218L20.4001 25.412L17.9995 29.5698L28.9306 35.8809H16.3088V40.6824H28.9294L17.9995 46.9934L20.4001 51.1525L31.33 44.8426L25.0192 55.7728L29.1781 58.1735L35.489 47.2422V59.8643H40.2904V47.2434L46.6 58.1735L50.7589 55.7728L44.4481 44.8415L55.3792 51.1525L57.7799 46.9934L46.85 40.6835H59.4704V35.8821H59.4729ZM37.8909 44.8124C34.2705 44.8124 31.3361 41.878 31.3361 38.2575C31.3361 34.637 34.2705 31.7025 37.8909 31.7025C41.5112 31.7025 44.4456 34.637 44.4456 38.2575C44.4456 41.878 41.5112 44.8124 37.8909 44.8124Z\"\n fill=\"white\"\n />\n </g>\n <defs>\n <clipPath id=\"clip0_45829_3571\">\n <rect\n width=\"60.9375\"\n height=\"60.9375\"\n fill=\"white\"\n transform=\"translate(7.42188 7.8125)\"\n />\n </clipPath>\n </defs>\n </svg>\n );\n default:\n return (\n <svg aria-label=\"Loom\" viewBox=\"0 0 100 30\" fill=\"none\" {...props}>\n <title>Loom</title>\n <path\n d=\"M30.01 13.43h-9.142l7.917-4.57-1.57-2.72-7.918 4.57 4.57-7.915-2.72-1.57-4.571 7.913V0h-3.142v9.139L8.863 1.225l-2.721 1.57 4.57 7.913L2.796 6.14 1.225 8.86l7.917 4.57H0v3.141h9.141l-7.916 4.57 1.57 2.72 7.918-4.57-4.571 7.915 2.72 1.57 4.572-7.914V30h3.142v-9.334l4.655 8.06 2.551-1.472-4.656-8.062 8.087 4.668 1.571-2.72-7.916-4.57h9.141v-3.14h.001zm-15.005 5.84a4.271 4.271 0 11-.001-8.542 4.271 4.271 0 01.001 8.542z\"\n fill={\n symbolColor\n ? getColorValue(symbolColor)\n : getColorValue('primary')\n }\n />\n <path\n d=\"M38.109 25.973V4.027h4.028v21.946h-4.028zM76.742 11.059h3.846v1.82c.818-1.455 2.727-2.244 4.362-2.244 2.03 0 3.665.88 4.422 2.485 1.18-1.82 2.756-2.485 4.725-2.485 2.756 0 5.39 1.667 5.39 5.668v9.67h-3.906v-8.851c0-1.607-.788-2.82-2.636-2.82-1.727 0-2.757 1.335-2.757 2.942v8.73h-3.996v-8.852c0-1.607-.818-2.82-2.636-2.82-1.757 0-2.787 1.305-2.787 2.942v8.73h-4.027V11.059zM51.24 26.405c-4.538 0-7.824-3.367-7.824-7.889 0-4.45 3.276-7.896 7.824-7.896 4.57 0 7.824 3.478 7.824 7.896 0 4.49-3.288 7.889-7.824 7.889zm0-12.135a4.25 4.25 0 00-4.244 4.247 4.25 4.25 0 004.244 4.247 4.25 4.25 0 004.243-4.247 4.25 4.25 0 00-4.243-4.247zM67.667 26.405c-4.538 0-7.824-3.367-7.824-7.889 0-4.45 3.276-7.896 7.824-7.896 4.57 0 7.824 3.478 7.824 7.896 0 4.49-3.29 7.889-7.824 7.889zm0-12.186a4.3 4.3 0 00-4.293 4.296 4.3 4.3 0 004.293 4.296 4.3 4.3 0 004.293-4.296 4.3 4.3 0 00-4.293-4.296z\"\n fill={wordmarkColor}\n />\n </svg>\n );\n }\n};\n\nconst LogoWrapper = styled.span<LogoWrapperProps>`\n display: block;\n ${props => props.maxWidth && getSize('max-width', props.maxWidth)};\n\n & > svg.lns-logoSvg {\n display: block;\n width: 100%;\n height: 100%;\n ${props => props.maxWidth && getSize('max-width', props.maxWidth)};\n }\n`;\n\nconst Logo = ({\n variant = 'combined',\n maxWidth,\n symbolColor,\n wordmarkColor = 'body',\n brand = 'loom',\n customId = '',\n ...props\n}: LogoProps &\n React.ComponentProps<typeof LogoWrapper> &\n Omit<\n LensSpanProps,\n keyof LogoProps & React.ComponentProps<typeof LogoWrapper>\n >) => (\n <LogoWrapper variant={variant} maxWidth={maxWidth} {...props}>\n {variant === 'combined' && (\n <CombinedLogoSvg\n brand={brand}\n symbolColor={symbolColor}\n wordmarkColor={getColorValue(wordmarkColor)}\n customId={customId}\n className=\"lns-logoSvg\"\n />\n )}\n {variant === 'symbol' && (\n <SymbolLogoSvg\n brand={brand}\n symbolColor={symbolColor}\n customId={customId}\n className=\"lns-logoSvg\"\n />\n )}\n {variant === 'wordmark' && (\n <WordmarkLogoSvg\n brand={brand}\n wordmarkColor={getColorValue(wordmarkColor)}\n className=\"lns-logoSvg\"\n />\n )}\n </LogoWrapper>\n);\n\nexport const availableVariants = ['combined', 'symbol', 'wordmark'];\n\ntype LogoProps = {\n variant?: 'combined' | 'symbol' | 'wordmark';\n brand?: 'loom' | 'ai' | 'apptile' | 'product' | 'marketing' | 'attributed';\n maxWidth?: number | string;\n symbolColor?: string;\n wordmarkColor?: string;\n customId?: string;\n};\n\ntype LogoWrapperProps = {\n variant?: 'combined' | 'symbol' | 'wordmark';\n brand?: 'loom' | 'ai' | 'apptile' | 'product' | 'marketing' | 'attributed';\n maxWidth?: number | string;\n};\n\nexport default Logo;\n", "import styled from '@emotion/styled';\nimport React from 'react';\n\nimport { LENS_CDN } from '../../constants/routes';\n\nconst sizeToPx = {\n small: '40px',\n medium: '80px',\n};\n\nconst LogoLoaderWrapper = styled.span<LogoLoaderProps>`\n animation: ${props => props.animation};\n background-image: url(${LENS_CDN}/${props => props.brand}-loader.svg);\n background-size: cover;\n background-position: left center;\n display: block;\n height: ${props => sizeToPx[props.size]};\n width: ${props => sizeToPx[props.size]};\n\n @keyframes spin {\n 100% {\n background-position: right center;\n }\n }\n`;\n\nconst LogoLoader = ({\n animation = 'spin 2s infinite steps(49) forwards',\n brand = 'loom',\n size = 'medium',\n}: LogoLoaderProps & React.ComponentProps<typeof LogoLoaderWrapper>) => {\n return <LogoLoaderWrapper animation={animation} brand={brand} size={size} />;\n};\n\ntype LogoLoaderProps = {\n animation?: string;\n brand?: 'loom' | 'ai';\n size?: 'small' | 'medium';\n};\n\nexport default LogoLoader;\n", "export const LENS_CDN = 'https://cdn.loom.com/assets/lens';\n", "import { css } from '@emotion/react';\nimport styled from '@emotion/styled';\nimport React from 'react';\n\nimport { LensDivProps, ResponsiveType } from '../../types';\nimport {\n getRadius,\n getSize,\n getSizeValue,\n getColorValue,\n} from '../../utilities';\n\nconst ssrComment = `/* emotion-disable-server-rendering-unsafe-selector-warning-please-do-not-use-this-the-warning-exists-for-a-reason */`;\n\nconst variantStyles = {\n border: css`\n .ListRowWrapper:last-child {\n border-bottom: 1px solid ${getColorValue('border')};\n }\n\n .ListRowWrapper,\n .ListRowWrapper:first-child ${ssrComment} {\n border-top: 1px solid ${getColorValue('border')};\n }\n `,\n stripe: css`\n .ListRowWrapper {\n &:nth-child(odd) ${ssrComment} {\n background-color: ${getColorValue('backgroundSecondary')};\n }\n }\n\n .ListRowWrapper {\n ${getRadius('medium')};\n }\n `,\n clear: css``,\n};\n\nconst ListWrapper = styled.div<ListProps>`\n .ListRowWrapper {\n grid-template-columns: ${props => props.columns && props.columns};\n ${props => getSize('gap', props.gap)};\n }\n\n ${props => variantStyles[props.variant]};\n`;\n\nconst ListRowWrapper = styled.div<ListRowWrapperProps>`\n display: grid;\n align-items: center;\n text-decoration: none;\n color: inherit;\n\n ${props => getSize('height', props.height)};\n ${props => getSize('min-height', props.minHeight)};\n ${props => getSize('max-height', props.maxHeight)};\n ${props => getSize('padding', props.padding)};\n ${props => getSize('padding-top', props.paddingTop)};\n ${props => getSize('padding-bottom', props.paddingBottom)};\n ${props => getSize('padding-left', props.paddingLeft)};\n ${props => getSize('padding-right', props.paddingRight)};\n\n ${props =>\n props.paddingY &&\n `\n ${getSize('padding-top', props.paddingY)}\n ${getSize('padding-bottom', props.paddingY)}\n `};\n\n ${props =>\n props.paddingX &&\n `\n ${getSize('padding-left', props.paddingX)}\n ${getSize('padding-right', props.paddingX)}\n `};\n\n ${props => (props.onClick || props.href) && `cursor: pointer;`};\n\n &.ListRowWrapper:nth-child(even),\n &.ListRowWrapper:nth-child(odd) ${ssrComment} {\n ${props =>\n props.backgroundColor &&\n `background-color: ${getColorValue(props.backgroundColor)}`};\n\n &:hover {\n ${props =>\n (props.onClick || props.href) &&\n `\n background-color: ${getColorValue('backgroundHover')};\n border-color: transparent;\n ${getRadius('medium')};\n `};\n }\n }\n`;\n\nexport const ListRow = ({\n children,\n htmlTag = 'li',\n className,\n backgroundColor,\n onClick,\n href,\n role,\n ...props\n}: ListRowProps) => {\n const classNameFromProp = className ? ` ${className}` : ``;\n\n const nonInteractiveElements = [\n 'div',\n 'span',\n 'p',\n 'h1',\n 'h2',\n 'h3',\n 'h4',\n 'h5',\n 'h6',\n 'section',\n 'article',\n 'header',\n 'footer',\n 'main',\n 'aside',\n 'nav',\n ];\n\n const isAutoInteractive = !htmlTag && onClick;\n\n let isNonInteractive = false;\n const actualHtmlTag = htmlTag || 'div';\n if (!isAutoInteractive) {\n isNonInteractive = nonInteractiveElements.includes(actualHtmlTag);\n }\n\n const interactiveProps =\n !isNonInteractive || isAutoInteractive\n ? {\n onClick,\n onKeyDown: e => {\n if (e.key === 'Enter') {\n e.preventDefault();\n onClick?.(e);\n }\n },\n }\n : {};\n\n return (\n // eslint-disable-next-line styled-components-a11y/no-static-element-interactions\n <ListRowWrapper\n role={role || (htmlTag === 'li' ? 'listitem' : undefined)}\n className={`ListRowWrapper${classNameFromProp}`}\n as={htmlTag}\n backgroundColor={backgroundColor}\n href={href}\n {...interactiveProps}\n {...props}\n >\n {children}\n </ListRowWrapper>\n );\n};\n\nconst formatColumns = columns =>\n columns.map(columnValue => getSizeValue(columnValue)).join(' ');\n\nconst List = ({\n children,\n columns,\n gap,\n variant = 'stripe',\n htmlTag = 'ul',\n ...props\n}: ListProps &\n React.ComponentProps<typeof ListWrapper> &\n Omit<\n LensDivProps,\n keyof ListProps & React.ComponentProps<typeof ListWrapper>\n >) => {\n let processedChildren = children;\n if (htmlTag === 'ul') {\n processedChildren = React.Children.map(children, child => {\n if (React.isValidElement(child) && child.type === ListRow) {\n return React.cloneElement(child as React.ReactElement<ListRowProps>, {\n htmlTag: 'li',\n });\n }\n return child;\n });\n }\n\n return (\n <ListWrapper\n as={htmlTag}\n columns={columns && formatColumns(columns)}\n gap={gap}\n variant={variant}\n role={htmlTag === 'ul' ? 'list' : undefined}\n {...props}\n >\n {processedChildren}\n </ListWrapper>\n );\n};\n\ninterface SharedProps {\n padding?: ResponsiveType<string | number>;\n paddingTop?: ResponsiveType<string | number>;\n paddingBottom?: ResponsiveType<string | number>;\n paddingLeft?: ResponsiveType<string | number>;\n paddingRight?: ResponsiveType<string | number>;\n paddingY?: ResponsiveType<string | number>;\n paddingX?: ResponsiveType<string | number>;\n height?: ResponsiveType<string | number>;\n minHeight?: ResponsiveType<string | number>;\n maxHeight?: ResponsiveType<string | number>;\n backgroundColor?: string;\n}\n\ninterface ListRowProps extends SharedProps {\n className?: string;\n htmlTag?: keyof JSX.IntrinsicElements;\n children?: React.ReactNode;\n onClick?: React.ReactEventHandler;\n href?: string;\n role?: string;\n}\n\ninterface ListRowWrapperProps extends SharedProps {\n className?: string;\n as?: string;\n children?: React.ReactNode;\n href?: string;\n onClick?: React.ReactEventHandler;\n}\n\ntype ListProps = {\n columns?: (string | number)[];\n gap?: ResponsiveType<string | number>;\n variant?: 'clear' | 'border' | 'stripe';\n htmlTag?: keyof JSX.IntrinsicElements;\n backgroundColor?: string;\n children?: React.ReactNode;\n};\n\nexport default List;\n", "import styled from '@emotion/styled';\nimport React, { useCallback, useMemo, useRef, useId } from 'react';\n\nimport { LensButtonProps } from '../../types';\nimport {\n getColorValue,\n getFocusRing,\n getFontWeight,\n getRadius,\n getSize,\n getSizeValue,\n u,\n} from '../../utilities';\n\nimport Container from '../container/container';\nimport Tooltip, { type TooltipProps } from '../tooltip/tooltip';\nimport Icon from '../icon/icon';\n\nconst TabsContext = React.createContext<{ isPilledDesign?: boolean }>({});\n\nconst negativeScrollOffset = scrollOffset =>\n `calc(-1 * ${getSizeValue(scrollOffset)})`;\n\nconst Wrapper = styled.div<WrapperProps>`\n ${props =>\n props.scrollOffset &&\n `margin: 0 ${negativeScrollOffset(props.scrollOffset)};\n `};\n`;\n\nconst TabsNav = styled.div<TabsNavProps>`\n --activeIndicatorHeight: 3px;\n\n display: flex;\n overflow: auto;\n -ms-overflow-style: none;\n scrollbar-width: none;\n\n ${props =>\n props.hasBottomBorder && 'border-bottom: 1px solid var(--lns-color-border)'}\n\n ${props => props.scrollOffset && getSize('padding-left', props.scrollOffset)};\n\n &::-webkit-scrollbar {\n display: none;\n }\n\n > * {\n ${props => props.hasFullTabs && `flex: 1 0`};\n &:not(:first-of-type) {\n margin-left: 1rem;\n }\n }\n\n ::after {\n content: '';\n flex-shrink: 0;\n ${props => props.scrollOffset && getSize('width', props.scrollOffset)};\n }\n`;\n\nconst TabsNavPilled = styled.div<TabsNavProps>`\n ${getRadius('200')};\n background-color: var(--lns-color-backgroundSecondary);\n\n padding: var(--lns-space-xsmall);\n\n display: flex;\n overflow: auto;\n -ms-overflow-style: none;\n scrollbar-width: none;\n ${props => props.scrollOffset && getSize('padding-left', props.scrollOffset)};\n\n &::-webkit-scrollbar {\n display: none;\n }\n\n * {\n flex: 1 0;\n }\n\n ::after {\n content: '';\n flex-shrink: 0;\n ${props => props.scrollOffset && getSize('width', props.scrollOffset)};\n }\n`;\n\nconst TabWrapper = styled.button<TabWrapperProps>`\n appearance: none;\n font: inherit;\n background: transparent;\n border: 0;\n ${getRadius('medium')};\n cursor: pointer;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n vertical-align: middle;\n padding: 0 0 calc(var(--lns-space-small) + var(--activeIndicatorHeight)) 0;\n position: relative;\n color: inherit;\n text-decoration: none;\n flex-shrink: 0;\n ${getFontWeight('bold')};\n transition: 0.6s color;\n white-space: nowrap;\n color: ${props =>\n getColorValue(\n props.isActive\n ? 'body'\n : props.disabled\n ? 'disabledContent'\n : 'bodyDimmed'\n )};\n ${props =>\n props.isActive &&\n `border-color: ${getColorValue('primary')};\n `};\n\n &:focus,\n &:focus-visible {\n outline: 1px solid transparent;\n }\n\n &:focus-visible {\n ${getFocusRing(undefined, 'inset')};\n }\n\n &:hover:not(:disabled) {\n color: ${getColorValue('body')};\n transition: 0.3s color;\n }\n\n &::after {\n bottom: 0;\n ${getRadius('medium')};\n content: '';\n height: var(--activeIndicatorHeight);\n position: absolute;\n width: 100%;\n ${props =>\n props.isActive && `background-color: ${getColorValue('primary')}`};\n }\n`;\n\nconst TabWrapperPilled = styled.button<TabWrapperProps>`\n padding: ${u(1)} 0;\n\n appearance: none;\n font: inherit;\n background: transparent;\n border: none;\n ${getRadius('175')};\n cursor: pointer;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n vertical-align: middle;\n position: relative;\n color: inherit;\n text-decoration: none;\n flex-shrink: 0;\n ${getFontWeight('bold')};\n\n transition: 0.6s color;\n white-space: nowrap;\n color: ${props =>\n getColorValue(\n props.isActive\n ? 'body'\n : props.disabled\n ? 'disabledContent'\n : 'bodyDimmed'\n )};\n ${props =>\n props.isActive &&\n `background-color: ${getColorValue('background')};\n color: ${getColorValue('primary')};\n `};\n\n &:focus,\n &:focus-visible {\n outline: 1px solid transparent;\n }\n\n &:focus-visible {\n ${getFocusRing(undefined, 'inset')};\n }\n\n &:hover:not(:disabled) {\n color: ${getColorValue('primary')};\n transition: 0.3s color;\n }\n`;\n\n/** @deprecated Use tabs prop instead */\nexport const Tab = ({\n children,\n isActive,\n htmlTag = 'button',\n icon,\n isDisabled = false,\n ...props\n}: TabProps &\n React.ComponentProps<typeof TabWrapper> &\n Omit<\n LensButtonProps,\n keyof TabProps & React.ComponentProps<typeof TabWrapper>\n >) => {\n const { isPilledDesign } = React.useContext(TabsContext);\n\n if (isPilledDesign) {\n return (\n <TabWrapperPilled\n as={htmlTag}\n isActive={isActive}\n icon={icon}\n role=\"tab\"\n aria-selected={isActive}\n disabled={isDisabled}\n {...props}\n >\n {icon && (\n <Container htmlTag=\"span\" paddingRight={children && 'small'}>\n <Icon icon={icon} color=\"currentColor\" />\n </Container>\n )}\n {children}\n </TabWrapperPilled>\n );\n }\n\n return (\n <TabWrapper\n as={htmlTag}\n isActive={isActive}\n icon={icon}\n role=\"tab\"\n aria-selected={isActive}\n disabled={isDisabled}\n {...props}\n >\n {icon && (\n <Container htmlTag=\"span\" paddingRight={children && 'small'}>\n <Icon icon={icon} color=\"currentColor\" />\n </Container>\n )}\n {children}\n </TabWrapper>\n );\n};\n\n/** @deprecated Use tabs prop instead */\nconst TabsDeprecated = ({\n children,\n scrollOffset,\n hasFullTabs,\n isPilledDesign,\n hasBottomBorder = false,\n ...props\n}: TabsProps) => {\n const tabsContent = isPilledDesign ? (\n <TabsNavPilled\n hasFullTabs={hasFullTabs}\n scrollOffset={scrollOffset}\n role=\"tablist\"\n {...props}\n >\n {children}\n </TabsNavPilled>\n ) : (\n <TabsNav\n hasFullTabs={hasFullTabs}\n scrollOffset={scrollOffset}\n hasBottomBorder={hasBottomBorder}\n role=\"tablist\"\n {...props}\n >\n {children}\n </TabsNav>\n );\n\n if (scrollOffset) {\n return <Wrapper scrollOffset={scrollOffset}>{tabsContent}</Wrapper>;\n }\n\n return (\n <TabsContext.Provider value={{ isPilledDesign }}>\n {tabsContent}\n </TabsContext.Provider>\n );\n};\n\nconst ConditionalTooltip = ({\n tooltipProps,\n children,\n tooltipId,\n}: {\n tooltipProps: TooltipProps;\n children: React.ReactNode;\n tooltipId: string;\n}) => {\n if (tooltipProps) {\n return (\n <Tooltip {...tooltipProps} tooltipId={tooltipId} tabIndex={-1}>\n {children}\n </Tooltip>\n );\n }\n return children;\n};\n\nexport const TabNew = React.forwardRef<\n HTMLButtonElement,\n TabItem &\n React.ComponentProps<typeof TabWrapper> &\n Omit<\n LensButtonProps,\n keyof TabItem & React.ComponentProps<typeof TabWrapper>\n >\n>(\n (\n {\n tabContent,\n tooltipProps,\n isActive,\n htmlTag = 'button',\n icon,\n isDisabled = false,\n onKeyDown,\n onClick,\n ...props\n },\n ref\n ) => {\n const { isPilledDesign } = React.useContext(TabsContext);\n\n const tooltipId = useId();\n\n const componentProps = {\n as: htmlTag,\n isActive,\n icon,\n role: 'tab',\n 'aria-selected': isActive,\n disabled: isDisabled,\n tabIndex: isActive ? 0 : -1,\n 'aria-describedby': tooltipProps ? tooltipId : undefined,\n onKeyDown,\n onClick,\n ref,\n ...props,\n };\n\n return (\n <ConditionalTooltip tooltipProps={tooltipProps} tooltipId={tooltipId}>\n {isPilledDesign ? (\n <TabWrapperPilled {...componentProps}>\n {icon ? (\n <Container htmlTag=\"span\" paddingRight={tabContent && 'small'}>\n <Icon icon={icon} color=\"currentColor\" />\n </Container>\n ) : null}\n {tabContent}\n </TabWrapperPilled>\n ) : (\n <TabWrapper {...componentProps}>\n {icon ? (\n <Container htmlTag=\"span\" paddingRight={tabContent && 'small'}>\n <Icon icon={icon} color=\"currentColor\" />\n </Container>\n ) : null}\n {tabContent}\n </TabWrapper>\n )}\n </ConditionalTooltip>\n );\n }\n);\n\nTabNew.displayName = 'TabNew';\n\nexport const TabsNew = ({\n tabs,\n scrollOffset,\n hasFullTabs,\n isPilledDesign,\n hasBottomBorder = false,\n ...props\n}: TabsProps) => {\n const tabRefs = useRef<{ [key: string]: HTMLButtonElement | null }>({});\n\n const handleKeyDown = useCallback(\n (event: React.KeyboardEvent, currentTabIndex: number) => {\n let newIndex = currentTabIndex;\n\n switch (event.key) {\n case 'ArrowLeft':\n event.preventDefault();\n newIndex =\n currentTabIndex > 0 ? currentTabIndex - 1 : tabs.length - 1;\n break;\n case 'ArrowRight':\n event.preventDefault();\n newIndex =\n currentTabIndex < tabs.length - 1 ? currentTabIndex + 1 : 0;\n break;\n case 'Home':\n event.preventDefault();\n newIndex = 0;\n break;\n case 'End':\n event.preventDefault();\n newIndex = tabs.length - 1;\n break;\n default:\n return;\n }\n\n tabRefs.current[newIndex]?.focus();\n },\n [tabs.length]\n );\n\n const setTabRef = useCallback(\n (tabIndex: number) => (ref: HTMLButtonElement | null) => {\n tabRefs.current[tabIndex] = ref;\n },\n []\n );\n\n const tabsToRender = useMemo(\n () =>\n tabs.map((tabProps, index) => (\n <TabNew\n key={index}\n ref={setTabRef(index)}\n onKeyDown={e => handleKeyDown(e, index)}\n {...tabProps}\n />\n )),\n [tabs, handleKeyDown, setTabRef]\n );\n\n const tabsContent = useMemo(\n () =>\n isPilledDesign ? (\n <TabsNavPilled\n hasFullTabs={hasFullTabs}\n scrollOffset={scrollOffset}\n role=\"tablist\"\n {...props}\n >\n {tabsToRender}\n </TabsNavPilled>\n ) : (\n <TabsNav\n hasFullTabs={hasFullTabs}\n scrollOffset={scrollOffset}\n hasBottomBorder={hasBottomBorder}\n role=\"tablist\"\n {...props}\n >\n {tabsToRender}\n </TabsNav>\n ),\n [\n tabsToRender,\n hasFullTabs,\n scrollOffset,\n hasBottomBorder,\n isPilledDesign,\n props,\n ]\n );\n\n const wrappedContent = (\n <TabsContext.Provider value={{ isPilledDesign }}>\n {tabsContent}\n </TabsContext.Provider>\n );\n\n if (scrollOffset) {\n return <Wrapper scrollOffset={scrollOffset}>{wrappedContent}</Wrapper>;\n }\n\n return wrappedContent;\n};\n\nconst Tabs = ({ children, tabs, ...props }: TabsProps) => {\n if (children && tabs) {\n // eslint-disable-next-line no-console\n console.warn(\n 'Both children and tabs props are provided. Please use only one of them.'\n );\n }\n\n if (!children && !tabs) {\n // eslint-disable-next-line no-console\n console.error('Either children or tabs must be provided.');\n\n return null;\n }\n\n if (children) {\n return <TabsDeprecated {...props}>{children}</TabsDeprecated>;\n }\n\n return <TabsNew tabs={tabs} {...props} />;\n};\n\ntype TabsProps = {\n scrollOffset?: number | string;\n hasFullTabs?: boolean;\n /** @deprecated Use tabs[] prop instead */\n children?: React.ReactNode;\n tabs?: TabItem[];\n isPilledDesign?: boolean;\n hasBottomBorder?: boolean;\n};\n\ntype TooltipPropsForTabItem = Omit<\n TooltipProps,\n 'children' | 'tooltipId' | 'tabIndex'\n>;\n\ntype TabItem = {\n tabContent: React.ReactNode;\n tooltipProps?: TooltipPropsForTabItem;\n icon?: React.ReactNode;\n htmlTag?: 'a' | 'button' | 'span';\n isActive?: boolean;\n isDisabled?: boolean;\n onClick?: () => void;\n};\n\n/** @deprecated Don't use this component directly, instead pass in tabs[] prop to <Tabs> */\ntype TabProps = {\n isActive?: boolean;\n icon?: React.ReactNode;\n children?: React.ReactNode;\n htmlTag?: 'a' | 'button' | 'span';\n isPilledDesign?: boolean;\n isDisabled?: boolean;\n};\n\ntype TabWrapperProps = {\n isActive?: boolean;\n icon?: React.ReactNode;\n as?: string;\n isDisabled?: boolean;\n};\n\ntype TabsNavProps = {\n scrollOffset?: number | string;\n hasFullTabs?: boolean;\n hasBottomBorder?: boolean;\n};\n\ntype WrapperProps = {\n scrollOffset?: number | string;\n};\n\nexport default Tabs;\n", "import styled from '@emotion/styled';\nimport React from 'react';\n\nimport { LensDivProps } from '../../types';\nimport {\n getColorValue,\n getFontWeight,\n getRadius,\n getSize,\n getTextSize,\n u,\n} from '../../utilities';\n\nimport Container from '../container/container';\nimport Icon from '../icon/icon';\n\nconst PillWrapper = styled.div<PillWrapperProps>`\n display: inline-grid;\n grid-auto-flow: column;\n align-items: center;\n vertical-align: middle;\n padding: 0 ${u(1.5)};\n min-height: ${u(3.25)};\n color: ${props => getColorValue(props.color)};\n background-color: ${props => getColorValue(props.backgroundColor)};\n ${getRadius('100')};\n ${getTextSize('small')};\n ${getFontWeight('bold')};\n ${getSize('gap', 'xsmall')};\n`;\n\nconst Pill = ({\n color,\n backgroundColor,\n children,\n icon,\n iconPosition = 'left',\n ...props\n}: PillProps &\n React.ComponentProps<typeof PillWrapper> &\n Omit<\n LensDivProps,\n keyof PillProps & React.ComponentProps<typeof PillWrapper>\n >) => {\n const iconComponent = (\n <Container\n htmlTag=\"span\"\n paddingLeft={iconPosition === 'right' && 'xsmall'}\n paddingRight={iconPosition === 'left' && 'xsmall'}\n >\n <Icon icon={icon} color=\"currentColor\" size={2} />\n </Container>\n );\n\n return (\n <PillWrapper color={color} backgroundColor={backgroundColor} {...props}>\n {icon && iconPosition === 'left' && iconComponent}\n {children}\n {icon && iconPosition === 'right' && iconComponent}\n </PillWrapper>\n );\n};\n\ntype PillProps = {\n icon?: React.ReactNode;\n iconPosition?: 'left' | 'right';\n color?: string;\n backgroundColor?: string;\n children?: React.ReactNode;\n};\n\ntype PillWrapperProps = {\n color?: string;\n backgroundColor?: string;\n};\n\nexport default Pill;\n", "import styled from '@emotion/styled';\nimport {\n Placement,\n autoUpdate,\n flip,\n offset as floatingUiOffset,\n limitShift,\n shift,\n useFloating,\n} from '@floating-ui/react-dom';\nimport React, { useEffect } from 'react';\n\nimport ReactDOM from 'react-dom';\n\nimport { useTransition } from 'transition-hook';\n\nimport { unit } from '../../variables';\n\ntype PlacementProps =\n | 'topLeft'\n | 'topCenter'\n | 'topRight'\n | 'bottomLeft'\n | 'bottomCenter'\n | 'bottomRight'\n | 'leftTop'\n | 'leftCenter'\n | 'leftBottom'\n | 'rightTop'\n | 'rightCenter'\n | 'rightBottom';\n\nconst placements = {\n topLeft: 'top-start',\n topCenter: 'top',\n topRight: 'top-end',\n bottomLeft: 'bottom-start',\n bottomCenter: 'bottom',\n bottomRight: 'bottom-end',\n leftTop: 'left-start',\n leftCenter: 'left',\n leftBottom: 'left-end',\n rightTop: 'right-start',\n rightCenter: 'right',\n rightBottom: 'right-end',\n};\n\nconst Wrapper = styled.div<{\n childrenZIndex: number;\n}>`\n position: relative;\n width: fit-content;\n // transform forces the popover to calculate the position from the trigger instead of the viewport\n transform: translate(0);\n z-index: ${props => props.childrenZIndex};\n`;\n\nconst ContentWrapper = styled.div<{\n zIndex: string | number;\n}>`\n ${props => props.zIndex && `z-index: ${props.zIndex}`};\n`;\n\nconst Popover = ({\n children,\n content,\n offset = 0.5,\n boundaryOffset = 0.5,\n isOpen,\n zIndex = 500,\n childrenZIndex = 1,\n placement = 'topCenter',\n rootId,\n boundaryElement = 'body',\n transitionDuration = 0,\n transitionDelay = 0,\n ...props\n}: PopoverProps) => {\n const unitOffset = offset * unit;\n const unitBoundaryOffset = boundaryOffset * unit;\n const isBrowser = typeof window !== 'undefined';\n const rootNode =\n rootId && isBrowser ? document.getElementById(rootId) : undefined;\n\n const { stage, shouldMount } = useTransition(\n isOpen,\n transitionDuration + transitionDelay\n );\n const getBoundaryElement = () => {\n if (boundaryElement === 'body' && isBrowser) {\n return document.body;\n }\n\n return boundaryElement as Element;\n };\n\n const { x, y, reference, floating, strategy, update, refs } = useFloating({\n placement: placements[placement] as Placement,\n middleware: [\n shift({\n padding: unitBoundaryOffset,\n boundary: boundaryElement ? getBoundaryElement() : undefined,\n limiter: limitShift(),\n }),\n flip({\n fallbackPlacements: ['top', 'bottom'],\n fallbackStrategy: 'initialPlacement',\n }),\n floatingUiOffset(unitOffset),\n ],\n strategy: 'fixed',\n });\n\n useEffect(() => {\n if (!refs.reference.current || !refs.floating.current) {\n return;\n }\n\n // Only call this when the floating element is rendered\n return autoUpdate(refs.reference.current, refs.floating.current, update);\n }, [refs.reference, refs.floating, update, shouldMount]);\n\n const contentProps = {\n zIndex,\n ref: floating,\n style: {\n position: strategy,\n top: y ?? '',\n left: x ?? '',\n transition: `opacity ${transitionDuration}ms ${transitionDelay}ms`,\n opacity: stage === 'enter' ? 1 : 0,\n },\n };\n\n return (\n <Wrapper ref={reference} {...props} childrenZIndex={childrenZIndex}>\n {children}\n\n {shouldMount && (\n <>\n {!rootNode && (\n <ContentWrapper {...contentProps}>{content}</ContentWrapper>\n )}\n\n {rootNode &&\n ReactDOM.createPortal(\n <ContentWrapper {...contentProps}>{content}</ContentWrapper>,\n rootNode\n )}\n </>\n )}\n </Wrapper>\n );\n};\n\ntype PopoverProps = {\n children?: React.ReactNode;\n content?: React.ReactNode;\n offset?: number;\n boundaryOffset?: number;\n zIndex?: number | string;\n isOpen?: boolean;\n placement?: PlacementProps;\n rootId?: string;\n boundaryElement?: 'body' | Element;\n transitionDuration?: number;\n transitionDelay?: number;\n childrenZIndex?: number;\n};\n\nexport default Popover;\n", "import styled from '@emotion/styled';\nimport React from 'react';\n\nimport { getSize, getColorValue } from '../../utilities';\n\nconst IllustrationWrapper = styled.span<IllustrationWrapperProps>`\n display: block;\n color: ${props =>\n props.color ? getColorValue(props.color) : getColorValue('grey8')};\n ${props => props.size && getSize('width', props.size)};\n ${props => props.size && getSize('height', props.size)};\n\n svg {\n display: block;\n width: 100%;\n height: 100%;\n }\n`;\n\nconst Illustration = ({\n altText,\n illustration,\n color = 'orange',\n size = 12,\n ...props\n}: IllustrationProps & React.ComponentProps<typeof IllustrationWrapper>) => {\n return (\n <IllustrationWrapper\n aria-hidden=\"true\"\n aria-label={altText}\n color={color}\n size={size}\n {...props}\n >\n {illustration}\n </IllustrationWrapper>\n );\n};\n\ntype IllustrationProps = {\n altText?: string;\n color?: string;\n illustration?: React.ReactNode;\n size?: number | string;\n};\n\ntype IllustrationWrapperProps = {\n color?: string;\n size?: number | string;\n};\n\nexport default Illustration;\n", "import { css } from '@emotion/react';\nimport styled from '@emotion/styled';\nimport React, { Children, cloneElement } from 'react';\n\nimport { customStylesWarning } from '../../console-messages';\nimport { ResponsiveType } from '../../types';\nimport {\n getResponsiveNumber,\n getResponsiveOneOf,\n getSize,\n} from '../../utilities';\n\nimport { getListContainer } from '../../utilities/styles';\n\nconst getSizeStyles = props => css`\n ${getSize('width', props.width)};\n ${getSize('height', props.height)};\n ${getSize('min-width', props.minWidth)};\n ${getSize('min-height', props.minHeight)};\n ${getSize('max-width', props.maxWidth)};\n ${getSize('max-height', props.maxHeight)};\n`;\n\nconst SplitWrapper = styled.div<SplitWrapperProps>`\n display: flex;\n ${props => getResponsiveOneOf('align-items', props.alignItems)};\n ${props =>\n props.justifyContent &&\n getResponsiveOneOf('justify-content', props.justifyContent)};\n ${props =>\n props.alignContent &&\n getResponsiveOneOf('align-content', props.alignContent)};\n ${props => getResponsiveOneOf('flex-wrap', props.wrap)};\n ${props =>\n props.direction && getResponsiveOneOf('flex-direction', props.direction)};\n ${props => props.gap && getSize('gap', props.gap)};\n ${props => props.rowGap && getSize('row-gap', props.rowGap)};\n ${props => props.columnGap && getSize('column-gap', props.columnGap)};\n ${props => getSizeStyles(props)};\n ${props => getListContainer(props.as)};\n`;\n\nconst SplitSectionWrapper = styled.div<SplitSectionWrapperProps>`\n ${props => getResponsiveNumber('flex-grow', props.grow)};\n ${props => getResponsiveNumber('flex-shrink', props.shrink)};\n ${props => props.basis && getSize('flex-basis', props.basis)};\n ${props => getSizeStyles(props)};\n`;\n\nexport const SplitSection = ({\n children,\n grow,\n shrink,\n basis,\n width,\n height,\n minWidth,\n minHeight,\n maxWidth,\n maxHeight,\n htmlTag = 'div',\n className,\n style,\n ...props\n}: SplitSectionProps & React.ComponentProps<typeof SplitSectionWrapper>) => {\n if (className || style) {\n // eslint-disable-next-line no-console\n console.warn(customStylesWarning);\n }\n\n return (\n <SplitSectionWrapper\n as={htmlTag}\n grow={grow}\n shrink={shrink}\n basis={basis}\n width={width}\n height={height}\n minWidth={minWidth}\n minHeight={minHeight}\n maxWidth={maxWidth}\n maxHeight={maxHeight}\n {...props}\n >\n {children}\n </SplitSectionWrapper>\n );\n};\n\nconst Split = ({\n children,\n gap = 'initial',\n rowGap,\n columnGap,\n alignItems = 'center',\n justifyContent,\n alignContent,\n wrap = 'wrap',\n width,\n height,\n minWidth,\n minHeight,\n maxWidth,\n maxHeight,\n htmlTag = 'div',\n className,\n style,\n ...props\n}: SplitProps & React.ComponentProps<typeof SplitWrapper>) => {\n if (className || style) {\n // eslint-disable-next-line no-console\n console.warn(customStylesWarning);\n }\n\n return (\n <SplitWrapper\n as={htmlTag}\n gap={gap}\n rowGap={rowGap}\n columnGap={columnGap}\n alignItems={alignItems}\n justifyContent={justifyContent}\n alignContent={alignContent}\n wrap={wrap}\n width={width}\n height={height}\n minWidth={minWidth}\n minHeight={minHeight}\n maxWidth={maxWidth}\n maxHeight={maxHeight}\n {...props}\n >\n {htmlTag === 'ul' || htmlTag === 'ol'\n ? Children.map(children, (child: React.ReactElement) => {\n if (child.type === SplitSection || child.type === Split) {\n return cloneElement(child, { htmlTag: 'li' });\n }\n\n return child;\n })\n : children}\n </SplitWrapper>\n );\n};\n\ninterface SharedProps {\n width?: ResponsiveType<number | string>;\n height?: ResponsiveType<number | string>;\n minWidth?: ResponsiveType<number | string>;\n minHeight?: ResponsiveType<number | string>;\n maxWidth?: ResponsiveType<number | string>;\n maxHeight?: ResponsiveType<number | string>;\n children?: React.ReactNode;\n}\n\ninterface SplitProps extends SharedProps {\n alignItems?: ResponsiveType<\n 'start' | 'stretch' | 'flex-start' | 'flex-end' | 'center' | 'baseline'\n >;\n justifyContent?: ResponsiveType<\n | 'flex-start'\n | 'flex-end'\n | 'center'\n | 'space-between'\n | 'space-around'\n | 'space-evenly'\n >;\n alignContent?:\n | 'flex-start'\n | 'flex-end'\n | 'center'\n | 'space-between'\n | 'space-around'\n | 'space-evenly'\n | 'stretch'\n | 'start'\n | 'end'\n | 'baseline';\n wrap?: ResponsiveType<'nowrap' | 'wrap' | 'wrap-reverse'>;\n htmlTag?: 'div' | 'ul' | 'ol' | 'li';\n gap?: ResponsiveType<number | string>;\n rowGap?: ResponsiveType<number | string>;\n columnGap?: ResponsiveType<number | string>;\n direction?: ResponsiveType<\n 'column' | 'column-reverse' | 'row' | 'row-reverse'\n >;\n className?: never;\n style?: never;\n}\n\ninterface SplitWrapperProps extends SplitProps {\n as?: string;\n}\n\ninterface SplitSectionProps extends SharedProps {\n grow?: ResponsiveType<number | string>;\n shrink?: ResponsiveType<number | string>;\n basis?: ResponsiveType<number | string>;\n className?: never;\n style?: never;\n htmlTag?: 'div' | 'li';\n}\n\ninterface SplitSectionWrapperProps extends SplitSectionProps {\n as?: string;\n}\n\nexport default Split;\n", "import styled from '@emotion/styled';\nimport React, { FC, useState } from 'react';\nimport { HexColorPicker, HexColorInput } from 'react-colorful';\n\nimport { LensDivProps } from '../../types';\nimport { u, getRadius } from '../../utilities';\n\nconst ColorfulWrapper = styled.div`\n padding: var(--lns-space-medium);\n & .react-colorful {\n width: auto;\n height: auto;\n }\n & .react-colorful__saturation {\n height: ${u(14)};\n border-bottom: none;\n box-shadow: inset 0 0 0 1px var(--lns-color-border);\n ${getRadius(100)};\n margin-bottom: var(--lns-space-small);\n }\n\n & .react-colorful__hue {\n height: ${u(2)};\n width: 100%;\n box-shadow: inset 0 0 0 1px var(--lns-color-border);\n ${getRadius('50')};\n margin-bottom: var(--lns-space-medium);\n }\n\n & .react-colorful__saturation-pointer {\n width: ${u(1)};\n height: ${u(1)};\n cursor: pointer;\n border: 2px solid white;\n box-shadow: 0 0 0 3px var(--lns-color-border);\n border-radius: var(--lns-radius-medium);\n }\n & .react-colorful__hue-pointer {\n width: ${u(1)};\n height: ${u(2.5)};\n border-radius: 2px;\n box-shadow: 0 0 0 2px var(--lns-color-border);\n cursor: pointer;\n border: 2px solid white;\n }\n`;\n\nconst ColorPickerContainer = styled.div`\n position: relative;\n width: ${u(31)};\n background-color: var(--lns-color-overlay);\n ${getRadius('250')};\n box-shadow:\n 0 0 0 1px var(--lns-color-border),\n var(--lns-shadow-medium);\n`;\n\nconst InputContainer = styled.div`\n position: relative;\n width: 100%;\n\n input {\n padding: 0 0 0 ${u(4)};\n height: ${u(4)};\n width: 100%;\n font: inherit;\n font-size: var(--lns-fontSize-small);\n border: none;\n box-shadow: inset 0 0 0 var(--lns-formFieldBorderWidth)\n var(--lns-color-formFieldBorder);\n ${getRadius('150')};\n transition: 0.3s box-shadow;\n background-color: var(--lns-color-overlay);\n color: var(--lns-color-body);\n\n &:hover {\n box-shadow: inset 0 0 0 var(--lns-formFieldBorderWidthFocus)\n var(--lns-color-blurple);\n }\n\n &:focus {\n outline: 1px solid transparent;\n box-shadow: var(--lns-formFieldBorderShadowFocus);\n }\n }\n`;\n\nconst ColorBox = styled.div<{ color: string }>`\n position: absolute;\n width: ${u(3)};\n height: ${u(3)};\n left: var(--lns-space-xsmall);\n top: var(--lns-space-xsmall);\n border: 1px solid rgba(0, 0, 0, 0.1);\n ${getRadius('100')};\n background-color: ${props => props.color};\n`;\n\nconst ButtonWrapper = styled.div`\n position: relative;\n border-radius: var(--lns-radius-medium);\n padding: 0 var(--lns-space-medium) var(--lns-space-medium)\n var(--lns-space-medium);\n`;\n\nconst SwatchesContainer = styled.div`\n display: grid;\n grid-template-columns: repeat(7, ${u(3)});\n gap: ${u(1)} ${u(1)};\n border-bottom: 1px solid var(--lns-color-border);\n padding: var(--lns-space-medium);\n`;\n\nconst Swatch = styled.div<SwatchProps>`\n cursor: pointer;\n width: ${u(3)};\n height: ${u(3)};\n ${getRadius('100')};\n background-color: ${props => props.color};\n border: ${props =>\n props.selected === props.color\n ? '1px solid white'\n : '1px solid var(--lns-color-border)'};\n box-shadow: ${props =>\n props.selected === props.color && '0 0 0 2px var(--lns-color-focusRing)'};\n`;\n\nconst SwatchSelector: FC<{\n swatches: string[];\n currentColor: string;\n onSwatchClick: (swatch: string) => void;\n}> = ({ swatches, currentColor, onSwatchClick }) => {\n const selectedSwatch = swatches.includes(currentColor) && currentColor;\n\n return (\n <SwatchesContainer>\n {swatches.map(swatch => (\n <Swatch\n key={swatch}\n color={swatch}\n selected={selectedSwatch}\n onClick={() => onSwatchClick(swatch)}\n role=\"button\"\n tabIndex={0}\n onKeyDown={e => {\n if (e.key === 'Enter') {\n e.preventDefault();\n onSwatchClick(swatch);\n }\n }}\n />\n ))}\n </SwatchesContainer>\n );\n};\n\nconst ColorSelector = ({ color, setColor }) => {\n return (\n <ColorfulWrapper>\n <HexColorPicker color={color} onChange={setColor} />\n <InputContainer>\n <HexColorInput prefixed color={color} onChange={setColor} />\n <ColorBox color={color} />\n </InputContainer>\n </ColorfulWrapper>\n );\n};\n\nconst ColorPicker = ({\n defaultColor = '#ffffff',\n confirmButton,\n swatches,\n onChange,\n ...props\n}: ColorPickerProps &\n Omit<\n React.ComponentProps<typeof ColorPickerContainer>,\n keyof ColorPickerProps\n > &\n Omit<\n LensDivProps,\n keyof ColorPickerProps &\n Omit<\n React.ComponentProps<typeof ColorPickerContainer>,\n keyof ColorPickerProps\n >\n >) => {\n const [tempColor, setTempColor] = useState(\n defaultColor ? defaultColor : '#FFFFFF'\n );\n\n const handleOnChange = (hex: string) => {\n setTempColor(hex);\n onChange(hex);\n };\n\n const onSwatchClick = (swatch: string) => {\n handleOnChange(swatch);\n };\n\n return (\n <ColorPickerContainer {...props}>\n {swatches && (\n <SwatchSelector\n swatches={swatches}\n currentColor={tempColor}\n onSwatchClick={onSwatchClick}\n />\n )}\n <ColorSelector color={tempColor} setColor={handleOnChange} />\n {confirmButton && <ButtonWrapper>{confirmButton}</ButtonWrapper>}\n </ColorPickerContainer>\n );\n};\n\ntype SwatchProps = {\n color?: string;\n selected?: string;\n};\n\ntype ColorPickerProps = {\n defaultColor?: string;\n confirmButton?: React.ReactNode;\n swatches?: string[];\n onChange?: (selectedColor: string) => void;\n};\n\nexport default ColorPicker;\n", "import { keyframes } from '@emotion/react';\nimport styled from '@emotion/styled';\nimport React from 'react';\n\nimport { LensSpanProps } from '../../types';\nimport { getColorValue, u } from '../../utilities';\n\nconst speed = 2.0;\n\nconst sizes = {\n small: {\n totalSize: u(2.25),\n height: u(0.5625),\n dotSize: u(0.375),\n gap: u(0.25),\n },\n medium: {\n totalSize: u(3),\n height: u(0.75),\n dotSize: u(0.5),\n gap: u(0.375),\n },\n large: {\n totalSize: u(6),\n height: u(1.5),\n dotSize: u(1),\n gap: u(0.75),\n },\n};\n\nconst getTotalSize = (props: EllipsesLoaderWrapperProps) =>\n sizes[props.size].totalSize;\nconst getHeight = (props: EllipsesLoaderWrapperProps) =>\n sizes[props.size].height;\nconst getDotSize = (props: EllipsesLoaderWrapperProps) =>\n sizes[props.size].dotSize;\nconst getGap = (props: EllipsesLoaderWrapperProps) => sizes[props.size].gap;\nconst getBounceDistance = (props: EllipsesLoaderWrapperProps) =>\n sizes[props.size].dotSize;\n\nconst createDotBounce = (bounceDistance: string) => keyframes`\n 0%, 40%, 100% {\n transform: translateY(50%);\n }\n 20% {\n transform: translateY(calc(50% - ${bounceDistance}));\n }\n`;\n\nconst EllipsesLoaderWrapper = styled.span<EllipsesLoaderWrapperProps>`\n display: inline-flex;\n align-items: center;\n justify-content: center;\n height: ${props => getHeight(props)};\n width: ${props => getTotalSize(props)};\n gap: ${props => getGap(props)};\n`;\n\nconst Dot = styled.span<DotProps>`\n width: ${props => getDotSize(props)};\n height: ${props => getDotSize(props)};\n border-radius: 50%;\n background-color: ${props => getColorValue(props.color)};\n transform: translateY(50%);\n animation: ${props => createDotBounce(getBounceDistance(props))} ${speed}s\n ease-in-out infinite;\n animation-fill-mode: both;\n animation-delay: ${props => props.delay}s;\n`;\n\nconst EllipsesLoader = ({\n color = 'body',\n size = 'medium',\n ...props\n}: EllipsesLoaderProps &\n React.ComponentProps<typeof EllipsesLoaderWrapper> &\n Omit<\n LensSpanProps,\n keyof EllipsesLoaderProps &\n React.ComponentProps<typeof EllipsesLoaderWrapper>\n >) => {\n return (\n <EllipsesLoaderWrapper size={size} {...props}>\n <Dot color={color} size={size} delay={0} />\n <Dot color={color} size={size} delay={0.2} />\n <Dot color={color} size={size} delay={0.4} />\n </EllipsesLoaderWrapper>\n );\n};\n\nexport const availableSizes = Object.keys(sizes);\n\ntype EllipsesLoaderProps = {\n color?: string;\n size?: 'small' | 'medium' | 'large';\n};\n\ntype EllipsesLoaderWrapperProps = {\n size: 'small' | 'medium' | 'large';\n};\n\ntype DotProps = {\n color?: string;\n size: 'small' | 'medium' | 'large';\n delay?: number;\n};\n\nexport default EllipsesLoader;\n", "import { keyframes } from '@emotion/react';\nimport styled from '@emotion/styled';\nimport React from 'react';\nimport { getColorValue, u } from '../../utilities';\nimport { LensSpanProps } from '../../types';\nconst sizes = {\n medium: {\n totalSize: u(3), // 24px\n barHeight: u(2.25), // 18px\n },\n};\nconst speeds = {\n fast: 1.2,\n slow: 1.7,\n};\n\nconst AI_PRIMARY_ANIMATED_LINEAR_GRADIENT =\n 'linear-gradient(270deg, #565ADD 10.58%, #DC43BE 41.83%, #565ADD 69.23%, #565ADD 96.63%)';\nconst GRADIENT_ANIMATION_SPEED = 2.0;\nconst BARS_COUNT = 5;\nconst BAR_WIDTH = u(0.25); // 2px = 0.25 units\nconst getBarHeight = props => sizes[props.size || 'medium'].barHeight;\nconst getTotalSize = props => sizes[props.size || 'medium'].totalSize;\nconst getAnimationSpeed = props => speeds[props.speed || 'fast'];\nconst ripple = keyframes`\n 0%, 100% {\n transform: scaleY(0.3);\n }\n 50% {\n transform: scaleY(1);\n }\n`;\n\n// We only animate the background when it's the ai-primary gradient\nconst backgroundAnimation = keyframes`\n 0% {\n background-position: 0% center;\n }\n 100% {\n background-position: 100% center;\n }\n`;\n\n// The fade-in is to mask that the bars start at the same height. Without this\n// you can see the bars load in at full height then \"glitch\" into animation\nconst fadeIn = keyframes`\n 0% {\n opacity: 0;\n }\n 100% {\n opacity: 1;\n }\n`;\n\ntype WaveformLoaderWrapperProps = {\n size?: 'medium';\n color?: string;\n};\ntype BarProps = {\n index: number;\n size?: 'medium';\n speed: 'fast' | 'slow';\n color?: string;\n};\n\nconst WaveformLoaderWrapper = styled.span<WaveformLoaderWrapperProps>`\n display: inline-flex;\n align-items: center;\n justify-content: space-evenly;\n height: ${props => getTotalSize(props)};\n width: ${props => getTotalSize(props)};\n position: relative;\n`;\nconst Bar = styled.span<BarProps>`\n width: ${BAR_WIDTH};\n height: ${props => getBarHeight(props)};\n background: ${props =>\n props.color === 'ai-primary'\n ? AI_PRIMARY_ANIMATED_LINEAR_GRADIENT\n : getColorValue(props.color)};\n background-size: ${props => getTotalSize(props)}\n ${props => getTotalSize(props)};\n background-position: ${props => {\n const barCenterRatio = (props.index + 1) / (BARS_COUNT + 1);\n const offsetRatio = barCenterRatio - 0.5;\n return `calc(${getTotalSize(props)} * ${offsetRatio}) center`;\n }};\n opacity: 0; /* Ensure it starts invisible */\n transform: scaleY(0.3);\n transform-origin: center;\n animation:\n ${fadeIn} 50ms ease-out forwards,\n ${ripple} ${props => getAnimationSpeed(props)}s ease-in-out infinite,\n ${backgroundAnimation} ${GRADIENT_ANIMATION_SPEED}s linear infinite;\n\n animation-delay: ${props =>\n -1 + props.index * (getAnimationSpeed(props) / BARS_COUNT)}s;\n position: relative;\n`;\n\nexport const WaveformLoader = ({\n size = 'medium',\n speed = 'fast',\n color = 'body',\n ...props\n}: WaveformLoaderProps &\n React.ComponentProps<typeof WaveformLoaderWrapper> &\n Omit<\n LensSpanProps,\n keyof WaveformLoaderProps &\n React.ComponentProps<typeof WaveformLoaderWrapper>\n >) => {\n const barsList = Array.from({ length: BARS_COUNT }, (_, index) => (\n <Bar key={index} index={index} size={size} speed={speed} color={color} />\n ));\n return (\n <WaveformLoaderWrapper size={size} color={color} {...props}>\n {barsList}\n </WaveformLoaderWrapper>\n );\n};\nexport const availableSizes = Object.keys(sizes);\nexport const availableSpeeds = Object.keys(speeds);\ntype WaveformLoaderProps = {\n color?: string;\n size?: 'medium';\n speed?: 'fast' | 'slow';\n};\nexport default WaveformLoader;\n", "import * as React from 'react';\n\nfunction IllustrationAccountsBilling(props) {\n return (\n <svg\n viewBox=\"0 0 102 101\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n d=\"M96.072 5.826H5.928v90.145h90.144V5.826z\"\n stroke=\"currentColor\"\n strokeWidth={10}\n strokeMiterlimit={10}\n />\n <path\n d=\"M69.38 59.21c14.74 0 26.691-11.95 26.691-26.692S84.121 5.826 69.38 5.826c-14.741 0-26.692 11.95-26.692 26.692S54.638 59.21 69.38 59.21zM1 95.973h100M1 77.28h100M1 59.213h100M5.928 1v58.213M24.605 1v58.213M42.674 1v58.213\"\n stroke=\"currentColor\"\n strokeWidth={10}\n strokeMiterlimit={10}\n />\n </svg>\n );\n}\n\nexport default IllustrationAccountsBilling;\n", "import * as React from 'react';\n\nfunction IllustrationInvite(props) {\n return (\n <svg\n viewBox=\"0 0 100 101\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n d=\"M50.028 25.007A24.999 24.999 0 0034.586 1.905a25.022 25.022 0 00-27.26 5.42 25.002 25.002 0 0017.688 42.687V25.007h25.014z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M74.986 50.012a25.02 25.02 0 0023.11-15.436 24.993 24.993 0 00-5.422-27.25 25.017 25.017 0 00-42.702 17.681h25.014v25.005z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M49.972 74.99a25 25 0 0015.442 23.102 25.025 25.025 0 0027.26-5.42 25.002 25.002 0 00-17.688-42.687V74.99H49.972z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M25.014 100.003a25.003 25.003 0 0023.103-15.44 25.017 25.017 0 00-5.42-27.259A25.005 25.005 0 00.006 74.991h25.007v25.012z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n}\n\nexport default IllustrationInvite;\n", "import * as React from 'react';\n\nfunction IllustrationArchived(props) {\n return (\n <svg\n viewBox=\"0 0 100 101\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n d=\"M0 .002v100h100v-100H0zm90 90H10v-80h80v80z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M87 13.002H53.68c8.41 1.53 15 8.2 16.46 16.63H87v-16.63zM46.32 13.002H13v16.63h16.86c1.45-8.43 8.05-15.1 16.46-16.63zM13 32.632v15.87h18.19c3.12-7.32 10.35-12.47 18.81-12.47 8.46 0 15.69 5.15 18.81 12.47H87v-15.87H13zM13 67.372h20.4c3.71-5.15 9.76-8.52 16.59-8.52 6.84 0 12.88 3.36 16.59 8.52H87v-15.87H13v15.87zM13 87.002h23.47c3.61-3.18 8.34-5.12 13.53-5.12 5.19 0 9.92 1.93 13.53 5.12H87v-16.63H13v16.63z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n}\n\nexport default IllustrationArchived;\n", "import * as React from 'react';\n\nfunction IllustrationLeadwithTransparency(props) {\n return (\n <svg\n viewBox=\"0 0 110 101\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n d=\"M55 100.888a54.867 54.867 0 0031.361-9.8H23.64a54.867 54.867 0 0031.361 9.8zM20.482 88.728h69.025a54.887 54.887 0 008.8-8.911H11.682a56.245 56.245 0 008.8 8.911zM9.262 76.492h91.476a54.95 54.95 0 004.411-7.957H4.851a54.95 54.95 0 004.41 7.957zM3.124 64.255h103.752a54.896 54.896 0 001.969-7.002H1.166a53.117 53.117 0 001.958 7.002zM0 46.015c0 2.03.121 4.039.33 6.003h109.34c.22-1.975.33-3.973.33-6.003v-.033H0v.033zM.363 39.782h109.274a54.71 54.71 0 00-.814-5.07H1.177a55.308 55.308 0 00-.814 5.07zM3.2 27.556H106.8a58.547 58.547 0 00-1.672-4.115H4.873A51.945 51.945 0 003.2 27.556zM9.405 15.32h91.19a59.831 59.831 0 00-2.321-3.161H11.726a59.814 59.814 0 00-2.321 3.16zM23.716.888a57.211 57.211 0 00-2.959 2.195h68.475A52.837 52.837 0 0086.273.888H23.716z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n}\n\nexport default IllustrationLeadwithTransparency;\n", "import * as React from 'react';\n\nfunction IllustrationAskforMore(props) {\n return (\n <svg\n viewBox=\"0 0 100 100\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n d=\"M100 38.086V0H61.914v9.93h21.132L54.963 38.013V16.88h-9.93v21.132L16.951 9.93h21.135V0H0v38.086h9.93V16.951l28.083 28.082H16.88v9.93h21.132L9.93 83.046V61.914H0V100h38.086v-9.93H16.951l28.082-28.086v21.135h9.93V61.984L83.046 90.07H61.914V100H100V61.914h-9.93v21.132L61.987 54.963H83.12v-9.93H61.987L90.07 16.951v21.135H100z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n}\n\nexport default IllustrationAskforMore;\n", "import * as React from 'react';\n\nfunction IllustrationLearningDevelopment(props) {\n return (\n <svg\n viewBox=\"0 0 142 142\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M19.945 50.767l50.766 50.766 50.765-50.766 19.944 19.944-51.672 51.673c-10.514 10.514-27.56 10.514-38.075 0L.001 70.711l19.944-19.944z\"\n fill=\"currentColor\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M70.509 55.733l-27.901-27.63L23.57 47.14l28.354 28.084c10.264 10.264 26.904 10.264 37.168 0l28.48-28.362-19.038-19.037L70.51 55.733z\"\n fill=\"currentColor\"\n />\n <circle\n cx={70.71}\n cy={24.88}\n transform=\"rotate(-45 70.71 24.88)\"\n fill=\"currentColor\"\n r={17.592}\n />\n </svg>\n );\n}\n\nexport default IllustrationLearningDevelopment;\n", "import * as React from 'react';\n\nfunction IllustrationBusinessPlan(props) {\n return (\n <svg\n viewBox=\"0 0 101 100\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M47.333 0H0v47.333h47.333V0zM74 0H52.667v21.333H74V0zM52.667 26H74v21.333H52.667V26zm-5.333 26.667H0V100h47.333V52.667zm52.666 0H52.667V100H100V52.667zM78.667 26H100v21.333H78.667V26zm3-10.333h2.667v2.666h-2.667v-2.666zm-3 5.666v-8.666h8.667v8.666h-8.667zM84.334 3h-2.667v2.667h2.667V3zm-5.667-3v8.667h8.667V0h-8.667zm15.668 15.667H97v2.666h-2.666v-2.666zm-3 5.666v-8.666H100v8.666h-8.666zM97 3h-2.666v2.667H97V3zm-5.666-3v8.667H100V0h-8.666z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n}\n\nexport default IllustrationBusinessPlan;\n", "import * as React from 'react';\n\nfunction IllustrationLoomPlans(props) {\n return (\n <svg\n viewBox=\"0 0 100 100\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n d=\"M0 12.288L12.287 0v87.71h37.706L37.706 100H0v-87.71zM49.994 63.743l12.287-12.276v36.245h37.72L87.714 100h-37.72V63.743zM49.994 33.336l12.287-12.288v18.129h37.72L87.714 51.465h-37.72V33.336z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M49.993 12.288L62.28 0v9.064H100L87.713 21.353h-37.72v-9.065z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n}\n\nexport default IllustrationLoomPlans;\n", "import * as React from 'react';\n\nfunction IllustrationCollaboratewithTeammatesSharedLibrary(props) {\n return (\n <svg\n viewBox=\"0 0 100 100\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M0 0h100v100H0V0zm17.12 10.344h-6.54v6.54h6.54v-6.54zm6.392-.61l6.396 1.364-1.364 6.396-6.397-1.365 1.365-6.396zM17.89 23.208l-6.396-1.365-1.365 6.396 6.396 1.365 1.365-6.396zM50.496 8.99l4.507 4.74-4.74 4.507-4.507-4.74 4.74-4.507zm-32.25 41.271l-4.507-4.74L9 50.03l4.507 4.74 4.74-4.508zm18.708-41.1l5.702 3.204-3.203 5.702-5.702-3.204 3.203-5.702zM17.906 36.999l-5.702-3.204L9 39.497l5.702 3.204 3.204-5.702zm46.62-27.57l2.216 6.153L60.59 17.8l-2.216-6.154 6.153-2.216zm-46.12 53.986l-3.69-5.4-5.4 3.69 3.69 5.4 5.4-3.69zM77.57 9.96l.82 6.488-6.489.82-.82-6.488 6.489-.82zM17.577 77.17l-1.733-6.306-6.307 1.733 1.733 6.306 6.307-1.733zm7.303-55.86l5.627 3.334-3.333 5.627-5.627-3.333 3.333-5.627zm29.716 6.384l-2.311-6.118-6.119 2.311 2.312 6.118 6.118-2.31zm-15.582-6.457l3.744 5.363-5.363 3.744-3.744-5.363 5.363-3.744zm27.458 7.017l-1.45-6.378-6.378 1.451 1.45 6.377 6.378-1.45zm11.731-5.521l-.411 6.527-6.527-.411.41-6.527 6.528.41zm-47.559 15.49l-4.362-4.873-4.873 4.362 4.362 4.873 4.873-4.361zm22.144-4.204l1.542 6.356-6.356 1.541-1.542-6.355 6.356-1.542zm-10.132 5.2l-3.201-5.703-5.704 3.2 3.201 5.704 5.704-3.201zm23.253-4.438l-.165 6.538-6.538-.165.165-6.538 6.538.165zm12.84.891l-6.31-1.72-1.719 6.31 6.31 1.72 1.72-6.31zm-51.5 10.013l3.238 5.683-5.683 3.237-3.238-5.683 5.683-3.237zm26.346 7.784l.11-6.539-6.54-.11-.11 6.54 6.54.11zm-13.008-7.287l1.58 6.347-6.347 1.58-1.58-6.348 6.347-1.58zM66.6 47.896l-6.29-1.793-1.792 6.29 6.29 1.793 1.792-6.29zm6.863-2.197l5.718 3.174-3.174 5.718-5.719-3.174 3.175-5.718zM28.985 58.767l-6.513.598.598 6.513 6.513-.598-.598-6.513zm19.734-.761l5.978 2.654-2.655 5.978-5.977-2.655 2.654-5.977zm-7.014 1.293l-6.523-.477-.478 6.522 6.523.478.478-6.523zm20.341-1.573l5.108 4.084-4.084 5.108-5.108-4.084 4.084-5.108zm17.236 5.44l-3.703-5.39-5.391 3.702 3.703 5.391 5.39-3.703zm-55.967 7.587l6.458 1.034-1.034 6.458-6.458-1.034 1.034-6.458zm31.473 2.343l-5.81-3.004-3.003 5.81 5.81 3.004 3.003-5.81zm-19.53-2.16l6.51.615-.615 6.512-6.512-.616.616-6.511zm31.919 3.807l-4.375-4.862-4.862 4.374 4.374 4.862 4.863-4.374zm8.616-4.746l3.444 5.56-5.56 3.444-3.444-5.56 5.56-3.444zM17.121 83.406h-6.54v6.54h6.54v-6.54zm7.036-1.184l6.1 2.356-2.356 6.101-6.1-2.356 2.356-6.101zm30.846 4.345l-4.507-4.74-4.74 4.508 4.508 4.739 4.739-4.507zm-18.049-4.57l5.702 3.205-3.203 5.701L33.75 87.7l3.203-5.702zm29.788 6.422l-2.216-6.154-6.153 2.217 2.216 6.153 6.153-2.216zm10.827-5.623l.82 6.489-6.489.82-.82-6.489 6.489-.82zm12.605-72.452h-6.54v6.54h6.54v-6.54zm-5.627 11.5l6.396 1.365-1.365 6.396-6.396-1.365 1.365-6.396zm6.752 28.417l-4.507-4.74-4.739 4.508 4.507 4.74 4.74-4.508zm-6.044-16.466L90.957 37l-3.204 5.702-5.701-3.204 3.203-5.702zm6.205 29.62l-3.69-5.4-5.4 3.69 3.69 5.4 5.4-3.69zm-2.563 7.449l1.733 6.306-6.306 1.733-1.734-6.306 6.307-1.733zm1.276 12.542h-6.54v6.54h6.54v-6.54z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n}\n\nexport default IllustrationCollaboratewithTeammatesSharedLibrary;\n", "import * as React from 'react';\n\nfunction IllustrationOptionGrants(props) {\n return (\n <svg\n viewBox=\"0 0 101 101\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n fill=\"currentColor\"\n d=\"M.001 53.596h47.333v47.333H.001zM52.667 53.596H100v47.333H52.667zM52.667 26.929H74v21.333H52.667zM52.667.929H74v21.333H52.667zM78.667 26.929H100v21.333H78.667zM78.667 13.596h8.667v8.667h-8.667zM78.667.929h8.667v8.667h-8.667zM91.335 13.596h8.667v8.667h-8.667zM91.335.929h8.667v8.667h-8.667zM0 .929h47.333v47.333H0z\"\n />\n </svg>\n );\n}\n\nexport default IllustrationOptionGrants;\n", "import * as React from 'react';\n\nfunction IllustrationCommunity(props) {\n return (\n <svg\n viewBox=\"0 0 101 100\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M62.467 36.689c5.566-3.544 9.253-9.73 9.253-16.769C71.72 8.92 62.713 0 51.603 0c-8.12 0-15.118 4.766-18.295 11.627a17.717 17.717 0 00-15.593-9.231C7.942 2.396.02 10.241.02 19.919c0 7.906 5.286 14.589 12.55 16.77C5.296 38.874 0 45.565 0 53.48c0 8.41 5.977 15.439 13.954 17.146-5.396 1.6-9.329 6.554-9.329 12.419 0 7.158 5.86 12.96 13.089 12.96s13.089-5.802 13.089-12.96c0-5.865-3.933-10.819-9.33-12.419a17.725 17.725 0 0011.834-8.813 20.078 20.078 0 007.207 8.31c-3.692 3.111-6.034 7.745-6.034 12.92 0 9.365 7.667 16.957 17.124 16.957 9.457 0 17.123-7.592 17.123-16.956 0-5.176-2.342-9.81-6.033-12.92 4.51-2.953 7.75-7.655 8.733-13.13 1.583 6.234 7.282 10.85 14.069 10.85 8.011 0 14.505-6.431 14.505-14.364 0-7.934-6.494-14.365-14.505-14.365-6.787 0-12.486 4.616-14.069 10.85-1-5.566-4.332-10.334-8.96-13.276zm-29.16 8.458a20.083 20.083 0 017.433-8.458 20.063 20.063 0 01-7.433-8.477A17.705 17.705 0 0122.86 36.69a17.725 17.725 0 0110.447 8.457zM59.671 19.92c0 4.413-3.612 7.99-8.069 7.99-4.456 0-8.069-3.577-8.069-7.99s3.613-7.99 8.07-7.99c4.456 0 8.069 3.577 8.069 7.99zm4.036 33.56c0 6.619-5.42 11.985-12.104 11.985-6.685 0-12.104-5.366-12.104-11.986 0-6.619 5.42-11.985 12.104-11.985 6.685 0 12.104 5.366 12.104 11.986zm-41.96.001c0 2.207-1.806 3.995-4.034 3.995-2.228 0-4.034-1.788-4.034-3.995 0-2.206 1.806-3.995 4.034-3.995 2.228 0 4.035 1.789 4.035 3.995zm61.309 29.562c0-1.335 1.092-2.416 2.44-2.416 1.347 0 2.439 1.081 2.439 2.416 0 1.334-1.092 2.415-2.44 2.415-1.347 0-2.44-1.081-2.44-2.415zm2.44-10.37c-5.784 0-10.472 4.643-10.472 10.37 0 5.726 4.688 10.368 10.471 10.368s10.472-4.642 10.472-10.368c0-5.727-4.689-10.37-10.472-10.37zm.345-55.186c-1.347 0-2.44 1.081-2.44 2.416 0 1.334 1.093 2.415 2.44 2.415s2.44-1.081 2.44-2.415c0-1.335-1.093-2.416-2.44-2.416zm-10.47 2.416c0-5.727 4.687-10.37 10.47-10.37s10.471 4.643 10.471 10.37c0 5.726-4.688 10.368-10.47 10.368-5.784 0-10.472-4.642-10.472-10.368zM44.52 83.043c0-3.873 3.171-7.014 7.084-7.014 3.912 0 7.084 3.14 7.084 7.015 0 3.874-3.172 7.014-7.084 7.014-3.913 0-7.084-3.14-7.084-7.014zm-26.806-3.018c-1.684 0-3.05 1.352-3.05 3.02 0 1.667 1.366 3.02 3.05 3.02 1.684 0 3.05-1.353 3.05-3.02 0-1.668-1.366-3.02-3.05-3.02zm-6.398-60.106c0-3.5 2.865-6.337 6.4-6.337 3.533 0 6.398 2.837 6.398 6.337 0 3.5-2.865 6.337-6.399 6.337s-6.399-2.837-6.399-6.337zm74.18 27.15c-3.576 0-6.474 2.87-6.474 6.41 0 3.541 2.898 6.411 6.474 6.411 3.575 0 6.474-2.87 6.474-6.41 0-3.541-2.899-6.411-6.474-6.411zM27.397 53.48c0 5.296-4.335 9.589-9.683 9.589-5.347 0-9.682-4.293-9.682-9.589 0-5.295 4.335-9.588 9.682-9.588 5.348 0 9.683 4.293 9.683 9.588z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n}\n\nexport default IllustrationCommunity;\n", "import * as React from 'react';\n\nfunction IllustrationCommunityAlt(props) {\n return (\n <svg\n viewBox=\"0 0 96 96\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M48 8.727C26.31 8.727 8.727 26.31 8.727 48c0 6.558 1.608 12.74 4.45 18.175a35.829 35.829 0 01-.462-5.749c0-19.647 15.927-35.573 35.574-35.573 19.646 0 35.573 15.926 35.573 35.573 0 1.395-.08 2.77-.236 4.123a39.123 39.123 0 003.647-16.55C87.273 26.31 69.69 8.728 48 8.728zm.708 78.539c.328-.006.655-.016.98-.03a27 27 0 001.832-.156c6.84-1.128 12.056-7.069 12.056-14.227 0-7.964-6.456-14.42-14.42-14.42-7.964 0-14.42 6.456-14.42 14.42 0 7.814 6.215 14.176 13.972 14.413zM26.177 75.655a23.374 23.374 0 01-.168-2.802c0-12.784 10.363-23.148 23.147-23.148 12.648 0 22.928 10.145 23.144 22.742a26.734 26.734 0 002.835-12.02c0-14.828-12.02-26.847-26.846-26.847-14.827 0-26.847 12.02-26.847 26.846a26.722 26.722 0 004.735 15.229zm22.58 20.342a36.51 36.51 0 01-.635.002H48C21.49 96 0 74.51 0 48 0 21.49 21.49 0 48 0s48 21.49 48 48c0 25.236-19.475 45.923-44.216 47.853a23.393 23.393 0 01-3.027.144z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n}\n\nexport default IllustrationCommunityAlt;\n", "import * as React from 'react';\n\nfunction IllustrationParentalLeave(props) {\n return (\n <svg\n viewBox=\"0 0 100 101\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n d=\"M49.027 25.443a24.514 24.514 0 10-24.513 24.513V25.443h24.513zM75.486 49.956a24.513 24.513 0 10-24.513-24.513h24.513v24.513zM50.973 76.415a24.514 24.514 0 1024.513-24.513v24.513H50.973zM24.514 51.902a24.513 24.513 0 1024.513 24.513H24.514V51.902z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n}\n\nexport default IllustrationParentalLeave;\n", "import * as React from 'react';\n\nfunction IllustrationContentLimit(props) {\n return (\n <svg\n viewBox=\"0 0 100 100\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M0 0h100v100H0V0zm10 10h80v80H10V10zm10 10h60v10H20V20zm30 27h22c-2.57-9.778-11.443-17-22.008-17C39.411 30 30.554 37.222 28 47h22zm0 0c9.389 0 17 7.387 17 16.5S59.389 80 50 80s-17-7.387-17-16.5S40.611 47 50 47z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n}\n\nexport default IllustrationContentLimit;\n", "import * as React from 'react';\n\nfunction IllustrationPto(props) {\n return (\n <svg\n viewBox=\"0 0 110 111\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M55 110.929c30.376 0 55-24.624 55-55s-24.624-55-55-55-55 24.624-55 55 24.624 55 55 55zm-6.108-79.595l6.11-24.877 6.09 24.877h-12.2zm-18.63-18.26l7.149 24.595 10.563-6.091-17.711-18.504zm.387 35.831L12.145 31.194l24.595 7.148-6.091 10.563zM5.528 55.93l24.877 6.092V49.82L5.528 55.93zM36.74 73.498l-24.595 7.148L30.65 62.935l6.091 10.563zm-6.477 25.266l17.711-18.503-10.563-6.092-7.148 24.595zm30.83-18.257L55 105.384l-6.109-24.877h12.2zm18.622 18.257L72.567 74.17l-10.563 6.092 17.711 18.503zm-.383-35.829l18.503 17.711-24.595-7.148 6.092-10.563zm25.121-7.005l-24.877-6.11v12.202l24.877-6.092zM73.24 38.342l24.595-7.148-18.503 17.711-6.092-10.563zm6.475-25.268L62.004 31.578l10.563 6.091 7.148-24.595zM52.271 44.978l2.73-11.092 2.71 11.091h-5.44zm-8.293-8.136l3.187 10.95 4.7-2.71-7.887-8.24zm.177 15.953l-8.24-7.888 10.951 3.187-2.711 4.7zm-11.198 3.134l11.092 2.712V53.2l-11.092 2.728zm13.91 7.816l-10.952 3.187 8.24-7.888 2.711 4.7zm-2.889 11.252l7.888-8.24-4.7-2.711-3.188 10.95zm13.734-8.12L55 77.951l-2.728-11.074h5.44zm8.293 8.12l-3.187-10.951-4.7 2.711 7.887 8.24zm-.18-15.953l8.24 7.888-10.95-3.187 2.71-4.7zm11.202-3.115L65.953 53.2v5.44l11.074-2.71zm-13.912-7.835l10.95-3.187-8.24 7.888-2.71-4.7zm2.89-11.252l-7.888 8.24 4.701 2.71 3.187-10.95z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n}\n\nexport default IllustrationPto;\n", "import * as React from 'react';\n\nfunction IllustrationCustomBranding(props) {\n return (\n <svg\n viewBox=\"0 0 134 134\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n d=\"M64.657 63.942L19.983 19.267l-.708.707 44.708 44.708L9.227 33.067l-.5.866L63.4 65.5h-.063L2.407 49.176l-.26.966L59.475 65.5H0v3h55.604L1.889 82.89l.776 2.898 53.719-14.391L8.227 99.2l1.5 2.598 48.184-27.82-39.343 39.343.709.708-.002.001.708.708v-.002l.707.706 39.298-39.299-27.787 48.128 2.598 1.5 27.83-48.202-14.404 53.764 2.898.776L65.5 78.447V134h3V78.395l14.39 53.715.98-.262v.002l.966-.258v-.003l.953-.255-14.392-53.719L99.2 125.772l2.598-1.5-27.803-48.154 39.326 39.325.711-.711.007.007.707-.708-.007-.007.703-.702-39.325-39.326 48.154 27.803 1.5-2.598-48.157-27.804 53.719 14.391.776-2.897L78.395 68.5H134v-3H74.525l57.326-15.358-.259-.966L70.661 65.5h-.064l54.674-31.567-.5-.866-54.697 31.58 44.673-44.673-.707-.707-44.728 44.728 31.621-54.768-.866-.5-31.576 54.69 16.345-61.01-.966-.26L67.5 63.252V0h-1v63.15L50.157 2.148l-.966.258 16.368 61.098L33.933 8.727l-.866.5 31.59 54.715z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n}\n\nexport default IllustrationCustomBranding;\n", "import * as React from 'react';\n\nfunction IllustrationRecord(props) {\n return (\n <svg\n viewBox=\"0 0 100 100\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <g clipPath=\"url(#Record_svg__clip0)\" fill=\"currentColor\">\n <path d=\"M79.819 62.343c6.818-16.462-.999-35.334-17.46-42.153-16.463-6.82-35.336.998-42.155 17.46-6.819 16.462.998 35.335 17.46 42.154 16.463 6.819 35.335-.999 42.154-17.46zM53.659 0h-7.303v8.763h7.303V0zM40.498.773l-6.87 1.84 2.268 8.465 6.87-1.84L40.498.772zM28.003 4.978l-5.996 3.46 4.38 7.59 5.996-3.46-4.38-7.59zM17.048 12.274l-4.761 4.76 6.196 6.197 4.761-4.76-6.196-6.197zM8.34 22.174L5.07 27.84l7.588 4.381 3.271-5.666-7.588-4.381zM2.522 33.984L.878 40.121l8.464 2.268 1.644-6.137-8.464-2.268zM8.763 46.926H0v6.163h8.763v-6.163zM9.362 57.697L.898 59.965l1.595 5.953 8.464-2.268-1.595-5.953zM12.806 68.033l-7.589 4.382 2.987 5.173 7.589-4.382-2.987-5.173zM18.811 77.097l-6.196 6.197 4.09 4.09 6.196-6.197-4.09-4.09zM26.969 84.311L22.587 91.9l4.844 2.797 4.382-7.59-4.844-2.796zM36.721 89.14l-2.27 8.464 5.22 1.4 2.27-8.464-5.22-1.4zM52.607 91.237h-5.214V100h5.214v-8.763zM63.083 89.192l-4.839 1.296 2.268 8.464 4.839-1.296-2.268-8.464zM72.698 84.501l-4.173 2.41 4.381 7.59 4.174-2.41-4.382-7.59zM80.772 77.506L77.5 80.78l6.196 6.196 3.274-3.274-6.197-6.196zM86.813 68.694l-2.22 3.845 7.59 4.382 2.22-3.845-7.59-4.382zM90.385 58.633l-1.1 4.105 8.464 2.268 1.1-4.105-8.464-2.268zM100 47.962h-8.763v4.06H100v-4.06zM97.796 35.184l-8.464 2.267 1.002 3.739 8.464-2.268-1.002-3.738zM92.37 23.41l-7.589 4.381 1.84 3.188 7.59-4.382-1.84-3.187zM84.1 13.424l-6.197 6.195 2.467 2.469 6.198-6.195-2.467-2.469zM73.564 5.885l-4.383 7.588 2.858 1.65 4.383-7.587-2.858-1.651zM61.446 1.297l-2.27 8.465 3.005.805 2.27-8.464-3.005-.806z\" />\n </g>\n <defs>\n <clipPath id=\"Record_svg__clip0\">\n <path fill=\"#fff\" d=\"M0 0h100v100H0z\" />\n </clipPath>\n </defs>\n </svg>\n );\n}\n\nexport default IllustrationRecord;\n", "import * as React from 'react';\n\nfunction IllustrationDesktopAppandChromeExtension(props) {\n return (\n <svg\n viewBox=\"0 0 134 134\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n d=\"M64.676 50.418L55.95.916l-1.164.207 8.727 49.502c.195-.042.384-.083.58-.119.194-.035.39-.059.584-.088zM44.664 3.828l-1.158.42L60.694 51.48c.378-.153.768-.29 1.158-.42L44.664 3.829zM34.058 8.656l-1.11.644 25.128 43.528c.36-.225.733-.443 1.111-.644L34.058 8.656zM24.444 15.243l-1.022.856L55.73 54.606c.33-.302.668-.586 1.022-.857L24.444 15.243zM16.117 23.403l-.892 1.058L53.73 56.769c.283-.366.579-.715.892-1.058L16.117 23.403zM9.336 32.88l-.715 1.241 43.534 25.135c.225-.425.461-.839.715-1.247L9.336 32.88zM4.295 43.387l-.508 1.394 47.24 17.194c.147-.473.318-.94.507-1.394L4.295 43.387zM1.153 54.606l-.266 1.519 49.502 8.727c.065-.509.153-1.017.266-1.513L1.153 54.606zM0 66.205v1.59h50.27a15.808 15.808 0 010-1.59H0zM50.375 69.076L.867 77.803l.296 1.66 49.508-8.726c-.066-.272-.119-.55-.166-.828a13.631 13.631 0 01-.13-.833zM3.746 89.102l.597 1.636 47.245-17.194a16.817 16.817 0 01-.591-1.636L3.747 89.102zM8.525 99.725l.893 1.548 43.534-25.135a16.699 16.699 0 01-.892-1.548L8.525 99.725zM15.086 109.361l1.182 1.413 38.518-32.32c-.42-.45-.816-.916-1.182-1.406L15.086 109.36zM23.207 117.715l1.448 1.217 32.32-38.518c-.503-.378-.993-.78-1.454-1.211l-32.314 38.512zM32.662 124.54l1.678.969 25.141-43.54c-.579-.29-1.14-.62-1.678-.975l-25.14 43.546zM43.152 129.623l1.873.679 17.2-47.25c-.638-.19-1.264-.42-1.873-.68l-17.2 47.251zM54.36 132.807l2.008.355 8.733-49.52a16.216 16.216 0 01-2.009-.354l-8.733 49.519zM65.951 134h2.092V83.718c-.703.047-1.4.042-2.092 0V134zM68.846 83.646l8.733 49.525 2.109-.372-8.733-49.525c-.343.082-.697.16-1.052.224-.348.06-.703.107-1.057.148zM88.883 130.337l2.063-.751-17.2-47.25c-.662.29-1.353.543-2.062.75l17.2 47.251zM99.528 125.585l1.944-1.123L76.325 80.91a16.63 16.63 0 01-1.944 1.123l25.147 43.552zM109.189 119.063l1.761-1.477-32.326-38.523c-.55.531-1.14 1.022-1.76 1.477l32.325 38.523zM117.575 110.967l1.506-1.796-38.53-32.332a16.83 16.83 0 01-1.506 1.797l38.53 32.331zM124.423 101.539l1.2-2.074-43.558-25.147a16.44 16.44 0 01-1.2 2.074l43.558 25.147zM129.54 91.069l.839-2.299-47.257-17.2c-.224.792-.508 1.56-.839 2.299l47.257 17.2zM132.764 79.867l.431-2.458-49.531-8.733c-.083.839-.23 1.66-.432 2.458l49.532 8.733zM133.999 68.272v-2.546h-50.3c.065.857.065 1.707.006 2.546H134zM83.666 65.383l49.543-8.732-.449-2.559-49.543 8.733a15.696 15.696 0 01.45 2.558zM130.415 45.33l-.904-2.493-47.269 17.205c.36.798.662 1.631.904 2.494l47.269-17.206zM125.7 34.671l-1.353-2.34-43.564 25.153a16.98 16.98 0 011.353 2.34L125.7 34.671zM119.213 24.988l-1.767-2.11-38.542 32.338c.644.65 1.235 1.353 1.773 2.103l38.536-32.331zM111.141 16.573l-2.145-1.802-32.338 38.542a17.328 17.328 0 012.145 1.802l32.338-38.542zM101.732 9.69l-2.47-1.424-25.159 43.576c.863.407 1.69.88 2.47 1.424L101.732 9.69zM74.07 51.817L91.28 4.537l-2.73-.993-17.188 47.227-.011.053c.939.255 1.849.585 2.718.993z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M71.346 50.825l.017-.047 8.728-49.496-2.908-.514-8.662 49.1v.455a16.15 16.15 0 012.825.502z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M71.354 50.825l.011-.053-.017.047c0 .006.006.006.006.006zM68.522 49.868V0h-3.043v50.323a16.573 16.573 0 012.966-.012l.077-.443z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M68.52 50.317v-.449l-.077.444c.024 0 .053.005.077.005z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n}\n\nexport default IllustrationDesktopAppandChromeExtension;\n", "import * as React from 'react';\n\nfunction IllustrationRemoteFirst(props) {\n return (\n <svg\n viewBox=\"0 0 110 110\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n d=\"M55 105c27.615 0 50-22.386 50-50S82.615 5 55 5C27.386 5 5 27.386 5 55s22.386 50 50 50z\"\n stroke=\"currentColor\"\n strokeWidth={10}\n strokeMiterlimit={10}\n />\n <path\n d=\"M60.849 5.33c13.693 12.157 22.34 29.89 22.34 49.653 0 19.744-8.63 37.495-22.322 49.652M49.131 5.33c-13.693 12.157-22.34 29.89-22.34 49.653 0 19.744 8.629 37.495 22.322 49.652\"\n stroke=\"currentColor\"\n strokeWidth={10}\n strokeMiterlimit={10}\n />\n <path\n d=\"M97.467 26.024C86.589 36.9 71.58 43.61 54.999 43.61c-16.07 0-30.658-6.307-41.444-16.6M97.467 83.958C86.589 73.08 71.58 66.37 54.999 66.37c-16.07 0-30.658 6.307-41.444 16.6M104.981 55H5M55 104.982V5\"\n stroke=\"currentColor\"\n strokeWidth={10}\n strokeMiterlimit={10}\n />\n </svg>\n );\n}\n\nexport default IllustrationRemoteFirst;\n", "import * as React from 'react';\n\nfunction IllustrationDeviceCompatibility(props) {\n return (\n <svg\n viewBox=\"0 0 110 110\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n d=\"M55 0C24.626 0 0 24.626 0 55s24.626 55 55 55 55-24.626 55-55S85.374 0 55 0zm0 109.525L.49 55 55 .49l54.525 54.525L55 109.525z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M27.923 27.923v54.139H82.06V27.923H27.923zm27.076 52.074c-13.798 0-24.982-11.184-24.982-24.982S41.201 30.032 55 30.032c13.799 0 24.983 11.185 24.983 24.983 0 13.783-11.184 24.982-24.983 24.982z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n}\n\nexport default IllustrationDeviceCompatibility;\n", "import * as React from 'react';\n\nfunction IllustrationRoadmap(props) {\n return (\n <svg\n viewBox=\"0 0 100 100\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path d=\"M100 100H0V0h100v100zM10 90h80V10H10v80z\" fill=\"currentColor\" />\n <path\n d=\"M50.008 39.806L80 54v-9.806L50.008 30 20 44.194V54l30.008-14.194zM80 20H20v10h60V20z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n}\n\nexport default IllustrationRoadmap;\n", "import * as React from 'react';\n\nfunction IllustrationDowngrade(props) {\n return (\n <svg\n viewBox=\"0 0 100 100\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M0 0h100v100H0V0zm32.854 35.063L10.163 10h79.674L67.146 35.063h22.691L63.96 53.295h25.877L61.804 66.97h28.033l-25.895 9.357h25.895l-23.902 6.477h23.902L50 90l-39.837-7.197h23.902l-23.902-6.477h25.895l-25.895-9.357h28.033L10.163 53.295H36.04L10.163 35.063h22.691z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n}\n\nexport default IllustrationDowngrade;\n", "import * as React from 'react';\n\nfunction IllustrationScreenshot(props) {\n return (\n <svg\n viewBox=\"0 0 100 100\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M100 0H0v100h100V0zM10 17.071V90h72.929L64.594 71.665v8.412h-10V54.594h25.434v10h-8.363L90 82.929V10H17.071l18.43 18.43.07-8.546 9.999.08-.204 25.443H19.973v-10h8.363L10 17.07zm19.745 37.701h-10v25.483H45.18v-10h-8.365l33.44-33.452v8.425h10V19.745H54.822v10h8.35L29.745 63.18v-8.409z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n}\n\nexport default IllustrationScreenshot;\n", "import * as React from 'react';\n\nfunction IllustrationEmbracetheWeird(props) {\n return (\n <svg\n viewBox=\"0 0 110 110\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M50.028 9.658C27.178 12.136 9.39 31.491 9.39 55c0 8.832 2.51 17.078 6.857 24.063-2.302-8.325-2.151-17.035.801-24.035l-.015-.03.245-.498a25.44 25.44 0 01.81-1.65c6.717-13.595 20.721-22.947 36.91-22.948 12.318-.013 23.354 5.414 30.887 13.98.329-5.954-1.19-12.893-4.87-19.106-5.552-9.378-15.74-16.548-30.987-15.116v-.002zm42.655 45.894l.272-.551-.017-.034c2.956-7.012 3.1-15.739.787-24.075A45.397 45.397 0 01100.61 55c0 23.515-17.795 42.873-40.654 45.344v-.004c-15.246 1.431-25.435-5.739-30.987-15.117-3.678-6.212-5.198-13.148-4.87-19.102 7.534 8.562 18.582 13.976 30.902 13.976 16.2 0 30.185-9.394 36.896-22.95.28-.52.542-1.052.786-1.595zM55 0C24.624 0 0 24.624 0 55s24.624 55 55 55 55-24.624 55-55S85.376 0 55 0zm27.39 54.998c-3.929-6.688-10.221-11.812-17.719-14.21 4.53 3.092 7.504 8.297 7.504 14.195 0 5.93-3.012 11.157-7.582 14.243 7.533-2.393 13.855-7.527 17.798-14.228zM27.592 55c3.927-6.69 10.223-11.806 17.728-14.205-4.525 3.093-7.494 8.294-7.494 14.188 0 5.934 3.01 11.165 7.585 14.25C37.858 66.845 31.527 61.71 27.591 55zM55 47.198a7.785 7.785 0 000 15.57c4.287 0 7.784-3.49 7.784-7.785A7.785 7.785 0 0055 47.198z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n}\n\nexport default IllustrationEmbracetheWeird;\n", "import * as React from 'react';\n\nfunction IllustrationSharewithYourTeamTeamLibrary(props) {\n return (\n <svg\n viewBox=\"0 0 100 100\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <g\n clipPath=\"url(#Share_with_Your_Team_(Team_Library)_svg__clip0)\"\n fill=\"currentColor\"\n >\n <path d=\"M33.33 24.946V8.384L24.946 0v24.946H0l8.384 8.384H33.33v-8.384zM58.286 33.33h8.385V8.384L58.286 0v24.946H33.331l8.394 8.384h16.561z\" />\n <path d=\"M100 8.384L91.614 0v24.946H66.67l8.385 8.384H100V8.384zM33.33 58.286V41.724l-8.384-8.394v24.956H0l8.384 8.384H33.33v-8.384zM33.33 58.286l8.395 8.384H66.67V41.724l-8.385-8.394v24.956H33.331zM66.67 58.286l8.384 8.384H100V41.724l-8.385-8.394v24.956H66.67zM24.946 66.67v24.946H0L8.384 100H33.33V75.054l-8.384-8.384zM58.286 66.67v24.946H33.331L41.725 100H66.67V75.054l-8.385-8.384zM66.67 91.616L75.053 100h24.945V75.054l-8.384-8.384v24.946H66.67z\" />\n </g>\n <defs>\n <clipPath id=\"Share_with_Your_Team_(Team_Library)_svg__clip0\">\n <path fill=\"#fff\" d=\"M0 0h100v100H0z\" />\n </clipPath>\n </defs>\n </svg>\n );\n}\n\nexport default IllustrationSharewithYourTeamTeamLibrary;\n", "import * as React from 'react';\n\nfunction IllustrationEnterprisePlan(props) {\n return (\n <svg\n viewBox=\"0 0 101 100\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n fill=\"currentColor\"\n d=\"M.001 52.667h47.333V100H.001zM52.667 52.667H100V100H52.667zM52.667 26H74v21.333H52.667zM52.667 0H74v21.333H52.667zM78.667 26H100v21.333H78.667zM78.667 12.667h8.667v8.667h-8.667zM78.667 0h8.667v8.667h-8.667zM91.335 12.667h8.667v8.667h-8.667zM91.335 0h8.667v8.667h-8.667zM0 0h47.333v47.333H0z\"\n />\n </svg>\n );\n}\n\nexport default IllustrationEnterprisePlan;\n", "import * as React from 'react';\n\nfunction IllustrationShare(props) {\n return (\n <svg\n viewBox=\"0 0 100 101\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n d=\"M34.27 50.002v15.73H50c-8.69 0-15.73-7.04-15.73-15.73zM65.73 50.002v-15.73H50c8.69 0 15.73 7.04 15.73 15.73zM50 34.272H34.27v15.73c0-8.69 7.04-15.73 15.73-15.73z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M50 65.732h15.73v-15.73c0 8.69-7.04 15.73-15.73 15.73z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M0 .002v100h100v-100H0zm81.46 10c3.48 1.79 6.2 4.84 7.57 8.54h-7.57v-8.54zm-15.73 0c6.1 0 11.38 3.47 13.99 8.54H65.73v-8.54zm-15.73 0c6.1 0 11.38 3.47 13.99 8.54H36.01c2.61-5.07 7.89-8.54 13.99-8.54zm-15.73 0v8.54H20.28c2.61-5.07 7.89-8.54 13.99-8.54zm-15.73 80c-3.48-1.79-6.2-4.84-7.57-8.54h7.57v8.54zm0-10.28c-5.07-2.61-8.54-7.89-8.54-13.99h8.54v13.99zm0-15.73c-5.07-2.61-8.54-7.89-8.54-13.99 0-6.1 3.47-11.38 8.54-13.99v27.98zm0-29.72H10c0-6.1 3.47-11.38 8.54-13.99v13.99zm0-15.73h-7.57c1.37-3.7 4.09-6.75 7.57-8.54v8.54zm62.92 71.46v-8.54h7.57c-1.37 3.7-4.09 6.75-7.57 8.54zm0-10.28v-13.99H90c0 6.1-3.47 11.38-8.54 13.99zm0-29.72v-13.99c5.07 2.61 8.54 7.89 8.54 13.99 0 6.1-3.47 11.38-8.54 13.99v-13.99c0 8.69-7.04 15.73-15.73 15.73h15.73c0 8.69-7.04 15.73-15.73 15.73h13.99c-2.61 5.07-7.89 8.54-13.99 8.54v-8.54-15.73c0 8.69-7.04 15.73-15.73 15.73h13.99c-2.61 5.07-7.89 8.54-13.99 8.54-6.1 0-11.38-3.47-13.99-8.54H50c-8.69 0-15.73-7.04-15.73-15.73v24.27c-6.1 0-11.38-3.47-13.99-8.54h13.99c-8.69 0-15.73-7.04-15.73-15.73h15.73c-8.69 0-15.73-7.04-15.73-15.73 0-8.69 7.04-15.73 15.73-15.73H18.54c0-8.69 7.04-15.73 15.73-15.73v15.73c0-8.69 7.04-15.73 15.73-15.73 8.69 0 15.73 7.04 15.73 15.73v-15.73c8.69 0 15.73 7.04 15.73 15.73v-13.99c5.07 2.61 8.54 7.89 8.54 13.99H65.73c8.69 0 15.73 7.04 15.73 15.73z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n}\n\nexport default IllustrationShare;\n", "import * as React from 'react';\n\nfunction IllustrationFaQandSecurity(props) {\n return (\n <svg\n viewBox=\"0 0 100 100\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n d=\"M50 70c11.046 0 20-8.954 20-20s-8.954-20-20-20-20 8.954-20 20 8.954 20 20 20z\"\n fill=\"currentColor\"\n />\n <path d=\"M31 50V0H0v100h99.999V69H31V50z\" fill=\"currentColor\" />\n <path d=\"M100 66V0H34v31h35v35h31z\" fill=\"currentColor\" />\n </svg>\n );\n}\n\nexport default IllustrationFaQandSecurity;\n", "import * as React from 'react';\n\nfunction IllustrationStarred(props) {\n return (\n <svg\n viewBox=\"0 0 101 101\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n d=\"M38.963 0C17.45 0 0 18.136 0 40.495v8.507h9.444C30.967 49.002 48 30.41 48 8.05V.002L38.963 0zM100.002 38.965c0-21.513-18.136-38.963-40.495-38.963H51v9.444c0 21.523 18.592 38.556 40.951 38.556H100l.002-9.037zM61.039 100.004c21.513 0 38.963-18.136 38.963-40.495v-8.507h-9.444c-21.523 0-38.556 18.592-38.556 40.951v8.049l9.037.002zM0 61.039c0 21.513 18.136 38.963 40.495 38.963h8.507v-9.444c0-21.523-18.592-38.556-40.952-38.556H.002L0 61.039z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n}\n\nexport default IllustrationStarred;\n", "import * as React from 'react';\n\nfunction Illustration5MinuteLimit(props) {\n return (\n <svg\n viewBox=\"0 0 110 110\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M55 10c-24.853 0-45 20.147-45 45s20.147 45 45 45 45-20.147 45-45-20.147-45-45-45zM0 55C0 24.624 24.624 0 55 0s55 24.624 55 55-24.624 55-55 55S0 85.376 0 55zm33.8-35.64H76v10H43.8v20.19h11.75v-9.87c14.131 0 25.59 11.459 25.59 25.59S69.681 90.86 55.55 90.86 29.96 79.401 29.96 65.27h10c0 8.609 6.981 15.59 15.59 15.59s15.59-6.981 15.59-15.59c0-8.535-6.863-15.47-15.37-15.588v9.868H33.8V19.36z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n}\n\nexport default Illustration5MinuteLimit;\n", "import * as React from 'react';\n\nfunction IllustrationStarterPlusPlan(props) {\n return (\n <svg\n viewBox=\"0 0 100 100\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M55.666 3h15.333v15.333H55.666V3zm-3 18.333V0h21.333v21.333H52.666zM70.999 29H55.666v15.333h15.333V29zm-18.333-3v21.333h21.333V26H52.666zm-5.333 26.667H0V100h47.333V52.667zm52.666 0H52.666V100h47.333V52.667zM97 29H81.668v15.333H97V29zm-18.332-3v21.333H100V26H78.666zm3-10.333h2.666v2.666h-2.666v-2.666zm-3 5.666v-8.666h8.666v8.666h-8.666zM84.332 3h-2.666v2.667h2.666V3zm-5.666-3v8.667h8.666V0h-8.666zm15.667 15.667h2.667v2.666h-2.667v-2.666zm-3 5.666v-8.666h8.667v8.666h-8.667zM97.001 3h-2.667v2.667h2.667V3zm-5.667-3v8.667h8.667V0h-8.667zm-44 0H0v47.333h47.333V0z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n}\n\nexport default IllustrationStarterPlusPlan;\n", "import * as React from 'react';\n\nfunction IllustrationGettingStarted(props) {\n return (\n <svg\n viewBox=\"0 0 106 106\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n d=\"M53 101c26.51 0 48-21.49 48-48S79.51 5 53 5 5 26.49 5 53s21.49 48 48 48z\"\n stroke=\"currentColor\"\n strokeWidth={10}\n strokeMiterlimit={10}\n />\n <path\n d=\"M53 100.986c26.51 0 48-14.563 48-32.527 0-17.965-21.49-32.528-48-32.528S5 50.494 5 68.46c0 17.964 21.49 32.527 48 32.527z\"\n stroke=\"currentColor\"\n strokeWidth={10}\n strokeMiterlimit={10}\n />\n <path\n d=\"M53 100.998c26.51 0 48-8.682 48-19.39 0-10.71-21.49-19.391-48-19.391S5 70.898 5 81.607c0 10.71 21.49 19.391 48 19.391z\"\n stroke=\"currentColor\"\n strokeWidth={10}\n strokeMiterlimit={10}\n />\n <path\n d=\"M53 100.984c26.51 0 48-3.908 48-8.728S79.51 83.53 53 83.53 5 87.436 5 92.256s21.49 8.728 48 8.728z\"\n stroke=\"currentColor\"\n strokeWidth={10}\n strokeMiterlimit={10}\n />\n </svg>\n );\n}\n\nexport default IllustrationGettingStarted;\n", "import * as React from 'react';\n\nfunction IllustrationStrongUploadSpeed(props) {\n return (\n <svg\n viewBox=\"0 0 111 110\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n d=\"M.223 57.064l-.208-.356a55.069 55.069 0 002.244 13.991l44.404-40.904-46.44 27.27zM3.27 73.804C10.953 94.924 31.208 110 55 110c23.926 0 44.285-15.269 51.865-36.582l-51.582-47.53L3.27 73.804zm88.867-9.358v24.36L64.838 63.584v39.003a1.49 1.49 0 01-1.486 1.486H47.287a1.49 1.49 0 01-1.486-1.486V63.585l-27.388 25.22V64.446l36.914-33.983 36.81 33.983zM107.861 70.299a54.916 54.916 0 002.125-13.442L63.873 29.78 107.861 70.3zM63.115 25.873l46.886 27.537c-.148-5.228-1.01-10.293-2.526-15.06l-44.36-12.477zM2.482 38.543C.966 43.356.119 48.465 0 53.753l47.436-27.864L2.482 38.543z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M106.241 34.934C98.216 14.482 78.302 0 55.001 0 31.625 0 11.68 14.57 3.7 35.112l51.582-14.511 50.958 14.333z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n}\n\nexport default IllustrationStrongUploadSpeed;\n", "import * as React from 'react';\n\nfunction IllustrationGrowththroughEmpathy(props) {\n return (\n <svg\n viewBox=\"0 0 104 100\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n d=\"M98.75 100.001c0-25.889-20.986-46.876-46.874-46.876C25.987 53.125 5 74.112 5 100.001\"\n stroke=\"currentColor\"\n strokeWidth={10}\n strokeMiterlimit={10}\n />\n <path\n d=\"M16.704 100.001c0-19.416 15.74-35.171 35.172-35.171 19.43 0 35.171 15.74 35.171 35.171\"\n stroke=\"currentColor\"\n strokeWidth={10}\n strokeMiterlimit={10}\n />\n <path\n d=\"M28.213 100.001c0-13.07 10.593-23.648 23.648-23.648 13.054 0 23.662 10.579 23.662 23.648\"\n stroke=\"currentColor\"\n strokeWidth={10}\n strokeMiterlimit={10}\n />\n <path\n d=\"M39.736 100c0-6.692 5.432-12.124 12.124-12.124 6.693 0 12.124 5.432 12.124 12.124M5 0c0 25.889 20.987 46.875 46.875 46.875C77.764 46.875 98.751 25.89 98.751 0\"\n stroke=\"currentColor\"\n strokeWidth={10}\n strokeMiterlimit={10}\n />\n <path\n d=\"M87.047 0c0 19.416-15.74 35.171-35.172 35.171-19.43 0-35.171-15.74-35.171-35.171\"\n stroke=\"currentColor\"\n strokeWidth={10}\n strokeMiterlimit={10}\n />\n <path\n d=\"M75.538 0c0 13.07-10.593 23.648-23.648 23.648-13.054 0-23.662-10.579-23.662-23.648\"\n stroke=\"currentColor\"\n strokeWidth={10}\n strokeMiterlimit={10}\n />\n <path\n d=\"M64.015 0c0 6.693-5.432 12.124-12.124 12.124S39.767 6.693 39.767.002\"\n stroke=\"currentColor\"\n strokeWidth={10}\n strokeMiterlimit={10}\n />\n </svg>\n );\n}\n\nexport default IllustrationGrowththroughEmpathy;\n", "import * as React from 'react';\n\nfunction IllustrationTroubleshooting(props) {\n return (\n <svg\n viewBox=\"0 0 110 110\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n d=\"M5 55h99.984c0 27.61-22.375 50-50 50S5 82.61 5 55z\"\n fill=\"currentColor\"\n stroke=\"currentColor\"\n strokeWidth={10}\n strokeMiterlimit={10}\n />\n <path\n d=\"M55 105c27.614 0 50-22.386 50-50S82.614 5 55 5 5 27.386 5 55s22.386 50 50 50z\"\n stroke=\"currentColor\"\n strokeWidth={10}\n strokeMiterlimit={10}\n />\n <path\n d=\"M23.534 55C23.534 37.62 37.62 23.534 55 23.534c17.382 0 31.466 14.085 31.466 31.466\"\n stroke=\"currentColor\"\n strokeWidth={10}\n strokeMiterlimit={10}\n />\n <path\n d=\"M42.053 55c0-7.138 5.794-12.932 12.932-12.932 7.138 0 12.932 5.794 12.932 12.932\"\n stroke=\"currentColor\"\n strokeWidth={10}\n strokeMiterlimit={10}\n />\n </svg>\n );\n}\n\nexport default IllustrationTroubleshooting;\n", "import * as React from 'react';\n\nfunction IllustrationHealthPlans(props) {\n return (\n <svg\n viewBox=\"0 0 100 101\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M100 .929H0v100h100v-100zm-54.528 18.32v4.298l9.051-4.299h-9.05zm0 14.937v-5.883h9.051l-9.05 5.883zm0 3.166v7.467l9.051-7.467h-9.05zm0 18.1V46.4h9.051l-9.05 9.05zm0 1.586v7.467l9.051-7.467h-9.05zm0 16.517v-5.883h9.051l-9.05 5.883zm0 4.75v4.3l9.051-4.3h-9.05zM88.01 91.66v-2.715h2.715l-2.715 2.715zm0-13.354v4.3l2.715-4.3H88.01zm0-4.75v-5.883h2.715l-2.715 5.883zm0-16.517v7.467l2.715-7.467H88.01zm0-1.586V46.4h2.715l-2.715 9.05zm0-18.1v7.467l2.715-7.467H88.01zm0-3.166v-5.883h2.715l-2.715 5.883zm0-14.938v4.3l2.715-4.3H88.01zm0-6.334V10.2h2.715l-2.715 2.716zm-10.633 76.03v2.715l4.3-2.715h-4.3zm0-6.34v-4.299h4.3l-4.3 4.3zm0-14.932v5.883l4.3-5.883h-4.3zm0-3.167v-7.467h4.3l-4.3 7.467zm0-18.104v9.05l4.3-9.05h-4.3zm0-1.582v-7.467h4.3l-4.3 7.467zm0-16.516v5.883l4.3-5.883h-4.3zm0-4.756v-4.299h4.3l-4.3 4.3zm0-13.348v2.716l4.3-2.716h-4.3zM66.741 91.66v-2.715h5.883l-5.883 2.715zm0-13.354v4.3l5.883-4.3h-5.883zm0-4.75v-5.883h5.883l-5.883 5.883zm0-16.517v7.467l5.883-7.467h-5.883zm0-1.586V46.4h5.883l-5.883 9.05zm0-18.1v7.467l5.883-7.467h-5.883zm0-3.166v-5.883h5.883l-5.883 5.883zm0-14.938v4.3l5.883-4.3h-5.883zm0-6.334V10.2h5.883l-5.883 2.716zm-10.634 76.03v2.715l7.467-2.715h-7.467zm0-6.339v-4.3h7.467l-7.467 4.3zm0-14.932v5.883l7.467-5.883h-7.467zm0-3.168v-7.467h7.467l-7.467 7.467zm0-18.104v9.051l7.467-9.05h-7.467zm0-1.582v-7.467h7.467l-7.467 7.467zm0-16.516v5.883l7.467-5.883h-7.467zm0-4.755v-4.3h7.467l-7.467 4.3zm.001-13.348v2.715l7.467-2.715h-7.467zm-10.636 2.715v-2.716h9.051l-9.05 2.716zm-9.051 76.029v2.715l7.467-2.715H36.42zm0-6.34v-4.299h7.467l-7.467 4.3zm0-14.932v5.883l7.467-5.883H36.42zm0-3.167v-7.467h7.467l-7.467 7.467zm0-18.104v9.05l7.467-9.05H36.42zm0-1.582v-7.467h7.467l-7.467 7.467zm0-16.516v5.883l7.467-5.883H36.42zm0-4.756v-4.299h7.467l-7.467 4.3zm0-13.348v2.716l7.467-2.716H36.42zm-9.05 81.46v-2.715h5.883l-5.883 2.715zm0-13.354v4.3l5.883-4.3h-5.883zm0-4.75v-5.883h5.883l-5.883 5.883zm0-16.517v7.467l5.883-7.467h-5.883zm0-1.586V46.4h5.883l-5.883 9.05zm0-18.1v7.467l5.883-7.467h-5.883zm0-3.166v-5.883h5.883l-5.883 5.883zm0-14.938v4.3l5.883-4.3h-5.883zm0-6.334V10.2h5.883l-5.883 2.716zm-9.05 76.03v2.715l4.299-2.715h-4.3zm0-6.34v-4.299h4.299l-4.3 4.3zm0-14.932v5.883l4.299-5.883h-4.3zm0-3.167v-7.467h4.299l-4.3 7.467zm0-18.104v9.05l4.299-9.05h-4.3zm0-1.582v-7.467h4.299l-4.3 7.467zm0-16.516v5.883l4.299-5.883h-4.3zm0-4.756v-4.299h4.299l-4.3 4.3zm0-13.348v2.716l4.299-2.716h-4.3zm27.151 81.46v-2.715h9.051l-9.05 2.715zM9.27 88.944v2.715l2.715-2.715H9.27zm0-6.34v-4.299h2.715l-2.715 4.3zm0-14.932v5.883l2.715-5.883H9.27zm0-3.167v-7.467h2.715L9.27 64.505zm0-18.104v9.05l2.715-9.05H9.27zm0-1.582v-7.467h2.715L9.27 44.819zm0-16.516v5.883l2.715-5.883H9.27zm0-4.756v-4.299h2.715l-2.715 4.3zm0-13.348v2.715l2.716-2.715H9.268z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n}\n\nexport default IllustrationHealthPlans;\n", "import * as React from 'react';\n\nfunction IllustrationUpgrade(props) {\n return (\n <svg\n viewBox=\"0 0 100 100\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M100 100H0V0h100v100zM67.146 64.937L89.837 90H10.163l22.691-25.063H10.163L36.04 46.705H10.163L38.196 33.03H10.163l25.895-9.357H10.163l23.902-6.477H10.163L50 10l39.837 7.197H65.935l23.902 6.477H63.942l25.895 9.357H61.804l28.033 13.674H63.96l25.877 18.232H67.146z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n}\n\nexport default IllustrationUpgrade;\n", "import * as React from 'react';\n\nfunction IllustrationHowtoUseLoom(props) {\n return (\n <svg\n viewBox=\"0 0 110 110\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n d=\"M61.125 97.536H48.768v12.373h12.357V97.536zM81.608 88.743l-10.701 6.179 6.186 10.714 10.701-6.178-6.186-10.715zM94.92 70.897l-6.178 10.7 10.715 6.187 6.178-10.701-10.714-6.186zM89.445 61.127V48.77H78.014l9.91-5.724-6.178-10.71-9.895 5.724 5.724-9.895-10.71-6.179-5.724 9.895V20.45H48.769V31.88l-5.724-9.895-10.71 6.179 5.723 9.91-9.91-5.723-6.179 10.71 9.91 5.724H20.45v12.356h11.43l-9.91 5.724 6.179 10.71 9.91-5.723-5.723 9.91 10.71 6.178 5.724-9.91v11.431h12.356V78.032l5.724 9.91 10.71-6.178-5.724-9.895 9.895 5.724 6.179-10.71-9.91-5.724h11.447v-.031zM54.947 71.413c-9.095 0-16.465-7.37-16.465-16.465 0-9.095 7.37-16.465 16.465-16.465 9.095 0 16.465 7.37 16.465 16.465 0 9.095-7.37 16.465-16.465 16.465zM109.91 48.77H97.538v12.356h12.372V48.77zM99.46 22.114l-10.714 6.187L94.925 39l10.714-6.186-6.178-10.7zM77.082 4.276L70.896 14.99l10.701 6.179 6.186-10.715-10.7-6.178zM61.125 0H48.768v12.373h12.357V0zM32.825 4.281L22.124 10.46l6.186 10.714 10.701-6.178-6.186-10.715zM10.449 22.127L4.27 32.828l10.714 6.186 6.178-10.7-10.714-6.187zM12.373 48.77H0v12.356h12.373V48.77zM14.99 70.881L4.274 77.067l6.178 10.701 10.715-6.186-6.179-10.7zM28.311 88.746L22.125 99.46l10.701 6.179 6.186-10.715-10.7-6.178z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n}\n\nexport default IllustrationHowtoUseLoom;\n", "import * as React from 'react';\n\nfunction IllustrationUploadDragAndDrop(props) {\n return (\n <svg\n viewBox=\"0 0 100 100\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n d=\"M100 38.086V0H61.914v9.93h21.132L54.963 38.013V16.88h-9.93v21.132L16.951 9.93h21.135V0H0v38.086h9.93V16.951l28.083 28.082H16.88v9.93h21.132L9.93 83.046V61.914H0V100h38.086v-9.93H16.951l28.082-28.086v21.135h9.93V61.984L83.046 90.07H61.914V100H100V61.914h-9.93v21.132L61.987 54.963H83.12v-9.93H61.987L90.07 16.951v21.135H100z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n}\n\nexport default IllustrationUploadDragAndDrop;\n", "import * as React from 'react';\n\nfunction IllustrationUseCases(props) {\n return (\n <svg\n viewBox=\"0 0 100 100\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n d=\"M0 0v100h100V0H0zm90 90H61.91l20.87-12.52L90 89.52V90zm0-71.25H29.01L90 26.56v8.82l-42.3-5.42L90 42.3v9.12l-27.61-8.05L90 56.78v9.73l-15.29-7.42L90 71.34v11.22L76.02 71.35 61.06 90H49.84l24.82-30.94-8.62-4.19L48.98 90h-9.73l22.71-46.76-9.21-2.68L38.34 90h-9.12l17.53-60.15-10.48-1.35L28.4 90h-8.82l9.12-71.25h-9.94V90H10V10h80v8.75z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n}\n\nexport default IllustrationUseCases;\n", "import * as React from 'react';\n\nfunction IllustrationInviteMembers(props) {\n return (\n <svg\n viewBox=\"0 0 134 134\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M67.59 60.288V0h-1.175v60.292L55.941.914l-1.157.204 10.474 59.374L44.636 3.841l-1.104.401 20.622 56.651L34.01 8.681l-1.017.588 30.144 52.213-38.752-46.184-.9.755 38.753 46.185-46.185-38.752-.755.9 46.184 38.752L9.27 32.993 8.68 34.01l52.212 30.144-56.65-20.622-.403 1.104 56.652 20.622L1.118 54.785l-.204 1.157 59.377 10.473H0v1.175h60.288L.914 78.058l.204 1.157 59.374-10.468L3.84 89.364l.402 1.104 56.651-20.617L8.681 99.99l.588 1.017 52.213-30.14-46.184 38.747.755.9 46.186-38.747-38.753 46.18.9.755 38.751-46.178-30.144 52.207 1.017.588 30.144-52.207-20.622 56.645 1.104.402 20.622-56.646-10.473 59.369 1.156.204 10.474-59.373V134h1.175V73.717l10.468 59.369 1.157-.204-10.468-59.37 20.617 56.647 1.104-.401-20.617-56.646 30.139 52.206 1.017-.587-30.14-52.208 38.747 46.179.9-.755-38.747-46.18 46.18 38.747.755-.9-46.179-38.746 52.208 30.139.588-1.017L73.112 69.85l56.646 20.617.401-1.104-56.646-20.617 59.369 10.468.204-1.157-59.37-10.468H134v-1.175H73.714l59.372-10.474-.204-1.156-59.369 10.473 56.646-20.622-.401-1.104-56.646 20.622 52.207-30.144-.588-1.017-52.208 30.144 46.179-38.752-.755-.9-46.18 38.753 38.747-46.185-.9-.755-38.746 46.184L101.007 9.27 99.99 8.68 69.85 60.893l20.617-56.65-1.104-.402-20.617 56.651L79.215 1.118 78.058.914 67.59 60.288z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n}\n\nexport default IllustrationInviteMembers;\n", "import * as React from 'react';\n\nfunction IllustrationWellness(props) {\n return (\n <svg\n viewBox=\"0 0 100 101\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n d=\"M66.667.929a33.333 33.333 0 010 66.666V.93zM0 34.263a33.333 33.333 0 0166.667 0H0zM33.333 100.929a33.338 33.338 0 01-23.57-9.763 33.333 33.333 0 0123.57-56.903v66.666z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M99.999 67.596a33.332 33.332 0 01-64.13 12.756 33.332 33.332 0 01-2.537-12.756h66.667zM33.334.93H.001v33.333h33.333z\"\n fill=\"currentColor\"\n />\n <path fill=\"currentColor\" d=\"M100 67.595H66.667v33.333H100z\" />\n </svg>\n );\n}\n\nexport default IllustrationWellness;\n", "import * as React from 'react';\n\nfunction IllustrationComments(props) {\n return (\n <svg\n viewBox=\"0 0 96 96\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M96 0H0v96h96V0zM84 12H12v72h72V12z\"\n fill=\"currentColor\"\n />\n <path\n fill=\"currentColor\"\n d=\"M19.2 19.2h57.6v12H19.2zM19.2 38.4h57.6v12H19.2zM19.2 57.6h31.2v12H19.2z\"\n />\n </svg>\n );\n}\n\nexport default IllustrationComments;\n", "import * as React from 'react';\n\nfunction IllutrationFoldersEmptyStateMobile(props) {\n return (\n <svg\n viewBox=\"0 0 96 96\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M0 67.2V96h96V0H67.2v67.2H0z\"\n fill=\"currentColor\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M0 28.8V60h28.8V28.8H60V0H0v28.8z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n}\n\nexport default IllutrationFoldersEmptyStateMobile;\n", "import * as React from 'react';\n\nfunction IllustrationHelpIos(props) {\n return (\n <svg\n viewBox=\"0 0 96 96\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n d=\"M22.8 12c5.965 0 10.8 4.835 10.8 10.8 0 .254-.008.505-.026.754C38.542 16.58 46.912 12 56.4 12 71.643 12 84 23.82 84 38.4c0 14.58-12.357 26.4-27.6 26.4-5.744 0-11.078-1.678-15.496-4.55A15.527 15.527 0 0143.2 68.4c0 8.616-6.984 15.6-15.6 15.6C18.985 84 12 77.016 12 68.4s6.985-15.6 15.6-15.6c2.444 0 4.757.562 6.816 1.564C30.892 49.93 28.8 44.399 28.8 38.4c0-2.6.393-5.11 1.125-7.483A10.76 10.76 0 0122.8 33.6c-5.964 0-10.8-4.835-10.8-10.8C12 16.835 16.836 12 22.8 12z\"\n fill=\"currentColor\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M0 0h96v96H0V0zm12 12v72h72V12H12z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n}\n\nexport default IllustrationHelpIos;\n", "import * as React from 'react';\n\nfunction IllustrationMyVideosEmptyStateMobile(props) {\n return (\n <svg\n viewBox=\"0 0 96 96\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path d=\"M96 0H0v96h96V0zM84 12v72H12V12h72z\" fill=\"currentColor\" />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M85.023 48.341L48.341 11.66 11.66 48.341 48.34 85.023l36.682-36.682zm-56.69 0L48.34 28.333 28.333 48.34zm20.842 19.175L68.35 48.34 49.175 29.167v38.349z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n}\n\nexport default IllustrationMyVideosEmptyStateMobile;\n", "import * as React from 'react';\n\nfunction IllustrationRecentsEmptyStateMobile(props) {\n return (\n <svg\n viewBox=\"0 0 96 96\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M0 0h96v28.704H47.844V12L12 48l35.844 36V67.305H96V96H0V0z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n}\n\nexport default IllustrationRecentsEmptyStateMobile;\n", "import * as React from 'react';\n\nfunction IllustrationChromeNotificationsEmptyState(props) {\n return (\n <svg\n viewBox=\"0 0 96 96\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <circle\n cx={15.84}\n cy={15.84}\n r={11.04}\n stroke=\"currentColor\"\n strokeWidth={9.6}\n />\n <path\n d=\"M59.52 15.84c0 5.963-5.022 11.04-11.52 11.04-6.498 0-11.52-5.077-11.52-11.04C36.48 9.877 41.502 4.8 48 4.8c6.498 0 11.52 5.077 11.52 11.04z\"\n stroke=\"currentColor\"\n strokeWidth={9.6}\n />\n <circle cx={80.16} cy={15.84} r={15.84} fill=\"currentColor\" />\n <path\n d=\"M26.88 48c0 6.498-5.077 11.52-11.04 11.52C9.877 59.52 4.8 54.498 4.8 48c0-6.498 5.077-11.52 11.04-11.52 5.963 0 11.04 5.022 11.04 11.52z\"\n stroke=\"currentColor\"\n strokeWidth={9.6}\n />\n <circle\n cx={48}\n cy={48}\n r={11.52}\n stroke=\"currentColor\"\n strokeWidth={9.6}\n />\n <path\n d=\"M91.2 48c0 6.498-5.077 11.52-11.04 11.52-5.963 0-11.04-5.022-11.04-11.52 0-6.498 5.077-11.52 11.04-11.52 5.963 0 11.04 5.022 11.04 11.52z\"\n stroke=\"currentColor\"\n strokeWidth={9.6}\n />\n <circle\n cx={15.84}\n cy={80.16}\n r={11.04}\n stroke=\"currentColor\"\n strokeWidth={9.6}\n />\n <path\n d=\"M59.52 80.16c0 5.963-5.022 11.04-11.52 11.04-6.498 0-11.52-5.077-11.52-11.04 0-5.963 5.022-11.04 11.52-11.04 6.498 0 11.52 5.077 11.52 11.04z\"\n stroke=\"currentColor\"\n strokeWidth={9.6}\n />\n <circle\n cx={80.16}\n cy={80.16}\n r={11.04}\n stroke=\"currentColor\"\n strokeWidth={9.6}\n />\n </svg>\n );\n}\n\nexport default IllustrationChromeNotificationsEmptyState;\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["import_react", "React", "_debounce", "alignments", "import_react", "styled", "React", "sides", "spaces", "import_styled", "import_react", "styled", "React", "import_react", "React", "import_react", "import_styled", "import_styled", "import_react", "styled", "React", "import_react", "import_styled", "styled", "React", "styled", "React", "traceUFOPress", "availableSizes", "import_styled", "import_react", "styled", "React", "import_styled", "import_react", "import_styled", "import_react", "styled", "React", "import_styled", "import_react", "styled", "React", "sizesStyles", "styled", "IconSection", "React", "import_styled", "import_react", "alignments", "styled", "React", "availableAlignments", "alignments", "import_styled", "import_react", "import_styled", "import_react", "styled", "React", "React", "WarningIcon", "styled", "React", "import_styled", "import_react", "alignments", "styled", "React", "import_styled", "import_react", "styled", "React", "import_styled", "import_react", "React", "styled", "import_styled", "import_react", "sizeStyles", "styled", "React", "import_styled", "import_react", "React", "import_styled", "import_react", "React", "CheckMarkIcon", "styled", "Image", "React", "import_styled", "import_react", "React", "SearchIcon", "styled", "React", "styled", "Image", "React", "ResizeObserver", "selectedItem", "Downshift", "import_styled", "import_react", "import_react", "styled", "React", "import_styled", "import_react", "React", "CloseIcon", "styled", "ChildrenSection", "React", "FocusTrap", "_a", "import_react", "import_styled", "variants", "statusStyles", "styled", "React", "availableVariants", "import_styled", "import_react", "sizesStyles", "styled", "React", "import_styled", "import_downshift", "import_react", "import_react_laag", "import_resize_observer_polyfill", "styled", "Group", "ErrorMessage", "isGrouped", "getSelectedOptionObject", "getIcon", "getTitle", "getHeaderAccessibilityProps", "IconSection", "React", "getSelectedOption", "didSelectedOptionValueChange", "renderOption", "ResizeObserver", "_a", "Downshift", "selectedItem", "import_styled", "import_downshift", "import_react", "import_react_laag", "import_resize_observer_polyfill", "styled", "ResizeObserver", "React", "Downshift", "isOpen", "import_styled", "import_react", "import_styled", "import_react", "styled", "React", "import_styled", "import_react", "sizes", "styled", "React", "styled", "ErrorMessage", "React", "import_styled", "import_react", "import_react", "React", "import_react", "import_react", "React", "InformationCircleIcon", "import_react", "React", "React", "styled", "import_react", "import_styled", "styled", "ChildrenSection", "duration", "React", "import_styled", "import_react", "import_react_laag", "import_resize_observer_polyfill", "styled", "React", "ResizeObserver", "import_react", "import_styled", "styled", "React", "import_styled", "import_react", "React", "styled", "import_styled", "import_react", "styled", "React", "import_react", "import_styled", "variantStyles", "styled", "React", "import_styled", "import_react", "React", "styled", "_a", "import_styled", "import_react", "styled", "React", "import_styled", "import_react", "import_react_dom", "import_transition_hook", "placements", "Wrapper", "styled", "ContentWrapper", "floatingUiOffset", "React", "ReactDOM", "import_styled", "import_react", "styled", "React", "import_react", "import_styled", "styled", "React", "import_styled", "import_react", "styled", "ButtonWrapper", "React", "import_react", "import_styled", "speed", "sizes", "getTotalSize", "getDotSize", "styled", "Dot", "React", "availableSizes", "import_react", "import_styled", "sizes", "getTotalSize", "styled", "speed", "React", "availableSizes", "React", "React", "React", "React", "React", "React", "React", "React", "React", "React", "React", "React", "React", "React", "React", "React", "React", "React", "React", "React", "React", "React", "React", "React", "React", "React", "React", "React", "React", "React", "React", "React", "React", "React", "React", "React", "React", "React", "React", "React", "React", "React", "React", "React", "React", "React", "React", "React"]
|
|
7
7
|
}
|