@loomhq/lens 12.3.1 → 12.3.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/index.js +1 -0
- package/dist/cjs/index.js.map +2 -2
- package/dist/esm/index.js +1 -0
- package/dist/esm/index.js.map +2 -2
- package/dist/types/colors.d.ts +2 -1
- package/dist/types/colors.d.ts.map +1 -1
- package/package.json +3 -3
package/dist/cjs/index.js.map
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
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/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/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 '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 'backgroundSecondary',\n 'backgroundSecondary2',\n 'backgroundInverse',\n 'overlay',\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 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.06,\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 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 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 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 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';\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 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\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 getRadius = size =>\n size && `border-radius: var(--lns-radius-${size});`;\n\nexport const getFontWeight = fontWeight =>\n fontWeight && `font-weight: var(--lns-fontWeight-${fontWeight});`;\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\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 { getFontWeight, getTextSize, getColorValue, u } 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 => 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 ...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 {...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 /** @deprecated Usage of className 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 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 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({}, fontWeightVariables, ...sizingVariables);\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 = (rootElement = ':root', bodyElement = 'body') => {\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};\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';\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 },\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: 'linear-gradient(135deg, #565ADD, #9F92EC, #DC43BE)',\n borderColor: null,\n hover: null,\n active: null,\n },\n};\n\nconst statusStyles = {\n enabled: css`\n cursor: pointer;\n `,\n disabled: css`\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 min-width: ${props => sizesStyles[props.size].height};\n ${props => getTextSize(sizesStyles[props.size].textSize)};\n ${props => (props.disabled ? statusStyles.disabled : statusStyles.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: ${variantStyles[props.variant].background};\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 => 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 => 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 logoSrc,\n hasLoader,\n isDisabled,\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 buttonIcon = (\n <IconSection\n hasLoader={hasLoader}\n paddingLeft={children && iconPosition === 'right' && iconGap}\n paddingRight={children && iconPosition === 'left' && iconGap}\n >\n <Icon\n icon={icon}\n color=\"currentColor\"\n size={sizesStyles[size].iconSize}\n />\n </IconSection>\n );\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 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 {icon && iconPosition === 'left' && buttonIcon}\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 {icon && iconPosition === 'right' && buttonIcon}\n </ButtonWrapper>\n );\n};\n\ntype Variant =\n | 'neutral'\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 hasFullWidth?: boolean;\n icon?: React.ReactNode;\n iconPosition?: 'left' | 'right';\n logoSrc?: string;\n onClick?: React.MouseEventHandler<HTMLButtonElement>;\n hasLoader?: 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 logoSrc?: string;\n as?: string;\n disabled?: boolean;\n buttonPadding?: number | string;\n hasChildren?: React.ReactNode;\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 ChevronDownIcon from '@atlaskit/icon/utility/chevron-down';\nimport * as React from 'react';\n\nexport function SvgChevronDown() {\n return (\n <ChevronDownIcon label=\"\" spacing=\"compact\" testId=\"ads-refreshed-icon\" />\n );\n}\n", "import styled from '@emotion/styled';\nimport React from 'react';\n\nimport {\n getColorValue,\n getRadius,\n getShadow,\n getSize,\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 MenuWrapper = styled.ul<MenuProps>`\n background-color: ${getColorValue('overlay')};\n list-style: none;\n padding: ${u(1.5)};\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 overflow: auto;\n border: 1px solid ${getColorValue('border')};\n ${getShadow('medium')};\n ${getRadius('250')};\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 ${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 {...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 ...props\n}: MenuProps & React.ComponentProps<typeof MenuWrapper>) => {\n return (\n <MenuWrapper\n zIndex={zIndex}\n position={position}\n minWidth={minWidth}\n maxWidth={maxWidth}\n maxHeight={maxHeight}\n {...downshiftMenuProps()}\n {...props}\n >\n {children}\n </MenuWrapper>\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};\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\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 useRef,\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 = ({\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<React.ComponentProps<typeof TypeaheadWrapper>, keyof TypeaheadProps> &\n Omit<\n LensDivProps,\n keyof TypeaheadProps & React.ComponentProps<typeof TypeaheadWrapper>\n >) => {\n const environment = getDownshiftEnvironment(container);\n const inputRef = useRef<HTMLInputElement>(null);\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\n if (!downshiftIsOpen) {\n inputRef.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 if (hasAvailableOptions || isLoading) {\n setDownshiftIsOpen(true);\n }\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\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.RefObject<HTMLInputElement>;\n};\n\nexport default Typeahead;\n", "import styled from '@emotion/styled';\nimport Downshift, { ChildrenFunction } from 'downshift';\nimport React, { useEffect, 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';\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 ...props\n}: DropdownProps) => {\n const environment = getDownshiftEnvironment(container);\n\n const [downshiftIsOpen, setDownshiftIsOpen] = useState(false);\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 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 >\n {options.map((item, index) => {\n return (\n <MenuItem\n key={index}\n isHighlighted={highlightedIndex === index}\n isDisabled={item.disabled}\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 hasDivider?: boolean;\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};\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 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 {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';\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, getFocusRing } 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 ${getFocusRing()};\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 ...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-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};\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\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 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 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';\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';\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,\n className,\n backgroundColor,\n onClick,\n href,\n ...props\n}: ListRowProps) => {\n const classNameFromProp = className ? ` ${className}` : ``;\n\n return (\n <ListRowWrapper\n role=\"row\"\n className={`ListRowWrapper${classNameFromProp}`}\n as={htmlTag}\n backgroundColor={backgroundColor}\n onClick={onClick}\n tabIndex={0}\n onKeyDown={e => {\n if (e.key === 'Enter') {\n e.preventDefault();\n onClick(e);\n }\n }}\n href={href}\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 ...props\n}: ListProps &\n React.ComponentProps<typeof ListWrapper> &\n Omit<\n LensDivProps,\n keyof ListProps & React.ComponentProps<typeof ListWrapper>\n >) => {\n return (\n <ListWrapper\n columns={columns && formatColumns(columns)}\n gap={gap}\n variant={variant}\n {...props}\n >\n {children}\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}\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?: string;\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.nav<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 li {\n ${props => props.hasFullTabs && `flex: 1 0`};\n &:not(:first-of-type) {\n margin-left: 1rem;\n }\n }\n\n li > * {\n width: 100%;\n }\n\n ul {\n display: flex;\n list-style: none;\n padding: 0;\n margin: 0;\n width: 100%;\n }\n\n ul:after {\n content: '';\n flex-shrink: 0;\n ${props => props.scrollOffset && getSize('width', props.scrollOffset)};\n }\n`;\n\nconst TabsNavPilled = styled.nav<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 li {\n flex: 1 0;\n }\n\n li > * {\n width: 100%;\n }\n\n ul {\n display: flex;\n list-style: none;\n padding: 0;\n margin: 0;\n width: 100%;\n }\n\n ul: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 => getColorValue(props.isActive ? 'body' : 'bodyDimmed')};\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 {\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 ${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 {\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 ...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 <li>\n <TabWrapperPilled\n as={htmlTag}\n isActive={isActive}\n icon={icon}\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 </li>\n );\n }\n\n return (\n <li>\n <TabWrapper as={htmlTag} isActive={isActive} icon={icon} {...props}>\n {icon && (\n <Container htmlTag=\"span\" paddingRight={children && 'small'}>\n <Icon icon={icon} color=\"currentColor\" />\n </Container>\n )}\n {children}\n </TabWrapper>\n </li>\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 {...props}\n >\n <ul>{children}</ul>\n </TabsNavPilled>\n ) : (\n <TabsNav\n hasFullTabs={hasFullTabs}\n scrollOffset={scrollOffset}\n hasBottomBorder={hasBottomBorder}\n {...props}\n >\n <ul>{children}</ul>\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};\n\ntype TabWrapperProps = {\n isActive?: boolean;\n icon?: React.ReactNode;\n as?: string;\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 * 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": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,IAAAA,iBAAO;;;ACuFP,IAAM,UAAU,CAAC,QAAgB,eAC/B,KAAK,MAAO,SAAS,aAAc,GAAG;AAEjC,IAAM,SAAS,CAAC,OAAkB,eAAmC,iCACvE,QADuE;AAAA,EAE1E,GAAG,MAAM,IAAI,QAAQ,MAAM,GAAG,UAAU;AAC1C;AAEO,IAAM,UAAU,CAAC,OAAkB,eAAmC,iCACxE,QADwE;AAAA,EAE3E,GAAG,MAAM,IAAI,QAAQ,MAAM,GAAG,UAAU;AAC1C;AAEO,IAAM,WAAW,CAAC,OAAkB,eAAmC,iCACzE,QADyE;AAAA,EAE5E,GAAG,MAAM,IAAI,QAAQ,MAAM,GAAG,UAAU;AAC1C;AAEO,IAAM,gBAAgB,CAAC,OAAkB,UAA8B,iCACzE,QADyE;AAAA,EAE5E,GAAG;AACL;AAEA,IAAM,gBAAgB;AACtB,IAAM,iBAAiB;AACvB,IAAM,cAAc;AACpB,IAAM,gBAAgB;AACtB,IAAM,oBAAoB;AAC1B,IAAM,wBAAwB;AAC9B,IAAM,iBAAiB;AACvB,IAAM,oBAAoB;AAC1B,IAAM,qBAAqB;AAC3B,IAAM,iBAAiB;AAEhB,IAAM,iBAAiE;AAAA,EAC5E,KAAK,EAAE,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,GAAG,EAAE;AAAA,EAEhC,cAAc,EAAE,GAAG,KAAK,GAAG,MAAM,GAAG,MAAM,GAAG,EAAE;AAAA,EAC/C,eAAe,EAAE,GAAG,KAAK,GAAG,IAAM,GAAG,MAAM,GAAG,EAAE;AAAA,EAChD,SAAS,EAAE,GAAG,KAAK,GAAG,MAAM,GAAG,MAAM,GAAG,EAAE;AAAA,EAC1C,aAAa,EAAE,GAAG,KAAK,GAAG,MAAM,GAAG,IAAM,GAAG,EAAE;AAAA,EAC9C,eAAe,EAAE,GAAG,KAAK,GAAG,IAAI,GAAG,IAAI,GAAG,EAAE;AAAA,EAE5C,UAAU,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,OAAO,GAAG,EAAE;AAAA,EAEvC,WAAW,EAAE,GAAG,OAAO,GAAG,IAAI,GAAG,MAAM,GAAG,EAAE;AAAA,EAC5C,MAAM,EAAE,GAAG,OAAO,GAAG,IAAI,GAAG,OAAO,GAAG,EAAE;AAAA,EACxC,UAAU,EAAE,GAAG,OAAO,GAAG,MAAM,GAAG,IAAI,GAAG,EAAE;AAAA,EAE3C,aAAa,EAAE,GAAG,GAAG,GAAG,KAAK,GAAG,MAAM,GAAG,EAAE;AAAA,EAC3C,QAAQ,EAAE,GAAG,IAAI,GAAG,KAAK,GAAG,MAAM,GAAG,EAAE;AAAA,EACvC,YAAY,EAAE,GAAG,MAAM,GAAG,KAAK,GAAG,MAAM,GAAG,EAAE;AAAA,EAE7C,WAAW,EAAE,GAAG,KAAK,GAAG,IAAI,GAAG,IAAI,GAAG,EAAE;AAAA,EACxC,MAAM,EAAE,GAAG,KAAK,GAAG,IAAI,GAAG,IAAI,GAAG,EAAE;AAAA,EACnC,UAAU,EAAE,GAAG,KAAK,GAAG,IAAI,GAAG,IAAI,GAAG,EAAE;AAAA,EAEvC,aAAa,EAAE,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,EAAE;AAAA,EACzC,QAAQ,EAAE,GAAG,MAAM,GAAG,IAAI,GAAG,IAAI,GAAG,EAAE;AAAA,EACtC,YAAY,EAAE,GAAG,MAAM,GAAG,KAAK,GAAG,MAAM,GAAG,EAAE;AAC/C;AAEO,IAAM,YAA4D;AAAA,EACvE,OAAO,EAAE,GAAG,KAAK,GAAG,GAAG,GAAG,IAAI,GAAG,EAAE;AAAA,EACnC,OAAO,EAAE,GAAG,KAAK,GAAG,GAAG,GAAG,MAAM,GAAG,EAAE;AAAA,EACrC,OAAO,EAAE,GAAG,KAAK,GAAG,GAAG,GAAG,IAAI,GAAG,EAAE;AAAA,EACnC,OAAO,EAAE,GAAG,KAAK,GAAG,GAAG,GAAG,IAAI,GAAG,EAAE;AAAA,EACnC,OAAO,EAAE,GAAG,KAAK,GAAG,GAAG,GAAG,IAAI,GAAG,EAAE;AAAA,EACnC,OAAO,EAAE,GAAG,KAAK,GAAG,GAAG,GAAG,MAAM,GAAG,EAAE;AAAA,EACrC,OAAO,EAAE,GAAG,KAAK,GAAG,GAAG,GAAG,MAAM,GAAG,EAAE;AAAA,EACrC,OAAO,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,OAAO,GAAG,EAAE;AAAA,EACpC,OAAO,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,KAAK,GAAG,EAAE;AACpC;AAEA,IAAM,oBAAsE;AAAA,EAC1E,QAAQ,eAAe;AAAA,EACvB,aAAa,OAAO,eAAe,QAAQ,aAAa;AAAA,EACxD,cAAc,OAAO,eAAe,QAAQ,cAAc;AAAA,EAC1D,WAAW,cAAc,eAAe,SAAS,cAAc;AAAA,EAC/D,cAAc,cAAc,UAAU,OAAO,iBAAiB;AAAA,EAC9D,kBAAkB;AAAA,IAChB,eAAe;AAAA,IACf;AAAA,EACF;AAAA,EACA,WAAW,cAAc,eAAe,SAAS,cAAc;AAAA,EAC/D,SAAS;AAAA,IACP,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,KAAK;AAAA,EACP;AACF;AAGO,IAAM,cAA4B;AAAA,EACvC,OAAO;AAAA,IACL,SAAS,eAAe;AAAA,IACxB,cAAc,eAAe;AAAA,IAC7B,eAAe,eAAe;AAAA,IAC9B,MAAM,EAAE,GAAG,KAAK,GAAG,GAAG,GAAG,IAAI,GAAG,GAAG,KAAK,YAAY;AAAA,IACpD,YAAY,EAAE,GAAG,KAAK,GAAG,GAAG,GAAG,IAAI,GAAG,GAAG,KAAK,qBAAqB;AAAA,IACnE,aAAa,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,KAAK,GAAG,GAAG,KAAK,oBAAoB;AAAA,IAClE,YAAY,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,KAAK,GAAG,GAAG,KAAK,eAAe;AAAA,IAC5D,iBAAiB;AAAA,MACf,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,KAAK;AAAA,IACP;AAAA,IACA,kBAAkB;AAAA,MAChB,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,KAAK;AAAA,IACP;AAAA,IACA,qBAAqB;AAAA,MACnB,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,KAAK;AAAA,IACP;AAAA,IACA,sBAAsB;AAAA,MACpB,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,KAAK;AAAA,IACP;AAAA,IACA,mBAAmB;AAAA,MACjB,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,KAAK;AAAA,IACP;AAAA,IACA,SAAS,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,KAAK,GAAG,GAAG,KAAK,uBAAuB;AAAA,IACjE,UAAU,EAAE,GAAG,KAAK,GAAG,IAAI,GAAG,GAAG,GAAG,eAAe,KAAK,eAAe;AAAA,IACvE,QAAQ,EAAE,GAAG,OAAO,GAAG,IAAI,GAAG,IAAI,GAAG,aAAa,KAAK,cAAc;AAAA,KAClE,oBA9CE;AAAA,IA+CL,MAAM;AAAA,MACJ,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,KAAK;AAAA,IACP;AAAA,IACA,SAAS;AAAA,MACP,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,KAAK;AAAA,IACP;AAAA,IACA,QAAQ,EAAE,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,GAAG,GAAG,KAAK,8BAA8B;AAAA,IACvE,aAAa;AAAA,MACX,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,KAAK;AAAA,IACP;AAAA,IACA,cAAc;AAAA,MACZ,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,KAAK;AAAA,IACP;AAAA,IACA,iBAAiB;AAAA,MACf,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,KAAK;AAAA,IACP;AAAA,IACA,oBAAoB;AAAA,MAClB,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,KAAK;AAAA,IACP;AAAA,IACA,iBAAiB,EAAE,GAAG,OAAO,GAAG,GAAG,GAAG,IAAI,GAAG,GAAG,KAAK,oBAAoB;AAAA,IACzE,qBAAqB;AAAA,MACnB,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,KAAK;AAAA,IACP;AAAA,IACA,cAAc;AAAA,MACZ,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,KAAK;AAAA,IACP;AAAA,IACA,eAAe;AAAA,MACb,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,KAAK;AAAA,IACP;AAAA,IACA,SAAS;AAAA,MACP,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,KAAK;AAAA,IACP;AAAA,IACA,cAAc;AAAA,MACZ,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,KAAK;AAAA,IACP;AAAA,IACA,eAAe;AAAA,MACb,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,KAAK;AAAA,IACP;AAAA,IACA,qBAAqB;AAAA,MACnB,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,KAAK;AAAA,IACP;AAAA,IACA,0BAA0B;AAAA,MACxB,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,KAAK;AAAA,IACP;AAAA,IACA,gBAAgB,EAAE,GAAG,KAAK,GAAG,GAAG,GAAG,IAAI,GAAG,GAAG,KAAK,YAAY;AAAA,IAC9D,oBAAoB;AAAA,MAClB,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,KAAK;AAAA,IACP;AAAA,EACF;AAAA,EAEA,MAAM;AAAA,IACJ,SAAS,EAAE,GAAG,KAAK,GAAG,IAAI,GAAG,IAAI,GAAG,EAAE;AAAA,IACtC,cAAc,eAAe;AAAA,IAC7B,eAAe,eAAe;AAAA,IAC9B,MAAM,EAAE,GAAG,KAAK,GAAG,KAAK,GAAG,MAAM,GAAG,GAAG,KAAK,YAAY;AAAA,IACxD,YAAY,EAAE,GAAG,OAAO,GAAG,GAAG,GAAG,MAAM,GAAG,GAAG,KAAK,qBAAqB;AAAA,IACvE,aAAa,EAAE,GAAG,KAAK,GAAG,GAAG,GAAG,MAAM,GAAG,GAAG,KAAK,oBAAoB;AAAA,IACrE,YAAY,EAAE,GAAG,KAAK,GAAG,GAAG,GAAG,MAAM,GAAG,GAAG,KAAK,eAAe;AAAA,IAC/D,iBAAiB;AAAA,MACf,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,KAAK;AAAA,IACP;AAAA,IACA,kBAAkB;AAAA,MAChB,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,KAAK;AAAA,IACP;AAAA,IACA,qBAAqB;AAAA,MACnB,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,KAAK;AAAA,IACP;AAAA,IACA,sBAAsB;AAAA,MACpB,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,KAAK;AAAA,IACP;AAAA,IACA,mBAAmB;AAAA,MACjB,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,KAAK;AAAA,IACP;AAAA,IACA,SAAS,EAAE,GAAG,KAAK,GAAG,GAAG,GAAG,MAAM,GAAG,GAAG,KAAK,uBAAuB;AAAA,IACpE,UAAU,EAAE,GAAG,KAAK,GAAG,IAAI,GAAG,GAAG,GAAG,KAAK,KAAK,eAAe;AAAA,IAC7D,QAAQ,EAAE,GAAG,KAAK,GAAG,MAAM,GAAG,IAAI,GAAG,MAAM,KAAK,cAAc;AAAA,KAC3D,oBA9CC;AAAA,IA+CJ,MAAM;AAAA,MACJ,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,KAAK;AAAA,IACP;AAAA,IACA,SAAS;AAAA,MACP,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,KAAK;AAAA,IACP;AAAA,IACA,QAAQ,EAAE,GAAG,MAAM,GAAG,IAAI,GAAG,IAAI,GAAG,GAAG,KAAK,8BAA8B;AAAA,IAC1E,aAAa;AAAA,MACX,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,KAAK;AAAA,IACP;AAAA,IACA,cAAc;AAAA,MACZ,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,KAAK;AAAA,IACP;AAAA,IACA,iBAAiB;AAAA,MACf,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,KAAK;AAAA,IACP;AAAA,IACA,oBAAoB;AAAA,MAClB,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,KAAK;AAAA,IACP;AAAA,IACA,iBAAiB,EAAE,GAAG,KAAK,GAAG,GAAG,GAAG,MAAM,GAAG,GAAG,KAAK,oBAAoB;AAAA,IACzE,qBAAqB;AAAA,MACnB,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,KAAK;AAAA,IACP;AAAA,IACA,cAAc;AAAA,MACZ,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,KAAK;AAAA,IACP;AAAA,IACA,eAAe;AAAA,MACb,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,KAAK;AAAA,IACP;AAAA,IACA,SAAS;AAAA,MACP,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,KAAK;AAAA,IACP;AAAA,IACA,cAAc;AAAA,MACZ,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,KAAK;AAAA,IACP;AAAA,IACA,eAAe;AAAA,MACb,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,KAAK;AAAA,IACP;AAAA,IACA,qBAAqB;AAAA,MACnB,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,KAAK;AAAA,IACP;AAAA,IACA,0BAA0B;AAAA,MACxB,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,KAAK;AAAA,IACP;AAAA,IACA,gBAAgB,EAAE,GAAG,KAAK,GAAG,KAAK,GAAG,MAAM,GAAG,GAAG,KAAK,YAAY;AAAA,IAClE,oBAAoB;AAAA,MAClB,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,KAAK;AAAA,IACP;AAAA,EACF;AACF;AAEO,IAAM,aAAa,kCACrB,iBACA;AAGE,IAAM,cAAc;AAAA,EACzB,GAAG,OAAO,KAAK,UAAU;AAAA,EACzB,GAAG,OAAO,KAAK,YAAY,KAAK;AAClC;;;ACzfO,IAAM,gBAAgB,CAC3B,OACA,UACG;AACH,SAAO,QAAQ,WAAW,KAAK,EAAE,CAAC,IAAI,WAAW,KAAK,EAAE,CAAC,KAAK,WAAW,KAAK,EAAE,CAAC,KAAK,KAAK;AAC7F;AAEO,IAAM,gBAAgB,CAC3B,OACA,WACA,mBACW;AACX,QAAM,cAAc,MAAM;AACxB,QAAI,cAAc,QAAQ;AACxB,aAAO,WAAW,KAAK,EAAE,IAAI,WAAW,KAAK,EAAE,IAAI;AAAA,IACrD,WAAW,cAAc,SAAS;AAChC,aAAO,WAAW,KAAK,EAAE,IAAI,WAAW,KAAK,EAAE,IAAI;AAAA,IACrD;AAAA,EACF;AAEA,SAAO,QAAQ,WAAW,KAAK,EAAE,CAAC,IAAI,WAAW,KAAK,EAAE,CAAC,KAAK,KAAK;AAAA,IACjE,YAAY;AAAA,EACd,CAAC,KAAK,WAAW,KAAK,EAAE,CAAC;AAC3B;AAEO,IAAM,gBAAgB,CAAC,UAAuC;AACnE,MAAI,OAAO;AACT,QAAI,SAAS,cAAc,SAAS,YAAY,OAAO;AACrD,aAAO,mBAAmB,KAAK;AAAA,IACjC;AAEA,WAAO;AAAA,EACT;AACF;;;ACnCA,sBAAsB;AACtB,mBAAkB;AAQH,SAAR,SAA0B,SAAS,QAAQ,cAAc;AAC9D,QAAM,QAAQ,aAAAC,QAAM,YAAY,MAAM;AACpC,QAAI,OAAO,WAAW,aAAa;AACjC,aAAO;AAAA,IACT;AAEA,WACE,OAAO,QAAQ,UAAU,OAAK,WAAW,CAAC,EAAE,OAAO,CAAC,KAAK;AAAA,EAE7D,GAAG,CAAC,cAAc,SAAS,MAAM,CAAC;AAElC,QAAM,CAAC,OAAO,GAAG,IAAI,aAAAA,QAAM,SAAS,KAAK;AAEzC,eAAAA,QAAM,UAAU,MAAM;AACpB,UAAM,cAAU,gBAAAC,SAAU,MAAM,IAAI,KAAK,GAAG,GAAG;AAE/C,WAAO,iBAAiB,UAAU,OAAO;AAEzC,WAAO,MAAM,OAAO,oBAAoB,UAAU,OAAO;AAAA,EAC3D,GAAG,CAAC,KAAK,CAAC;AAEV,SAAO;AACT;;;AC1BO,IAAM,IAAI,CAAC,WAChB,UAAU,QAAQ,MAAM,sBAAsB,IAAI;AAQ7C,IAAM,eAAe,CAAC,SAAe;AAC1C,MAAI,QAAQ,QAAQ;AAClB,WAAO,mBAAmB,IAAI;AAAA,EAChC;AAEA,MAAI,QAAQ,MAAM,IAAc,GAAG;AACjC,WAAO,GAAG,IAAI;AAAA,EAChB;AAEA,MAAI,SAAS,GAAG;AACd,WAAO;AAAA,EACT;AAEA,MAAI,MAAM;AACR,WAAO,GAAG,EAAE,IAAc,CAAC;AAAA,EAC7B;AACF;AAMO,IAAM,UAAU,CAAC,UAAkB,SAAmB;AAC3D,MAAI,QAAQ,SAAS,GAAG;AACtB,QAAI,MAAM,QAAQ,IAAI,GAAG;AACvB,YAAM,gBAAgB,KAAK,IAAI,cAAY;AACzC,eAAO,GAAG,QAAQ,KAAK,aAAa,QAAQ,CAAC;AAAA,MAC/C,CAAC;AAED,aAAO,mBAAmB,aAAa;AAAA,IACzC;AAEA,QAAI,OAAO,SAAS,UAAU;AAC5B,YAAM,kBAAuD,CAAC;AAE9D,aAAO,QAAQ,IAAI,EAAE;AAAA,QACnB,CAAC,CAAC,KAAK,KAAK,MAAO,gBAAgB,GAAG,IAAI,aAAa,KAAK;AAAA,MAC9D;AAEA,aAAO,oBAAoB,UAAU,eAAe;AAAA,IACtD;AAEA,WAAO,GAAG,QAAQ,KAAK,aAAa,IAAI,CAAC;AAAA,EAC3C;AACF;;;ACrDO,IAAM,cAAc,CACzB,WACA,YACA,gBACG,UAAU,SAAS,KAAK,UAAU,KAAK,WAAW;AAEhD,IAAM,qBAAqB,CAAC,WAAqB;AACtD,QAAM,qBAAqB,OAAO,OAAO,WAAW,EAAE,CAAC;AAEvD,QAAM,kBAAkB;AAAA,IACtB;AAAA,IACA;AAAA,IACA,OAAO,CAAC;AAAA,EACV;AAEA,QAAM,kBAAkB,OAAO,OAAO,CAAC,UAAU,OAAO,UAAU;AAChE,UAAM,aAAa,GAAG,OAAO,OAAO,WAAW,EAAE,KAAK,CAAC;AAEvD,WAAO,WAAW,YAAY,aAAa,YAAY,KAAK;AAAA,EAC9D,GAAG,EAAE;AAEL,SAAO,kBAAkB;AAC3B;AAKO,IAAM,sBAAsB,CACjC,UACA,QACG;AACH,QAAM,SAAS,CAAC;AAEhB,MAAI,SAAS,KAAK,OAAO,KAAK,GAAG,QAAQ,KAAK,IAAI,SAAS,CAAC,GAAG;AAE/D,SAAO,IAAI;AAEX,SAAO,QAAQ,GAAG,EAAE,QAAQ,CAAC,CAAC,KAAK,KAAK,MAAM;AAC5C,UAAM,aAAa,OAAO,cAAc,YAAY,GAAG,IAAI;AAE3D,WAAO,KAAK,qBAAqB,UAAU,MAAM,QAAQ,KAAK,KAAK,IAAI;AAAA,EACzE,CAAC;AAED,SAAO,OAAO,KAAK,GAAG;AACxB;AAEO,IAAM,qBAAqB,CAChC,UACA,eACG;AACH,MAAI,MAAM,QAAQ,UAAU,GAAG;AAC7B,UAAM,mBAAmB,WAAW,IAAI,oBAAkB;AACxD,aAAO,GAAG,QAAQ,KAAK,cAAc;AAAA,IACvC,CAAC;AAED,WAAO,mBAAmB,gBAAgB;AAAA,EAC5C;AAEA,MAAI,OAAO,eAAe,UAAU;AAClC,WAAO,oBAAoB,UAAU,UAAU;AAAA,EACjD;AAEA,SAAO,GAAG,QAAQ,KAAK,UAAU;AACnC;AAEO,IAAM,qBAAqB,CAChC,MACAC,gBACG;AACH,MAAI,MAAM;AACR,QAAI,MAAM,QAAQ,IAAI,GAAG;AACvB,YAAM,kBAAkB,CAAC;AAEzB,WAAK,IAAI,cAAY;AACnB,wBAAgB,KAAKA,YAAW,QAAQ,CAAC;AAAA,MAC3C,CAAC;AAED,aAAO,mBAAmB,eAAe,eAAe;AAAA,IAC1D;AAEA,WAAO,eAAeA,YAAW,IAAI,CAAC;AAAA,EACxC;AACF;AAEO,IAAM,uBAAuB,CAClC,UACA,YACA,iBACG;AACH,MAAI,MAAM,QAAQ,YAAY,GAAG;AAC/B,UAAM,qBAAqB,aAAa,IAAI,iBAAe;AACzD,YAAM,QAAQ,gBAAgB,OAAO,WAAW,CAAC,IAAI,WAAW,CAAC;AAEjE,aAAO,GAAG,QAAQ,KAAK,KAAK;AAAA,IAC9B,CAAC;AAED,WAAO,mBAAmB,kBAAkB;AAAA,EAC9C;AAEA,SAAO,GAAG,QAAQ,KAAK,WAAW,CAAC,CAAC;AACtC;AAEO,IAAM,sBAAsB,CACjC,UACA,WACG;AACH,MAAI,UAAU,WAAW,GAAG;AAC1B,QAAI,MAAM,QAAQ,MAAM,GAAG;AACzB,YAAM,gBAAgB,OAAO,IAAI,gBAAc;AAC7C,eAAO,GAAG,QAAQ,KAAK,UAAU;AAAA,MACnC,CAAC;AAED,aAAO,mBAAmB,aAAa;AAAA,IACzC;AAEA,QAAI,OAAO,WAAW,YAAY,CAAC,MAAM,QAAQ,MAAM,GAAG;AACxD,aAAO,oBAAoB,UAAU,MAAM;AAAA,IAC7C;AAEA,WAAO,GAAG,QAAQ,KAAK,MAAM;AAAA,EAC/B;AACF;AAGA,IAAM,mBAAmB,CAAC,YAAuB;AAC/C,MAAI,MAAM,QAAQ,OAAO,GAAG;AAC1B,WAAO,QAAQ,IAAI,YAAU,aAAa,MAAM,CAAC,EAAE,KAAK,GAAG;AAAA,EAC7D;AAEA,SAAO;AACT;AAEO,IAAM,uBAAuB,CAClC,YACG;AACH,MAAI,SAAS;AACX,QAAI,OAAO,YAAY,YAAY,CAAC,MAAM,QAAQ,OAAO,GAAG;AAC1D,YAAM,sBAAwC,CAAC;AAE/C,aAAO,QAAQ,OAAO,EAAE;AAAA,QACtB,CAAC,CAAC,KAAK,KAAK,MAAO,oBAAoB,GAAG,IAAI,iBAAiB,KAAK;AAAA,MACtE;AAEA,aAAO,oBAAoB,yBAAyB,mBAAmB;AAAA,IACzE;AAEA,WAAO,0BAA0B,iBAAiB,OAAO,CAAC;AAAA,EAC5D;AACF;AAEO,IAAM,4BAA4B,CACvC,cACA,gBACG;AACH,MAAI,cAAc;AAChB,QAAI,OAAO,iBAAiB,YAAY,CAAC,MAAM,QAAQ,YAAY,GAAG;AACpE,YAAM,0BAA0B,CAAC;AAEjC,aAAO,QAAQ,YAAY,EAAE;AAAA,QAC3B,CAAC,CAAC,KAAK,KAAK,MACT,wBAAwB,GAAG,IAAI,iBAAiB,KAAK;AAAA,MAC1D;AAEA,aAAO;AAAA,QACL,iBAAiB,WAAW;AAAA,QAC5B;AAAA,MACF;AAAA,IACF;AAEA,WAAO,iBAAiB,WAAW,KAAK,iBAAiB,YAAY,CAAC;AAAA,EACxE;AACF;AAEO,IAAM,QAAQ,CAAC,EAAE,UAAU,SAAS,QAAQ,aAAa,MAAM;AACpE,QAAM,QAAQ,SAAS,SAAS,QAAQ,YAAY;AAEpD,SAAO,SAAS,KAAK;AACvB;;;ACnLO,IAAM,cAAc,UACzB,QACA;AAAA,kCACgC,IAAI;AAAA,sCACA,IAAI;AAAA,4CACE,IAAI;AAAA;AAGzC,IAAM,YAAY,UACvB,QAAQ,mCAAmC,IAAI;AAE1C,IAAM,gBAAgB,gBAC3B,cAAc,qCAAqC,UAAU;AAExD,IAAM,YAAY,UACvB,QAAQ,gCAAgC,IAAI;AAEvC,IAAM,eAAe,CAAC,OAAO,aAAa;AAC/C,QAAM,aAAa,QAAQ,QAAQ,cAAc,WAAW;AAE5D,SAAO,cAAc,WAAW,WAAW,EAAE,cAAc,UAAU;AACvE;AAIO,IAAM,qBAAqB,WAAS;AACzC,QAAM,aAAa,QAAQ,QAAQ,cAAc,WAAW;AAE5D,SAAO;AAAA,uBACc,UAAU;AAAA;AAAA;AAGjC;AAEO,IAAM,mBAAmB,SAAO;AACrC,MAAI,QAAQ,QAAQ,QAAQ,MAAM;AAChC,WAAO;AAAA;AAAA;AAAA;AAAA;AAAA,EAKT;AACF;AAEO,IAAM,eAAe,CAAC,WAAW,cAAc;AACpD,QAAM,kBAAkB;AAAA,IACtB,QAAQ;AAAA,MACN,QAAQ;AAAA,MACR,KAAK,iBAAiB,SAAS;AAAA,MAC/B,UAAU;AAAA,IACZ;AAAA,IACA,QAAQ;AAAA,MACN,QAAQ;AAAA,MACR,KAAK;AAAA,MACL,UAAU;AAAA,IACZ;AAAA,IACA,WAAW;AAAA,MACT,QAAQ;AAAA,MACR,KAAK;AAAA,MACL,UAAU;AAAA,IACZ;AAAA,EACF;AAEA,SAAO,gBAAgB,SAAS;AAClC;;;ACnEO,IAAM,wBAAwB,CAAC,WAA2B;AAC/D,SAAO,OACJ,QAAQ,sBAAsB,OAAO,EACrC,QAAQ,WAAW,GAAG,EACtB,YAAY;AACjB;;;ACHO,IAAM,OAAO;AAEb,IAAM,YAAY;AAAA,EACvB,OAAO;AAAA,IACL,UAAU;AAAA,IACV,YAAY;AAAA,IACZ,eAAe;AAAA,EACjB;AAAA,EACA,WAAW;AAAA,IACT,UAAU;AAAA,IACV,YAAY;AAAA,IACZ,eAAe;AAAA,EACjB;AAAA,EACA,QAAQ;AAAA,IACN,UAAU;AAAA,IACV,YAAY;AAAA,IACZ,eAAe;AAAA,EACjB;AAAA,EACA,WAAW;AAAA,IACT,UAAU;AAAA,IACV,YAAY;AAAA,IACZ,eAAe;AAAA,EACjB;AAAA,EACA,OAAO;AAAA,IACL,UAAU;AAAA,IACV,YAAY;AAAA,IACZ,eAAe;AAAA,EACjB;AAAA,EACA,WAAW;AAAA,IACT,UAAU;AAAA,IACV,YAAY;AAAA,IACZ,eAAe;AAAA,EACjB;AAAA,EACA,QAAQ;AAAA,IACN,UAAU;AAAA,IACV,YAAY;AAAA,IACZ,eAAe;AAAA,EACjB;AAAA,EACA,cAAc;AAAA,IACZ,UAAU;AAAA,IACV,YAAY;AAAA,IACZ,eAAe;AAAA,EACjB;AAAA,EACA,SAAS;AAAA,IACP,UAAU;AAAA,IACV,YAAY;AAAA,IACZ,eAAe;AAAA,EACjB;AAAA,EACA,cAAc;AAAA,IACZ,UAAU;AAAA,IACV,YAAY;AAAA,IACZ,eAAe;AAAA,EACjB;AAAA,EACA,UAAU;AAAA,IACR,UAAU;AAAA,IACV,YAAY;AAAA,IACZ,eAAe;AAAA,EACjB;AAAA,EACA,cAAc;AAAA,IACZ,UAAU;AAAA,IACV,YAAY;AAAA,IACZ,eAAe;AAAA,EACjB;AACF;AAGO,IAAM,cAAc;AAAA,EACzB,MAAM;AAAA,EACN,SAAS;AAAA,EACT,QAAQ;AAAA,EACR,MAAM;AACR;AAEO,IAAM,QAAQ;AAAA,EACnB,MAAM,EAAE,CAAC;AAAA,EACT,IAAI,EAAE,GAAG;AAAA,EACT,KAAK,EAAE,CAAC;AAAA,EACR,QAAQ,EAAE,CAAC;AAAA,EACX,KAAK,EAAE,GAAG;AAAA,EACV,KAAK,EAAE,IAAI;AAAA,EACX,KAAK,EAAE,CAAC;AAAA,EACR,OAAO,EAAE,CAAC;AAAA,EACV,KAAK,EAAE,GAAG;AAAA,EACV,KAAK,EAAE,CAAC;AAAA,EACR,QAAQ,EAAE,CAAC;AAAA,EACX,OAAO,EAAE,GAAG;AAAA,EACZ,MAAM,EAAE,GAAG;AACb;AAEO,IAAM,UAAU;AAAA,EACrB,OAAO,KAAK,EAAE,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC;AAAA,EAC7B,QAAQ,KAAK,EAAE,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC;AAAA,EAC9B,OAAO,KAAK,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;AAC7B;AAEO,IAAM,SAAS;AAAA,EACpB,QAAQ;AAAA,EACR,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,SAAS;AACX;AAGO,IAAM,cAAc;AAAA,EACzB,QAAQ;AAAA,EACR,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,OAAO;AACT;AAGO,IAAM,YAAY;AAAA,EACvB,cACE;AAAA,EACF,gBACE;AACJ;;;ACxHA,oBAAmB;AACnB,IAAAC,gBAAkB;;;ACDX,IAAM,yBAAyB;AAC/B,IAAM,sBAAsB;AAC5B,IAAM,8BAA8B;AACpC,IAAM,0BAA0B;;;ADKhC,IAAM,YAAY;AASlB,IAAM,WAA0B;AAAA,EACrC,MAAM;AAAA,IACJ,MAAM;AAAA,IACN,YAAY;AAAA,EACd;AAAA,EACA,OAAO;AAAA,IACL,MAAM;AAAA,IACN,YAAY;AAAA,EACd;AAAA,EACA,WAAW;AAAA,IACT,MAAM;AAAA,IACN,YAAY;AAAA,EACd;AACF;AAEA,IAAM,gBAAgB,UAAQ,UAAU,IAAI,EAAE,WAAW;AAEzD,IAAM,kBAAkB,UAAQ,EAAE,UAAU,IAAI,EAAE,QAAQ;AAEnD,IAAM,iBAAiB,UAC5B,UAAU,IAAI,EAAE,WAAW,UAAU,IAAI,EAAE,aAAa;AAE1D,IAAM,eAAe,CAAC,SAAS,SAAS,WAAW,cAAc;AAC/D,QAAM,SAAS,UAAU,YAAY,YAAY;AACjD,QAAM,oBAAoB,CAAC,YAAY,QAAQ;AAE/C,SAAO,GAAG,iBAAiB,QAAQ,QAAQ,GAAG;AAChD;AAEA,IAAM,cAAc,cAAAC,QAAO;AAAA,aACd,WAAU,MAAM,WAAW,WAAW,OAAQ;AAAA,IACvD,WAAS,CAAC,MAAM,cAAc,YAAY,MAAM,IAAI,CAAC;AAAA,IACrD,WAAS,cAAc,MAAM,UAAU,CAAC;AAAA,IACxC,WAAS,MAAM,SAAS,UAAU,cAAc,MAAM,KAAK,CAAC,EAAE;AAAA,IAC9D,WAAS,MAAM,YAAY,YAAY,SAAS,EAAE;AAAA,IAClD,WAAS,MAAM,aAAa,eAAe,MAAM,SAAS,EAAE;AAAA,IAC5D,WACA,MAAM,eACN,CAAC,MAAM,iBACP;AAAA;AAAA;AAAA;AAAA,GAID;AAAA,IACC,WACA,MAAM,eACN,MAAM,iBACN;AAAA;AAAA;AAAA;AAAA,0BAIsB,MAAM,aAAa;AAAA,GAC1C;AAAA,IACC,WACA,CAAC,MAAM,eACP,MAAM,UACN,wCAAwC;AAAA,IACxC,WACA,MAAM,cACN;AAAA;AAAA;AAAA,QAGI,gBAAgB,MAAM,WAAW,CAAC,CAAC,CAAC;AAAA,QACpC;AAAA,EACA,cAAc,MAAM,WAAW,CAAC,CAAC;AAAA,EACjC,cAAc,MAAM,WAAW,CAAC,CAAC;AAAA,EACjC;AAAA,EACA;AACF,CAAC;AAAA,QACC,gBAAgB,MAAM,WAAW,CAAC,CAAC,CAAC;AAAA;AAAA;AAAA;AAAA,QAIpC,eAAe,MAAM,WAAW,CAAC,CAAC,CAAC;AAAA,QACnC;AAAA,EACA,eAAe,MAAM,WAAW,CAAC,CAAC;AAAA,EAClC,eAAe,MAAM,WAAW,CAAC,CAAC;AAAA,EAClC;AAAA,EACA;AACF,CAAC;AAAA,QACC,eAAe,MAAM,WAAW,CAAC,CAAC,CAAC;AAAA;AAAA,GAExC;AAAA;AAGH,IAAM,OAAO,CAAC,OAoBN;AApBM,eACZ;AAAA;AAAA,IACA,OAAO;AAAA,IACP;AAAA,IACA;AAAA,IACA;AAAA,IACA,aAAa;AAAA,IACb;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,UAAU;AAAA,IACV;AAAA,IACA;AAAA,EAnHF,IAsGc,IAcT,kBAdS,IAcT;AAAA,IAbH;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAQA,MAAI,UAAU;AAEZ,YAAQ,KAAK,sBAAsB;AAAA,EACrC;AAGA,MAAI,KAAK,SAAS,UAAU,GAAG;AAC7B,iBAAa;AAAA,EACf;AAEA,SACE,8BAAAC,QAAA;AAAA,IAAC;AAAA;AAAA,MACC,MAAM,UAAU,SAAS,OAAO,EAAE,OAAO;AAAA,MACzC;AAAA,MACA;AAAA,MACA;AAAA,MACA,YAAY,UAAU,SAAS,OAAO,EAAE,aAAa;AAAA,MACrD;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,IAAI;AAAA,MACJ;AAAA,MACA;AAAA,OACI;AAAA,IAEH;AAAA,EACH;AAEJ;AAoBO,IAAM,aAAa,CAAC,QAAQ,SAAS,QAAQ;AAwBpD,IAAO,eAAQ;;;AE/Lf,IAAM,QAAQ,CAAC,OAAO,UAAU,QAAQ,OAAO;AAE/C,IAAM,iBAAiB,iBAAE,GAAG,OAAQ;AAEpC,IAAM,wBAAwB,iBAAE,GAAG,KAAK,MAAM,UAAW;AAElD,IAAM,aAAa,YAAY,IAAI,gBAAc;AACtD,SAAO;AAAA,IACL,UAAU;AAAA,IACV,UAAU;AAAA,IACV,cAAc;AAAA,MACZ;AAAA,QACE,UAAU;AAAA,QACV,OAAO,mBAAmB,UAAU;AAAA,MACtC;AAAA,IACF;AAAA,EACF;AACF,CAAC;AAEM,IAAM,uBAAuB,YAAY,IAAI,gBAAc;AAChE,SAAO;AAAA,IACL,UAAU;AAAA,IACV,UAAU;AAAA,IACV,cAAc;AAAA,MACZ;AAAA,QACE,UAAU;AAAA,QACV,OAAO,mBAAmB,UAAU;AAAA,MACtC;AAAA,IACF;AAAA,EACF;AACF,CAAC;AAEM,IAAM,gBAAgB,OAAO,KAAK,SAAS,EAAE,IAAI,UAAQ;AAC9D,SAAO;AAAA,IACL,UAAU;AAAA,IACV,UAAU;AAAA,IACV,cAAc;AAAA,MACZ;AAAA,QACE,UAAU;AAAA,QACV,OAAO,sBAAsB,IAAI;AAAA,MACnC;AAAA,MACA;AAAA,QACE,UAAU;AAAA,QACV,OAAO,wBAAwB,IAAI;AAAA,MACrC;AAAA,MACA;AAAA,QACE,UAAU;AAAA,QACV,OAAO,2BAA2B,IAAI;AAAA,MACxC;AAAA,MACA,KAAK,SAAS,UAAU,KAAK,KAAK,SAAS,QAAQ,IAC/C;AAAA,QACE,UAAU;AAAA,QACV,OAAO;AAAA,MACT,IACA;AAAA,QACE,UAAU;AAAA,QACV,OAAO;AAAA,MACT;AAAA,IACN;AAAA,EACF;AACF,CAAC;AAEM,IAAM,kBAAkB,OAAO,KAAK,WAAW,EAAE,IAAI,gBAAc;AACxE,SAAO;AAAA,IACL,UAAU;AAAA,IACV,UAAU;AAAA,IACV,cAAc;AAAA,MACZ;AAAA,QACE,UAAU;AAAA,QACV,OAAO,wBAAwB,UAAU;AAAA,MAC3C;AAAA,IACF;AAAA,EACF;AACF,CAAC;AAEM,IAAM,mBAAmB,OAAO,QAAQ,QAAQ,EAAE,IAAI,CAAC,CAAC,KAAK,KAAK,MAAM;AAC7E,SAAO;AAAA,IACL,UAAU;AAAA,IACV,UAAU;AAAA,IACV,cAAc;AAAA,MACZ;AAAA,QACE,UAAU;AAAA,QACV,OAAO,sBAAsB,MAAM,IAAI;AAAA,MACzC;AAAA,MACA;AAAA,QACE,UAAU;AAAA,QACV,OAAO,wBAAwB,MAAM,IAAI;AAAA,MAC3C;AAAA,MACA;AAAA,QACE,UAAU;AAAA,QACV,OAAO,wBAAwB,MAAM,UAAU;AAAA,MACjD;AAAA,IACF;AAAA,EACF;AACF,CAAC;AAEM,IAAM,qBAAqB,WAAW,IAAI,eAAa;AAC5D,SAAO;AAAA,IACL,UAAU;AAAA,IACV,UAAU;AAAA,IACV,cAAc;AAAA,MACZ;AAAA,QACE,UAAU;AAAA,QACV,OAAO;AAAA,MACT;AAAA,IACF;AAAA,EACF;AACF,CAAC;AAEM,IAAM,cAAc,OAAO,KAAK,OAAO,EAAE,IAAI,YAAU;AAC5D,SAAO;AAAA,IACL,UAAU;AAAA,IACV,UAAU;AAAA,IACV,cAAc;AAAA,MACZ;AAAA,QACE,UAAU;AAAA,QACV,OAAO,oBAAoB,MAAM;AAAA,MACnC;AAAA,IACF;AAAA,EACF;AACF,CAAC;AAEM,IAAM,aAAa,OAAO,KAAK,KAAK,EAAE,IAAI,YAAU;AACzD,SAAO;AAAA,IACL,UAAU;AAAA,IACV,UAAU;AAAA,IACV,cAAc;AAAA,MACZ;AAAA,QACE,UAAU;AAAA,QACV,OAAO,oBAAoB,MAAM;AAAA,MACnC;AAAA,IACF;AAAA,EACF;AACF,CAAC;AAEM,IAAM,sBAAsB,CAAC,UAAUC,QAAOC,SAAQ,eAAe;AAC1E,QAAM,SAAS,CAAC;AAEhB,EAAAD,OAAM,IAAI,UAAQ;AAChB,UAAM,aAAa,aACf,GAAG,SAAS,OAAO,CAAC,CAAC,GAAG,KAAK,OAAO,CAAC,CAAC,KACtC;AAEJ,WAAO,KAAKC,OAAM,EAAE,IAAI,WAAS;AAC/B,aAAO,KAAK;AAAA,QACV,UAAU;AAAA,QACV,UAAU,GAAG,QAAQ,GACnB,QAAQ,WAAW,IAAI,IAAI,KAAK,OAAO,OAAO,EAChD;AAAA,QACA,UAAU;AAAA,QACV,OACE,UAAU,UAAU,UAAU,MAC1B,QACA,mBAAmB,KAAK;AAAA,MAChC,CAAC;AAAA,IACH,CAAC;AAAA,EACH,CAAC;AAED,SAAO;AACT;AAEO,IAAM,cAAc,OAAO;AAAA,EAChC;AAAA,IACE;AAAA,IACA,CAAC,IAAI,GAAG,KAAK;AAAA,IACb;AAAA,IACA;AAAA,EACF;AACF,EAAE,IAAI,mBAAiB;AACrB,SAAO;AAAA,IACL,UAAU,cAAc;AAAA,IACxB,UAAU,cAAc;AAAA,IACxB,cAAc;AAAA,MACZ;AAAA,QACE,UAAU,cAAc;AAAA,QACxB,OAAO,cAAc;AAAA,MACvB;AAAA,IACF;AAAA,EACF;AACF,CAAC;AAEM,IAAM,mBAAmB,OAAO;AAAA,EACrC,oBAAoB,UAAU,CAAC,KAAK,GAAG,GAAG,uBAAuB,YAAY;AAC/E,EAAE,IAAI,mBAAiB;AACrB,SAAO;AAAA,IACL,UAAU,cAAc;AAAA,IACxB,UAAU,cAAc;AAAA,IACxB,cAAc;AAAA,MACZ;AAAA,QACE,UACE,cAAc,aAAa,aAAa,gBAAgB;AAAA,QAC1D,OAAO,cAAc;AAAA,MACvB;AAAA,MACA;AAAA,QACE,UACE,cAAc,aAAa,aACvB,iBACA;AAAA,QACN,OAAO,cAAc;AAAA,MACvB;AAAA,IACF;AAAA,EACF;AACF,CAAC;AAEM,IAAM,eAAe,OAAO;AAAA,EACjC,oBAAoB,WAAW,CAAC,IAAI,GAAG,KAAK,GAAG,gBAAgB,YAAY;AAC7E,EAAE,IAAI,mBAAiB;AACrB,SAAO;AAAA,IACL,UAAU,cAAc;AAAA,IACxB,UAAU,cAAc;AAAA,IACxB,cAAc;AAAA,MACZ;AAAA,QACE,UAAU,cAAc;AAAA,QACxB,OAAO,cAAc;AAAA,MACvB;AAAA,IACF;AAAA,EACF;AACF,CAAC;AAEM,IAAM,oBAAoB,OAAO;AAAA,EACtC,oBAAoB,WAAW,CAAC,KAAK,GAAG,GAAG,gBAAgB,YAAY;AACzE,EAAE,IAAI,mBAAiB;AACrB,SAAO;AAAA,IACL,UAAU,cAAc;AAAA,IACxB,UAAU,cAAc;AAAA,IACxB,cAAc;AAAA,MACZ;AAAA,QACE,UACE,cAAc,aAAa,cACvB,iBACA;AAAA,QACN,OAAO,cAAc;AAAA,MACvB;AAAA,MACA;AAAA,QACE,UACE,cAAc,aAAa,cACvB,kBACA;AAAA,QACN,OAAO,cAAc;AAAA,MACvB;AAAA,IACF;AAAA,EACF;AACF,CAAC;AAEM,IAAM,cAAc,CAAC,IAAI,GAAG,KAAK,EAAE,IAAI,UAAQ;AACpD,QAAM,WACJ,WAAW,KAAK,QAAQ,KAAK,OAAO,CAAC,GAAG,KAAK,OAAO,CAAC,EAAE,YAAY,CAAC;AAEtE,QAAM,WAAW,SAAS,QAAQ,IAAI,IAAI,EAAE;AAE5C,SAAO;AAAA,IACL;AAAA,IACA,cAAc;AAAA,MACZ;AAAA,QACE;AAAA,QACA,OAAO;AAAA,MACT;AAAA,IACF;AAAA,EACF;AACF,CAAC;AAED,IAAM,iBAAiB;AAAA,EACrB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAEO,IAAM,eAAe,eAAe,IAAI,mBAAiB;AAC9D,SAAO;AAAA,IACL,UAAU;AAAA,IACV,cAAc;AAAA,MACZ;AAAA,QACE,UAAU;AAAA,QACV,OAAO,sBAAsB,aAAa;AAAA,MAC5C;AAAA,IACF;AAAA,EACF;AACF,CAAC;AAEM,IAAM,gBAAgB;AAAA,EAC3B;AAAA,IACE,UAAU;AAAA,IACV,cAAc;AAAA,MACZ;AAAA,QACE,UAAU;AAAA,QACV,OAAO;AAAA,MACT;AAAA,IACF;AAAA,EACF;AACF;AAEA,IAAM,iBAAiB,CAAC,UAAU,KAAK;AAEhC,IAAM,qBAAqB,eAAe,IAAI,mBAAiB;AACpE,SAAO;AAAA,IACL,UAAU;AAAA,IACV,UAAU;AAAA,IACV,cAAc;AAAA,MACZ;AAAA,QACE,UAAU;AAAA,QACV,OAAO;AAAA,MACT;AAAA,IACF;AAAA,EACF;AACF,CAAC;AAED,IAAM,kBAAkB;AAAA,EACtB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAEO,IAAM,gBAAgB,gBAAgB,IAAI,oBAAkB;AACjE,SAAO;AAAA,IACL,UAAU;AAAA,IACV,UAAU;AAAA,IACV,cAAc;AAAA,MACZ;AAAA,QACE,UAAU;AAAA,QACV,OAAO,sBAAsB,cAAc;AAAA,MAC7C;AAAA,IACF;AAAA,EACF;AACF,CAAC;AAED,IAAM,wBAAwB;AAAA,EAC5B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAEO,IAAM,sBAAsB,sBAAsB;AAAA,EACvD,0BAAwB;AACtB,WAAO;AAAA,MACL,UAAU;AAAA,MACV,UAAU;AAAA,MACV,cAAc;AAAA,QACZ;AAAA,UACE,UAAU;AAAA,UACV,OAAO,sBAAsB,oBAAoB;AAAA,QACnD;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACF;AAEA,IAAM,cAAc,CAAC,KAAK,GAAG;AAEtB,IAAM,YAAY,YAAY,IAAI,gBAAc;AACrD,SAAO;AAAA,IACL,UAAU;AAAA,IACV,UAAU;AAAA,IACV,cAAc;AAAA,MACZ;AAAA,QACE,UAAU;AAAA,QACV,OAAO;AAAA,MACT;AAAA,IACF;AAAA,EACF;AACF,CAAC;AAED,IAAM,gBAAgB,CAAC,KAAK,GAAG;AAExB,IAAM,cAAc,cAAc,IAAI,kBAAgB;AAC3D,SAAO;AAAA,IACL,UAAU;AAAA,IACV,UAAU;AAAA,IACV,cAAc;AAAA,MACZ;AAAA,QACE,UAAU;AAAA,QACV,OAAO;AAAA,MACT;AAAA,IACF;AAAA,EACF;AACF,CAAC;AAED,IAAM,mBAAmB;AAAA,EACvB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAEO,IAAM,iBAAiB,iBAAiB,IAAI,qBAAmB;AACpE,SAAO;AAAA,IACL,UAAU;AAAA,IACV,UAAU;AAAA,IACV,cAAc;AAAA,MACZ;AAAA,QACE,UAAU;AAAA,QACV,OAAO,sBAAsB,eAAe;AAAA,MAC9C;AAAA,IACF;AAAA,EACF;AACF,CAAC;AAED,IAAM,kBAAkB,CAAC,UAAU,MAAM;AAElC,IAAM,gBAAgB,gBAAgB,IAAI,oBAAkB;AACjE,SAAO;AAAA,IACL,UAAU;AAAA,IACV,UAAU;AAAA,IACV,cAAc;AAAA,MACZ;AAAA,QACE,UAAU;AAAA,QACV,OAAO;AAAA,MACT;AAAA,IACF;AAAA,EACF;AACF,CAAC;AAED,IAAM,kBAAkB,CAAC,YAAY,YAAY,UAAU,OAAO;AAE3D,IAAM,gBAAgB,gBAAgB,IAAI,oBAAkB;AACjE,SAAO;AAAA,IACL,UAAU;AAAA,IACV,cAAc;AAAA,MACZ;AAAA,QACE,UAAU;AAAA,QACV,OAAO;AAAA,MACT;AAAA,IACF;AAAA,EACF;AACF,CAAC;AAEM,IAAM,oBAAoB,OAAO;AAAA,EACtC,oBAAoB,IAAI,OAAO,qBAAqB;AACtD,EAAE,IAAI,mBAAiB;AACrB,SAAO;AAAA,IACL,UAAU,cAAc;AAAA,IACxB,UAAU,cAAc;AAAA,IACxB,cAAc;AAAA,MACZ;AAAA,QACE,UAAU,cAAc;AAAA,QACxB,OAAO,cAAc;AAAA,MACvB;AAAA,IACF;AAAA,EACF;AACF,CAAC;AAED,IAAM,eAAe,CAAC,QAAQ,QAAQ,GAAG;AAElC,IAAM,aAAa,aAAa,IAAI,iBAAe;AACxD,SAAO;AAAA,IACL,UAAU;AAAA,IACV,UAAU;AAAA,IACV,cAAc;AAAA,MACZ;AAAA,QACE,UAAU;AAAA,QACV,OAAO,gBAAgB,SAAS,SAAS;AAAA,MAC3C;AAAA,IACF;AAAA,EACF;AACF,CAAC;AAEM,IAAM,gBAAgB;AAAA,EAC3B;AAAA,IACE,UAAU;AAAA,IACV,UAAU;AAAA,IACV,cAAc;AAAA,MACZ;AAAA,QACE,UAAU;AAAA,QACV,OAAO;AAAA,MACT;AAAA,IACF;AAAA,EACF;AACF;AAEA,IAAM,gBAAgB,CAAC,QAAQ,QAAQ,GAAG;AAEnC,IAAM,cAAc,cAAc,IAAI,kBAAgB;AAC3D,SAAO;AAAA,IACL,UAAU;AAAA,IACV,UAAU;AAAA,IACV,cAAc;AAAA,MACZ;AAAA,QACE,UAAU;AAAA,QACV,OAAO,iBAAiB,SAAS,SAAS;AAAA,MAC5C;AAAA,IACF;AAAA,EACF;AACF,CAAC;AAEM,IAAM,gBAAgB;AAAA,EAC3B;AAAA,IACE,UAAU;AAAA,IACV,cAAc;AAAA,MACZ;AAAA,QACE,UAAU;AAAA,QACV,OAAO;AAAA,MACT;AAAA,MACA;AAAA,QACE,UAAU;AAAA,QACV,OAAO;AAAA,MACT;AAAA,MACA;AAAA,QACE,UAAU;AAAA,QACV,OAAO;AAAA,MACT;AAAA,IACF;AAAA,EACF;AACF;AAEO,IAAM,qBAAqB;AAAA,EAChC;AAAA,IACE,UAAU;AAAA,IACV,cAAc;AAAA,MACZ,EAAE,UAAU,YAAY,OAAO,WAAW;AAAA,MAC1C,EAAE,UAAU,SAAS,OAAO,MAAM;AAAA,MAClC,EAAE,UAAU,UAAU,OAAO,MAAM;AAAA,MACnC,EAAE,UAAU,WAAW,OAAO,IAAI;AAAA,MAClC,EAAE,UAAU,UAAU,OAAO,OAAO;AAAA,MACpC,EAAE,UAAU,YAAY,OAAO,SAAS;AAAA,MACxC,EAAE,UAAU,QAAQ,OAAO,mBAAmB;AAAA,MAC9C,EAAE,UAAU,eAAe,OAAO,SAAS;AAAA,MAC3C,EAAE,UAAU,gBAAgB,OAAO,IAAI;AAAA,IACzC;AAAA,EACF;AACF;;;ACrfA,IAAM,YAAY;AAElB,IAAM,WAAW;AAAA,EACf,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AACL;AAEO,IAAM,kBAAkB,CAAC,OAAO,WAAW;AAChD,QAAM,SAAS,CAAC;AAChB,QAAM,eAAe,SAAS,GAAG,MAAM,MAAM;AAE7C,QAAM,IAAI,UAAQ;AAChB,UAAM,eAAe,CAAC;AAEtB,SAAK,aAAa,IAAI,iBAAe;AACnC,mBAAa,KAAK,GAAG,YAAY,QAAQ,IAAI,YAAY,KAAK,EAAE;AAAA,IAClE,CAAC;AAED,UAAM,SAAS,IAAI,YAAY,GAAG,KAAK,QAAQ,GAC7C,KAAK,WAAW,YAAY,EAC9B,GAAG,KAAK,WAAW,KAAK,WAAW,EAAE,IAAI,aAAa,KAAK,GAAG,CAAC;AAE/D,WAAO,KAAK,MAAM;AAAA,EACpB,CAAC;AAED,SAAO,OAAO,KAAK,EAAE;AACvB;AAEO,IAAM,mBAAmB;AAAA,EAC9B,IAAI,YAAY;AAAA,EAChB,IAAI,YAAY;AAAA,EAChB,IAAI,YAAY;AAAA,EAChB,IAAI,YAAY;AAClB;AAEO,IAAM,eAAe,MAAM;AAChC,QAAM,qBAAqB,MAAM;AAC/B,UAAM,SAAS,CAAC;AAEhB,WAAO,KAAK,GAAG,gBAAgB,QAAQ,CAAC,EAAE;AAE1C,WAAO,QAAQ,gBAAgB,EAAE,IAAI,CAAC,CAAC,KAAK,KAAK,MAAM;AACrD,aAAO;AAAA,QACL,oBAAoB,KAAK,KAAK,gBAAgB,UAAU,GAAG,CAAC;AAAA,MAC9D;AAAA,IACF,CAAC;AAED,WAAO,OAAO,KAAK,EAAE;AAAA,EACvB;AAEA,SAAO,mBAAmB;AAC5B;;;ACjGO,IAAM,uBAAuB,CAClC,QACA,eACe;AACf,QAAM,YAAY,CAAC;AAEnB,SAAO,QAAQ,UAAU,EAAE,QAAQ,CAAC,CAAC,SAAS,QAAQ,MAAM;AAC1D,UAAM,aAAa,SAAS,GAAG,MAAM,MAAM;AAC3C,UAAM,QAAQ,SAAS,aAAa,OAAO;AAE3C,cAAU,KAAK,IAAI;AAAA,EACrB,CAAC;AAED,SAAO;AACT;AAEA,IAAM,qBAAqB,MAAkB;AAC3C,QAAM,YAAY,CAAC;AAEnB,SAAO,QAAQ,SAAS,EAAE,QAAQ,CAAC,CAAC,aAAa,aAAa,MAAM;AAClE,UAAM,eAAe,CAAC;AACtB,UAAM,iBAAiB,CAAC;AACxB,UAAM,mBAAmB,CAAC;AAC1B,UAAM,gBAAgB,YAAY,WAAW;AAC7C,UAAM,kBAAkB,cAAc,WAAW;AACjD,UAAM,qBAAqB,iBAAiB,WAAW;AAEvD,iBAAa,aAAa,IAAI,EAAE,cAAc,QAAQ;AACtD,iBAAa,eAAe,IAAI,cAAc;AAC9C,iBAAa,kBAAkB,IAAI,cAAc;AAEjD,WAAO,OAAO,WAAW,cAAc,gBAAgB,gBAAgB;AAAA,EACzE,CAAC;AAED,SAAO;AACT;AAEA,IAAM,kBAAkB,MAAkB;AACxC,QAAM,YAAY,CAAC;AAEnB,SAAO,QAAQ,MAAM,EAAE,QAAQ,CAAC,CAAC,WAAW,UAAU,MAAM;AAC1D,UAAM,QAAQ,SAAS,SAAS;AAEhC,cAAU,KAAK,IAAI,EAAE,UAAU;AAAA,EACjC,CAAC;AAED,SAAO;AACT;AAEA,IAAM,kBAAkB,MAAkB;AACxC,QAAM,eAAe,CAAC;AAEtB,SAAO,KAAK,kCAAK,iBAAmB,UAAW,EAAE,QAAQ,UAAQ;AAC/D,UAAM,QAAQ;AAEd,iBAAa,KAAK,IAChB,QAAQ,WAAW,IAAI,EAAE,CAAC,IAAI,WAAW,IAAI,EAAE,CAAC,KAAK,WAAW,IAAI,EAAE,CAAC,KAAK,WAAW,IAAI,EAAE,CAAC;AAAA,EAClG,CAAC;AAED,SAAO;AACT;AAEA,IAAM,uBAAuB,MAAkB;AAC7C,QAAM,UAAU,CAAC,QAAQ,WACvB,OAAO,KAAK,MAAM,EAAE,OAAO,CAAC,aAAa,SAAS;AAChD,UAAM,QAAQ,OAAO,IAAI;AACzB,UAAM,QAAQ,GAAG,MAAM,UAAU,IAAI;AAErC,gBAAY,KAAK,IAAI,MAAM,MACvB,OAAO,MAAM,GAAG,UAAU,MAAM,CAAC,IAAI,MAAM,CAAC,KAAK,MAAM,CAAC,KAAK,MAAM,CAAC,OACpE,QAAQ,MAAM,CAAC,IAAI,MAAM,CAAC,KAAK,MAAM,CAAC,KAAK,MAAM,CAAC;AAEtD,WAAO;AAAA,EACT,GAAG,CAAC,CAAC;AAEP,SAAO,kCACF,QAAQ,YAAY,OAAO,YAAY,IACvC,QAAQ,YAAY,MAAM,WAAW;AAE5C;AAEO,IAAM,gBAAgB,qBAAqB,QAAW;AAAA,EAC3D,MAAM,GAAG,OAAO,EAAE;AACpB,CAAC;AAEM,IAAM,sBAAsB;AAAA,EACjC;AAAA,EACA;AACF;AAEO,IAAM,oBAAoB;AAAA,EAC/B;AAAA,EACA,mBAAmB;AACrB;AAEO,IAAM,kBAAkB,qBAAqB,UAAU,KAAK;AAE5D,IAAM,kBAAkB,qBAAqB,UAAU,OAAO;AAE9D,IAAM,iBAAiB;AAAA,EAC5B;AAAA,EACA,gBAAgB;AAClB;AAEO,IAAM,qBAAqB,qBAAqB,QAAW;AAAA,EAChE,sBAAsB;AAAA,EACtB,2BAA2B;AAAA,EAC3B,iBAAiB,EAAE,GAAG;AAAA,EACtB,iBAAiB;AAAA,EACjB,4BAA4B,EAAE,CAAC;AAAA,EAC/B,uBAAuB;AAAA;AAAA;AAAA,EAGvB,4BAA4B;AAAA;AAAA;AAAA;AAAA,EAI5B,4BAA4B;AAAA;AAAA;AAAA;AAI9B,CAAC;AAED,IAAM,iBAAiB,qBAAqB,SAAS,gBAAgB,CAAC;AAEtE,IAAM,sBAAsB;AAAA,EAC1B;AAAA,EACA,qBAAqB;AACvB;AAEO,IAAM,oBAAoB,qBAAqB,YAAY,SAAS;AAE3E,IAAM,kBAAkB;AAAA,EACtB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAEO,IAAM,kCAAkC,MAAkB;AAC/D,SAAO,OAAO,OAAO,CAAC,GAAG,GAAG,eAAe;AAC7C;AAEO,IAAM,4BAA4B,MAAkB;AACzD,SAAO,OAAO,OAAO,CAAC,GAAG,qBAAqB,GAAG,eAAe;AAClE;AAEO,IAAM,yBAAyB,MAAkB;AACtD,SAAO,iDACF,iBACA,sBACA;AAEP;AAEA,IAAM,yBAAyB,MAAM;AACnC,SAAO,OAAO,KAAK,YAAY,KAAK,EAAE;AAAA,IACpC,WAAS,eAAe,KAAK,gCAAgC,KAAK;AAAA,EACpE;AACF;AACA,IAAM,wBAAwB,MAAM;AAClC,SAAO,OAAO,KAAK,YAAY,IAAI,EAAE;AAAA,IACnC,WAAS,eAAe,KAAK,+BAA+B,KAAK;AAAA,EACnE;AACF;AAEO,IAAM,uBAAuB,CAAC,oBAAoB,YAAY;AACnE,QAAM,cAAc,qBAAqB;AAEzC,SAAO;AAAA,MACH,WAAW;AAAA;AAAA;AAAA,QAGT,uBAAuB,EAAE,KAAK,EAAE,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA,QAKjC,sBAAsB,EAAE,KAAK,EAAE,CAAC;AAAA;AAAA;AAGxC;AAEO,IAAM,iBAAiB,MAAM;AAClC,QAAM,QAAQ,SAAS,cAAc,OAAO;AAE5C,QAAM,YAAY,qBAAqB;AACvC,WAAS,KAAK,YAAY,KAAK;AACjC;AAEO,IAAM,+BAA+B,MAAM;AAChD,QAAM,SAAS,OAAO,QAAQ,gCAAgC,CAAC,EAAE;AAAA,IAC/D,YAAU,GAAG,OAAO,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC;AAAA,EACrC;AAEA,SAAO,OAAO,KAAK,EAAE;AACvB;AAEO,IAAM,sBAAsB,uBAAqB;AACtD,QAAM,SAAS,CAAC;AAChB,QAAM,cAAc,qBAAqB;AAEzC,SAAO,QAAQ,0BAA0B,CAAC,EAAE,QAAQ,YAAU;AAC5D,WAAO,KAAK,GAAG,OAAO,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,GAAG;AAAA,EAC1C,CAAC;AAED,SAAO,QAAQ,uBAAuB,CAAC,EAAE,QAAQ,YAAU;AACzD,WAAO,KAAK,GAAG,OAAO,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,GAAG;AAAA,EAC1C,CAAC;AAED,SAAO;AAAA,MACH,WAAW;AAAA,QACT,OAAO,KAAK,EAAE,CAAC;AAAA;AAAA;AAGvB;;;ACxOA,IAAAC,iBAAmB;AACnB,IAAAC,gBAAkB;AAOlB,IAAM,kBAAkB,CAAC,UAAuB;AAC9C,UAAQ,OAAO;AAAA,IACb,KAAK;AACH,aAAO;AAAA,QACL,YAAY;AAAA,QACZ,MAAM;AAAA,MACR;AAAA,IACF,KAAK;AACH,aAAO;AAAA,QACL,YAAY;AAAA,QACZ,MAAM;AAAA,MACR;AAAA,IACF,KAAK;AACH,aAAO;AAAA,QACL,YAAY;AAAA,QACZ,MAAM;AAAA,MACR;AAAA,IACF,KAAK;AACH,aAAO;AAAA,QACL,YAAY;AAAA,QACZ,MAAM;AAAA,MACR;AAAA,IACF;AACE,aAAO;AAAA,QACL,YAAY;AAAA,QACZ,MAAM;AAAA,MACR;AAAA,EACJ;AACF;AAEA,IAAM,gBAAgB,iBAAe,QAAQ,WAAW;AAExD,IAAM,gBAAgB,gBAAc;AAClC,MAAI;AACJ,MAAI;AAEJ,MAAI,eAAe,UAAU;AAC3B,YAAQ,EAAE,CAAC;AACX,aAAS,EAAE,CAAC;AAAA,EACd,WAAW,eAAe,SAAS;AACjC,YAAQ,EAAE,CAAC;AACX,aAAS,EAAE,CAAC;AAAA,EACd,OAAO;AACL,UAAM,YAAY,aAAa,UAAU;AAEzC,YAAQ;AACR,aAAS;AAAA,EACX;AAEA,QAAM,WAAW,cAAc,KAAK;AAEpC,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACF;AACA,IAAM,gBAAgB,eAAAC,QAAO;AAAA;AAAA,WAIlB,WACP,MAAM,QACF,MAAM,MAAM,WAAW,GAAG,IACxB,MAAM,QACN,mBAAmB,MAAM,KAAK,MAChC,4BAA4B;AAAA;AAAA,IAEhC,UAAU,MAAM,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,WAOV,WAAS;AAChB,QAAM,EAAE,MAAM,IAAI,cAAc,MAAM,IAAI;AAE1C,SAAO;AACT,CAAC;AAAA,YACS,WAAS;AACjB,QAAM,EAAE,OAAO,IAAI,cAAc,MAAM,IAAI;AAE3C,SAAO;AACT,CAAC;AAAA,eACY,WAAS;AACpB,QAAM,EAAE,SAAS,IAAI,cAAc,MAAM,IAAI;AAE7C,SAAO;AACT,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,wBAYqB,WAClB,MAAM,uBACL,MAAM,kBACH,mBAAmB,MAAM,eAAe,MACxC,0BAA0B;AAAA;AAAA;AAIpC,IAAM,cAAc,eAAAA,QAAO;AAAA;AAAA,WAEhB,WAAS;AAChB,QAAM,EAAE,MAAM,IAAI,cAAc,MAAM,IAAI;AAE1C,SAAO;AACT,CAAC;AAAA,YACS,WAAS;AACjB,QAAM,EAAE,OAAO,IAAI,cAAc,MAAM,IAAI;AAE3C,SAAO;AACT,CAAC;AAAA,eACY,WAAS;AACpB,QAAM,EAAE,SAAS,IAAI,cAAc,MAAM,IAAI;AAE7C,SAAO;AACT,CAAC;AAAA;AAGH,IAAM,SAAS,CAAC,OAaR;AAbQ,eACd;AAAA,cAAU;AAAA,IACV,OAAO;AAAA,IACP;AAAA,IACA;AAAA,IACA;AAAA,IACA,aAAa;AAAA,EA9If,IAwIgB,IAOX,kBAPW,IAOX;AAAA,IANH;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAQA,QAAM,aAAa,MAAM;AACvB,QAAI,UAAU;AACZ,aAAO;AAAA,IACT;AAEA,QAAI,UAAU;AACZ,YAAM,SAAS,cAAc,IAAI,EAAE;AACnC,YAAM,QAAQ,cAAc,IAAI,EAAE;AAElC,aACE,8BAAAC,QAAA;AAAA,QAAC;AAAA;AAAA,UACC;AAAA,UACA,KAAK;AAAA,UACL,KAAK;AAAA,UACL;AAAA,UACA;AAAA;AAAA,MACF;AAAA,IAEJ;AAEA,QAAI,QAAQ;AACV,UAAI,SAAS;AACX,eAAO,8BAAAA,QAAA,cAAC,UAAK,cAAY,WAAU,MAAO;AAAA,MAC5C;AAEA,aAAO;AAAA,IACT;AAAA,EACF;AAEA,QAAM,qBAAqB,UAAU,CAAC,YAAY,CAAC;AACnD,QAAM,eAAe,gBAAgB,cAAc,MAAM;AAEzD,SACE,8BAAAA,QAAA;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA;AAAA,MACA,iBAAiB,aAAa;AAAA,MAC9B,OAAO,aAAa;AAAA,OAChB;AAAA,IAEH,WAAW;AAAA,EACd;AAEJ;AAqBA,IAAO,iBAAQ;;;ACtNf,IAAAC,gBAA4B;AAE5B,IAAAA,gBAAkB;AAMlB,IAAM,wBAAwB,CAAC,cAAc,SAAS,cAAc,WAAW;AAC7E,SAAO;AAAA,MACH,WAAW;AAAA;AAAA;AAAA,MAGX,WAAW;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,8BAMa,cAAc,MAAM,CAAC;AAAA,QAC3C,YAAY,SAAS,CAAC;AAAA;AAAA;AAAA,MAGxB,WAAW;AAAA,MACX,WAAW;AAAA,MACX,WAAW;AAAA;AAAA;AAAA;AAAA,MAIX,WAAW;AAAA;AAAA;AAAA;AAAA;AAAA,MAKX,qBAAqB,WAAW,CAAC;AAAA;AAAA,MAEjC,oBAAoB,WAAW,CAAC;AAAA;AAAA,MAEhC,aAAa,CAAC;AAAA;AAEpB;AAEA,IAAM,aAAa,MAAM,8BAAAC,QAAA,cAAC,wBAAO,YAAQ,mBAAI,sBAAsB,CAAC,GAAG;AAEvE,IAAO,sBAAQ;;;AC5Cf,IAAAC,gBAAoB;AACpB,IAAAC,iBAAmB;AACnB,IAAAD,iBAAmC;AAEnC,yBAA0B;;;ACJ1B,IAAAE,iBAAmB;AACnB,IAAAC,gBAAkB;AAKlB,IAAM,kBAAkB;AAExB,IAAM,cAAc,eAAAC,QAAO;AAAA;AAAA,WAEhB,WAAS,cAAc,MAAM,KAAK,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA,MAKxC,WAAS,QAAQ,SAAS,MAAM,IAAI,CAAC;AAAA,MACrC,WAAS,QAAQ,UAAU,MAAM,IAAI,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MAMtC,WAAS,QAAQ,SAAS,MAAM,IAAI,CAAC;AAAA,MACrC,WAAS,QAAQ,UAAU,MAAM,IAAI,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAiB5C,IAAM,OAAO,CAAC,OAWN;AAXM,eACZ;AAAA;AAAA,IACA;AAAA,IACA,QAAQ;AAAA,IACR,OAAO;AAAA,EA5CT,IAwCc,IAKT,kBALS,IAKT;AAAA,IAJH;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAQA,QAAM,MAAM,cAAAC,QAAM,OAAO,IAAI;AAE7B,SACE,8BAAAA,QAAA;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA,cAAY;AAAA,MACZ;AAAA,MACA;AAAA,OACI;AAAA,IAEH;AAAA,EACH;AAEJ;AAEA,IAAO,eAAQ;;;ACnEf,IAAAC,gBAA0B;AAC1B,IAAAC,iBAAmB;AACnB,IAAAD,gBAAkB;AAKlB,IAAM,QAAQ;AACd,IAAM,aAAa;AAEnB,IAAM,QAAQ;AAAA,EACZ,OAAO;AAAA,IACL,WAAW;AAAA,EACb;AAAA,EACA,QAAQ;AAAA,IACN,WAAW;AAAA,EACb;AAAA,EACA,OAAO;AAAA,IACL,WAAW;AAAA,EACb;AACF;AAEA,IAAM,aAAa,WAAS;AAC1B,SAAO,MAAM,MAAM,IAAI,EAAE,YAAY;AACvC;AAEA,IAAM,eAAe,WAAS;AAC5B,SAAO,MAAM,MAAM,IAAI,EAAE;AAC3B;AAEA,IAAM,WAAW;AAAA;AAAA;AAAA;AAAA;AAMjB,IAAM,gBAAgB,eAAAE,QAAO;AAAA;AAAA;AAAA,YAGjB,WAAS,aAAa,KAAK,CAAC;AAAA,WAC7B,WAAS,aAAa,KAAK,CAAC;AAAA;AAGvC,IAAM,OAAO,eAAAA,QAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAOpB,IAAM,aAAa,eAAAA,QAAO;AAAA;AAAA;AAAA,sBAGJ,WAAS,MAAM,YAAY,MAAM,WAAW;AAAA,iBACjD,WAAS,aAAa,KAAK,IAAI,IAAI,WAAW,KAAK,IAAI,CAAC;AAAA;AAAA;AAAA;AAAA,cAI3D,WAAS,WAAW,KAAK,CAAC;AAAA,aAC3B,WAAS,WAAW,KAAK,CAAC;AAAA,qBAClB,WAAS,WAAW,KAAK,CAAC;AAAA,wBACvB,WAAS,cAAc,MAAM,KAAK,CAAC;AAAA;AAAA;AAAA,iBAG1C,QAAQ,IAAI,KAAK;AAAA,QAC1B,WAAU,MAAM,WAAW,QAAS,UAAU;AAAA;AAAA;AAItD,IAAM,MAAM,CAAC,EAAE,UAAU,OAAO,KAAK,MACnC,8BAAAC,QAAA,cAAC,cAAW,OAAc,UAAoB,MAAY;AAG5D,IAAM,SAAS,CAAC,OASR;AATQ,eACd;AAAA,YAAQ;AAAA,IACR,OAAO;AAAA,EA3ET,IAyEgB,IAGX,kBAHW,IAGX;AAAA,IAFH;AAAA,IACA;AAAA;AAQA,MAAI;AACJ,QAAM,WAAW,CAAC;AAElB,OAAK,IAAI,GAAG,IAAI,YAAY,KAAK;AAC/B,aAAS,KAAK,8BAAAA,QAAA,cAAC,OAAI,OAAc,UAAU,GAAG,MAAY,KAAK,GAAG,CAAE;AAAA,EACtE;AAEA,SACE,8BAAAA,QAAA,cAAC,gCAAc,QAAgB,QAC7B,8BAAAA,QAAA,cAAC,YAAM,QAAS,CAClB;AAEJ;AAEO,IAAM,iBAAiB,OAAO,KAAK,KAAK;AAiB/C,IAAO,iBAAQ;;;AF9Ff,IAAM,cAAc;AAAA,EAClB,OAAO;AAAA,IACL,QAAQ,EAAE,CAAC;AAAA,IACX,UAAU;AAAA,IACV,UAAU;AAAA,IACV,QAAQ,EAAE,GAAG;AAAA,IACb,QAAQ;AAAA,EACV;AAAA,EACA,QAAQ;AAAA,IACN,QAAQ,EAAE,GAAG;AAAA,IACb,UAAU;AAAA,IACV,UAAU;AAAA,IACV,QAAQ,EAAE,CAAC;AAAA,IACX,QAAQ;AAAA,EACV;AAAA,EACA,OAAO;AAAA,IACL,QAAQ,EAAE,CAAC;AAAA,IACX,UAAU;AAAA,IACV,UAAU;AAAA,IACV,QAAQ,EAAE,GAAG;AAAA,IACb,QAAQ;AAAA,EACV;AACF;AAEA,IAAM,kBAAkB,WAAS;AAAA,IAC7B,MAAM,aAAa,eAAe;AAAA;AAGtC,IAAM,gBAAgB;AAAA,EACpB,SAAS;AAAA,IACP,OAAO,cAAc,MAAM;AAAA,IAC3B,YAAY;AAAA,IACZ,aAAa,cAAc,cAAc;AAAA,IACzC,OAAO,cAAc,iBAAiB;AAAA,IACtC,QAAQ,cAAc,kBAAkB;AAAA,EAC1C;AAAA,EACA,SAAS;AAAA,IACP,OAAO,cAAc,OAAO;AAAA,IAC5B,YAAY,cAAc,SAAS;AAAA,IACnC,aAAa;AAAA,IACb,OAAO,cAAc,cAAc;AAAA,IACnC,QAAQ,cAAc,eAAe;AAAA,EACvC;AAAA,EACA,WAAW;AAAA,IACT,OAAO,cAAc,SAAS;AAAA,IAC9B,YAAY,cAAc,WAAW;AAAA,IACrC,aAAa;AAAA,IACb,OAAO,cAAc,eAAe;AAAA,IACpC,QAAQ;AAAA,EACV;AAAA,EACA,QAAQ;AAAA,IACN,OAAO,cAAc,OAAO;AAAA,IAC5B,YAAY,cAAc,QAAQ;AAAA,IAClC,aAAa;AAAA,IACb,OAAO,cAAc,aAAa;AAAA,IAClC,QAAQ,cAAc,cAAc;AAAA,EACtC;AAAA,EACA,SAAS;AAAA,IACP,OAAO,cAAc,MAAM;AAAA,IAC3B,YAAY,cAAc,SAAS;AAAA,IACnC,aAAa;AAAA,IACb,OAAO,cAAc,cAAc;AAAA,IACnC,QAAQ,cAAc,eAAe;AAAA,IACrC,WAAW,aAAa;AAAA,EAC1B;AAAA,EACA,QAAQ;AAAA,IACN,OAAO,cAAc,aAAa;AAAA,IAClC,YAAY,cAAc,QAAQ;AAAA,IAClC,aAAa;AAAA,IACb,OAAO,cAAc,aAAa;AAAA,IAClC,QAAQ,cAAc,cAAc;AAAA,EACtC;AAAA,EACA,IAAI;AAAA,IACF,OAAO,cAAc,OAAO;AAAA,IAC5B,YAAY;AAAA,IACZ,aAAa;AAAA,IACb,OAAO;AAAA,IACP,QAAQ;AAAA,EACV;AACF;AAEA,IAAM,eAAe;AAAA,EACnB,SAAS;AAAA;AAAA;AAAA,EAGT,UAAU;AAAA;AAAA,wBAEY,cAAc,oBAAoB,CAAC;AAAA,aAC9C,cAAc,iBAAiB,CAAC;AAAA;AAAA;AAG7C;AAEA,IAAM,UAAU,EAAE,CAAC;AAEnB,IAAM,gBAAgB,eAAAC,QAAO;AAAA;AAAA;AAAA,MAGvB,WAAU,MAAM,cAAc,YAAY,MAAM,IAAI,EAAE,SAAS,CAAE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAUnE,cAAc,MAAM,CAAC;AAAA,mBACN,WAAS,YAAY,MAAM,IAAI,EAAE,MAAM;AAAA,IACtD,WACA,MAAM,eAAe,+BAA+B,sBAAsB;AAAA,YAClE,WAAS,YAAY,MAAM,IAAI,EAAE,MAAM;AAAA,eACpC,WAAS,YAAY,MAAM,IAAI,EAAE,MAAM;AAAA,IAClD,WAAS,YAAY,YAAY,MAAM,IAAI,EAAE,QAAQ,CAAC;AAAA,IACtD,WAAU,MAAM,WAAW,aAAa,WAAW,aAAa,OAAQ;AAAA,IACxE,WACA,CAAC,MAAM,YACP;AAAA,cAEE,cAAc,MAAM,OAAO,EAAE,cACzB,aAAa,cAAc,MAAM,OAAO,EAAE,WAAW,KACrD,MACN;AAAA,kBACc,cAAc,MAAM,OAAO,EAAE,UAAU;AAAA;AAAA;AAAA,aAG5C,cAAc,MAAM,OAAO,EAAE,KAAK;AAAA,GAC5C;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAMe,WAAS,cAAc,MAAM,OAAO,EAAE,KAAK;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAQ3C,WAAS,cAAc,MAAM,OAAO,EAAE,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA,MAKxD,mBAAmB,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAQ1B,IAAM,cAAc,eAAAA,QAAO;AAAA,IAKvB,WAAS,QAAQ,gBAAgB,MAAM,WAAW,CAAC;AAAA,IACnD,WAAS,QAAQ,iBAAiB,MAAM,YAAY,CAAC;AAAA,IACrD,eAAe;AAAA;AAGnB,IAAM,YAAY,eAAAA,QAAO;AAAA;AAAA;AAAA,YAOb,WAAS,YAAY,MAAM,IAAI,EAAE,MAAM;AAAA,WACxC,WAAS,YAAY,MAAM,IAAI,EAAE,MAAM;AAAA,IAC9C,WAAS,MAAM,cAAc,sBAAsB;AAAA,IACnD,eAAe;AAAA;AAGnB,IAAM,gBAAgB,eAAAA,QAAO;AAAA;AAAA;AAAA;AAAA;AAM7B,IAAM,kBAAkB,eAAAA,QAAO;AAAA,IAC3B,eAAe;AAAA;AAGnB,IAAM,SAAS,CAAC,OAoBR;AApBQ,eACd;AAAA,WAAO;AAAA,IACP;AAAA,IACA,UAAU;AAAA,IACV;AAAA,IACA;AAAA,IACA,eAAe;AAAA,IACf;AAAA,IACA;AAAA,IACA;AAAA,IACA,UAAU;AAAA,IACV;AAAA,IACA;AAAA,IACA;AAAA,EA7NF,IAgNgB,IAcX,kBAdW,IAcX;AAAA,IAbH;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAQA,QAAM,aACJ,+BAAAC,QAAA;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA,aAAa,YAAY,iBAAiB,WAAW;AAAA,MACrD,cAAc,YAAY,iBAAiB,UAAU;AAAA;AAAA,IAErD,+BAAAA,QAAA;AAAA,MAAC;AAAA;AAAA,QACC;AAAA,QACA,OAAM;AAAA,QACN,MAAM,YAAY,IAAI,EAAE;AAAA;AAAA,IAC1B;AAAA,EACF;AAGF,QAAM,8BAA0B;AAAA,IAC9B,CAAC,UAA+C;AAC9C,UAAI,iBAAiB;AACnB,+BAAAC,SAAc,eAAe;AAAA,MAC/B;AACA,yCAAU;AAAA,IACZ;AAAA,IACA,CAAC,SAAS,eAAe;AAAA,EAC3B;AAEA,SACE,+BAAAD,QAAA;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,UAAU;AAAA,MACV,IAAI;AAAA,MACJ,aAAa;AAAA,MACb,KAAK,SAAO,cAAc,WAAW,GAAG;AAAA,OACpC,QAXL;AAAA,MAYC,SACE,oBAAoB,SAAY,UAAU;AAAA;AAAA,IAG3C,aACC,+BAAAA,QAAA,cAAC,qBACC,+BAAAA,QAAA,cAAC,kBAAO,OAAM,gBAAe,CAC/B;AAAA,IAED,QAAQ,iBAAiB,UAAU;AAAA,IACnC,WACC,+BAAAA,QAAA;AAAA,MAAC;AAAA;AAAA,QAEC,KAAI;AAAA,QACJ,YAAY,QAAQ,QAAQ;AAAA,QAC5B,KAAK;AAAA,QACL;AAAA,QAEA,QAAQ,YAAY,IAAI,EAAE;AAAA,QAC1B,OAAO,YAAY,IAAI,EAAE;AAAA,QACzB;AAAA;AAAA,IACF;AAAA,IAEF,+BAAAA,QAAA,cAAC,mBAAgB,aAAuB,QAAS;AAAA,IAChD,QAAQ,iBAAiB,WAAW;AAAA,EACvC;AAEJ;AAmDO,IAAME,kBAAiB,OAAO,KAAK,WAAW;AAC9C,IAAM,oBAAoB,OAAO,KAAK,aAAa;AAI1D,IAAO,iBAAQ;;;AG7Vf,IAAAC,iBAAmB;AACnB,IAAAC,iBAAkB;AAKlB,IAAM,gBAAgB,eAAAC,QAAO;AAAA,aAChB,WAAU,MAAM,WAAW,iBAAiB,OAAQ;AAAA;AAAA,IAE7D,WAAS,QAAQ,WAAW,MAAM,GAAG,CAAC;AAAA,IACtC,WAAS,QAAQ,eAAe,MAAM,GAAG,CAAC;AAAA,IAC1C,WAAS,QAAQ,iBAAiB,MAAM,KAAK,CAAC;AAAA,IAC9C,WAAS,QAAQ,kBAAkB,MAAM,MAAM,CAAC;AAAA,IAChD,WAAS,QAAQ,gBAAgB,MAAM,IAAI,CAAC;AAAA;AAGhD,IAAM,SAAS,CAAC,OAgBX;AAhBW,eACd;AAAA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAzBF,IAgBgB,IAUX,kBAVW,IAUX;AAAA,IATH;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAQA,wCAAAC,QAAA;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA,KAAK,KAAK;AAAA,MACV,QAAQ,KAAK;AAAA,MACb,OAAO,KAAK;AAAA,MACZ,MAAM,KAAK;AAAA,MACX;AAAA,OACI;AAAA,IAEH;AAAA,EACH;AAAA;AAeF,IAAO,iBAAQ;;;AC1Df,IAAAC,iBAAmB;AACnB,IAAAC,iBAAkC;;;ACDlC,IAAAC,iBAAmB;AACnB,IAAAC,iBAAkB;AAKlB,IAAM,uBAAuB;AAAA,EAC3B,SAAS;AAAA,EACT,WAAW;AAAA,EACX,UAAU;AAAA,EACV,YAAY;AAAA,EACZ,QAAQ;AAAA,EACR,aAAa;AAAA,EACb,YAAY;AAAA,EACZ,cAAc;AAAA,EACd,aAAa;AACf;AAEA,IAAM,gBAAgB,CACpB,cAWG;AACH,MAAI,MAAM,QAAQ,SAAS,GAAG;AAC5B,WAAO,UAAU;AAAA,MACf,wBAAsB,qBAAqB,kBAAkB;AAAA,IAC/D;AAAA,EACF;AAEA,MAAI,OAAO,cAAc,UAAU;AACjC,UAAM,6BAA6B,CAAC;AAEpC,WAAO,QAAQ,SAAS,EAAE,QAAQ,CAAC,CAAC,KAAK,KAAK,MAAM;AAClD,aAAQ,2BAA2B,GAAG,IAAI,qBAAqB,KAAK;AAAA,IACtE,CAAC;AAED,WAAO;AAAA,EACT;AAEA,SAAO,qBAAqB,SAAS;AACvC;AAEA,IAAM,eAAe,eAAAC,QAAO;AAAA;AAAA;AAAA;AAAA,IAIxB,WAAS,mBAAmB,eAAe,cAAc,MAAM,SAAS,CAAC,CAAC;AAAA;AAG9E,IAAM,QAAQ,CAAC,OAUP;AAVO,eACb;AAAA;AAAA,IACA,YAAY;AAAA,IACZ,UAAU;AAAA,EA5DZ,IAyDe,IAIV,kBAJU,IAIV;AAAA,IAHH;AAAA,IACA;AAAA,IACA;AAAA;AAQA,SACE,+BAAAC,QAAA,cAAC,+BAAa,WAAsB,IAAI,WAAa,QAClD,QACH;AAEJ;AAEO,IAAM,sBAAsB,OAAO,KAAK,oBAAoB;AAoDnE,IAAO,gBAAQ;;;AC/Hf,IAAAC,iBAAmB;AACnB,IAAAC,iBAAkB;AAWlB,IAAM,wBAAwB,CAAC,MAAM,OAAO,UAAU;AACpD,QAAM,cAAc,QAAQ,QAAQ;AACpC,QAAM,cAAc,aAAa,KAAK;AACtC,QAAM,cAAc,GAAG,WAAW,UAAU,cAAc,WAAW,CAAC;AAEtE,MAAI,MAAM;AACR,QAAI,SAAS,OAAO;AAClB,aAAO,WAAW,WAAW;AAAA,IAC/B;AAEA,WAAO,UAAU,IAAI,KAAK,WAAW;AAAA,EACvC;AACF;AAEA,IAAM,mBAAmB,eAAAC,QAAO;AAAA,IAC5B,WAAS,MAAM,YAAY,aAAa,MAAM,QAAQ,EAAE;AAAA,IACxD,WAAS,MAAM,YAAY,aAAa,MAAM,QAAQ,EAAE;AAAA,IACxD,WACA,MAAM,mBACN,qBAAqB,cAAc,MAAM,eAAe,CAAC,EAAE;AAAA,IAC3D,WACA,MAAM,mBAAmB,qBAAqB,MAAM,eAAe,EAAE;AAAA,IACrE,WACA,MAAM,gBAAgB,UAAU,cAAc,MAAM,YAAY,CAAC,EAAE;AAAA,IACnE,WACA;AAAA,EACE,MAAM;AAAA,EACN,MAAM;AAAA,EACN,MAAM;AACR,CAAC;AAAA,IACD,WAAS,UAAU,MAAM,MAAM,CAAC;AAAA,IAChC,WAAS,UAAU,MAAM,MAAM,CAAC;AAAA,IAChC,WAAS,QAAQ,SAAS,MAAM,KAAK,CAAC;AAAA,IACtC,WAAS,QAAQ,UAAU,MAAM,MAAM,CAAC;AAAA,IACxC,WAAS,QAAQ,aAAa,MAAM,QAAQ,CAAC;AAAA,IAC7C,WAAS,QAAQ,cAAc,MAAM,SAAS,CAAC;AAAA,IAC/C,WAAS,QAAQ,aAAa,MAAM,QAAQ,CAAC;AAAA,IAC7C,WAAS,QAAQ,cAAc,MAAM,SAAS,CAAC;AAAA,IAC/C,WAAS,QAAQ,WAAW,MAAM,OAAO,CAAC;AAAA,IAC1C,WAAS,QAAQ,eAAe,MAAM,UAAU,CAAC;AAAA,IACjD,WAAS,QAAQ,iBAAiB,MAAM,YAAY,CAAC;AAAA,IACrD,WAAS,QAAQ,kBAAkB,MAAM,aAAa,CAAC;AAAA,IACvD,WAAS,QAAQ,gBAAgB,MAAM,WAAW,CAAC;AAAA,IACnD,WAAS,QAAQ,UAAU,MAAM,MAAM,CAAC;AAAA,IACxC,WAAS,QAAQ,cAAc,MAAM,SAAS,CAAC;AAAA,IAC/C,WAAS,QAAQ,gBAAgB,MAAM,WAAW,CAAC;AAAA,IACnD,WAAS,QAAQ,iBAAiB,MAAM,YAAY,CAAC;AAAA,IACrD,WAAS,QAAQ,eAAe,MAAM,UAAU,CAAC;AAAA,IACjD,WAAS,QAAQ,OAAO,MAAM,GAAG,CAAC;AAAA,IAClC,WAAS,QAAQ,SAAS,MAAM,KAAK,CAAC;AAAA,IACtC,WAAS,QAAQ,UAAU,MAAM,MAAM,CAAC;AAAA,IACxC,WAAS,QAAQ,QAAQ,MAAM,IAAI,CAAC;AAAA,IACpC,WAAS,MAAM,UAAU,YAAY,MAAM,MAAM,EAAE;AAAA;AAGvD,IAAM,YAAY,CAAC,OA6CX;AA7CW,eACjB;AAAA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,cAAc;AAAA,IACd;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,UAAU;AAAA,IACV;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAzGF,IAmEmB,IAuCd,kBAvCc,IAuCd;AAAA,IAtCH;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAQA,SACE,+BAAAC,QAAA;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,aAAa,YAAY;AAAA,MACzB,cAAc,YAAY;AAAA,MAC1B,YAAY,YAAY;AAAA,MACxB,eAAe,YAAY;AAAA,MAC3B;AAAA,MACA,YAAY,WAAW;AAAA,MACvB,aAAa,WAAW;AAAA,MACxB,WAAW,WAAW;AAAA,MACtB,cAAc,WAAW;AAAA,MACzB;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,IAAI;AAAA,MACJ;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,KAAK,SAAO,cAAc,WAAW,GAAG;AAAA,OACpC;AAAA,IAEH;AAAA,EACH;AAEJ;AAsGA,IAAO,oBAAQ;;;AFzOf,IAAMC,eAAgC;AAAA,EACpC,OAAO;AAAA,IACL,QAAQ,EAAE,CAAC;AAAA,IACX,OAAO,EAAE,CAAC;AAAA,IACV,UAAU;AAAA,IACV,SAAS,EAAE,IAAI;AAAA,IACf,iBAAiB,EAAE,GAAG;AAAA,IACtB,2BAA2B,EAAE,GAAG;AAAA,IAChC,UAAU;AAAA,IACV,QAAQ;AAAA,EACV;AAAA,EACA,QAAQ;AAAA,IACN,QAAQ;AAAA,IACR,OAAO,EAAE,CAAC;AAAA,IACV,UAAU;AAAA,IACV,SAAS;AAAA,IACT,iBAAiB,EAAE,GAAG;AAAA,IACtB,2BAA2B,EAAE,GAAG;AAAA,IAChC,UAAU;AAAA,IACV,QAAQ;AAAA,EACV;AAAA,EACA,OAAO;AAAA,IACL,QAAQ,EAAE,CAAC;AAAA,IACX,OAAO,EAAE,CAAC;AAAA,IACV,UAAU;AAAA,IACV,SAAS;AAAA,IACT,iBAAiB,EAAE,GAAG;AAAA,IACtB,2BAA2B,EAAE,GAAG;AAAA,IAChC,UAAU;AAAA,IACV,QAAQ;AAAA,EACV;AACF;AAEA,IAAM,oBAAoB,CACxB,UACoB;AACpB,MAAI,UAAU,MAAM,QAChBA,aAAY,MAAM,SAAS,EAAE,kBAC7BA,aAAY,MAAM,SAAS,EAAE;AAGjC,MAAI,MAAM,SAAS,YAAY;AAC7B,cAAU,QACRA,aAAY,MAAM,SAAS,EAAE,yBAC/B,MAAM,OAAO;AAAA,EACf;AAEA,SAAO;AACT;AAEA,IAAM,aAAa,eAAAC,QAAO;AAAA;AAAA;AAAA;AAAA,YAId,WAASD,aAAY,MAAM,SAAS,EAAE,MAAM;AAAA;AAAA;AAAA,sBAGlC,cAAc,qBAAqB,CAAC;AAAA;AAAA;AAAA;AAAA,kBAIxC,WACd,MAAM,OACFA,aAAY,MAAM,SAAS,EAAE,kBAC7BA,aAAY,MAAM,SAAS,EAAE,OAAO;AAAA,mBACzB,WAAS,kBAAkB,KAAK,CAAC;AAAA,mBACjC,WAASA,aAAY,MAAM,SAAS,EAAE,MAAM;AAAA;AAAA,MAEzD,WACA,MAAM,WACF,iEACA,kEAAkE;AAAA;AAAA,IAExE,WAAS,YAAYA,aAAY,MAAM,SAAS,EAAE,QAAQ,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,aAalD,cAAc,iBAAiB,CAAC;AAAA,wBACrB,cAAc,oBAAoB,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,aAS9C,cAAc,YAAY,CAAC;AAAA;AAAA;AAIxC,IAAM,oBAAoB,eAAAC,QAAO;AAAA;AAAA;AAAA;AAKjC,IAAMC,eAAc,eAAAD,QAAO;AAAA;AAAA;AAAA,WAGhB,WAASD,aAAY,MAAM,IAAI,EAAE,KAAK;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAQjD,IAAM,QAAQ,eAAAC,QAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,aAMR,CAAC,EAAE,WAAW,MAAO,aAAa,MAAM,CAAE;AAAA;AAGvD,IAAM,eAAe,eAAAA,QAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,WAOjB,WAASD,aAAY,MAAM,IAAI,EAAE,KAAK;AAAA;AAAA;AAAA;AAKjD,IAAM,gBAAY;AAAA,EAChB,CACE,IAeA,QACG;AAhBH,iBACE;AAAA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,OAAO;AAAA,MACP;AAAA,MACA;AAAA,MACA,OAAO;AAAA,MACP;AAAA,IA7KN,IAiKI,IAaK,kBAbL,IAaK;AAAA,MAZH;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA;AAKF,UAAM,aACJ,+BAAAG,QAAA;AAAA,MAAC;AAAA;AAAA,QACC;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA,UAAU;AAAA,QACV;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA,WAAW;AAAA,QACX;AAAA,SACI;AAAA,IACN;AAGF,WAAO,QAAQ,QACb,+BAAAA,QAAA,cAAC,yBACE,QACC,+BAAAA,QAAA,cAACD,cAAA,EAAY,QACV,OAAO,SAAS,WACf,+BAAAC,QAAA;AAAA,MAAC;AAAA;AAAA,QACC,QAAO;AAAA,QACP,OAAOH,aAAY,IAAI,EAAE;AAAA,QACzB,QAAQA,aAAY,IAAI,EAAE;AAAA,QAC1B,UAAS;AAAA;AAAA,MAET,+BAAAG,QAAA,cAAC,iBAAM,WAAU,YACf,+BAAAA,QAAA,cAAC,SAAM,KAAK,MAAM,KAAI,IAAG,YAAwB,CACnD;AAAA,IACF,IAEA,+BAAAA,QAAA;AAAA,MAAC;AAAA;AAAA,QACC;AAAA,QACA,MAAMH,aAAY,IAAI,EAAE;AAAA,QACxB,OAAO,cAAc,aAAa,oBAAoB,MAAM;AAAA;AAAA,IAC9D,CAEJ,GAED,YACA,SAAS,+BAAAG,QAAA,cAAC,gBAAa,QAAa,KAAM,CAC7C,IAEA;AAAA,EAEJ;AACF;AAwCA,IAAO,qBAAQ;;;AG5Qf,IAAAC,kBAAmB;AACnB,IAAAC,iBAAkB;AAWlB,IAAMC,cAAa;AAAA,EACjB,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,KAAK;AAAA,EACL,SAAS;AACX;AAEA,IAAI,gBAAgB;AAEpB,IAAM,cAAc,UAAQ;AAC1B,MAAI,CAAC,MAAM,QAAQ,IAAI,GAAG;AACxB,WAAO,CAAC,IAAI;AAAA,EACd;AAEA,SAAO;AACT;AAEA,IAAM,cAAc,CAAC,OAAO,wBAAwB;AAClD,MAAI,MAAM,WAAW,qBAAqB;AACxC,WAAO;AAAA,EACT;AAEA,QAAM,WAAW,MAAM,MAAM,SAAS,CAAC;AAEvC,SAAO,CAAC,GAAG,MAAM,mBAAmB,CAAC,EAAE,IAAI,CAAC,GAAG,MAAM,MAAM,CAAC,KAAK,QAAQ;AAC3E;AAEA,IAAM,qBAAqB,CAAC,WAAW,QAAQ;AAC7C,QAAM,sBAAsB,KAAK;AAAA,IAC/B,YAAY,SAAS,EAAE;AAAA,IACvB,YAAY,GAAG,EAAE;AAAA,EACnB;AAEA,QAAM,YAAY,YAAY,YAAY,GAAG,GAAG,mBAAmB;AACnE,QAAM,kBAAkB;AAAA,IACtB,YAAY,SAAS;AAAA,IACrB;AAAA,EACF;AAEA,QAAM,mBAAmB;AACzB,QAAM,eAAe,UAAU,IAAI,CAAC,SAAS,UAAU;AACrD,UAAM,YAAY,GAAG,aAAa,OAAO,CAAC;AAC1C,UAAM,cAAc,SAAS,aAAa,OAAO,CAAC;AAElD,UAAM,cACJ,gBAAgB,KAAK,MAAM,WAAW,YAAY;AAEpD,WAAO,GAAG,gBAAgB,aAAa,WAAW;AAAA,EACpD,CAAC;AAED,QAAM,qBAAqB,gBAAgB;AAAA,IACzC,mBAAiB,mBAAmB,aAAa;AAAA,EACnD;AAEA,SACE,mBAAmB,YAAY,IAAI,mBAAmB,kBAAkB;AAE5E;AAEA,IAAM,oBAAoB,gBAAAC,QAAO;AAAA;AAAA;AAAA,IAG7B,WAAS,mBAAmB,MAAM,eAAe,MAAM,GAAG,CAAC;AAAA,IAC3D,WAAS,mBAAmB,MAAM,WAAWD,WAAU,CAAC;AAAA,IACxD,WACA,MAAM,YACN;AAAA,EACE;AAAA,EACA,CAAC,iBAAiB,SAAS;AAAA,EAC3B,MAAM;AACR,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAOL,IAAM,aAAa,CAAC,OAaZ;AAbY,eAClB;AAAA;AAAA,IACA;AAAA,IACA,YAAY;AAAA,IACZ,YAAY;AAAA,IACZ;AAAA,IACA,UAAU;AAAA,EA/FZ,IAyFoB,IAOf,kBAPe,IAOf;AAAA,IANH;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAQA,MAAI,CAAC,eAAe;AAElB,YAAQ,KAAK,2BAA2B;AACxC,oBAAgB;AAAA,EAClB;AAEA,SACE,+BAAAE,QAAA;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA,eAAe;AAAA,MACf,WAAW;AAAA,MACX;AAAA,MACA,IAAI;AAAA,OACA;AAAA,IAEH;AAAA,EACH;AAEJ;AAGO,IAAMC,uBAAsB,OAAO,KAAKC,WAAU;AAsCzD,IAAO,qBAAQ;;;AClKf,IAAAC,kBAAmB;AACnB,IAAAC,iBAAkB;;;ACDlB,IAAAC,kBAAmB;AACnB,IAAAC,iBAAkB;AAalB,IAAM,iBAAiB,gBAAAC,QAAO;AAAA;AAAA,IAE1B,WAAS,mBAAmB,eAAe,MAAM,UAAU,CAAC;AAAA,IAC5D,WAAS,mBAAmB,mBAAmB,MAAM,cAAc,CAAC;AAAA,IACpE,WACA,MAAM,gBACN,mBAAmB,iBAAiB,MAAM,YAAY,CAAC;AAAA,IACvD,WACA,MAAM,gBACN,mBAAmB,iBAAiB,MAAM,YAAY,CAAC;AAAA,IACvD,WACA,CAAC,MAAM,WACP,CAAC,MAAM,QACP,CAAC,MAAM,YACP,wBAAwB;AAAA,IACxB,WAAS,0BAA0B,MAAM,SAAS,SAAS,CAAC;AAAA,IAC5D,WAAS,0BAA0B,MAAM,MAAM,MAAM,CAAC;AAAA,IACtD,WAAS,QAAQ,OAAO,MAAM,GAAG,CAAC;AAAA,IAClC,WAAS,QAAQ,SAAS,MAAM,KAAK,CAAC;AAAA,IACtC,WAAS,QAAQ,UAAU,MAAM,MAAM,CAAC;AAAA,IACxC,WAAS,QAAQ,aAAa,MAAM,QAAQ,CAAC;AAAA,IAC7C,WAAS,QAAQ,cAAc,MAAM,SAAS,CAAC;AAAA,IAC/C,WAAS,QAAQ,aAAa,MAAM,QAAQ,CAAC;AAAA,IAC7C,WAAS,QAAQ,cAAc,MAAM,SAAS,CAAC;AAAA;AAAA,IAE/C,WACA,MAAM,YAAY,mBAAmB,kBAAkB,MAAM,QAAQ,CAAC;AAAA,IACtE,WACA,MAAM,WACN,MAAM,YACN,mBAAmB,kBAAkB,MAAM,QAAQ,CAAC;AAAA,IACpD,WAAS,iBAAiB,MAAM,EAAE,CAAC;AAAA;AAGvC,IAAM,UAAU,CAAC,OAyBT;AAzBS,eACf;AAAA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,aAAa;AAAA,IACb,iBAAiB;AAAA,IACjB;AAAA,IACA;AAAA,IACA;AAAA,IACA,UAAU;AAAA,IACV;AAAA,IACA;AAAA,EAlEF,IAgDiB,IAmBZ,kBAnBY,IAmBZ;AAAA,IAlBH;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAQA,MAAI,aAAa,OAAO;AAEtB,YAAQ,KAAK,mBAAmB;AAAA,EAClC;AAEA,SACE,+BAAAC,QAAA;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA,IAAI;AAAA,MACJ;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,OACI;AAAA,IAEH;AAAA,EACH;AAEJ;AA8CA,IAAO,kBAAQ;;;ACnJf,qBAAwB;AACxB,IAAAC,UAAuB;AAEhB,SAAS,mBAAmB;AACjC,SAAO,sCAAC,eAAAC,SAAA,EAAY,OAAM,IAAG,QAAO,sBAAqB;AAC3D;;;AFaA,IAAM,uBAAuB,gBAAAC,QAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAepC,IAAM,iBAAiB,CAAC;AAAA,EACtB;AAAA,EACA;AAAA,EACA,eAAe;AACjB,MAA2B;AACzB,MAAI,CAAC,aAAa;AAChB,WAAO,+BAAAC,QAAA,6BAAAA,QAAA,gBAAG,QAAS;AAAA,EACrB;AAEA,SACE,+BAAAA,QAAA,cAAC,4BACC,+BAAAA,QAAA,cAAC,mBAAQ,UAAS,OAAM,KAAI,WACzB,UACA,eACC,+BAAAA,QAAA,cAAC,mBAAQ,KAAI,YACX,+BAAAA,QAAA,cAAC,gBAAK,MAAM,+BAAAA,QAAA,cAAC,sBAAiB,GAAI,MAAM,GAAG,OAAM,UAAS,GAC1D,+BAAAA,QAAA,cAAC,gBAAK,MAAK,WAAU,OAAM,YACxB,YACH,CACF,IACE,IACN,CACF;AAEJ;AAEA,IAAO,0BAAQ;;;AG3Df,IAAAC,kBAAmB;AACnB,IAAAC,iBAAiC;AAMjC,IAAMC,cAAa;AAAA,EACjB,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,KAAK;AACP;AAEA,IAAM,gBAAgB,gBAAAC,QAAO;AAAA;AAAA,IAEzB,WAAS,mBAAmB,MAAM,WAAWD,WAAU,CAAC;AAAA;AAAA;AAAA,MAGtD,WAAS,MAAM,OAAO,QAAQ,eAAe,MAAM,GAAG,CAAC;AAAA;AAAA;AAI7D,IAAM,uBAAuB,gBAAAC,QAAO;AAAA;AAAA;AAAA,IAGhC,WAAS,QAAQ,SAAS,MAAM,KAAK,CAAC;AAAA,IACtC,WAAS,QAAQ,aAAa,MAAM,QAAQ,CAAC;AAAA,IAC7C,WAAU,MAAM,QAAQ,mBAAmB,cAAe;AAAA;AAGvD,IAAM,gBAAgB,CAAC,OAKgD;AALhD,eAC5B;AAAA;AAAA,IACA;AAAA,IACA;AAAA,EAjCF,IA8B8B,IAIzB,kBAJyB,IAIzB;AAAA,IAHH;AAAA,IACA;AAAA,IACA;AAAA;AAIA,UAAQ,KAAK,uBAAuB;AAEpC,SACE,+BAAAC,QAAA,cAAC,uCAAqB,OAAc,YAAwB,QACzD,QACH;AAEJ;AAGA,IAAM,SAAN,cAAqB,yBAAuB;AAAA,EAG1C,SAAS;AAEP,YAAQ,KAAK,uBAAuB;AAEpC,WAAO,+BAAAA,QAAA,cAAC,kCAAkB,KAAK,QAAQ,KAAK,MAAM,QAAS;AAAA,EAC7D;AACF;AATM,OACG,UAAU;AAuBnB,IAAO,iBAAQ;;;ACvEf,IAAAC,kBAAmB;AACnB,IAAAC,iBAAkB;AAOlB,IAAM,aAAa;AAAA,EACjB,OAAO;AAAA,IACL,MAAM,EAAE,CAAC;AAAA,IACT,UAAU;AAAA,IACV,QAAQ;AAAA,EACV;AAAA,EACA,QAAQ;AAAA,IACN,MAAM,EAAE,CAAC;AAAA,IACT,UAAU;AAAA,IACV,QAAQ;AAAA,EACV;AAAA,EACA,OAAO;AAAA,IACL,MAAM,EAAE,CAAC;AAAA,IACT,UAAU;AAAA,IACV,QAAQ;AAAA,EACV;AACF;AAEO,IAAM,gBAAgB,gBAAAC,QAAO;AAAA,sBACd,WAClB;AAAA,EACE,MAAM,WAAW,qBAAqB,MAAM;AAC9C,KAAK,aAAa;AAAA;AAAA;AAAA;AAAA;AAAA,WAKX,WAAS,WAAW,MAAM,IAAI,EAAE,IAAI;AAAA,YACnC,WAAS,WAAW,MAAM,IAAI,EAAE,IAAI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAQ7B,WAAS,WAAW,MAAM,IAAI,EAAE,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA,wBAKjC,WAClB,cAAc,MAAM,WAAW,qBAAqB,iBAAiB,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA,wBAKpD,cAAc,kBAAkB,CAAC;AAAA;AAAA;AAAA;AAAA,aAI5C,cAAc,iBAAiB,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,qBAWxB,WAAS,WAAW,MAAM,IAAI,EAAE,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA,MAKrD,aAAa,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAepB,IAAM,aAAa,eAAAC,QAAM;AAAA,EACvB,CACE,IAWA,QACA;AAZA,iBACE;AAAA;AAAA,MACA;AAAA,MACA;AAAA,MACA,YAAY;AAAA,MACZ;AAAA,MACA;AAAA,MACA;AAAA,MACA,OAAO;AAAA,IApGb,IA4FI,IASK,kBATL,IASK;AAAA,MARH;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA;AAKF,0CAAAA,QAAA;AAAA,MAAC;AAAA;AAAA,QACC,cAAY;AAAA,QACZ;AAAA,QACA;AAAA,QACA,UAAU;AAAA,QACV;AAAA,QACA;AAAA,QACA;AAAA,SACI;AAAA,MAEJ,+BAAAA,QAAA;AAAA,QAAC;AAAA;AAAA,UACC;AAAA,UACA,MAAM,WAAW,IAAI,EAAE;AAAA,UACvB,OAAO,aAAa,oBAAoB;AAAA;AAAA,MAC1C;AAAA,IACF;AAAA;AAEJ;AAEA,WAAW,cAAc;AAmBzB,IAAO,sBAAQ;;;AC/If,IAAAC,kBAAmB;AACnB,IAAAC,iBAAqD;AAIrD,IAAM,mBAAmB,WACvB,+BAAAC,QAAA,cAAC,wBAAI,OAAO,IAAI,QAAQ,GAAG,SAAQ,YAAW,MAAK,UAAW,QAC5D,+BAAAA,QAAA;AAAA,EAAC;AAAA;AAAA,IACC,UAAS;AAAA,IACT,UAAS;AAAA,IACT,GAAE;AAAA,IACF,MAAK;AAAA;AACP,CACF;AAGF,IAAM,mBAAmB,WACvB,+BAAAA,QAAA,cAAC,wBAAI,OAAO,IAAI,QAAQ,GAAG,SAAQ,YAAW,MAAK,UAAW,QAC5D,+BAAAA,QAAA;AAAA,EAAC;AAAA;AAAA,IACC,UAAS;AAAA,IACT,UAAS;AAAA,IACT,GAAE;AAAA,IACF,MAAK;AAAA;AACP,CACF;AAGF,IAAM,kBAAkB,gBAAAC,QAAO;AAAA;AAAA;AAAA;AAK/B,IAAM,gBAAgB,gBAAAA,QAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,0BAWH,cAAc,MAAM,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA,0BAKrB,cAAc,MAAM,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,wBAUvB,cAAc,oBAAoB,CAAC;AAAA;AAAA;AAAA,eAG5C,cAAc,iBAAiB,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA,MAKzC,aAAa,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA,aAKP,cAAc,YAAY,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAYxC,IAAM,cAAc,gBAAAA,QAAO;AAAA;AAAA,WAEhB,EAAE,IAAI,CAAC;AAAA,YACN,EAAE,IAAI,CAAC;AAAA,mBACA,EAAE,GAAG,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAOzB,IAAM,eAAW;AAAA,EACf,CACE,IASA,QACG;AAVH,iBACE;AAAA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IAtGN,IAgGI,IAOK,kBAPL,IAOK;AAAA,MANH;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA;AAKF,UAAM,iBAAa,uBAAyB;AAC5C,UAAM,cACH,OAAoD;AAEvD,UAAM,YAAY;AAAA,MAChB,aAAa,oBAAoB;AAAA,IACnC;AAEA,kCAAU,MAAM;AACd,kBAAY,QAAQ,gBAAgB;AAAA,IACtC,CAAC;AAED,WACE,+BAAAD,QAAA,cAAC,uBACC,+BAAAA,QAAA;AAAA,MAAC;AAAA;AAAA,QACC,MAAK;AAAA,QACL,UAAU;AAAA,QACV,SAAS;AAAA,QACT;AAAA,QACA;AAAA,QACA;AAAA,QACA,KAAK;AAAA,QACL,gBAAc;AAAA,SACV;AAAA,IACN,GACA,+BAAAA,QAAA,cAAC,eAAY,WAAU,iBACrB,+BAAAA,QAAA,cAAC,oBAAiB,WAAU,kBAAiB,OAAO,WAAW,GAC/D,+BAAAA,QAAA,cAAC,oBAAiB,WAAU,kBAAiB,OAAO,WAAW,CACjE,CACF;AAAA,EAEJ;AACF;AAWA,IAAO,mBAAQ;;;ACtJf,IAAAE,kBAAmB;AACnB,IAAAC,iBAAkB;AAclB,IAAMC,cAAa;AAAA,EACjB,OAAO;AAAA,IACL,UAAU;AAAA,IACV,UAAU;AAAA,IACV,QAAQ,EAAE,CAAC;AAAA,IACX,QAAQ,EAAE,CAAC;AAAA,IACX,QAAQ;AAAA,EACV;AAAA,EACA,QAAQ;AAAA,IACN,UAAU;AAAA,IACV,UAAU;AAAA,IACV,QAAQ,EAAE,CAAC;AAAA,IACX,QAAQ,EAAE,GAAG;AAAA,IACb,QAAQ;AAAA,EACV;AAAA,EACA,OAAO;AAAA,IACL,UAAU;AAAA,IACV,UAAU;AAAA,IACV,QAAQ,EAAE,CAAC;AAAA,IACX,QAAQ,EAAE,CAAC;AAAA,IACX,QAAQ;AAAA,EACV;AACF;AAEA,IAAM,oBAAoB,gBAAAC,QAAO;AAAA,sBACX,WAClB,MAAM,WAAW,cAAc,kBAAkB,IAAI,aAAa;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,YAQ1D,WAASD,YAAW,MAAM,IAAI,EAAE,MAAM;AAAA;AAAA;AAAA,WAGvC,WAAS,cAAc,MAAM,SAAS,MAAM,CAAC;AAAA,IACpD,cAAc,MAAM,CAAC;AAAA,mBACN,WAASA,YAAW,MAAM,IAAI,EAAE,MAAM;AAAA,IACrD,WAAS,YAAYA,YAAW,MAAM,IAAI,EAAE,QAAQ,CAAC;AAAA,eAC1C,WAASA,YAAW,MAAM,IAAI,EAAE,MAAM;AAAA,IACjD,WACA,MAAM,cACN,UAAU,MAAM,UAAU,eAAeA,YAAW,MAAM,IAAI,EAAE,MAAM,GAAG;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MAQvE,aAAa,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,wBASI,WAClB,cAAc,MAAM,WAAW,qBAAqB,iBAAiB,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA,wBAKpD,cAAc,kBAAkB,CAAC;AAAA;AAAA;AAAA;AAAA,aAI5C,cAAc,iBAAiB,CAAC;AAAA;AAAA;AAAA;AAY7C,IAAM,aAAa,eAAAE,QAAM;AAAA,EACvB,CACE,IAYA,QACG;AAbH,iBACE;AAAA;AAAA,MACA,OAAO;AAAA,MACP;AAAA,MACA;AAAA,MACA,eAAe;AAAA,MACf;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IA7GN,IAoGI,IAUK,kBAVL,IAUK;AAAA,MATH;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA;AAKF,UAAM,gBACJ,+BAAAA,QAAA;AAAA,MAAC;AAAA;AAAA,QACC,aAAa,iBAAiB,WAAW;AAAA,QACzC,cAAc,iBAAiB,UAAU;AAAA,QACzC,SAAQ;AAAA;AAAA,MAER,+BAAAA,QAAA;AAAA,QAAC;AAAA;AAAA,UACC;AAAA,UACA,MAAMF,YAAW,IAAI,EAAE;AAAA,UACvB,OAAO,aAAa,kBAAkB;AAAA;AAAA,MACxC;AAAA,IACF;AAGF,WACE,+BAAAE,QAAA;AAAA,MAAC;AAAA;AAAA,QACC;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA,UAAU;AAAA,QACV;AAAA,QACA,IAAI;AAAA,QACJ;AAAA,QACA;AAAA,SACI;AAAA,MAEH,QAAQ,iBAAiB,UAAU;AAAA,MACnC;AAAA,MACA,QAAQ,iBAAiB,WAAW;AAAA,IACvC;AAAA,EAEJ;AACF;AAEA,WAAW,cAAc;AA2BzB,IAAO,sBAAQ;;;AChLf,IAAAC,kBAAmB;AACnB,uBAAsB;AACtB,IAAAC,iBAA2D;AAE3D,wBAAyB;AACzB,sCAA2B;;;ACLpB,IAAM,0BAA0B,eAAa;AAApD;AACE,QAAM,YAAW,2EAAe,gBAAf;AAEjB,MAAI,OAAO,QAAQ,MAAM,uBAAuB;AAG9C,aAAS,gBAAgB,IAAI,SAC3B,SAAS,cAAc,cAAc,GAAG,IAAI;AAE9C,UAAM,oBAAoB,SAAS,cAAc,KAAK;AAEtD,sBAAkB,KAAK;AACvB,sBAAkB,MAAM,UAAU;AAElC,aAAS,YAAY,iBAAiB;AAItC,WAAO;AAAA,MACL,UAAU;AAAA,MACV,kBAAkB,SAAS,iBAAiB,KAAK,QAAQ;AAAA,MACzD,qBAAqB,SAAS,oBAAoB,KAAK,QAAQ;AAAA,IACjE;AAAA,EACF;AAEA,MAAI,OAAO,WAAW,aAAa;AACjC,WAAO;AAAA,EACT;AAEA,SAAO;AACT;;;AC9BA,0BAA4B;AAC5B,IAAAC,UAAuB;AAEhB,SAAS,iBAAiB;AAC/B,SACE,sCAAC,oBAAAC,SAAA,EAAgB,OAAM,IAAG,SAAQ,WAAU,QAAO,sBAAqB;AAE5E;;;ACPA,IAAAC,kBAAmB;AACnB,IAAAC,iBAAkB;;;ACDlB,wBAA0B;AAC1B,IAAAC,UAAuB;AAEhB,SAAS,WAAW;AACzB,SAAO,sCAAC,kBAAAC,SAAA,EAAc,OAAM,IAAG,QAAO,sBAAqB;AAC7D;;;ADsBO,IAAM,gBAAoC;AAAA,EAC/C,MAAM;AAAA,EACN,OAAO;AAAA,EACP,CAAC,SAAS,GAAG;AAAA,EACb,CAAC,UAAU,GAAG;AAAA,EACd,UAAU;AAAA,EACV,WAAW;AACb;AAEA,IAAM,cAAc,gBAAAC,QAAO;AAAA,sBACL,cAAc,SAAS,CAAC;AAAA;AAAA,aAEjC,EAAE,GAAG,CAAC;AAAA;AAAA,IAEf,WAAS,QAAQ,aAAa,MAAM,QAAQ,CAAC;AAAA,IAC7C,WAAS,QAAQ,aAAa,MAAM,QAAQ,CAAC;AAAA,IAC7C,WAAS,QAAQ,cAAc,MAAM,SAAS,CAAC;AAAA,aACtC,WAAS,MAAM,MAAM;AAAA;AAAA,sBAEZ,cAAc,QAAQ,CAAC;AAAA,IACzC,UAAU,QAAQ,CAAC;AAAA,IACnB,UAAU,KAAK,CAAC;AAAA;AAGpB,IAAM,kBAAkB,gBAAAA,QAAO;AAAA,aAClB,CAAC,EAAE,OAAO,MAAO,SAAS,SAAS,MAAO;AAAA;AAAA,2BAE5B,WAAS,MAAM,OAAO;AAAA,IAC7C,QAAQ,YAAY,OAAO,CAAC;AAAA,IAC5B,UAAU,KAAK,CAAC;AAAA;AAAA,gBAEJ,EAAE,CAAC,CAAC;AAAA,eACL,EAAE,CAAC,CAAC;AAAA,YACP,WAAU,MAAM,aAAa,YAAY,SAAU;AAAA,IAC3D,WACA,MAAM,iBACN,CAAC,MAAM,cACP;AAAA,wBACoB,cAAc,iBAAiB,CAAC;AAAA,GACrD;AAAA,IACC,WACA,MAAM,cACN;AAAA;AAAA,kBAEc,EAAE,CAAC,CAAC;AAAA;AAAA;AAAA,8BAGQ,cAAc,QAAQ,CAAC;AAAA;AAAA,aAExC,EAAE,IAAI,CAAC;AAAA,cACN,EAAE,IAAI,CAAC;AAAA,2BACM,EAAE,CAAC,CAAC;AAAA;AAAA,GAE5B;AAAA;AAGH,IAAMC,SAAQ,gBAAAD,QAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,aAMR,CAAC,EAAE,WAAW,MAAO,aAAa,MAAM,CAAE;AAAA;AAGhD,IAAM,WAAW,CAAC,OAQ2C;AAR3C,eACvB;AAAA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAlGF,IA4FyB,IAOpB,kBAPoB,IAOpB;AAAA,IANH;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAGA,QAAM,cAAc,aAAa,SAAS;AAC1C,QAAM,aAAa,OAAO,SAAS;AACnC,QAAM,UAAU,GAAG,UAAU,QAAQ,WAAW;AAChD,QAAM,QAAQ,aAAa,oBAAoB;AAE/C,SACE,+BAAAE,QAAA;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,OACI;AAAA,IAEH,SACE,OAAO,SAAS,WACf,+BAAAA,QAAA,cAAC,qBAAU,QAAO,MAAK,OAAO,GAAG,QAAQ,GAAG,UAAS,YACnD,+BAAAA,QAAA,cAAC,iBAAM,WAAU,YACf,+BAAAA,QAAA,cAACD,QAAA,EAAM,KAAK,MAAM,KAAI,IAAG,YAAwB,CACnD,CACF,IAEA,+BAAAC,QAAA,cAAC,gBAAK,MAAY,OAAc;AAAA,IAEpC,+BAAAA,QAAA,cAAC,gBAAK,OAAc,aAAW,QAC5B,QACH;AAAA,IACC,cAAc,+BAAAA,QAAA,cAAC,gBAAK,MAAM,+BAAAA,QAAA,cAAC,cAAS,GAAI,OAAc;AAAA,EACzD;AAEJ;AAEA,IAAM,OAAO,CAAC,OAS8C;AAT9C,eACZ;AAAA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,qBAAqB,MAAM;AAAA,EA3I7B,IAoIc,IAQT,kBARS,IAQT;AAAA,IAPH;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAGA,SACE,+BAAAA,QAAA;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,OACI,mBAAmB,IACnB;AAAA,IAEH;AAAA,EACH;AAEJ;AAwBA,IAAO,eAAQ;;;AH/Jf,IAAM,gBAAgB,gBAAAC,QAAO;AAAA;AAAA;AAI7B,IAAM,sBAAsB,gBAAAA,QAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,2BAMR,WAAS,MAAM,OAAO;AAAA,IAC7C,QAAQ,YAAY,OAAO,CAAC;AAAA;AAAA;AAAA;AAAA,gBAIhB,EAAE,GAAG,CAAC;AAAA,eACP,EAAE,GAAG,CAAC;AAAA,WACV,cAAc,MAAM,CAAC;AAAA;AAAA,sBAEV,cAAc,qBAAqB,CAAC;AAAA;AAAA;AAAA;AAAA,MAIpD,WACA,MAAM,WACF,iEACA,kEAAkE;AAAA;AAAA;AAAA;AAAA,QAIpE,WACA,MAAM,WACF,4BACA,0BAA0B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,aAczB,cAAc,iBAAiB,CAAC;AAAA,wBACrB,cAAc,oBAAoB,CAAC;AAAA;AAAA;AAAA;AAM3D,IAAMC,SAAQ,gBAAAD,QAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,aAMR,CAAC,EAAE,WAAW,MAAO,aAAa,MAAM,CAAE;AAAA;AAGvD,IAAM,QAAQ,gBAAAA,QAAO;AAAA;AAAA;AAAA;AAAA;AAMrB,IAAM,eAAe,gBAAAA,QAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAS5B,IAAM,YAAY,CAChB,YAEA,MAAM,QAAQ,OAAO,KAAK,QAAQ,SAAS,KAAK,WAAW,QAAQ,CAAC;AAEtE,IAAM,0BAA0B,CAAC,EAAE,SAAS,oBAAoB,MAAM;AACpE,MAAI,CAAC,WAAW,CAAC,qBAAqB;AACpC,WAAO,EAAE,MAAM,MAAM,OAAO,KAAK;AAAA,EACnC;AAEA,MAAI,UAAU,OAAO,GAAG;AACtB,eAAW,UAAU,SAAS;AAC5B,YAAM,YAAY,OAAO,MAAM;AAAA,QAC7B,UAAQ,KAAK,UAAU;AAAA,MACzB;AACA,UAAI,WAAW;AACb,eAAO;AAAA,MACT;AAAA,IACF;AAAA,EACF,OAAO;AACL,UAAM,YAAY,QAAQ,KAAK,UAAQ,KAAK,UAAU,mBAAmB;AACzE,WAAO,aAAa,EAAE,MAAM,MAAM,OAAO,KAAK;AAAA,EAChD;AAEA,SAAO,EAAE,MAAM,MAAM,OAAO,KAAK;AACnC;AAEA,IAAM,UAAU,CAAC,EAAE,SAAS,cAAc,oBAAoB,MAAM;AAClE,MAAI,cAAc;AAChB,WAAO,aAAa;AAAA,EACtB;AAEA,MAAI,qBAAqB;AACvB,WAAO,wBAAwB,EAAE,SAAS,oBAAoB,CAAC,EAAE;AAAA,EACnE;AACF;AAEA,IAAM,WAAW,CAAC;AAAA,EAChB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAAM;AACJ,MAAI,cAAc;AAChB,WAAO,aAAa;AAAA,EACtB;AAEA,MAAI,qBAAqB;AACvB,WAAO,wBAAwB,EAAE,SAAS,oBAAoB,CAAC,EAAE;AAAA,EACnE;AAEA,SAAO;AACT;AAEA,IAAM,8BAA8B,CAAC;AAAA,EACnC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAAM;AACJ,QAAM,aAAa,eACf,qBAAqB,aAAa,KAAK,KACvC;AAEJ,QAAM,cAAc,+DAAyB;AAC7C,SAAO;AAAA;AAAA,IAEL,yBAAyB,cAAc,EAAE,uBAAuB;AAAA;AAAA,IAEhE,cAAc,CAAC,cAAc,aAAa,UAAU,EACjD,OAAO,OAAO,EACd,KAAK,IAAI;AAAA,EACd;AACF;AAEA,IAAM,eAAe,CAAC;AAAA,EACpB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAA4E;AAC1E,QAAM,OAAO,QAAQ,EAAE,SAAS,cAAc,oBAAoB,CAAC;AACnE,QAAM,UAAU,QAAQ,IAAI;AAE5B,QAAM,iBAAiB,CAAC,uBAAuB,CAAC;AAChD,QAAM,aAAa,UAAU,SAAS;AACtC,QAAM,UAAU,GAAG,UAAU;AAC7B,QAAM,QAAQ,aAAa,oBAAoB;AAE/C,SACE,+BAAAE,QAAA;AAAA,IAAC;AAAA,oDACK,qBAAqB,IACrB,4BAA4B;AAAA,MAC9B;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF,CAAC,IAPF;AAAA,MAQC,UAAU,cAAc;AAAA,MACxB,UAAU;AAAA,MACV;AAAA,MACA;AAAA;AAAA,IAEC,YACE,OAAO,SAAS,WACf,+BAAAA,QAAA,cAAC,qBAAU,QAAO,MAAK,OAAO,GAAG,QAAQ,GAAG,UAAS,YACnD,+BAAAA,QAAA,cAAC,iBAAM,WAAU,YACf,+BAAAA,QAAA,cAACD,QAAA,EAAM,KAAK,MAAM,KAAI,IAAG,YAAwB,CACnD,CACF,IAEA,+BAAAC,QAAA;AAAA,MAAC;AAAA;AAAA,QACC,MAAM,QAAQ,EAAE,SAAS,cAAc,oBAAoB,CAAC;AAAA,QAC5D;AAAA;AAAA,IACF;AAAA,IAEJ,+BAAAA,QAAA,cAAC,gBAAK,aAAW,MAAC,OAAO,iBAAiB,eAAe,aACtD,SAAS;AAAA,MACR;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF,CAAC,CACH;AAAA,IACA,+BAAAA,QAAA,cAAC,gBAAK,MAAM,+BAAAA,QAAA,cAAC,oBAAe,GAAI,OAAc;AAAA,EAChD;AAEJ;AAEA,IAAM,eAAe,CAAC;AAAA,EACpB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAAM;AACJ,QAAM,cAAc,MAAM;AACxB,WAAO,kCACF,qBAAqB,IACrB,4BAA4B;AAAA,MAC7B;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF,CAAC;AAAA,EAEL;AACA,QAAM,kBAAkB,MAAiC;AACvD,QAAI,cAAc;AAChB,aAAO;AAAA,IACT;AAEA,QAAI,qBAAqB;AACvB,aAAO,wBAAwB,EAAE,SAAS,oBAAoB,CAAC;AAAA,IACjE;AAAA,EACF;AAEA,QAAM,iBAAiB,iCAClB,gBAAgB,IADE;AAAA,IAErB,aAAa;AAAA,IACb;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAEA,SAAO,QAAQ,gBAAgB,YAAY,CAAC;AAC9C;AAEA,IAAM,oBAAoB,CACxB,OACA,YAC8B;AAC9B,MAAI,UAAU,OAAO,GAAG;AACtB,eAAW,UAAU,SAAS;AAC5B,YAAM,YAAY,OAAO,MAAM,KAAK,UAAQ,KAAK,UAAU,KAAK;AAChE,UAAI,WAAW;AACb,eAAO;AAAA,MACT;AAAA,IACF;AAAA,EACF,OAAO;AACL,WAAO,QAAQ,KAAK,UAAQ,KAAK,UAAU,KAAK;AAAA,EAClD;AACF;AAEA,IAAM,+BAA+B,CACnC,qBACA,qBACG;AACH,SAAO;AAAA,IACL,oBAAoB,wBAAwB,iBAAiB;AAAA,EAC/D;AACF;AAEA,IAAM,eAAe,CACnB,MACA,OACA,cACA,qBACA,kBACA,iBACG;AACH,QAAM,aACH,CAAC,gBAAgB,KAAK,UAAU,uBAChC,gBAAgB,aAAa,UAAU,KAAK;AAC/C,SACE,+BAAAA,QAAA;AAAA,IAAC;AAAA;AAAA,MACC,KAAK;AAAA,MACL;AAAA,MACA,MAAM,KAAK;AAAA,MACX,QAAQ,KAAK;AAAA,OACT,aAAa;AAAA,MACf,KAAK,GAAG,KAAK,KAAK,IAAI,KAAK;AAAA,MAC3B;AAAA,MACA;AAAA,MACA,UAAU,KAAK;AAAA,MACf,iBAAiB;AAAA,IACnB,CAAC,IAXF;AAAA,MAYC,YAAY,KAAK;AAAA,MACjB,YAAY,KAAK;AAAA,MACjB,eAAe,qBAAqB;AAAA,MACpC;AAAA;AAAA,IAEC,KAAK;AAAA,EACR;AAEJ;AAEA,IAAM,aAAa,CAAC,OAOd;AAPc,eAClB;AAAA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAtVF,IAiVoB,IAMf,sBANe,IAMf;AAAA,IALH;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAGA,MAAI,CAAC,UAAU,OAAO,GAAG;AACvB,WACE,+BAAAA,QAAA,cAAC,iCAAS,YACP,QAAQ;AAAA,MAAI,CAAC,MAAM,UAClB;AAAA,QACE;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,IACF,CACF;AAAA,EAEJ;AAEA,MAAI,iBAAiB;AACrB,SACE,+BAAAA,QAAA,cAAC,iCAAS,YACP,QAAQ,IAAI,WAAS;AACpB,UAAM,UAAU,SAAS,MAAM,MAAM,QAAQ,QAAQ,GAAG,CAAC;AACzD,WACE,+BAAAA,QAAA,cAAC,QAAG,KAAK,WACP,+BAAAA,QAAA,cAAC,kBAAO,MAAK,UAAS,KAAI,SAAQ,QAAO,YACvC,+BAAAA,QAAA,cAAC,gBAAK,IAAI,SAAS,MAAK,WAAU,YAAW,UAC1C,MAAM,KACT,CACF,GACA,+BAAAA,QAAA,cAAC,SAAM,MAAK,SAAQ,mBAAiB,WAClC,MAAM,MAAM,IAAI,UAAQ;AACvB,aAAO;AAAA,QACL;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,IACF,CAAC,CACH,CACF;AAAA,EAEJ,CAAC,CACH;AAEJ;AAEA,IAAM,SAAS,CAAC,OAwBR;AAxBQ,eACd;AAAA;AAAA,IACA;AAAA,IACA,aAAa;AAAA,IACb;AAAA,IACA,gBAAgB;AAAA,IAChB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,eAAe;AAAA,IACf;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,eAAe;AAAA,EA1ZjB,IAyYgB,IAkBX,kBAlBW,IAkBX;AAAA,IAjBH;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAQA,QAAM,cAAc,wBAAwB,SAAS;AAErD,QAAM,CAAC,iBAAiB,kBAAkB,QAAI,yBAAS,KAAK;AAE5D,QAAM,CAAC,kBAAkB,mBAAmB,QAAI;AAAA,IAC9C,kBAAkB,qBAAqB,OAAO;AAAA,EAChD;AAEA,QAAM,CAAC,cAAc,eAAe,QAAI,yBAAS,gBAAgB;AAEjE,QAAM,oBAAoB,UAAQ;AAChC,oBAAgB,IAAI;AACpB,gBAAY,SAAS,OAAO,OAAO,EAAE;AAAA,EACvC;AAEA,QAAM,iBAAiB;AAAA,IACrB,cAAc,UAAS,OAAO,KAAK,QAAQ;AAAA,IAC3C,UAAU;AAAA,IACV;AAAA,IACA;AAAA,IACA;AAAA,IACA,QAAQ;AAAA,EACV;AAEA,MAAI,aAAa;AACf,mBAAe,cAAc;AAAA,EAC/B;AAEA,QAAM,EAAE,YAAY,cAAc,aAAa,cAAc,QAAI,4BAAS;AAAA,IACxE,QAAQ;AAAA,IACR;AAAA,IACA,gDAAAC;AAAA,IACA,WAAW,cAAc,YAAY;AAAA,IACrC,MAAM;AAAA,IACN,MAAM;AAAA,EACR,CAAC;AAED,gCAAU,MAAM;AACd,QAAI,6BAA6B,qBAAqB,gBAAgB,GAAG;AACvE,YAAMC,gBAAe,kBAAkB,qBAAqB,OAAO;AAEnE,0BAAoBA,aAAY;AAChC,sBAAgBA,aAAY;AAAA,IAC9B;AAAA,EACF,GAAG,CAAC,qBAAqB,SAAS,gBAAgB,CAAC;AAEnD,gCAAU,MAAM;AACd,oBAAgB,aAAa,eAAe;AAAA,EAC9C,GAAG,CAAC,iBAAiB,YAAY,CAAC;AAElC,QAAM,eAAe,CAAC,OAAO,YAAY;AACvC,QAAI,QAAQ,WAAW,QAAW;AAChC,UAAI,QAAQ,SAAS,iBAAAC,QAAU,iBAAiB,eAAe;AAC7D,2BAAmB,KAAK;AAExB,eAAO,EAAE,QAAQ,MAAM;AAAA,MACzB;AAEA,yBAAmB,QAAQ,MAAM;AAAA,IACnC;AAEA,WAAO;AAAA,EACT;AAEA,SACE,+BAAAH,QAAA,cAAC,kCAAkB,QACjB,+BAAAA,QAAA,cAAC,iBAAAG,SAAA,iCAAc,iBAAd,EAA8B,iBAC5B,CAAC;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,cAAAD;AAAA,EACF,MAAM;AACJ;AAAA;AAAA,MAEE,+BAAAF,QAAA,cAAC,SAAI,MAAK,kBACR,+BAAAA,QAAA,cAAC,0BAAQ,eACN,UACC,+BAAAA,QAAA;AAAA,QAAC;AAAA;AAAA,UACC;AAAA,UACA,cAAcE;AAAA,UACd;AAAA,UACA,mBAAmB;AAAA,UACnB;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA;AAAA,MACF,IAEA,+BAAAF,QAAA;AAAA,QAAC;AAAA;AAAA,UACC;AAAA,UACA,cAAcE;AAAA,UACd;AAAA,UACA,mBAAmB;AAAA,UACnB;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA;AAAA,MACF,CAEJ,GACC,mBACC,UACA;AAAA,QACE,+BAAAF,QAAA;AAAA,UAAC;AAAA,2CACK,aADL;AAAA,YAEC,OAAO,iCACF,WAAW,QADT;AAAA,cAEL,QAAQ;AAAA,cACR,OAAO,eAAe,SAAS,+CAAe;AAAA,YAChD;AAAA;AAAA,UAEA,+BAAAA,QAAA;AAAA,YAAC;AAAA;AAAA,cACC;AAAA,cACA,cAAcE;AAAA,cACd;AAAA,cACA;AAAA,cACA;AAAA,cACA,UAAU;AAAA,cACV,oBAAoB;AAAA,cACpB,UAAU;AAAA,cACV,WAAW;AAAA,cACX,UAAU;AAAA;AAAA,UACZ;AAAA,QACF;AAAA,MACF,GACD,YAAY,CAAC,mBACZ,+BAAAF,QAAA,cAAC,oBAAc,YAAa,CAEhC;AAAA;AAAA,EAEJ,CACF,CACF;AAEJ;AAkDA,IAAO,iBAAQ;;;AKpmBf,IAAAI,kBAAmB;AACnB,IAAAC,iBAAkB;AAClB,6BAA8B;;;ACF9B,IAAAC,iBAAgC;AAUhC,SAAS,iBAAiB,OAAwB,SAAyB;AACzE,QAAM,eAAyB;AAE/B,sCAAgB,MAAM;AACpB,UAAM,OAAO,6CAAc;AAC3B,UAAM,OAAO,6CAAc;AAE3B,QAAI,gBAAgB,UAAa,CAAC,QAAQ,CAAC,MAAM;AAC/C;AAAA,IACF;AAEA,QAAI,SAAS;AAEX,YAAM,iBAAiB,OAAO,aAAa,KAAK;AAChD,YAAM,mBACJ;AAAA,QACE,OAAO,iBAAiB,IAAI,EAAE,iBAAiB,eAAe;AAAA;AAAA;AAAA;AAAA,QAI9D;AAAA,MACF,KAAK;AASP,cAAQ,OAAO;AAAA,QACb,KAAK,QAAQ;AACX,eAAK,MAAM,WAAW;AACtB,eAAK,MAAM,WAAW;AACtB,eAAK,MAAM,eAAe,GACxB,mBAAmB,cACrB;AACA;AAAA,QACF;AAAA,QACA,KAAK,QAAQ;AACX,eAAK,MAAM,YAAY,YAAY,UAAU;AAC7C,eAAK,MAAM,YAAY,YAAY,QAAQ;AAC3C,eAAK,MAAM;AAAA,YACT;AAAA,YACA,GAAG,mBAAmB,cAAc;AAAA,UACtC;AACA;AAAA,QACF;AAAA,QAEA;AACE;AAAA,MACJ;AAAA,IACF;AAEA,WAAO,MAAM;AACX,cAAQ,OAAO;AAAA,QACb,KAAK,QAAQ;AAEX,eAAK,MAAM,WAAW;AACtB,eAAK,MAAM,WAAW;AACtB,eAAK,MAAM,eAAe;AAC1B;AAAA,QACF;AAAA,QACA,KAAK,QAAQ;AACX,eAAK,MAAM,eAAe,UAAU;AACpC,eAAK,MAAM,eAAe,UAAU;AACpC,eAAK,MAAM,eAAe,eAAe;AACzC;AAAA,QACF;AAAA,QAEA;AACE;AAAA,MACJ;AAAA,IACF;AAAA,EAEF,GAAG,CAAC,cAAc,SAAS,KAAK,CAAC;AACnC;AAEA,IAAO,6BAAQ;;;ADhFf,IAAM,WAAW;AAEjB,IAAM,kBAAkB,gBAAAC,QAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,gBAMf,WAAS,cAAc,MAAM,eAAe,CAAC;AAAA,aAChD,WAAS,MAAM,MAAM;AAAA;AAAA;AAIlC,IAAM,kBAAkB,gBAAAA,QAAO;AAAA;AAAA;AAAA;AAK/B,IAAM,WAAW,CAAC,OAWV;AAXU,eAChB;AAAA;AAAA,IACA;AAAA,IACA,SAAS;AAAA,IACT,kBAAkB;AAAA,EA9BpB,IA0BkB,IAKb,kBALa,IAKb;AAAA,IAJH;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAQA,QAAM,EAAE,OAAO,YAAY,QAAI,sCAAc,QAAQ,QAAQ;AAE7D,6BAAiB,QAAQ,MAAM;AAE/B,SACE,+BAAAC,QAAA,6BAAAA,QAAA,gBACG,eACC,+BAAAA,QAAA;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA;AAAA,MACA,OAAO;AAAA,QACL,YAAY,WAAW,QAAQ;AAAA,QAC/B,SAAS,UAAU,UAAU,IAAI;AAAA,MACnC;AAAA,OACI;AAAA,IAEJ,+BAAAA,QAAA,cAAC,uBAAiB,QAAS;AAAA,EAC7B,CAEJ;AAEJ;AASA,IAAO,mBAAQ;;;AEnEf,IAAAC,kBAAmB;AACnB,8BAAsB;AAEtB,IAAAC,iBAAoD;;;ACJpD,mBAAsB;AACtB,IAAAC,UAAuB;AAEhB,SAAS,WAAW;AACzB,SAAO,sCAAC,aAAAC,SAAA,EAAU,OAAM,IAAG,QAAO,sBAAqB;AACzD;;;ADoBA,IAAM,4BAA4B;AAElC,IAAM,iBAAiB,gBAAAC,QAAO;AAAA;AAAA,wBAEN,WAAS,MAAM,IAAI;AAAA;AAAA;AAI3C,IAAM,mBAAmB,gBAAAA,QAAO;AAAA,SACvB,WACL,aAAa,aAAa,MAAM,SAAS,GAAG,MAAM,SAAS,EAAE,GAAG;AAAA,sBAC9C,cAAc,SAAS,CAAC;AAAA,WACnC,cAAc,MAAM,CAAC;AAAA,YACpB,WAAS,aAAa,MAAM,WAAW,MAAM,SAAS,EAAE,MAAM;AAAA,IACtE,UAAU,OAAO,CAAC;AAAA,IAClB,UAAU,QAAQ,CAAC;AAAA;AAAA,+BAEQ,WAC3B,MAAM,cAAc,WAAW,YAAY,MAAS;AAAA,gCACxB,WAC5B,MAAM,cAAc,WAAW,YAAY,MAAS;AAAA,IACpD,WAAS,QAAQ,cAAc,MAAM,SAAS,CAAC;AAAA,IAC/C,WAAS,QAAQ,aAAa,MAAM,QAAQ,CAAC;AAAA;AAAA,cAEnC,WAAS,aAAa,MAAM,WAAW,MAAM,SAAS,EAAE,QAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAW9E,IAAM,mBAAmB,gBAAAA,QAAO;AAAA;AAAA,SAEvB,EAAE,GAAG,CAAC;AAAA,WACJ,EAAE,GAAG,CAAC;AAAA;AAAA;AAIjB,IAAM,sBAAsB,gBAAAA,QAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAQnC,IAAM,eAAe,gBAAAA,QAAO;AAAA;AAAA;AAAA;AAAA,oBAIR,WAAS,MAAM,MAAM;AAAA;AAAA;AAIzC,IAAM,iBAAiB,gBAAAA,QAAO;AAAA;AAAA;AAAA;AAAA,iBAIb,WACb,MAAM,cAAc,4BAA4B,MAAM,GAAG;AAAA;AAAA;AAAA;AAAA;AAAA;AAO7D,IAAMC,mBAAkB,gBAAAD,QAAO;AAAA;AAAA;AAAA;AAAA,iBAId,WACb,MAAM,YAAY,CAAC,MAAM,YACrB,IACA,CAAC,MAAM,YAAY,CAAC,MAAM,YACxB,4BACA,CAAC;AAAA,oBACS,WAChB,MAAM,cAAc,CAAC,MAAM,YACvB,IACA,CAAC,MAAM,cAAc,CAAC,MAAM,YAC1B,4BACA,CAAC;AAAA,kBACO,WAAU,MAAM,YAAY,IAAI,yBAA0B;AAAA,mBACzD,WAAU,MAAM,YAAY,IAAI,yBAA0B;AAAA;AAAA,kBAE3D,cAAc,QAAQ,CAAC;AAAA,kBACvB,WAAU,MAAM,cAAc,UAAU,GAAI;AAAA;AAG9D,IAAM,2BAA2B,gBAAAA,QAAO;AAAA;AAAA;AAAA,IAGpC,WAAS,aAAa,MAAM,SAAS,CAAC;AAAA;AAAA;AAAA,MAGpC,WAAS,aAAa,MAAM,SAAS,CAAC;AAAA;AAAA;AAI5C,IAAM,eAAe,CAAC,cAA+B;AACnD,MAAI,OAAO,cAAc,UAAU;AACjC,WAAO,QAAQ,cAAc,SAAS;AAAA,EACxC;AAEA,SAAO,iBAAiB;AAC1B;AAEO,IAAM,YAAY,CAAC,OAyBlB;AAzBkB,eACxB;AAAA;AAAA,IACA;AAAA,IACA;AAAA,IACA,WAAW;AAAA,IACX,YAAY;AAAA,IACZ,YAAY;AAAA,IACZ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EApJF,IAwI0B,IAarB,kBAbqB,IAarB;AAAA,IAZH;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAcA,QAAM,cAAc,OAAK;AACvB,QAAI,EAAE,QAAQ,UAAU;AACtB,QAAE,eAAe;AAEjB,UAAI,CAAC,aAAa;AAChB,qBAAa,CAAC;AAAA,MAChB;AAAA,IACF;AAAA,EACF;AAEA,gCAAU,MAAM;AACd,WAAO,iBAAiB,WAAW,WAAW;AAE9C,WAAO,MAAM;AACX,aAAO,oBAAoB,WAAW,WAAW;AAAA,IACnD;AAAA,EACF,GAAG,CAAC,QAAQ,YAAY,CAAC;AAEzB,6BAAiB,QAAQ,MAAM;AAE/B,SACE,+BAAAE,QAAA;AAAA,IAAC,wBAAAC;AAAA,IAAA;AAAA,MACC,QAAQ;AAAA,MACR,kBAAkB;AAAA,QAChB,yBAAyB;AAAA,QACzB,mBAAmB;AAAA,SACf,iBAAiB,SAAY,EAAE,aAAa,IAAI,CAAC;AAAA;AAAA,IAOvD,+BAAAD,QAAA;AAAA,MAAC;AAAA;AAAA,QACC,MAAM;AAAA,QACN;AAAA,QACA;AAAA,QACA;AAAA,QACA,SAAS,OAAK,EAAE,gBAAgB;AAAA,QAChC;AAAA,QACA,cAAY;AAAA,QACZ,cAAY;AAAA,QACZ,mBAAiB;AAAA,SACb;AAAA,MAEH,CAAC,eAAe,gBACf,+BAAAA,QAAA,cAAC,wBACC,+BAAAA,QAAA;AAAA,QAAC;AAAA;AAAA,UACC,SAAQ;AAAA,UACR,MAAM,+BAAAA,QAAA,cAAC,cAAS;AAAA,UAChB,SAAS;AAAA;AAAA,MACX,CACF;AAAA,MAEF,+BAAAA,QAAA;AAAA,QAAC;AAAA,yCAGM,cAAc,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,GAAG,IAHrD;AAAA,UAIC;AAAA;AAAA,QAEC;AAAA,MACH;AAAA,IACF;AAAA,EACF;AAEJ;AAIA,IAAM,QAAQ,eAAAA,QAAM;AAAA,EAClB,CACE,IA8BA,QACG;AA/BH,iBACE;AAAA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,YAAY;AAAA,MACZ,WAAW;AAAA,MACX,YAAY;AAAA,MACZ,SAAS;AAAA,MACT;AAAA,MACA,YAAY;AAAA,MACZ;AAAA,MACA;AAAA,IA7PN,IAyOI,IAqBK,kBArBL,IAqBK;AAAA,MApBH;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA;AA7PN,QAAAE;AAyQI,UAAM,UAAU,KAAK,GAAG,EAAE,iBAAiB;AAC3C,UAAM,aACJ,cAAc,mBAAmB,oBAAoB,OAAO;AAC9D,UAAM,oBAAoB,OAAK;AAC7B,UAAI,mBAAmB;AACrB,UAAE,gBAAgB;AAClB,0BAAkB,CAAC;AAEnB;AAAA,MACF;AAEA,mBAAa,CAAC;AAAA,IAChB;AAEA,WACE,+BAAAF,QAAA,cAAC,mCAAS,QAAgB,UAAoB,QAC5C,+BAAAA,QAAA;AAAA,MAAC;AAAA;AAAA,QACC,QAAO;AAAA,QACP,SAAS;AAAA,QACT;AAAA;AAAA,MAEA,+BAAAA,QAAA;AAAA,QAAC;AAAA;AAAA,UACC;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA,iBAAgBE,MAAA,0CAAkB,YAAlB,OAAAA,MAA6B;AAAA,UAC7C;AAAA;AAAA,QAEA,+BAAAF,QAAA;AAAA,UAAC;AAAA;AAAA,YACC,MAAM,GAAG,QAAQ,UAAU,EAAE,IAAI,WAAW,SAAS,EAAE,IACrD,aAAa,SAAS,EACxB;AAAA;AAAA,UAEC,SACC,+BAAAA,QAAA;AAAA,YAAC;AAAA;AAAA,cACC,QACE,WACI,4BACA;AAAA;AAAA,YAGN,+BAAAA,QAAA,cAAC,gBAAK,SAAQ,MAAK,SAAQ,SAAQ,IAAI,WACpC,KACH;AAAA,UACF;AAAA,UAEF,+BAAAA,QAAA;AAAA,YAACD;AAAA,YAAA;AAAA,cACC;AAAA,cACA;AAAA,cACA,UAAU,QAAQ,KAAK;AAAA,cACvB;AAAA;AAAA,YAEC,YAAY;AAAA,UACf;AAAA,UAEC,cACC,+BAAAC,QAAA;AAAA,YAAC;AAAA;AAAA,cACC,KAAK,WAAW,4BAA4B;AAAA,cAC5C;AAAA;AAAA,YAEC;AAAA,YACD,+BAAAA,QAAA,cAAC,2BACE,mBACC,+BAAAA,QAAA,cAAC,kBAAO,OAAM,SAAQ,UAAQ,QAC3B,eACH,GAED,UACH;AAAA,UACF;AAAA,QAEJ;AAAA,MACF;AAAA,IACF,CACF;AAAA,EAEJ;AACF;AA+DA,IAAO,gBAAQ;;;AE3Zf,IAAAG,iBAAoB;AACpB,IAAAC,kBAAmB;AACnB,IAAAD,iBAAkB;AAKlB,IAAME,YAAW;AAAA,EACf,SAAS;AAAA,IACP,OAAO,cAAc,SAAS;AAAA,IAC9B,WAAW,aAAa;AAAA,IACxB,WAAW;AAAA,EACb;AAAA,EACA,SAAS;AAAA,IACP,OAAO,cAAc,SAAS;AAAA,IAC9B,WAAW,aAAa;AAAA,IACxB,WAAW;AAAA,EACb;AAAA,EACA,QAAQ;AAAA,IACN,OAAO,cAAc,MAAM;AAAA,IAC3B,WAAW,aAAa;AAAA,IACxB,WAAW;AAAA,EACb;AACF;AAEA,IAAMC,gBAAe;AAAA,EACnB,SAAS;AAAA;AAAA;AAAA,EAGT,UAAU;AAAA;AAAA,aAEC,cAAc,iBAAiB,CAAC;AAAA;AAE7C;AAEA,IAAM,eAAe;AAAA,EACnB,UAAU;AAAA;AAAA;AAAA;AAAA;AAKZ;AAEA,IAAM,cAAc,gBAAAC,QAAO;AAAA,IACvB,WAAS,CAAC,MAAM,YAAY,UAAUF,UAAS,MAAM,OAAO,EAAE,KAAK,EAAE;AAAA,IACrE,WAAU,MAAM,WAAWC,cAAa,WAAWA,cAAa,OAAQ;AAAA,IACxE,WAAS,MAAM,OAAO,YAAY,aAAa,QAAQ;AAAA,IACvD,WACA,oBACED,UAAS,MAAM,OAAO,EAAE,cAAc,aAAa,cAAc,MACnE,EAAE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MAMA,WACA,oBACEA,UAAS,MAAM,OAAO,EAAE,cAAc,UAAU,cAAc,MAChE,EAAE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MAOF,aAAa,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAOpB,IAAM,OAAO,CAAC,OAYT;AAZS,eACZ;AAAA;AAAA,IACA;AAAA,IACA,UAAU;AAAA,IACV,UAAU;AAAA,IACV;AAAA,EA9EF,IAyEc,IAMT,kBANS,IAMT;AAAA,IALH;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAQA,wCAAAG,QAAA;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA;AAAA,MACA,IAAI;AAAA,MACJ,UAAU;AAAA,OACN;AAAA,IAEH;AAAA,EACH;AAAA;AAGK,IAAMC,qBAAoB,OAAO,KAAKJ,SAAQ;AAqBrD,IAAO,eAAQ;;;ACtHf,IAAAK,kBAAmB;AACnB,IAAAC,iBAAkB;AAMlB,IAAMC,eAAc;AAAA,EAClB,OAAO;AAAA,IACL,SAAS,GAAG,EAAE,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC;AAAA,IAC7B,UAAU;AAAA,EACZ;AAAA,EACA,QAAQ;AAAA,IACN,SAAS,GAAG,EAAE,GAAG,CAAC;AAAA,IAClB,UAAU;AAAA,EACZ;AACF;AAEA,IAAM,kBAAkB,gBAAAC,QAAO;AAAA;AAAA;AAAA;AAAA;AAAA,sBAKT,cAAc,qBAAqB,CAAC;AAAA;AAAA,aAE7C,WAASD,aAAY,MAAM,IAAI,EAAE,OAAO;AAAA,IACjD,UAAU,OAAO,CAAC;AAAA;AAAA,MAEhB,WACA,MAAM,QACF,4BACA,kCAAkC;AAAA,IACxC,WAAS,YAAYA,aAAY,MAAM,IAAI,EAAE,QAAQ,CAAC;AAAA,YAC9C,WAAS,MAAM,MAAM;AAAA;AAAA;AAAA;AAAA,QAIzB,WACA,MAAM,QAAQ,4BAA4B,0BAA0B;AAAA;AAAA;AAAA;AAAA;AAAA,QAKpE,WAAU,MAAM,QAAQ,iCAAiC,aAAc;AAAA,kBAC7D,WACZ,MAAM,QACF,0CACA,uCAAuC;AAAA;AAAA;AAAA;AAAA,aAIpC,cAAc,iBAAiB,CAAC;AAAA,wBACrB,cAAc,oBAAoB,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,aAS9C,cAAc,YAAY,CAAC;AAAA;AAAA;AAIxC,IAAM,WAAW,eAAAE,QAAM;AAAA,EACrB,CACE,IAWA,QACA;AAZA,iBACE;AAAA;AAAA,MACA;AAAA,MACA,OAAO;AAAA,MACP;AAAA,MACA;AAAA,MACA,OAAO;AAAA,MACP,SAAS;AAAA,MACT,QAAQ;AAAA,IA3Ed,IAmEI,IASK,kBATL,IASK;AAAA,MARH;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA;AAKF,0CAAAA,QAAA,6BAAAA,QAAA,gBACE,+BAAAA,QAAA;AAAA,MAAC;AAAA;AAAA,QACC,UAAU;AAAA,QACV;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,SACI;AAAA,IACN,GACC,QACC,+BAAAA,QAAA,6BAAAA,QAAA,gBACE,+BAAAA,QAAA,cAAC,kBAAO,QAAO,UAAS,GACxB,+BAAAA,QAAA,cAAC,gBAAK,OAAM,UAAS,YAAW,WAAU,MAAK,aAC5C,KACH,CACF,IACE,IACN;AAAA;AAEJ;AAaA,IAAO,mBAAQ;;;ACpHf,IAAAC,kBAAmB;AACnB,IAAAC,oBAAsB;AACtB,IAAAC,iBAMO;AAEP,IAAAC,qBAAyB;AACzB,IAAAC,mCAA2B;AAgB3B,IAAM,mBAAmB,gBAAAC,QAAO;AAAA;AAAA;AAIhC,IAAMC,SAAQ,gBAAAD,QAAO;AAAA;AAAA;AAAA;AAAA;AAMrB,IAAME,gBAAe,gBAAAF,QAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAS5B,IAAMG,aAAY,CAChB,YAEA,MAAM,QAAQ,OAAO,KAAK,QAAQ,SAAS,KAAK,WAAW,QAAQ,CAAC;AAEtE,IAAMC,2BAA0B,CAAC,EAAE,SAAS,oBAAoB,MAAM;AACpE,MAAI,CAAC,WAAW,CAAC,qBAAqB;AACpC,WAAO,EAAE,MAAM,MAAM,OAAO,KAAK;AAAA,EACnC;AAEA,MAAID,WAAU,OAAO,GAAG;AACtB,eAAW,UAAU,SAAS;AAC5B,YAAM,YAAY,OAAO,MAAM;AAAA,QAC7B,UAAQ,KAAK,UAAU;AAAA,MACzB;AACA,UAAI,WAAW;AACb,eAAO;AAAA,MACT;AAAA,IACF;AAAA,EACF,OAAO;AACL,UAAM,YAAY,QAAQ,KAAK,UAAQ,KAAK,UAAU,mBAAmB;AACzE,WAAO,aAAa,EAAE,MAAM,MAAM,OAAO,KAAK;AAAA,EAChD;AAEA,SAAO,EAAE,MAAM,MAAM,OAAO,KAAK;AACnC;AAEA,IAAME,WAAU,CAAC,EAAE,SAAS,cAAc,oBAAoB,MAAM;AAClE,MAAI,cAAc;AAChB,WAAO,aAAa;AAAA,EACtB;AAEA,MAAI,qBAAqB;AACvB,WAAOD,yBAAwB,EAAE,SAAS,oBAAoB,CAAC,EAAE;AAAA,EACnE;AACF;AAEA,IAAME,YAAW,CAAC;AAAA,EAChB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAAM;AACJ,MAAI,cAAc;AAChB,WAAO,aAAa;AAAA,EACtB;AAEA,MAAI,qBAAqB;AACvB,WAAOF,yBAAwB,EAAE,SAAS,oBAAoB,CAAC,EAAE;AAAA,EACnE;AAEA,SAAO;AACT;AAEA,IAAMG,+BAA8B,CAAC;AAAA,EACnC;AAAA,EACA;AAAA,EACA;AACF,MAAM;AACJ,QAAM,aAAa,eACf,qBAAqB,aAAa,KAAK,KACvC;AAEJ,SAAO;AAAA;AAAA,IAEL,yBAAyB,cAAc,EAAE,uBAAuB;AAAA;AAAA,IAEhE,cAAc,CAAC,cAAc,UAAU,EAAE,OAAO,OAAO,EAAE,KAAK,IAAI;AAAA,EACpE;AACF;AAEA,IAAM,yBAAyB,gBAAAP,QAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAgBtC,IAAM,sBAAsB,gBAAAA,QAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,sBAYb,cAAc,qBAAqB,CAAC;AAAA;AAAA;AAAA;AAAA,kBAIxC,WACd,MAAM,UAAU,EAAE,GAAG,IAAI,uCAAuC;AAAA,mBACjD,WACf,MAAM,WAAW,EAAE,GAAG,IAAI,uCAAuC;AAAA;AAAA;AAAA,MAG/D,WACA,MAAM,WACF,iEACA,kEAAkE;AAAA;AAAA,IAExE,QAAQ,aAAa,QAAQ,CAAC;AAAA;AAAA;AAAA;AAAA,QAI1B,WACA,MAAM,WACF,4BACA,0BAA0B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,aASzB,cAAc,iBAAiB,CAAC;AAAA,wBACrB,cAAc,oBAAoB,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,aAS9C,cAAc,YAAY,CAAC;AAAA;AAAA;AAIxC,IAAMQ,eAAc,gBAAAR,QAAO;AAAA;AAAA;AAAA,WAGhB,EAAE,CAAC,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAQf,IAAM,eAAe,gBAAAA,QAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,WAOjB,EAAE,CAAC,CAAC;AAAA;AAAA;AAAA;AAKf,IAAM,cAAc,gBAAAA,QAAO;AAAA;AAAA;AAAA,UAGjB,WACN,MAAM,UAAU,EAAE,GAAG,IAAI,uCAAuC;AAAA,WACzD,EAAE,GAAG,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AASjB,IAAM,iBAAiB,gBAAAA,QAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,aAMjB,CAAC,EAAE,WAAW,MAAO,aAAa,MAAM,CAAE;AAAA;AAGvD,IAAM,kBAAkB,CAAC;AAAA,EACvB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAA4B;AAC1B,QAAM,OAAOK,SAAQ,EAAE,SAAS,cAAc,oBAAoB,CAAC;AACnE,QAAM,UAAU,QAAQ,IAAI;AAC5B,QAAM,QAAQ,aAAa,oBAAoB;AAE/C,QAAM,sBAAsB,MAAM;AAChC,QAAI,CAAC,YAAY;AACf,mBAAa;AAAA,IACf;AAAA,EACF;AAEA,QAAM,aAAa;AAAA,IACjB,MAAM;AAAA,IACN,qBAAqB;AAAA,IACrB,iBAAiB;AAAA,IACjB,iBAAiB;AAAA,KACdE,6BAA4B;AAAA,IAC7B;AAAA,IACA;AAAA,IACA;AAAA,EACF,CAAC,IACE,cAAc;AAAA,IACf,UAAU;AAAA,IACV,SAAS;AAAA,IACT,SAAS;AAAA,IACT,OAAO;AAAA,IACP,QAAQ,MAAM;AACZ,6BAAuB,EAAE;AAAA,IAC3B;AAAA,IACA,UAAU,OAAK,uBAAuB,EAAE,OAAO,KAAK;AAAA,EACtD,CAAC;AAGH,QAAM,kBAAkB,CAAC,cAAc,CAAC;AAExC,SACE,+BAAAE,QAAA,cAAC,0BAAuB,SAAS,qBAAqB,UAAU,cAC7D,WACC,+BAAAA,QAAA,cAACD,cAAA,MACE,OAAO,SAAS,WACf,+BAAAC,QAAA,cAAC,qBAAU,QAAO,MAAK,OAAO,GAAG,QAAQ,GAAG,UAAS,YACnD,+BAAAA,QAAA,cAAC,iBAAM,WAAU,YACf,+BAAAA,QAAA,cAAC,kBAAe,KAAK,MAAM,KAAI,IAAG,YAAwB,CAC5D,CACF,IAEA,+BAAAA,QAAA,cAAC,gBAAK,MAAY,OAAc,CAEpC,GAGF,+BAAAA,QAAA;AAAA,IAAC;AAAA;AAAA,MACC,KAAK;AAAA,OACD,aAFL;AAAA,MAGC;AAAA,MACA,UAAU;AAAA,MACV;AAAA,MACA;AAAA;AAAA,EACF,GAEC,CAAC,cACA,+BAAAA,QAAA,cAAC,eAAY,WACX,+BAAAA,QAAA,cAAC,gBAAK,aAAW,MAAC,OAAO,kBAAkB,eAAe,aACvDH,UAAS;AAAA,IACR;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,CAAC,CACH,CACF,GAGF,+BAAAG,QAAA,cAAC,oBACE,YACC,+BAAAA,QAAA,cAAC,kBAAO,MAAK,SAAQ,IAErB,+BAAAA,QAAA,cAAC,gBAAK,MAAM,+BAAAA,QAAA,cAAC,oBAAe,GAAI,OAAc,CAElD,CACF;AAEJ;AAEA,IAAMC,qBAAoB,CACxB,OACA,YACyB;AAlV3B;AAmVE,MAAIP,WAAU,OAAO,GAAG;AACtB,eAAW,UAAU,SAAS;AAC5B,YAAM,YAAY,OAAO,MAAM,KAAK,UAAQ,KAAK,UAAU,KAAK;AAChE,UAAI,WAAW;AACb,eAAO;AAAA,MACT;AAAA,IACF;AAAA,EACF,OAAO;AACL,YAAO,aAAQ,KAAK,UAAQ,KAAK,UAAU,KAAK,MAAzC,YAA8C;AAAA,EACvD;AAEA,SAAO;AACT;AAEA,IAAMQ,gCAA+B,CACnC,qBACA,qBACG;AACH,QAAM,aAAa,uBAAuB,UAAS,qDAAkB;AAErE,SAAO;AACT;AAEA,IAAMC,gBAAe,CACnB,MACA,OACA,cACA,qBACA,kBACA,iBACG;AACH,QAAM,aACH,CAAC,gBAAgB,KAAK,UAAU,uBAChC,gBAAgB,aAAa,UAAU,KAAK;AAC/C,SACE,+BAAAH,QAAA;AAAA,IAAC;AAAA;AAAA,MACC,KAAK;AAAA,MACL;AAAA,MACA,MAAM,KAAK;AAAA,MACX,QAAQ,KAAK;AAAA,OACT,aAAa;AAAA,MACf,KAAK,GAAG,KAAK,KAAK,IAAI,KAAK;AAAA,MAC3B;AAAA,MACA;AAAA,MACA,UAAU,KAAK;AAAA,MACf,iBAAiB;AAAA,IACnB,CAAC,IAXF;AAAA,MAYC,YAAY,KAAK;AAAA,MACjB,YAAY,KAAK;AAAA,MACjB,eAAe,qBAAqB;AAAA,MACpC;AAAA;AAAA,IAEC,KAAK;AAAA,EACR;AAEJ;AAEA,IAAM,gBAAgB,CAAC,OAWjB;AAXiB,eACrB;AAAA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EArZF,IA4YuB,IAUlB,sBAVkB,IAUlB;AAAA,IATH;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAGA,QAAM,wBAAwB,kBAAkB,+BAAAA,QAAA,cAAC,oBAAO;AACxD,QAAM,6BAA6B,uBAAuB;AAE1D,MAAI,WAAW;AACb,WACE,+BAAAA,QAAA,cAAC,+BAAK,IAAG,SAAU,YACjB,+BAAAA,QAAA,cAAC,qBAAU,SAAQ,WACjB,+BAAAA,QAAA,cAAC,iBAAM,WAAU,YAAU,qBAAsB,CACnD,CACF;AAAA,EAEJ;AAEA,MAAI,CAAC,qBAAqB;AACxB,WACE,+BAAAA,QAAA,cAAC,+BAAK,IAAG,SAAU,YACjB,+BAAAA,QAAA,cAAC,qBAAU,SAAQ,WACjB,+BAAAA,QAAA,cAAC,iBAAM,WAAU,YAAU,0BAA2B,CACxD,CACF;AAAA,EAEJ;AAEA,MAAI,CAACN,WAAU,OAAO,GAAG;AACvB,WACE,+BAAAM,QAAA,cAAC,iCAAS,YACP,QAAQ;AAAA,MAAI,CAAC,MAAM,UAClBG;AAAA,QACE;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,IACF,CACF;AAAA,EAEJ;AAEA,MAAI,iBAAiB;AACrB,SACE,+BAAAH,QAAA,cAAC,iCAAS,YACP,QAAQ,IAAI,WAAS;AACpB,UAAM,UAAU,SAAS,MAAM,MAAM,QAAQ,QAAQ,GAAG,CAAC;AACzD,WACE,+BAAAA,QAAA,cAAC,QAAG,KAAK,WACP,+BAAAA,QAAA,cAAC,kBAAO,MAAK,UAAS,KAAI,SAAQ,QAAO,YACvC,+BAAAA,QAAA,cAAC,gBAAK,IAAI,SAAS,MAAK,WAAU,YAAW,UAC1C,MAAM,KACT,CACF,GACA,+BAAAA,QAAA,cAACR,QAAA,EAAM,MAAK,SAAQ,mBAAiB,WAClC,MAAM,MAAM,IAAI,UAAQ;AACvB,aAAOW;AAAA,QACL;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,IACF,CAAC,CACH,CACF;AAAA,EAEJ,CAAC,CACH;AAEJ;AAEA,IAAM,YAAY,CAAC,OA0BX;AA1BW,eACjB;AAAA;AAAA,IACA;AAAA,IACA;AAAA,IACA,aAAa;AAAA,IACb;AAAA,IACA,gBAAgB;AAAA,IAChB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,eAAe;AAAA,IACf;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAlfF,IA+dmB,IAoBd,kBApBc,IAoBd;AAAA,IAnBH;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAQA,QAAM,cAAc,wBAAwB,SAAS;AACrD,QAAM,eAAW,uBAAyB,IAAI;AAC9C,QAAM,CAAC,YAAY,aAAa,QAAI,yBAAiB,EAAE;AACvD,QAAM,CAAC,iBAAiB,kBAAkB,QAAI,yBAAkB,KAAK;AACrE,QAAM,CAAC,kBAAkB,mBAAmB,QAC1C;AAAA,IACEF,mBAAkB,qBAAqB,OAAO;AAAA,EAChD;AACF,QAAM,CAAC,cAAc,eAAe,QAAI;AAAA,IACtC;AAAA,EACF;AAEA,QAAM,yBAAyB,CAAC,UAAkB;AAChD,kBAAc,KAAK;AACnB,0BAAsB,mBAAmB,KAAK;AAAA,EAChD;AAEA,QAAM,oBAAoB,UAAQ;AAChC,UAAM,QAAQ,QAAQ;AAEtB,oBAAgB,KAAK;AACrB,sBAAkB,eAAe,KAAK;AAAA,EACxC;AAEA,QAAM,iBAAiB;AAAA,IACrB,cAAc,UAAS,OAAO,KAAK,QAAQ;AAAA,IAC3C,UAAU;AAAA,IACV;AAAA,IACA;AAAA,IACA;AAAA,IACA,QAAQ;AAAA,EACV;AAEA,MAAI,aAAa;AACf,mBAAe,cAAc;AAAA,EAC/B;AAEA,QAAM,EAAE,YAAY,cAAc,aAAa,cAAc,QAAI,6BAAS;AAAA,IACxE,QAAQ;AAAA,IACR;AAAA,IACA,iDAAAG;AAAA,IACA,WAAW,cAAc,YAAY;AAAA,IACrC,MAAM;AAAA,IACN,MAAM;AAAA,EACR,CAAC;AAED,gCAAU,MAAM;AACd,QAAIF,8BAA6B,qBAAqB,gBAAgB,GAAG;AACvE,YAAM,OAAOD,mBAAkB,qBAAqB,OAAO;AAE3D,0BAAoB,IAAI;AACxB,sBAAgB,IAAI;AAEpB,oBAAc,EAAE;AAAA,IAClB;AAAA,EACF,GAAG,CAAC,qBAAqB,SAAS,gBAAgB,CAAC;AAEnD,gCAAU,MAAM;AAnjBlB,QAAAI;AAojBI,oBAAgB,aAAa,eAAe;AAE5C,QAAI,CAAC,iBAAiB;AACpB,OAAAA,MAAA,SAAS,YAAT,gBAAAA,IAAkB;AAAA,IACpB;AAAA,EACF,GAAG,CAAC,iBAAiB,YAAY,CAAC;AAElC,QAAM,0BAAsB,wBAAQ,MAAM;AACxC,QAAI,CAAC,MAAM,QAAQ,OAAO,GAAG;AAC3B,aAAO;AAAA,IACT;AAEA,WAAOX,WAAU,OAAO,IACpB,QAAQ,KAAK,WAAS,MAAM,MAAM,SAAS,CAAC,IAC5C,QAAQ,SAAS;AAAA,EACvB,GAAG,CAAC,OAAO,CAAC;AAEZ,QAAM,eAAe,CAAC,OAAO,YAAY;AACvC,QAAI,QAAQ,WAAW,QAAW;AAChC,UAAI,QAAQ,SAAS,kBAAAY,QAAU,iBAAiB,eAAe;AAC7D,2BAAmB,KAAK;AAExB,eAAO,EAAE,QAAQ,MAAM;AAAA,MACzB;AAEA,yBAAmB,QAAQ,MAAM;AAAA,IACnC;AAEA,WAAO;AAAA,EACT;AAEA,SACE,+BAAAN,QAAA,cAAC,qCAAqB,QACpB,+BAAAA,QAAA,cAAC,kBAAAM,SAAA,iCAAc,iBAAd,EAA8B,iBAC5B,CAAC;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,cAAAC;AAAA,EACF,MAAM;AACJ;AAAA;AAAA,MAEE,+BAAAP,QAAA,cAAC,SAAI,MAAK,kBACR,+BAAAA,QAAA,cAAC,0BAAQ,eACP,+BAAAA,QAAA;AAAA,QAAC;AAAA;AAAA,UACC;AAAA,UACA,cAAcO;AAAA,UACd;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA,QAAQ,mBAAmB;AAAA,UAC3B,cAAc,MAAM;AAClB,gBAAI,uBAAuB,WAAW;AACpC,iCAAmB,IAAI;AAAA,YACzB;AAAA,UACF;AAAA,UACA,WAAW;AAAA,UACX,UAAU,QAAQ,YAAY;AAAA;AAAA,MAChC,CACF,GACC,mBACC,UACA;AAAA,QACE,+BAAAP,QAAA;AAAA,UAAC;AAAA,2CACK,aADL;AAAA,YAEC,OAAO,iCACF,WAAW,QADT;AAAA,cAEL,QAAQ;AAAA,cACR,OAAO,eAAe,SAAS,+CAAe;AAAA,YAChD;AAAA;AAAA,UAEA,+BAAAA,QAAA;AAAA,YAAC;AAAA;AAAA,cACC;AAAA,cACA,cAAcO;AAAA,cACd;AAAA,cACA;AAAA,cACA;AAAA,cACA;AAAA,cACA;AAAA,cACA;AAAA,cACA;AAAA,cACA,UAAU;AAAA,cACV,oBAAoB;AAAA,cACpB,UAAU;AAAA,cACV,WAAW;AAAA,cACX,UAAU;AAAA;AAAA,UACZ;AAAA,QACF;AAAA,MACF,GACD,QAAQ,YAAY,KAAK,CAAC,kBACzB,+BAAAP,QAAA,cAACP,eAAA,MAAc,YAAa,IAC1B,IACN;AAAA;AAAA,EAEJ,CACF,CACF;AAEJ;AA0DA,IAAO,oBAAQ;;;ACvtBf,IAAAe,kBAAmB;AACnB,IAAAC,oBAA4C;AAC5C,IAAAC,iBAA2C;AAE3C,IAAAC,qBAAyB;AACzB,IAAAC,mCAA2B;AAgB3B,IAAM,wBAAwB,CAAC;AAAA,EAC7B;AAAA,EACA;AAAA,EACA;AACF,MAIK;AACH,SAAO;AAAA;AAAA,IAEL,yBAAyB,cAAc,EAAE,uBAAuB;AAAA,IAEhE,iBAAiB;AAAA;AAAA,IAGjB,cAAc,eAAe,eAAe;AAAA,EAC9C;AACF;AAEA,IAAM,iBAAiB,gBAAAC,QAAO;AAAA;AAAA;AAAA;AAK9B,IAAM,WAAW,CAAC,OAgBG;AAhBH,eAChB;AAAA;AAAA,IACA,eAAe;AAAA,IACf,aAAa;AAAA,IACb;AAAA,IACA;AAAA,IACA;AAAA,IACA,QAAQ;AAAA,IACR,eAAe;AAAA,IACf,eAAe;AAAA,IACf;AAAA,IACA;AAAA,IACA;AAAA,IACA,gBAAgB;AAAA,IAChB;AAAA,EA5DF,IA8CkB,IAeb,kBAfa,IAeb;AAAA,IAdH;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAGA,QAAM,cAAc,wBAAwB,SAAS;AAErD,QAAM,CAAC,iBAAiB,kBAAkB,QAAI,yBAAS,KAAK;AAE5D,QAAM,SAAS,mBAAmB;AAElC,QAAM,EAAE,YAAY,cAAc,YAAY,QAAI,6BAAS;AAAA,IACzD;AAAA,IACA;AAAA,IACA,WAAW,cAAc,YAAY;AAAA,IACrC,iDAAAC;AAAA,IACA,MAAM;AAAA,IACN,MAAM;AAAA,IACN;AAAA,EACF,CAAC;AAED,gCAAU,MAAM;AACd,oBAAgB,aAAa,MAAM;AAAA,EACrC,GAAG,CAAC,QAAQ,YAAY,CAAC;AAEzB,QAAM,eAAe,CAAC,OAAO,YAAY;AACvC,QAAI,QAAQ,WAAW,QAAW;AAChC,yBAAmB,QAAQ,MAAM;AAAA,IACnC;AAEA,WAAO;AAAA,EACT;AAEA,SACE,+BAAAC,QAAA;AAAA,IAAC,kBAAAC;AAAA,IAAA;AAAA,MACC;AAAA,MACA,cAAc,UAAS,OAAO,KAAK,QAAQ;AAAA,MAC3C,UAAU,UACR,QAAQ,CAAC,KAAK,YAAY,KAAK,WAAW,KAAK,QAAQ;AAAA,MAEzD;AAAA,MACA;AAAA;AAAA,IAEC,CAAC;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,QAAAC;AAAA,IACF,MACE,+BAAAF,QAAA;AAAA,MAAC;AAAA,wCACK,QACC,kBACD;AAAA;AAAA;AAAA,QAGE,MAAM;AAAA,QACN,iBAAiB;AAAA,QACjB,iBAAiB;AAAA,QACjB,mBAAmB;AAAA,MACrB,IACA,CAAC;AAAA,MAEL,+BAAAA,QAAA,cAAC,0BAAQ,eACN,kBACC,gBAAgB,kCACX,qBAAqB,IACrB,sBAAsB;AAAA,QACvB;AAAA,QACA;AAAA,QACA,QAAAE;AAAA,MACF,CAAC,EACF,IAED,+BAAAF,QAAA,cAAC,mCAAmB,qBAAqB,CAAC,CAAC,IACxC,OACH,CAEJ;AAAA,MACCE,WACC;AAAA,QACE,+BAAAF,QAAA;AAAA,UAAC;AAAA,2CACK,aADL;AAAA,YAEC,OAAO,iCAAK,WAAW,QAAhB,EAAuB,QAAQ,WAAW;AAAA;AAAA,UAEjD,+BAAAA,QAAA;AAAA,YAAC;AAAA;AAAA,cACC,UAAU;AAAA,cACV,UAAU;AAAA,cACV,UAAU;AAAA,cACV,WAAW;AAAA,cACX,oBAAoB;AAAA;AAAA,YAEnB,QAAQ,IAAI,CAAC,MAAM,UAAU;AAC5B,qBACE,+BAAAA,QAAA;AAAA,gBAAC;AAAA;AAAA,kBACC,KAAK;AAAA,kBACL,eAAe,qBAAqB;AAAA,kBACpC,YAAY,KAAK;AAAA,kBACjB,MAAM,KAAK;AAAA,kBACX,YAAY,KAAK;AAAA,kBACjB;AAAA,kBACA;AAAA,mBACI,aAAa;AAAA,kBACf,KAAK;AAAA,kBACL;AAAA,kBACA;AAAA,kBACA,UAAU,KAAK;AAAA,gBACjB,CAAC;AAAA,gBAEA,KAAK;AAAA,cACR;AAAA,YAEJ,CAAC;AAAA,UACH;AAAA,QACF;AAAA,MACF;AAAA,IACJ;AAAA,EAEJ;AAEJ;AA4CA,IAAO,mBAAQ;;;AC/Nf,IAAAG,kBAAmB;AACnB,IAAAC,iBAAiD;;;ACDjD,IAAAC,kBAAmB;AACnB,IAAAC,iBAAkC;AAIlC,IAAM,aAAa,gBAAAC,QAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAS1B,IAAM,aAAa,gBAAAA,QAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,0BAQA,cAAc,MAAM,CAAC;AAAA;AAAA;AAAA;AAAA,0BAIrB,cAAc,MAAM,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,wBAUvB,cAAc,oBAAoB,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA,0BAKjC,cAAc,SAAS,CAAC;AAAA;AAAA;AAAA;AAAA,0BAIxB,cAAc,iBAAiB,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA,MAKpD,aAAa,CAAC;AAAA;AAAA;AAIpB,IAAM,WAAW,gBAAAA,QAAO;AAAA;AAAA,WAEb,EAAE,IAAI,CAAC;AAAA,YACN,EAAE,IAAI,CAAC;AAAA,IACf,UAAU,MAAM,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,aAQR,EAAE,CAAC,CAAC;AAAA,cACH,EAAE,CAAC,CAAC;AAAA,MACZ,UAAU,MAAM,CAAC;AAAA,wBACC,cAAc,OAAO,CAAC;AAAA;AAAA;AAI9C,IAAM,YAAQ;AAAA,EACZ,CACE,IAQA,QACG;AATH,iBACE;AAAA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IAhFN,IA2EI,IAMK,kBANL,IAMK;AAAA,MALH;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA;AAKF,WACE,+BAAAC,QAAA,cAAC,cAAW,SAAS,MAAM,MACzB,+BAAAA,QAAA;AAAA,MAAC;AAAA;AAAA,QACC,MAAK;AAAA,QACL,UAAU;AAAA,QACV,SAAS;AAAA,QACT;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,SACI;AAAA,IACN,GACA,+BAAAA,QAAA,cAAC,YAAS,WAAU,YAAW,CACjC;AAAA,EAEJ;AACF;AAUA,IAAO,gBAAQ;;;AC/Gf,IAAAC,kBAAmB;AACnB,IAAAC,iBAAkB;AAKlB,IAAMC,SAAQ;AAAA,EACZ,QAAQ;AAAA,IACN,cAAc;AAAA,IACd,aAAa;AAAA,IACb,YAAY;AAAA,EACd;AAAA,EACA,OAAO;AAAA,IACL,cAAc;AAAA,IACd,aAAa;AAAA,IACb,YAAY;AAAA,EACd;AACF;AAEA,IAAM,cAAc;AAAA,EAClB,MAAM;AAAA,IACJ,QAAQ;AAAA,MACN,SAAS,cAAc,OAAO;AAAA,MAC9B,UAAU,cAAc,iBAAiB;AAAA,IAC3C;AAAA,IACA,UAAU;AAAA,MACR,SAAS,cAAc,OAAO;AAAA,MAC9B,UAAU,cAAc,iBAAiB;AAAA,IAC3C;AAAA,EACF;AAAA,EACA,OAAO;AAAA,IACL,QAAQ;AAAA,MACN,SAAS,cAAc,SAAS;AAAA,MAChC,UAAU,cAAc,oBAAoB;AAAA,IAC9C;AAAA,IACA,UAAU;AAAA,MACR,SAAS,cAAc,OAAO;AAAA,MAC9B,UAAU,cAAc,oBAAoB;AAAA,IAC9C;AAAA,EACF;AACF;AAEA,IAAM,gBAAgB,WAAS;AAC7B,SACEA,OAAM,MAAM,UAAU,EAAE,cAAcA,OAAM,MAAM,UAAU,EAAE;AAElE;AAEA,IAAM,cAAc,WAAS;AAC3B,SACEA,OAAM,MAAM,UAAU,EAAE,eACxBA,OAAM,MAAM,UAAU,EAAE,aAAa;AAEzC;AAEA,IAAM,cAAc,gBAAAC,QAAO;AAAA;AAAA;AAAA;AAK3B,IAAM,cAAc,gBAAAA,QAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,WAQhB,WAASD,OAAM,MAAM,UAAU,EAAE,WAAW;AAAA,YAC3C,WAASA,OAAM,MAAM,UAAU,EAAE,YAAY;AAAA;AAAA;AAAA,MAGnD,aAAa,CAAC;AAAA;AAAA;AAAA;AAAA,0BAIM,YAAY,MAAM,SAAS,OAAO;AAAA;AAAA;AAAA,0BAGlC,YAAY,MAAM,SAAS,QAAQ;AAAA;AAAA;AAAA;AAAA;AAAA,0BAKnC,YAAY,MAAM,OAAO,OAAO;AAAA;AAAA;AAAA,0BAGhC,YAAY,MAAM,OAAO,QAAQ;AAAA;AAAA;AAAA,8BAG7B,WAAS,cAAc,KAAK,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAQ3D,IAAM,YAAY,gBAAAC,QAAO;AAAA,WACd,WAASD,OAAM,MAAM,UAAU,EAAE,WAAW;AAAA,YAC3C,WAASA,OAAM,MAAM,UAAU,EAAE,YAAY;AAAA;AAAA;AAAA;AAAA,YAI7C,WAAU,MAAM,aAAa,YAAY,SAAU;AAAA;AAAA;AAAA;AAAA,WAIpD,WAASA,OAAM,MAAM,UAAU,EAAE,UAAU;AAAA,YAC1C,WAASA,OAAM,MAAM,UAAU,EAAE,UAAU;AAAA,aAC1C,WAAS,YAAY,KAAK,CAAC;AAAA,cAC1B,WAAS,YAAY,KAAK,CAAC;AAAA;AAAA;AAAA,wBAGjB,WAClB,MAAM,aACF,YAAY,KAAK,OAAO,WACxB,YAAY,KAAK,OAAO,OAAO;AAAA;AAAA;AAIzC,IAAM,SAAS,CAAC,OAaR;AAbQ,eACd;AAAA;AAAA,IACA;AAAA,IACA;AAAA,IACA,OAAO;AAAA,IACP;AAAA,IACA;AAAA,EA/HF,IAyHgB,IAOX,kBAPW,IAOX;AAAA,IANH;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAQA,MAAI,kBAAkB,WAAW;AAC/B,UAAM,IAAI;AAAA,MACR;AAAA,IACF;AAAA,EACF;AAEA,SACE,+BAAAE,QAAA,cAAC,eAAY,SAAS,MAAM,MAC1B,+BAAAA,QAAA;AAAA,IAAC;AAAA,qCACK,QADL;AAAA,MAEC,SAAS;AAAA,MACT,UAAU;AAAA,MACV;AAAA,MACA,MAAK;AAAA,MACL,YAAY;AAAA,MACZ,mBAAiB;AAAA,MACjB,cAAY;AAAA,MACZ,gBAAc;AAAA;AAAA,EAChB,GACA,+BAAAA,QAAA;AAAA,IAAC;AAAA;AAAA,MACC,WAAU;AAAA,MACV;AAAA,MACA;AAAA,MACA,YAAY;AAAA;AAAA,EACd,CACF;AAEJ;AAqBA,IAAO,iBAAQ;;;AF/Kf,IAAM,kBAAkB;AAAA,EACtB,KAAK;AAAA,IACH,SAAS;AAAA,MACP,SAAS;AAAA,MACT,qBAAqB;AAAA,MACrB,YAAY;AAAA,IACd;AAAA,IACA,OAAO,EAAE,YAAY,yBAAyB;AAAA,IAC9C,cAAc,EAAE,YAAY,yBAAyB;AAAA,EACvD;AAAA,EACA,QAAQ;AAAA,IACN,SAAS,CAAC;AAAA,IACV,OAAO,EAAE,cAAc,0BAA0B;AAAA,EACnD;AACF;AAEA,IAAM,mBAAmB,gBAAAC,QAAO;AAAA,IAC5B,WAAS,MAAM,aAAa,gBAAgB,MAAM,SAAS,EAAE,OAAO;AAAA;AAGxE,IAAM,QAAQ,gBAAAA,QAAO;AAAA;AAAA,IAEjB,WAAS,MAAM,aAAa,gBAAgB,MAAM,SAAS,EAAE,KAAK;AAAA,IAClE,WAAS,MAAM,oBAAoB,iBAAiB;AAAA;AAGxD,IAAMC,gBAAe,gBAAAD,QAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAc5B,IAAM,wBAAoD;AAAA,EACxD;AAAA,EACA;AAAA,EACA;AACF;AAEA,IAAM,yBAAyB,CAC7B,cAC0C;AAC1C,SAAO,sBAAsB,SAAS,SAAS;AACjD;AAEA,IAAM,YAAY,CAAC,OAYX;AAZW,eACjB;AAAA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,YAAY;AAAA,EAjEd,IA4DmB,IAMd,kBANc,IAMd;AAAA,IALH;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AASA,QAAM,mBAAmB,eAAAE,QAAM,SAAS,QAAQ,QAAQ,EAAE;AAAA,IACxD,eACE,+BAAe,KAAK;AAAA;AAAA,IAGpB,OAAO,MAAM,SAAS,YACtB,uBAAuB,MAAM,IAAI;AAAA,EACrC;AAEA,QAAM,eAAe,SACnB,+BAAAA,QAAA;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA,SAAS;AAAA,MACT;AAAA;AAAA,IAEC;AAAA,EACH;AAGF,SACE,+BAAAA,QAAA,cAAC,mCAAiB,aAA0B,QACzC,cAAc,SACb,+BAAAA,QAAA,6BAAAA,QAAA,gBACG,UACA,YACH,GAED,cAAc,YACb,+BAAAA,QAAA,6BAAAA,QAAA,gBACG,cACA,QACH,GAED,gBAAgB,+BAAAA,QAAA,cAACD,eAAA,MAAc,YAAa,CAC/C;AAEJ;AAWA,IAAO,qBAAQ;;;AGzHf,IAAAE,kBAAmB;AACnB,IAAAC,iBAAiC;;;ACDjC,IAAAC,iBAAkB;AAEH,SAAR,kBAAmC,KAAK,SAAS;AACtD,iBAAAC,QAAM,UAAU,MAAM;AACpB,UAAM,WAAW,WAAS;AACxB,UAAI,CAAC,IAAI,WAAW,IAAI,QAAQ,SAAS,MAAM,MAAM,GAAG;AACtD;AAAA,MACF;AAEA,cAAQ,KAAK;AAAA,IACf;AAEA,aAAS,iBAAiB,aAAa,QAAQ;AAC/C,aAAS,iBAAiB,cAAc,QAAQ;AAEhD,WAAO,MAAM;AACX,eAAS,oBAAoB,aAAa,QAAQ;AAClD,eAAS,oBAAoB,cAAc,QAAQ;AAAA,IACrD;AAAA,EACF,GAAG,CAAC,KAAK,OAAO,CAAC;AACnB;;;ACpBA,IAAAC,iBAAiD;AAElC,SAAR,kBACL,KACS;AACT,QAAM,CAAC,WAAW,YAAY,QAAI,yBAAS,KAAK;AAEhD,QAAM,kBAAc;AAAA,IAClB,OAAK;AACH,YAAM,aAAa,IAAI;AAEvB,UAAI,EAAE,SAAS,aAAa,EAAE,WAAW,YAAY;AACnD,qBAAa,IAAI;AAAA,MACnB;AAAA,IACF;AAAA,IACA,CAAC,GAAG;AAAA,EACN;AAEA,QAAM,iBAAa;AAAA,IACjB,OAAK;AACH,YAAM,aAAa,IAAI;AAEvB,UAAI,EAAE,SAAS,cAAc,EAAE,WAAW,YAAY;AACpD,qBAAa,KAAK;AAAA,MACpB;AAAA,IACF;AAAA,IACA,CAAC,GAAG;AAAA,EACN;AAEA,gCAAU,MAAM;AAGd,aAAS,iBAAiB,WAAW,WAAW;AAChD,aAAS,iBAAiB,YAAY,UAAU;AAEhD,WAAO,MAAM;AACX,eAAS,oBAAoB,WAAW,WAAW;AACnD,eAAS,oBAAoB,YAAY,UAAU;AAAA,IACrD;AAAA,EACF,GAAG,CAAC,aAAa,UAAU,CAAC;AAE5B,SAAO,QAAQ,SAAS;AAC1B;;;AC1CA,IAAAC,iBAAgC;AAMhC,SAAS,gBAAgB,SAAyB;AAChD,QAAM,eAAyB;AAE/B,sCAAgB,MAAM;AACpB,UAAM,OAAO,6CAAc;AAC3B,UAAM,OAAO,6CAAc;AAE3B,QAAI,gBAAgB,UAAa,CAAC,QAAQ,CAAC,MAAM;AAC/C;AAAA,IACF;AAEA,QAAI,SAAS;AACX,WAAK,MAAM,YAAY,eAAe,SAAS;AAC/C,WAAK,MAAM,YAAY,cAAc,mBAAmB;AAAA,IAE1D;AAEA,WAAO,MAAM;AACX,WAAK,MAAM,eAAe,aAAa;AAAA,IACzC;AAAA,EACF,GAAG,CAAC,cAAc,OAAO,CAAC;AAC5B;AAEA,IAAO,6BAAQ;;;AC7Bf,gCAAkC;AAClC,IAAAC,UAAuB;AAEhB,SAAS,UAAU;AACxB,SAAO,sCAAC,0BAAAC,SAAA,EAAsB,OAAM,IAAG,QAAO,sBAAqB;AACrE;;;ACLA,IAAAC,iBAAkB;AAEX,IAAM,kBAAkB,WAC7B,+BAAAC,QAAA,cAAC,wBAAI,SAAQ,aAAY,MAAK,UAAW,QACvC,+BAAAA,QAAA;AAAA,EAAC;AAAA;AAAA,IACC,MAAK;AAAA,IACL,UAAS;AAAA,IACT,UAAS;AAAA,IACT,GAAE;AAAA;AACJ,CACF;;;ALOF,IAAM,iBAAiB;AAAA,EACrB,MAAM;AAAA,IACJ,SAAS;AAAA,IACT,MAAM,+BAAAC,QAAA,cAAC,aAAQ;AAAA,IACf,OAAO;AAAA,IACP,YAAY;AAAA,EACd;AAAA,EACA,SAAS;AAAA,IACP,SAAS;AAAA,IACT,MAAM,+BAAAA,QAAA,cAAC,qBAAgB;AAAA,IACvB,OAAO;AAAA,IACP,YAAY;AAAA,EACd;AAAA,EACA,OAAO;AAAA,IACL,SAAS;AAAA,IACT,MAAM,+BAAAA,QAAA,cAAC,sBAAiB;AAAA,IACxB,OAAO;AAAA,IACP,YAAY;AAAA,EACd;AAAA,EACA,UAAU;AAAA,IACR,MAAM,+BAAAA,QAAA,cAAC,UAAK,MAAK,SAAM,WAAE;AAAA,IACzB,OAAO;AAAA,IACP,SAAS;AAAA,IACT,YAAY;AAAA,EACd;AACF;AAEA,IAAM,WAAW;AACjB,IAAM,yBAAyB,gBAAAC,QAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAQlC,WAAS,qBAAqB,eAAe,MAAM,QAAQ,EAAE,OAAO,EAAE;AAAA,IACtE,WAAS,gBAAgB,eAAe,MAAM,QAAQ,EAAE,UAAU,EAAE;AAAA;AAAA,IAEpE,WAAS,UAAU,eAAe,MAAM,QAAQ,EAAE,KAAK,EAAE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MAMvD,QAAQ;AAAA,MACR,QAAQ;AAAA;AAAA;AAAA;AAAA,aAID,WAAU,MAAM,SAAS,MAAM,GAAI;AAAA,eACjC,WACX,MAAM,SAAS,oBAAoB,mBAAmB;AAAA;AAAA;AAAA;AAAA;AAM1D,IAAM,kBAAkB,CAAC;AAAA,EACvB;AAAA,EACA;AAAA,EACA;AAAA,EACA,WAAW;AAAA,EACX;AACF,MAMQ;AAvFR;AAwFE,gCAAU,MAAM;AACd,QAAI,CAAC,QAAQ;AACX;AAAA,IACF;AAEA,UAAM,cAAc,CAAC,MAAqB;AACxC,UAAI,EAAE,QAAQ,UAAU;AACtB,UAAE,eAAe;AACjB,wBAAgB,aAAa;AAAA,MAC/B;AAAA,IACF;AAEA,WAAO,iBAAiB,WAAW,WAAW;AAE9C,WAAO,MAAM;AACX,aAAO,oBAAoB,WAAW,WAAW;AAAA,IACnD;AAAA,EACF,GAAG,CAAC,QAAQ,YAAY,CAAC;AAEzB,6BAAgB,MAAM;AAGtB,QAAM,kBAAkB,aAAa;AAErC,SAAO,SACL,+BAAAD,QAAA,cAAC,0BAAuB,QAAgB,UAAoB,MAC1D,+BAAAA,QAAA;AAAA,IAAC;AAAA;AAAA,MACC,YAAY,EAAE,SAAS,SAAS,OAAO,SAAS;AAAA,MAChD,gBAAe;AAAA,MACf,UAAU,kBAAkB,WAAW;AAAA,MACvC,SAAS,CAAC,kBAAkB,CAAC,UAAU,IAAI;AAAA;AAAA,IAE3C,+BAAAA,QAAA;AAAA,MAAC;AAAA;AAAA,QACC,UAAU,EAAE,SAAS,UAAU,QAAQ,EAAE;AAAA,QAEzC,aACE,CAAC,kBAAkB,EAAE,SAAS,GAAG,QAAQ,EAAE,GAAG,EAAE,IAAI;AAAA,QAEtD,OAAM;AAAA;AAAA,MAEN,+BAAAA,QAAA;AAAA,QAAC;AAAA;AAAA,UACC,UAAS;AAAA,UACT,KAAK,kBAAkB,WAAW;AAAA,UAClC,gBAAe;AAAA;AAAA,UAEd,oBAAe,QAAQ,MAAvB,mBAA0B,QACzB,+BAAAA,QAAA,cAAC,iBAAM,WAAU,aACf,+BAAAA,QAAA;AAAA,UAAC;AAAA;AAAA,YACC,MAAM,eAAe,QAAQ,EAAE;AAAA,YAC/B,QACE,oBAAe,QAAQ,EAAE,UAAzB,YAAkC;AAAA;AAAA,QAEtC,CACF,IACE;AAAA,QAAM;AAAA,QACT;AAAA,MACH;AAAA,IACF;AAAA,EACF,GACC,gBACC,+BAAAA,QAAA;AAAA,IAAC;AAAA;AAAA,MACC,YAAW,oBAAe,QAAQ,EAAE,UAAzB,YAAkC;AAAA,MAC7C,UAAU;AAAA,MACV,SAAQ;AAAA,MACR,MAAM,+BAAAA,QAAA,cAAC,cAAS;AAAA,MAChB,SAAS;AAAA;AAAA,EACX,CAEJ,IACE;AACN;AAeA,IAAO,2BAAQ;;;AM7Kf,IAAAE,iBAA0B;AAC1B,IAAAC,kBAAmB;AACnB,IAAAD,iBAAiC;AAQjC,IAAM,SAAS;AACf,IAAM,mBAAmB;AACzB,IAAM,iBAAiB,EAAE,OAAO,KAAM,MAAM,IAAK;AAEjD,IAAM,QAAQ,CAAC,eAAe,aAAa;AAAA;AAAA;AAAA,iCAGV,EAAE,aAAa,mBAAmB,KAAK,CAAC,CAAC;AAAA;AAAA;AAAA,IAGrE,MAAM,gBAAiB,GAAG;AAAA;AAAA;AAAA;AAAA;AAAA,IAK3B,MAAO,MAAM,gBAAiB,GAAG;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAQrC,IAAM,SAAS,cAAY;AACzB,UAAQ,UAAU;AAAA,IAChB,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH,aAAO,EAAE,CAAC;AAAA,IACZ;AACE,aAAO;AAAA,EACX;AACF;AAEA,IAAM,YAAY,cAAY;AAC5B,UAAQ,UAAU;AAAA,IAChB,KAAK;AACH,aAAO,EAAE,CAAC;AAAA,IACZ,KAAK;AACH,aAAO;AAAA,IACT;AACE,aAAO,EAAE,CAAC;AAAA,EACd;AACF;AAEA,IAAM,eAAe,gBAAAE,QAAO;AAAA,eACb,WAAS,MAAM,MAAM,eAAe,MAAM,QAAQ,CAAC;AAAA,MAC5D,WAAS,MAAM,aAAa;AAAA,sBACZ,cAAc,mBAAmB,CAAC;AAAA,IACpD,UAAU,KAAK,CAAC;AAAA,SACX,WAAS,OAAO,MAAM,QAAQ,CAAC;AAAA,YAC5B,WAAS,UAAU,MAAM,QAAQ,CAAC;AAAA,IAC1C,UAAU,OAAO,CAAC;AAAA,WACX,cAAc,aAAa,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,eAMxB,EAAE,EAAE,CAAC;AAAA,wBACI,EAAE,EAAE,CAAC;AAAA,aAChB,EAAE,GAAG,CAAC,4BAA4B,EAAE,GAAG,CAAC;AAAA;AAAA;AAAA;AAAA,aAIxC,WAAS,MAAM,MAAM;AAAA;AAGlC,IAAMC,mBAAkB,gBAAAD,QAAO;AAAA;AAAA;AAI/B,IAAM,QAAQ,CAAC;AAAA,EACb;AAAA,EACA;AAAA,EACA;AAAA,EACA,SAAS;AAAA,EACT,UAAAE,YAAW;AAAA,EACX,WAAW;AACb,MAKQ;AACN,QAAM,gBAAgB,eAAeA,SAAQ;AAE7C,gCAAU,MAAM;AACd,UAAM,QAAQ,WAAW,MAAM;AAC7B,UAAI,QAAQ;AACV,qBAAa;AAAA,MACf;AAAA,IACF,GAAG,aAAa;AAEhB,WAAO,MAAM,aAAa,KAAK;AAAA,EACjC,GAAG,CAAC,MAAM,CAAC;AAEX,SACE,+BAAAC,QAAA,6BAAAA,QAAA,gBACG,UACC,+BAAAA,QAAA;AAAA,IAAC;AAAA;AAAA,MACC,MAAK;AAAA,MACL,SAAS,OAAK,EAAE,gBAAgB;AAAA,MAChC;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA;AAAA,IAEA,+BAAAA,QAAA,cAACF,kBAAA,EAAgB,aAAU,YAAU,QAAS;AAAA,IAC7C,gBACC,+BAAAE,QAAA;AAAA,MAAC;AAAA;AAAA,QACC,SAAQ;AAAA,QACR,MAAM,+BAAAA,QAAA,cAAC,cAAS;AAAA,QAChB,SAAS;AAAA,QACT,WAAU;AAAA;AAAA,IACZ;AAAA,EAEJ,CAEJ;AAEJ;AAkBA,IAAO,gBAAQ;;;ACrJf,IAAAC,kBAAmB;AACnB,IAAAC,iBAAmD;AAEnD,IAAAC,qBAA8C;AAE9C,IAAAC,mCAA2B;AAmC3B,IAAM,aAA6B;AAAA,EACjC,SAAS;AAAA,EACT,WAAW;AAAA,EACX,UAAU;AAAA,EACV,YAAY;AAAA,EACZ,cAAc;AAAA,EACd,aAAa;AAAA,EACb,SAAS;AAAA,EACT,YAAY;AAAA,EACZ,YAAY;AAAA,EACZ,UAAU;AAAA,EACV,aAAa;AAAA,EACb,aAAa;AACf;AAEA,IAAM,mBAAmB;AACzB,IAAM,aAAa,UAAU,MAAM,WAAW,UAAU,MAAM;AAE9D,IAAM,mBAAmB,mBAAmB,cAAc;AAE1D,IAAM,oBAAoB,gBAAAC,QAAO;AAAA,sBACX,cAAc,mBAAmB,CAAC;AAAA,WAC7C,cAAc,aAAa,CAAC;AAAA,IACnC,UAAU,KAAK,CAAC;AAAA,IAChB,cAAc,MAAM,CAAC;AAAA,IACrB,YAAY,OAAO,CAAC;AAAA,IACpB,UAAU,QAAQ,CAAC;AAAA,IACnB,WAAS,QAAQ,aAAa,MAAM,QAAQ,CAAC;AAAA;AAAA,aAEpC,EAAE,eAAe,CAAC,IAAI,EAAE,GAAG,CAAC;AAAA,aAC5B,WAAS,MAAM,MAAM;AAAA;AAGlC,IAAM,kBAAkB,gBAAAA,QAAO;AAAA,sBACT,cAAc,OAAO,CAAC;AAAA;AAAA,WAEjC,cAAc,OAAO,CAAC;AAAA,IAC7B,cAAc,MAAM,CAAC;AAAA,IACrB,YAAY,OAAO,CAAC;AAAA,kBACN,EAAE,GAAG,CAAC;AAAA,mBACL,EAAE,GAAG,CAAC;AAAA;AAGlB,IAAM,cAAc,CAAC;AAAA,EAC1B;AACF,MACE,+BAAAC,QAAA,cAAC,uBAAiB,QAAS;AAGtB,IAAM,aAAa,CAAC,OAQ0C;AAR1C,eACzB;AAAA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EA/FF,IAyF2B,IAOtB,iBAPsB,IAOtB;AAAA,IANH;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAKA;AAAA;AAAA;AAAA,mCAAAA,QAAA;AAAA,MAAC;AAAA;AAAA,QACC;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,SACI,aACA;AAAA,MAEH;AAAA,IACH;AAAA;AAAA;AAKF,IAAM,kBAAkB,gBAAAD,QAAO;AAAA,aAClB,WAAU,MAAM,WAAW,iBAAiB,OAAQ;AAAA,IAC7D,WAAS,MAAM,iBAAiB,mBAAmB,MAAM,aAAa,EAAE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAS5E,SAAS,qBAAqB,OAAmB;AAC/C,UAAQ,OAAO;AAAA,IACb,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH,aAAO;AAAA,IACT;AACE,aAAO;AAAA,EACX;AACF;AAEA,IAAM,UAAU,CAAC,OAkBG;AAlBH,eACf;AAAA,eAAW;AAAA,IACX;AAAA,IACA;AAAA,IACA;AAAA,IACA,YAAY;AAAA,IACZ;AAAA,IACA,gBAAgB;AAAA,IAChB,WAAW;AAAA,IACX,WAAW;AAAA,IACX;AAAA,IACA;AAAA,IACA,WAAW;AAAA,IACX,SAAS;AAAA,IACT,gBAAgB;AAAA,IAChB,QAAQ;AAAA,IACR;AAAA,EAxJF,IAwIiB,IAiBZ,iBAjBY,IAiBZ;AAAA,IAhBH;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAGA,QAAM,CAAC,MAAM,UAAU,QAAI,6BAAS;AAAA,IAClC,YAAY,qBAAqB,KAAK;AAAA,IACtC,YAAY;AAAA,EACd,CAAC;AAED,QAAM,CAAC,eAAe,gBAAgB,QAAI,yBAAS,KAAK;AACxD,QAAM,CAAC,QAAQ,SAAS,QAAI,yBAAS,KAAK;AAI1C,QAAM,CAAC,qBAAqB,sBAAsB,QAAI,yBAAS,KAAK;AAEpE,QAAM,eAAW,uBAAO;AACxB,QAAM,oBAAoB,CAAC,WAAW;AAGtC,gCAAU,MAAM;AACd,QAAI,mBAAmB;AACrB,gBAAU,KAAK;AAEf;AAAA,IACF;AAEA,UAAM,yBAAyB,iBAAiB;AAEhD,QAAI,QAAQ,wBAAwB;AAClC,gBAAU,IAAI;AAAA,IAChB;AAIA,QAAI,CAAC,QAAQ,CAAC,0BAA0B,CAAC,qBAAqB;AAC5D,gBAAU,KAAK;AAAA,IACjB;AAAA,EACF,GAAG;AAAA,IACD;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,CAAC;AAED,QAAM,cAAc,MAAM;AACxB,2BAAuB,KAAK;AAE5B,QAAI,CAAC,mBAAmB;AACtB,gBAAU,IAAI;AAAA,IAChB;AAAA,EACF;AAEA,QAAM,aAAa,MAAM;AACvB,cAAU,KAAK;AACf,2BAAuB,KAAK;AAAA,EAC9B;AAEA,gCAAU,MAAM;AACd,QAAI,CAAC,QAAQ;AACX;AAAA,IACF;AAEA,UAAM,cAAc,OAAK;AACvB,UAAI,EAAE,QAAQ,UAAU;AACtB,UAAE,eAAe;AACjB,mBAAW;AAAA,MACb;AAAA,IACF;AAEA,WAAO,iBAAiB,WAAW,WAAW;AAE9C,WAAO,MAAM;AACX,aAAO,oBAAoB,WAAW,WAAW;AAAA,IACnD;AAAA,EACF,GAAG,CAAC,QAAQ,SAAS,CAAC;AAEtB,QAAM,EAAE,YAAY,cAAc,YAAY,QAAI,6BAAS;AAAA,IACzD;AAAA,IACA,WAAW,WAAW,SAAS;AAAA,IAC/B,iDAAAE;AAAA,IACA;AAAA,IACA;AAAA,IACA,MAAM;AAAA,EACR,CAAC;AAED,SACE,+BAAAD,QAAA,6BAAAA,QAAA,gBAEE,+BAAAA,QAAA;AAAA,IAAC;AAAA,oDACK,eACA,aAFL;AAAA,MAGC,SAAS,OAAK;AAGZ,YAAI,EAAE,WAAW,GAAG;AAClB,iCAAuB,IAAI;AAAA,QAC7B;AAAA,MACF;AAAA,MACA,SAAS;AAAA,MACT,QAAQ;AAAA,MACR;AAAA,MACA;AAAA,MACA,UAAU,oBAAoB,KAAK;AAAA,MACnC,SAAK,8BAAU,aAAa,KAAK,QAAQ;AAAA;AAAA,IAExC;AAAA,EACH,GACC,YACC,+BAAAA,QAAA,cAAC,UAAK,WAAU,UAAS,aAAU,YAChC,UAAU,OACb,GAED,UACC;AAAA,IACE,+BAAAA,QAAA,cAAC,wCAAQ,aAAR,EAAoB,OAAO,iCAAK,WAAW,QAAhB,EAAuB,OAAO,OACxD,+BAAAA,QAAA;AAAA,MAAC;AAAA;AAAA,QACC;AAAA,QACA,cAAc,MAAM,iBAAiB,IAAI;AAAA,QACzC,cAAc,MAAM,iBAAiB,KAAK;AAAA,QAC1C,MAAK;AAAA,QACL,IAAI;AAAA,SACA;AAAA,MAEJ,+BAAAA,QAAA,cAAC,mBAAQ,KAAI,WACX,+BAAAA,QAAA,cAAC,gBAAK,MAAK,SAAQ,YAAW,UAC3B,OACH,GACC,YACC,+BAAAA,QAAA,cAAC,mBAAQ,KAAI,YACV,SAAS,IAAI,CAAC,MAAM,UACnB,+BAAAA,QAAA,cAAC,eAAY,KAAK,SAAQ,IAAK,CAChC,CACH,CAEJ;AAAA,IACF,CACF;AAAA,EACF,CACJ;AAEJ;AAEO,IAAM,sBAAsB,OAAO,KAAK,UAAU;AA0CzD,IAAO,kBAAQ;;;ACpVf,IAAAE,iBAAoB;AACpB,IAAAC,kBAAmB;AACnB,IAAAD,iBAAkB;AAKlB,IAAM,oBAAoB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAqB1B,IAAM,sBAAsB,gBAAAE,QAAO;AAAA,IAC/B,WAAS,YAAY,MAAM,IAAI,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MAY9B,WAAS,MAAM,YAAY,iBAAiB;AAAA;AAAA;AAAA,IAG9C,WACA,MAAM,QAAQ,KACd;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAQD;AAAA;AAGH,IAAM,2BAA2B,gBAAAA,QAAO;AAAA;AAAA,IAEpC,WAAS,UAAU,MAAM,MAAM,CAAC;AAAA,YACxB,WAAS,MAAM,MAAM;AAAA,WACtB,WAAS,MAAM,KAAK;AAAA,IAC3B,WAAS,MAAM,YAAY,iBAAiB;AAAA;AAGzC,IAAM,eAAe,CAAC;AAAA,EAC3B,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,WAAW;AACb,MAA4E;AAC1E,SACE,+BAAAC,QAAA,6BAAAA,QAAA,gBACG,CAAC,GAAG,MAAM,KAAK,CAAC,EAAE,IAAI,CAAC,GAAG,MACzB,+BAAAA,QAAA;AAAA,IAAC;AAAA;AAAA,MACC,KAAK;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA;AAAA,IACD;AAAA,EAED,CACD,CACH;AAEJ;AAEO,IAAM,oBAAoB,CAAC;AAAA,EAChC,WAAW;AAAA,EACX,SAAS;AAAA,EACT,SAAS;AAAA,EACT,QAAQ;AACV,MACuD;AACrD,SACE,+BAAAA,QAAA,6BAAAA,QAAA,gBACE,+BAAAA,QAAA;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA;AAAA,EACF,CACF;AAEJ;;;ACvGA,IAAAC,kBAAmB;AACnB,IAAAC,iBAAkB;AAKlB,IAAM,oBAAoB,CAAC,aAAqB;AAC9C,SACE,+BAAAC,QAAA,cAAC,cACC,+BAAAA,QAAA;AAAA,IAAC;AAAA;AAAA,MACC,IAAI,WAAW,QAAQ;AAAA,MACvB,IAAG;AAAA,MACH,IAAG;AAAA,MACH,GAAE;AAAA,MACF,IAAG;AAAA,MACH,IAAG;AAAA;AAAA,IAEH,+BAAAA,QAAA,cAAC,UAAK,QAAO,OAAM,WAAU,WAAU;AAAA,IACvC,+BAAAA,QAAA,cAAC,UAAK,QAAO,OAAM,WAAU,WAAU;AAAA,IACvC,+BAAAA,QAAA,cAAC,UAAK,QAAO,OAAM,WAAU,WAAU;AAAA,IACvC,+BAAAA,QAAA,cAAC,UAAK,QAAO,OAAM,WAAU,WAAU;AAAA,IACvC,+BAAAA,QAAA,cAAC,UAAK,QAAO,OAAM,WAAU,WAAU;AAAA,EACzC,GACA,+BAAAA,QAAA;AAAA,IAAC;AAAA;AAAA,MACC,IAAI,WAAW,QAAQ;AAAA,MACvB,GAAE;AAAA,MACF,IAAG;AAAA,MACH,IAAG;AAAA;AAAA,IAEH,+BAAAA,QAAA,cAAC,UAAK,QAAO,OAAM,WAAU,aAAY;AAAA,IACzC,+BAAAA,QAAA,cAAC,UAAK,QAAO,OAAM,WAAU,aAAY;AAAA,IACzC,+BAAAA,QAAA,cAAC,UAAK,QAAO,OAAM,WAAU,WAAU;AAAA,EACzC,GACA,+BAAAA,QAAA;AAAA,IAAC;AAAA;AAAA,MACC,IAAI,WAAW,QAAQ;AAAA,MACvB,GAAE;AAAA,MACF,IAAG;AAAA,MACH,IAAG;AAAA;AAAA,IAEH,+BAAAA,QAAA,cAAC,UAAK,QAAO,OAAM,WAAU,WAAU;AAAA,IACvC,+BAAAA,QAAA,cAAC,UAAK,QAAO,OAAM,WAAU,aAAY;AAAA,IACzC,+BAAAA,QAAA,cAAC,UAAK,QAAO,OAAM,WAAU,aAAY;AAAA,EAC3C,CACF;AAEJ;AAEA,IAAM,iBACJ;AAEF,IAAM,gBAAgB,CAAC,OAA+C;AAA/C,eAAE,SAAO,aAAa,SAlD7C,IAkDuB,IAAmC,kBAAnC,IAAmC,CAAjC,SAAO,eAAa;AAC3C,UAAQ,OAAO;AAAA,IACb,KAAK;AACH,aACE,+BAAAA,QAAA,cAAC,wBAAI,cAAW,WAAU,SAAQ,aAAY,MAAK,UAAW,QAC5D,+BAAAA,QAAA,cAAC,eAAM,SAAO,GACb,CAAC,cACA,+BAAAA,QAAA,6BAAAA,QAAA,gBACG,kBAAkB,QAAQ,GAC1B,CAAC,GAAG,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,MACrB,+BAAAA,QAAA;AAAA,QAAC;AAAA;AAAA,UACC,KAAK;AAAA,UACL,GAAG;AAAA,UACH,MAAM,gBAAgB,QAAQ,aAAa,IAAI,CAAC;AAAA;AAAA,MAClD,CACD,CACH,IAEA,+BAAAA,QAAA,cAAC,UAAK,GAAG,gBAAgB,MAAM,cAAc,WAAW,GAAG,CAE/D;AAAA,IAGJ,KAAK;AACH,aACE,+BAAAA,QAAA,cAAC,wBAAI,cAAW,QAAO,SAAQ,aAAY,MAAK,UAAW,QACzD,+BAAAA,QAAA,cAAC,eAAM,MAAI,GACX,+BAAAA,QAAA;AAAA,QAAC;AAAA;AAAA,UACC,GAAE;AAAA,UACF,MACE,cACI,cAAc,WAAW,IACzB,cAAc,SAAS;AAAA;AAAA,MAE/B,GACA,+BAAAA,QAAA;AAAA,QAAC;AAAA;AAAA,UACC,GAAE;AAAA,UACF,MAAK;AAAA;AAAA,MACP,CACF;AAAA,IAGJ;AACE,aACE,+BAAAA,QAAA,cAAC,wBAAI,cAAW,QAAO,SAAQ,aAAY,MAAK,UAAW,QACzD,+BAAAA,QAAA,cAAC,eAAM,MAAI,GACX,+BAAAA,QAAA;AAAA,QAAC;AAAA;AAAA,UACC,GAAE;AAAA,UACF,MACE,cACI,cAAc,WAAW,IACzB,cAAc,SAAS;AAAA;AAAA,MAE/B,CACF;AAAA,EAEN;AACF;AAEA,IAAM,kBAAkB,CAAC,OAAuC;AAAvC,eAAE,SAAO,cA7GlC,IA6GyB,IAA2B,kBAA3B,IAA2B,CAAzB,SAAO;AAChC,UAAQ,OAAO;AAAA,IACb,KAAK;AACH,aACE,+BAAAA,QAAA;AAAA,QAAC;AAAA;AAAA,UACC,cAAW;AAAA,UACX,SAAQ;AAAA,UACR,MAAM;AAAA,WACF;AAAA,QAEJ,+BAAAA,QAAA,cAAC,eAAM,SAAO;AAAA,QACd,+BAAAA,QAAA,cAAC,UAAK,GAAE,yCAAwC;AAAA,QAChD,+BAAAA,QAAA,cAAC,UAAK,GAAE,gaAA+Z;AAAA,QACva,+BAAAA,QAAA,cAAC,UAAK,GAAE,8ZAA6Z;AAAA,QACra,+BAAAA,QAAA,cAAC,UAAK,GAAE,yeAAwe;AAAA,QAChf,+BAAAA,QAAA,cAAC,UAAK,GAAE,8KAA6K;AAAA,QACrL,+BAAAA,QAAA,cAAC,UAAK,GAAE,2CAA0C;AAAA,MACpD;AAAA,IAEJ;AACE,aACE,+BAAAA,QAAA;AAAA,QAAC;AAAA;AAAA,UACC,cAAW;AAAA,UACX,SAAQ;AAAA,UACR,MAAM;AAAA,WACF;AAAA,QAEJ,+BAAAA,QAAA,cAAC,eAAM,MAAI;AAAA,QACX,+BAAAA,QAAA,cAAC,UAAK,GAAE,02BAAy2B;AAAA,MACn3B;AAAA,EAEN;AACF;AAEA,IAAM,mBACJ;AAEF,IAAM,kBAAkB,CAAC,OAMnB;AANmB,eACvB;AAAA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAtJF,IAkJyB,IAKpB,kBALoB,IAKpB;AAAA,IAJH;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAGA,UAAQ,OAAO;AAAA,IACb,KAAK;AACH,aACE,+BAAAA,QAAA,cAAC,wBAAI,cAAW,WAAU,SAAQ,cAAa,MAAK,UAAW,QAC7D,+BAAAA,QAAA,cAAC,eAAM,SAAO,GACb,CAAC,cACA,+BAAAA,QAAA,6BAAAA,QAAA,gBACG,kBAAkB,QAAQ,GAC1B,CAAC,GAAG,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,MACrB,+BAAAA,QAAA;AAAA,QAAC;AAAA;AAAA,UACC,KAAK;AAAA,UACL,GAAG;AAAA,UACH,MAAM,gBAAgB,QAAQ,aAAa,IAAI,CAAC;AAAA;AAAA,MAClD,CACD,CACH,IAEA,+BAAAA,QAAA,cAAC,UAAK,GAAG,kBAAkB,MAAM,cAAc,WAAW,GAAG,GAE/D,+BAAAA,QAAA,cAAC,OAAE,MAAM,iBACP,+BAAAA,QAAA,cAAC,UAAK,GAAE,oDAAmD,GAC3D,+BAAAA,QAAA,cAAC,UAAK,GAAE,8ZAA6Z,GACra,+BAAAA,QAAA,cAAC,UAAK,GAAE,0ZAAyZ,GACja,+BAAAA,QAAA,cAAC,UAAK,GAAE,yeAAwe,GAChf,+BAAAA,QAAA,cAAC,UAAK,GAAE,6KAA4K,GACpL,+BAAAA,QAAA,cAAC,UAAK,GAAE,mDAAkD,CAC5D,CACF;AAAA,IAEJ,KAAK;AACH,aACE,+BAAAA,QAAA,cAAC,wBAAI,cAAW,QAAO,SAAQ,cAAa,MAAK,UAAW,QAC1D,+BAAAA,QAAA,cAAC,eAAM,MAAI,GACX,+BAAAA,QAAA;AAAA,QAAC;AAAA;AAAA,UACC,GAAE;AAAA,UACF,MACE,cACI,cAAc,WAAW,IACzB,cAAc,SAAS;AAAA;AAAA,MAE/B,GACA,+BAAAA,QAAA;AAAA,QAAC;AAAA;AAAA,UACC,GAAE;AAAA,UACF,MAAK;AAAA;AAAA,MACP,GACA,+BAAAA,QAAA,cAAC,OAAE,MAAM,iBACP,+BAAAA,QAAA,cAAC,UAAK,GAAE,gDAA+C,GACvD,+BAAAA,QAAA,cAAC,UAAK,GAAE,0eAAye,GACjf,+BAAAA,QAAA,cAAC,UAAK,GAAE,kaAAia,GACza,+BAAAA,QAAA,cAAC,UAAK,GAAE,qaAAoa,CAC9a,CACF;AAAA,IAEJ;AACE,aACE,+BAAAA,QAAA,cAAC,wBAAI,cAAW,QAAO,SAAQ,cAAa,MAAK,UAAW,QAC1D,+BAAAA,QAAA,cAAC,eAAM,MAAI,GACX,+BAAAA,QAAA;AAAA,QAAC;AAAA;AAAA,UACC,GAAE;AAAA,UACF,MACE,cACI,cAAc,WAAW,IACzB,cAAc,SAAS;AAAA;AAAA,MAE/B,GACA,+BAAAA,QAAA;AAAA,QAAC;AAAA;AAAA,UACC,GAAE;AAAA,UACF,MAAM;AAAA;AAAA,MACR,CACF;AAAA,EAEN;AACF;AAEA,IAAM,cAAc,gBAAAC,QAAO;AAAA;AAAA,IAEvB,WAAS,MAAM,YAAY,QAAQ,aAAa,MAAM,QAAQ,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MAM7D,WAAS,MAAM,YAAY,QAAQ,aAAa,MAAM,QAAQ,CAAC;AAAA;AAAA;AAIrE,IAAM,OAAO,CAAC,OAaT;AAbS,eACZ;AAAA,cAAU;AAAA,IACV;AAAA,IACA;AAAA,IACA,gBAAgB;AAAA,IAChB,QAAQ;AAAA,IACR,WAAW;AAAA,EArPb,IA+Oc,IAOT,kBAPS,IAOT;AAAA,IANH;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAQA,wCAAAD,QAAA,cAAC,8BAAY,SAAkB,YAAwB,QACpD,YAAY,cACX,+BAAAA,QAAA;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA;AAAA,MACA,eAAe,cAAc,aAAa;AAAA,MAC1C;AAAA,MACA,WAAU;AAAA;AAAA,EACZ,GAED,YAAY,YACX,+BAAAA,QAAA;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA;AAAA,MACA;AAAA,MACA,WAAU;AAAA;AAAA,EACZ,GAED,YAAY,cACX,+BAAAA,QAAA;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA,eAAe,cAAc,aAAa;AAAA,MAC1C,WAAU;AAAA;AAAA,EACZ,CAEJ;AAAA;AAoBF,IAAO,eAAQ;;;AC1Sf,IAAAE,kBAAmB;AACnB,IAAAC,iBAAkB;;;ACDX,IAAM,WAAW;;;ADKxB,IAAM,WAAW;AAAA,EACf,OAAO;AAAA,EACP,QAAQ;AACV;AAEA,IAAM,oBAAoB,gBAAAC,QAAO;AAAA,eAClB,WAAS,MAAM,SAAS;AAAA,0BACb,QAAQ,IAAI,WAAS,MAAM,KAAK;AAAA;AAAA;AAAA;AAAA,YAI9C,WAAS,SAAS,MAAM,IAAI,CAAC;AAAA,WAC9B,WAAS,SAAS,MAAM,IAAI,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AASxC,IAAM,aAAa,CAAC;AAAA,EAClB,YAAY;AAAA,EACZ,QAAQ;AAAA,EACR,OAAO;AACT,MAAwE;AACtE,SAAO,+BAAAC,QAAA,cAAC,qBAAkB,WAAsB,OAAc,MAAY;AAC5E;AAQA,IAAO,sBAAQ;;;AExCf,IAAAC,iBAAoB;AACpB,IAAAC,kBAAmB;AACnB,IAAAD,iBAAkB;AAUlB,IAAM,aAAa;AAEnB,IAAME,iBAAgB;AAAA,EACpB,QAAQ;AAAA;AAAA,iCAEuB,cAAc,QAAQ,CAAC;AAAA;AAAA;AAAA;AAAA,kCAItB,UAAU;AAAA,8BACd,cAAc,QAAQ,CAAC;AAAA;AAAA;AAAA,EAGnD,QAAQ;AAAA;AAAA,yBAEe,UAAU;AAAA,4BACP,cAAc,qBAAqB,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA,QAKxD,UAAU,QAAQ,CAAC;AAAA;AAAA;AAAA,EAGzB,OAAO;AACT;AAEA,IAAM,cAAc,gBAAAC,QAAO;AAAA;AAAA,6BAEE,WAAS,MAAM,WAAW,MAAM,OAAO;AAAA,MAC9D,WAAS,QAAQ,OAAO,MAAM,GAAG,CAAC;AAAA;AAAA;AAAA,IAGpC,WAASD,eAAc,MAAM,OAAO,CAAC;AAAA;AAGzC,IAAM,iBAAiB,gBAAAC,QAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAM1B,WAAS,QAAQ,UAAU,MAAM,MAAM,CAAC;AAAA,IACxC,WAAS,QAAQ,cAAc,MAAM,SAAS,CAAC;AAAA,IAC/C,WAAS,QAAQ,cAAc,MAAM,SAAS,CAAC;AAAA,IAC/C,WAAS,QAAQ,WAAW,MAAM,OAAO,CAAC;AAAA,IAC1C,WAAS,QAAQ,eAAe,MAAM,UAAU,CAAC;AAAA,IACjD,WAAS,QAAQ,kBAAkB,MAAM,aAAa,CAAC;AAAA,IACvD,WAAS,QAAQ,gBAAgB,MAAM,WAAW,CAAC;AAAA,IACnD,WAAS,QAAQ,iBAAiB,MAAM,YAAY,CAAC;AAAA;AAAA,IAErD,WACA,MAAM,YACN;AAAA,MACE,QAAQ,eAAe,MAAM,QAAQ,CAAC;AAAA,MACtC,QAAQ,kBAAkB,MAAM,QAAQ,CAAC;AAAA,KAC1C;AAAA;AAAA,IAED,WACA,MAAM,YACN;AAAA,MACE,QAAQ,gBAAgB,MAAM,QAAQ,CAAC;AAAA,MACvC,QAAQ,iBAAiB,MAAM,QAAQ,CAAC;AAAA,KACzC;AAAA;AAAA,IAED,YAAU,MAAM,WAAW,MAAM,SAAS,kBAAkB;AAAA;AAAA;AAAA,oCAG5B,UAAU;AAAA,MACxC,WACA,MAAM,mBACN,qBAAqB,cAAc,MAAM,eAAe,CAAC,EAAE;AAAA;AAAA;AAAA,QAGzD,YACC,MAAM,WAAW,MAAM,SACxB;AAAA,0BACkB,cAAc,iBAAiB,CAAC;AAAA;AAAA,QAElD,UAAU,QAAQ,CAAC;AAAA,KACtB;AAAA;AAAA;AAAA;AAKE,IAAM,UAAU,CAAC,OAQJ;AARI,eACtB;AAAA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAvGF,IAiGwB,IAOnB,kBAPmB,IAOnB;AAAA,IANH;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAGA,QAAM,oBAAoB,YAAY,IAAI,SAAS,KAAK;AAExD,SACE,+BAAAC,QAAA;AAAA,IAAC;AAAA;AAAA,MACC,MAAK;AAAA,MACL,WAAW,iBAAiB,iBAAiB;AAAA,MAC7C,IAAI;AAAA,MACJ;AAAA,MACA;AAAA,MACA,UAAU;AAAA,MACV,WAAW,OAAK;AACd,YAAI,EAAE,QAAQ,SAAS;AACrB,YAAE,eAAe;AACjB,kBAAQ,CAAC;AAAA,QACX;AAAA,MACF;AAAA,MACA;AAAA,OACI;AAAA,IAEH;AAAA,EACH;AAEJ;AAEA,IAAM,gBAAgB,aACpB,QAAQ,IAAI,iBAAe,aAAa,WAAW,CAAC,EAAE,KAAK,GAAG;AAEhE,IAAM,OAAO,CAAC,OAWN;AAXM,eACZ;AAAA;AAAA,IACA;AAAA,IACA;AAAA,IACA,UAAU;AAAA,EAzIZ,IAqIc,IAKT,kBALS,IAKT;AAAA,IAJH;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAQA,SACE,+BAAAA,QAAA;AAAA,IAAC;AAAA;AAAA,MACC,SAAS,WAAW,cAAc,OAAO;AAAA,MACzC;AAAA,MACA;AAAA,OACI;AAAA,IAEH;AAAA,EACH;AAEJ;AAyCA,IAAO,eAAQ;;;ACpMf,IAAAC,kBAAmB;AACnB,IAAAC,iBAAkB;AAiBlB,IAAM,cAAc,eAAAC,QAAM,cAA4C,CAAC,CAAC;AAExE,IAAM,uBAAuB,kBAC3B,aAAa,aAAa,YAAY,CAAC;AAEzC,IAAM,UAAU,gBAAAC,QAAO;AAAA,IACnB,WACA,MAAM,gBACN,aAAa,qBAAqB,MAAM,YAAY,CAAC;AAAA,GACtD;AAAA;AAGH,IAAM,UAAU,gBAAAA,QAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAQnB,WACA,MAAM,mBAAmB,kDAAkD;AAAA;AAAA,IAE3E,WAAS,MAAM,gBAAgB,QAAQ,gBAAgB,MAAM,YAAY,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MAOxE,WAAS,MAAM,eAAe,WAAW;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MAqBzC,WAAS,MAAM,gBAAgB,QAAQ,SAAS,MAAM,YAAY,CAAC;AAAA;AAAA;AAIzE,IAAM,gBAAgB,gBAAAA,QAAO;AAAA,IACzB,UAAU,KAAK,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAShB,WAAS,MAAM,gBAAgB,QAAQ,gBAAgB,MAAM,YAAY,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MAyBxE,WAAS,MAAM,gBAAgB,QAAQ,SAAS,MAAM,YAAY,CAAC;AAAA;AAAA;AAIzE,IAAM,aAAa,gBAAAA,QAAO;AAAA;AAAA;AAAA;AAAA;AAAA,IAKtB,UAAU,QAAQ,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAWnB,cAAc,MAAM,CAAC;AAAA;AAAA;AAAA,WAGd,WAAS,cAAc,MAAM,WAAW,SAAS,YAAY,CAAC;AAAA,IACrE,WACA,MAAM,YACN,iBAAiB,cAAc,SAAS,CAAC;AAAA,GAC1C;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MAQG,aAAa,QAAW,OAAO,CAAC;AAAA;AAAA;AAAA;AAAA,aAIzB,cAAc,MAAM,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MAM5B,UAAU,QAAQ,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA,MAKnB,WACA,MAAM,YAAY,qBAAqB,cAAc,SAAS,CAAC,EAAE;AAAA;AAAA;AAIvE,IAAM,mBAAmB,gBAAAA,QAAO;AAAA,aACnB,EAAE,CAAC,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMb,UAAU,KAAK,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAUhB,cAAc,MAAM,CAAC;AAAA;AAAA;AAAA;AAAA,IAIrB,WACA,MAAM,YACN,qBAAqB,cAAc,YAAY,CAAC;AAAA,aACvC,cAAc,SAAS,CAAC;AAAA,GAClC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MAQG,aAAa,QAAW,OAAO,CAAC;AAAA;AAAA;AAAA;AAAA,aAIzB,cAAc,SAAS,CAAC;AAAA;AAAA;AAAA;AAK9B,IAAM,MAAM,CAAC,OAWZ;AAXY,eAClB;AAAA;AAAA,IACA;AAAA,IACA,UAAU;AAAA,IACV;AAAA,EAjNF,IA6MoB,IAKf,kBALe,IAKf;AAAA,IAJH;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAQA,QAAM,EAAE,eAAe,IAAI,eAAAD,QAAM,WAAW,WAAW;AAEvD,MAAI,gBAAgB;AAClB,WACE,+BAAAA,QAAA,cAAC,YACC,+BAAAA,QAAA;AAAA,MAAC;AAAA;AAAA,QACC,IAAI;AAAA,QACJ;AAAA,QACA;AAAA,SACI;AAAA,MAEH,QACC,+BAAAA,QAAA,cAAC,qBAAU,SAAQ,QAAO,cAAc,YAAY,WAClD,+BAAAA,QAAA,cAAC,gBAAK,MAAY,OAAM,gBAAe,CACzC;AAAA,MAED;AAAA,IACH,CACF;AAAA,EAEJ;AAEA,SACE,+BAAAA,QAAA,cAAC,YACC,+BAAAA,QAAA,cAAC,6BAAW,IAAI,SAAS,UAAoB,QAAgB,QAC1D,QACC,+BAAAA,QAAA,cAAC,qBAAU,SAAQ,QAAO,cAAc,YAAY,WAClD,+BAAAA,QAAA,cAAC,gBAAK,MAAY,OAAM,gBAAe,CACzC,GAED,QACH,CACF;AAEJ;AAEA,IAAM,OAAO,CAAC,OAOG;AAPH,eACZ;AAAA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,kBAAkB;AAAA,EAlQpB,IA6Pc,IAMT,kBANS,IAMT;AAAA,IALH;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAGA,QAAM,cAAc,iBAClB,+BAAAA,QAAA;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA;AAAA,OACI;AAAA,IAEJ,+BAAAA,QAAA,cAAC,YAAI,QAAS;AAAA,EAChB,IAEA,+BAAAA,QAAA;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA;AAAA,MACA;AAAA,OACI;AAAA,IAEJ,+BAAAA,QAAA,cAAC,YAAI,QAAS;AAAA,EAChB;AAGF,MAAI,cAAc;AAChB,WAAO,+BAAAA,QAAA,cAAC,WAAQ,gBAA6B,WAAY;AAAA,EAC3D;AAEA,SACE,+BAAAA,QAAA,cAAC,YAAY,UAAZ,EAAqB,OAAO,EAAE,eAAe,KAC3C,WACH;AAEJ;AAkCA,IAAO,eAAQ;;;ACnUf,IAAAE,kBAAmB;AACnB,IAAAC,iBAAkB;AAelB,IAAM,cAAc,gBAAAC,QAAO;AAAA;AAAA;AAAA;AAAA;AAAA,eAKZ,EAAE,GAAG,CAAC;AAAA,gBACL,EAAE,IAAI,CAAC;AAAA,WACZ,WAAS,cAAc,MAAM,KAAK,CAAC;AAAA,sBACxB,WAAS,cAAc,MAAM,eAAe,CAAC;AAAA,IAC/D,UAAU,KAAK,CAAC;AAAA,IAChB,YAAY,OAAO,CAAC;AAAA,IACpB,cAAc,MAAM,CAAC;AAAA,IACrB,QAAQ,OAAO,QAAQ,CAAC;AAAA;AAG5B,IAAM,OAAO,CAAC,OAYN;AAZM,eACZ;AAAA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,eAAe;AAAA,EApCjB,IA+Bc,IAMT,kBANS,IAMT;AAAA,IALH;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAQA,QAAM,gBACJ,+BAAAC,QAAA;AAAA,IAAC;AAAA;AAAA,MACC,SAAQ;AAAA,MACR,aAAa,iBAAiB,WAAW;AAAA,MACzC,cAAc,iBAAiB,UAAU;AAAA;AAAA,IAEzC,+BAAAA,QAAA,cAAC,gBAAK,MAAY,OAAM,gBAAe,MAAM,GAAG;AAAA,EAClD;AAGF,SACE,+BAAAA,QAAA,cAAC,8BAAY,OAAc,mBAAsC,QAC9D,QAAQ,iBAAiB,UAAU,eACnC,UACA,QAAQ,iBAAiB,WAAW,aACvC;AAEJ;AAeA,IAAO,eAAQ;;;AC5Ef,IAAAC,kBAAmB;AACnB,uBAQO;AACP,IAAAC,iBAAiC;AAEjC,IAAAC,oBAAqB;AAErB,IAAAC,0BAA8B;AAkB9B,IAAMC,cAAa;AAAA,EACjB,SAAS;AAAA,EACT,WAAW;AAAA,EACX,UAAU;AAAA,EACV,YAAY;AAAA,EACZ,cAAc;AAAA,EACd,aAAa;AAAA,EACb,SAAS;AAAA,EACT,YAAY;AAAA,EACZ,YAAY;AAAA,EACZ,UAAU;AAAA,EACV,aAAa;AAAA,EACb,aAAa;AACf;AAEA,IAAMC,WAAU,gBAAAC,QAAO;AAAA;AAAA;AAAA;AAAA;AAAA,aAOV,WAAS,MAAM,cAAc;AAAA;AAG1C,IAAMC,kBAAiB,gBAAAD,QAAO;AAAA,IAG1B,WAAS,MAAM,UAAU,YAAY,MAAM,MAAM,EAAE;AAAA;AAGvD,IAAM,UAAU,CAAC,OAcG;AAdH,eACf;AAAA;AAAA,IACA;AAAA,IACA,SAAS;AAAA,IACT,iBAAiB;AAAA,IACjB;AAAA,IACA,SAAS;AAAA,IACT,iBAAiB;AAAA,IACjB,YAAY;AAAA,IACZ;AAAA,IACA,kBAAkB;AAAA,IAClB,qBAAqB;AAAA,IACrB,kBAAkB;AAAA,EA3EpB,IA+DiB,IAaZ,kBAbY,IAaZ;AAAA,IAZH;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAGA,QAAM,aAAa,SAAS;AAC5B,QAAM,qBAAqB,iBAAiB;AAC5C,QAAM,YAAY,OAAO,WAAW;AACpC,QAAM,WACJ,UAAU,YAAY,SAAS,eAAe,MAAM,IAAI;AAE1D,QAAM,EAAE,OAAO,YAAY,QAAI;AAAA,IAC7B;AAAA,IACA,qBAAqB;AAAA,EACvB;AACA,QAAM,qBAAqB,MAAM;AAC/B,QAAI,oBAAoB,UAAU,WAAW;AAC3C,aAAO,SAAS;AAAA,IAClB;AAEA,WAAO;AAAA,EACT;AAEA,QAAM,EAAE,GAAG,GAAG,WAAW,UAAU,UAAU,QAAQ,KAAK,QAAI,8BAAY;AAAA,IACxE,WAAWF,YAAW,SAAS;AAAA,IAC/B,YAAY;AAAA,UACV,wBAAM;AAAA,QACJ,SAAS;AAAA,QACT,UAAU,kBAAkB,mBAAmB,IAAI;AAAA,QACnD,aAAS,6BAAW;AAAA,MACtB,CAAC;AAAA,UACD,uBAAK;AAAA,QACH,oBAAoB,CAAC,OAAO,QAAQ;AAAA,QACpC,kBAAkB;AAAA,MACpB,CAAC;AAAA,UACD,iBAAAI,QAAiB,UAAU;AAAA,IAC7B;AAAA,IACA,UAAU;AAAA,EACZ,CAAC;AAED,gCAAU,MAAM;AACd,QAAI,CAAC,KAAK,UAAU,WAAW,CAAC,KAAK,SAAS,SAAS;AACrD;AAAA,IACF;AAGA,eAAO,6BAAW,KAAK,UAAU,SAAS,KAAK,SAAS,SAAS,MAAM;AAAA,EACzE,GAAG,CAAC,KAAK,WAAW,KAAK,UAAU,QAAQ,WAAW,CAAC;AAEvD,QAAM,eAAe;AAAA,IACnB;AAAA,IACA,KAAK;AAAA,IACL,OAAO;AAAA,MACL,UAAU;AAAA,MACV,KAAK,gBAAK;AAAA,MACV,MAAM,gBAAK;AAAA,MACX,YAAY,WAAW,kBAAkB,MAAM,eAAe;AAAA,MAC9D,SAAS,UAAU,UAAU,IAAI;AAAA,IACnC;AAAA,EACF;AAEA,SACE,+BAAAC,QAAA,cAACJ,UAAA,+BAAQ,KAAK,aAAe,QAA5B,EAAmC,mBACjC,UAEA,eACC,+BAAAI,QAAA,6BAAAA,QAAA,gBACG,CAAC,YACA,+BAAAA,QAAA,cAACF,iBAAA,mBAAmB,eAAe,OAAQ,GAG5C,YACC,kBAAAG,QAAS;AAAA,IACP,+BAAAD,QAAA,cAACF,iBAAA,mBAAmB,eAAe,OAAQ;AAAA,IAC3C;AAAA,EACF,CACJ,CAEJ;AAEJ;AAiBA,IAAO,kBAAQ;;;AC1Kf,IAAAI,kBAAmB;AACnB,IAAAC,iBAAkB;AAIlB,IAAM,sBAAsB,gBAAAC,QAAO;AAAA;AAAA,WAExB,WACP,MAAM,QAAQ,cAAc,MAAM,KAAK,IAAI,cAAc,OAAO,CAAC;AAAA,IACjE,WAAS,MAAM,QAAQ,QAAQ,SAAS,MAAM,IAAI,CAAC;AAAA,IACnD,WAAS,MAAM,QAAQ,QAAQ,UAAU,MAAM,IAAI,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AASxD,IAAM,eAAe,CAAC,OAMsD;AANtD,eACpB;AAAA;AAAA,IACA;AAAA,IACA,QAAQ;AAAA,IACR,OAAO;AAAA,EAvBT,IAmBsB,IAKjB,kBALiB,IAKjB;AAAA,IAJH;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAGA,SACE,+BAAAC,QAAA;AAAA,IAAC;AAAA;AAAA,MACC,eAAY;AAAA,MACZ,cAAY;AAAA,MACZ;AAAA,MACA;AAAA,OACI;AAAA,IAEH;AAAA,EACH;AAEJ;AAcA,IAAO,uBAAQ;;;ACnDf,IAAAC,iBAAoB;AACpB,IAAAC,kBAAmB;AACnB,IAAAD,iBAA8C;AAY9C,IAAM,gBAAgB,WAAS;AAAA,IAC3B,QAAQ,SAAS,MAAM,KAAK,CAAC;AAAA,IAC7B,QAAQ,UAAU,MAAM,MAAM,CAAC;AAAA,IAC/B,QAAQ,aAAa,MAAM,QAAQ,CAAC;AAAA,IACpC,QAAQ,cAAc,MAAM,SAAS,CAAC;AAAA,IACtC,QAAQ,aAAa,MAAM,QAAQ,CAAC;AAAA,IACpC,QAAQ,cAAc,MAAM,SAAS,CAAC;AAAA;AAG1C,IAAM,eAAe,gBAAAE,QAAO;AAAA;AAAA,IAExB,WAAS,mBAAmB,eAAe,MAAM,UAAU,CAAC;AAAA,IAC5D,WACA,MAAM,kBACN,mBAAmB,mBAAmB,MAAM,cAAc,CAAC;AAAA,IAC3D,WACA,MAAM,gBACN,mBAAmB,iBAAiB,MAAM,YAAY,CAAC;AAAA,IACvD,WAAS,mBAAmB,aAAa,MAAM,IAAI,CAAC;AAAA,IACpD,WACA,MAAM,aAAa,mBAAmB,kBAAkB,MAAM,SAAS,CAAC;AAAA,IACxE,WAAS,MAAM,OAAO,QAAQ,OAAO,MAAM,GAAG,CAAC;AAAA,IAC/C,WAAS,MAAM,UAAU,QAAQ,WAAW,MAAM,MAAM,CAAC;AAAA,IACzD,WAAS,MAAM,aAAa,QAAQ,cAAc,MAAM,SAAS,CAAC;AAAA,IAClE,WAAS,cAAc,KAAK,CAAC;AAAA,IAC7B,WAAS,iBAAiB,MAAM,EAAE,CAAC;AAAA;AAGvC,IAAM,sBAAsB,gBAAAA,QAAO;AAAA,IAC/B,WAAS,oBAAoB,aAAa,MAAM,IAAI,CAAC;AAAA,IACrD,WAAS,oBAAoB,eAAe,MAAM,MAAM,CAAC;AAAA,IACzD,WAAS,MAAM,SAAS,QAAQ,cAAc,MAAM,KAAK,CAAC;AAAA,IAC1D,WAAS,cAAc,KAAK,CAAC;AAAA;AAG1B,IAAM,eAAe,CAAC,OAe+C;AAf/C,eAC3B;AAAA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,UAAU;AAAA,IACV;AAAA,IACA;AAAA,EA9DF,IAiD6B,IAcxB,kBAdwB,IAcxB;AAAA,IAbH;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAGA,MAAI,aAAa,OAAO;AAEtB,YAAQ,KAAK,mBAAmB;AAAA,EAClC;AAEA,SACE,+BAAAC,QAAA;AAAA,IAAC;AAAA;AAAA,MACC,IAAI;AAAA,MACJ;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,OACI;AAAA,IAEH;AAAA,EACH;AAEJ;AAEA,IAAM,QAAQ,CAAC,OAmB+C;AAnB/C,eACb;AAAA;AAAA,IACA,MAAM;AAAA,IACN;AAAA,IACA;AAAA,IACA,aAAa;AAAA,IACb;AAAA,IACA;AAAA,IACA,OAAO;AAAA,IACP;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,UAAU;AAAA,IACV;AAAA,IACA;AAAA,EA1GF,IAyFe,IAkBV,kBAlBU,IAkBV;AAAA,IAjBH;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAGA,MAAI,aAAa,OAAO;AAEtB,YAAQ,KAAK,mBAAmB;AAAA,EAClC;AAEA,SACE,+BAAAA,QAAA;AAAA,IAAC;AAAA;AAAA,MACC,IAAI;AAAA,MACJ;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,OACI;AAAA,IAEH,YAAY,QAAQ,YAAY,OAC7B,wBAAS,IAAI,UAAU,CAAC,UAA8B;AACpD,UAAI,MAAM,SAAS,gBAAgB,MAAM,SAAS,OAAO;AACvD,mBAAO,6BAAa,OAAO,EAAE,SAAS,KAAK,CAAC;AAAA,MAC9C;AAEA,aAAO;AAAA,IACT,CAAC,IACD;AAAA,EACN;AAEJ;AAgEA,IAAO,gBAAQ;;;AC/Mf,IAAAC,kBAAmB;AACnB,IAAAC,iBAAoC;AACpC,4BAA8C;AAK9C,IAAM,kBAAkB,gBAAAC,QAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,cAOjB,EAAE,EAAE,CAAC;AAAA;AAAA;AAAA,MAGb,UAAU,GAAG,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA,cAKN,EAAE,CAAC,CAAC;AAAA;AAAA;AAAA,MAGZ,UAAU,IAAI,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA,aAKR,EAAE,CAAC,CAAC;AAAA,cACH,EAAE,CAAC,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,aAOL,EAAE,CAAC,CAAC;AAAA,cACH,EAAE,GAAG,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAQpB,IAAM,uBAAuB,gBAAAA,QAAO;AAAA;AAAA,WAEzB,EAAE,EAAE,CAAC;AAAA;AAAA,IAEZ,UAAU,KAAK,CAAC;AAAA;AAAA;AAAA;AAAA;AAMpB,IAAM,iBAAiB,gBAAAA,QAAO;AAAA;AAAA;AAAA;AAAA;AAAA,qBAKT,EAAE,CAAC,CAAC;AAAA,cACX,EAAE,CAAC,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MAOZ,UAAU,KAAK,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAiBtB,IAAM,WAAW,gBAAAA,QAAO;AAAA;AAAA,WAEb,EAAE,CAAC,CAAC;AAAA,YACH,EAAE,CAAC,CAAC;AAAA;AAAA;AAAA;AAAA,IAIZ,UAAU,KAAK,CAAC;AAAA,sBACE,WAAS,MAAM,KAAK;AAAA;AAG1C,IAAMC,iBAAgB,gBAAAD,QAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAO7B,IAAM,oBAAoB,gBAAAA,QAAO;AAAA;AAAA,qCAEI,EAAE,CAAC,CAAC;AAAA,SAChC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;AAAA;AAAA;AAAA;AAKrB,IAAM,SAAS,gBAAAA,QAAO;AAAA;AAAA,WAEX,EAAE,CAAC,CAAC;AAAA,YACH,EAAE,CAAC,CAAC;AAAA,IACZ,UAAU,KAAK,CAAC;AAAA,sBACE,WAAS,MAAM,KAAK;AAAA,YAC9B,WACR,MAAM,aAAa,MAAM,QACrB,oBACA,mCAAmC;AAAA,gBAC3B,WACZ,MAAM,aAAa,MAAM,SAAS,sCAAsC;AAAA;AAG5E,IAAM,iBAID,CAAC,EAAE,UAAU,cAAc,cAAc,MAAM;AAClD,QAAM,iBAAiB,SAAS,SAAS,YAAY,KAAK;AAE1D,SACE,+BAAAE,QAAA,cAAC,yBACE,SAAS,IAAI,YACZ,+BAAAA,QAAA;AAAA,IAAC;AAAA;AAAA,MACC,KAAK;AAAA,MACL,OAAO;AAAA,MACP,UAAU;AAAA,MACV,SAAS,MAAM,cAAc,MAAM;AAAA,MACnC,MAAK;AAAA,MACL,UAAU;AAAA,MACV,WAAW,OAAK;AACd,YAAI,EAAE,QAAQ,SAAS;AACrB,YAAE,eAAe;AACjB,wBAAc,MAAM;AAAA,QACtB;AAAA,MACF;AAAA;AAAA,EACF,CACD,CACH;AAEJ;AAEA,IAAM,gBAAgB,CAAC,EAAE,OAAO,SAAS,MAAM;AAC7C,SACE,+BAAAA,QAAA,cAAC,uBACC,+BAAAA,QAAA,cAAC,wCAAe,OAAc,UAAU,UAAU,GAClD,+BAAAA,QAAA,cAAC,sBACC,+BAAAA,QAAA,cAAC,uCAAc,UAAQ,MAAC,OAAc,UAAU,UAAU,GAC1D,+BAAAA,QAAA,cAAC,YAAS,OAAc,CAC1B,CACF;AAEJ;AAEA,IAAM,cAAc,CAAC,OAkBb;AAlBa,eACnB;AAAA,mBAAe;AAAA,IACf;AAAA,IACA;AAAA,IACA;AAAA,EA5KF,IAwKqB,IAKhB,kBALgB,IAKhB;AAAA,IAJH;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAeA,QAAM,CAAC,WAAW,YAAY,QAAI;AAAA,IAChC,eAAe,eAAe;AAAA,EAChC;AAEA,QAAM,iBAAiB,CAAC,QAAgB;AACtC,iBAAa,GAAG;AAChB,aAAS,GAAG;AAAA,EACd;AAEA,QAAM,gBAAgB,CAAC,WAAmB;AACxC,mBAAe,MAAM;AAAA,EACvB;AAEA,SACE,+BAAAA,QAAA,cAAC,yCAAyB,QACvB,YACC,+BAAAA,QAAA;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA,cAAc;AAAA,MACd;AAAA;AAAA,EACF,GAEF,+BAAAA,QAAA,cAAC,iBAAc,OAAO,WAAW,UAAU,gBAAgB,GAC1D,iBAAiB,+BAAAA,QAAA,cAACD,gBAAA,MAAe,aAAc,CAClD;AAEJ;AAcA,IAAO,uBAAQ;;;ACnOf,IAAAE,UAAuB;AAEvB,SAAS,4BAA4B,OAAO;AAC1C,SACE;AAAA,IAAC;AAAA;AAAA,MACC,SAAQ;AAAA,MACR,MAAK;AAAA,MACL,OAAM;AAAA,OACF;AAAA,IAEJ;AAAA,MAAC;AAAA;AAAA,QACC,GAAE;AAAA,QACF,QAAO;AAAA,QACP,aAAa;AAAA,QACb,kBAAkB;AAAA;AAAA,IACpB;AAAA,IACA;AAAA,MAAC;AAAA;AAAA,QACC,GAAE;AAAA,QACF,QAAO;AAAA,QACP,aAAa;AAAA,QACb,kBAAkB;AAAA;AAAA,IACpB;AAAA,EACF;AAEJ;AAEA,IAAO,+BAAQ;;;AC1Bf,IAAAC,UAAuB;AAEvB,SAAS,mBAAmB,OAAO;AACjC,SACE;AAAA,IAAC;AAAA;AAAA,MACC,SAAQ;AAAA,MACR,MAAK;AAAA,MACL,OAAM;AAAA,OACF;AAAA,IAEJ;AAAA,MAAC;AAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAK;AAAA;AAAA,IACP;AAAA,IACA;AAAA,MAAC;AAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAK;AAAA;AAAA,IACP;AAAA,IACA;AAAA,MAAC;AAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAK;AAAA;AAAA,IACP;AAAA,IACA;AAAA,MAAC;AAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAK;AAAA;AAAA,IACP;AAAA,EACF;AAEJ;AAEA,IAAO,iBAAQ;;;AC9Bf,IAAAC,UAAuB;AAEvB,SAAS,qBAAqB,OAAO;AACnC,SACE;AAAA,IAAC;AAAA;AAAA,MACC,SAAQ;AAAA,MACR,MAAK;AAAA,MACL,OAAM;AAAA,OACF;AAAA,IAEJ;AAAA,MAAC;AAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAK;AAAA;AAAA,IACP;AAAA,IACA;AAAA,MAAC;AAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAK;AAAA;AAAA,IACP;AAAA,EACF;AAEJ;AAEA,IAAO,mBAAQ;;;ACtBf,IAAAC,UAAuB;AAEvB,SAAS,iCAAiC,OAAO;AAC/C,SACE;AAAA,IAAC;AAAA;AAAA,MACC,SAAQ;AAAA,MACR,MAAK;AAAA,MACL,OAAM;AAAA,OACF;AAAA,IAEJ;AAAA,MAAC;AAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAK;AAAA;AAAA,IACP;AAAA,EACF;AAEJ;AAEA,IAAO,iCAAQ;;;AClBf,IAAAC,UAAuB;AAEvB,SAAS,uBAAuB,OAAO;AACrC,SACE;AAAA,IAAC;AAAA;AAAA,MACC,SAAQ;AAAA,MACR,MAAK;AAAA,MACL,OAAM;AAAA,OACF;AAAA,IAEJ;AAAA,MAAC;AAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAK;AAAA;AAAA,IACP;AAAA,EACF;AAEJ;AAEA,IAAO,uBAAQ;;;AClBf,IAAAC,UAAuB;AAEvB,SAAS,gCAAgC,OAAO;AAC9C,SACE;AAAA,IAAC;AAAA;AAAA,MACC,SAAQ;AAAA,MACR,MAAK;AAAA,MACL,OAAM;AAAA,OACF;AAAA,IAEJ;AAAA,MAAC;AAAA;AAAA,QACC,UAAS;AAAA,QACT,UAAS;AAAA,QACT,GAAE;AAAA,QACF,MAAK;AAAA;AAAA,IACP;AAAA,IACA;AAAA,MAAC;AAAA;AAAA,QACC,UAAS;AAAA,QACT,UAAS;AAAA,QACT,GAAE;AAAA,QACF,MAAK;AAAA;AAAA,IACP;AAAA,IACA;AAAA,MAAC;AAAA;AAAA,QACC,IAAI;AAAA,QACJ,IAAI;AAAA,QACJ,WAAU;AAAA,QACV,MAAK;AAAA,QACL,GAAG;AAAA;AAAA,IACL;AAAA,EACF;AAEJ;AAEA,IAAO,mCAAQ;;;ACjCf,IAAAC,UAAuB;AAEvB,SAAS,yBAAyB,OAAO;AACvC,SACE;AAAA,IAAC;AAAA;AAAA,MACC,SAAQ;AAAA,MACR,MAAK;AAAA,MACL,OAAM;AAAA,OACF;AAAA,IAEJ;AAAA,MAAC;AAAA;AAAA,QACC,UAAS;AAAA,QACT,UAAS;AAAA,QACT,GAAE;AAAA,QACF,MAAK;AAAA;AAAA,IACP;AAAA,EACF;AAEJ;AAEA,IAAO,wBAAQ;;;ACpBf,IAAAC,UAAuB;AAEvB,SAAS,sBAAsB,OAAO;AACpC,SACE;AAAA,IAAC;AAAA;AAAA,MACC,SAAQ;AAAA,MACR,MAAK;AAAA,MACL,OAAM;AAAA,OACF;AAAA,IAEJ;AAAA,MAAC;AAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAK;AAAA;AAAA,IACP;AAAA,IACA;AAAA,MAAC;AAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAK;AAAA;AAAA,IACP;AAAA,EACF;AAEJ;AAEA,IAAO,qBAAQ;;;ACtBf,IAAAC,UAAuB;AAEvB,SAAS,kDAAkD,OAAO;AAChE,SACE;AAAA,IAAC;AAAA;AAAA,MACC,SAAQ;AAAA,MACR,MAAK;AAAA,MACL,OAAM;AAAA,OACF;AAAA,IAEJ;AAAA,MAAC;AAAA;AAAA,QACC,UAAS;AAAA,QACT,UAAS;AAAA,QACT,GAAE;AAAA,QACF,MAAK;AAAA;AAAA,IACP;AAAA,EACF;AAEJ;AAEA,IAAO,qCAAQ;;;ACpBf,IAAAC,UAAuB;AAEvB,SAAS,yBAAyB,OAAO;AACvC,SACE;AAAA,IAAC;AAAA;AAAA,MACC,SAAQ;AAAA,MACR,MAAK;AAAA,MACL,OAAM;AAAA,OACF;AAAA,IAEJ;AAAA,MAAC;AAAA;AAAA,QACC,MAAK;AAAA,QACL,GAAE;AAAA;AAAA,IACJ;AAAA,EACF;AAEJ;AAEA,IAAO,wBAAQ;;;AClBf,IAAAC,UAAuB;AAEvB,SAAS,sBAAsB,OAAO;AACpC,SACE;AAAA,IAAC;AAAA;AAAA,MACC,SAAQ;AAAA,MACR,MAAK;AAAA,MACL,OAAM;AAAA,OACF;AAAA,IAEJ;AAAA,MAAC;AAAA;AAAA,QACC,UAAS;AAAA,QACT,UAAS;AAAA,QACT,GAAE;AAAA,QACF,MAAK;AAAA;AAAA,IACP;AAAA,EACF;AAEJ;AAEA,IAAO,oBAAQ;;;ACpBf,IAAAC,UAAuB;AAEvB,SAAS,yBAAyB,OAAO;AACvC,SACE;AAAA,IAAC;AAAA;AAAA,MACC,SAAQ;AAAA,MACR,MAAK;AAAA,MACL,OAAM;AAAA,OACF;AAAA,IAEJ;AAAA,MAAC;AAAA;AAAA,QACC,UAAS;AAAA,QACT,UAAS;AAAA,QACT,GAAE;AAAA,QACF,MAAK;AAAA;AAAA,IACP;AAAA,EACF;AAEJ;AAEA,IAAO,wBAAQ;;;ACpBf,IAAAC,UAAuB;AAEvB,SAAS,0BAA0B,OAAO;AACxC,SACE;AAAA,IAAC;AAAA;AAAA,MACC,SAAQ;AAAA,MACR,MAAK;AAAA,MACL,OAAM;AAAA,OACF;AAAA,IAEJ;AAAA,MAAC;AAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAK;AAAA;AAAA,IACP;AAAA,EACF;AAEJ;AAEA,IAAO,yBAAQ;;;AClBf,IAAAC,UAAuB;AAEvB,SAAS,yBAAyB,OAAO;AACvC,SACE;AAAA,IAAC;AAAA;AAAA,MACC,SAAQ;AAAA,MACR,MAAK;AAAA,MACL,OAAM;AAAA,OACF;AAAA,IAEJ;AAAA,MAAC;AAAA;AAAA,QACC,UAAS;AAAA,QACT,UAAS;AAAA,QACT,GAAE;AAAA,QACF,MAAK;AAAA;AAAA,IACP;AAAA,EACF;AAEJ;AAEA,IAAO,wBAAQ;;;ACpBf,IAAAC,UAAuB;AAEvB,SAAS,gBAAgB,OAAO;AAC9B,SACE;AAAA,IAAC;AAAA;AAAA,MACC,SAAQ;AAAA,MACR,MAAK;AAAA,MACL,OAAM;AAAA,OACF;AAAA,IAEJ;AAAA,MAAC;AAAA;AAAA,QACC,UAAS;AAAA,QACT,UAAS;AAAA,QACT,GAAE;AAAA,QACF,MAAK;AAAA;AAAA,IACP;AAAA,EACF;AAEJ;AAEA,IAAO,cAAQ;;;ACpBf,IAAAC,UAAuB;AAEvB,SAAS,2BAA2B,OAAO;AACzC,SACE;AAAA,IAAC;AAAA;AAAA,MACC,SAAQ;AAAA,MACR,MAAK;AAAA,MACL,OAAM;AAAA,OACF;AAAA,IAEJ;AAAA,MAAC;AAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAK;AAAA;AAAA,IACP;AAAA,EACF;AAEJ;AAEA,IAAO,0BAAQ;;;AClBf,IAAAC,UAAuB;AAEvB,SAAS,mBAAmB,OAAO;AACjC,SACE;AAAA,IAAC;AAAA;AAAA,MACC,SAAQ;AAAA,MACR,MAAK;AAAA,MACL,OAAM;AAAA,OACF;AAAA,IAEJ,sCAAC,OAAE,UAAS,2BAA0B,MAAK,kBACzC,sCAAC,UAAK,GAAE,8+CAA6+C,CACv/C;AAAA,IACA,sCAAC,cACC,sCAAC,cAAS,IAAG,uBACX,sCAAC,UAAK,MAAK,QAAO,GAAE,mBAAkB,CACxC,CACF;AAAA,EACF;AAEJ;AAEA,IAAO,iBAAQ;;;ACtBf,IAAAC,UAAuB;AAEvB,SAAS,yCAAyC,OAAO;AACvD,SACE;AAAA,IAAC;AAAA;AAAA,MACC,SAAQ;AAAA,MACR,MAAK;AAAA,MACL,OAAM;AAAA,OACF;AAAA,IAEJ;AAAA,MAAC;AAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAK;AAAA;AAAA,IACP;AAAA,IACA;AAAA,MAAC;AAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAK;AAAA;AAAA,IACP;AAAA,IACA;AAAA,MAAC;AAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAK;AAAA;AAAA,IACP;AAAA,IACA;AAAA,MAAC;AAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAK;AAAA;AAAA,IACP;AAAA,EACF;AAEJ;AAEA,IAAO,2CAAQ;;;AC9Bf,IAAAC,UAAuB;AAEvB,SAAS,wBAAwB,OAAO;AACtC,SACE;AAAA,IAAC;AAAA;AAAA,MACC,SAAQ;AAAA,MACR,MAAK;AAAA,MACL,OAAM;AAAA,OACF;AAAA,IAEJ;AAAA,MAAC;AAAA;AAAA,QACC,GAAE;AAAA,QACF,QAAO;AAAA,QACP,aAAa;AAAA,QACb,kBAAkB;AAAA;AAAA,IACpB;AAAA,IACA;AAAA,MAAC;AAAA;AAAA,QACC,GAAE;AAAA,QACF,QAAO;AAAA,QACP,aAAa;AAAA,QACb,kBAAkB;AAAA;AAAA,IACpB;AAAA,IACA;AAAA,MAAC;AAAA;AAAA,QACC,GAAE;AAAA,QACF,QAAO;AAAA,QACP,aAAa;AAAA,QACb,kBAAkB;AAAA;AAAA,IACpB;AAAA,EACF;AAEJ;AAEA,IAAO,uBAAQ;;;AChCf,IAAAC,UAAuB;AAEvB,SAAS,gCAAgC,OAAO;AAC9C,SACE;AAAA,IAAC;AAAA;AAAA,MACC,SAAQ;AAAA,MACR,MAAK;AAAA,MACL,OAAM;AAAA,OACF;AAAA,IAEJ;AAAA,MAAC;AAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAK;AAAA;AAAA,IACP;AAAA,IACA;AAAA,MAAC;AAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAK;AAAA;AAAA,IACP;AAAA,EACF;AAEJ;AAEA,IAAO,+BAAQ;;;ACtBf,IAAAC,UAAuB;AAEvB,SAAS,oBAAoB,OAAO;AAClC,SACE;AAAA,IAAC;AAAA;AAAA,MACC,SAAQ;AAAA,MACR,MAAK;AAAA,MACL,OAAM;AAAA,OACF;AAAA,IAEJ,sCAAC,UAAK,GAAE,4CAA2C,MAAK,gBAAe;AAAA,IACvE;AAAA,MAAC;AAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAK;AAAA;AAAA,IACP;AAAA,EACF;AAEJ;AAEA,IAAO,kBAAQ;;;ACnBf,IAAAC,UAAuB;AAEvB,SAAS,sBAAsB,OAAO;AACpC,SACE;AAAA,IAAC;AAAA;AAAA,MACC,SAAQ;AAAA,MACR,MAAK;AAAA,MACL,OAAM;AAAA,OACF;AAAA,IAEJ;AAAA,MAAC;AAAA;AAAA,QACC,UAAS;AAAA,QACT,UAAS;AAAA,QACT,GAAE;AAAA,QACF,MAAK;AAAA;AAAA,IACP;AAAA,EACF;AAEJ;AAEA,IAAO,oBAAQ;;;ACpBf,IAAAC,UAAuB;AAEvB,SAAS,uBAAuB,OAAO;AACrC,SACE;AAAA,IAAC;AAAA;AAAA,MACC,SAAQ;AAAA,MACR,MAAK;AAAA,MACL,OAAM;AAAA,OACF;AAAA,IAEJ;AAAA,MAAC;AAAA;AAAA,QACC,UAAS;AAAA,QACT,UAAS;AAAA,QACT,GAAE;AAAA,QACF,MAAK;AAAA;AAAA,IACP;AAAA,EACF;AAEJ;AAEA,IAAO,qBAAQ;;;ACpBf,IAAAC,UAAuB;AAEvB,SAAS,4BAA4B,OAAO;AAC1C,SACE;AAAA,IAAC;AAAA;AAAA,MACC,SAAQ;AAAA,MACR,MAAK;AAAA,MACL,OAAM;AAAA,OACF;AAAA,IAEJ;AAAA,MAAC;AAAA;AAAA,QACC,UAAS;AAAA,QACT,UAAS;AAAA,QACT,GAAE;AAAA,QACF,MAAK;AAAA;AAAA,IACP;AAAA,EACF;AAEJ;AAEA,IAAO,4BAAQ;;;ACpBf,IAAAC,UAAuB;AAEvB,SAAS,yCAAyC,OAAO;AACvD,SACE;AAAA,IAAC;AAAA;AAAA,MACC,SAAQ;AAAA,MACR,MAAK;AAAA,MACL,OAAM;AAAA,OACF;AAAA,IAEJ;AAAA,MAAC;AAAA;AAAA,QACC,UAAS;AAAA,QACT,MAAK;AAAA;AAAA,MAEL,sCAAC,UAAK,GAAE,uIAAsI;AAAA,MAC9I,sCAAC,UAAK,GAAE,6bAA4b;AAAA,IACtc;AAAA,IACA,sCAAC,cACC,sCAAC,cAAS,IAAG,oDACX,sCAAC,UAAK,MAAK,QAAO,GAAE,mBAAkB,CACxC,CACF;AAAA,EACF;AAEJ;AAEA,IAAO,+BAAQ;;;AC1Bf,IAAAC,UAAuB;AAEvB,SAAS,2BAA2B,OAAO;AACzC,SACE;AAAA,IAAC;AAAA;AAAA,MACC,SAAQ;AAAA,MACR,MAAK;AAAA,MACL,OAAM;AAAA,OACF;AAAA,IAEJ;AAAA,MAAC;AAAA;AAAA,QACC,MAAK;AAAA,QACL,GAAE;AAAA;AAAA,IACJ;AAAA,EACF;AAEJ;AAEA,IAAO,0BAAQ;;;AClBf,IAAAC,UAAuB;AAEvB,SAAS,kBAAkB,OAAO;AAChC,SACE;AAAA,IAAC;AAAA;AAAA,MACC,SAAQ;AAAA,MACR,MAAK;AAAA,MACL,OAAM;AAAA,OACF;AAAA,IAEJ;AAAA,MAAC;AAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAK;AAAA;AAAA,IACP;AAAA,IACA;AAAA,MAAC;AAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAK;AAAA;AAAA,IACP;AAAA,IACA;AAAA,MAAC;AAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAK;AAAA;AAAA,IACP;AAAA,EACF;AAEJ;AAEA,IAAO,gBAAQ;;;AC1Bf,IAAAC,UAAuB;AAEvB,SAAS,2BAA2B,OAAO;AACzC,SACE;AAAA,IAAC;AAAA;AAAA,MACC,SAAQ;AAAA,MACR,MAAK;AAAA,MACL,OAAM;AAAA,OACF;AAAA,IAEJ;AAAA,MAAC;AAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAK;AAAA;AAAA,IACP;AAAA,IACA,sCAAC,UAAK,GAAE,mCAAkC,MAAK,gBAAe;AAAA,IAC9D,sCAAC,UAAK,GAAE,6BAA4B,MAAK,gBAAe;AAAA,EAC1D;AAEJ;AAEA,IAAO,2BAAQ;;;ACpBf,IAAAC,UAAuB;AAEvB,SAAS,oBAAoB,OAAO;AAClC,SACE;AAAA,IAAC;AAAA;AAAA,MACC,SAAQ;AAAA,MACR,MAAK;AAAA,MACL,OAAM;AAAA,OACF;AAAA,IAEJ;AAAA,MAAC;AAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAK;AAAA;AAAA,IACP;AAAA,EACF;AAEJ;AAEA,IAAO,kBAAQ;;;AClBf,IAAAC,UAAuB;AAEvB,SAAS,yBAAyB,OAAO;AACvC,SACE;AAAA,IAAC;AAAA;AAAA,MACC,SAAQ;AAAA,MACR,MAAK;AAAA,MACL,OAAM;AAAA,OACF;AAAA,IAEJ;AAAA,MAAC;AAAA;AAAA,QACC,UAAS;AAAA,QACT,UAAS;AAAA,QACT,GAAE;AAAA,QACF,MAAK;AAAA;AAAA,IACP;AAAA,EACF;AAEJ;AAEA,IAAO,4BAAQ;;;ACpBf,IAAAC,UAAuB;AAEvB,SAAS,4BAA4B,OAAO;AAC1C,SACE;AAAA,IAAC;AAAA;AAAA,MACC,SAAQ;AAAA,MACR,MAAK;AAAA,MACL,OAAM;AAAA,OACF;AAAA,IAEJ;AAAA,MAAC;AAAA;AAAA,QACC,UAAS;AAAA,QACT,UAAS;AAAA,QACT,GAAE;AAAA,QACF,MAAK;AAAA;AAAA,IACP;AAAA,EACF;AAEJ;AAEA,IAAO,4BAAQ;;;ACpBf,IAAAC,UAAuB;AAEvB,SAAS,2BAA2B,OAAO;AACzC,SACE;AAAA,IAAC;AAAA;AAAA,MACC,SAAQ;AAAA,MACR,MAAK;AAAA,MACL,OAAM;AAAA,OACF;AAAA,IAEJ;AAAA,MAAC;AAAA;AAAA,QACC,GAAE;AAAA,QACF,QAAO;AAAA,QACP,aAAa;AAAA,QACb,kBAAkB;AAAA;AAAA,IACpB;AAAA,IACA;AAAA,MAAC;AAAA;AAAA,QACC,GAAE;AAAA,QACF,QAAO;AAAA,QACP,aAAa;AAAA,QACb,kBAAkB;AAAA;AAAA,IACpB;AAAA,IACA;AAAA,MAAC;AAAA;AAAA,QACC,GAAE;AAAA,QACF,QAAO;AAAA,QACP,aAAa;AAAA,QACb,kBAAkB;AAAA;AAAA,IACpB;AAAA,IACA;AAAA,MAAC;AAAA;AAAA,QACC,GAAE;AAAA,QACF,QAAO;AAAA,QACP,aAAa;AAAA,QACb,kBAAkB;AAAA;AAAA,IACpB;AAAA,EACF;AAEJ;AAEA,IAAO,0BAAQ;;;ACtCf,IAAAC,UAAuB;AAEvB,SAAS,8BAA8B,OAAO;AAC5C,SACE;AAAA,IAAC;AAAA;AAAA,MACC,SAAQ;AAAA,MACR,MAAK;AAAA,MACL,OAAM;AAAA,OACF;AAAA,IAEJ;AAAA,MAAC;AAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAK;AAAA;AAAA,IACP;AAAA,IACA;AAAA,MAAC;AAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAK;AAAA;AAAA,IACP;AAAA,EACF;AAEJ;AAEA,IAAO,8BAAQ;;;ACtBf,IAAAC,UAAuB;AAEvB,SAAS,iCAAiC,OAAO;AAC/C,SACE;AAAA,IAAC;AAAA;AAAA,MACC,SAAQ;AAAA,MACR,MAAK;AAAA,MACL,OAAM;AAAA,OACF;AAAA,IAEJ;AAAA,MAAC;AAAA;AAAA,QACC,GAAE;AAAA,QACF,QAAO;AAAA,QACP,aAAa;AAAA,QACb,kBAAkB;AAAA;AAAA,IACpB;AAAA,IACA;AAAA,MAAC;AAAA;AAAA,QACC,GAAE;AAAA,QACF,QAAO;AAAA,QACP,aAAa;AAAA,QACb,kBAAkB;AAAA;AAAA,IACpB;AAAA,IACA;AAAA,MAAC;AAAA;AAAA,QACC,GAAE;AAAA,QACF,QAAO;AAAA,QACP,aAAa;AAAA,QACb,kBAAkB;AAAA;AAAA,IACpB;AAAA,IACA;AAAA,MAAC;AAAA;AAAA,QACC,GAAE;AAAA,QACF,QAAO;AAAA,QACP,aAAa;AAAA,QACb,kBAAkB;AAAA;AAAA,IACpB;AAAA,IACA;AAAA,MAAC;AAAA;AAAA,QACC,GAAE;AAAA,QACF,QAAO;AAAA,QACP,aAAa;AAAA,QACb,kBAAkB;AAAA;AAAA,IACpB;AAAA,IACA;AAAA,MAAC;AAAA;AAAA,QACC,GAAE;AAAA,QACF,QAAO;AAAA,QACP,aAAa;AAAA,QACb,kBAAkB;AAAA;AAAA,IACpB;AAAA,IACA;AAAA,MAAC;AAAA;AAAA,QACC,GAAE;AAAA,QACF,QAAO;AAAA,QACP,aAAa;AAAA,QACb,kBAAkB;AAAA;AAAA,IACpB;AAAA,EACF;AAEJ;AAEA,IAAO,iCAAQ;;;ACxDf,IAAAC,UAAuB;AAEvB,SAAS,4BAA4B,OAAO;AAC1C,SACE;AAAA,IAAC;AAAA;AAAA,MACC,SAAQ;AAAA,MACR,MAAK;AAAA,MACL,OAAM;AAAA,OACF;AAAA,IAEJ;AAAA,MAAC;AAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAK;AAAA,QACL,QAAO;AAAA,QACP,aAAa;AAAA,QACb,kBAAkB;AAAA;AAAA,IACpB;AAAA,IACA;AAAA,MAAC;AAAA;AAAA,QACC,GAAE;AAAA,QACF,QAAO;AAAA,QACP,aAAa;AAAA,QACb,kBAAkB;AAAA;AAAA,IACpB;AAAA,IACA;AAAA,MAAC;AAAA;AAAA,QACC,GAAE;AAAA,QACF,QAAO;AAAA,QACP,aAAa;AAAA,QACb,kBAAkB;AAAA;AAAA,IACpB;AAAA,IACA;AAAA,MAAC;AAAA;AAAA,QACC,GAAE;AAAA,QACF,QAAO;AAAA,QACP,aAAa;AAAA,QACb,kBAAkB;AAAA;AAAA,IACpB;AAAA,EACF;AAEJ;AAEA,IAAO,0BAAQ;;;ACvCf,IAAAC,UAAuB;AAEvB,SAAS,wBAAwB,OAAO;AACtC,SACE;AAAA,IAAC;AAAA;AAAA,MACC,SAAQ;AAAA,MACR,MAAK;AAAA,MACL,OAAM;AAAA,OACF;AAAA,IAEJ;AAAA,MAAC;AAAA;AAAA,QACC,UAAS;AAAA,QACT,UAAS;AAAA,QACT,GAAE;AAAA,QACF,MAAK;AAAA;AAAA,IACP;AAAA,EACF;AAEJ;AAEA,IAAO,uBAAQ;;;ACpBf,IAAAC,UAAuB;AAEvB,SAAS,oBAAoB,OAAO;AAClC,SACE;AAAA,IAAC;AAAA;AAAA,MACC,SAAQ;AAAA,MACR,MAAK;AAAA,MACL,OAAM;AAAA,OACF;AAAA,IAEJ;AAAA,MAAC;AAAA;AAAA,QACC,UAAS;AAAA,QACT,UAAS;AAAA,QACT,GAAE;AAAA,QACF,MAAK;AAAA;AAAA,IACP;AAAA,EACF;AAEJ;AAEA,IAAO,kBAAQ;;;ACpBf,IAAAC,UAAuB;AAEvB,SAAS,yBAAyB,OAAO;AACvC,SACE;AAAA,IAAC;AAAA;AAAA,MACC,SAAQ;AAAA,MACR,MAAK;AAAA,MACL,OAAM;AAAA,OACF;AAAA,IAEJ;AAAA,MAAC;AAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAK;AAAA;AAAA,IACP;AAAA,EACF;AAEJ;AAEA,IAAO,0BAAQ;;;AClBf,IAAAC,UAAuB;AAEvB,SAAS,8BAA8B,OAAO;AAC5C,SACE;AAAA,IAAC;AAAA;AAAA,MACC,SAAQ;AAAA,MACR,MAAK;AAAA,MACL,OAAM;AAAA,OACF;AAAA,IAEJ;AAAA,MAAC;AAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAK;AAAA;AAAA,IACP;AAAA,EACF;AAEJ;AAEA,IAAO,+BAAQ;;;AClBf,IAAAC,UAAuB;AAEvB,SAAS,qBAAqB,OAAO;AACnC,SACE;AAAA,IAAC;AAAA;AAAA,MACC,SAAQ;AAAA,MACR,MAAK;AAAA,MACL,OAAM;AAAA,OACF;AAAA,IAEJ;AAAA,MAAC;AAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAK;AAAA;AAAA,IACP;AAAA,EACF;AAEJ;AAEA,IAAO,oBAAQ;;;AClBf,IAAAC,UAAuB;AAEvB,SAAS,0BAA0B,OAAO;AACxC,SACE;AAAA,IAAC;AAAA;AAAA,MACC,SAAQ;AAAA,MACR,MAAK;AAAA,MACL,OAAM;AAAA,OACF;AAAA,IAEJ;AAAA,MAAC;AAAA;AAAA,QACC,UAAS;AAAA,QACT,UAAS;AAAA,QACT,GAAE;AAAA,QACF,MAAK;AAAA;AAAA,IACP;AAAA,EACF;AAEJ;AAEA,IAAO,yBAAQ;;;ACpBf,IAAAC,UAAuB;AAEvB,SAAS,qBAAqB,OAAO;AACnC,SACE;AAAA,IAAC;AAAA;AAAA,MACC,SAAQ;AAAA,MACR,MAAK;AAAA,MACL,OAAM;AAAA,OACF;AAAA,IAEJ;AAAA,MAAC;AAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAK;AAAA;AAAA,IACP;AAAA,IACA;AAAA,MAAC;AAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAK;AAAA;AAAA,IACP;AAAA,IACA,sCAAC,UAAK,MAAK,gBAAe,GAAE,kCAAiC;AAAA,EAC/D;AAEJ;AAEA,IAAO,mBAAQ;;;ACvBf,IAAAC,UAAuB;AAEvB,SAAS,qBAAqB,OAAO;AACnC,SACE;AAAA,IAAC;AAAA;AAAA,MACC,SAAQ;AAAA,MACR,MAAK;AAAA,MACL,OAAM;AAAA,OACF;AAAA,IAEJ;AAAA,MAAC;AAAA;AAAA,QACC,UAAS;AAAA,QACT,UAAS;AAAA,QACT,GAAE;AAAA,QACF,MAAK;AAAA;AAAA,IACP;AAAA,IACA;AAAA,MAAC;AAAA;AAAA,QACC,MAAK;AAAA,QACL,GAAE;AAAA;AAAA,IACJ;AAAA,EACF;AAEJ;AAEA,IAAO,mBAAQ;;;ACxBf,IAAAC,UAAuB;AAEvB,SAAS,mCAAmC,OAAO;AACjD,SACE;AAAA,IAAC;AAAA;AAAA,MACC,SAAQ;AAAA,MACR,MAAK;AAAA,MACL,OAAM;AAAA,OACF;AAAA,IAEJ;AAAA,MAAC;AAAA;AAAA,QACC,UAAS;AAAA,QACT,UAAS;AAAA,QACT,GAAE;AAAA,QACF,MAAK;AAAA;AAAA,IACP;AAAA,IACA;AAAA,MAAC;AAAA;AAAA,QACC,UAAS;AAAA,QACT,UAAS;AAAA,QACT,GAAE;AAAA,QACF,MAAK;AAAA;AAAA,IACP;AAAA,EACF;AAEJ;AAEA,IAAO,qCAAQ;;;AC1Bf,IAAAC,UAAuB;AAEvB,SAAS,oBAAoB,OAAO;AAClC,SACE;AAAA,IAAC;AAAA;AAAA,MACC,SAAQ;AAAA,MACR,MAAK;AAAA,MACL,OAAM;AAAA,OACF;AAAA,IAEJ;AAAA,MAAC;AAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAK;AAAA;AAAA,IACP;AAAA,IACA;AAAA,MAAC;AAAA;AAAA,QACC,UAAS;AAAA,QACT,UAAS;AAAA,QACT,GAAE;AAAA,QACF,MAAK;AAAA;AAAA,IACP;AAAA,EACF;AAEJ;AAEA,IAAO,mBAAQ;;;ACxBf,IAAAC,UAAuB;AAEvB,SAAS,qCAAqC,OAAO;AACnD,SACE;AAAA,IAAC;AAAA;AAAA,MACC,SAAQ;AAAA,MACR,MAAK;AAAA,MACL,OAAM;AAAA,OACF;AAAA,IAEJ,sCAAC,UAAK,GAAE,uCAAsC,MAAK,gBAAe;AAAA,IAClE;AAAA,MAAC;AAAA;AAAA,QACC,UAAS;AAAA,QACT,UAAS;AAAA,QACT,GAAE;AAAA,QACF,MAAK;AAAA;AAAA,IACP;AAAA,EACF;AAEJ;AAEA,IAAO,uCAAQ;;;ACrBf,IAAAC,UAAuB;AAEvB,SAAS,oCAAoC,OAAO;AAClD,SACE;AAAA,IAAC;AAAA;AAAA,MACC,SAAQ;AAAA,MACR,MAAK;AAAA,MACL,OAAM;AAAA,OACF;AAAA,IAEJ;AAAA,MAAC;AAAA;AAAA,QACC,UAAS;AAAA,QACT,UAAS;AAAA,QACT,GAAE;AAAA,QACF,MAAK;AAAA;AAAA,IACP;AAAA,EACF;AAEJ;AAEA,IAAO,qCAAQ;;;ACpBf,IAAAC,UAAuB;AAEvB,SAAS,0CAA0C,OAAO;AACxD,SACE;AAAA,IAAC;AAAA;AAAA,MACC,SAAQ;AAAA,MACR,MAAK;AAAA,MACL,OAAM;AAAA,OACF;AAAA,IAEJ;AAAA,MAAC;AAAA;AAAA,QACC,IAAI;AAAA,QACJ,IAAI;AAAA,QACJ,GAAG;AAAA,QACH,QAAO;AAAA,QACP,aAAa;AAAA;AAAA,IACf;AAAA,IACA;AAAA,MAAC;AAAA;AAAA,QACC,GAAE;AAAA,QACF,QAAO;AAAA,QACP,aAAa;AAAA;AAAA,IACf;AAAA,IACA,sCAAC,YAAO,IAAI,OAAO,IAAI,OAAO,GAAG,OAAO,MAAK,gBAAe;AAAA,IAC5D;AAAA,MAAC;AAAA;AAAA,QACC,GAAE;AAAA,QACF,QAAO;AAAA,QACP,aAAa;AAAA;AAAA,IACf;AAAA,IACA;AAAA,MAAC;AAAA;AAAA,QACC,IAAI;AAAA,QACJ,IAAI;AAAA,QACJ,GAAG;AAAA,QACH,QAAO;AAAA,QACP,aAAa;AAAA;AAAA,IACf;AAAA,IACA;AAAA,MAAC;AAAA;AAAA,QACC,GAAE;AAAA,QACF,QAAO;AAAA,QACP,aAAa;AAAA;AAAA,IACf;AAAA,IACA;AAAA,MAAC;AAAA;AAAA,QACC,IAAI;AAAA,QACJ,IAAI;AAAA,QACJ,GAAG;AAAA,QACH,QAAO;AAAA,QACP,aAAa;AAAA;AAAA,IACf;AAAA,IACA;AAAA,MAAC;AAAA;AAAA,QACC,GAAE;AAAA,QACF,QAAO;AAAA,QACP,aAAa;AAAA;AAAA,IACf;AAAA,IACA;AAAA,MAAC;AAAA;AAAA,QACC,IAAI;AAAA,QACJ,IAAI;AAAA,QACJ,GAAG;AAAA,QACH,QAAO;AAAA,QACP,aAAa;AAAA;AAAA,IACf;AAAA,EACF;AAEJ;AAEA,IAAO,2CAAQ;",
|
|
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 'backgroundSecondary',\n 'backgroundSecondary2',\n 'backgroundInverse',\n 'overlay',\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.06,\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 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 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 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 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';\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 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\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 getRadius = size =>\n size && `border-radius: var(--lns-radius-${size});`;\n\nexport const getFontWeight = fontWeight =>\n fontWeight && `font-weight: var(--lns-fontWeight-${fontWeight});`;\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\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 { getFontWeight, getTextSize, getColorValue, u } 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 => 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 ...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 {...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 /** @deprecated Usage of className 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 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 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({}, fontWeightVariables, ...sizingVariables);\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 = (rootElement = ':root', bodyElement = 'body') => {\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};\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';\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 },\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: 'linear-gradient(135deg, #565ADD, #9F92EC, #DC43BE)',\n borderColor: null,\n hover: null,\n active: null,\n },\n};\n\nconst statusStyles = {\n enabled: css`\n cursor: pointer;\n `,\n disabled: css`\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 min-width: ${props => sizesStyles[props.size].height};\n ${props => getTextSize(sizesStyles[props.size].textSize)};\n ${props => (props.disabled ? statusStyles.disabled : statusStyles.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: ${variantStyles[props.variant].background};\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 => 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 => 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 logoSrc,\n hasLoader,\n isDisabled,\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 buttonIcon = (\n <IconSection\n hasLoader={hasLoader}\n paddingLeft={children && iconPosition === 'right' && iconGap}\n paddingRight={children && iconPosition === 'left' && iconGap}\n >\n <Icon\n icon={icon}\n color=\"currentColor\"\n size={sizesStyles[size].iconSize}\n />\n </IconSection>\n );\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 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 {icon && iconPosition === 'left' && buttonIcon}\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 {icon && iconPosition === 'right' && buttonIcon}\n </ButtonWrapper>\n );\n};\n\ntype Variant =\n | 'neutral'\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 hasFullWidth?: boolean;\n icon?: React.ReactNode;\n iconPosition?: 'left' | 'right';\n logoSrc?: string;\n onClick?: React.MouseEventHandler<HTMLButtonElement>;\n hasLoader?: 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 logoSrc?: string;\n as?: string;\n disabled?: boolean;\n buttonPadding?: number | string;\n hasChildren?: React.ReactNode;\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 ChevronDownIcon from '@atlaskit/icon/utility/chevron-down';\nimport * as React from 'react';\n\nexport function SvgChevronDown() {\n return (\n <ChevronDownIcon label=\"\" spacing=\"compact\" testId=\"ads-refreshed-icon\" />\n );\n}\n", "import styled from '@emotion/styled';\nimport React from 'react';\n\nimport {\n getColorValue,\n getRadius,\n getShadow,\n getSize,\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 MenuWrapper = styled.ul<MenuProps>`\n background-color: ${getColorValue('overlay')};\n list-style: none;\n padding: ${u(1.5)};\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 overflow: auto;\n border: 1px solid ${getColorValue('border')};\n ${getShadow('medium')};\n ${getRadius('250')};\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 ${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 {...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 ...props\n}: MenuProps & React.ComponentProps<typeof MenuWrapper>) => {\n return (\n <MenuWrapper\n zIndex={zIndex}\n position={position}\n minWidth={minWidth}\n maxWidth={maxWidth}\n maxHeight={maxHeight}\n {...downshiftMenuProps()}\n {...props}\n >\n {children}\n </MenuWrapper>\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};\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\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 useRef,\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 = ({\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<React.ComponentProps<typeof TypeaheadWrapper>, keyof TypeaheadProps> &\n Omit<\n LensDivProps,\n keyof TypeaheadProps & React.ComponentProps<typeof TypeaheadWrapper>\n >) => {\n const environment = getDownshiftEnvironment(container);\n const inputRef = useRef<HTMLInputElement>(null);\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\n if (!downshiftIsOpen) {\n inputRef.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 if (hasAvailableOptions || isLoading) {\n setDownshiftIsOpen(true);\n }\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\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.RefObject<HTMLInputElement>;\n};\n\nexport default Typeahead;\n", "import styled from '@emotion/styled';\nimport Downshift, { ChildrenFunction } from 'downshift';\nimport React, { useEffect, 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';\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 ...props\n}: DropdownProps) => {\n const environment = getDownshiftEnvironment(container);\n\n const [downshiftIsOpen, setDownshiftIsOpen] = useState(false);\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 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 >\n {options.map((item, index) => {\n return (\n <MenuItem\n key={index}\n isHighlighted={highlightedIndex === index}\n isDisabled={item.disabled}\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 hasDivider?: boolean;\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};\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 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 {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';\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, getFocusRing } 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 ${getFocusRing()};\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 ...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-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};\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\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 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 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';\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';\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,\n className,\n backgroundColor,\n onClick,\n href,\n ...props\n}: ListRowProps) => {\n const classNameFromProp = className ? ` ${className}` : ``;\n\n return (\n <ListRowWrapper\n role=\"row\"\n className={`ListRowWrapper${classNameFromProp}`}\n as={htmlTag}\n backgroundColor={backgroundColor}\n onClick={onClick}\n tabIndex={0}\n onKeyDown={e => {\n if (e.key === 'Enter') {\n e.preventDefault();\n onClick(e);\n }\n }}\n href={href}\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 ...props\n}: ListProps &\n React.ComponentProps<typeof ListWrapper> &\n Omit<\n LensDivProps,\n keyof ListProps & React.ComponentProps<typeof ListWrapper>\n >) => {\n return (\n <ListWrapper\n columns={columns && formatColumns(columns)}\n gap={gap}\n variant={variant}\n {...props}\n >\n {children}\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}\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?: string;\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.nav<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 li {\n ${props => props.hasFullTabs && `flex: 1 0`};\n &:not(:first-of-type) {\n margin-left: 1rem;\n }\n }\n\n li > * {\n width: 100%;\n }\n\n ul {\n display: flex;\n list-style: none;\n padding: 0;\n margin: 0;\n width: 100%;\n }\n\n ul:after {\n content: '';\n flex-shrink: 0;\n ${props => props.scrollOffset && getSize('width', props.scrollOffset)};\n }\n`;\n\nconst TabsNavPilled = styled.nav<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 li {\n flex: 1 0;\n }\n\n li > * {\n width: 100%;\n }\n\n ul {\n display: flex;\n list-style: none;\n padding: 0;\n margin: 0;\n width: 100%;\n }\n\n ul: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 => getColorValue(props.isActive ? 'body' : 'bodyDimmed')};\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 {\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 ${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 {\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 ...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 <li>\n <TabWrapperPilled\n as={htmlTag}\n isActive={isActive}\n icon={icon}\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 </li>\n );\n }\n\n return (\n <li>\n <TabWrapper as={htmlTag} isActive={isActive} icon={icon} {...props}>\n {icon && (\n <Container htmlTag=\"span\" paddingRight={children && 'small'}>\n <Icon icon={icon} color=\"currentColor\" />\n </Container>\n )}\n {children}\n </TabWrapper>\n </li>\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 {...props}\n >\n <ul>{children}</ul>\n </TabsNavPilled>\n ) : (\n <TabsNav\n hasFullTabs={hasFullTabs}\n scrollOffset={scrollOffset}\n hasBottomBorder={hasBottomBorder}\n {...props}\n >\n <ul>{children}</ul>\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};\n\ntype TabWrapperProps = {\n isActive?: boolean;\n icon?: React.ReactNode;\n as?: string;\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 * 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
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", "ChevronDownIcon", "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", "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", "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", "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
|
}
|