jvetrau-ds 0.1.13 → 0.1.14

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/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/helpers/classnames.ts","../src/icons/assets/arrow-link.tsx","../src/icons/assets/arrow-right.tsx","../src/icons/assets/chevron-right.tsx","../src/icons/assets/fullscreen.tsx","../src/icons/assets/pause.tsx","../src/icons/assets/play.tsx","../src/icons/assets/settings.tsx","../src/icons/assets/sound.tsx","../src/icons/assets/sound-off.tsx","../src/icons/manifest.ts","../src/icons/registry.ts","../src/tokens/helpers/create-scale-tokens.ts","../src/tokens/scales/size.ts","../src/icons/icon.tsx","../src/components/button/button.tsx","../src/components/button-icon/button-icon.tsx","../src/components/input/input.tsx","../src/components/textarea/textarea.tsx","../src/components/select/select.tsx","../src/components/dropdown/dropdown.tsx","../src/components/checkbox/checkbox.tsx","../src/components/radio/radio.tsx","../src/components/field/field.tsx","../src/components/menu/menu.tsx","../src/components/tabs/tabs.tsx","../src/components/progressbar/progressbar.tsx","../src/components/video/video.tsx","../src/components/search/search.tsx","../src/components/richedit/richedit.tsx","../src/components/tag/tag.tsx","../src/components/card/card.tsx","../src/components/panel/panel.tsx","../src/assets/registry.ts","../src/components/logo/logo.tsx","../src/components/avatar/avatar.tsx","../src/patterns/header/header.tsx","../src/patterns/footer/footer.tsx","../src/patterns/screen-header/screen-header.tsx","../src/layouts/foundation/foundation.tsx","../src/layouts/base/base.tsx","../src/layouts/sidebar/sidebar.tsx","../src/components/attach/attach.tsx"],"names":["jsx","cloneElement","jsxs","React","ratio","useRef","getClampedValue","useState","useEffect"],"mappings":"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","file":"index.js","sourcesContent":["type ClassValue = string | undefined | null | false;\n\nexport function classnames(\n ...args: (ClassValue | Record<string, boolean | undefined | null>)[]\n) {\n const classes: string[] = [];\n\n args.forEach(arg => {\n if (!arg) return;\n\n if (typeof arg === 'string') {\n classes.push(arg);\n return;\n }\n\n for (const key in arg) {\n if (arg[key]) {\n classes.push(key);\n }\n }\n });\n\n return classes.join(' ');\n}","import type { IconGlyph } from '../types';\n\nexport const arrowLink: IconGlyph = {\n xs: <path d=\"M4 8H10M8 4H12V8M12 4L7 9\" />,\n s: <path d=\"M5 10H12M10 5H15V10M15 5L9 11\" />,\n m: <path d=\"M6 12H14M12 6H18V12M18 6L11 13\" />,\n l: <path d=\"M8 16H19M16 8H24V16M24 8L15 17\" />,\n};","import type { IconGlyph } from '../types';\n\nexport const arrowRight: IconGlyph = {\n xs: <path d=\"M4 8H12M9 5L12 8L9 11\" />,\n s: <path d=\"M5 10H15M11 6L15 10L11 14\" />,\n m: <path d=\"M6 12H18M13 7L18 12L13 17\" />,\n l: <path d=\"M8 16H24M18 10L24 16L18 22\" />,\n};","import type { IconGlyph } from '../types';\n\nexport const chevronRight: IconGlyph = {\n xs: <path d=\"M6 4.5L9.5 8L6 11.5\" />,\n s: <path d=\"M8 5.5L12.5 10L8 14.5\" />,\n m: <path d=\"M9.5 6.5L15 12L9.5 17.5\" />,\n l: <path d=\"M13 9L20 16L13 23\" />,\n};","import type { IconGlyph } from '../types';\n\nexport const fullscreen: IconGlyph = {\n xs: <path d=\"M5 7V5H7M11 5H13V7M13 11V13H11M7 13H5V11\" />,\n s: <path d=\"M6 8V6H8M14 6H16V8M16 14V16H14M8 16H6V14\" />,\n m: <path d=\"M7 10V7H10M14 7H17V10M17 14V17H14M10 17H7V14\" />,\n l: <path d=\"M9 13V9H13M19 9H23V13M23 19V23H19M13 23H9V19\" />,\n};","import type { IconGlyph } from '../types';\n\nexport const pause: IconGlyph = {\n xs: <path d=\"M5 4V12M11 4V12\" />,\n s: <path d=\"M7 5V15M13 5V15\" />,\n m: <path d=\"M9 6V18M15 6V18\" />,\n l: <path d=\"M11 8V24M21 8V24\" />,\n};","import type { IconGlyph } from '../types';\n\nexport const play: IconGlyph = {\n xs: <path d=\"M6 5.5L11 8L6 10.5Z\" />,\n s: <path d=\"M7 6.5L13.5 10L7 13.5Z\" />,\n m: <path d=\"M8 7L16 12L8 17Z\" />,\n l: <path d=\"M11 9L21 16L11 23Z\" />,\n};","import type { IconGlyph } from '../types';\n\nexport const settings: IconGlyph = {\n xs: <path d=\"M8 5V3.5M8 12.5V11M5.9 5.9L4.8 4.8M11.2 11.2L10.1 10.1M5 8H3.5M12.5 8H11M5.9 10.1L4.8 11.2M11.2 4.8L10.1 5.9M8 6.5A1.5 1.5 0 1 1 8 9.5A1.5 1.5 0 0 1 8 6.5Z\" />,\n s: <path d=\"M10 6V4M10 16V14M7.2 7.2L5.8 5.8M14.2 14.2L12.8 12.8M6 10H4M16 10H14M7.2 12.8L5.8 14.2M14.2 5.8L12.8 7.2M10 8A2 2 0 1 1 10 12A2 2 0 0 1 10 8Z\" />,\n m: <path d=\"M12 7V4M12 20V17M8.5 8.5L6.4 6.4M17.6 17.6L15.5 15.5M7 12H4M20 12H17M8.5 15.5L6.4 17.6M17.6 6.4L15.5 8.5M12 9A3 3 0 1 1 12 15A3 3 0 0 1 12 9Z\" />,\n l: <path d=\"M16 9V5M16 27V23M11 11L8 8M24 24L21 21M9 16H5M27 16H23M11 21L8 24M24 8L21 11M16 12A4 4 0 1 1 16 20A4 4 0 0 1 16 12Z\" />,\n};","import type { IconGlyph } from '../types';\n\nexport const sound: IconGlyph = {\n xs: <path d=\"M3.5 9.5H6L9.5 12.5V3.5L6 6.5H3.5V9.5ZM11 6.5C11.7 7.2 11.7 8.8 11 9.5\" />,\n s: <path d=\"M4.5 12H7.5L12 16V4L7.5 8H4.5V12ZM14 7.5C15 8.5 15 11.5 14 12.5\" />,\n m: <path d=\"M5.5 14.5H9L15 19V5L9 9.5H5.5V14.5ZM17 8.5C18.5 10 18.5 14 17 15.5\" />,\n l: <path d=\"M7 19H12L20 25V7L12 13H7V19ZM23 11C25 13 25 19 23 21\" />,\n};","import type { IconGlyph } from '../types';\n\nexport const soundOff: IconGlyph = {\n xs: <path d=\"M3.5 9.5H6L9.5 12.5V3.5L6 6.5H3.5V9.5ZM11 6.5L13 8.5M13 6.5L11 8.5\" />,\n s: <path d=\"M4.5 12H7.5L12 16V4L7.5 8H4.5V12ZM14 8L17 11M17 8L14 11\" />,\n m: <path d=\"M5.5 14.5H9L15 19V5L9 9.5H5.5V14.5ZM17 9L21 13M21 9L17 13\" />,\n l: <path d=\"M7 19H12L20 25V7L12 13H7V19ZM23 12L27 16M27 12L23 16\" />,\n};","import { arrowLink } from './assets/arrow-link';\nimport { arrowRight } from './assets/arrow-right';\nimport { chevronRight } from './assets/chevron-right';\nimport { fullscreen } from './assets/fullscreen';\nimport { pause } from './assets/pause';\nimport { play } from './assets/play';\nimport { settings } from './assets/settings';\nimport { sound } from './assets/sound';\nimport { soundOff } from './assets/sound-off';\n\nexport const iconManifest = {\n 'arrow-link': {\n glyph: arrowLink,\n category: 'navigation',\n tags: ['arrow', 'link', 'external'],\n },\n 'arrow-right': {\n glyph: arrowRight,\n category: 'navigation',\n tags: ['arrow', 'right', 'next'],\n },\n 'chevron-right': {\n glyph: chevronRight,\n category: 'navigation',\n tags: ['chevron', 'right', 'next'],\n },\n fullscreen: {\n glyph: fullscreen,\n category: 'media',\n tags: ['fullscreen', 'expand', 'player'],\n },\n pause: {\n glyph: pause,\n category: 'media',\n tags: ['pause', 'video', 'player'],\n },\n play: {\n glyph: play,\n category: 'media',\n tags: ['play', 'video', 'player'],\n },\n settings: {\n glyph: settings,\n category: 'interface',\n tags: ['settings', 'preferences', 'controls'],\n },\n sound: {\n glyph: sound,\n category: 'media',\n tags: ['sound', 'volume', 'audio'],\n },\n 'sound-off': {\n glyph: soundOff,\n category: 'media',\n tags: ['sound', 'volume', 'audio', 'mute'],\n },\n} as const;","import { iconManifest } from './manifest';\nimport type { IconGlyph, IconName } from './types';\n\nexport const iconRegistry = Object.fromEntries(\n Object.entries(iconManifest).map(([name, item]) => [name, item.glyph]),\n) as Record<IconName, IconGlyph>;","import type { TokenDefinition } from '../schema';\n\ntype ScaleValue = number | string | boolean;\n\ntype TokenType = 'float' | 'string' | 'boolean';\n\nfunction detectTokenType(value: ScaleValue): TokenType {\n if (typeof value === 'number') return 'float';\n if (typeof value === 'string') return 'string';\n return 'boolean';\n}\n\nexport function createScaleTokens(\n tokenPathPrefix: string,\n values: Record<string, ScaleValue>\n): TokenDefinition[] {\n return Object.entries(values).map(([step, value]) => ({\n collection: 'scales',\n name: `${tokenPathPrefix}/${step}`,\n type: detectTokenType(value),\n values: {\n value,\n },\n })) as TokenDefinition[];\n}","import { createScaleTokens } from '../helpers/create-scale-tokens';\nimport type { TokenDefinition } from '../schema';\n\nconst sizeX = {\n \"0\": 0,\n \"025\": 1,\n \"05\": 2,\n \"1\": 4,\n \"2\": 8,\n \"3\": 12,\n \"4\": 16,\n \"5\": 20,\n \"6\": 24,\n \"8\": 32,\n \"10\": 40,\n \"12\": 48,\n} as const;\n\nconst sizeGrid = {\n s: 12,\n m: 20,\n l: 40,\n xl: 60,\n xxl: 80,\n xxxl: 100,\n} as const;\n\nexport const sizeIcon = {\n xs: 16,\n s: 20,\n m: 24,\n l: 32,\n} as const;\n\nexport const scalesSize: TokenDefinition[] = [\n ...createScaleTokens('size/x', sizeX),\n ...createScaleTokens('size/grid', sizeGrid),\n ...createScaleTokens('size/icon', sizeIcon),\n];","import React, { type FC } from 'react';\nimport './icon.css';\nimport { iconRegistry } from './registry';\nimport type { IconName, IconSize } from './types';\nimport { sizeIcon } from '../tokens/scales/size';\n\n/*import {\n sizeIconXS,\n sizeIconS,\n sizeIconM,\n sizeIconL,\n} from '../tokens/scales/size';*/\n\nexport interface IconProps\n extends Omit<React.SVGAttributes<SVGSVGElement>, 'size'> {\n name: IconName;\n size?: IconSize;\n}\n\n/*const iconSizeMap: Record<IconSize, number> = {\n xs: sizeIconXS,\n s: sizeIconS,\n m: sizeIconM,\n l: sizeIconL,\n};*/\n\nconst iconSizeMap: Record<IconSize, number> = sizeIcon;\n\nconst Icon: FC<IconProps> = ({\n name,\n size: iconSize = 'm',\n className,\n ...props\n}) => {\n const glyph = iconRegistry[name];\n const size = iconSizeMap[iconSize];\n const viewBox = `0 0 ${size} ${size}`;\n const classes = ['icon', className].filter(Boolean).join(' ');\n\n return (\n <svg\n className={classes}\n width={size}\n height={size}\n viewBox={viewBox}\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n stroke=\"currentColor\"\n strokeWidth={1.5}\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n aria-hidden=\"true\"\n focusable=\"false\"\n {...props}\n >\n {glyph[iconSize]}\n </svg>\n );\n};\n\nexport default Icon;","import React, {\n cloneElement,\n isValidElement,\n type ReactElement,\n} from 'react';\nimport './button.css';\nimport { classnames } from '../helpers/classnames';\nimport Icon, { type IconProps } from '../../icons/icon';\n\nexport interface ButtonProps\n extends React.ButtonHTMLAttributes<HTMLButtonElement> {\n state?: 'default' | 'primary';\n icon?: React.ReactNode;\n}\n\nconst Button: React.FC<ButtonProps> = ({\n state = 'default',\n icon,\n className = '',\n disabled = false,\n children,\n ...props\n}) => {\n const isIconOnly = !!icon && !children;\n\n const classes = classnames('button', className, {\n 'button--primary': state === 'primary',\n 'button--disabled': disabled,\n 'button--icon-only': isIconOnly,\n });\n\n let resolvedIcon = icon;\n\n if (isValidElement(icon) && icon.type === Icon) {\n const iconElement = icon as ReactElement<IconProps>;\n\n resolvedIcon = cloneElement(iconElement, {\n size: iconElement.props.size ?? 's',\n className: classnames('button__icon', iconElement.props.className),\n 'aria-hidden': iconElement.props['aria-hidden'] ?? true,\n focusable: iconElement.props.focusable ?? false,\n });\n }\n\n return (\n <button\n className={classes}\n disabled={disabled}\n {...props}\n >\n {resolvedIcon}\n {children}\n </button>\n );\n};\n\nexport default Button;","import React from 'react';\nimport './button-icon.css';\nimport { classnames } from '../helpers/classnames';\nimport Icon from '../../icons/icon';\nimport type { IconName } from '../../icons/types';\n\nexport interface ButtonIconProps\n extends React.ButtonHTMLAttributes<HTMLButtonElement> {\n icon: IconName;\n state?: 'default' | 'disabled';\n label: string;\n}\n\nconst ButtonIcon: React.FC<ButtonIconProps> = ({\n state = 'default',\n icon,\n label,\n className = '',\n disabled = false,\n ...props\n}) => {\n const isDisabled =\n disabled ||\n state === 'disabled';\n\n const classes = classnames('button-icon', className, {\n 'button-icon--disabled': isDisabled,\n });\n\n return (\n <button\n className={classes}\n disabled={isDisabled}\n aria-label={label}\n title={label}\n {...props}\n >\n <Icon\n name={icon}\n className=\"button-icon__icon\"\n aria-hidden\n focusable={false}\n />\n </button>\n );\n};\n\nexport default ButtonIcon;","import React from 'react';\n//import './input.css';\nimport { classnames } from '../helpers/classnames';\n\nexport interface InputProps\n extends React.InputHTMLAttributes<HTMLInputElement> {\n state?: 'default' | 'error' | 'success';\n}\n\nconst Input: React.FC<InputProps> = ({\n state = 'default',\n className = '',\n disabled = false,\n ...props\n}) => {\n const classes = classnames('input', className, {\n error: state === 'error',\n success: state === 'success',\n });\n\n return (\n <input\n className={classes}\n disabled={disabled}\n {...props}\n />\n );\n};\n\nexport default Input;","import React from 'react';\n// import './textarea.css';\nimport { classnames } from '../helpers/classnames';\n\nexport interface TextareaProps\n extends React.TextareaHTMLAttributes<HTMLTextAreaElement> {\n state?: 'default' | 'error' | 'success';\n}\n\nconst Textarea: React.FC<TextareaProps> = ({\n state = 'default',\n className = '',\n disabled = false,\n ...props\n}) => {\n const classes = classnames('textarea', className, {\n error: state === 'error',\n success: state === 'success',\n });\n\n return (\n <textarea\n className={classes}\n disabled={disabled}\n {...props}\n />\n );\n};\n\nexport default Textarea;","import React from 'react';\n//import './select.css';\nimport { classnames } from '../helpers/classnames';\n\nexport interface SelectProps\n extends React.SelectHTMLAttributes<HTMLSelectElement> {\n state?: 'default' | 'error' | 'success';\n}\n\nconst Select: React.FC<SelectProps> = ({\n state = 'default',\n className = '',\n disabled = false,\n children,\n ...props\n}) => {\n const classes = classnames('select', className, {\n error: state === 'error',\n success: state === 'success',\n });\n\n return (\n <div className={classes}>\n <select\n className=\"select__field\"\n disabled={disabled}\n {...props}\n >\n {children}\n </select>\n </div>\n );\n};\n\nexport default Select;","import React, {\n cloneElement,\n useEffect,\n useRef,\n useState,\n} from 'react';\nimport './dropdown.css';\nimport { classnames } from '../helpers/classnames';\n\nexport interface DropdownOption {\n value: string;\n label: string;\n disabled?: boolean;\n}\n\ntype DropdownTriggerProps = {\n className?: string;\n onClick?: (event: React.MouseEvent) => void;\n 'aria-haspopup'?: string;\n 'aria-expanded'?: boolean;\n};\n\ntype DropdownTriggerElement =\n React.ReactElement<DropdownTriggerProps>;\n\nexport interface DropdownProps\n extends Omit<React.HTMLAttributes<HTMLDivElement>, 'onChange'> {\n options: DropdownOption[];\n value?: string;\n defaultValue?: string;\n label?: string;\n align?: 'top-start' | 'top-end' | 'bottom-start' | 'bottom-end';\n trigger: DropdownTriggerElement;\n onChange?: (value: string) => void;\n}\n\nconst Dropdown: React.FC<DropdownProps> = ({\n options,\n value,\n defaultValue,\n label = 'Dropdown',\n align = 'bottom-start',\n trigger,\n onChange,\n className = '',\n ...props\n}) => {\n const dropdownRef = useRef<HTMLDivElement>(null);\n\n const [isOpen, setIsOpen] = useState(false);\n const [internalValue, setInternalValue] = useState(defaultValue);\n\n const selectedValue =\n value ?? internalValue;\n\n const classes = classnames('dropdown', className, {\n 'dropdown--open': isOpen,\n 'dropdown--top-start': align === 'top-start',\n 'dropdown--top-end': align === 'top-end',\n 'dropdown--bottom-start': align === 'bottom-start',\n 'dropdown--bottom-end': align === 'bottom-end',\n });\n\n const triggerElement =\n trigger as DropdownTriggerElement;\n\n const triggerClasses = classnames(\n 'dropdown__trigger',\n triggerElement.props.className,\n );\n\n const resolvedTrigger = cloneElement(triggerElement, {\n className: triggerClasses,\n 'aria-haspopup': 'menu',\n 'aria-expanded': isOpen,\n onClick: (event: React.MouseEvent) => {\n triggerElement.props.onClick?.(event);\n\n setIsOpen((currentValue) => !currentValue);\n },\n });\n\n const handleOptionClick = (option: DropdownOption) => {\n if (option.disabled) {\n return;\n }\n\n if (value === undefined) {\n setInternalValue(option.value);\n }\n\n onChange?.(option.value);\n setIsOpen(false);\n };\n\n useEffect(() => {\n if (!isOpen) {\n return;\n }\n\n const handleDocumentClick = (event: MouseEvent) => {\n const dropdown = dropdownRef.current;\n\n if (!dropdown || dropdown.contains(event.target as Node)) {\n return;\n }\n\n setIsOpen(false);\n };\n\n const handleDocumentKeyDown = (event: KeyboardEvent) => {\n if (event.key === 'Escape') {\n setIsOpen(false);\n }\n };\n\n document.addEventListener('mousedown', handleDocumentClick);\n document.addEventListener('keydown', handleDocumentKeyDown);\n\n return () => {\n document.removeEventListener('mousedown', handleDocumentClick);\n document.removeEventListener('keydown', handleDocumentKeyDown);\n };\n }, [isOpen]);\n\n return (\n <div\n ref={dropdownRef}\n className={classes}\n {...props}\n >\n {resolvedTrigger}\n\n {isOpen && (\n <div\n className=\"dropdown__menu\"\n role=\"menu\"\n aria-label={label}\n >\n {options.map((option) => {\n const isSelected =\n option.value === selectedValue;\n\n const itemClasses = classnames('dropdown__item', {\n 'dropdown__item--selected': isSelected,\n 'dropdown__item--disabled': option.disabled,\n });\n\n return (\n <button\n key={option.value}\n className={itemClasses}\n type=\"button\"\n role=\"menuitemradio\"\n aria-checked={isSelected}\n aria-disabled={option.disabled}\n disabled={option.disabled}\n onClick={() => handleOptionClick(option)}\n >\n {option.label}\n </button>\n );\n })}\n </div>\n )}\n </div>\n );\n};\n\nexport default Dropdown;","import React from 'react';\n//import './checkbox.css';\nimport { classnames } from '../helpers/classnames';\n\nexport interface CheckboxProps\n extends React.InputHTMLAttributes<HTMLInputElement> {\n label?: React.ReactNode;\n}\n\nconst Checkbox: React.FC<CheckboxProps> = ({\n label,\n className = '',\n disabled = false,\n ...props\n}) => {\n const classes = classnames(\n 'checkbox',\n className,\n {\n 'checkbox--disabled': disabled,\n }\n );\n\n return (\n <label className={classes}>\n <input\n className=\"checkbox__input\"\n type=\"checkbox\"\n disabled={disabled}\n {...props}\n />\n {label && <span className=\"checkbox__label\">{label}</span>}\n </label>\n );\n};\n\nexport default Checkbox;","import React from 'react';\n//import './radio.css';\nimport { classnames } from '../helpers/classnames';\n\nexport interface RadioProps\n extends React.InputHTMLAttributes<HTMLInputElement> {\n label?: React.ReactNode;\n}\n\nconst Radio: React.FC<RadioProps> = ({\n label,\n className = '',\n disabled = false,\n ...props\n}) => {\n const classes = classnames(\n 'radio',\n className,\n {\n 'radio--disabled': disabled,\n }\n );\n\n return (\n <label className={classes}>\n <input\n className=\"radio__input\"\n type=\"radio\"\n disabled={disabled}\n {...props}\n />\n {label && <span className=\"radio__label\">{label}</span>}\n </label>\n );\n};\n\nexport default Radio;","import React from 'react';\n//import './field.css';\nimport { classnames } from '../helpers/classnames';\n\nexport interface FieldProps {\n label?: React.ReactNode;\n hint?: React.ReactNode;\n error?: React.ReactNode;\n required?: boolean;\n disabled?: boolean;\n htmlFor?: string;\n className?: string;\n children: React.ReactNode;\n}\n\nconst Field: React.FC<FieldProps> = ({\n label,\n hint,\n error,\n required = false,\n disabled = false,\n htmlFor,\n className = '',\n children,\n}) => {\n const classes = classnames(\n 'field',\n className,\n {\n 'field--disabled': disabled,\n 'field--error': !!error,\n }\n );\n\n return (\n <div className={classes}>\n {label && (\n <label\n className=\"field__label\"\n htmlFor={htmlFor}\n >\n {label}\n {required && <span className=\"field__required\"> *</span>}\n </label>\n )}\n\n <div className=\"field__control\">\n {children}\n </div>\n\n {error ? (\n <div className=\"field__message field__message--error\">\n {error}\n </div>\n ) : hint ? (\n <div className=\"field__message\">\n {hint}\n </div>\n ) : null}\n </div>\n );\n};\n\nexport default Field;","import React from 'react';\nimport './menu.css';\nimport { classnames } from '../helpers/classnames';\n\nexport interface MenuItem {\n value: string;\n label: React.ReactNode;\n href?: string;\n disabled?: boolean;\n}\n\nexport interface MenuProps\n extends React.HTMLAttributes<HTMLElement> {\n items: MenuItem[];\n value?: string;\n defaultValue?: string;\n label?: string;\n onValueChange?: (value: string) => void;\n}\n\nfunction getInitialValue(\n value: string | undefined,\n defaultValue: string | undefined,\n items: MenuItem[],\n) {\n if (value !== undefined) {\n return value;\n }\n\n if (defaultValue !== undefined) {\n return defaultValue;\n }\n\n return items[0]?.value;\n}\n\nconst Menu: React.FC<MenuProps> = ({\n items,\n value,\n defaultValue,\n label = 'Menu',\n className = '',\n onValueChange,\n ...props\n}) => {\n const [internalValue, setInternalValue] = React.useState(\n getInitialValue(value, defaultValue, items),\n );\n\n const currentValue = value ?? internalValue;\n\n React.useEffect(() => {\n if (value !== undefined) {\n return;\n }\n\n setInternalValue(getInitialValue(value, defaultValue, items));\n }, [value, defaultValue, items]);\n\n const handleItemClick = (\n itemValue: string,\n disabled?: boolean,\n ) => {\n if (disabled) {\n return;\n }\n\n if (value === undefined) {\n setInternalValue(itemValue);\n }\n\n onValueChange?.(itemValue);\n };\n\n const classes = classnames('menu', className, {});\n\n return (\n <nav\n className={classes}\n aria-label={label}\n {...props}\n >\n <ul className=\"menu__list\">\n {items.map((item) => {\n const isActive = item.value === currentValue;\n\n const itemClasses = classnames('menu__control', {\n 'menu__control--active': isActive,\n 'menu__control--disabled': item.disabled,\n });\n\n return (\n <li\n key={item.value}\n className=\"menu__item\"\n >\n {item.href ? (\n <a\n className={itemClasses}\n href={item.href}\n aria-current={isActive ? 'page' : undefined}\n aria-disabled={item.disabled || undefined}\n onClick={(event) => {\n if (item.disabled) {\n event.preventDefault();\n return;\n }\n\n handleItemClick(item.value);\n }}\n >\n {item.label}\n </a>\n ) : (\n <button\n className={itemClasses}\n type=\"button\"\n disabled={item.disabled}\n onClick={() => handleItemClick(\n item.value,\n item.disabled,\n )}\n >\n {item.label}\n </button>\n )}\n </li>\n );\n })}\n </ul>\n </nav>\n );\n};\n\nexport default Menu;","import React from 'react';\nimport { classnames } from '../helpers/classnames';\nimport './tabs.css';\n\nexport interface TabsProps extends React.HTMLAttributes<HTMLDivElement> {}\n\nconst Tabs: React.FC<TabsProps> = ({\n className = '',\n children,\n ...props\n}) => {\n const classes = classnames('tabs', className);\n\n return (\n <div className={classes} {...props}>\n {children}\n </div>\n );\n};\n\nexport default Tabs;","import React, { useRef } from 'react';\nimport './progressbar.css';\nimport { classnames } from '../helpers/classnames';\n\nexport interface ProgressBarProps\n extends React.HTMLAttributes<HTMLDivElement> {\n mode?: 'player' | 'diagram' | 'level';\n value?: number;\n buffered?: number;\n max?: number;\n orientation?: 'horizontal' | 'vertical';\n step?: number;\n interactive?: boolean;\n label?: string;\n onValueChange?: (value: number) => void;\n onValueCommit?: (value: number) => void;\n}\n\nfunction getClampedValue(\n value: number,\n max: number,\n) {\n return Math.min(\n Math.max(value, 0),\n max,\n );\n}\n\nfunction getPercent(\n value: number,\n max: number,\n) {\n if (max <= 0) {\n return 0;\n }\n\n return (\n getClampedValue(value, max) /\n max\n ) * 100;\n}\n\nfunction getValueFromPointer(\n event: React.PointerEvent<HTMLDivElement>,\n track: HTMLDivElement,\n max: number,\n isVertical: boolean,\n) {\n const rect = track.getBoundingClientRect();\n\n if (isVertical) {\n const y =\n rect.bottom -\n event.clientY;\n\n const ratio =\n y / rect.height;\n\n return getClampedValue(\n ratio * max,\n max,\n );\n }\n\n const x =\n event.clientX -\n rect.left;\n\n const ratio =\n x / rect.width;\n\n return getClampedValue(\n ratio * max,\n max,\n );\n}\n\nfunction getNextKeyboardValue(\n key: string,\n value: number,\n max: number,\n step: number,\n) {\n if (\n key === 'ArrowRight' ||\n key === 'ArrowUp'\n ) {\n return getClampedValue(\n value + step,\n max,\n );\n }\n\n if (\n key === 'ArrowLeft' ||\n key === 'ArrowDown'\n ) {\n return getClampedValue(\n value - step,\n max,\n );\n }\n\n if (key === 'Home') {\n return 0;\n }\n\n if (key === 'End') {\n return max;\n }\n\n return value;\n}\n\nconst ProgressBar: React.FC<\n ProgressBarProps\n> = ({\n mode = 'player',\n value = 0,\n buffered = 0,\n max = 100,\n orientation = 'horizontal',\n step = 1,\n interactive,\n label = 'Progress',\n className = '',\n style,\n onValueChange,\n onValueCommit,\n ...props\n}) => {\n const trackRef =\n useRef<HTMLDivElement>(null);\n\n const safeValue =\n getClampedValue(\n value,\n max,\n );\n\n const valuePercent =\n getPercent(\n value,\n max,\n );\n\n const bufferedPercent =\n getPercent(\n buffered,\n max,\n );\n\n const isInteractive =\n interactive ??\n mode !== 'diagram';\n\n const isVertical =\n orientation ===\n 'vertical' ||\n mode === 'level';\n\n const hasBuffered =\n mode === 'player' &&\n buffered > value;\n\n const hasValue =\n mode === 'diagram';\n\n const classes =\n classnames(\n 'progressbar',\n className,\n {\n 'progressbar--vertical':\n isVertical,\n\n 'progressbar--level':\n mode === 'level',\n\n 'progressbar--interactive':\n isInteractive,\n },\n );\n\n const progressStyle = {\n ...style,\n '--progressbar-value':\n `${valuePercent}%`,\n '--progressbar-buffered':\n `${bufferedPercent}%`,\n '--progressbar-buffered-offset':\n `${valuePercent}%`,\n } as React.CSSProperties;\n\n const updateValueFromPointer = (\n event: React.PointerEvent<HTMLDivElement>,\n shouldCommit = false,\n ) => {\n const track =\n trackRef.current;\n\n if (\n !isInteractive ||\n !track\n ) {\n return;\n }\n\n const nextValue =\n getValueFromPointer(\n event,\n track,\n max,\n isVertical,\n );\n\n onValueChange?.(\n nextValue,\n );\n\n if (shouldCommit) {\n onValueCommit?.(\n nextValue,\n );\n }\n };\n\n const handlePointerDown = (\n event: React.PointerEvent<HTMLDivElement>,\n ) => {\n if (!isInteractive) {\n return;\n }\n\n event.currentTarget\n .setPointerCapture(\n event.pointerId,\n );\n\n updateValueFromPointer(\n event,\n );\n };\n\n const handlePointerMove = (\n event: React.PointerEvent<HTMLDivElement>,\n ) => {\n if (\n !isInteractive ||\n !event.currentTarget\n .hasPointerCapture(\n event.pointerId,\n )\n ) {\n return;\n }\n\n updateValueFromPointer(\n event,\n );\n };\n\n const handlePointerUp = (\n event: React.PointerEvent<HTMLDivElement>,\n ) => {\n if (!isInteractive) {\n return;\n }\n\n updateValueFromPointer(\n event,\n true,\n );\n\n event.currentTarget\n .releasePointerCapture(\n event.pointerId,\n );\n };\n\n const handleKeyDown = (\n event: React.KeyboardEvent<HTMLDivElement>,\n ) => {\n if (!isInteractive) {\n return;\n }\n\n const nextValue =\n getNextKeyboardValue(\n event.key,\n safeValue,\n max,\n step,\n );\n\n if (\n nextValue ===\n safeValue\n ) {\n return;\n }\n\n event.preventDefault();\n\n onValueChange?.(\n nextValue,\n );\n\n onValueCommit?.(\n nextValue,\n );\n };\n\n return (\n <div\n className={classes}\n role={\n isInteractive\n ? 'slider'\n : 'progressbar'\n }\n aria-label={label}\n aria-valuemin={0}\n aria-valuemax={max}\n aria-valuenow={safeValue}\n aria-orientation={\n isInteractive &&\n isVertical\n ? 'vertical'\n : undefined\n }\n tabIndex={\n isInteractive\n ? 0\n : undefined\n }\n style={progressStyle}\n onPointerDown={\n handlePointerDown\n }\n onPointerMove={\n handlePointerMove\n }\n onPointerUp={\n handlePointerUp\n }\n onKeyDown={\n handleKeyDown\n }\n {...props}\n >\n <div\n ref={trackRef}\n className=\"progressbar__track\"\n >\n <div className=\"progressbar__value\" />\n\n {hasBuffered && (\n <div className=\"progressbar__buffered\" />\n )}\n\n {hasValue && (\n <span className=\"progressbar__label\">\n {Math.round(\n valuePercent,\n )}\n %\n </span>\n )}\n </div>\n </div>\n );\n};\n\nexport default ProgressBar;","import React, { useEffect, useRef, useState } from 'react';\nimport Hls from 'hls.js';\n\nimport './video.css';\nimport { classnames } from '../helpers/classnames';\nimport ButtonIcon from '../button-icon';\nimport ProgressBar from '../progressbar';\nimport Dropdown, { type DropdownOption } from '../dropdown';\n\nexport interface VideoQuality {\n value: string;\n label: string;\n src?: string;\n disabled?: boolean;\n}\n\nexport interface VideoProgressState {\n currentTime: number;\n duration: number;\n completed: boolean;\n}\n\nexport interface VideoProps\n extends Omit<React.VideoHTMLAttributes<HTMLVideoElement>, 'controls' | 'src' | 'poster'> {\n src?: string;\n cover?: string;\n qualities?: VideoQuality[];\n defaultQuality?: string;\n label?: string;\n initialVolume?: number;\n initialMuted?: boolean;\n initialTime?: number;\n progressCommitIntervalSec?: number;\n onProgressCommit?: (state: VideoProgressState) => void;\n onQualityChange?: (quality: string) => void;\n}\n\nfunction getClampedValue(value: number, min: number, max: number) {\n return Math.min(Math.max(value, min), max);\n}\n\nfunction formatTime(value: number) {\n if (!Number.isFinite(value)) return '0:00';\n\n const minutes = Math.floor(value / 60);\n const seconds = Math.floor(value % 60);\n\n return `${minutes}:${String(seconds).padStart(2, '0')}`;\n}\n\nfunction getBufferedEnd(video: HTMLVideoElement) {\n if (video.buffered.length === 0) return 0;\n\n return video.buffered.end(video.buffered.length - 1);\n}\n\nfunction getVideoSource(src: string | undefined, qualities: VideoQuality[], selectedQuality: string) {\n const selectedQualityItem = qualities.find((quality) => quality.value === selectedQuality);\n\n return selectedQualityItem?.src ?? src;\n}\n\nfunction getQualityOptions(qualities: VideoQuality[]): DropdownOption[] {\n return qualities.map((quality) => ({\n value: quality.value,\n label: quality.label,\n disabled: quality.disabled,\n }));\n}\n\nfunction getVideoProgressState(\n video: HTMLVideoElement,\n): VideoProgressState {\n const duration = video.duration || 0;\n const currentTime = video.currentTime || 0;\n\n return {\n currentTime,\n duration,\n\n completed:\n video.ended ||\n (\n duration > 0 &&\n currentTime >= duration * 0.9\n ),\n };\n}\n\nconst defaultQualities: VideoQuality[] = [];\n\nconst Video: React.FC<VideoProps> = ({\n src,\n cover,\n qualities = defaultQualities,\n defaultQuality = '',\n label = 'Video player',\n initialVolume = 1,\n initialMuted = false,\n initialTime = 0,\n progressCommitIntervalSec = 15,\n className = '',\n autoPlay,\n loop,\n muted,\n playsInline = true,\n preload = 'metadata',\n onQualityChange,\n onPlay,\n onPause,\n onEnded,\n onLoadedMetadata,\n onTimeUpdate,\n onProgress,\n onVolumeChange,\n onProgressCommit,\n children,\n ...props\n}) => {\n const videoRef = useRef<HTMLVideoElement>(null);\n\n const [isPlaying, setIsPlaying] = useState(false);\n const [isVolumeOpen, setIsVolumeOpen] = useState(false);\n const [selectedQuality, setSelectedQuality] = useState(defaultQuality);\n const [currentTime, setCurrentTime] = useState(0);\n const [duration, setDuration] = useState(0);\n const [buffered, setBuffered] = useState(0);\n const [volume, setVolume] = useState(initialVolume);\n const [isMuted, setIsMuted] = useState(muted ?? initialMuted);\n\n const hasAppliedInitialTimeRef = useRef(false);\n const lastProgressCommitAtRef = useRef(0);\n\n const videoSrc = getVideoSource(src, qualities, selectedQuality);\n const qualityOptions = getQualityOptions(qualities);\n const hasQualityOptions = qualityOptions.length > 0;\n\n useEffect(() => {\n const video = videoRef.current;\n\n hasAppliedInitialTimeRef.current = false;\n lastProgressCommitAtRef.current = 0;\n\n if (!video || !videoSrc) return;\n\n video.removeAttribute('src');\n video.load();\n\n if (video.canPlayType('application/vnd.apple.mpegurl')) {\n video.src = videoSrc;\n return;\n }\n\n if (!Hls.isSupported()) {\n video.src = videoSrc;\n return;\n }\n\n const hls = new Hls();\n\n hls.on(Hls.Events.ERROR, (_, data) => {\n console.error('HLS error', data);\n });\n\n hls.loadSource(videoSrc);\n hls.attachMedia(video);\n\n return () => {\n hls.destroy();\n };\n }, [videoSrc]);\n\n const hasStarted = currentTime > 0 || isPlaying;\n const hasControls = hasStarted;\n const hasVolume = isVolumeOpen;\n\n const classes = classnames('video', className, {\n 'video--with-controls': hasControls,\n 'video--with-volume': hasVolume,\n });\n\n const syncMediaState = () => {\n const video = videoRef.current;\n\n if (!video) return;\n\n setCurrentTime(video.currentTime);\n setDuration(video.duration || 0);\n setBuffered(getBufferedEnd(video));\n setVolume(video.volume);\n setIsMuted(video.muted);\n setIsPlaying(!video.paused);\n };\n\n const commitProgress = (\n video: HTMLVideoElement,\n ) => {\n if (!onProgressCommit) {\n return;\n }\n\n onProgressCommit(\n getVideoProgressState(video),\n );\n };\n\n const handlePlayToggle = async () => {\n const video = videoRef.current;\n\n if (!video) return;\n\n console.log('play click', {\n paused: video.paused,\n readyState: video.readyState,\n src: video.currentSrc,\n networkState: video.networkState,\n error: video.error,\n });\n\n if (video.paused) {\n try {\n await video.play();\n console.log('play success');\n } catch (error) {\n console.error('play failed', error);\n }\n\n return;\n }\n\n video.pause();\n };\n\n const handleSeek = (nextValue: number) => {\n const video = videoRef.current;\n\n if (!video) return;\n\n video.currentTime = getClampedValue(nextValue, 0, duration);\n setCurrentTime(video.currentTime);\n };\n\n const handleVolumeChange = (nextValue: number) => {\n const video = videoRef.current;\n\n if (!video) return;\n\n const nextVolume = getClampedValue(nextValue, 0, 1);\n\n video.volume = nextVolume;\n video.muted = nextVolume === 0;\n\n setVolume(nextVolume);\n setIsMuted(video.muted);\n };\n\n const handleSoundToggle = () => {\n const video = videoRef.current;\n\n if (!video) return;\n\n video.muted = !video.muted;\n setIsMuted(video.muted);\n };\n\n const handleFullscreen = () => {\n const video = videoRef.current;\n\n if (!video) return;\n\n video.requestFullscreen?.();\n };\n\n const handleQualityChange = (quality: string) => {\n setSelectedQuality(quality);\n onQualityChange?.(quality);\n };\n\n const handleLoadedMetadata = (\n event: React.SyntheticEvent<HTMLVideoElement>,\n ) => {\n const video = event.currentTarget;\n\n if (\n !hasAppliedInitialTimeRef.current &&\n initialTime > 0\n ) {\n video.currentTime = Math.min(\n initialTime,\n video.duration || initialTime,\n );\n\n hasAppliedInitialTimeRef.current = true;\n }\n\n syncMediaState();\n\n onLoadedMetadata?.(event);\n };\n\n const handleTimeUpdate = (\n event: React.SyntheticEvent<HTMLVideoElement>,\n ) => {\n const video = event.currentTarget;\n\n syncMediaState();\n\n if (\n onProgressCommit &&\n (\n video.currentTime -\n lastProgressCommitAtRef.current\n ) >= progressCommitIntervalSec\n ) {\n lastProgressCommitAtRef.current =\n video.currentTime;\n\n commitProgress(video);\n }\n\n onTimeUpdate?.(event);\n };\n\n const handleProgress = (event: React.SyntheticEvent<HTMLVideoElement>) => {\n syncMediaState();\n onProgress?.(event);\n };\n\n const handlePlay = (event: React.SyntheticEvent<HTMLVideoElement>) => {\n setIsPlaying(true);\n onPlay?.(event);\n };\n\n const handlePause = (\n event: React.SyntheticEvent<HTMLVideoElement>,\n ) => {\n setIsPlaying(false);\n\n commitProgress(event.currentTarget);\n\n onPause?.(event);\n };\n\n const handleEnded = (\n event: React.SyntheticEvent<HTMLVideoElement>,\n ) => {\n syncMediaState();\n\n commitProgress(event.currentTarget);\n\n onEnded?.(event);\n };\n\n const handleNativeVolumeChange = (event: React.SyntheticEvent<HTMLVideoElement>) => {\n syncMediaState();\n onVolumeChange?.(event);\n };\n\n return (\n <div className={classes} aria-label={label}>\n <div className=\"video__surface\">\n {cover && !hasStarted ? (\n <img\n className=\"video__cover\"\n src={cover}\n alt=\"\"\n aria-hidden=\"true\"\n />\n ) : null}\n\n <video\n {...props}\n ref={videoRef}\n className=\"video__media\"\n poster={cover}\n autoPlay={autoPlay}\n loop={loop}\n muted={isMuted}\n playsInline={playsInline}\n preload={preload}\n controls={false}\n onLoadedMetadata={handleLoadedMetadata}\n onTimeUpdate={handleTimeUpdate}\n onProgress={handleProgress}\n onPlay={handlePlay}\n onPause={handlePause}\n onEnded={handleEnded}\n onVolumeChange={handleNativeVolumeChange}\n >\n {children}\n </video>\n\n {!hasStarted && (\n <ButtonIcon\n className=\"video__main-action\"\n icon=\"play\"\n label=\"Play video\"\n onClick={handlePlayToggle}\n />\n )}\n </div>\n\n {hasControls && (\n <div className=\"video__controls\">\n <ButtonIcon\n icon={isPlaying ? 'pause' : 'play'}\n label={isPlaying ? 'Pause video' : 'Play video'}\n onClick={handlePlayToggle}\n />\n\n <div className=\"video__time\">{formatTime(currentTime)}</div>\n\n <ProgressBar\n className=\"video__progress\"\n mode=\"player\"\n value={currentTime}\n buffered={buffered}\n max={duration || 1}\n step={1}\n label=\"Video progress\"\n onValueChange={handleSeek}\n />\n\n <ButtonIcon icon=\"fullscreen\" label=\"Fullscreen\" onClick={handleFullscreen} />\n\n <div className=\"video__sound-control\" onMouseLeave={() => setIsVolumeOpen(false)}>\n <ButtonIcon\n icon={isMuted ? 'sound-off' : 'sound'}\n label={isMuted ? 'Unmute video' : 'Mute video'}\n onClick={handleSoundToggle}\n onMouseEnter={() => setIsVolumeOpen(true)}\n onFocus={() => setIsVolumeOpen(true)}\n />\n\n {hasVolume && (\n <div className=\"video__volume\">\n <ProgressBar\n mode=\"level\"\n value={isMuted ? 0 : volume}\n max={1}\n step={0.05}\n label=\"Volume\"\n onValueChange={handleVolumeChange}\n />\n </div>\n )}\n </div>\n\n {hasQualityOptions && (\n <Dropdown\n align=\"top-end\"\n value={selectedQuality}\n options={qualityOptions}\n label=\"Video quality\"\n onChange={handleQualityChange}\n trigger={<ButtonIcon icon=\"settings\" label=\"Video quality\" />}\n />\n )}\n </div>\n )}\n </div>\n );\n};\n\nexport default Video;","import React from 'react';\n//import './search.css';\nimport { classnames } from '../helpers/classnames';\n\nexport interface SearchProps\n extends React.HTMLAttributes<HTMLElement> {\n state?: 'default' | 'error' | 'success';\n}\n\nconst Search: React.FC<SearchProps> = ({\n state = 'default',\n className = '',\n children,\n// disabled = false,\n ...props\n}) => {\n const classes = classnames('search', className, {\n error: state === 'error',\n success: state === 'success',\n });\n\n return (\n <div\n className={classes}\n// disabled={disabled}\n {...props}\n >\n {children}\n </div>\n );\n};\n\nexport default Search;","import React from 'react';\nimport './richedit.css';\nimport { classnames } from '../helpers/classnames';\n\nexport interface RichEditProps\n extends React.HTMLAttributes<HTMLElement> {\n state?: 'default' | 'error' | 'success';\n}\n\nconst RichEdit: React.FC<RichEditProps> = ({\n state = 'default',\n className = '',\n// disabled = false,\n ...props\n}) => {\n const classes = classnames('richedit', className, {\n error: state === 'error',\n success: state === 'success',\n });\n\n return (\n <div\n className={classes}\n// disabled={disabled}\n {...props}\n />\n );\n};\n\nexport default RichEdit;","import React from 'react';\n//import './tag.css';\nimport { classnames } from '../helpers/classnames';\n\nexport interface TagProps\n extends React.HTMLAttributes<HTMLElement> {\n context?: 'success' | 'error' | 'warning';\n}\n\nconst Tag: React.FC<TagProps> = ({\n context = 'success',\n className = '',\n children,\n ...props\n}) => {\n const classes = classnames('tag', className, {\n [`tag--context-${context}`]: Boolean(context),\n });\n\n return (\n <div\n className={classes}\n {...props}\n >\n {children}\n </div>\n );\n};\n\nexport default Tag;\n","import React from 'react';\nimport './card.css';\nimport { classnames } from '../helpers/classnames';\n\nexport interface CardProps\n extends React.HTMLAttributes<HTMLElement> {\n state?: 'default';\n heading?: React.ReactNode;\n description?: React.ReactNode;\n actions?: React.ReactNode;\n}\n\nconst Card: React.FC<CardProps> = ({\n state = 'default',\n heading,\n description,\n actions,\n className = '',\n children,\n ...props\n}) => {\n const classes = classnames('card', className, {});\n\n return (\n <section\n className={classes}\n {...props}\n >\n {(heading || description) && (\n <div className=\"card__header\">\n {heading && (\n <h2 className=\"card__heading\">\n {heading}\n </h2>\n )}\n\n {description && (\n <p className=\"card__description\">\n {description}\n </p>\n )}\n </div>\n )}\n\n {children && (\n <div className=\"card__content\">\n {children}\n </div>\n )}\n\n {actions && (\n <div className=\"card__actions\">\n {actions}\n </div>\n )}\n </section>\n );\n};\n\nexport default Card;","import React from 'react';\nimport './panel.css';\nimport { classnames } from '../helpers/classnames';\n\nexport interface PanelProps\n extends React.HTMLAttributes<HTMLElement> {\n layout?: 'card' | 'transparent';\n heading?: React.ReactNode;\n description?: React.ReactNode;\n}\n\nconst Panel: React.FC<PanelProps> = ({\n layout = 'card',\n heading,\n description,\n className = '',\n children,\n ...props\n}) => {\n const classes = classnames('panel', className, {\n 'panel--transparent': layout === 'transparent',\n });\n\n return (\n <section\n className={classes}\n {...props}\n >\n {(heading || description) && (\n <div className=\"panel__header\">\n {heading && (\n <h2 className=\"panel__heading\">\n {heading}\n </h2>\n )}\n\n {description && (\n <p className=\"panel__description\">\n {description}\n </p>\n )}\n </div>\n )}\n\n {children && (\n <div className=\"panel__content\">\n {children}\n </div>\n )}\n </section>\n );\n};\n\nexport default Panel;","/* AUTO-GENERATED FILE. DO NOT EDIT MANUALLY. */\n\nimport componentsLogoLogoSymbolUrl from '../components/logo/assets/logo-symbol.svg';\nimport componentsLogoLogoWordmarkUrl from '../components/logo/assets/logo-wordmark.svg';\nimport iconsSoundOffUrl from '../icons/assets/sound-off.svg';\n\nexport const packageAssetUrls = {\n 'components/logo/logo-symbol.svg': componentsLogoLogoSymbolUrl,\n 'components/logo/logo-wordmark.svg': componentsLogoLogoWordmarkUrl,\n 'icons/sound-off.svg': iconsSoundOffUrl,\n} as const;\n\nexport type PackageAssetKey = keyof typeof packageAssetUrls;\n\nexport const getPackageAssetUrl = (assetKey: PackageAssetKey): string =>\n packageAssetUrls[assetKey];\n","import React from 'react';\nimport './logo.css';\nimport { classnames } from '../helpers/classnames';\n\nimport { getPackageAssetUrl } from '../../assets/registry';\n\nexport interface LogoProps\n extends React.HTMLAttributes<HTMLDivElement> {\n mode?: 'full' | 'symbol';\n label?: string;\n}\n\nconst logoUrls = {\n symbol: getPackageAssetUrl('components/logo/logo-symbol.svg'),\n wordmark: getPackageAssetUrl('components/logo/logo-wordmark.svg'),\n} as const;\n\nconst Logo: React.FC<LogoProps> = ({\n mode = 'full',\n label = 'Паттерны дизайн-менеджмента',\n className = '',\n ...props\n}) => {\n const classes = classnames('logo', className, {\n 'logo--symbol': mode === 'symbol',\n });\n\n return (\n <div\n className={classes}\n aria-label={label}\n {...props}\n >\n <img\n className=\"logo__symbol\"\n src={logoUrls.symbol}\n alt=\"\"\n aria-hidden=\"true\"\n />\n\n {mode === 'full' && (\n <img\n className=\"logo__wordmark\"\n src={logoUrls.wordmark}\n alt=\"\"\n aria-hidden=\"true\"\n />\n )}\n </div>\n );\n};\n\nexport default Logo;","import React from 'react';\nimport './avatar.css';\nimport { classnames } from '../helpers/classnames';\n\nexport interface AvatarBaseProps\n extends React.HTMLAttributes<HTMLDivElement> {\n src?: string;\n alt?: string;\n initials?: string;\n}\n\ntype AvatarStaticProps =\n AvatarBaseProps &\n React.HTMLAttributes<HTMLDivElement> & {\n onClick?: undefined;\n };\n\ntype AvatarButtonProps =\n AvatarBaseProps &\n React.ButtonHTMLAttributes<HTMLButtonElement> & {\n onClick: React.MouseEventHandler<HTMLButtonElement>;\n };\n\nexport type AvatarProps =\n | AvatarStaticProps\n | AvatarButtonProps;\n\nconst Avatar: React.FC<AvatarProps> = ({\n src,\n alt = '',\n initials,\n className = '',\n onClick,\n ...props\n}) => {\n const isInteractive = !!onClick;\n\n const classes = classnames('avatar', className, {\n 'avatar--button': isInteractive,\n });\n\n const content = src ? (\n <img\n className=\"avatar__image\"\n src={src}\n alt={alt}\n />\n ) : (\n <span className=\"avatar__initials\">\n {initials}\n </span>\n );\n\n if (isInteractive) {\n return (\n <button\n className={classes}\n type=\"button\"\n aria-label={props['aria-label'] ?? alt}\n onClick={onClick}\n {...props as React.ButtonHTMLAttributes<HTMLButtonElement>}\n >\n {content}\n </button>\n );\n }\n\n return (\n <div\n className={classes}\n aria-label={alt}\n {...props as React.HTMLAttributes<HTMLDivElement>}\n >\n {content}\n </div>\n );\n};\n\nexport default Avatar;","import React from 'react';\nimport './header.css';\nimport { classnames } from '../../components/helpers/classnames';\n\nexport interface HeaderProps\n extends React.HTMLAttributes<HTMLElement> {\n logo?: React.ReactNode;\n menu?: React.ReactNode;\n avatar?: React.ReactNode;\n}\n\nconst Header: React.FC<HeaderProps> = ({\n logo,\n menu,\n avatar,\n className = '',\n children,\n ...props\n}) => {\n const classes = classnames('header', className, {});\n\n return (\n <header\n className=\"header\"\n {...props}\n >\n <div className=\"header__logo\">\n {logo}\n </div>\n\n {(menu || children) && (\n <div className=\"header__menu\">\n {menu || children}\n </div>\n )}\n\n <div className=\"header__avatar\">\n {avatar}\n </div>\n </header>\n );\n};\n\nexport default Header;","import React from 'react';\nimport './footer.css';\n\nexport interface FooterProps extends React.HTMLAttributes<HTMLElement> {\n copyright?: React.ReactNode;\n links?: React.ReactNode;\n secondaryLinks?: React.ReactNode;\n}\n\nconst Footer: React.FC<FooterProps> = ({\n copyright,\n links,\n secondaryLinks,\n children,\n ...props\n}) => {\n return (\n <footer className=\"footer\" {...props}>\n {copyright && (\n <div className=\"footer__copyright\">\n {copyright}\n </div>\n )}\n\n {(links || children) && (\n <div className=\"footer__links\">\n {links || children}\n </div>\n )}\n\n {secondaryLinks && (\n <div className=\"footer__links footer__links--secondary\">\n {secondaryLinks}\n </div>\n )}\n </footer>\n );\n};\n\nexport default Footer;","import React from 'react';\nimport './screen-header.css';\n\nexport interface ScreenHeaderProps\n extends Omit<React.HTMLAttributes<HTMLElement>, 'title'> {\n eyebrow?: React.ReactNode;\n title?: React.ReactNode;\n description?: React.ReactNode;\n tabs?: React.ReactNode;\n}\n\nconst ScreenHeader: React.FC<ScreenHeaderProps> = ({\n eyebrow,\n title,\n description,\n tabs,\n children,\n ...props\n}) => {\n return (\n <section\n className=\"screen-header\"\n {...props}\n >\n <div className=\"screen-header__heading\">\n {eyebrow && (\n <p className=\"screen-header__section\">\n {eyebrow}\n </p>\n )}\n\n {title && (\n <h1 className=\"screen-header__title\">\n {title}\n </h1>\n )}\n\n {description && (\n <p className=\"screen-header__description\">\n {description}\n </p>\n )}\n </div>\n\n {(tabs || children) && (\n <div className=\"screen-header__tabs\">\n {tabs || children}\n </div>\n )}\n </section>\n );\n};\n\nexport default ScreenHeader;","import React from 'react';\nimport './foundation.css';\nimport { classnames } from '../../components/helpers/classnames';\n\nexport type LayoutFoundationWidth =\n | 'narrow'\n | 'default'\n | 'wide'\n | 'full';\n\nexport interface LayoutFoundationProps\n extends React.HTMLAttributes<HTMLDivElement> {\n width?: LayoutFoundationWidth;\n}\n\nconst LayoutFoundation: React.FC<LayoutFoundationProps> = ({\n width = 'default',\n className = '',\n children,\n ...props\n}) => {\n const classes = classnames('layout-foundation', className, {\n 'layout-foundation--narrow': width === 'narrow',\n 'layout-foundation--wide': width === 'wide',\n 'layout-foundation--full': width === 'full',\n });\n\n return (\n <div\n className={classes}\n {...props}\n >\n <div className=\"layout-foundation__grid\">\n {children}\n </div>\n </div>\n );\n};\n\nexport default LayoutFoundation;","import React from 'react';\nimport LayoutFoundation, {\n type LayoutFoundationWidth,\n} from '../foundation';\nimport './base.css';\n\nexport interface LayoutBaseProps\n extends React.HTMLAttributes<HTMLDivElement> {\n width?: LayoutFoundationWidth;\n header?: React.ReactNode;\n footer?: React.ReactNode;\n}\n\nconst LayoutBase: React.FC<LayoutBaseProps> = ({\n width = 'default',\n header,\n footer,\n children,\n className = '',\n ...props\n}) => {\n return (\n <LayoutFoundation\n width={width}\n className={className}\n {...props}\n >\n {header && (\n <div className=\"layout-base__header\">\n {header}\n </div>\n )}\n\n <main className=\"layout-base__main\">\n {children}\n </main>\n\n {footer && (\n <div className=\"layout-base__footer\">\n {footer}\n </div>\n )}\n </LayoutFoundation>\n );\n};\n\nexport default LayoutBase;","import React from 'react';\nimport LayoutFoundation, {\n type LayoutFoundationWidth,\n} from '../foundation';\nimport './sidebar.css';\n\nexport interface LayoutSidebarProps\n extends React.HTMLAttributes<HTMLDivElement> {\n width?: LayoutFoundationWidth;\n header?: React.ReactNode;\n screenHeader?: React.ReactNode;\n sidebar?: React.ReactNode;\n footer?: React.ReactNode;\n}\n\nconst LayoutSidebar: React.FC<LayoutSidebarProps> = ({\n width = 'wide',\n header,\n screenHeader,\n sidebar,\n footer,\n children,\n className = '',\n ...props\n}) => {\n return (\n <LayoutFoundation\n width={width}\n className={className}\n {...props}\n >\n {header && (\n <div className=\"layout-sidebar__header\">\n {header}\n </div>\n )}\n\n {screenHeader && (\n <div className=\"layout-sidebar__screen-header\">\n {screenHeader}\n </div>\n )}\n\n <div className=\"layout-sidebar__body\">\n <main className=\"layout-sidebar__main\">\n {children}\n </main>\n\n {sidebar && (\n <aside className=\"layout-sidebar__side\">\n {sidebar}\n </aside>\n )}\n </div>\n\n {footer && (\n <div className=\"layout-sidebar__footer\">\n {footer}\n </div>\n )}\n </LayoutFoundation>\n );\n};\n\nexport default LayoutSidebar;","import React from 'react';\nimport './attach.css';\nimport { classnames } from '../helpers/classnames';\n\nexport interface AttachItem {\n id: string;\n name: string;\n url: string;\n mimeType?: string;\n sizeBytes?: number;\n}\n\nexport interface AttachProps\n extends React.HTMLAttributes<HTMLDivElement> {\n items: AttachItem[];\n onRemove?: (id: string) => void;\n removeLabel?: string;\n emptyLabel?: string;\n}\n\nfunction isImageAttach(item: AttachItem) {\n return item.mimeType?.startsWith('image/') ?? false;\n}\n\nfunction formatFileSize(sizeBytes?: number) {\n if (sizeBytes === undefined) {\n return 'Size unknown';\n }\n\n if (sizeBytes < 1024) {\n return `${sizeBytes} B`;\n }\n\n if (sizeBytes < 1024 * 1024) {\n return `${Math.round(sizeBytes / 1024)} KB`;\n }\n\n return `${(sizeBytes / 1024 / 1024).toFixed(1)} MB`;\n}\n\nconst Attach: React.FC<AttachProps> = ({\n items,\n onRemove,\n removeLabel = 'Удалить',\n emptyLabel,\n className = '',\n ...props\n}) => {\n if (items.length === 0) {\n return null;\n }\n\n const classes = classnames('attach', className, {});\n\n return (\n <div\n className={classes}\n {...props}\n >\n <ul className=\"attach__list\">\n {items.map((item) => {\n const isImage = isImageAttach(item);\n\n return (\n <li\n key={item.id}\n className=\"attach__item\"\n >\n <a\n className=\"attach__link\"\n href={item.url}\n target=\"_blank\"\n rel=\"noreferrer\"\n >\n {isImage ? (\n <img\n className=\"attach__preview\"\n src={item.url}\n alt={item.name}\n />\n ) : (\n <span className=\"attach__file\">\n <span className=\"attach__name\">\n {item.name}\n </span>\n\n <span className=\"attach__size\">\n {formatFileSize(item.sizeBytes)}\n </span>\n </span>\n )}\n </a>\n\n {onRemove && (\n <button\n className=\"attach__remove\"\n type=\"button\"\n aria-label={`${removeLabel} файл ${item.name}`}\n onClick={() => onRemove(item.id)}\n >\n {removeLabel}\n </button>\n )}\n </li>\n );\n })}\n </ul>\n </div>\n );\n};\n\nexport default Attach;"]}
1
+ {"version":3,"sources":["../src/components/helpers/classnames.ts","../src/icons/assets/arrow-link.tsx","../src/icons/assets/arrow-right.tsx","../src/icons/assets/chevron-right.tsx","../src/icons/assets/fullscreen.tsx","../src/icons/assets/pause.tsx","../src/icons/assets/play.tsx","../src/icons/assets/settings.tsx","../src/icons/assets/sound.tsx","../src/icons/assets/sound-off.tsx","../src/icons/manifest.ts","../src/icons/registry.ts","../src/tokens/helpers/create-scale-tokens.ts","../src/tokens/scales/size.ts","../src/icons/icon.tsx","../src/components/button/button.tsx","../src/components/button-icon/button-icon.tsx","../src/components/input/input.tsx","../src/components/textarea/textarea.tsx","../src/components/select/select.tsx","../src/components/dropdown/dropdown.tsx","../src/components/checkbox/checkbox.tsx","../src/components/radio/radio.tsx","../src/components/field/field.tsx","../src/components/menu/menu.tsx","../src/components/tabs/tabs.tsx","../src/components/progressbar/progressbar.tsx","../src/components/video/video.tsx","../src/components/search/search.tsx","../src/components/richedit/richedit.tsx","../src/components/tag/tag.tsx","../src/components/card/card.tsx","../src/components/panel/panel.tsx","../src/assets/registry.ts","../src/components/logo/logo.tsx","../src/components/avatar/avatar.tsx","../src/patterns/header/header.tsx","../src/patterns/footer/footer.tsx","../src/patterns/screen-header/screen-header.tsx","../src/layouts/foundation/foundation.tsx","../src/layouts/base/base.tsx","../src/layouts/sidebar/sidebar.tsx","../src/components/attach/attach.tsx"],"names":["jsx","cloneElement","jsxs","React","ratio","useRef","getClampedValue","useState","useEffect"],"mappings":";;;;;;;AAEO,SAAS,cACX,IAAA,EACH;AACA,EAAA,MAAM,UAAoB,EAAC;AAE3B,EAAA,IAAA,CAAK,QAAQ,CAAA,GAAA,KAAO;AAClB,IAAA,IAAI,CAAC,GAAA,EAAK;AAEV,IAAA,IAAI,OAAO,QAAQ,QAAA,EAAU;AAC3B,MAAA,OAAA,CAAQ,KAAK,GAAG,CAAA;AAChB,MAAA;AAAA,IACF;AAEA,IAAA,KAAA,MAAW,OAAO,GAAA,EAAK;AACrB,MAAA,IAAI,GAAA,CAAI,GAAG,CAAA,EAAG;AACZ,QAAA,OAAA,CAAQ,KAAK,GAAG,CAAA;AAAA,MAClB;AAAA,IACF;AAAA,EACF,CAAC,CAAA;AAED,EAAA,OAAO,OAAA,CAAQ,KAAK,GAAG,CAAA;AACzB;ACrBO,IAAM,SAAA,GAAuB;AAAA,EAClC,EAAA,kBAAI,GAAA,CAAC,MAAA,EAAA,EAAK,CAAA,EAAE,2BAAA,EAA4B,CAAA;AAAA,EACxC,CAAA,kBAAG,GAAA,CAAC,MAAA,EAAA,EAAK,CAAA,EAAE,+BAAA,EAAgC,CAAA;AAAA,EAC3C,CAAA,kBAAG,GAAA,CAAC,MAAA,EAAA,EAAK,CAAA,EAAE,gCAAA,EAAiC,CAAA;AAAA,EAC5C,CAAA,kBAAG,GAAA,CAAC,MAAA,EAAA,EAAK,CAAA,EAAE,gCAAA,EAAiC;AAC9C,CAAA;ACLO,IAAM,UAAA,GAAwB;AAAA,EACnC,EAAA,kBAAIA,GAAAA,CAAC,MAAA,EAAA,EAAK,GAAE,uBAAA,EAAwB,CAAA;AAAA,EACpC,CAAA,kBAAGA,GAAAA,CAAC,MAAA,EAAA,EAAK,GAAE,2BAAA,EAA4B,CAAA;AAAA,EACvC,CAAA,kBAAGA,GAAAA,CAAC,MAAA,EAAA,EAAK,GAAE,2BAAA,EAA4B,CAAA;AAAA,EACvC,CAAA,kBAAGA,GAAAA,CAAC,MAAA,EAAA,EAAK,GAAE,4BAAA,EAA6B;AAC1C,CAAA;ACLO,IAAM,YAAA,GAA0B;AAAA,EACrC,EAAA,kBAAIA,GAAAA,CAAC,MAAA,EAAA,EAAK,GAAE,qBAAA,EAAsB,CAAA;AAAA,EAClC,CAAA,kBAAGA,GAAAA,CAAC,MAAA,EAAA,EAAK,GAAE,uBAAA,EAAwB,CAAA;AAAA,EACnC,CAAA,kBAAGA,GAAAA,CAAC,MAAA,EAAA,EAAK,GAAE,yBAAA,EAA0B,CAAA;AAAA,EACrC,CAAA,kBAAGA,GAAAA,CAAC,MAAA,EAAA,EAAK,GAAE,mBAAA,EAAoB;AACjC,CAAA;ACLO,IAAM,UAAA,GAAwB;AAAA,EACnC,EAAA,kBAAIA,GAAAA,CAAC,MAAA,EAAA,EAAK,GAAE,0CAAA,EAA2C,CAAA;AAAA,EACvD,CAAA,kBAAGA,GAAAA,CAAC,MAAA,EAAA,EAAK,GAAE,0CAAA,EAA2C,CAAA;AAAA,EACtD,CAAA,kBAAGA,GAAAA,CAAC,MAAA,EAAA,EAAK,GAAE,8CAAA,EAA+C,CAAA;AAAA,EAC1D,CAAA,kBAAGA,GAAAA,CAAC,MAAA,EAAA,EAAK,GAAE,8CAAA,EAA+C;AAC5D,CAAA;ACLO,IAAM,KAAA,GAAmB;AAAA,EAC9B,EAAA,kBAAIA,GAAAA,CAAC,MAAA,EAAA,EAAK,GAAE,iBAAA,EAAkB,CAAA;AAAA,EAC9B,CAAA,kBAAGA,GAAAA,CAAC,MAAA,EAAA,EAAK,GAAE,iBAAA,EAAkB,CAAA;AAAA,EAC7B,CAAA,kBAAGA,GAAAA,CAAC,MAAA,EAAA,EAAK,GAAE,iBAAA,EAAkB,CAAA;AAAA,EAC7B,CAAA,kBAAGA,GAAAA,CAAC,MAAA,EAAA,EAAK,GAAE,kBAAA,EAAmB;AAChC,CAAA;ACLO,IAAM,IAAA,GAAkB;AAAA,EAC7B,EAAA,kBAAIA,GAAAA,CAAC,MAAA,EAAA,EAAK,GAAE,qBAAA,EAAsB,CAAA;AAAA,EAClC,CAAA,kBAAGA,GAAAA,CAAC,MAAA,EAAA,EAAK,GAAE,wBAAA,EAAyB,CAAA;AAAA,EACpC,CAAA,kBAAGA,GAAAA,CAAC,MAAA,EAAA,EAAK,GAAE,kBAAA,EAAmB,CAAA;AAAA,EAC9B,CAAA,kBAAGA,GAAAA,CAAC,MAAA,EAAA,EAAK,GAAE,oBAAA,EAAqB;AAClC,CAAA;ACLO,IAAM,QAAA,GAAsB;AAAA,EACjC,EAAA,kBAAIA,GAAAA,CAAC,MAAA,EAAA,EAAK,GAAE,6JAAA,EAA8J,CAAA;AAAA,EAC1K,CAAA,kBAAGA,GAAAA,CAAC,MAAA,EAAA,EAAK,GAAE,+IAAA,EAAgJ,CAAA;AAAA,EAC3J,CAAA,kBAAGA,GAAAA,CAAC,MAAA,EAAA,EAAK,GAAE,+IAAA,EAAgJ,CAAA;AAAA,EAC3J,CAAA,kBAAGA,GAAAA,CAAC,MAAA,EAAA,EAAK,GAAE,qHAAA,EAAsH;AACnI,CAAA;ACLO,IAAM,KAAA,GAAmB;AAAA,EAC9B,EAAA,kBAAIA,GAAAA,CAAC,MAAA,EAAA,EAAK,GAAE,wEAAA,EAAyE,CAAA;AAAA,EACrF,CAAA,kBAAGA,GAAAA,CAAC,MAAA,EAAA,EAAK,GAAE,iEAAA,EAAkE,CAAA;AAAA,EAC7E,CAAA,kBAAGA,GAAAA,CAAC,MAAA,EAAA,EAAK,GAAE,oEAAA,EAAqE,CAAA;AAAA,EAChF,CAAA,kBAAGA,GAAAA,CAAC,MAAA,EAAA,EAAK,GAAE,sDAAA,EAAuD;AACpE,CAAA;ACLO,IAAM,QAAA,GAAsB;AAAA,EACjC,EAAA,kBAAIA,GAAAA,CAAC,MAAA,EAAA,EAAK,GAAE,oEAAA,EAAqE,CAAA;AAAA,EACjF,CAAA,kBAAGA,GAAAA,CAAC,MAAA,EAAA,EAAK,GAAE,yDAAA,EAA0D,CAAA;AAAA,EACrE,CAAA,kBAAGA,GAAAA,CAAC,MAAA,EAAA,EAAK,GAAE,2DAAA,EAA4D,CAAA;AAAA,EACvE,CAAA,kBAAGA,GAAAA,CAAC,MAAA,EAAA,EAAK,GAAE,sDAAA,EAAuD;AACpE,CAAA;;;ACGO,IAAM,YAAA,GAAe;AAAA,EAC1B,YAAA,EAAc;AAAA,IACZ,KAAA,EAAO,SAAA;AAAA,IACP,QAAA,EAAU,YAAA;AAAA,IACV,IAAA,EAAM,CAAC,OAAA,EAAS,MAAA,EAAQ,UAAU;AAAA,GACpC;AAAA,EACA,aAAA,EAAe;AAAA,IACb,KAAA,EAAO,UAAA;AAAA,IACP,QAAA,EAAU,YAAA;AAAA,IACV,IAAA,EAAM,CAAC,OAAA,EAAS,OAAA,EAAS,MAAM;AAAA,GACjC;AAAA,EACA,eAAA,EAAiB;AAAA,IACf,KAAA,EAAO,YAAA;AAAA,IACP,QAAA,EAAU,YAAA;AAAA,IACV,IAAA,EAAM,CAAC,SAAA,EAAW,OAAA,EAAS,MAAM;AAAA,GACnC;AAAA,EACA,UAAA,EAAY;AAAA,IACV,KAAA,EAAO,UAAA;AAAA,IACP,QAAA,EAAU,OAAA;AAAA,IACV,IAAA,EAAM,CAAC,YAAA,EAAc,QAAA,EAAU,QAAQ;AAAA,GACzC;AAAA,EACA,KAAA,EAAO;AAAA,IACL,KAAA,EAAO,KAAA;AAAA,IACP,QAAA,EAAU,OAAA;AAAA,IACV,IAAA,EAAM,CAAC,OAAA,EAAS,OAAA,EAAS,QAAQ;AAAA,GACnC;AAAA,EACA,IAAA,EAAM;AAAA,IACJ,KAAA,EAAO,IAAA;AAAA,IACP,QAAA,EAAU,OAAA;AAAA,IACV,IAAA,EAAM,CAAC,MAAA,EAAQ,OAAA,EAAS,QAAQ;AAAA,GAClC;AAAA,EACA,QAAA,EAAU;AAAA,IACR,KAAA,EAAO,QAAA;AAAA,IACP,QAAA,EAAU,WAAA;AAAA,IACV,IAAA,EAAM,CAAC,UAAA,EAAY,aAAA,EAAe,UAAU;AAAA,GAC9C;AAAA,EACA,KAAA,EAAO;AAAA,IACL,KAAA,EAAO,KAAA;AAAA,IACP,QAAA,EAAU,OAAA;AAAA,IACV,IAAA,EAAM,CAAC,OAAA,EAAS,QAAA,EAAU,OAAO;AAAA,GACnC;AAAA,EACA,WAAA,EAAa;AAAA,IACX,KAAA,EAAO,QAAA;AAAA,IACP,QAAA,EAAU,OAAA;AAAA,IACV,IAAA,EAAM,CAAC,OAAA,EAAS,QAAA,EAAU,SAAS,MAAM;AAAA;AAE7C,CAAA;;;ACrDO,IAAM,eAAe,MAAA,CAAO,WAAA;AAAA,EACjC,MAAA,CAAO,OAAA,CAAQ,YAAY,CAAA,CAAE,IAAI,CAAC,CAAC,IAAA,EAAM,IAAI,CAAA,KAAM,CAAC,IAAA,EAAM,IAAA,CAAK,KAAK,CAAC;AACvE,CAAA;;;ACCA,SAAS,gBAAgB,KAAA,EAA8B;AACrD,EAAA,IAAI,OAAO,KAAA,KAAU,QAAA,EAAU,OAAO,OAAA;AACtC,EAAA,IAAI,OAAO,KAAA,KAAU,QAAA,EAAU,OAAO,QAAA;AACtC,EAAA,OAAO,SAAA;AACT;AAEO,SAAS,iBAAA,CACd,iBACA,MAAA,EACmB;AACnB,EAAA,OAAO,MAAA,CAAO,QAAQ,MAAM,CAAA,CAAE,IAAI,CAAC,CAAC,IAAA,EAAM,KAAK,CAAA,MAAO;AAAA,IACpD,UAAA,EAAY,QAAA;AAAA,IACZ,IAAA,EAAM,CAAA,EAAG,eAAe,CAAA,CAAA,EAAI,IAAI,CAAA,CAAA;AAAA,IAChC,IAAA,EAAM,gBAAgB,KAAK,CAAA;AAAA,IAC3B,MAAA,EAAQ;AAAA,MACN;AAAA;AACF,GACF,CAAE,CAAA;AACJ;;;ACrBA,IAAM,KAAA,GAAQ;AAAA,EACZ,GAAA,EAAK,CAAA;AAAA,EACL,KAAA,EAAO,CAAA;AAAA,EACP,IAAA,EAAM,CAAA;AAAA,EACN,GAAA,EAAK,CAAA;AAAA,EACL,GAAA,EAAK,CAAA;AAAA,EACL,GAAA,EAAK,EAAA;AAAA,EACL,GAAA,EAAK,EAAA;AAAA,EACL,GAAA,EAAK,EAAA;AAAA,EACL,GAAA,EAAK,EAAA;AAAA,EACL,GAAA,EAAK,EAAA;AAAA,EACL,IAAA,EAAM,EAAA;AAAA,EACN,IAAA,EAAM;AACR,CAAA;AAEA,IAAM,QAAA,GAAW;AAAA,EACf,CAAA,EAAG,EAAA;AAAA,EACH,CAAA,EAAG,EAAA;AAAA,EACH,CAAA,EAAG,EAAA;AAAA,EACH,EAAA,EAAI,EAAA;AAAA,EACJ,GAAA,EAAK,EAAA;AAAA,EACL,IAAA,EAAM;AACR,CAAA;AAEO,IAAM,QAAA,GAAW;AAAA,EACtB,EAAA,EAAI,EAAA;AAAA,EACJ,CAAA,EAAG,EAAA;AAAA,EACH,CAAA,EAAG,EAAA;AAAA,EACH,CAAA,EAAG;AACL,CAAA;AAE6C;AAAA,EAC3C,GAAG,iBAAA,CAAkB,QAAA,EAAU,KAAK,CAAA;AAAA,EACpC,GAAG,iBAAA,CAAkB,WAAA,EAAa,QAAQ,CAAA;AAAA,EAC1C,GAAG,iBAAA,CAAkB,WAAA,EAAa,QAAQ;AAC5C;ACZA,IAAM,WAAA,GAAwC,QAAA;AAE9C,IAAM,OAAsB,CAAC;AAAA,EAC3B,IAAA;AAAA,EACA,MAAM,QAAA,GAAW,GAAA;AAAA,EACjB,SAAA;AAAA,EACA,GAAG;AACL,CAAA,KAAM;AACJ,EAAA,MAAM,KAAA,GAAQ,aAAa,IAAI,CAAA;AAC/B,EAAA,MAAM,IAAA,GAAO,YAAY,QAAQ,CAAA;AACjC,EAAA,MAAM,OAAA,GAAU,CAAA,IAAA,EAAO,IAAI,CAAA,CAAA,EAAI,IAAI,CAAA,CAAA;AACnC,EAAA,MAAM,OAAA,GAAU,CAAC,MAAA,EAAQ,SAAS,EAAE,MAAA,CAAO,OAAO,CAAA,CAAE,IAAA,CAAK,GAAG,CAAA;AAE5D,EAAA,uBACEA,GAAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,SAAA,EAAW,OAAA;AAAA,MACX,KAAA,EAAO,IAAA;AAAA,MACP,MAAA,EAAQ,IAAA;AAAA,MACR,OAAA;AAAA,MACA,IAAA,EAAK,MAAA;AAAA,MACL,KAAA,EAAM,4BAAA;AAAA,MACN,MAAA,EAAO,cAAA;AAAA,MACP,WAAA,EAAa,GAAA;AAAA,MACb,aAAA,EAAc,OAAA;AAAA,MACd,cAAA,EAAe,OAAA;AAAA,MACf,aAAA,EAAY,MAAA;AAAA,MACZ,SAAA,EAAU,OAAA;AAAA,MACT,GAAG,KAAA;AAAA,MAEH,gBAAM,QAAQ;AAAA;AAAA,GACjB;AAEJ,CAAA;AAEA,IAAO,YAAA,GAAQ,IAAA;AC7Cf,IAAM,SAAgC,CAAC;AAAA,EACrC,KAAA,GAAQ,SAAA;AAAA,EACR,IAAA;AAAA,EACA,SAAA,GAAY,EAAA;AAAA,EACZ,QAAA,GAAW,KAAA;AAAA,EACX,QAAA;AAAA,EACA,GAAG;AACL,CAAA,KAAM;AACJ,EAAA,MAAM,UAAA,GAAa,CAAC,CAAC,IAAA,IAAQ,CAAC,QAAA;AAE9B,EAAA,MAAM,OAAA,GAAU,UAAA,CAAW,QAAA,EAAU,SAAA,EAAW;AAAA,IAC9C,mBAAmB,KAAA,KAAU,SAAA;AAAA,IAC7B,kBAAA,EAAoB,QAAA;AAAA,IACpB,mBAAA,EAAqB;AAAA,GACtB,CAAA;AAED,EAAA,IAAI,YAAA,GAAe,IAAA;AAEnB,EAAA,IAAI,cAAA,CAAe,IAAI,CAAA,IAAK,IAAA,CAAK,SAAS,YAAA,EAAM;AAC9C,IAAA,MAAM,WAAA,GAAc,IAAA;AAEpB,IAAA,YAAA,GAAe,aAAa,WAAA,EAAa;AAAA,MACvC,IAAA,EAAM,WAAA,CAAY,KAAA,CAAM,IAAA,IAAQ,GAAA;AAAA,MAChC,SAAA,EAAW,UAAA,CAAW,cAAA,EAAgB,WAAA,CAAY,MAAM,SAAS,CAAA;AAAA,MACjE,aAAA,EAAe,WAAA,CAAY,KAAA,CAAM,aAAa,CAAA,IAAK,IAAA;AAAA,MACnD,SAAA,EAAW,WAAA,CAAY,KAAA,CAAM,SAAA,IAAa;AAAA,KAC3C,CAAA;AAAA,EACH;AAEA,EAAA,uBACE,IAAA;AAAA,IAAC,QAAA;AAAA,IAAA;AAAA,MACC,SAAA,EAAW,OAAA;AAAA,MACX,QAAA;AAAA,MACC,GAAG,KAAA;AAAA,MAEH,QAAA,EAAA;AAAA,QAAA,YAAA;AAAA,QACA;AAAA;AAAA;AAAA,GACH;AAEJ,CAAA;AAEA,IAAO,cAAA,GAAQ;AC3Cf,IAAM,aAAwC,CAAC;AAAA,EAC7C,KAAA,GAAQ,SAAA;AAAA,EACR,IAAA;AAAA,EACA,KAAA;AAAA,EACA,SAAA,GAAY,EAAA;AAAA,EACZ,QAAA,GAAW,KAAA;AAAA,EACX,GAAG;AACL,CAAA,KAAM;AACJ,EAAA,MAAM,UAAA,GACJ,YACA,KAAA,KAAU,UAAA;AAEZ,EAAA,MAAM,OAAA,GAAU,UAAA,CAAW,aAAA,EAAe,SAAA,EAAW;AAAA,IACnD,uBAAA,EAAyB;AAAA,GAC1B,CAAA;AAED,EAAA,uBACEA,GAAAA;AAAA,IAAC,QAAA;AAAA,IAAA;AAAA,MACC,SAAA,EAAW,OAAA;AAAA,MACX,QAAA,EAAU,UAAA;AAAA,MACV,YAAA,EAAY,KAAA;AAAA,MACZ,KAAA,EAAO,KAAA;AAAA,MACN,GAAG,KAAA;AAAA,MAEJ,QAAA,kBAAAA,GAAAA;AAAA,QAAC,YAAA;AAAA,QAAA;AAAA,UACC,IAAA,EAAM,IAAA;AAAA,UACN,SAAA,EAAU,mBAAA;AAAA,UACV,aAAA,EAAW,IAAA;AAAA,UACX,SAAA,EAAW;AAAA;AAAA;AACb;AAAA,GACF;AAEJ,CAAA;AAEA,IAAO,mBAAA,GAAQ;ACtCf,IAAM,QAA8B,CAAC;AAAA,EACnC,KAAA,GAAQ,SAAA;AAAA,EACR,SAAA,GAAY,EAAA;AAAA,EACZ,QAAA,GAAW,KAAA;AAAA,EACX,GAAG;AACL,CAAA,KAAM;AACJ,EAAA,MAAM,OAAA,GAAU,UAAA,CAAW,OAAA,EAAS,SAAA,EAAW;AAAA,IAC7C,OAAO,KAAA,KAAU,OAAA;AAAA,IACjB,SAAS,KAAA,KAAU;AAAA,GACpB,CAAA;AAED,EAAA,uBACEA,GAAAA;AAAA,IAAC,OAAA;AAAA,IAAA;AAAA,MACC,SAAA,EAAW,OAAA;AAAA,MACX,QAAA;AAAA,MACC,GAAG;AAAA;AAAA,GACN;AAEJ,CAAA;AAEA,IAAO,aAAA,GAAQ;ACpBf,IAAM,WAAoC,CAAC;AAAA,EACzC,KAAA,GAAQ,SAAA;AAAA,EACR,SAAA,GAAY,EAAA;AAAA,EACZ,QAAA,GAAW,KAAA;AAAA,EACX,GAAG;AACL,CAAA,KAAM;AACJ,EAAA,MAAM,OAAA,GAAU,UAAA,CAAW,UAAA,EAAY,SAAA,EAAW;AAAA,IAChD,OAAO,KAAA,KAAU,OAAA;AAAA,IACjB,SAAS,KAAA,KAAU;AAAA,GAClB,CAAA;AAEH,EAAA,uBACEA,GAAAA;AAAA,IAAC,UAAA;AAAA,IAAA;AAAA,MACC,SAAA,EAAW,OAAA;AAAA,MACX,QAAA;AAAA,MACC,GAAG;AAAA;AAAA,GACN;AAEJ,CAAA;AAEA,IAAO,gBAAA,GAAQ;ACpBf,IAAM,SAAgC,CAAC;AAAA,EACrC,KAAA,GAAQ,SAAA;AAAA,EACR,SAAA,GAAY,EAAA;AAAA,EACZ,QAAA,GAAW,KAAA;AAAA,EACX,QAAA;AAAA,EACA,GAAG;AACL,CAAA,KAAM;AACJ,EAAA,MAAM,OAAA,GAAU,UAAA,CAAW,QAAA,EAAU,SAAA,EAAW;AAAA,IAC9C,OAAO,KAAA,KAAU,OAAA;AAAA,IACjB,SAAS,KAAA,KAAU;AAAA,GAClB,CAAA;AAEH,EAAA,uBACEA,GAAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAW,SACd,QAAA,kBAAAA,GAAAA;AAAA,IAAC,QAAA;AAAA,IAAA;AAAA,MACC,SAAA,EAAU,eAAA;AAAA,MACV,QAAA;AAAA,MACC,GAAG,KAAA;AAAA,MAEH;AAAA;AAAA,GACH,EACF,CAAA;AAEJ,CAAA;AAEA,IAAO,cAAA,GAAQ;ACEf,IAAM,WAAoC,CAAC;AAAA,EACzC,OAAA;AAAA,EACA,KAAA;AAAA,EACA,YAAA;AAAA,EACA,KAAA,GAAQ,UAAA;AAAA,EACR,KAAA,GAAQ,cAAA;AAAA,EACR,OAAA;AAAA,EACA,QAAA;AAAA,EACA,SAAA,GAAY,EAAA;AAAA,EACZ,GAAG;AACL,CAAA,KAAM;AACJ,EAAA,MAAM,WAAA,GAAc,OAAuB,IAAI,CAAA;AAE/C,EAAA,MAAM,CAAC,MAAA,EAAQ,SAAS,CAAA,GAAI,SAAS,KAAK,CAAA;AAC1C,EAAA,MAAM,CAAC,aAAA,EAAe,gBAAgB,CAAA,GAAI,SAAS,YAAY,CAAA;AAE/D,EAAA,MAAM,gBACJ,KAAA,IAAS,aAAA;AAEX,EAAA,MAAM,OAAA,GAAU,UAAA,CAAW,UAAA,EAAY,SAAA,EAAW;AAAA,IAChD,gBAAA,EAAkB,MAAA;AAAA,IAClB,uBAAuB,KAAA,KAAU,WAAA;AAAA,IACjC,qBAAqB,KAAA,KAAU,SAAA;AAAA,IAC/B,0BAA0B,KAAA,KAAU,cAAA;AAAA,IACpC,wBAAwB,KAAA,KAAU;AAAA,GACnC,CAAA;AAED,EAAA,MAAM,cAAA,GACJ,OAAA;AAEF,EAAA,MAAM,cAAA,GAAiB,UAAA;AAAA,IACrB,mBAAA;AAAA,IACA,eAAe,KAAA,CAAM;AAAA,GACvB;AAEA,EAAA,MAAM,eAAA,GAAkBC,aAAa,cAAA,EAAgB;AAAA,IACnD,SAAA,EAAW,cAAA;AAAA,IACX,eAAA,EAAiB,MAAA;AAAA,IACjB,eAAA,EAAiB,MAAA;AAAA,IACjB,OAAA,EAAS,CAAC,KAAA,KAA4B;AACpC,MAAA,cAAA,CAAe,KAAA,CAAM,UAAU,KAAK,CAAA;AAEpC,MAAA,SAAA,CAAU,CAAC,YAAA,KAAiB,CAAC,YAAY,CAAA;AAAA,IAC3C;AAAA,GACD,CAAA;AAED,EAAA,MAAM,iBAAA,GAAoB,CAAC,MAAA,KAA2B;AACpD,IAAA,IAAI,OAAO,QAAA,EAAU;AACnB,MAAA;AAAA,IACF;AAEA,IAAA,IAAI,UAAU,MAAA,EAAW;AACvB,MAAA,gBAAA,CAAiB,OAAO,KAAK,CAAA;AAAA,IAC/B;AAEA,IAAA,QAAA,GAAW,OAAO,KAAK,CAAA;AACvB,IAAA,SAAA,CAAU,KAAK,CAAA;AAAA,EACjB,CAAA;AAEA,EAAA,SAAA,CAAU,MAAM;AACd,IAAA,IAAI,CAAC,MAAA,EAAQ;AACX,MAAA;AAAA,IACF;AAEA,IAAA,MAAM,mBAAA,GAAsB,CAAC,KAAA,KAAsB;AACjD,MAAA,MAAM,WAAW,WAAA,CAAY,OAAA;AAE7B,MAAA,IAAI,CAAC,QAAA,IAAY,QAAA,CAAS,QAAA,CAAS,KAAA,CAAM,MAAc,CAAA,EAAG;AACxD,QAAA;AAAA,MACF;AAEA,MAAA,SAAA,CAAU,KAAK,CAAA;AAAA,IACjB,CAAA;AAEA,IAAA,MAAM,qBAAA,GAAwB,CAAC,KAAA,KAAyB;AACtD,MAAA,IAAI,KAAA,CAAM,QAAQ,QAAA,EAAU;AAC1B,QAAA,SAAA,CAAU,KAAK,CAAA;AAAA,MACjB;AAAA,IACF,CAAA;AAEA,IAAA,QAAA,CAAS,gBAAA,CAAiB,aAAa,mBAAmB,CAAA;AAC1D,IAAA,QAAA,CAAS,gBAAA,CAAiB,WAAW,qBAAqB,CAAA;AAE1D,IAAA,OAAO,MAAM;AACX,MAAA,QAAA,CAAS,mBAAA,CAAoB,aAAa,mBAAmB,CAAA;AAC7D,MAAA,QAAA,CAAS,mBAAA,CAAoB,WAAW,qBAAqB,CAAA;AAAA,IAC/D,CAAA;AAAA,EACF,CAAA,EAAG,CAAC,MAAM,CAAC,CAAA;AAEX,EAAA,uBACEC,IAAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,GAAA,EAAK,WAAA;AAAA,MACL,SAAA,EAAW,OAAA;AAAA,MACV,GAAG,KAAA;AAAA,MAEH,QAAA,EAAA;AAAA,QAAA,eAAA;AAAA,QAEA,0BACCF,GAAAA;AAAA,UAAC,KAAA;AAAA,UAAA;AAAA,YACC,SAAA,EAAU,gBAAA;AAAA,YACV,IAAA,EAAK,MAAA;AAAA,YACL,YAAA,EAAY,KAAA;AAAA,YAEX,QAAA,EAAA,OAAA,CAAQ,GAAA,CAAI,CAAC,MAAA,KAAW;AACvB,cAAA,MAAM,UAAA,GACJ,OAAO,KAAA,KAAU,aAAA;AAEnB,cAAA,MAAM,WAAA,GAAc,WAAW,gBAAA,EAAkB;AAAA,gBAC/C,0BAAA,EAA4B,UAAA;AAAA,gBAC5B,4BAA4B,MAAA,CAAO;AAAA,eACpC,CAAA;AAED,cAAA,uBACEA,GAAAA;AAAA,gBAAC,QAAA;AAAA,gBAAA;AAAA,kBAEC,SAAA,EAAW,WAAA;AAAA,kBACX,IAAA,EAAK,QAAA;AAAA,kBACL,IAAA,EAAK,eAAA;AAAA,kBACL,cAAA,EAAc,UAAA;AAAA,kBACd,iBAAe,MAAA,CAAO,QAAA;AAAA,kBACtB,UAAU,MAAA,CAAO,QAAA;AAAA,kBACjB,OAAA,EAAS,MAAM,iBAAA,CAAkB,MAAM,CAAA;AAAA,kBAEtC,QAAA,EAAA,MAAA,CAAO;AAAA,iBAAA;AAAA,gBATH,MAAA,CAAO;AAAA,eAUd;AAAA,YAEJ,CAAC;AAAA;AAAA;AACH;AAAA;AAAA,GAEJ;AAEJ,CAAA;AAEA,IAAO,gBAAA,GAAQ;AChKf,IAAM,WAAoC,CAAC;AAAA,EACzC,KAAA;AAAA,EACA,SAAA,GAAY,EAAA;AAAA,EACZ,QAAA,GAAW,KAAA;AAAA,EACX,GAAG;AACL,CAAA,KAAM;AACJ,EAAA,MAAM,OAAA,GAAU,UAAA;AAAA,IACd,UAAA;AAAA,IACA,SAAA;AAAA,IACA;AAAA,MACE,oBAAA,EAAsB;AAAA;AACxB,GACF;AAEA,EAAA,uBACEE,IAAAA,CAAC,OAAA,EAAA,EAAM,SAAA,EAAW,OAAA,EAChB,QAAA,EAAA;AAAA,oBAAAF,GAAAA;AAAA,MAAC,OAAA;AAAA,MAAA;AAAA,QACC,SAAA,EAAU,iBAAA;AAAA,QACV,IAAA,EAAK,UAAA;AAAA,QACL,QAAA;AAAA,QACC,GAAG;AAAA;AAAA,KACN;AAAA,IACC,yBAASA,GAAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAU,mBAAmB,QAAA,EAAA,KAAA,EAAM;AAAA,GAAA,EACrD,CAAA;AAEJ,CAAA;AAEA,IAAO,gBAAA,GAAQ;AC3Bf,IAAM,QAA8B,CAAC;AAAA,EACnC,KAAA;AAAA,EACA,SAAA,GAAY,EAAA;AAAA,EACZ,QAAA,GAAW,KAAA;AAAA,EACX,GAAG;AACL,CAAA,KAAM;AACJ,EAAA,MAAM,OAAA,GAAU,UAAA;AAAA,IACd,OAAA;AAAA,IACA,SAAA;AAAA,IACA;AAAA,MACE,iBAAA,EAAmB;AAAA;AACrB,GACF;AAEA,EAAA,uBACEE,IAAAA,CAAC,OAAA,EAAA,EAAM,SAAA,EAAW,OAAA,EAChB,QAAA,EAAA;AAAA,oBAAAF,GAAAA;AAAA,MAAC,OAAA;AAAA,MAAA;AAAA,QACC,SAAA,EAAU,cAAA;AAAA,QACV,IAAA,EAAK,OAAA;AAAA,QACL,QAAA;AAAA,QACC,GAAG;AAAA;AAAA,KACN;AAAA,IACC,yBAASA,GAAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAU,gBAAgB,QAAA,EAAA,KAAA,EAAM;AAAA,GAAA,EAClD,CAAA;AAEJ,CAAA;AAEA,IAAO,aAAA,GAAQ;ACrBf,IAAM,QAA8B,CAAC;AAAA,EACnC,KAAA;AAAA,EACA,IAAA;AAAA,EACA,KAAA;AAAA,EACA,QAAA,GAAW,KAAA;AAAA,EACX,QAAA,GAAW,KAAA;AAAA,EACX,OAAA;AAAA,EACA,SAAA,GAAY,EAAA;AAAA,EACZ;AACF,CAAA,KAAM;AACJ,EAAA,MAAM,OAAA,GAAU,UAAA;AAAA,IACd,OAAA;AAAA,IACA,SAAA;AAAA,IACA;AAAA,MACE,iBAAA,EAAmB,QAAA;AAAA,MACnB,cAAA,EAAgB,CAAC,CAAC;AAAA;AACpB,GACF;AAEA,EAAA,uBACEE,IAAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAW,OAAA,EACb,QAAA,EAAA;AAAA,IAAA,KAAA,oBACCA,IAAAA;AAAA,MAAC,OAAA;AAAA,MAAA;AAAA,QACC,SAAA,EAAU,cAAA;AAAA,QACV,OAAA;AAAA,QAEC,QAAA,EAAA;AAAA,UAAA,KAAA;AAAA,UACA,4BAAYF,GAAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAU,mBAAkB,QAAA,EAAA,IAAA,EAAE;AAAA;AAAA;AAAA,KACnD;AAAA,oBAGFA,GAAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,kBACZ,QAAA,EACH,CAAA;AAAA,IAEC,KAAA,mBACCA,GAAAA,CAAC,KAAA,EAAA,EAAI,WAAU,sCAAA,EACZ,QAAA,EAAA,KAAA,EACH,CAAA,GACE,IAAA,mBACFA,GAAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,gBAAA,EACZ,gBACH,CAAA,GACE;AAAA,GAAA,EACN,CAAA;AAEJ,CAAA;AAEA,IAAO,aAAA,GAAQ;AC3Cf,SAAS,eAAA,CACP,KAAA,EACA,YAAA,EACA,KAAA,EACA;AACA,EAAA,IAAI,UAAU,MAAA,EAAW;AACvB,IAAA,OAAO,KAAA;AAAA,EACT;AAEA,EAAA,IAAI,iBAAiB,MAAA,EAAW;AAC9B,IAAA,OAAO,YAAA;AAAA,EACT;AAEA,EAAA,OAAO,KAAA,CAAM,CAAC,CAAA,EAAG,KAAA;AACnB;AAEA,IAAM,OAA4B,CAAC;AAAA,EACjC,KAAA;AAAA,EACA,KAAA;AAAA,EACA,YAAA;AAAA,EACA,KAAA,GAAQ,MAAA;AAAA,EACR,SAAA,GAAY,EAAA;AAAA,EACZ,aAAA;AAAA,EACA,GAAG;AACL,CAAA,KAAM;AACJ,EAAA,MAAM,CAAC,aAAA,EAAe,gBAAgB,CAAA,GAAIG,MAAAA,CAAM,QAAA;AAAA,IAC9C,eAAA,CAAgB,KAAA,EAAO,YAAA,EAAc,KAAK;AAAA,GAC5C;AAEA,EAAA,MAAM,eAAe,KAAA,IAAS,aAAA;AAE9B,EAAAA,MAAAA,CAAM,UAAU,MAAM;AACpB,IAAA,IAAI,UAAU,MAAA,EAAW;AACvB,MAAA;AAAA,IACF;AAEA,IAAA,gBAAA,CAAiB,eAAA,CAAgB,KAAA,EAAO,YAAA,EAAc,KAAK,CAAC,CAAA;AAAA,EAC9D,CAAA,EAAG,CAAC,KAAA,EAAO,YAAA,EAAc,KAAK,CAAC,CAAA;AAE/B,EAAA,MAAM,eAAA,GAAkB,CACtB,SAAA,EACA,QAAA,KACG;AACH,IAAA,IAAI,QAAA,EAAU;AACZ,MAAA;AAAA,IACF;AAEA,IAAA,IAAI,UAAU,MAAA,EAAW;AACvB,MAAA,gBAAA,CAAiB,SAAS,CAAA;AAAA,IAC5B;AAEA,IAAA,aAAA,GAAgB,SAAS,CAAA;AAAA,EAC3B,CAAA;AAEA,EAAA,MAAM,OAAA,GAAU,UAAA,CAAW,MAAA,EAAQ,SAAA,EAAW,EAAE,CAAA;AAEhD,EAAA,uBACEH,GAAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,SAAA,EAAW,OAAA;AAAA,MACX,YAAA,EAAY,KAAA;AAAA,MACX,GAAG,KAAA;AAAA,MAEJ,QAAA,kBAAAA,IAAC,IAAA,EAAA,EAAG,SAAA,EAAU,cACX,QAAA,EAAA,KAAA,CAAM,GAAA,CAAI,CAAC,IAAA,KAAS;AACnB,QAAA,MAAM,QAAA,GAAW,KAAK,KAAA,KAAU,YAAA;AAEhC,QAAA,MAAM,WAAA,GAAc,WAAW,eAAA,EAAiB;AAAA,UAC9C,uBAAA,EAAyB,QAAA;AAAA,UACzB,2BAA2B,IAAA,CAAK;AAAA,SACjC,CAAA;AAED,QAAA,uBACEA,GAAAA;AAAA,UAAC,IAAA;AAAA,UAAA;AAAA,YAEC,SAAA,EAAU,YAAA;AAAA,YAET,QAAA,EAAA,IAAA,CAAK,uBACJA,GAAAA;AAAA,cAAC,GAAA;AAAA,cAAA;AAAA,gBACC,SAAA,EAAW,WAAA;AAAA,gBACX,MAAM,IAAA,CAAK,IAAA;AAAA,gBACX,cAAA,EAAc,WAAW,MAAA,GAAS,MAAA;AAAA,gBAClC,eAAA,EAAe,KAAK,QAAA,IAAY,MAAA;AAAA,gBAChC,OAAA,EAAS,CAAC,KAAA,KAAU;AAClB,kBAAA,IAAI,KAAK,QAAA,EAAU;AACjB,oBAAA,KAAA,CAAM,cAAA,EAAe;AACrB,oBAAA;AAAA,kBACF;AAEA,kBAAA,eAAA,CAAgB,KAAK,KAAK,CAAA;AAAA,gBAC5B,CAAA;AAAA,gBAEC,QAAA,EAAA,IAAA,CAAK;AAAA;AAAA,gCAGRA,GAAAA;AAAA,cAAC,QAAA;AAAA,cAAA;AAAA,gBACC,SAAA,EAAW,WAAA;AAAA,gBACX,IAAA,EAAK,QAAA;AAAA,gBACL,UAAU,IAAA,CAAK,QAAA;AAAA,gBACf,SAAS,MAAM,eAAA;AAAA,kBACb,IAAA,CAAK,KAAA;AAAA,kBACL,IAAA,CAAK;AAAA,iBACP;AAAA,gBAEC,QAAA,EAAA,IAAA,CAAK;AAAA;AAAA;AACR,WAAA;AAAA,UA/BG,IAAA,CAAK;AAAA,SAiCZ;AAAA,MAEJ,CAAC,CAAA,EACH;AAAA;AAAA,GACF;AAEJ,CAAA;AAEA,IAAO,YAAA,GAAQ;AChIf,IAAM,OAA4B,CAAC;AAAA,EACjC,SAAA,GAAY,EAAA;AAAA,EACZ,QAAA;AAAA,EACA,GAAG;AACL,CAAA,KAAM;AACJ,EAAA,MAAM,OAAA,GAAU,UAAA,CAAW,MAAA,EAAQ,SAAS,CAAA;AAE5C,EAAA,uBACEA,GAAAA,CAAC,KAAA,EAAA,EAAI,WAAW,OAAA,EAAU,GAAG,OAC1B,QAAA,EACH,CAAA;AAEJ,CAAA;AAEA,IAAO,YAAA,GAAQ;ACFf,SAAS,eAAA,CACP,OACA,GAAA,EACA;AACA,EAAA,OAAO,IAAA,CAAK,GAAA;AAAA,IACV,IAAA,CAAK,GAAA,CAAI,KAAA,EAAO,CAAC,CAAA;AAAA,IACjB;AAAA,GACF;AACF;AAEA,SAAS,UAAA,CACP,OACA,GAAA,EACA;AACA,EAAA,IAAI,OAAO,CAAA,EAAG;AACZ,IAAA,OAAO,CAAA;AAAA,EACT;AAEA,EAAA,OACE,eAAA,CAAgB,KAAA,EAAO,GAAG,CAAA,GAC1B,GAAA,GACE,GAAA;AACN;AAEA,SAAS,mBAAA,CACP,KAAA,EACA,KAAA,EACA,GAAA,EACA,UAAA,EACA;AACA,EAAA,MAAM,IAAA,GAAO,MAAM,qBAAA,EAAsB;AAEzC,EAAA,IAAI,UAAA,EAAY;AACd,IAAA,MAAM,CAAA,GACJ,IAAA,CAAK,MAAA,GACL,KAAA,CAAM,OAAA;AAER,IAAA,MAAMI,MAAAA,GACJ,IAAI,IAAA,CAAK,MAAA;AAEX,IAAA,OAAO,eAAA;AAAA,MACLA,MAAAA,GAAQ,GAAA;AAAA,MACR;AAAA,KACF;AAAA,EACF;AAEA,EAAA,MAAM,CAAA,GACJ,KAAA,CAAM,OAAA,GACN,IAAA,CAAK,IAAA;AAEP,EAAA,MAAM,KAAA,GACJ,IAAI,IAAA,CAAK,KAAA;AAEX,EAAA,OAAO,eAAA;AAAA,IACL,KAAA,GAAQ,GAAA;AAAA,IACR;AAAA,GACF;AACF;AAEA,SAAS,oBAAA,CACP,GAAA,EACA,KAAA,EACA,GAAA,EACA,IAAA,EACA;AACA,EAAA,IACE,GAAA,KAAQ,YAAA,IACR,GAAA,KAAQ,SAAA,EACR;AACA,IAAA,OAAO,eAAA;AAAA,MACL,KAAA,GAAQ,IAAA;AAAA,MACR;AAAA,KACF;AAAA,EACF;AAEA,EAAA,IACE,GAAA,KAAQ,WAAA,IACR,GAAA,KAAQ,WAAA,EACR;AACA,IAAA,OAAO,eAAA;AAAA,MACL,KAAA,GAAQ,IAAA;AAAA,MACR;AAAA,KACF;AAAA,EACF;AAEA,EAAA,IAAI,QAAQ,MAAA,EAAQ;AAClB,IAAA,OAAO,CAAA;AAAA,EACT;AAEA,EAAA,IAAI,QAAQ,KAAA,EAAO;AACjB,IAAA,OAAO,GAAA;AAAA,EACT;AAEA,EAAA,OAAO,KAAA;AACT;AAEA,IAAM,cAEF,CAAC;AAAA,EACH,IAAA,GAAO,QAAA;AAAA,EACP,KAAA,GAAQ,CAAA;AAAA,EACR,QAAA,GAAW,CAAA;AAAA,EACX,GAAA,GAAM,GAAA;AAAA,EACN,WAAA,GAAc,YAAA;AAAA,EACd,IAAA,GAAO,CAAA;AAAA,EACP,WAAA;AAAA,EACA,KAAA,GAAQ,UAAA;AAAA,EACR,SAAA,GAAY,EAAA;AAAA,EACZ,KAAA;AAAA,EACA,aAAA;AAAA,EACA,aAAA;AAAA,EACA,GAAG;AACL,CAAA,KAAM;AACJ,EAAA,MAAM,QAAA,GACJC,OAAuB,IAAI,CAAA;AAE7B,EAAA,MAAM,SAAA,GACJ,eAAA;AAAA,IACE,KAAA;AAAA,IACA;AAAA,GACF;AAEF,EAAA,MAAM,YAAA,GACJ,UAAA;AAAA,IACE,KAAA;AAAA,IACA;AAAA,GACF;AAEF,EAAA,MAAM,eAAA,GACJ,UAAA;AAAA,IACE,QAAA;AAAA,IACA;AAAA,GACF;AAEF,EAAA,MAAM,aAAA,GACJ,eACA,IAAA,KAAS,SAAA;AAEX,EAAA,MAAM,UAAA,GACJ,WAAA,KACE,UAAA,IACF,IAAA,KAAS,OAAA;AAEX,EAAA,MAAM,WAAA,GACJ,IAAA,KAAS,QAAA,IACT,QAAA,GAAW,KAAA;AAEb,EAAA,MAAM,WACJ,IAAA,KAAS,SAAA;AAEX,EAAA,MAAM,OAAA,GACJ,UAAA;AAAA,IACE,aAAA;AAAA,IACA,SAAA;AAAA,IACA;AAAA,MACE,uBAAA,EACE,UAAA;AAAA,MAEF,sBACE,IAAA,KAAS,OAAA;AAAA,MAEX,0BAAA,EACE;AAAA;AACJ,GACF;AAEF,EAAA,MAAM,aAAA,GAAgB;AAAA,IACpB,GAAG,KAAA;AAAA,IACH,qBAAA,EACE,GAAG,YAAY,CAAA,CAAA,CAAA;AAAA,IACjB,wBAAA,EACE,GAAG,eAAe,CAAA,CAAA,CAAA;AAAA,IACpB,+BAAA,EACE,GAAG,YAAY,CAAA,CAAA;AAAA,GACnB;AAEA,EAAA,MAAM,sBAAA,GAAyB,CAC7B,KAAA,EACA,YAAA,GAAe,KAAA,KACZ;AACH,IAAA,MAAM,QACJ,QAAA,CAAS,OAAA;AAEX,IAAA,IACE,CAAC,aAAA,IACD,CAAC,KAAA,EACD;AACA,MAAA;AAAA,IACF;AAEA,IAAA,MAAM,SAAA,GACJ,mBAAA;AAAA,MACE,KAAA;AAAA,MACA,KAAA;AAAA,MACA,GAAA;AAAA,MACA;AAAA,KACF;AAEF,IAAA,aAAA;AAAA,MACE;AAAA,KACF;AAEA,IAAA,IAAI,YAAA,EAAc;AAChB,MAAA,aAAA;AAAA,QACE;AAAA,OACF;AAAA,IACF;AAAA,EACF,CAAA;AAEA,EAAA,MAAM,iBAAA,GAAoB,CACxB,KAAA,KACG;AACH,IAAA,IAAI,CAAC,aAAA,EAAe;AAClB,MAAA;AAAA,IACF;AAEA,IAAA,KAAA,CAAM,aAAA,CACH,iBAAA;AAAA,MACC,KAAA,CAAM;AAAA,KACR;AAEF,IAAA,sBAAA;AAAA,MACE;AAAA,KACF;AAAA,EACF,CAAA;AAEA,EAAA,MAAM,iBAAA,GAAoB,CACxB,KAAA,KACG;AACH,IAAA,IACE,CAAC,aAAA,IACD,CAAC,KAAA,CAAM,aAAA,CACJ,iBAAA;AAAA,MACC,KAAA,CAAM;AAAA,KACR,EACF;AACA,MAAA;AAAA,IACF;AAEA,IAAA,sBAAA;AAAA,MACE;AAAA,KACF;AAAA,EACF,CAAA;AAEA,EAAA,MAAM,eAAA,GAAkB,CACtB,KAAA,KACG;AACH,IAAA,IAAI,CAAC,aAAA,EAAe;AAClB,MAAA;AAAA,IACF;AAEA,IAAA,sBAAA;AAAA,MACE,KAAA;AAAA,MACA;AAAA,KACF;AAEA,IAAA,KAAA,CAAM,aAAA,CACH,qBAAA;AAAA,MACC,KAAA,CAAM;AAAA,KACR;AAAA,EACJ,CAAA;AAEA,EAAA,MAAM,aAAA,GAAgB,CACpB,KAAA,KACG;AACH,IAAA,IAAI,CAAC,aAAA,EAAe;AAClB,MAAA;AAAA,IACF;AAEA,IAAA,MAAM,SAAA,GACJ,oBAAA;AAAA,MACE,KAAA,CAAM,GAAA;AAAA,MACN,SAAA;AAAA,MACA,GAAA;AAAA,MACA;AAAA,KACF;AAEF,IAAA,IACE,cACA,SAAA,EACA;AACA,MAAA;AAAA,IACF;AAEA,IAAA,KAAA,CAAM,cAAA,EAAe;AAErB,IAAA,aAAA;AAAA,MACE;AAAA,KACF;AAEA,IAAA,aAAA;AAAA,MACE;AAAA,KACF;AAAA,EACF,CAAA;AAEA,EAAA,uBACEL,GAAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,SAAA,EAAW,OAAA;AAAA,MACX,IAAA,EACE,gBACI,QAAA,GACA,aAAA;AAAA,MAEN,YAAA,EAAY,KAAA;AAAA,MACZ,eAAA,EAAe,CAAA;AAAA,MACf,eAAA,EAAe,GAAA;AAAA,MACf,eAAA,EAAe,SAAA;AAAA,MACf,kBAAA,EACE,aAAA,IACA,UAAA,GACI,UAAA,GACA,MAAA;AAAA,MAEN,QAAA,EACE,gBACI,CAAA,GACA,MAAA;AAAA,MAEN,KAAA,EAAO,aAAA;AAAA,MACP,aAAA,EACE,iBAAA;AAAA,MAEF,aAAA,EACE,iBAAA;AAAA,MAEF,WAAA,EACE,eAAA;AAAA,MAEF,SAAA,EACE,aAAA;AAAA,MAED,GAAG,KAAA;AAAA,MAEJ,QAAA,kBAAAE,IAAAA;AAAA,QAAC,KAAA;AAAA,QAAA;AAAA,UACC,GAAA,EAAK,QAAA;AAAA,UACL,SAAA,EAAU,oBAAA;AAAA,UAEV,QAAA,EAAA;AAAA,4BAAAF,GAAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,oBAAA,EAAqB,CAAA;AAAA,YAEnC,WAAA,oBACCA,GAAAA,CAAC,KAAA,EAAA,EAAI,WAAU,uBAAA,EAAwB,CAAA;AAAA,YAGxC,QAAA,oBACCE,IAAAA,CAAC,MAAA,EAAA,EAAK,WAAU,oBAAA,EACb,QAAA,EAAA;AAAA,cAAA,IAAA,CAAK,KAAA;AAAA,gBACJ;AAAA,eACF;AAAA,cAAE;AAAA,aAAA,EAEJ;AAAA;AAAA;AAAA;AAEJ;AAAA,GACF;AAEJ,CAAA;AAEA,IAAO,mBAAA,GAAQ;ACjVf,SAASI,gBAAAA,CAAgB,KAAA,EAAe,GAAA,EAAa,GAAA,EAAa;AAChE,EAAA,OAAO,KAAK,GAAA,CAAI,IAAA,CAAK,IAAI,KAAA,EAAO,GAAG,GAAG,GAAG,CAAA;AAC3C;AAEA,SAAS,WAAW,KAAA,EAAe;AACjC,EAAA,IAAI,CAAC,MAAA,CAAO,QAAA,CAAS,KAAK,GAAG,OAAO,MAAA;AAEpC,EAAA,MAAM,OAAA,GAAU,IAAA,CAAK,KAAA,CAAM,KAAA,GAAQ,EAAE,CAAA;AACrC,EAAA,MAAM,OAAA,GAAU,IAAA,CAAK,KAAA,CAAM,KAAA,GAAQ,EAAE,CAAA;AAErC,EAAA,OAAO,CAAA,EAAG,OAAO,CAAA,CAAA,EAAI,MAAA,CAAO,OAAO,CAAA,CAAE,QAAA,CAAS,CAAA,EAAG,GAAG,CAAC,CAAA,CAAA;AACvD;AAEA,SAAS,eAAe,KAAA,EAAyB;AAC/C,EAAA,IAAI,KAAA,CAAM,QAAA,CAAS,MAAA,KAAW,CAAA,EAAG,OAAO,CAAA;AAExC,EAAA,OAAO,MAAM,QAAA,CAAS,GAAA,CAAI,KAAA,CAAM,QAAA,CAAS,SAAS,CAAC,CAAA;AACrD;AAEA,SAAS,cAAA,CAAe,GAAA,EAAyB,SAAA,EAA2B,eAAA,EAAyB;AACnG,EAAA,MAAM,sBAAsB,SAAA,CAAU,IAAA,CAAK,CAAC,OAAA,KAAY,OAAA,CAAQ,UAAU,eAAe,CAAA;AAEzF,EAAA,OAAO,qBAAqB,GAAA,IAAO,GAAA;AACrC;AAEA,SAAS,kBAAkB,SAAA,EAA6C;AACtE,EAAA,OAAO,SAAA,CAAU,GAAA,CAAI,CAAC,OAAA,MAAa;AAAA,IACjC,OAAO,OAAA,CAAQ,KAAA;AAAA,IACf,OAAO,OAAA,CAAQ,KAAA;AAAA,IACf,UAAU,OAAA,CAAQ;AAAA,GACpB,CAAE,CAAA;AACJ;AAEA,SAAS,sBACP,KAAA,EACoB;AACpB,EAAA,MAAM,QAAA,GAAW,MAAM,QAAA,IAAY,CAAA;AACnC,EAAA,MAAM,WAAA,GAAc,MAAM,WAAA,IAAe,CAAA;AAEzC,EAAA,OAAO;AAAA,IACL,WAAA;AAAA,IACA,QAAA;AAAA,IAEA,WACE,KAAA,CAAM,KAAA,IAEJ,QAAA,GAAW,CAAA,IACX,eAAe,QAAA,GAAW;AAAA,GAEhC;AACF;AAEA,IAAM,mBAAmC,EAAC;AAE1C,IAAM,QAA8B,CAAC;AAAA,EACnC,GAAA;AAAA,EACA,KAAA;AAAA,EACA,SAAA,GAAY,gBAAA;AAAA,EACZ,cAAA,GAAiB,EAAA;AAAA,EACjB,KAAA,GAAQ,cAAA;AAAA,EACR,aAAA,GAAgB,CAAA;AAAA,EAChB,YAAA,GAAe,KAAA;AAAA,EACf,WAAA,GAAc,CAAA;AAAA,EACd,yBAAA,GAA4B,EAAA;AAAA,EAC5B,SAAA,GAAY,EAAA;AAAA,EACZ,QAAA;AAAA,EACA,IAAA;AAAA,EACA,KAAA;AAAA,EACA,WAAA,GAAc,IAAA;AAAA,EACd,OAAA,GAAU,UAAA;AAAA,EACV,eAAA;AAAA,EACA,MAAA;AAAA,EACA,OAAA;AAAA,EACA,OAAA;AAAA,EACA,gBAAA;AAAA,EACA,YAAA;AAAA,EACA,UAAA;AAAA,EACA,cAAA;AAAA,EACA,gBAAA;AAAA,EACA,QAAA;AAAA,EACA,GAAG;AACL,CAAA,KAAM;AACJ,EAAA,MAAM,QAAA,GAAWD,OAAyB,IAAI,CAAA;AAE9C,EAAA,MAAM,CAAC,SAAA,EAAW,YAAY,CAAA,GAAIE,SAAS,KAAK,CAAA;AAChD,EAAA,MAAM,CAAC,YAAA,EAAc,eAAe,CAAA,GAAIA,SAAS,KAAK,CAAA;AACtD,EAAA,MAAM,CAAC,eAAA,EAAiB,kBAAkB,CAAA,GAAIA,SAAS,cAAc,CAAA;AACrE,EAAA,MAAM,CAAC,WAAA,EAAa,cAAc,CAAA,GAAIA,SAAS,CAAC,CAAA;AAChD,EAAA,MAAM,CAAC,QAAA,EAAU,WAAW,CAAA,GAAIA,SAAS,CAAC,CAAA;AAC1C,EAAA,MAAM,CAAC,QAAA,EAAU,WAAW,CAAA,GAAIA,SAAS,CAAC,CAAA;AAC1C,EAAA,MAAM,CAAC,MAAA,EAAQ,SAAS,CAAA,GAAIA,SAAS,aAAa,CAAA;AAClD,EAAA,MAAM,CAAC,OAAA,EAAS,UAAU,CAAA,GAAIA,QAAAA,CAAS,SAAS,YAAY,CAAA;AAE5D,EAAA,MAAM,wBAAA,GAA2BF,OAAO,KAAK,CAAA;AAC7C,EAAA,MAAM,uBAAA,GAA0BA,OAAO,CAAC,CAAA;AAExC,EAAA,MAAM,QAAA,GAAW,cAAA,CAAe,GAAA,EAAK,SAAA,EAAW,eAAe,CAAA;AAC/D,EAAA,MAAM,cAAA,GAAiB,kBAAkB,SAAS,CAAA;AAClD,EAAA,MAAM,iBAAA,GAAoB,eAAe,MAAA,GAAS,CAAA;AAElD,EAAAG,UAAU,MAAM;AACd,IAAA,MAAM,QAAQ,QAAA,CAAS,OAAA;AAEvB,IAAA,wBAAA,CAAyB,OAAA,GAAU,KAAA;AACnC,IAAA,uBAAA,CAAwB,OAAA,GAAU,CAAA;AAElC,IAAA,IAAI,CAAC,KAAA,IAAS,CAAC,QAAA,EAAU;AAEzB,IAAA,KAAA,CAAM,gBAAgB,KAAK,CAAA;AAC3B,IAAA,KAAA,CAAM,IAAA,EAAK;AAEX,IAAA,IAAI,KAAA,CAAM,WAAA,CAAY,+BAA+B,CAAA,EAAG;AACtD,MAAA,KAAA,CAAM,GAAA,GAAM,QAAA;AACZ,MAAA;AAAA,IACF;AAEA,IAAA,IAAI,CAAC,GAAA,CAAI,WAAA,EAAY,EAAG;AACtB,MAAA,KAAA,CAAM,GAAA,GAAM,QAAA;AACZ,MAAA;AAAA,IACF;AAEA,IAAA,MAAM,GAAA,GAAM,IAAI,GAAA,EAAI;AAEpB,IAAA,GAAA,CAAI,GAAG,GAAA,CAAI,MAAA,CAAO,KAAA,EAAO,CAAC,GAAG,IAAA,KAAS;AACpC,MAAA,OAAA,CAAQ,KAAA,CAAM,aAAa,IAAI,CAAA;AAAA,IACjC,CAAC,CAAA;AAED,IAAA,GAAA,CAAI,WAAW,QAAQ,CAAA;AACvB,IAAA,GAAA,CAAI,YAAY,KAAK,CAAA;AAErB,IAAA,OAAO,MAAM;AACX,MAAA,GAAA,CAAI,OAAA,EAAQ;AAAA,IACd,CAAA;AAAA,EACF,CAAA,EAAG,CAAC,QAAQ,CAAC,CAAA;AAEb,EAAA,MAAM,UAAA,GAAa,cAAc,CAAA,IAAK,SAAA;AACtC,EAAA,MAAM,WAAA,GAAc,UAAA;AACpB,EAAA,MAAM,SAAA,GAAY,YAAA;AAElB,EAAA,MAAM,OAAA,GAAU,UAAA,CAAW,OAAA,EAAS,SAAA,EAAW;AAAA,IAC7C,sBAAA,EAAwB,WAAA;AAAA,IACxB,oBAAA,EAAsB;AAAA,GACvB,CAAA;AAED,EAAA,MAAM,iBAAiB,MAAM;AAC3B,IAAA,MAAM,QAAQ,QAAA,CAAS,OAAA;AAEvB,IAAA,IAAI,CAAC,KAAA,EAAO;AAEZ,IAAA,cAAA,CAAe,MAAM,WAAW,CAAA;AAChC,IAAA,WAAA,CAAY,KAAA,CAAM,YAAY,CAAC,CAAA;AAC/B,IAAA,WAAA,CAAY,cAAA,CAAe,KAAK,CAAC,CAAA;AACjC,IAAA,SAAA,CAAU,MAAM,MAAM,CAAA;AACtB,IAAA,UAAA,CAAW,MAAM,KAAK,CAAA;AACtB,IAAA,YAAA,CAAa,CAAC,MAAM,MAAM,CAAA;AAAA,EAC5B,CAAA;AAEA,EAAA,MAAM,cAAA,GAAiB,CACrB,KAAA,KACG;AACH,IAAA,IAAI,CAAC,gBAAA,EAAkB;AACrB,MAAA;AAAA,IACF;AAEA,IAAA,gBAAA;AAAA,MACE,sBAAsB,KAAK;AAAA,KAC7B;AAAA,EACF,CAAA;AAEA,EAAA,MAAM,mBAAmB,YAAY;AACnC,IAAA,MAAM,QAAQ,QAAA,CAAS,OAAA;AAEvB,IAAA,IAAI,CAAC,KAAA,EAAO;AAEZ,IAAA,OAAA,CAAQ,IAAI,YAAA,EAAc;AAAA,MACxB,QAAQ,KAAA,CAAM,MAAA;AAAA,MACd,YAAY,KAAA,CAAM,UAAA;AAAA,MAClB,KAAK,KAAA,CAAM,UAAA;AAAA,MACX,cAAc,KAAA,CAAM,YAAA;AAAA,MACpB,OAAO,KAAA,CAAM;AAAA,KACd,CAAA;AAED,IAAA,IAAI,MAAM,MAAA,EAAQ;AAChB,MAAA,IAAI;AACF,QAAA,MAAM,MAAM,IAAA,EAAK;AACjB,QAAA,OAAA,CAAQ,IAAI,cAAc,CAAA;AAAA,MAC5B,SAAS,KAAA,EAAO;AACd,QAAA,OAAA,CAAQ,KAAA,CAAM,eAAe,KAAK,CAAA;AAAA,MACpC;AAEA,MAAA;AAAA,IACF;AAEA,IAAA,KAAA,CAAM,KAAA,EAAM;AAAA,EACd,CAAA;AAEA,EAAA,MAAM,UAAA,GAAa,CAAC,SAAA,KAAsB;AACxC,IAAA,MAAM,QAAQ,QAAA,CAAS,OAAA;AAEvB,IAAA,IAAI,CAAC,KAAA,EAAO;AAEZ,IAAA,KAAA,CAAM,WAAA,GAAcF,gBAAAA,CAAgB,SAAA,EAAW,CAAA,EAAG,QAAQ,CAAA;AAC1D,IAAA,cAAA,CAAe,MAAM,WAAW,CAAA;AAAA,EAClC,CAAA;AAEA,EAAA,MAAM,kBAAA,GAAqB,CAAC,SAAA,KAAsB;AAChD,IAAA,MAAM,QAAQ,QAAA,CAAS,OAAA;AAEvB,IAAA,IAAI,CAAC,KAAA,EAAO;AAEZ,IAAA,MAAM,UAAA,GAAaA,gBAAAA,CAAgB,SAAA,EAAW,CAAA,EAAG,CAAC,CAAA;AAElD,IAAA,KAAA,CAAM,MAAA,GAAS,UAAA;AACf,IAAA,KAAA,CAAM,QAAQ,UAAA,KAAe,CAAA;AAE7B,IAAA,SAAA,CAAU,UAAU,CAAA;AACpB,IAAA,UAAA,CAAW,MAAM,KAAK,CAAA;AAAA,EACxB,CAAA;AAEA,EAAA,MAAM,oBAAoB,MAAM;AAC9B,IAAA,MAAM,QAAQ,QAAA,CAAS,OAAA;AAEvB,IAAA,IAAI,CAAC,KAAA,EAAO;AAEZ,IAAA,KAAA,CAAM,KAAA,GAAQ,CAAC,KAAA,CAAM,KAAA;AACrB,IAAA,UAAA,CAAW,MAAM,KAAK,CAAA;AAAA,EACxB,CAAA;AAEA,EAAA,MAAM,mBAAmB,MAAM;AAC7B,IAAA,MAAM,QAAQ,QAAA,CAAS,OAAA;AAEvB,IAAA,IAAI,CAAC,KAAA,EAAO;AAEZ,IAAA,KAAA,CAAM,iBAAA,IAAoB;AAAA,EAC5B,CAAA;AAEA,EAAA,MAAM,mBAAA,GAAsB,CAAC,OAAA,KAAoB;AAC/C,IAAA,kBAAA,CAAmB,OAAO,CAAA;AAC1B,IAAA,eAAA,GAAkB,OAAO,CAAA;AAAA,EAC3B,CAAA;AAEA,EAAA,MAAM,oBAAA,GAAuB,CAC3B,KAAA,KACG;AACH,IAAA,MAAM,QAAQ,KAAA,CAAM,aAAA;AAEpB,IAAA,IACE,CAAC,wBAAA,CAAyB,OAAA,IAC1B,WAAA,GAAc,CAAA,EACd;AACA,MAAA,KAAA,CAAM,cAAc,IAAA,CAAK,GAAA;AAAA,QACvB,WAAA;AAAA,QACA,MAAM,QAAA,IAAY;AAAA,OACpB;AAEA,MAAA,wBAAA,CAAyB,OAAA,GAAU,IAAA;AAAA,IACrC;AAEA,IAAA,cAAA,EAAe;AAEf,IAAA,gBAAA,GAAmB,KAAK,CAAA;AAAA,EAC1B,CAAA;AAEA,EAAA,MAAM,gBAAA,GAAmB,CACvB,KAAA,KACG;AACH,IAAA,MAAM,QAAQ,KAAA,CAAM,aAAA;AAEpB,IAAA,cAAA,EAAe;AAEf,IAAA,IACE,gBAAA,IAEE,KAAA,CAAM,WAAA,GACN,uBAAA,CAAwB,WACrB,yBAAA,EACL;AACA,MAAA,uBAAA,CAAwB,UACtB,KAAA,CAAM,WAAA;AAER,MAAA,cAAA,CAAe,KAAK,CAAA;AAAA,IACtB;AAEA,IAAA,YAAA,GAAe,KAAK,CAAA;AAAA,EACtB,CAAA;AAEA,EAAA,MAAM,cAAA,GAAiB,CAAC,KAAA,KAAkD;AACxE,IAAA,cAAA,EAAe;AACf,IAAA,UAAA,GAAa,KAAK,CAAA;AAAA,EACpB,CAAA;AAEA,EAAA,MAAM,UAAA,GAAa,CAAC,KAAA,KAAkD;AACpE,IAAA,YAAA,CAAa,IAAI,CAAA;AACjB,IAAA,MAAA,GAAS,KAAK,CAAA;AAAA,EAChB,CAAA;AAEA,EAAA,MAAM,WAAA,GAAc,CAClB,KAAA,KACG;AACH,IAAA,YAAA,CAAa,KAAK,CAAA;AAElB,IAAA,cAAA,CAAe,MAAM,aAAa,CAAA;AAElC,IAAA,OAAA,GAAU,KAAK,CAAA;AAAA,EACjB,CAAA;AAEA,EAAA,MAAM,WAAA,GAAc,CAClB,KAAA,KACG;AACH,IAAA,cAAA,EAAe;AAEf,IAAA,cAAA,CAAe,MAAM,aAAa,CAAA;AAElC,IAAA,OAAA,GAAU,KAAK,CAAA;AAAA,EACjB,CAAA;AAEA,EAAA,MAAM,wBAAA,GAA2B,CAAC,KAAA,KAAkD;AAClF,IAAA,cAAA,EAAe;AACf,IAAA,cAAA,GAAiB,KAAK,CAAA;AAAA,EACxB,CAAA;AAEA,EAAA,uBACEJ,IAAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAW,OAAA,EAAS,cAAY,KAAA,EACnC,QAAA,EAAA;AAAA,oBAAAA,IAAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,gBAAA,EACZ,QAAA,EAAA;AAAA,MAAA,KAAA,IAAS,CAAC,6BACTF,GAAAA;AAAA,QAAC,KAAA;AAAA,QAAA;AAAA,UACC,SAAA,EAAU,cAAA;AAAA,UACV,GAAA,EAAK,KAAA;AAAA,UACL,GAAA,EAAI,EAAA;AAAA,UACJ,aAAA,EAAY;AAAA;AAAA,OACd,GACE,IAAA;AAAA,sBAEJA,GAAAA;AAAA,QAAC,OAAA;AAAA,QAAA;AAAA,UACE,GAAG,KAAA;AAAA,UACJ,GAAA,EAAK,QAAA;AAAA,UACL,SAAA,EAAU,cAAA;AAAA,UACV,MAAA,EAAQ,KAAA;AAAA,UACR,QAAA;AAAA,UACA,IAAA;AAAA,UACA,KAAA,EAAO,OAAA;AAAA,UACP,WAAA;AAAA,UACA,OAAA;AAAA,UACA,QAAA,EAAU,KAAA;AAAA,UACV,gBAAA,EAAkB,oBAAA;AAAA,UAClB,YAAA,EAAc,gBAAA;AAAA,UACd,UAAA,EAAY,cAAA;AAAA,UACZ,MAAA,EAAQ,UAAA;AAAA,UACR,OAAA,EAAS,WAAA;AAAA,UACT,OAAA,EAAS,WAAA;AAAA,UACT,cAAA,EAAgB,wBAAA;AAAA,UAEf;AAAA;AAAA,OACH;AAAA,MAEC,CAAC,8BACAA,GAAAA;AAAA,QAAC,mBAAA;AAAA,QAAA;AAAA,UACC,SAAA,EAAU,oBAAA;AAAA,UACV,IAAA,EAAK,MAAA;AAAA,UACL,KAAA,EAAM,YAAA;AAAA,UACN,OAAA,EAAS;AAAA;AAAA;AACX,KAAA,EAEJ,CAAA;AAAA,IAEC,WAAA,oBACCE,IAAAA,CAAC,KAAA,EAAA,EAAI,WAAU,iBAAA,EACb,QAAA,EAAA;AAAA,sBAAAF,GAAAA;AAAA,QAAC,mBAAA;AAAA,QAAA;AAAA,UACC,IAAA,EAAM,YAAY,OAAA,GAAU,MAAA;AAAA,UAC5B,KAAA,EAAO,YAAY,aAAA,GAAgB,YAAA;AAAA,UACnC,OAAA,EAAS;AAAA;AAAA,OACX;AAAA,sBAEAA,GAAAA,CAAC,KAAA,EAAA,EAAI,WAAU,aAAA,EAAe,QAAA,EAAA,UAAA,CAAW,WAAW,CAAA,EAAE,CAAA;AAAA,sBAEtDA,GAAAA;AAAA,QAAC,mBAAA;AAAA,QAAA;AAAA,UACC,SAAA,EAAU,iBAAA;AAAA,UACV,IAAA,EAAK,QAAA;AAAA,UACL,KAAA,EAAO,WAAA;AAAA,UACP,QAAA;AAAA,UACA,KAAK,QAAA,IAAY,CAAA;AAAA,UACjB,IAAA,EAAM,CAAA;AAAA,UACN,KAAA,EAAM,gBAAA;AAAA,UACN,aAAA,EAAe;AAAA;AAAA,OACjB;AAAA,sBAEAA,IAAC,mBAAA,EAAA,EAAW,IAAA,EAAK,cAAa,KAAA,EAAM,YAAA,EAAa,SAAS,gBAAA,EAAkB,CAAA;AAAA,sBAE5EE,KAAC,KAAA,EAAA,EAAI,SAAA,EAAU,wBAAuB,YAAA,EAAc,MAAM,eAAA,CAAgB,KAAK,CAAA,EAC7E,QAAA,EAAA;AAAA,wBAAAF,GAAAA;AAAA,UAAC,mBAAA;AAAA,UAAA;AAAA,YACC,IAAA,EAAM,UAAU,WAAA,GAAc,OAAA;AAAA,YAC9B,KAAA,EAAO,UAAU,cAAA,GAAiB,YAAA;AAAA,YAClC,OAAA,EAAS,iBAAA;AAAA,YACT,YAAA,EAAc,MAAM,eAAA,CAAgB,IAAI,CAAA;AAAA,YACxC,OAAA,EAAS,MAAM,eAAA,CAAgB,IAAI;AAAA;AAAA,SACrC;AAAA,QAEC,6BACCA,GAAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,iBACb,QAAA,kBAAAA,GAAAA;AAAA,UAAC,mBAAA;AAAA,UAAA;AAAA,YACC,IAAA,EAAK,OAAA;AAAA,YACL,KAAA,EAAO,UAAU,CAAA,GAAI,MAAA;AAAA,YACrB,GAAA,EAAK,CAAA;AAAA,YACL,IAAA,EAAM,IAAA;AAAA,YACN,KAAA,EAAM,QAAA;AAAA,YACN,aAAA,EAAe;AAAA;AAAA,SACjB,EACF;AAAA,OAAA,EAEJ,CAAA;AAAA,MAEC,qCACCA,GAAAA;AAAA,QAAC,gBAAA;AAAA,QAAA;AAAA,UACC,KAAA,EAAM,SAAA;AAAA,UACN,KAAA,EAAO,eAAA;AAAA,UACP,OAAA,EAAS,cAAA;AAAA,UACT,KAAA,EAAM,eAAA;AAAA,UACN,QAAA,EAAU,mBAAA;AAAA,UACV,yBAASA,GAAAA,CAAC,uBAAW,IAAA,EAAK,UAAA,EAAW,OAAM,eAAA,EAAgB;AAAA;AAAA;AAC7D,KAAA,EAEJ;AAAA,GAAA,EAEJ,CAAA;AAEJ,CAAA;AAEA,IAAO,aAAA,GAAQ;ACvcf,IAAM,SAAgC,CAAC;AAAA,EACrC,KAAA,GAAQ,SAAA;AAAA,EACR,SAAA,GAAY,EAAA;AAAA,EACZ,QAAA;AAAA;AAAA,EAEA,GAAG;AACL,CAAA,KAAM;AACJ,EAAA,MAAM,OAAA,GAAU,UAAA,CAAW,QAAA,EAAU,SAAA,EAAW;AAAA,IAC9C,OAAO,KAAA,KAAU,OAAA;AAAA,IACjB,SAAS,KAAA,KAAU;AAAA,GAClB,CAAA;AAEH,EAAA,uBACEA,GAAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,SAAA,EAAW,OAAA;AAAA,MAEV,GAAG,KAAA;AAAA,MAED;AAAA;AAAA,GACL;AAEJ,CAAA;AAEA,IAAO,cAAA,GAAQ;ACvBf,IAAM,WAAoC,CAAC;AAAA,EACzC,KAAA,GAAQ,SAAA;AAAA,EACR,SAAA,GAAY,EAAA;AAAA;AAAA,EAEZ,GAAG;AACL,CAAA,KAAM;AACJ,EAAA,MAAM,OAAA,GAAU,UAAA,CAAW,UAAA,EAAY,SAAA,EAAW;AAAA,IAChD,OAAO,KAAA,KAAU,OAAA;AAAA,IACjB,SAAS,KAAA,KAAU;AAAA,GAClB,CAAA;AAEH,EAAA,uBACEA,GAAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,SAAA,EAAW,OAAA;AAAA,MAEV,GAAG;AAAA;AAAA,GACN;AAEJ,CAAA;AAEA,IAAO,gBAAA,GAAQ;ACpBf,IAAM,MAA0B,CAAC;AAAA,EAC/B,OAAA,GAAU,SAAA;AAAA,EACV,SAAA,GAAY,EAAA;AAAA,EACZ,QAAA;AAAA,EACA,GAAG;AACL,CAAA,KAAM;AACJ,EAAA,MAAM,OAAA,GAAU,UAAA,CAAW,KAAA,EAAO,SAAA,EAAW;AAAA,IAC3C,CAAC,CAAA,aAAA,EAAgB,OAAO,CAAA,CAAE,GAAG,QAAQ,OAAO;AAAA,GAC7C,CAAA;AAED,EAAA,uBACEA,GAAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,SAAA,EAAW,OAAA;AAAA,MACV,GAAG,KAAA;AAAA,MAEH;AAAA;AAAA,GACH;AAEJ,CAAA;AAEA,IAAO,WAAA,GAAQ;ACjBf,IAAM,OAA4B,CAAC;AAAA,EACjC,KAAA,GAAQ,SAAA;AAAA,EACR,OAAA;AAAA,EACA,WAAA;AAAA,EACA,OAAA;AAAA,EACA,SAAA,GAAY,EAAA;AAAA,EACZ,QAAA;AAAA,EACA,GAAG;AACL,CAAA,KAAM;AACJ,EAAA,MAAM,OAAA,GAAU,UAAA,CAAW,MAAA,EAAQ,SAAA,EAAW,EAAE,CAAA;AAEhD,EAAA,uBACEE,IAAAA;AAAA,IAAC,SAAA;AAAA,IAAA;AAAA,MACC,SAAA,EAAW,OAAA;AAAA,MACV,GAAG,KAAA;AAAA,MAEF,QAAA,EAAA;AAAA,QAAA,CAAA,OAAA,IAAW,WAAA,qBACXA,IAAAA,CAAC,KAAA,EAAA,EAAI,WAAU,cAAA,EACZ,QAAA,EAAA;AAAA,UAAA,OAAA,oBACCF,GAAAA,CAAC,IAAA,EAAA,EAAG,SAAA,EAAU,iBACX,QAAA,EAAA,OAAA,EACH,CAAA;AAAA,UAGD,+BACCA,GAAAA,CAAC,GAAA,EAAA,EAAE,SAAA,EAAU,qBACV,QAAA,EAAA,WAAA,EACH;AAAA,SAAA,EAEJ,CAAA;AAAA,QAGD,4BACCA,GAAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,iBACZ,QAAA,EACH,CAAA;AAAA,QAGD,2BACCA,GAAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,iBACZ,QAAA,EAAA,OAAA,EACH;AAAA;AAAA;AAAA,GAEJ;AAEJ,CAAA;AAEA,IAAO,YAAA,GAAQ;AChDf,IAAM,QAA8B,CAAC;AAAA,EACnC,MAAA,GAAS,MAAA;AAAA,EACT,OAAA;AAAA,EACA,WAAA;AAAA,EACA,SAAA,GAAY,EAAA;AAAA,EACZ,QAAA;AAAA,EACA,GAAG;AACL,CAAA,KAAM;AACJ,EAAA,MAAM,OAAA,GAAU,UAAA,CAAW,OAAA,EAAS,SAAA,EAAW;AAAA,IAC7C,sBAAsB,MAAA,KAAW;AAAA,GAClC,CAAA;AAED,EAAA,uBACEE,IAAAA;AAAA,IAAC,SAAA;AAAA,IAAA;AAAA,MACC,SAAA,EAAW,OAAA;AAAA,MACV,GAAG,KAAA;AAAA,MAEF,QAAA,EAAA;AAAA,QAAA,CAAA,OAAA,IAAW,WAAA,qBACXA,IAAAA,CAAC,KAAA,EAAA,EAAI,WAAU,eAAA,EACZ,QAAA,EAAA;AAAA,UAAA,OAAA,oBACCF,GAAAA,CAAC,IAAA,EAAA,EAAG,SAAA,EAAU,kBACX,QAAA,EAAA,OAAA,EACH,CAAA;AAAA,UAGD,+BACCA,GAAAA,CAAC,GAAA,EAAA,EAAE,SAAA,EAAU,sBACV,QAAA,EAAA,WAAA,EACH;AAAA,SAAA,EAEJ,CAAA;AAAA,QAGD,4BACCA,GAAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,kBACZ,QAAA,EACH;AAAA;AAAA;AAAA,GAEJ;AAEJ,CAAA;AAEA,IAAO,aAAA,GAAQ;;;ACnDR,IAAM,gBAAA,GAAmB;AAAA,EAC9B,mCAAmC,IAAI,GAAA;AAAA,IACrC,wCAAA;AAAA,IACA,MAAA,CAAA,IAAA,CAAY;AAAA,IACZ,QAAA,EAAS;AAAA,EACX,qCAAqC,IAAI,GAAA;AAAA,IACvC,0CAAA;AAAA,IACA,MAAA,CAAA,IAAA,CAAY;AAAA,IACZ,QAAA,EAAS;AAAA,EACX,uBAAuB,IAAI,GAAA;AAAA,IACzB,4BAAA;AAAA,IACA,MAAA,CAAA,IAAA,CAAY;AAAA,IACZ,QAAA;AACJ,CAAA;AAIO,IAAM,kBAAA,GAAqB,CAAC,QAAA,KACjC,gBAAA,CAAiB,QAAQ,CAAA;ACR3B,IAAM,QAAA,GAAW;AAAA,EACf,MAAA,EAAQ,mBAAmB,iCAAiC,CAAA;AAAA,EAC5D,QAAA,EAAU,mBAAmB,mCAAmC;AAClE,CAAA;AAEA,IAAM,OAA4B,CAAC;AAAA,EACjC,IAAA,GAAO,MAAA;AAAA,EACP,KAAA,GAAQ,0JAAA;AAAA,EACR,SAAA,GAAY,EAAA;AAAA,EACZ,GAAG;AACL,CAAA,KAAM;AACJ,EAAA,MAAM,OAAA,GAAU,UAAA,CAAW,MAAA,EAAQ,SAAA,EAAW;AAAA,IAC5C,gBAAgB,IAAA,KAAS;AAAA,GAC1B,CAAA;AAED,EAAA,uBACEE,IAAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,SAAA,EAAW,OAAA;AAAA,MACX,YAAA,EAAY,KAAA;AAAA,MACX,GAAG,KAAA;AAAA,MAEJ,QAAA,EAAA;AAAA,wBAAAF,GAAAA;AAAA,UAAC,KAAA;AAAA,UAAA;AAAA,YACC,SAAA,EAAU,cAAA;AAAA,YACV,KAAK,QAAA,CAAS,MAAA;AAAA,YACd,GAAA,EAAI,EAAA;AAAA,YACJ,aAAA,EAAY;AAAA;AAAA,SACd;AAAA,QAEC,IAAA,KAAS,0BACRA,GAAAA;AAAA,UAAC,KAAA;AAAA,UAAA;AAAA,YACC,SAAA,EAAU,gBAAA;AAAA,YACV,KAAK,QAAA,CAAS,QAAA;AAAA,YACd,GAAA,EAAI,EAAA;AAAA,YACJ,aAAA,EAAY;AAAA;AAAA;AACd;AAAA;AAAA,GAEJ;AAEJ,CAAA;AAEA,IAAO,YAAA,GAAQ;ACzBf,IAAM,SAAgC,CAAC;AAAA,EACrC,GAAA;AAAA,EACA,GAAA,GAAM,EAAA;AAAA,EACN,QAAA;AAAA,EACA,SAAA,GAAY,EAAA;AAAA,EACZ,OAAA;AAAA,EACA,GAAG;AACL,CAAA,KAAM;AACJ,EAAA,MAAM,aAAA,GAAgB,CAAC,CAAC,OAAA;AAExB,EAAA,MAAM,OAAA,GAAU,UAAA,CAAW,QAAA,EAAU,SAAA,EAAW;AAAA,IAC9C,gBAAA,EAAkB;AAAA,GACnB,CAAA;AAED,EAAA,MAAM,OAAA,GAAU,sBACdA,GAAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,SAAA,EAAU,eAAA;AAAA,MACV,GAAA;AAAA,MACA;AAAA;AAAA,sBAGFA,GAAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAU,oBACb,QAAA,EAAA,QAAA,EACH,CAAA;AAGF,EAAA,IAAI,aAAA,EAAe;AACjB,IAAA,uBACEA,GAAAA;AAAA,MAAC,QAAA;AAAA,MAAA;AAAA,QACC,SAAA,EAAW,OAAA;AAAA,QACX,IAAA,EAAK,QAAA;AAAA,QACL,YAAA,EAAY,KAAA,CAAM,YAAY,CAAA,IAAK,GAAA;AAAA,QACnC,OAAA;AAAA,QACC,GAAG,KAAA;AAAA,QAEH,QAAA,EAAA;AAAA;AAAA,KACH;AAAA,EAEJ;AAEA,EAAA,uBACEA,GAAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,SAAA,EAAW,OAAA;AAAA,MACX,YAAA,EAAY,GAAA;AAAA,MACX,GAAG,KAAA;AAAA,MAEH,QAAA,EAAA;AAAA;AAAA,GACH;AAEJ,CAAA;AAEA,IAAO,cAAA,GAAQ;ACnEf,IAAM,SAAgC,CAAC;AAAA,EACrC,IAAA;AAAA,EACA,IAAA;AAAA,EACA,MAAA;AAAA,EACA,SAAA,GAAY,EAAA;AAAA,EACZ,QAAA;AAAA,EACA,GAAG;AACL,CAAA,KAAM;AACJ,EAAgB,UAAA,CAAW,QAAA,EAAU,SAAA,EAAW,EAAE;AAElD,EAAA,uBACEE,IAAAA;AAAA,IAAC,QAAA;AAAA,IAAA;AAAA,MACC,SAAA,EAAU,QAAA;AAAA,MACT,GAAG,KAAA;AAAA,MAEJ,QAAA,EAAA;AAAA,wBAAAF,GAAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,cAAA,EACZ,QAAA,EAAA,IAAA,EACH,CAAA;AAAA,QAAA,CAEE,IAAA,IAAQ,6BACRA,GAAAA,CAAC,SAAI,SAAA,EAAU,cAAA,EACZ,kBAAQ,QAAA,EACX,CAAA;AAAA,wBAGFA,GAAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,kBACZ,QAAA,EAAA,MAAA,EACH;AAAA;AAAA;AAAA,GACF;AAEJ,CAAA;AAEA,IAAO,cAAA,GAAQ;AClCf,IAAM,SAAgC,CAAC;AAAA,EACrC,SAAA;AAAA,EACA,KAAA;AAAA,EACA,cAAA;AAAA,EACA,QAAA;AAAA,EACA,GAAG;AACL,CAAA,KAAM;AACJ,EAAA,uBACEE,IAAAA,CAAC,QAAA,EAAA,EAAO,SAAA,EAAU,QAAA,EAAU,GAAG,KAAA,EAC5B,QAAA,EAAA;AAAA,IAAA,SAAA,oBACCF,GAAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,qBACZ,QAAA,EAAA,SAAA,EACH,CAAA;AAAA,IAAA,CAGA,KAAA,IAAS,6BACTA,GAAAA,CAAC,SAAI,SAAA,EAAU,eAAA,EACZ,mBAAS,QAAA,EACZ,CAAA;AAAA,IAGD,kCACCA,GAAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,0CACZ,QAAA,EAAA,cAAA,EACH;AAAA,GAAA,EAEJ,CAAA;AAEJ,CAAA;AAEA,IAAO,cAAA,GAAQ;AC5Bf,IAAM,eAA4C,CAAC;AAAA,EACjD,OAAA;AAAA,EACA,KAAA;AAAA,EACA,WAAA;AAAA,EACA,IAAA;AAAA,EACA,QAAA;AAAA,EACA,GAAG;AACL,CAAA,KAAM;AACJ,EAAA,uBACEE,IAAAA;AAAA,IAAC,SAAA;AAAA,IAAA;AAAA,MACC,SAAA,EAAU,eAAA;AAAA,MACT,GAAG,KAAA;AAAA,MAEJ,QAAA,EAAA;AAAA,wBAAAA,IAAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,wBAAA,EACZ,QAAA,EAAA;AAAA,UAAA,OAAA,oBACCF,GAAAA,CAAC,GAAA,EAAA,EAAE,SAAA,EAAU,0BACV,QAAA,EAAA,OAAA,EACH,CAAA;AAAA,UAGD,yBACCA,GAAAA,CAAC,IAAA,EAAA,EAAG,SAAA,EAAU,wBACX,QAAA,EAAA,KAAA,EACH,CAAA;AAAA,UAGD,+BACCA,GAAAA,CAAC,GAAA,EAAA,EAAE,SAAA,EAAU,8BACV,QAAA,EAAA,WAAA,EACH;AAAA,SAAA,EAEJ,CAAA;AAAA,QAAA,CAEE,IAAA,IAAQ,6BACRA,GAAAA,CAAC,SAAI,SAAA,EAAU,qBAAA,EACZ,kBAAQ,QAAA,EACX;AAAA;AAAA;AAAA,GAEJ;AAEJ,CAAA;AAEA,IAAO,qBAAA,GAAQ;ACtCf,IAAM,mBAAoD,CAAC;AAAA,EACzD,KAAA,GAAQ,SAAA;AAAA,EACR,SAAA,GAAY,EAAA;AAAA,EACZ,QAAA;AAAA,EACA,GAAG;AACL,CAAA,KAAM;AACJ,EAAA,MAAM,OAAA,GAAU,UAAA,CAAW,mBAAA,EAAqB,SAAA,EAAW;AAAA,IACzD,6BAA6B,KAAA,KAAU,QAAA;AAAA,IACvC,2BAA2B,KAAA,KAAU,MAAA;AAAA,IACrC,2BAA2B,KAAA,KAAU;AAAA,GACtC,CAAA;AAED,EAAA,uBACEA,GAAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,SAAA,EAAW,OAAA;AAAA,MACV,GAAG,KAAA;AAAA,MAEJ,QAAA,kBAAAA,GAAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,2BACZ,QAAA,EACH;AAAA;AAAA,GACF;AAEJ,CAAA;AAEA,IAAO,kBAAA,GAAQ;AC1Bf,IAAM,aAAwC,CAAC;AAAA,EAC7C,KAAA,GAAQ,SAAA;AAAA,EACR,MAAA;AAAA,EACA,MAAA;AAAA,EACA,QAAA;AAAA,EACA,SAAA,GAAY,EAAA;AAAA,EACZ,GAAG;AACL,CAAA,KAAM;AACJ,EAAA,uBACEE,IAAAA;AAAA,IAAC,kBAAA;AAAA,IAAA;AAAA,MACC,KAAA;AAAA,MACA,SAAA;AAAA,MACC,GAAG,KAAA;AAAA,MAEH,QAAA,EAAA;AAAA,QAAA,MAAA,oBACCF,GAAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,uBACZ,QAAA,EAAA,MAAA,EACH,CAAA;AAAA,wBAGFA,GAAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAU,qBACb,QAAA,EACH,CAAA;AAAA,QAEC,0BACCA,GAAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,uBACZ,QAAA,EAAA,MAAA,EACH;AAAA;AAAA;AAAA,GAEJ;AAEJ,CAAA;AAEA,IAAO,YAAA,GAAQ;AC/Bf,IAAM,gBAA8C,CAAC;AAAA,EACnD,KAAA,GAAQ,MAAA;AAAA,EACR,MAAA;AAAA,EACA,YAAA;AAAA,EACA,OAAA;AAAA,EACA,MAAA;AAAA,EACA,QAAA;AAAA,EACA,SAAA,GAAY,EAAA;AAAA,EACZ,GAAG;AACL,CAAA,KAAM;AACJ,EAAA,uBACEE,IAAAA;AAAA,IAAC,kBAAA;AAAA,IAAA;AAAA,MACC,KAAA;AAAA,MACA,SAAA;AAAA,MACC,GAAG,KAAA;AAAA,MAEH,QAAA,EAAA;AAAA,QAAA,MAAA,oBACCF,GAAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,0BACZ,QAAA,EAAA,MAAA,EACH,CAAA;AAAA,QAGD,gCACCA,GAAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,iCACZ,QAAA,EAAA,YAAA,EACH,CAAA;AAAA,wBAGFE,IAAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,sBAAA,EACb,QAAA,EAAA;AAAA,0BAAAF,GAAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAU,sBAAA,EACb,QAAA,EACH,CAAA;AAAA,UAEC,2BACCA,GAAAA,CAAC,OAAA,EAAA,EAAM,SAAA,EAAU,wBACd,QAAA,EAAA,OAAA,EACH;AAAA,SAAA,EAEJ,CAAA;AAAA,QAEC,0BACCA,GAAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,0BACZ,QAAA,EAAA,MAAA,EACH;AAAA;AAAA;AAAA,GAEJ;AAEJ,CAAA;AAEA,IAAO,eAAA,GAAQ;AC5Cf,SAAS,cAAc,IAAA,EAAkB;AACvC,EAAA,OAAO,IAAA,CAAK,QAAA,EAAU,UAAA,CAAW,QAAQ,CAAA,IAAK,KAAA;AAChD;AAEA,SAAS,eAAe,SAAA,EAAoB;AAC1C,EAAA,IAAI,cAAc,MAAA,EAAW;AAC3B,IAAA,OAAO,cAAA;AAAA,EACT;AAEA,EAAA,IAAI,YAAY,IAAA,EAAM;AACpB,IAAA,OAAO,GAAG,SAAS,CAAA,EAAA,CAAA;AAAA,EACrB;AAEA,EAAA,IAAI,SAAA,GAAY,OAAO,IAAA,EAAM;AAC3B,IAAA,OAAO,CAAA,EAAG,IAAA,CAAK,KAAA,CAAM,SAAA,GAAY,IAAI,CAAC,CAAA,GAAA,CAAA;AAAA,EACxC;AAEA,EAAA,OAAO,IAAI,SAAA,GAAY,IAAA,GAAO,IAAA,EAAM,OAAA,CAAQ,CAAC,CAAC,CAAA,GAAA,CAAA;AAChD;AAEA,IAAM,SAAgC,CAAC;AAAA,EACrC,KAAA;AAAA,EACA,QAAA;AAAA,EACA,WAAA,GAAc,4CAAA;AAAA,EACd,UAAA;AAAA,EACA,SAAA,GAAY,EAAA;AAAA,EACZ,GAAG;AACL,CAAA,KAAM;AACJ,EAAA,IAAI,KAAA,CAAM,WAAW,CAAA,EAAG;AACtB,IAAA,OAAO,IAAA;AAAA,EACT;AAEA,EAAA,MAAM,OAAA,GAAU,UAAA,CAAW,QAAA,EAAU,SAAA,EAAW,EAAE,CAAA;AAElD,EAAA,uBACEA,GAAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,SAAA,EAAW,OAAA;AAAA,MACV,GAAG,KAAA;AAAA,MAEJ,QAAA,kBAAAA,IAAC,IAAA,EAAA,EAAG,SAAA,EAAU,gBACX,QAAA,EAAA,KAAA,CAAM,GAAA,CAAI,CAAC,IAAA,KAAS;AACnB,QAAA,MAAM,OAAA,GAAU,cAAc,IAAI,CAAA;AAElC,QAAA,uBACEE,IAAAA;AAAA,UAAC,IAAA;AAAA,UAAA;AAAA,YAEC,SAAA,EAAU,cAAA;AAAA,YAEV,QAAA,EAAA;AAAA,8BAAAF,GAAAA;AAAA,gBAAC,GAAA;AAAA,gBAAA;AAAA,kBACC,SAAA,EAAU,cAAA;AAAA,kBACV,MAAM,IAAA,CAAK,GAAA;AAAA,kBACX,MAAA,EAAO,QAAA;AAAA,kBACP,GAAA,EAAI,YAAA;AAAA,kBAEH,oCACCA,GAAAA;AAAA,oBAAC,KAAA;AAAA,oBAAA;AAAA,sBACC,SAAA,EAAU,iBAAA;AAAA,sBACV,KAAK,IAAA,CAAK,GAAA;AAAA,sBACV,KAAK,IAAA,CAAK;AAAA;AAAA,mBACZ,mBAEAE,IAAAA,CAAC,MAAA,EAAA,EAAK,WAAU,cAAA,EACd,QAAA,EAAA;AAAA,oCAAAF,GAAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAU,cAAA,EACb,eAAK,IAAA,EACR,CAAA;AAAA,oCAEAA,IAAC,MAAA,EAAA,EAAK,SAAA,EAAU,gBACb,QAAA,EAAA,cAAA,CAAe,IAAA,CAAK,SAAS,CAAA,EAChC;AAAA,mBAAA,EACF;AAAA;AAAA,eAEJ;AAAA,cAEC,4BACCA,GAAAA;AAAA,gBAAC,QAAA;AAAA,gBAAA;AAAA,kBACC,SAAA,EAAU,gBAAA;AAAA,kBACV,IAAA,EAAK,QAAA;AAAA,kBACL,YAAA,EAAY,CAAA,EAAG,WAAW,CAAA,0BAAA,EAAS,KAAK,IAAI,CAAA,CAAA;AAAA,kBAC5C,OAAA,EAAS,MAAM,QAAA,CAAS,IAAA,CAAK,EAAE,CAAA;AAAA,kBAE9B,QAAA,EAAA;AAAA;AAAA;AACH;AAAA,WAAA;AAAA,UApCG,IAAA,CAAK;AAAA,SAsCZ;AAAA,MAEJ,CAAC,CAAA,EACH;AAAA;AAAA,GACF;AAEJ,CAAA;AAEA,IAAO,cAAA,GAAQ","file":"index.js","sourcesContent":["type ClassValue = string | undefined | null | false;\n\nexport function classnames(\n ...args: (ClassValue | Record<string, boolean | undefined | null>)[]\n) {\n const classes: string[] = [];\n\n args.forEach(arg => {\n if (!arg) return;\n\n if (typeof arg === 'string') {\n classes.push(arg);\n return;\n }\n\n for (const key in arg) {\n if (arg[key]) {\n classes.push(key);\n }\n }\n });\n\n return classes.join(' ');\n}","import type { IconGlyph } from '../types';\n\nexport const arrowLink: IconGlyph = {\n xs: <path d=\"M4 8H10M8 4H12V8M12 4L7 9\" />,\n s: <path d=\"M5 10H12M10 5H15V10M15 5L9 11\" />,\n m: <path d=\"M6 12H14M12 6H18V12M18 6L11 13\" />,\n l: <path d=\"M8 16H19M16 8H24V16M24 8L15 17\" />,\n};","import type { IconGlyph } from '../types';\n\nexport const arrowRight: IconGlyph = {\n xs: <path d=\"M4 8H12M9 5L12 8L9 11\" />,\n s: <path d=\"M5 10H15M11 6L15 10L11 14\" />,\n m: <path d=\"M6 12H18M13 7L18 12L13 17\" />,\n l: <path d=\"M8 16H24M18 10L24 16L18 22\" />,\n};","import type { IconGlyph } from '../types';\n\nexport const chevronRight: IconGlyph = {\n xs: <path d=\"M6 4.5L9.5 8L6 11.5\" />,\n s: <path d=\"M8 5.5L12.5 10L8 14.5\" />,\n m: <path d=\"M9.5 6.5L15 12L9.5 17.5\" />,\n l: <path d=\"M13 9L20 16L13 23\" />,\n};","import type { IconGlyph } from '../types';\n\nexport const fullscreen: IconGlyph = {\n xs: <path d=\"M5 7V5H7M11 5H13V7M13 11V13H11M7 13H5V11\" />,\n s: <path d=\"M6 8V6H8M14 6H16V8M16 14V16H14M8 16H6V14\" />,\n m: <path d=\"M7 10V7H10M14 7H17V10M17 14V17H14M10 17H7V14\" />,\n l: <path d=\"M9 13V9H13M19 9H23V13M23 19V23H19M13 23H9V19\" />,\n};","import type { IconGlyph } from '../types';\n\nexport const pause: IconGlyph = {\n xs: <path d=\"M5 4V12M11 4V12\" />,\n s: <path d=\"M7 5V15M13 5V15\" />,\n m: <path d=\"M9 6V18M15 6V18\" />,\n l: <path d=\"M11 8V24M21 8V24\" />,\n};","import type { IconGlyph } from '../types';\n\nexport const play: IconGlyph = {\n xs: <path d=\"M6 5.5L11 8L6 10.5Z\" />,\n s: <path d=\"M7 6.5L13.5 10L7 13.5Z\" />,\n m: <path d=\"M8 7L16 12L8 17Z\" />,\n l: <path d=\"M11 9L21 16L11 23Z\" />,\n};","import type { IconGlyph } from '../types';\n\nexport const settings: IconGlyph = {\n xs: <path d=\"M8 5V3.5M8 12.5V11M5.9 5.9L4.8 4.8M11.2 11.2L10.1 10.1M5 8H3.5M12.5 8H11M5.9 10.1L4.8 11.2M11.2 4.8L10.1 5.9M8 6.5A1.5 1.5 0 1 1 8 9.5A1.5 1.5 0 0 1 8 6.5Z\" />,\n s: <path d=\"M10 6V4M10 16V14M7.2 7.2L5.8 5.8M14.2 14.2L12.8 12.8M6 10H4M16 10H14M7.2 12.8L5.8 14.2M14.2 5.8L12.8 7.2M10 8A2 2 0 1 1 10 12A2 2 0 0 1 10 8Z\" />,\n m: <path d=\"M12 7V4M12 20V17M8.5 8.5L6.4 6.4M17.6 17.6L15.5 15.5M7 12H4M20 12H17M8.5 15.5L6.4 17.6M17.6 6.4L15.5 8.5M12 9A3 3 0 1 1 12 15A3 3 0 0 1 12 9Z\" />,\n l: <path d=\"M16 9V5M16 27V23M11 11L8 8M24 24L21 21M9 16H5M27 16H23M11 21L8 24M24 8L21 11M16 12A4 4 0 1 1 16 20A4 4 0 0 1 16 12Z\" />,\n};","import type { IconGlyph } from '../types';\n\nexport const sound: IconGlyph = {\n xs: <path d=\"M3.5 9.5H6L9.5 12.5V3.5L6 6.5H3.5V9.5ZM11 6.5C11.7 7.2 11.7 8.8 11 9.5\" />,\n s: <path d=\"M4.5 12H7.5L12 16V4L7.5 8H4.5V12ZM14 7.5C15 8.5 15 11.5 14 12.5\" />,\n m: <path d=\"M5.5 14.5H9L15 19V5L9 9.5H5.5V14.5ZM17 8.5C18.5 10 18.5 14 17 15.5\" />,\n l: <path d=\"M7 19H12L20 25V7L12 13H7V19ZM23 11C25 13 25 19 23 21\" />,\n};","import type { IconGlyph } from '../types';\n\nexport const soundOff: IconGlyph = {\n xs: <path d=\"M3.5 9.5H6L9.5 12.5V3.5L6 6.5H3.5V9.5ZM11 6.5L13 8.5M13 6.5L11 8.5\" />,\n s: <path d=\"M4.5 12H7.5L12 16V4L7.5 8H4.5V12ZM14 8L17 11M17 8L14 11\" />,\n m: <path d=\"M5.5 14.5H9L15 19V5L9 9.5H5.5V14.5ZM17 9L21 13M21 9L17 13\" />,\n l: <path d=\"M7 19H12L20 25V7L12 13H7V19ZM23 12L27 16M27 12L23 16\" />,\n};","import { arrowLink } from './assets/arrow-link';\nimport { arrowRight } from './assets/arrow-right';\nimport { chevronRight } from './assets/chevron-right';\nimport { fullscreen } from './assets/fullscreen';\nimport { pause } from './assets/pause';\nimport { play } from './assets/play';\nimport { settings } from './assets/settings';\nimport { sound } from './assets/sound';\nimport { soundOff } from './assets/sound-off';\n\nexport const iconManifest = {\n 'arrow-link': {\n glyph: arrowLink,\n category: 'navigation',\n tags: ['arrow', 'link', 'external'],\n },\n 'arrow-right': {\n glyph: arrowRight,\n category: 'navigation',\n tags: ['arrow', 'right', 'next'],\n },\n 'chevron-right': {\n glyph: chevronRight,\n category: 'navigation',\n tags: ['chevron', 'right', 'next'],\n },\n fullscreen: {\n glyph: fullscreen,\n category: 'media',\n tags: ['fullscreen', 'expand', 'player'],\n },\n pause: {\n glyph: pause,\n category: 'media',\n tags: ['pause', 'video', 'player'],\n },\n play: {\n glyph: play,\n category: 'media',\n tags: ['play', 'video', 'player'],\n },\n settings: {\n glyph: settings,\n category: 'interface',\n tags: ['settings', 'preferences', 'controls'],\n },\n sound: {\n glyph: sound,\n category: 'media',\n tags: ['sound', 'volume', 'audio'],\n },\n 'sound-off': {\n glyph: soundOff,\n category: 'media',\n tags: ['sound', 'volume', 'audio', 'mute'],\n },\n} as const;","import { iconManifest } from './manifest';\nimport type { IconGlyph, IconName } from './types';\n\nexport const iconRegistry = Object.fromEntries(\n Object.entries(iconManifest).map(([name, item]) => [name, item.glyph]),\n) as Record<IconName, IconGlyph>;","import type { TokenDefinition } from '../schema';\n\ntype ScaleValue = number | string | boolean;\n\ntype TokenType = 'float' | 'string' | 'boolean';\n\nfunction detectTokenType(value: ScaleValue): TokenType {\n if (typeof value === 'number') return 'float';\n if (typeof value === 'string') return 'string';\n return 'boolean';\n}\n\nexport function createScaleTokens(\n tokenPathPrefix: string,\n values: Record<string, ScaleValue>\n): TokenDefinition[] {\n return Object.entries(values).map(([step, value]) => ({\n collection: 'scales',\n name: `${tokenPathPrefix}/${step}`,\n type: detectTokenType(value),\n values: {\n value,\n },\n })) as TokenDefinition[];\n}","import { createScaleTokens } from '../helpers/create-scale-tokens';\nimport type { TokenDefinition } from '../schema';\n\nconst sizeX = {\n \"0\": 0,\n \"025\": 1,\n \"05\": 2,\n \"1\": 4,\n \"2\": 8,\n \"3\": 12,\n \"4\": 16,\n \"5\": 20,\n \"6\": 24,\n \"8\": 32,\n \"10\": 40,\n \"12\": 48,\n} as const;\n\nconst sizeGrid = {\n s: 12,\n m: 20,\n l: 40,\n xl: 60,\n xxl: 80,\n xxxl: 100,\n} as const;\n\nexport const sizeIcon = {\n xs: 16,\n s: 20,\n m: 24,\n l: 32,\n} as const;\n\nexport const scalesSize: TokenDefinition[] = [\n ...createScaleTokens('size/x', sizeX),\n ...createScaleTokens('size/grid', sizeGrid),\n ...createScaleTokens('size/icon', sizeIcon),\n];","import React, { type FC } from 'react';\nimport './icon.css';\nimport { iconRegistry } from './registry';\nimport type { IconName, IconSize } from './types';\nimport { sizeIcon } from '../tokens/scales/size';\n\n/*import {\n sizeIconXS,\n sizeIconS,\n sizeIconM,\n sizeIconL,\n} from '../tokens/scales/size';*/\n\nexport interface IconProps\n extends Omit<React.SVGAttributes<SVGSVGElement>, 'size'> {\n name: IconName;\n size?: IconSize;\n}\n\n/*const iconSizeMap: Record<IconSize, number> = {\n xs: sizeIconXS,\n s: sizeIconS,\n m: sizeIconM,\n l: sizeIconL,\n};*/\n\nconst iconSizeMap: Record<IconSize, number> = sizeIcon;\n\nconst Icon: FC<IconProps> = ({\n name,\n size: iconSize = 'm',\n className,\n ...props\n}) => {\n const glyph = iconRegistry[name];\n const size = iconSizeMap[iconSize];\n const viewBox = `0 0 ${size} ${size}`;\n const classes = ['icon', className].filter(Boolean).join(' ');\n\n return (\n <svg\n className={classes}\n width={size}\n height={size}\n viewBox={viewBox}\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n stroke=\"currentColor\"\n strokeWidth={1.5}\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n aria-hidden=\"true\"\n focusable=\"false\"\n {...props}\n >\n {glyph[iconSize]}\n </svg>\n );\n};\n\nexport default Icon;","import React, {\n cloneElement,\n isValidElement,\n type ReactElement,\n} from 'react';\nimport './button.css';\nimport { classnames } from '../helpers/classnames';\nimport Icon, { type IconProps } from '../../icons/icon';\n\nexport interface ButtonProps\n extends React.ButtonHTMLAttributes<HTMLButtonElement> {\n state?: 'default' | 'primary';\n icon?: React.ReactNode;\n}\n\nconst Button: React.FC<ButtonProps> = ({\n state = 'default',\n icon,\n className = '',\n disabled = false,\n children,\n ...props\n}) => {\n const isIconOnly = !!icon && !children;\n\n const classes = classnames('button', className, {\n 'button--primary': state === 'primary',\n 'button--disabled': disabled,\n 'button--icon-only': isIconOnly,\n });\n\n let resolvedIcon = icon;\n\n if (isValidElement(icon) && icon.type === Icon) {\n const iconElement = icon as ReactElement<IconProps>;\n\n resolvedIcon = cloneElement(iconElement, {\n size: iconElement.props.size ?? 's',\n className: classnames('button__icon', iconElement.props.className),\n 'aria-hidden': iconElement.props['aria-hidden'] ?? true,\n focusable: iconElement.props.focusable ?? false,\n });\n }\n\n return (\n <button\n className={classes}\n disabled={disabled}\n {...props}\n >\n {resolvedIcon}\n {children}\n </button>\n );\n};\n\nexport default Button;","import React from 'react';\nimport './button-icon.css';\nimport { classnames } from '../helpers/classnames';\nimport Icon from '../../icons/icon';\nimport type { IconName } from '../../icons/types';\n\nexport interface ButtonIconProps\n extends React.ButtonHTMLAttributes<HTMLButtonElement> {\n icon: IconName;\n state?: 'default' | 'disabled';\n label: string;\n}\n\nconst ButtonIcon: React.FC<ButtonIconProps> = ({\n state = 'default',\n icon,\n label,\n className = '',\n disabled = false,\n ...props\n}) => {\n const isDisabled =\n disabled ||\n state === 'disabled';\n\n const classes = classnames('button-icon', className, {\n 'button-icon--disabled': isDisabled,\n });\n\n return (\n <button\n className={classes}\n disabled={isDisabled}\n aria-label={label}\n title={label}\n {...props}\n >\n <Icon\n name={icon}\n className=\"button-icon__icon\"\n aria-hidden\n focusable={false}\n />\n </button>\n );\n};\n\nexport default ButtonIcon;","import React from 'react';\n//import './input.css';\nimport { classnames } from '../helpers/classnames';\n\nexport interface InputProps\n extends React.InputHTMLAttributes<HTMLInputElement> {\n state?: 'default' | 'error' | 'success';\n}\n\nconst Input: React.FC<InputProps> = ({\n state = 'default',\n className = '',\n disabled = false,\n ...props\n}) => {\n const classes = classnames('input', className, {\n error: state === 'error',\n success: state === 'success',\n });\n\n return (\n <input\n className={classes}\n disabled={disabled}\n {...props}\n />\n );\n};\n\nexport default Input;","import React from 'react';\n// import './textarea.css';\nimport { classnames } from '../helpers/classnames';\n\nexport interface TextareaProps\n extends React.TextareaHTMLAttributes<HTMLTextAreaElement> {\n state?: 'default' | 'error' | 'success';\n}\n\nconst Textarea: React.FC<TextareaProps> = ({\n state = 'default',\n className = '',\n disabled = false,\n ...props\n}) => {\n const classes = classnames('textarea', className, {\n error: state === 'error',\n success: state === 'success',\n });\n\n return (\n <textarea\n className={classes}\n disabled={disabled}\n {...props}\n />\n );\n};\n\nexport default Textarea;","import React from 'react';\n//import './select.css';\nimport { classnames } from '../helpers/classnames';\n\nexport interface SelectProps\n extends React.SelectHTMLAttributes<HTMLSelectElement> {\n state?: 'default' | 'error' | 'success';\n}\n\nconst Select: React.FC<SelectProps> = ({\n state = 'default',\n className = '',\n disabled = false,\n children,\n ...props\n}) => {\n const classes = classnames('select', className, {\n error: state === 'error',\n success: state === 'success',\n });\n\n return (\n <div className={classes}>\n <select\n className=\"select__field\"\n disabled={disabled}\n {...props}\n >\n {children}\n </select>\n </div>\n );\n};\n\nexport default Select;","import React, {\n cloneElement,\n useEffect,\n useRef,\n useState,\n} from 'react';\nimport './dropdown.css';\nimport { classnames } from '../helpers/classnames';\n\nexport interface DropdownOption {\n value: string;\n label: string;\n disabled?: boolean;\n}\n\ntype DropdownTriggerProps = {\n className?: string;\n onClick?: (event: React.MouseEvent) => void;\n 'aria-haspopup'?: string;\n 'aria-expanded'?: boolean;\n};\n\ntype DropdownTriggerElement =\n React.ReactElement<DropdownTriggerProps>;\n\nexport interface DropdownProps\n extends Omit<React.HTMLAttributes<HTMLDivElement>, 'onChange'> {\n options: DropdownOption[];\n value?: string;\n defaultValue?: string;\n label?: string;\n align?: 'top-start' | 'top-end' | 'bottom-start' | 'bottom-end';\n trigger: DropdownTriggerElement;\n onChange?: (value: string) => void;\n}\n\nconst Dropdown: React.FC<DropdownProps> = ({\n options,\n value,\n defaultValue,\n label = 'Dropdown',\n align = 'bottom-start',\n trigger,\n onChange,\n className = '',\n ...props\n}) => {\n const dropdownRef = useRef<HTMLDivElement>(null);\n\n const [isOpen, setIsOpen] = useState(false);\n const [internalValue, setInternalValue] = useState(defaultValue);\n\n const selectedValue =\n value ?? internalValue;\n\n const classes = classnames('dropdown', className, {\n 'dropdown--open': isOpen,\n 'dropdown--top-start': align === 'top-start',\n 'dropdown--top-end': align === 'top-end',\n 'dropdown--bottom-start': align === 'bottom-start',\n 'dropdown--bottom-end': align === 'bottom-end',\n });\n\n const triggerElement =\n trigger as DropdownTriggerElement;\n\n const triggerClasses = classnames(\n 'dropdown__trigger',\n triggerElement.props.className,\n );\n\n const resolvedTrigger = cloneElement(triggerElement, {\n className: triggerClasses,\n 'aria-haspopup': 'menu',\n 'aria-expanded': isOpen,\n onClick: (event: React.MouseEvent) => {\n triggerElement.props.onClick?.(event);\n\n setIsOpen((currentValue) => !currentValue);\n },\n });\n\n const handleOptionClick = (option: DropdownOption) => {\n if (option.disabled) {\n return;\n }\n\n if (value === undefined) {\n setInternalValue(option.value);\n }\n\n onChange?.(option.value);\n setIsOpen(false);\n };\n\n useEffect(() => {\n if (!isOpen) {\n return;\n }\n\n const handleDocumentClick = (event: MouseEvent) => {\n const dropdown = dropdownRef.current;\n\n if (!dropdown || dropdown.contains(event.target as Node)) {\n return;\n }\n\n setIsOpen(false);\n };\n\n const handleDocumentKeyDown = (event: KeyboardEvent) => {\n if (event.key === 'Escape') {\n setIsOpen(false);\n }\n };\n\n document.addEventListener('mousedown', handleDocumentClick);\n document.addEventListener('keydown', handleDocumentKeyDown);\n\n return () => {\n document.removeEventListener('mousedown', handleDocumentClick);\n document.removeEventListener('keydown', handleDocumentKeyDown);\n };\n }, [isOpen]);\n\n return (\n <div\n ref={dropdownRef}\n className={classes}\n {...props}\n >\n {resolvedTrigger}\n\n {isOpen && (\n <div\n className=\"dropdown__menu\"\n role=\"menu\"\n aria-label={label}\n >\n {options.map((option) => {\n const isSelected =\n option.value === selectedValue;\n\n const itemClasses = classnames('dropdown__item', {\n 'dropdown__item--selected': isSelected,\n 'dropdown__item--disabled': option.disabled,\n });\n\n return (\n <button\n key={option.value}\n className={itemClasses}\n type=\"button\"\n role=\"menuitemradio\"\n aria-checked={isSelected}\n aria-disabled={option.disabled}\n disabled={option.disabled}\n onClick={() => handleOptionClick(option)}\n >\n {option.label}\n </button>\n );\n })}\n </div>\n )}\n </div>\n );\n};\n\nexport default Dropdown;","import React from 'react';\n//import './checkbox.css';\nimport { classnames } from '../helpers/classnames';\n\nexport interface CheckboxProps\n extends React.InputHTMLAttributes<HTMLInputElement> {\n label?: React.ReactNode;\n}\n\nconst Checkbox: React.FC<CheckboxProps> = ({\n label,\n className = '',\n disabled = false,\n ...props\n}) => {\n const classes = classnames(\n 'checkbox',\n className,\n {\n 'checkbox--disabled': disabled,\n }\n );\n\n return (\n <label className={classes}>\n <input\n className=\"checkbox__input\"\n type=\"checkbox\"\n disabled={disabled}\n {...props}\n />\n {label && <span className=\"checkbox__label\">{label}</span>}\n </label>\n );\n};\n\nexport default Checkbox;","import React from 'react';\n//import './radio.css';\nimport { classnames } from '../helpers/classnames';\n\nexport interface RadioProps\n extends React.InputHTMLAttributes<HTMLInputElement> {\n label?: React.ReactNode;\n}\n\nconst Radio: React.FC<RadioProps> = ({\n label,\n className = '',\n disabled = false,\n ...props\n}) => {\n const classes = classnames(\n 'radio',\n className,\n {\n 'radio--disabled': disabled,\n }\n );\n\n return (\n <label className={classes}>\n <input\n className=\"radio__input\"\n type=\"radio\"\n disabled={disabled}\n {...props}\n />\n {label && <span className=\"radio__label\">{label}</span>}\n </label>\n );\n};\n\nexport default Radio;","import React from 'react';\n//import './field.css';\nimport { classnames } from '../helpers/classnames';\n\nexport interface FieldProps {\n label?: React.ReactNode;\n hint?: React.ReactNode;\n error?: React.ReactNode;\n required?: boolean;\n disabled?: boolean;\n htmlFor?: string;\n className?: string;\n children: React.ReactNode;\n}\n\nconst Field: React.FC<FieldProps> = ({\n label,\n hint,\n error,\n required = false,\n disabled = false,\n htmlFor,\n className = '',\n children,\n}) => {\n const classes = classnames(\n 'field',\n className,\n {\n 'field--disabled': disabled,\n 'field--error': !!error,\n }\n );\n\n return (\n <div className={classes}>\n {label && (\n <label\n className=\"field__label\"\n htmlFor={htmlFor}\n >\n {label}\n {required && <span className=\"field__required\"> *</span>}\n </label>\n )}\n\n <div className=\"field__control\">\n {children}\n </div>\n\n {error ? (\n <div className=\"field__message field__message--error\">\n {error}\n </div>\n ) : hint ? (\n <div className=\"field__message\">\n {hint}\n </div>\n ) : null}\n </div>\n );\n};\n\nexport default Field;","import React from 'react';\nimport './menu.css';\nimport { classnames } from '../helpers/classnames';\n\nexport interface MenuItem {\n value: string;\n label: React.ReactNode;\n href?: string;\n disabled?: boolean;\n}\n\nexport interface MenuProps\n extends React.HTMLAttributes<HTMLElement> {\n items: MenuItem[];\n value?: string;\n defaultValue?: string;\n label?: string;\n onValueChange?: (value: string) => void;\n}\n\nfunction getInitialValue(\n value: string | undefined,\n defaultValue: string | undefined,\n items: MenuItem[],\n) {\n if (value !== undefined) {\n return value;\n }\n\n if (defaultValue !== undefined) {\n return defaultValue;\n }\n\n return items[0]?.value;\n}\n\nconst Menu: React.FC<MenuProps> = ({\n items,\n value,\n defaultValue,\n label = 'Menu',\n className = '',\n onValueChange,\n ...props\n}) => {\n const [internalValue, setInternalValue] = React.useState(\n getInitialValue(value, defaultValue, items),\n );\n\n const currentValue = value ?? internalValue;\n\n React.useEffect(() => {\n if (value !== undefined) {\n return;\n }\n\n setInternalValue(getInitialValue(value, defaultValue, items));\n }, [value, defaultValue, items]);\n\n const handleItemClick = (\n itemValue: string,\n disabled?: boolean,\n ) => {\n if (disabled) {\n return;\n }\n\n if (value === undefined) {\n setInternalValue(itemValue);\n }\n\n onValueChange?.(itemValue);\n };\n\n const classes = classnames('menu', className, {});\n\n return (\n <nav\n className={classes}\n aria-label={label}\n {...props}\n >\n <ul className=\"menu__list\">\n {items.map((item) => {\n const isActive = item.value === currentValue;\n\n const itemClasses = classnames('menu__control', {\n 'menu__control--active': isActive,\n 'menu__control--disabled': item.disabled,\n });\n\n return (\n <li\n key={item.value}\n className=\"menu__item\"\n >\n {item.href ? (\n <a\n className={itemClasses}\n href={item.href}\n aria-current={isActive ? 'page' : undefined}\n aria-disabled={item.disabled || undefined}\n onClick={(event) => {\n if (item.disabled) {\n event.preventDefault();\n return;\n }\n\n handleItemClick(item.value);\n }}\n >\n {item.label}\n </a>\n ) : (\n <button\n className={itemClasses}\n type=\"button\"\n disabled={item.disabled}\n onClick={() => handleItemClick(\n item.value,\n item.disabled,\n )}\n >\n {item.label}\n </button>\n )}\n </li>\n );\n })}\n </ul>\n </nav>\n );\n};\n\nexport default Menu;","import React from 'react';\nimport { classnames } from '../helpers/classnames';\nimport './tabs.css';\n\nexport interface TabsProps extends React.HTMLAttributes<HTMLDivElement> {}\n\nconst Tabs: React.FC<TabsProps> = ({\n className = '',\n children,\n ...props\n}) => {\n const classes = classnames('tabs', className);\n\n return (\n <div className={classes} {...props}>\n {children}\n </div>\n );\n};\n\nexport default Tabs;","import React, { useRef } from 'react';\nimport './progressbar.css';\nimport { classnames } from '../helpers/classnames';\n\nexport interface ProgressBarProps\n extends React.HTMLAttributes<HTMLDivElement> {\n mode?: 'player' | 'diagram' | 'level';\n value?: number;\n buffered?: number;\n max?: number;\n orientation?: 'horizontal' | 'vertical';\n step?: number;\n interactive?: boolean;\n label?: string;\n onValueChange?: (value: number) => void;\n onValueCommit?: (value: number) => void;\n}\n\nfunction getClampedValue(\n value: number,\n max: number,\n) {\n return Math.min(\n Math.max(value, 0),\n max,\n );\n}\n\nfunction getPercent(\n value: number,\n max: number,\n) {\n if (max <= 0) {\n return 0;\n }\n\n return (\n getClampedValue(value, max) /\n max\n ) * 100;\n}\n\nfunction getValueFromPointer(\n event: React.PointerEvent<HTMLDivElement>,\n track: HTMLDivElement,\n max: number,\n isVertical: boolean,\n) {\n const rect = track.getBoundingClientRect();\n\n if (isVertical) {\n const y =\n rect.bottom -\n event.clientY;\n\n const ratio =\n y / rect.height;\n\n return getClampedValue(\n ratio * max,\n max,\n );\n }\n\n const x =\n event.clientX -\n rect.left;\n\n const ratio =\n x / rect.width;\n\n return getClampedValue(\n ratio * max,\n max,\n );\n}\n\nfunction getNextKeyboardValue(\n key: string,\n value: number,\n max: number,\n step: number,\n) {\n if (\n key === 'ArrowRight' ||\n key === 'ArrowUp'\n ) {\n return getClampedValue(\n value + step,\n max,\n );\n }\n\n if (\n key === 'ArrowLeft' ||\n key === 'ArrowDown'\n ) {\n return getClampedValue(\n value - step,\n max,\n );\n }\n\n if (key === 'Home') {\n return 0;\n }\n\n if (key === 'End') {\n return max;\n }\n\n return value;\n}\n\nconst ProgressBar: React.FC<\n ProgressBarProps\n> = ({\n mode = 'player',\n value = 0,\n buffered = 0,\n max = 100,\n orientation = 'horizontal',\n step = 1,\n interactive,\n label = 'Progress',\n className = '',\n style,\n onValueChange,\n onValueCommit,\n ...props\n}) => {\n const trackRef =\n useRef<HTMLDivElement>(null);\n\n const safeValue =\n getClampedValue(\n value,\n max,\n );\n\n const valuePercent =\n getPercent(\n value,\n max,\n );\n\n const bufferedPercent =\n getPercent(\n buffered,\n max,\n );\n\n const isInteractive =\n interactive ??\n mode !== 'diagram';\n\n const isVertical =\n orientation ===\n 'vertical' ||\n mode === 'level';\n\n const hasBuffered =\n mode === 'player' &&\n buffered > value;\n\n const hasValue =\n mode === 'diagram';\n\n const classes =\n classnames(\n 'progressbar',\n className,\n {\n 'progressbar--vertical':\n isVertical,\n\n 'progressbar--level':\n mode === 'level',\n\n 'progressbar--interactive':\n isInteractive,\n },\n );\n\n const progressStyle = {\n ...style,\n '--progressbar-value':\n `${valuePercent}%`,\n '--progressbar-buffered':\n `${bufferedPercent}%`,\n '--progressbar-buffered-offset':\n `${valuePercent}%`,\n } as React.CSSProperties;\n\n const updateValueFromPointer = (\n event: React.PointerEvent<HTMLDivElement>,\n shouldCommit = false,\n ) => {\n const track =\n trackRef.current;\n\n if (\n !isInteractive ||\n !track\n ) {\n return;\n }\n\n const nextValue =\n getValueFromPointer(\n event,\n track,\n max,\n isVertical,\n );\n\n onValueChange?.(\n nextValue,\n );\n\n if (shouldCommit) {\n onValueCommit?.(\n nextValue,\n );\n }\n };\n\n const handlePointerDown = (\n event: React.PointerEvent<HTMLDivElement>,\n ) => {\n if (!isInteractive) {\n return;\n }\n\n event.currentTarget\n .setPointerCapture(\n event.pointerId,\n );\n\n updateValueFromPointer(\n event,\n );\n };\n\n const handlePointerMove = (\n event: React.PointerEvent<HTMLDivElement>,\n ) => {\n if (\n !isInteractive ||\n !event.currentTarget\n .hasPointerCapture(\n event.pointerId,\n )\n ) {\n return;\n }\n\n updateValueFromPointer(\n event,\n );\n };\n\n const handlePointerUp = (\n event: React.PointerEvent<HTMLDivElement>,\n ) => {\n if (!isInteractive) {\n return;\n }\n\n updateValueFromPointer(\n event,\n true,\n );\n\n event.currentTarget\n .releasePointerCapture(\n event.pointerId,\n );\n };\n\n const handleKeyDown = (\n event: React.KeyboardEvent<HTMLDivElement>,\n ) => {\n if (!isInteractive) {\n return;\n }\n\n const nextValue =\n getNextKeyboardValue(\n event.key,\n safeValue,\n max,\n step,\n );\n\n if (\n nextValue ===\n safeValue\n ) {\n return;\n }\n\n event.preventDefault();\n\n onValueChange?.(\n nextValue,\n );\n\n onValueCommit?.(\n nextValue,\n );\n };\n\n return (\n <div\n className={classes}\n role={\n isInteractive\n ? 'slider'\n : 'progressbar'\n }\n aria-label={label}\n aria-valuemin={0}\n aria-valuemax={max}\n aria-valuenow={safeValue}\n aria-orientation={\n isInteractive &&\n isVertical\n ? 'vertical'\n : undefined\n }\n tabIndex={\n isInteractive\n ? 0\n : undefined\n }\n style={progressStyle}\n onPointerDown={\n handlePointerDown\n }\n onPointerMove={\n handlePointerMove\n }\n onPointerUp={\n handlePointerUp\n }\n onKeyDown={\n handleKeyDown\n }\n {...props}\n >\n <div\n ref={trackRef}\n className=\"progressbar__track\"\n >\n <div className=\"progressbar__value\" />\n\n {hasBuffered && (\n <div className=\"progressbar__buffered\" />\n )}\n\n {hasValue && (\n <span className=\"progressbar__label\">\n {Math.round(\n valuePercent,\n )}\n %\n </span>\n )}\n </div>\n </div>\n );\n};\n\nexport default ProgressBar;","import React, { useEffect, useRef, useState } from 'react';\nimport Hls from 'hls.js';\n\nimport './video.css';\nimport { classnames } from '../helpers/classnames';\nimport ButtonIcon from '../button-icon';\nimport ProgressBar from '../progressbar';\nimport Dropdown, { type DropdownOption } from '../dropdown';\n\nexport interface VideoQuality {\n value: string;\n label: string;\n src?: string;\n disabled?: boolean;\n}\n\nexport interface VideoProgressState {\n currentTime: number;\n duration: number;\n completed: boolean;\n}\n\nexport interface VideoProps\n extends Omit<React.VideoHTMLAttributes<HTMLVideoElement>, 'controls' | 'src' | 'poster'> {\n src?: string;\n cover?: string;\n qualities?: VideoQuality[];\n defaultQuality?: string;\n label?: string;\n initialVolume?: number;\n initialMuted?: boolean;\n initialTime?: number;\n progressCommitIntervalSec?: number;\n onProgressCommit?: (state: VideoProgressState) => void;\n onQualityChange?: (quality: string) => void;\n}\n\nfunction getClampedValue(value: number, min: number, max: number) {\n return Math.min(Math.max(value, min), max);\n}\n\nfunction formatTime(value: number) {\n if (!Number.isFinite(value)) return '0:00';\n\n const minutes = Math.floor(value / 60);\n const seconds = Math.floor(value % 60);\n\n return `${minutes}:${String(seconds).padStart(2, '0')}`;\n}\n\nfunction getBufferedEnd(video: HTMLVideoElement) {\n if (video.buffered.length === 0) return 0;\n\n return video.buffered.end(video.buffered.length - 1);\n}\n\nfunction getVideoSource(src: string | undefined, qualities: VideoQuality[], selectedQuality: string) {\n const selectedQualityItem = qualities.find((quality) => quality.value === selectedQuality);\n\n return selectedQualityItem?.src ?? src;\n}\n\nfunction getQualityOptions(qualities: VideoQuality[]): DropdownOption[] {\n return qualities.map((quality) => ({\n value: quality.value,\n label: quality.label,\n disabled: quality.disabled,\n }));\n}\n\nfunction getVideoProgressState(\n video: HTMLVideoElement,\n): VideoProgressState {\n const duration = video.duration || 0;\n const currentTime = video.currentTime || 0;\n\n return {\n currentTime,\n duration,\n\n completed:\n video.ended ||\n (\n duration > 0 &&\n currentTime >= duration * 0.9\n ),\n };\n}\n\nconst defaultQualities: VideoQuality[] = [];\n\nconst Video: React.FC<VideoProps> = ({\n src,\n cover,\n qualities = defaultQualities,\n defaultQuality = '',\n label = 'Video player',\n initialVolume = 1,\n initialMuted = false,\n initialTime = 0,\n progressCommitIntervalSec = 15,\n className = '',\n autoPlay,\n loop,\n muted,\n playsInline = true,\n preload = 'metadata',\n onQualityChange,\n onPlay,\n onPause,\n onEnded,\n onLoadedMetadata,\n onTimeUpdate,\n onProgress,\n onVolumeChange,\n onProgressCommit,\n children,\n ...props\n}) => {\n const videoRef = useRef<HTMLVideoElement>(null);\n\n const [isPlaying, setIsPlaying] = useState(false);\n const [isVolumeOpen, setIsVolumeOpen] = useState(false);\n const [selectedQuality, setSelectedQuality] = useState(defaultQuality);\n const [currentTime, setCurrentTime] = useState(0);\n const [duration, setDuration] = useState(0);\n const [buffered, setBuffered] = useState(0);\n const [volume, setVolume] = useState(initialVolume);\n const [isMuted, setIsMuted] = useState(muted ?? initialMuted);\n\n const hasAppliedInitialTimeRef = useRef(false);\n const lastProgressCommitAtRef = useRef(0);\n\n const videoSrc = getVideoSource(src, qualities, selectedQuality);\n const qualityOptions = getQualityOptions(qualities);\n const hasQualityOptions = qualityOptions.length > 0;\n\n useEffect(() => {\n const video = videoRef.current;\n\n hasAppliedInitialTimeRef.current = false;\n lastProgressCommitAtRef.current = 0;\n\n if (!video || !videoSrc) return;\n\n video.removeAttribute('src');\n video.load();\n\n if (video.canPlayType('application/vnd.apple.mpegurl')) {\n video.src = videoSrc;\n return;\n }\n\n if (!Hls.isSupported()) {\n video.src = videoSrc;\n return;\n }\n\n const hls = new Hls();\n\n hls.on(Hls.Events.ERROR, (_, data) => {\n console.error('HLS error', data);\n });\n\n hls.loadSource(videoSrc);\n hls.attachMedia(video);\n\n return () => {\n hls.destroy();\n };\n }, [videoSrc]);\n\n const hasStarted = currentTime > 0 || isPlaying;\n const hasControls = hasStarted;\n const hasVolume = isVolumeOpen;\n\n const classes = classnames('video', className, {\n 'video--with-controls': hasControls,\n 'video--with-volume': hasVolume,\n });\n\n const syncMediaState = () => {\n const video = videoRef.current;\n\n if (!video) return;\n\n setCurrentTime(video.currentTime);\n setDuration(video.duration || 0);\n setBuffered(getBufferedEnd(video));\n setVolume(video.volume);\n setIsMuted(video.muted);\n setIsPlaying(!video.paused);\n };\n\n const commitProgress = (\n video: HTMLVideoElement,\n ) => {\n if (!onProgressCommit) {\n return;\n }\n\n onProgressCommit(\n getVideoProgressState(video),\n );\n };\n\n const handlePlayToggle = async () => {\n const video = videoRef.current;\n\n if (!video) return;\n\n console.log('play click', {\n paused: video.paused,\n readyState: video.readyState,\n src: video.currentSrc,\n networkState: video.networkState,\n error: video.error,\n });\n\n if (video.paused) {\n try {\n await video.play();\n console.log('play success');\n } catch (error) {\n console.error('play failed', error);\n }\n\n return;\n }\n\n video.pause();\n };\n\n const handleSeek = (nextValue: number) => {\n const video = videoRef.current;\n\n if (!video) return;\n\n video.currentTime = getClampedValue(nextValue, 0, duration);\n setCurrentTime(video.currentTime);\n };\n\n const handleVolumeChange = (nextValue: number) => {\n const video = videoRef.current;\n\n if (!video) return;\n\n const nextVolume = getClampedValue(nextValue, 0, 1);\n\n video.volume = nextVolume;\n video.muted = nextVolume === 0;\n\n setVolume(nextVolume);\n setIsMuted(video.muted);\n };\n\n const handleSoundToggle = () => {\n const video = videoRef.current;\n\n if (!video) return;\n\n video.muted = !video.muted;\n setIsMuted(video.muted);\n };\n\n const handleFullscreen = () => {\n const video = videoRef.current;\n\n if (!video) return;\n\n video.requestFullscreen?.();\n };\n\n const handleQualityChange = (quality: string) => {\n setSelectedQuality(quality);\n onQualityChange?.(quality);\n };\n\n const handleLoadedMetadata = (\n event: React.SyntheticEvent<HTMLVideoElement>,\n ) => {\n const video = event.currentTarget;\n\n if (\n !hasAppliedInitialTimeRef.current &&\n initialTime > 0\n ) {\n video.currentTime = Math.min(\n initialTime,\n video.duration || initialTime,\n );\n\n hasAppliedInitialTimeRef.current = true;\n }\n\n syncMediaState();\n\n onLoadedMetadata?.(event);\n };\n\n const handleTimeUpdate = (\n event: React.SyntheticEvent<HTMLVideoElement>,\n ) => {\n const video = event.currentTarget;\n\n syncMediaState();\n\n if (\n onProgressCommit &&\n (\n video.currentTime -\n lastProgressCommitAtRef.current\n ) >= progressCommitIntervalSec\n ) {\n lastProgressCommitAtRef.current =\n video.currentTime;\n\n commitProgress(video);\n }\n\n onTimeUpdate?.(event);\n };\n\n const handleProgress = (event: React.SyntheticEvent<HTMLVideoElement>) => {\n syncMediaState();\n onProgress?.(event);\n };\n\n const handlePlay = (event: React.SyntheticEvent<HTMLVideoElement>) => {\n setIsPlaying(true);\n onPlay?.(event);\n };\n\n const handlePause = (\n event: React.SyntheticEvent<HTMLVideoElement>,\n ) => {\n setIsPlaying(false);\n\n commitProgress(event.currentTarget);\n\n onPause?.(event);\n };\n\n const handleEnded = (\n event: React.SyntheticEvent<HTMLVideoElement>,\n ) => {\n syncMediaState();\n\n commitProgress(event.currentTarget);\n\n onEnded?.(event);\n };\n\n const handleNativeVolumeChange = (event: React.SyntheticEvent<HTMLVideoElement>) => {\n syncMediaState();\n onVolumeChange?.(event);\n };\n\n return (\n <div className={classes} aria-label={label}>\n <div className=\"video__surface\">\n {cover && !hasStarted ? (\n <img\n className=\"video__cover\"\n src={cover}\n alt=\"\"\n aria-hidden=\"true\"\n />\n ) : null}\n\n <video\n {...props}\n ref={videoRef}\n className=\"video__media\"\n poster={cover}\n autoPlay={autoPlay}\n loop={loop}\n muted={isMuted}\n playsInline={playsInline}\n preload={preload}\n controls={false}\n onLoadedMetadata={handleLoadedMetadata}\n onTimeUpdate={handleTimeUpdate}\n onProgress={handleProgress}\n onPlay={handlePlay}\n onPause={handlePause}\n onEnded={handleEnded}\n onVolumeChange={handleNativeVolumeChange}\n >\n {children}\n </video>\n\n {!hasStarted && (\n <ButtonIcon\n className=\"video__main-action\"\n icon=\"play\"\n label=\"Play video\"\n onClick={handlePlayToggle}\n />\n )}\n </div>\n\n {hasControls && (\n <div className=\"video__controls\">\n <ButtonIcon\n icon={isPlaying ? 'pause' : 'play'}\n label={isPlaying ? 'Pause video' : 'Play video'}\n onClick={handlePlayToggle}\n />\n\n <div className=\"video__time\">{formatTime(currentTime)}</div>\n\n <ProgressBar\n className=\"video__progress\"\n mode=\"player\"\n value={currentTime}\n buffered={buffered}\n max={duration || 1}\n step={1}\n label=\"Video progress\"\n onValueChange={handleSeek}\n />\n\n <ButtonIcon icon=\"fullscreen\" label=\"Fullscreen\" onClick={handleFullscreen} />\n\n <div className=\"video__sound-control\" onMouseLeave={() => setIsVolumeOpen(false)}>\n <ButtonIcon\n icon={isMuted ? 'sound-off' : 'sound'}\n label={isMuted ? 'Unmute video' : 'Mute video'}\n onClick={handleSoundToggle}\n onMouseEnter={() => setIsVolumeOpen(true)}\n onFocus={() => setIsVolumeOpen(true)}\n />\n\n {hasVolume && (\n <div className=\"video__volume\">\n <ProgressBar\n mode=\"level\"\n value={isMuted ? 0 : volume}\n max={1}\n step={0.05}\n label=\"Volume\"\n onValueChange={handleVolumeChange}\n />\n </div>\n )}\n </div>\n\n {hasQualityOptions && (\n <Dropdown\n align=\"top-end\"\n value={selectedQuality}\n options={qualityOptions}\n label=\"Video quality\"\n onChange={handleQualityChange}\n trigger={<ButtonIcon icon=\"settings\" label=\"Video quality\" />}\n />\n )}\n </div>\n )}\n </div>\n );\n};\n\nexport default Video;","import React from 'react';\n//import './search.css';\nimport { classnames } from '../helpers/classnames';\n\nexport interface SearchProps\n extends React.HTMLAttributes<HTMLElement> {\n state?: 'default' | 'error' | 'success';\n}\n\nconst Search: React.FC<SearchProps> = ({\n state = 'default',\n className = '',\n children,\n// disabled = false,\n ...props\n}) => {\n const classes = classnames('search', className, {\n error: state === 'error',\n success: state === 'success',\n });\n\n return (\n <div\n className={classes}\n// disabled={disabled}\n {...props}\n >\n {children}\n </div>\n );\n};\n\nexport default Search;","import React from 'react';\nimport './richedit.css';\nimport { classnames } from '../helpers/classnames';\n\nexport interface RichEditProps\n extends React.HTMLAttributes<HTMLElement> {\n state?: 'default' | 'error' | 'success';\n}\n\nconst RichEdit: React.FC<RichEditProps> = ({\n state = 'default',\n className = '',\n// disabled = false,\n ...props\n}) => {\n const classes = classnames('richedit', className, {\n error: state === 'error',\n success: state === 'success',\n });\n\n return (\n <div\n className={classes}\n// disabled={disabled}\n {...props}\n />\n );\n};\n\nexport default RichEdit;","import React from 'react';\n//import './tag.css';\nimport { classnames } from '../helpers/classnames';\n\nexport interface TagProps\n extends React.HTMLAttributes<HTMLElement> {\n context?: 'success' | 'error' | 'warning';\n}\n\nconst Tag: React.FC<TagProps> = ({\n context = 'success',\n className = '',\n children,\n ...props\n}) => {\n const classes = classnames('tag', className, {\n [`tag--context-${context}`]: Boolean(context),\n });\n\n return (\n <div\n className={classes}\n {...props}\n >\n {children}\n </div>\n );\n};\n\nexport default Tag;\n","import React from 'react';\nimport './card.css';\nimport { classnames } from '../helpers/classnames';\n\nexport interface CardProps\n extends React.HTMLAttributes<HTMLElement> {\n state?: 'default';\n heading?: React.ReactNode;\n description?: React.ReactNode;\n actions?: React.ReactNode;\n}\n\nconst Card: React.FC<CardProps> = ({\n state = 'default',\n heading,\n description,\n actions,\n className = '',\n children,\n ...props\n}) => {\n const classes = classnames('card', className, {});\n\n return (\n <section\n className={classes}\n {...props}\n >\n {(heading || description) && (\n <div className=\"card__header\">\n {heading && (\n <h2 className=\"card__heading\">\n {heading}\n </h2>\n )}\n\n {description && (\n <p className=\"card__description\">\n {description}\n </p>\n )}\n </div>\n )}\n\n {children && (\n <div className=\"card__content\">\n {children}\n </div>\n )}\n\n {actions && (\n <div className=\"card__actions\">\n {actions}\n </div>\n )}\n </section>\n );\n};\n\nexport default Card;","import React from 'react';\nimport './panel.css';\nimport { classnames } from '../helpers/classnames';\n\nexport interface PanelProps\n extends React.HTMLAttributes<HTMLElement> {\n layout?: 'card' | 'transparent';\n heading?: React.ReactNode;\n description?: React.ReactNode;\n}\n\nconst Panel: React.FC<PanelProps> = ({\n layout = 'card',\n heading,\n description,\n className = '',\n children,\n ...props\n}) => {\n const classes = classnames('panel', className, {\n 'panel--transparent': layout === 'transparent',\n });\n\n return (\n <section\n className={classes}\n {...props}\n >\n {(heading || description) && (\n <div className=\"panel__header\">\n {heading && (\n <h2 className=\"panel__heading\">\n {heading}\n </h2>\n )}\n\n {description && (\n <p className=\"panel__description\">\n {description}\n </p>\n )}\n </div>\n )}\n\n {children && (\n <div className=\"panel__content\">\n {children}\n </div>\n )}\n </section>\n );\n};\n\nexport default Panel;","/* AUTO-GENERATED FILE. DO NOT EDIT MANUALLY. */\n\nexport const packageAssetUrls = {\n 'components/logo/logo-symbol.svg': new URL(\n 'assets/components/logo/logo-symbol.svg',\n import.meta.url,\n ).toString(),\n 'components/logo/logo-wordmark.svg': new URL(\n 'assets/components/logo/logo-wordmark.svg',\n import.meta.url,\n ).toString(),\n 'icons/sound-off.svg': new URL(\n 'assets/icons/sound-off.svg',\n import.meta.url,\n ).toString(),\n} as const;\n\nexport type PackageAssetKey = keyof typeof packageAssetUrls;\n\nexport const getPackageAssetUrl = (assetKey: PackageAssetKey): string =>\n packageAssetUrls[assetKey];\n","import React from 'react';\nimport './logo.css';\nimport { classnames } from '../helpers/classnames';\n\nimport { getPackageAssetUrl } from '../../assets/registry';\n\nexport interface LogoProps\n extends React.HTMLAttributes<HTMLDivElement> {\n mode?: 'full' | 'symbol';\n label?: string;\n}\n\nconst logoUrls = {\n symbol: getPackageAssetUrl('components/logo/logo-symbol.svg'),\n wordmark: getPackageAssetUrl('components/logo/logo-wordmark.svg'),\n} as const;\n\nconst Logo: React.FC<LogoProps> = ({\n mode = 'full',\n label = 'Паттерны дизайн-менеджмента',\n className = '',\n ...props\n}) => {\n const classes = classnames('logo', className, {\n 'logo--symbol': mode === 'symbol',\n });\n\n return (\n <div\n className={classes}\n aria-label={label}\n {...props}\n >\n <img\n className=\"logo__symbol\"\n src={logoUrls.symbol}\n alt=\"\"\n aria-hidden=\"true\"\n />\n\n {mode === 'full' && (\n <img\n className=\"logo__wordmark\"\n src={logoUrls.wordmark}\n alt=\"\"\n aria-hidden=\"true\"\n />\n )}\n </div>\n );\n};\n\nexport default Logo;","import React from 'react';\nimport './avatar.css';\nimport { classnames } from '../helpers/classnames';\n\nexport interface AvatarBaseProps\n extends React.HTMLAttributes<HTMLDivElement> {\n src?: string;\n alt?: string;\n initials?: string;\n}\n\ntype AvatarStaticProps =\n AvatarBaseProps &\n React.HTMLAttributes<HTMLDivElement> & {\n onClick?: undefined;\n };\n\ntype AvatarButtonProps =\n AvatarBaseProps &\n React.ButtonHTMLAttributes<HTMLButtonElement> & {\n onClick: React.MouseEventHandler<HTMLButtonElement>;\n };\n\nexport type AvatarProps =\n | AvatarStaticProps\n | AvatarButtonProps;\n\nconst Avatar: React.FC<AvatarProps> = ({\n src,\n alt = '',\n initials,\n className = '',\n onClick,\n ...props\n}) => {\n const isInteractive = !!onClick;\n\n const classes = classnames('avatar', className, {\n 'avatar--button': isInteractive,\n });\n\n const content = src ? (\n <img\n className=\"avatar__image\"\n src={src}\n alt={alt}\n />\n ) : (\n <span className=\"avatar__initials\">\n {initials}\n </span>\n );\n\n if (isInteractive) {\n return (\n <button\n className={classes}\n type=\"button\"\n aria-label={props['aria-label'] ?? alt}\n onClick={onClick}\n {...props as React.ButtonHTMLAttributes<HTMLButtonElement>}\n >\n {content}\n </button>\n );\n }\n\n return (\n <div\n className={classes}\n aria-label={alt}\n {...props as React.HTMLAttributes<HTMLDivElement>}\n >\n {content}\n </div>\n );\n};\n\nexport default Avatar;","import React from 'react';\nimport './header.css';\nimport { classnames } from '../../components/helpers/classnames';\n\nexport interface HeaderProps\n extends React.HTMLAttributes<HTMLElement> {\n logo?: React.ReactNode;\n menu?: React.ReactNode;\n avatar?: React.ReactNode;\n}\n\nconst Header: React.FC<HeaderProps> = ({\n logo,\n menu,\n avatar,\n className = '',\n children,\n ...props\n}) => {\n const classes = classnames('header', className, {});\n\n return (\n <header\n className=\"header\"\n {...props}\n >\n <div className=\"header__logo\">\n {logo}\n </div>\n\n {(menu || children) && (\n <div className=\"header__menu\">\n {menu || children}\n </div>\n )}\n\n <div className=\"header__avatar\">\n {avatar}\n </div>\n </header>\n );\n};\n\nexport default Header;","import React from 'react';\nimport './footer.css';\n\nexport interface FooterProps extends React.HTMLAttributes<HTMLElement> {\n copyright?: React.ReactNode;\n links?: React.ReactNode;\n secondaryLinks?: React.ReactNode;\n}\n\nconst Footer: React.FC<FooterProps> = ({\n copyright,\n links,\n secondaryLinks,\n children,\n ...props\n}) => {\n return (\n <footer className=\"footer\" {...props}>\n {copyright && (\n <div className=\"footer__copyright\">\n {copyright}\n </div>\n )}\n\n {(links || children) && (\n <div className=\"footer__links\">\n {links || children}\n </div>\n )}\n\n {secondaryLinks && (\n <div className=\"footer__links footer__links--secondary\">\n {secondaryLinks}\n </div>\n )}\n </footer>\n );\n};\n\nexport default Footer;","import React from 'react';\nimport './screen-header.css';\n\nexport interface ScreenHeaderProps\n extends Omit<React.HTMLAttributes<HTMLElement>, 'title'> {\n eyebrow?: React.ReactNode;\n title?: React.ReactNode;\n description?: React.ReactNode;\n tabs?: React.ReactNode;\n}\n\nconst ScreenHeader: React.FC<ScreenHeaderProps> = ({\n eyebrow,\n title,\n description,\n tabs,\n children,\n ...props\n}) => {\n return (\n <section\n className=\"screen-header\"\n {...props}\n >\n <div className=\"screen-header__heading\">\n {eyebrow && (\n <p className=\"screen-header__section\">\n {eyebrow}\n </p>\n )}\n\n {title && (\n <h1 className=\"screen-header__title\">\n {title}\n </h1>\n )}\n\n {description && (\n <p className=\"screen-header__description\">\n {description}\n </p>\n )}\n </div>\n\n {(tabs || children) && (\n <div className=\"screen-header__tabs\">\n {tabs || children}\n </div>\n )}\n </section>\n );\n};\n\nexport default ScreenHeader;","import React from 'react';\nimport './foundation.css';\nimport { classnames } from '../../components/helpers/classnames';\n\nexport type LayoutFoundationWidth =\n | 'narrow'\n | 'default'\n | 'wide'\n | 'full';\n\nexport interface LayoutFoundationProps\n extends React.HTMLAttributes<HTMLDivElement> {\n width?: LayoutFoundationWidth;\n}\n\nconst LayoutFoundation: React.FC<LayoutFoundationProps> = ({\n width = 'default',\n className = '',\n children,\n ...props\n}) => {\n const classes = classnames('layout-foundation', className, {\n 'layout-foundation--narrow': width === 'narrow',\n 'layout-foundation--wide': width === 'wide',\n 'layout-foundation--full': width === 'full',\n });\n\n return (\n <div\n className={classes}\n {...props}\n >\n <div className=\"layout-foundation__grid\">\n {children}\n </div>\n </div>\n );\n};\n\nexport default LayoutFoundation;","import React from 'react';\nimport LayoutFoundation, {\n type LayoutFoundationWidth,\n} from '../foundation';\nimport './base.css';\n\nexport interface LayoutBaseProps\n extends React.HTMLAttributes<HTMLDivElement> {\n width?: LayoutFoundationWidth;\n header?: React.ReactNode;\n footer?: React.ReactNode;\n}\n\nconst LayoutBase: React.FC<LayoutBaseProps> = ({\n width = 'default',\n header,\n footer,\n children,\n className = '',\n ...props\n}) => {\n return (\n <LayoutFoundation\n width={width}\n className={className}\n {...props}\n >\n {header && (\n <div className=\"layout-base__header\">\n {header}\n </div>\n )}\n\n <main className=\"layout-base__main\">\n {children}\n </main>\n\n {footer && (\n <div className=\"layout-base__footer\">\n {footer}\n </div>\n )}\n </LayoutFoundation>\n );\n};\n\nexport default LayoutBase;","import React from 'react';\nimport LayoutFoundation, {\n type LayoutFoundationWidth,\n} from '../foundation';\nimport './sidebar.css';\n\nexport interface LayoutSidebarProps\n extends React.HTMLAttributes<HTMLDivElement> {\n width?: LayoutFoundationWidth;\n header?: React.ReactNode;\n screenHeader?: React.ReactNode;\n sidebar?: React.ReactNode;\n footer?: React.ReactNode;\n}\n\nconst LayoutSidebar: React.FC<LayoutSidebarProps> = ({\n width = 'wide',\n header,\n screenHeader,\n sidebar,\n footer,\n children,\n className = '',\n ...props\n}) => {\n return (\n <LayoutFoundation\n width={width}\n className={className}\n {...props}\n >\n {header && (\n <div className=\"layout-sidebar__header\">\n {header}\n </div>\n )}\n\n {screenHeader && (\n <div className=\"layout-sidebar__screen-header\">\n {screenHeader}\n </div>\n )}\n\n <div className=\"layout-sidebar__body\">\n <main className=\"layout-sidebar__main\">\n {children}\n </main>\n\n {sidebar && (\n <aside className=\"layout-sidebar__side\">\n {sidebar}\n </aside>\n )}\n </div>\n\n {footer && (\n <div className=\"layout-sidebar__footer\">\n {footer}\n </div>\n )}\n </LayoutFoundation>\n );\n};\n\nexport default LayoutSidebar;","import React from 'react';\nimport './attach.css';\nimport { classnames } from '../helpers/classnames';\n\nexport interface AttachItem {\n id: string;\n name: string;\n url: string;\n mimeType?: string;\n sizeBytes?: number;\n}\n\nexport interface AttachProps\n extends React.HTMLAttributes<HTMLDivElement> {\n items: AttachItem[];\n onRemove?: (id: string) => void;\n removeLabel?: string;\n emptyLabel?: string;\n}\n\nfunction isImageAttach(item: AttachItem) {\n return item.mimeType?.startsWith('image/') ?? false;\n}\n\nfunction formatFileSize(sizeBytes?: number) {\n if (sizeBytes === undefined) {\n return 'Size unknown';\n }\n\n if (sizeBytes < 1024) {\n return `${sizeBytes} B`;\n }\n\n if (sizeBytes < 1024 * 1024) {\n return `${Math.round(sizeBytes / 1024)} KB`;\n }\n\n return `${(sizeBytes / 1024 / 1024).toFixed(1)} MB`;\n}\n\nconst Attach: React.FC<AttachProps> = ({\n items,\n onRemove,\n removeLabel = 'Удалить',\n emptyLabel,\n className = '',\n ...props\n}) => {\n if (items.length === 0) {\n return null;\n }\n\n const classes = classnames('attach', className, {});\n\n return (\n <div\n className={classes}\n {...props}\n >\n <ul className=\"attach__list\">\n {items.map((item) => {\n const isImage = isImageAttach(item);\n\n return (\n <li\n key={item.id}\n className=\"attach__item\"\n >\n <a\n className=\"attach__link\"\n href={item.url}\n target=\"_blank\"\n rel=\"noreferrer\"\n >\n {isImage ? (\n <img\n className=\"attach__preview\"\n src={item.url}\n alt={item.name}\n />\n ) : (\n <span className=\"attach__file\">\n <span className=\"attach__name\">\n {item.name}\n </span>\n\n <span className=\"attach__size\">\n {formatFileSize(item.sizeBytes)}\n </span>\n </span>\n )}\n </a>\n\n {onRemove && (\n <button\n className=\"attach__remove\"\n type=\"button\"\n aria-label={`${removeLabel} файл ${item.name}`}\n onClick={() => onRemove(item.id)}\n >\n {removeLabel}\n </button>\n )}\n </li>\n );\n })}\n </ul>\n </div>\n );\n};\n\nexport default Attach;"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "jvetrau-ds",
3
- "version": "0.1.13",
3
+ "version": "0.1.14",
4
4
  "description": "Multi-brand React design system with semantic tokens",
5
5
  "license": "UNLICENSED",
6
6
  "type": "module",
@@ -1,20 +0,0 @@
1
- <svg width="41" height="41" viewBox="0 0 41 41" fill="none" xmlns="http://www.w3.org/2000/svg">
2
- <mask id="mask0_206_111" style="mask-type:alpha" maskUnits="userSpaceOnUse" x="0" y="0" width="41" height="41">
3
- <circle cx="20.5" cy="20.5" r="20.5" fill="#C4C4C4"/>
4
- </mask>
5
- <g mask="url(#mask0_206_111)">
6
- <rect x="-8.84375" y="-4.01953" width="49.8431" height="65.1176" fill="#F9EC0E"/>
7
- </g>
8
- <g clip-path="url(#clip0_206_111)">
9
- <path d="M9.45752 20.996L27.8217 15.2792C28.816 14.9697 29.9125 15.5144 29.9125 16.3179V25.6741C29.9125 26.4776 28.816 27.0223 27.8217 26.7127L9.45752 20.996Z" fill="white" fill-opacity="0.06"/>
10
- <path d="M17.1362 15.9835C18.1138 17.5253 18.6423 19.2392 18.6787 20.9851C18.715 22.731 18.2581 24.4594 17.3453 26.0288L16.1593 25.5437C16.9809 24.1312 17.3921 22.5757 17.3594 21.0044C17.3267 19.4331 16.851 17.8906 15.9711 16.503L17.1362 15.9835Z" fill="#1F1F1F"/>
11
- <path d="M22.0635 13.7859C23.4547 15.9799 24.2068 18.4188 24.2585 20.9033C24.3102 23.3878 23.66 25.8472 22.3611 28.0806L21.1797 27.5974C22.3878 25.5204 22.9925 23.2331 22.9444 20.9225C22.8963 18.612 22.1968 16.3437 20.903 14.3033L22.0635 13.7859Z" fill="#1F1F1F"/>
12
- <path d="M27.5903 11.3217C29.4451 14.2471 30.448 17.499 30.517 20.8116C30.5859 24.1243 29.719 27.4036 27.987 30.3814L26.862 29.9212C28.5073 27.0923 29.3309 23.977 29.2654 20.83C29.1999 17.6829 28.2471 14.5936 26.4851 11.8145L27.5903 11.3217Z" fill="#1F1F1F"/>
13
- <path d="M13.3274 20.9965C13.3274 22.0651 12.4611 22.9314 11.3925 22.9314C10.3238 22.9314 9.45752 22.0651 9.45752 20.9965C9.45752 19.9278 10.3238 19.0615 11.3925 19.0615C12.4611 19.0615 13.3274 19.9278 13.3274 20.9965Z" fill="#1F1F1F"/>
14
- </g>
15
- <defs>
16
- <clipPath id="clip0_206_111">
17
- <rect width="22.4045" height="19.3493" fill="white" transform="translate(9.45752 11.3213)"/>
18
- </clipPath>
19
- </defs>
20
- </svg>
@@ -1,3 +0,0 @@
1
- <svg width="99" height="45" viewBox="0 0 99 45" fill="none" xmlns="http://www.w3.org/2000/svg">
2
- <path d="M0.938 3.888H7.756V11H6.174V5.246H2.534V11H0.938V3.888ZM11.117 11.196C10.613 11.196 10.1697 11.112 9.78698 10.944C9.40432 10.776 9.10565 10.538 8.89098 10.23C8.68565 9.922 8.58298 9.56267 8.58298 9.152C8.58298 8.48933 8.85832 7.948 9.40898 7.528C9.96898 7.108 10.781 6.83733 11.845 6.716L13.609 6.52V6.24C13.609 5.82 13.4643 5.48867 13.175 5.246C12.895 5.00333 12.5077 4.882 12.013 4.882C11.5463 4.882 11.173 4.994 10.893 5.218C10.613 5.442 10.4777 5.75 10.487 6.142H8.91898C8.91898 5.638 9.04498 5.19467 9.29698 4.812C9.54898 4.42933 9.90832 4.13533 10.375 3.93C10.851 3.72467 11.4017 3.622 12.027 3.622C12.6617 3.622 13.217 3.734 13.693 3.958C14.1783 4.17267 14.547 4.48067 14.799 4.882C15.0603 5.274 15.191 5.74067 15.191 6.282V11H13.609V10.034H13.483C13.2403 10.4167 12.9183 10.706 12.517 10.902C12.1157 11.098 11.649 11.196 11.117 11.196ZM11.509 10.034C11.9103 10.034 12.2697 9.95933 12.587 9.81C12.9137 9.65133 13.1657 9.432 13.343 9.152C13.5203 8.872 13.609 8.55933 13.609 8.214V7.654L11.873 7.85C11.285 7.91533 10.8463 8.06 10.557 8.284C10.277 8.49867 10.137 8.76 10.137 9.068C10.137 9.36667 10.2583 9.60467 10.501 9.782C10.753 9.95 11.089 10.034 11.509 10.034ZM18.208 5.246H15.73V3.888H22.254V5.246H19.79V11H18.208V5.246ZM25.389 5.246H22.911V3.888H29.435V5.246H26.971V11H25.389V5.246ZM33.4833 11.252C32.746 11.252 32.0786 11.0887 31.4813 10.762C30.8933 10.426 30.4313 9.964 30.0953 9.376C29.7686 8.788 29.6053 8.116 29.6053 7.36C29.6053 6.64133 29.7686 6.002 30.0953 5.442C30.422 4.87267 30.8746 4.42933 31.4533 4.112C32.0413 3.78533 32.704 3.622 33.4413 3.622C34.1693 3.622 34.818 3.78533 35.3873 4.112C35.966 4.42933 36.414 4.87267 36.7313 5.442C37.058 6.01133 37.2213 6.65533 37.2213 7.374C37.2213 7.42067 37.2213 7.46733 37.2213 7.514C37.2213 7.56067 37.2213 7.612 37.2213 7.668C37.2213 7.71467 37.2166 7.76133 37.2073 7.808C37.2073 7.84533 37.2026 7.88733 37.1933 7.934H31.2433C31.2993 8.34467 31.43 8.704 31.6353 9.012C31.85 9.32 32.116 9.558 32.4333 9.726C32.76 9.88467 33.1286 9.964 33.5393 9.964C33.9966 9.964 34.412 9.86133 34.7853 9.656C35.1586 9.44133 35.4433 9.152 35.6393 8.788L36.9553 9.292C36.7873 9.69333 36.5306 10.0433 36.1853 10.342C35.8493 10.6407 35.4526 10.8647 34.9953 11.014C34.538 11.1727 34.034 11.252 33.4833 11.252ZM35.5693 6.758C35.5226 6.40333 35.3966 6.086 35.1913 5.806C34.986 5.526 34.7246 5.30667 34.4073 5.148C34.0993 4.98933 33.7586 4.91 33.3853 4.91C33.012 4.91 32.676 4.98933 32.3773 5.148C32.0786 5.29733 31.8313 5.512 31.6353 5.792C31.4393 6.072 31.3086 6.394 31.2433 6.758H35.5693ZM42.3433 3.622C43.0153 3.622 43.622 3.78533 44.1633 4.112C44.7047 4.43867 45.1293 4.89133 45.4373 5.47C45.7453 6.04867 45.8993 6.70667 45.8993 7.444C45.8993 8.18133 45.7407 8.83933 45.4233 9.418C45.1153 9.98733 44.6907 10.4353 44.1493 10.762C43.6173 11.0887 43.02 11.252 42.3573 11.252C41.8253 11.252 41.3493 11.154 40.9293 10.958C40.5187 10.7527 40.1873 10.454 39.9353 10.062H39.7953V14.22H38.1993V3.888H39.7953V4.854H39.9353C40.1873 4.462 40.5187 4.15867 40.9293 3.944C41.34 3.72933 41.8113 3.622 42.3433 3.622ZM42.0213 5.008C41.5827 5.008 41.186 5.11533 40.8313 5.33C40.486 5.54467 40.2153 5.83867 40.0193 6.212C39.8233 6.58533 39.7253 6.996 39.7253 7.444C39.7253 7.892 39.8233 8.30267 40.0193 8.676C40.2153 9.04933 40.486 9.34333 40.8313 9.558C41.186 9.76333 41.5827 9.866 42.0213 9.866C42.4507 9.866 42.838 9.76333 43.1833 9.558C43.538 9.34333 43.8133 9.04933 44.0093 8.676C44.2053 8.30267 44.3033 7.892 44.3033 7.444C44.3033 6.98667 44.2053 6.57133 44.0093 6.198C43.8133 5.82467 43.538 5.53533 43.1833 5.33C42.838 5.11533 42.4507 5.008 42.0213 5.008ZM46.8952 3.888H48.4912V6.73H52.0332V3.888H53.6152V11H52.0332V8.088H48.4912V11H46.8952V3.888ZM54.9348 3.888H56.5308V5.946H57.9448C58.5328 5.946 59.0461 6.05333 59.4848 6.268C59.9235 6.48267 60.2595 6.78133 60.4928 7.164C60.7261 7.53733 60.8428 7.96667 60.8428 8.452C60.8428 8.94667 60.7261 9.38533 60.4928 9.768C60.2595 10.1507 59.9235 10.454 59.4848 10.678C59.0461 10.8927 58.5328 11 57.9448 11H54.9348V3.888ZM57.8468 9.67C58.2855 9.67 58.6308 9.56267 58.8828 9.348C59.1441 9.13333 59.2748 8.844 59.2748 8.48C59.2748 8.116 59.1441 7.82667 58.8828 7.612C58.6215 7.388 58.2761 7.276 57.8468 7.276H56.5028V9.67H57.8468ZM61.7248 3.888H63.3068V11H61.7248V3.888ZM0.252 24.642H1.176C1.456 24.4647 1.666 24.1753 1.806 23.774C1.946 23.3633 2.058 22.78 2.142 22.024L2.506 18.888H7.854V24.642H9.03V28.1H7.686V26H1.61V28.1H0.252V24.642ZM6.258 24.642V20.246H3.85L3.556 22.668C3.50933 23.1253 3.42533 23.4893 3.304 23.76C3.18267 24.0307 3.00067 24.278 2.758 24.502V24.642H6.258ZM9.89362 18.888H11.4896V23.83H11.6296L14.9056 18.888H16.7116V26H15.1156V21.086H14.9756L11.7136 26H9.89362V18.888ZM20.9969 26.252C20.3529 26.252 19.7789 26.1353 19.2749 25.902C18.7803 25.6687 18.3929 25.3467 18.1129 24.936C17.8329 24.5253 17.6929 24.0493 17.6929 23.508H19.2329C19.2329 23.9373 19.3916 24.2873 19.7089 24.558C20.0356 24.8287 20.4509 24.964 20.9549 24.964C21.3936 24.964 21.7483 24.8613 22.0189 24.656C22.2896 24.4507 22.4249 24.1847 22.4249 23.858C22.4249 23.5593 22.3083 23.3307 22.0749 23.172C21.8416 23.0133 21.5289 22.934 21.1369 22.934H20.0449V21.744H21.1509C21.4869 21.744 21.7623 21.6647 21.9769 21.506C22.1916 21.3473 22.2989 21.142 22.2989 20.89C22.2989 20.61 22.1636 20.3767 21.8929 20.19C21.6316 20.0033 21.2909 19.91 20.8709 19.91C20.4136 19.91 20.0403 20.022 19.7509 20.246C19.4616 20.47 19.3169 20.7593 19.3169 21.114H17.8329C17.8329 20.638 17.9636 20.2133 18.2249 19.84C18.4863 19.4573 18.8503 19.1587 19.3169 18.944C19.7836 18.7293 20.3156 18.622 20.9129 18.622C21.4729 18.622 21.9676 18.7153 22.3969 18.902C22.8356 19.0793 23.1809 19.3313 23.4329 19.658C23.6849 19.9753 23.8109 20.344 23.8109 20.764C23.8109 21.1467 23.7129 21.4593 23.5169 21.702C23.3209 21.9447 23.0363 22.1173 22.6629 22.22V22.36C23.0829 22.4533 23.4096 22.6493 23.6429 22.948C23.8856 23.2467 24.0069 23.606 24.0069 24.026C24.0069 24.4647 23.8763 24.852 23.6149 25.188C23.3536 25.524 22.9943 25.7853 22.5369 25.972C22.0889 26.1587 21.5756 26.252 20.9969 26.252ZM26.8817 26.196C26.3777 26.196 25.9344 26.112 25.5517 25.944C25.1691 25.776 24.8704 25.538 24.6557 25.23C24.4504 24.922 24.3477 24.5627 24.3477 24.152C24.3477 23.4893 24.6231 22.948 25.1737 22.528C25.7337 22.108 26.5457 21.8373 27.6097 21.716L29.3737 21.52V21.24C29.3737 20.82 29.2291 20.4887 28.9398 20.246C28.6598 20.0033 28.2724 19.882 27.7778 19.882C27.3111 19.882 26.9377 19.994 26.6577 20.218C26.3777 20.442 26.2424 20.75 26.2517 21.142H24.6837C24.6837 20.638 24.8097 20.1947 25.0617 19.812C25.3137 19.4293 25.6731 19.1353 26.1397 18.93C26.6157 18.7247 27.1664 18.622 27.7917 18.622C28.4264 18.622 28.9818 18.734 29.4578 18.958C29.9431 19.1727 30.3117 19.4807 30.5638 19.882C30.8251 20.274 30.9557 20.7407 30.9557 21.282V26H29.3737V25.034H29.2477C29.0051 25.4167 28.6831 25.706 28.2817 25.902C27.8804 26.098 27.4137 26.196 26.8817 26.196ZM27.2737 25.034C27.6751 25.034 28.0344 24.9593 28.3517 24.81C28.6784 24.6513 28.9304 24.432 29.1077 24.152C29.2851 23.872 29.3737 23.5593 29.3737 23.214V22.654L27.6377 22.85C27.0497 22.9153 26.6111 23.06 26.3217 23.284C26.0417 23.4987 25.9017 23.76 25.9017 24.068C25.9017 24.3667 26.0231 24.6047 26.2657 24.782C26.5177 24.95 26.8537 25.034 27.2737 25.034ZM32.1668 18.888H33.7628V23.83H33.9028L37.1788 18.888H38.9848V26H37.3888V21.086H37.2488L33.9868 26H32.1668V18.888ZM35.5268 17.628C35.1441 17.628 34.8034 17.544 34.5048 17.376C34.2061 17.208 33.9728 16.9747 33.8048 16.676C33.6368 16.3773 33.5528 16.0413 33.5528 15.668H34.7148C34.7148 15.9573 34.7848 16.1953 34.9248 16.382C35.0741 16.5593 35.2748 16.648 35.5268 16.648C35.7694 16.648 35.9608 16.5593 36.1008 16.382C36.2501 16.1953 36.3248 15.9573 36.3248 15.668H37.5008C37.5008 16.0413 37.4121 16.3773 37.2348 16.676C37.0668 16.9747 36.8334 17.208 36.5348 17.376C36.2454 17.544 35.9094 17.628 35.5268 17.628ZM40.3021 18.888H41.8981V21.73H45.4401V18.888H47.0221V26H45.4401V23.088H41.8981V26H40.3021V18.888ZM48.0337 20.974H53.7737V22.332H48.0337V20.974ZM0.938 33.888H3.122L5.432 39.208H5.572L7.924 33.888H10.094V41H8.512V35.988H8.372L6.146 41H4.886L2.674 35.988H2.534V41H0.938V33.888ZM14.9672 41.252C14.2299 41.252 13.5625 41.0887 12.9652 40.762C12.3772 40.426 11.9152 39.964 11.5792 39.376C11.2525 38.788 11.0892 38.116 11.0892 37.36C11.0892 36.6413 11.2525 36.002 11.5792 35.442C11.9059 34.8727 12.3585 34.4293 12.9372 34.112C13.5252 33.7853 14.1879 33.622 14.9252 33.622C15.6532 33.622 16.3019 33.7853 16.8712 34.112C17.4499 34.4293 17.8979 34.8727 18.2152 35.442C18.5419 36.0113 18.7052 36.6553 18.7052 37.374C18.7052 37.4207 18.7052 37.4673 18.7052 37.514C18.7052 37.5607 18.7052 37.612 18.7052 37.668C18.7052 37.7147 18.7005 37.7613 18.6912 37.808C18.6912 37.8453 18.6865 37.8873 18.6772 37.934H12.7272C12.7832 38.3447 12.9139 38.704 13.1192 39.012C13.3339 39.32 13.5999 39.558 13.9172 39.726C14.2439 39.8847 14.6125 39.964 15.0232 39.964C15.4805 39.964 15.8959 39.8613 16.2692 39.656C16.6425 39.4413 16.9272 39.152 17.1232 38.788L18.4392 39.292C18.2712 39.6933 18.0145 40.0433 17.6692 40.342C17.3332 40.6407 16.9365 40.8647 16.4792 41.014C16.0219 41.1727 15.5179 41.252 14.9672 41.252ZM17.0532 36.758C17.0065 36.4033 16.8805 36.086 16.6752 35.806C16.4699 35.526 16.2085 35.3067 15.8912 35.148C15.5832 34.9893 15.2425 34.91 14.8692 34.91C14.4959 34.91 14.1599 34.9893 13.8612 35.148C13.5625 35.2973 13.3152 35.512 13.1192 35.792C12.9232 36.072 12.7925 36.394 12.7272 36.758H17.0532ZM19.6832 33.888H21.2792V36.73H24.8212V33.888H26.4032V41H24.8212V38.088H21.2792V41H19.6832V33.888ZM31.2788 41.252C30.5415 41.252 29.8742 41.0887 29.2768 40.762C28.6888 40.426 28.2268 39.964 27.8908 39.376C27.5642 38.788 27.4008 38.116 27.4008 37.36C27.4008 36.6413 27.5642 36.002 27.8908 35.442C28.2175 34.8727 28.6702 34.4293 29.2488 34.112C29.8368 33.7853 30.4995 33.622 31.2368 33.622C31.9648 33.622 32.6135 33.7853 33.1828 34.112C33.7615 34.4293 34.2095 34.8727 34.5268 35.442C34.8535 36.0113 35.0168 36.6553 35.0168 37.374C35.0168 37.4207 35.0168 37.4673 35.0168 37.514C35.0168 37.5607 35.0168 37.612 35.0168 37.668C35.0168 37.7147 35.0122 37.7613 35.0028 37.808C35.0028 37.8453 34.9982 37.8873 34.9888 37.934H29.0388C29.0948 38.3447 29.2255 38.704 29.4308 39.012C29.6455 39.32 29.9115 39.558 30.2288 39.726C30.5555 39.8847 30.9242 39.964 31.3348 39.964C31.7922 39.964 32.2075 39.8613 32.5808 39.656C32.9542 39.4413 33.2388 39.152 33.4348 38.788L34.7508 39.292C34.5828 39.6933 34.3262 40.0433 33.9808 40.342C33.6448 40.6407 33.2482 40.8647 32.7908 41.014C32.3335 41.1727 31.8295 41.252 31.2788 41.252ZM33.3648 36.758C33.3182 36.4033 33.1922 36.086 32.9868 35.806C32.7815 35.526 32.5202 35.3067 32.2028 35.148C31.8948 34.9893 31.5542 34.91 31.1808 34.91C30.8075 34.91 30.4715 34.9893 30.1728 35.148C29.8742 35.2973 29.6268 35.512 29.4308 35.792C29.2348 36.072 29.1042 36.394 29.0388 36.758H33.3648ZM35.1722 39.642H36.0962C36.3762 39.4647 36.5862 39.1753 36.7262 38.774C36.8662 38.3633 36.9782 37.78 37.0622 37.024L37.4262 33.888H42.7742V39.642H43.9502V43.1H42.6062V41H36.5302V43.1H35.1722V39.642ZM41.1782 39.642V35.246H38.7702L38.4762 37.668C38.4295 38.1253 38.3455 38.4893 38.2242 38.76C38.1028 39.0307 37.9208 39.278 37.6782 39.502V39.642H41.1782ZM46.8018 37.304L44.0158 33.888H45.8358L48.2018 36.842H48.3418V33.888H49.9238V36.842H50.0638L52.4438 33.888H54.2498L51.4638 37.304L54.3758 41H52.5138L50.0638 37.766H49.9238V41H48.3418V37.766H48.2018L45.7658 41H43.9038L46.8018 37.304ZM54.7538 33.888H56.9378L59.2478 39.208H59.3878L61.7398 33.888H63.9098V41H62.3278V35.988H62.1878L59.9618 41H58.7018L56.4898 35.988H56.3498V41H54.7538V33.888ZM68.783 41.252C68.0457 41.252 67.3783 41.0887 66.781 40.762C66.193 40.426 65.731 39.964 65.395 39.376C65.0683 38.788 64.905 38.116 64.905 37.36C64.905 36.6413 65.0683 36.002 65.395 35.442C65.7217 34.8727 66.1743 34.4293 66.753 34.112C67.341 33.7853 68.0037 33.622 68.741 33.622C69.469 33.622 70.1177 33.7853 70.687 34.112C71.2657 34.4293 71.7137 34.8727 72.031 35.442C72.3577 36.0113 72.521 36.6553 72.521 37.374C72.521 37.4207 72.521 37.4673 72.521 37.514C72.521 37.5607 72.521 37.612 72.521 37.668C72.521 37.7147 72.5163 37.7613 72.507 37.808C72.507 37.8453 72.5023 37.8873 72.493 37.934H66.543C66.599 38.3447 66.7297 38.704 66.935 39.012C67.1497 39.32 67.4157 39.558 67.733 39.726C68.0597 39.8847 68.4283 39.964 68.839 39.964C69.2963 39.964 69.7117 39.8613 70.085 39.656C70.4583 39.4413 70.743 39.152 70.939 38.788L72.255 39.292C72.087 39.6933 71.8303 40.0433 71.485 40.342C71.149 40.6407 70.7523 40.8647 70.295 41.014C69.8377 41.1727 69.3337 41.252 68.783 41.252ZM70.869 36.758C70.8223 36.4033 70.6963 36.086 70.491 35.806C70.2857 35.526 70.0243 35.3067 69.707 35.148C69.399 34.9893 69.0583 34.91 68.685 34.91C68.3117 34.91 67.9757 34.9893 67.677 35.148C67.3783 35.2973 67.131 35.512 66.935 35.792C66.739 36.072 66.6083 36.394 66.543 36.758H70.869ZM73.499 33.888H75.095V36.73H78.637V33.888H80.219V41H78.637V38.088H75.095V41H73.499V33.888ZM83.3446 35.246H80.8666V33.888H87.3906V35.246H84.9266V41H83.3446V35.246ZM90.0496 41.196C89.5456 41.196 89.1023 41.112 88.7196 40.944C88.337 40.776 88.0383 40.538 87.8236 40.23C87.6183 39.922 87.5156 39.5627 87.5156 39.152C87.5156 38.4893 87.791 37.948 88.3416 37.528C88.9016 37.108 89.7136 36.8373 90.7776 36.716L92.5416 36.52V36.24C92.5416 35.82 92.397 35.4887 92.1076 35.246C91.8276 35.0033 91.4403 34.882 90.9456 34.882C90.479 34.882 90.1056 34.994 89.8256 35.218C89.5456 35.442 89.4103 35.75 89.4196 36.142H87.8516C87.8516 35.638 87.9776 35.1947 88.2296 34.812C88.4816 34.4293 88.841 34.1353 89.3076 33.93C89.7836 33.7247 90.3343 33.622 90.9596 33.622C91.5943 33.622 92.1496 33.734 92.6256 33.958C93.111 34.1727 93.4796 34.4807 93.7316 34.882C93.993 35.274 94.1236 35.7407 94.1236 36.282V41H92.5416V40.034H92.4156C92.173 40.4167 91.851 40.706 91.4496 40.902C91.0483 41.098 90.5816 41.196 90.0496 41.196ZM90.4416 40.034C90.843 40.034 91.2023 39.9593 91.5196 39.81C91.8463 39.6513 92.0983 39.432 92.2756 39.152C92.453 38.872 92.5416 38.5593 92.5416 38.214V37.654L90.8056 37.85C90.2176 37.9153 89.779 38.06 89.4896 38.284C89.2096 38.4987 89.0696 38.76 89.0696 39.068C89.0696 39.3667 89.191 39.6047 89.4336 39.782C89.6856 39.95 90.0216 40.034 90.4416 40.034Z" fill="white"/>
3
- </svg>