@minimorphism/mds-ui 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/@Shaders/WidgetShader.glsl","../src/components/@Shaders/ShaderUtils.ts","../src/webgl/WebGLStore.ts","../src/webgl/WebGLCanvas.tsx","../src/components/Accordion/Accordion.module.scss","../src/components/Icons/Icons.tsx","../src/components/Accordion/Accordion.tsx","../src/components/Alert/Alert.module.scss","../src/components/Alert/Alert.tsx","../src/components/Autocomplete/Autocomplete.module.scss","../src/components/Autocomplete/Autocomplete.tsx","../src/components/Avatar/Avatar.module.scss","../src/components/Avatar/Avatar.tsx","../src/components/Badge/Badge.module.scss","../src/components/Badge/Badge.tsx","../src/components/Box/Box.module.scss","../src/components/Box/Box.tsx","../src/components/Button/Button.module.scss","../src/components/Button/Button.tsx","../src/components/ButtonGroup/ButtonGroup.module.scss","../src/components/ButtonGroup/ButtonGroup.tsx","../src/components/Card/Card.module.scss","../src/components/Card/Card.tsx","../src/components/Checkbox/Checkbox.module.scss","../src/components/Checkbox/Checkbox.tsx","../src/components/Chip/Chip.module.scss","../src/components/Chip/Chip.tsx","../src/components/Divider/Divider.module.scss","../src/components/Divider/Divider.tsx","../src/components/Grid/Grid.module.scss","../src/components/Grid/Grid.tsx","../src/components/Image/Image.tsx","../src/components/Link/Link.module.scss","../src/components/Link/Link.tsx","../src/components/Menu/Menu.module.scss","../src/components/Menu/Menu.tsx","../src/components/Modal/Modal.module.scss","../src/components/Modal/Modal.tsx","../src/components/Progress/Progress.module.scss","../src/components/Progress/Progress.tsx","../src/components/RadioGroup/RadioGroup.module.scss","../src/components/RadioGroup/RadioGroup.tsx","../src/components/Select/Select.module.scss","../src/components/Select/Select.tsx","../src/components/Slider/Slider.module.scss","../src/components/Slider/Slider.tsx","../src/components/Snackbar/Snackbar.module.scss","../src/components/Snackbar/Snackbar.tsx","../src/components/MobileModal/MobileModal.module.scss","../src/components/MobileModal/MobileModal.tsx","../src/components/Stack/Stack.module.scss","../src/components/Stack/Stack.tsx","../src/components/Switch/Switch.module.scss","../src/components/Switch/Switch.tsx","../src/components/Typography/Typography.module.scss","../src/components/Typography/Typography.tsx","../src/components/Input/Input.module.scss","../src/components/Input/Input.tsx"],"names":["mds-accordion","mds-accordion--white","mds-accordion--black","mds-accordion--anodized","mds-accordion-body-bg","mds-accordion-header","mds-accordion-title","mds-accordion-icon-box","mds-accordion-chevron","mds-accordion-chevron--open","mds-accordion-content-grid","mds-accordion-content-grid--open","mds-accordion-content-inner","mds-accordion-content","mds-accordion-body-bg--dark-gray","mds-accordion-body-bg--white","mds-accordion-body-bg--anodized","mds-accordion-icon-box--white","mds-accordion-icon-box--black","mds-accordion-icon-box--anodized","jsx","React","useState","useRef","useId","useEffect","jsxs","mds-alert-wrapper","mds-alert-wrapper--open","mds-alert","mds-alert--white","mds-alert--black","mds-alert--anodized","mds-alert-icon","mds-alert-icon--white","mds-alert-icon--black","mds-alert-icon--anodized","mds-alert-text","getIconVariant","useCallback","mds-autocomplete","mds-autocomplete--white","mds-autocomplete--black","mds-autocomplete--anodized","mds-autocomplete-body-bg","mds-autocomplete-header","mds-autocomplete-input","mds-autocomplete-icon-box","mds-autocomplete-chevron","mds-autocomplete-chevron--open","mds-autocomplete-content-grid","mds-autocomplete-content-grid--open","mds-autocomplete-content-inner","mds-autocomplete-content","mds-autocomplete-item","mds-autocomplete-item-box","mds-autocomplete-item-box--black","mds-autocomplete-item-box--anodized","mds-autocomplete-body-bg--dark-gray","mds-autocomplete-body-bg--anodized","mds-autocomplete-body-bg--white","getBodyVariant","mds-avatar","mds-avatar--white","mds-avatar--black","mds-avatar--anodized","mds-avatar__image","mds-avatar__placeholder","mds-avatar__head","mds-avatar__body","mds-badge-container","mds-badge-target","mds-badge","mds-badge--black","mds-badge--white","mds-badge--anodized","mds-badge-content","mds-box","mds-box--white","mds-box--black","mds-box--anodized","mds-box--dark-gray","mds-box--disabled","mds-box-content","mds-button","mds-button--white","mds-button--black","mds-button--anodized","mds-button--dark-gray","mds-button--disabled","mds-button--sm","mds-button--lg","mds-button-text","mds-button-group","mds-button-group--white","mds-button-group--black","mds-button-group--anodized","mds-button-group--dark-gray","mds-button-group__cell","mds-button-group__item","mds-button-group__separator","mds-button-group__active","mds-card","mds-card--white","mds-card--black","mds-card--dark-gray","mds-card--anodized","mds-card--disabled","mds-card-content","mds-checkbox-wrapper","mds-checkbox-input","mds-checkbox-visual","mds-checkbox-visual--black","mds-checkbox-visual--white","mds-chip","mds-chip--white","mds-chip--black","mds-chip--anodized","mds-chip-text","mds-chip--disabled","mds-divider","mds-grid","mds-grid--white","mds-grid--black","mds-grid--anodized","mds-grid--disabled","mds-link","mds-link--black-text","mds-link--black-pill","mds-link--white-text","mds-link--white-pill","mds-link-text","mds-menu-btn","mds-menu-icon","mds-menu-line","mds-menu-btn--black","mds-menu-btn--white","mds-modal-overlay","mds-modal-overlay--open","mds-modal-box","mds-modal-box--open","mds-modal-box--white","mds-modal-box--black","mds-modal-box--anodized","mds-modal-content","mds-progress","mds-progress--white","mds-progress--black","mds-progress--anodized","mds-progress--dark-gray","mds-progress-inner","mds-radio-wrapper","mds-radio-input","mds-radio-bg","mds-radio-bg--white","mds-radio-bg--black","mds-radio-bg--anodized","mds-radio-dot","mds-select","mds-select--white","mds-select--black","mds-select--anodized","mds-select-body-bg","mds-select-header","mds-select-header-content","mds-select-value","mds-select-value--placeholder","mds-select-icon-box","mds-select-chevron","mds-select-chevron--open","mds-select-content-grid","mds-select-content-grid--open","mds-select-content-inner","mds-select-content","mds-select-item","mds-select-item-text--selected","mds-select-item-box","mds-select-item-box--black","mds-select-item-box--anodized","mds-select-item-box--white","getBoxVariant","mds-slider","mds-slider--sm","mds-slider--md","mds-slider--lg","mds-slider--disabled","mds-slider-thumb","mds-slider--white","mds-slider--black","mds-slider--anodized","mds-slider--dark-gray","percent","mds-snackbar-wrapper","mds-snackbar-wrapper--open","mds-snackbar","mds-snackbar--white","mds-snackbar--black","mds-snackbar--anodized","mds-snackbar-icon","mds-snackbar-icon--white","mds-snackbar-icon--black","mds-snackbar-icon--anodized","mds-snackbar-text","mds-modal-wrapper","mds-modal-wrapper--open","gl-widget","mds-modal-bg","mds-modal-header","mds-modal-capsule","mds-modal-capsule-icon","mds-modal-title","mds-modal-close-btn","mds-stack","mds-stack--white","mds-stack--black","mds-stack--anodized","mds-stack--dark-gray","mds-stack-content","mds-switch","mds-switch--sm","mds-switch--md","mds-switch--lg","mds-switch--disabled","mds-switch__track","mds-switch__thumb","mds-switch--checked","mds-typography","mds-typography--h1","mds-typography--h2","mds-typography--h3","mds-typography--h4","mds-typography--h5","mds-typography--h6","mds-typography--subtitle1","mds-typography--subtitle2","mds-typography--body1","mds-typography--body2","mds-typography--caption","mds-typography--overline","mds-typography--button","mds-typography--link","mds-typography--color-black","mds-typography--color-white","mds-typography--color-grey","mds-typography--color-primary","mds-typography--color-error","mds-typography--color-inherit","mds-typography--weight-light","mds-typography--weight-normal","mds-typography--weight-medium","mds-typography--weight-semibold","mds-typography--weight-bold","mds-typography--align-left","mds-typography--align-center","mds-typography--align-right","mds-typography--align-justify","mds-typography--transform-uppercase","mds-typography--transform-lowercase","mds-typography--transform-capitalize","mds-typography--gutter-bottom","mds-typography--no-wrap","mds-typography--truncate","mds-typography--italic","mds-typography--underline","mds-typography--strikethrough","mds-input-container","mds-input-container--white","mds-input-container--black","mds-input-container--anodized","mds-input-container--dark-gray","mds-input-container--disabled","mds-input-field","mds-input-container--sm","mds-input-container--lg","mds-input-field--password","mds-input-eye","mds-input-container--multiline","mds-input-container--with-icon","mds-input-icon","mds-input-field--with-icon"],"mappings":"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","file":"index.js","sourcesContent":["export default `// Copyright (c) 2026 minimorphism\n// Main GLSL Shader for Widgets\n\nprecision mediump float;\n\nuniform vec2 u_resolution;\nuniform vec4 u_rect;\nuniform vec4 u_color;\nuniform vec4 u_radius;\nuniform float u_opacity;\n\nuniform vec4 u_sh1_params;\nuniform vec4 u_sh1_color;\nuniform vec4 u_sh2_params;\nuniform vec4 u_sh2_color;\nuniform vec4 u_sh3_params;\nuniform vec4 u_sh3_color;\n\n// Copyright (c) 2026 minimorphism\n// SDF Shader\n\nfloat sdRoundedBox(vec2 p, vec2 b, vec4 r) {\n r.xy = (p.x > 0.0) ? r.xy : r.zw;\n r.x = (p.y > 0.0) ? r.x : r.y;\n vec2 q = abs(p) - b + r.x;\n return min(max(q.x, q.y), 0.0) + length(max(q, 0.0)) - r.x;\n}\n\n// Copyright (c) 2026 minimorphism\n// Shadow Shader\n\nvec4 applyInsetShadow(vec4 baseCol, vec2 p, vec2 b, vec4 r, vec4 params,\n\t\t vec4 shColor) {\n if (shColor.a <= 0.0) return baseCol;\n\n vec2 offset = params.xy;\n float blur = params.z;\n float spread = params.w;\n\n float d_inner = sdRoundedBox(p - offset, b, r);\n float d = d_inner + spread;\n\n float halfBlur = max(blur * 0.5, 0.5);\n float intensity = smoothstep(-halfBlur, halfBlur, d);\n\n return vec4(mix(baseCol.rgb, shColor.rgb, intensity * shColor.a),\n\t\tbaseCol.a);\n}\n\n\nvoid main() {\n vec2 st = gl_FragCoord.xy;\n st.y = u_resolution.y - st.y;\n\n vec2 size = u_rect.zw;\n vec2 b = size * 0.5;\n vec2 center = u_rect.xy + b;\n vec2 p = st - center;\n\n float d = sdRoundedBox(p, b, u_radius);\n float alpha = 1.0 - smoothstep(-1.0, 1.0, d);\n \n alpha *= u_opacity;\n\n if (alpha <= 0.0) {\n discard;\n }\n\n vec4 col = u_color;\n \n col = applyInsetShadow(col, p, b, u_radius, u_sh3_params, u_sh3_color);\n col = applyInsetShadow(col, p, b, u_radius, u_sh2_params, u_sh2_color);\n col = applyInsetShadow(col, p, b, u_radius, u_sh1_params, u_sh1_color);\n\n gl_FragColor = vec4(col.rgb * alpha, alpha);\n}`","// Copyright (c) 2026 minimorphism\n// Shader Utilities\n\nimport { WidgetInstance } from \"../../webgl/WebGLStore\";\n\nexport type InsetShadow = {\n\tx: number;\n\ty: number;\n\tblur: number;\n\tspread: number;\n\tcolor: [number, number, number, number];\n};\nexport type VariantConfig = {\n\tbg: [number, number, number, number];\n\tshadows: [InsetShadow?, InsetShadow?, InsetShadow?];\n};\n\nexport const globalVariantStyles: Record<string, VariantConfig> = {\n\tblack: {\n\t\tbg: [0.0, 0.0, 0.0, 1.0],\n\t\tshadows: [\n\t\t\t{\n\t\t\t\tx: 0,\n\t\t\t\ty: 83,\n\t\t\t\tblur: 119,\n\t\t\t\tspread: -92,\n\t\t\t\tcolor: [1.0, 1.0, 1.0, 0.35],\n\t\t\t},\n\t\t\t{\n\t\t\t\tx: 0,\n\t\t\t\ty: -79,\n\t\t\t\tblur: 94.8,\n\t\t\t\tspread: -24,\n\t\t\t\tcolor: [0.0, 0.0, 0.0, 0.5],\n\t\t\t},\n\t\t\t{\n\t\t\t\tx: 0,\n\t\t\t\ty: 0,\n\t\t\t\tblur: 24,\n\t\t\t\tspread: 5,\n\t\t\t\tcolor: [120 / 255, 120 / 255, 120 / 255, 0.03],\n\t\t\t},\n\t\t],\n\t},\n\twhite: {\n\t\tbg: [1.0, 1.0, 1.0, 1.0],\n\t\tshadows: [\n\t\t\t{ x: 0, y: 0, blur: 0, spread: 0, color: [1.0, 1.0, 1.0, 0.0] },\n\t\t\t{\n\t\t\t\tx: 0,\n\t\t\t\ty: -20,\n\t\t\t\tblur: 47.3,\n\t\t\t\tspread: -31,\n\t\t\t\tcolor: [0.0, 0.0, 0.0, 0.17],\n\t\t\t},\n\t\t\t{\n\t\t\t\tx: 0,\n\t\t\t\ty: 0,\n\t\t\t\tblur: 24,\n\t\t\t\tspread: 5,\n\t\t\t\tcolor: [120 / 255, 120 / 255, 120 / 255, 0.07],\n\t\t\t},\n\t\t],\n\t},\n\t\"dark-gray\": {\n\t\tbg: [0.61, 0.61, 0.61, 1.0],\n\t\tshadows: [\n\t\t\t{\n\t\t\t\tx: 0,\n\t\t\t\ty: 83,\n\t\t\t\tblur: 120,\n\t\t\t\tspread: -72,\n\t\t\t\tcolor: [0.3, 0.3, 0.3, 0.2],\n\t\t\t},\n\t\t\t{\n\t\t\t\tx: 0,\n\t\t\t\ty: -79,\n\t\t\t\tblur: 94.8,\n\t\t\t\tspread: -24,\n\t\t\t\tcolor: [0.0, 0.0, 0.0, 0.8],\n\t\t\t},\n\t\t\t{\n\t\t\t\tx: 0,\n\t\t\t\ty: 0,\n\t\t\t\tblur: 24,\n\t\t\t\tspread: 5,\n\t\t\t\tcolor: [120 / 255, 120 / 255, 120 / 255, 0.03],\n\t\t\t},\n\t\t],\n\t},\n\tanodized: {\n\t\tbg: [1.0, 1.0, 1.0, 1.0],\n\t\tshadows: [\n\t\t\t{\n\t\t\t\tx: 0,\n\t\t\t\ty: 83,\n\t\t\t\tblur: 119,\n\t\t\t\tspread: -92,\n\t\t\t\tcolor: [1.0, 1.0, 1.0, 0.3],\n\t\t\t},\n\t\t\t{\n\t\t\t\tx: 0,\n\t\t\t\ty: -26,\n\t\t\t\tblur: 94.8,\n\t\t\t\tspread: -24,\n\t\t\t\tcolor: [0.0, 0.0, 0.0, 0.35],\n\t\t\t},\n\t\t\t{\n\t\t\t\tx: 0,\n\t\t\t\ty: -2,\n\t\t\t\tblur: 24,\n\t\t\t\tspread: 5,\n\t\t\t\tcolor: [120 / 255, 120 / 255, 120 / 255, 0.15],\n\t\t\t},\n\t\t],\n\t},\n\tdisabled: {\n\t\tbg: [0.5, 0.5, 0.5, 1.0],\n\t\tshadows: [\n\t\t\t{\n\t\t\t\tx: 0,\n\t\t\t\ty: 83,\n\t\t\t\tblur: 119,\n\t\t\t\tspread: -92,\n\t\t\t\tcolor: [1.0, 1.0, 1.0, 0.3],\n\t\t\t},\n\t\t\t{\n\t\t\t\tx: 0,\n\t\t\t\ty: -79,\n\t\t\t\tblur: 94.8,\n\t\t\t\tspread: -24,\n\t\t\t\tcolor: [0.0, 0.0, 0.0, 0.4],\n\t\t\t},\n\t\t\t{\n\t\t\t\tx: 0,\n\t\t\t\ty: 0,\n\t\t\t\tblur: 24,\n\t\t\t\tspread: 5,\n\t\t\t\tcolor: [120 / 255, 120 / 255, 120 / 255, 0.03],\n\t\t\t},\n\t\t],\n\t},\n\t\"black-pill\": {\n\t\tbg: [0.0, 0.0, 0.0, 1.0],\n\t\tshadows: [\n\t\t\t{\n\t\t\t\tx: 0,\n\t\t\t\ty: 83,\n\t\t\t\tblur: 119,\n\t\t\t\tspread: -92,\n\t\t\t\tcolor: [1.0, 1.0, 1.0, 0.35],\n\t\t\t},\n\t\t\t{\n\t\t\t\tx: 0,\n\t\t\t\ty: -79,\n\t\t\t\tblur: 94.8,\n\t\t\t\tspread: -24,\n\t\t\t\tcolor: [0.0, 0.0, 0.0, 0.5],\n\t\t\t},\n\t\t],\n\t},\n\t\"white-pill\": {\n\t\tbg: [0.82, 0.82, 0.84, 1.0],\n\t\tshadows: [\n\t\t\t{\n\t\t\t\tx: 0,\n\t\t\t\ty: 40,\n\t\t\t\tblur: 60,\n\t\t\t\tspread: -30,\n\t\t\t\tcolor: [1.0, 1.0, 1.0, 0.95],\n\t\t\t},\n\t\t\t{\n\t\t\t\tx: 0,\n\t\t\t\ty: -40,\n\t\t\t\tblur: 60,\n\t\t\t\tspread: -20,\n\t\t\t\tcolor: [0.0, 0.0, 0.0, 0.45],\n\t\t\t},\n\t\t],\n\t},\n};\n\nexport const badgeVariantStyles: Record<string, VariantConfig> = {\n\tblack: {\n\t\tbg: [0.0, 0.0, 0.0, 1.0],\n\t\tshadows: [\n\t\t\t{ x: 0, y: 4, blur: 15, spread: -10, color: [1.0, 1.0, 1.0, 0.35] },\n\t\t\t{ x: 0, y: -4, blur: 10, spread: -4, color: [0.0, 0.0, 0.0, 0.5] },\n\t\t],\n\t},\n\twhite: {\n\t\tbg: [1.0, 1.0, 1.0, 1.0],\n\t\tshadows: [\n\t\t\t{ x: 0, y: -4, blur: 10, spread: -6, color: [0.0, 0.0, 0.0, 0.15] },\n\t\t],\n\t},\n\tanodized: {\n\t\tbg: [1.0, 1.0, 1.0, 1.0],\n\t\tshadows: [\n\t\t\t{ x: 0, y: 8, blur: 12, spread: -6, color: [1.0, 1.0, 1.0, 0.9] },\n\t\t\t{ x: 0, y: -8, blur: 12, spread: -4, color: [0.0, 0.0, 0.0, 0.4] },\n\t\t],\n\t},\n};\n\nexport const buildUniforms = (\n\twidget: WidgetInstance,\n\tcanvas: HTMLCanvasElement,\n\tcustomVariants?: Record<string, VariantConfig>,\n\tbaseScaleHeight: number = 60.0\n) => {\n\tconst { layout, payload } = widget;\n\tconst isDisabled = payload.disabled as boolean;\n\tconst variant = isDisabled\n\t\t? \"disabled\"\n\t\t: (payload.variant as string) || \"white\";\n\n\tconst variants = customVariants || globalVariantStyles;\n\tlet config = variants[variant];\n\n\tif (!config)\n\t\tconfig = globalVariantStyles[variant] || globalVariantStyles[\"white\"];\n\n\tconst dpr =\n\t\tcanvas.width / canvas.clientWidth || window.devicePixelRatio || 1;\n\n\tconst shapeScale =\n\t\tMath.min(layout.width, layout.height) / (baseScaleHeight * dpr);\n\tconst mult = layout.visualScale * shapeScale;\n\n\tconst PADDING = 140 * mult;\n\tconst u_box = new Float32Array([\n\t\tlayout.x - PADDING,\n\t\tlayout.y - PADDING,\n\t\tlayout.width + PADDING * 2,\n\t\tlayout.height + PADDING * 2,\n\t]);\n\n\tconst getSh = (sh: InsetShadow | undefined) => {\n\t\tif (!sh) return { p: new Float32Array(4), c: new Float32Array(4) };\n\t\treturn {\n\t\t\tp: new Float32Array([\n\t\t\t\tsh.x * mult,\n\t\t\t\tsh.y * mult,\n\t\t\t\tsh.blur * mult,\n\t\t\t\tsh.spread * mult,\n\t\t\t]),\n\t\t\tc: new Float32Array(sh.color),\n\t\t};\n\t};\n\n\tconst sh1 = getSh(config.shadows[0]);\n\tconst sh2 = getSh(config.shadows[1]);\n\tconst sh3 = getSh(config.shadows[2]);\n\n\treturn {\n\t\tu_resolution: new Float32Array([canvas.width, canvas.height]),\n\t\tu_box,\n\t\tu_rect: new Float32Array([\n\t\t\tlayout.x,\n\t\t\tlayout.y,\n\t\t\tlayout.width,\n\t\t\tlayout.height,\n\t\t]),\n\t\tu_color: new Float32Array(config.bg),\n\t\tu_radius: Array.isArray(layout.radius)\n\t\t\t? new Float32Array([\n\t\t\t\t\tlayout.radius[2],\n\t\t\t\t\tlayout.radius[1],\n\t\t\t\t\tlayout.radius[3],\n\t\t\t\t\tlayout.radius[0],\n\t\t\t\t])\n\t\t\t: new Float32Array([\n\t\t\t\t\tlayout.radius,\n\t\t\t\t\tlayout.radius,\n\t\t\t\t\tlayout.radius,\n\t\t\t\t\tlayout.radius,\n\t\t\t\t]),\n\t\tu_opacity: layout.opacity ?? 1.0,\n\t\tu_sh1_params: sh1.p,\n\t\tu_sh1_color: sh1.c,\n\t\tu_sh2_params: sh2.p,\n\t\tu_sh2_color: sh2.c,\n\t\tu_sh3_params: sh3.p,\n\t\tu_sh3_color: sh3.c,\n\t};\n};\n","// Copyright (c) 2026 minimorphism\n// WebGL Store\n\nimport React from \"react\";\nimport fragmentShader from \"../components/@Shaders/WidgetShader.glsl\";\nimport {\n\tbuildUniforms,\n\tbadgeVariantStyles,\n} from \"../components/@Shaders/ShaderUtils\";\n\nexport type MouseState = { x: number; y: number; hover: number; click: number };\n\nexport type WidgetLayout = {\n\tx: number;\n\ty: number;\n\twidth: number;\n\theight: number;\n\tvisualScale: number;\n\tradius: number | [number, number, number, number];\n\tzIndex?: number;\n\topacity?: number;\n};\n\nexport type WidgetInstance = {\n\tid: string;\n\ttype: string;\n\tref: React.RefObject<HTMLElement | null>;\n\tmouse: MouseState;\n\tpayload: any;\n\tlayout: WidgetLayout;\n\tmountOrder?: number;\n};\n\nexport type LayerDefinition = {\n\tfragmentShader: string;\n\tgetUniforms: (\n\t\twidget: WidgetInstance,\n\t\tcanvas: HTMLCanvasElement\n\t) => Record<string, any> | null;\n};\n\nexport const widgetRegistry = new Map<string, WidgetInstance>();\nexport const layerDefinitions = new Map<string, LayerDefinition>();\n\nlet nextMountOrder = 1;\n\nexport let onRegistryChange = () => {};\nexport const setRegistryChangeListener = (cb: () => void) => {\n\tonRegistryChange = cb;\n};\n\nexport const initWebGL = (\n\tcustomLayers?: { type: string; definition: LayerDefinition }[]\n) => {\n\tconst standardLayers = [\n\t\t{\n\t\t\ttype: \"button\",\n\t\t\tdefinition: {\n\t\t\t\tfragmentShader,\n\t\t\t\tgetUniforms: (w: WidgetInstance, c: HTMLCanvasElement) =>\n\t\t\t\t\tbuildUniforms(w, c),\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\ttype: \"input\",\n\t\t\tdefinition: {\n\t\t\t\tfragmentShader,\n\t\t\t\tgetUniforms: (w: WidgetInstance, c: HTMLCanvasElement) => {\n\t\t\t\t\tconst variant = w.payload?.variant;\n\t\t\t\t\tconst isMultiline = w.payload?.multiline;\n\t\t\t\t\tconst baseScaleHeight =\n\t\t\t\t\t\tvariant === \"black\" && isMultiline ? 180.0 : 60.0;\n\t\t\t\t\treturn buildUniforms(w, c, undefined, baseScaleHeight);\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\ttype: \"box\",\n\t\t\tdefinition: {\n\t\t\t\tfragmentShader,\n\t\t\t\tgetUniforms: (w: WidgetInstance, c: HTMLCanvasElement) =>\n\t\t\t\t\tbuildUniforms(w, c),\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\ttype: \"snackbar\",\n\t\t\tdefinition: {\n\t\t\t\tfragmentShader,\n\t\t\t\tgetUniforms: (w: WidgetInstance, c: HTMLCanvasElement) =>\n\t\t\t\t\tbuildUniforms(w, c),\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\ttype: \"mobileModal\",\n\t\t\tdefinition: {\n\t\t\t\tfragmentShader,\n\t\t\t\tgetUniforms: (w: WidgetInstance, c: HTMLCanvasElement) =>\n\t\t\t\t\tbuildUniforms(w, c, undefined, 380.0),\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\ttype: \"accordion-header\",\n\t\t\tdefinition: {\n\t\t\t\tfragmentShader,\n\t\t\t\tgetUniforms: (w: WidgetInstance, c: HTMLCanvasElement) =>\n\t\t\t\t\tbuildUniforms(w, c),\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\ttype: \"accordion-body\",\n\t\t\tdefinition: {\n\t\t\t\tfragmentShader,\n\t\t\t\tgetUniforms: (w: WidgetInstance, c: HTMLCanvasElement) =>\n\t\t\t\t\tbuildUniforms(w, c),\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\ttype: \"autocomplete-header\",\n\t\t\tdefinition: {\n\t\t\t\tfragmentShader,\n\t\t\t\tgetUniforms: (w: WidgetInstance, c: HTMLCanvasElement) =>\n\t\t\t\t\tbuildUniforms(w, c),\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\ttype: \"autocomplete-body\",\n\t\t\tdefinition: {\n\t\t\t\tfragmentShader,\n\t\t\t\tgetUniforms: (w: WidgetInstance, c: HTMLCanvasElement) =>\n\t\t\t\t\tbuildUniforms(w, c),\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\ttype: \"alert\",\n\t\t\tdefinition: {\n\t\t\t\tfragmentShader,\n\t\t\t\tgetUniforms: (w: WidgetInstance, c: HTMLCanvasElement) =>\n\t\t\t\t\tbuildUniforms(w, c),\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\ttype: \"card\",\n\t\t\tdefinition: {\n\t\t\t\tfragmentShader,\n\t\t\t\tgetUniforms: (w: WidgetInstance, c: HTMLCanvasElement) =>\n\t\t\t\t\tbuildUniforms(w, c),\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\ttype: \"grid\",\n\t\t\tdefinition: {\n\t\t\t\tfragmentShader,\n\t\t\t\tgetUniforms: (w: WidgetInstance, c: HTMLCanvasElement) =>\n\t\t\t\t\tbuildUniforms(w, c),\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\ttype: \"badge\",\n\t\t\tdefinition: {\n\t\t\t\tfragmentShader,\n\t\t\t\tgetUniforms: (w: WidgetInstance, c: HTMLCanvasElement) => {\n\t\t\t\t\tconst isAnodized = w.payload?.variant === \"anodized\";\n\t\t\t\t\tconst customStyles = isAnodized\n\t\t\t\t\t\t? undefined\n\t\t\t\t\t\t: badgeVariantStyles;\n\t\t\t\t\tconst shaderHeight = isAnodized ? 100.0 : 28.0;\n\t\t\t\t\treturn buildUniforms(w, c, customStyles, shaderHeight);\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\ttype: \"chip\",\n\t\t\tdefinition: {\n\t\t\t\tfragmentShader,\n\t\t\t\tgetUniforms: (w: WidgetInstance, c: HTMLCanvasElement) =>\n\t\t\t\t\tbuildUniforms(w, c),\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\ttype: \"select-header\",\n\t\t\tdefinition: {\n\t\t\t\tfragmentShader,\n\t\t\t\tgetUniforms: (w: WidgetInstance, c: HTMLCanvasElement) =>\n\t\t\t\t\tbuildUniforms(w, c),\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\ttype: \"select-body\",\n\t\t\tdefinition: {\n\t\t\t\tfragmentShader,\n\t\t\t\tgetUniforms: (w: WidgetInstance, c: HTMLCanvasElement) =>\n\t\t\t\t\tbuildUniforms(w, c),\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\ttype: \"link\",\n\t\t\tdefinition: {\n\t\t\t\tfragmentShader,\n\t\t\t\tgetUniforms: (w: WidgetInstance, c: HTMLCanvasElement) =>\n\t\t\t\t\tbuildUniforms(w, c),\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\ttype: \"stack\",\n\t\t\tdefinition: {\n\t\t\t\tfragmentShader,\n\t\t\t\tgetUniforms: (w: WidgetInstance, c: HTMLCanvasElement) =>\n\t\t\t\t\tbuildUniforms(w, c),\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\ttype: \"modal\",\n\t\t\tdefinition: {\n\t\t\t\tfragmentShader,\n\t\t\t\tgetUniforms: (w: WidgetInstance, c: HTMLCanvasElement) =>\n\t\t\t\t\tbuildUniforms(w, c, undefined, 240.0),\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\ttype: \"progress\",\n\t\t\tdefinition: {\n\t\t\t\tfragmentShader,\n\t\t\t\tgetUniforms: (w: WidgetInstance, c: HTMLCanvasElement) =>\n\t\t\t\t\tbuildUniforms(w, c, undefined, 50.0),\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\ttype: \"progress-inner\",\n\t\t\tdefinition: {\n\t\t\t\tfragmentShader,\n\t\t\t\tgetUniforms: (w: WidgetInstance, c: HTMLCanvasElement) =>\n\t\t\t\t\tbuildUniforms(w, c, undefined, 42.0),\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\ttype: \"slider\",\n\t\t\tdefinition: {\n\t\t\t\tfragmentShader,\n\t\t\t\tgetUniforms: (w: WidgetInstance, c: HTMLCanvasElement) =>\n\t\t\t\t\tbuildUniforms(w, c),\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\ttype: \"slider-thumb\",\n\t\t\tdefinition: {\n\t\t\t\tfragmentShader,\n\t\t\t\tgetUniforms: (w: WidgetInstance, c: HTMLCanvasElement) =>\n\t\t\t\t\tbuildUniforms(w, c),\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\ttype: \"switch\",\n\t\t\tdefinition: {\n\t\t\t\tfragmentShader,\n\t\t\t\tgetUniforms: (w: WidgetInstance, c: HTMLCanvasElement) =>\n\t\t\t\t\tbuildUniforms(w, c, undefined, 32.0),\n\t\t\t},\n\t\t},\n\t];\n\n\tstandardLayers.forEach((layer) => {\n\t\tlayerDefinitions.set(layer.type, layer.definition);\n\t});\n\n\tif (customLayers) {\n\t\tcustomLayers.forEach((layer) => {\n\t\t\tlayerDefinitions.set(layer.type, layer.definition);\n\t\t});\n\t}\n};\n\nexport const registerWidget = (id: string, instance: WidgetInstance) => {\n\tconst existing = widgetRegistry.get(id);\n\tinstance.mountOrder = existing?.mountOrder ?? nextMountOrder++;\n\twidgetRegistry.set(id, instance);\n\tonRegistryChange();\n};\n\nexport const unregisterWidget = (id: string) => {\n\twidgetRegistry.delete(id);\n\tonRegistryChange();\n};\n","// Copyright (c) 2026 minimorphism\n// WebGL Canvas\n\nimport React, { useEffect, useRef, useState, useId } from \"react\";\nimport { createPortal } from \"react-dom\";\nimport {\n\twidgetRegistry,\n\tlayerDefinitions,\n\ttype WidgetInstance,\n\ttype LayerDefinition,\n\tsetRegistryChangeListener,\n} from \"./WebGLStore\";\n\nconst widgetVertexShaderSource = `\nprecision mediump float;\nattribute vec2 a_position;\nuniform vec4 u_box;\nuniform vec2 u_resolution;\nvoid main() {\n vec2 uv = a_position * 0.5 + 0.5;\n vec2 pixel_pos = u_box.xy + uv * u_box.zw;\n vec2 clip_pos = (pixel_pos / u_resolution) * 2.0 - 1.0;\n gl_Position = vec4(clip_pos.x, -clip_pos.y, 0.0, 1.0);\n}\n`;\n\nfunction createShader(gl: WebGLRenderingContext, type: number, source: string) {\n\tconst shader = gl.createShader(type);\n\tif (!shader) return null;\n\tgl.shaderSource(shader, source);\n\tgl.compileShader(shader);\n\tif (!gl.getShaderParameter(shader, gl.COMPILE_STATUS)) {\n\t\tconsole.error(\"Shader error:\", gl.getShaderInfoLog(shader));\n\t\tgl.deleteShader(shader);\n\t\treturn null;\n\t}\n\treturn shader;\n}\n\nfunction createProgram(\n\tgl: WebGLRenderingContext,\n\tvsSource: string,\n\tfsSource: string\n) {\n\tconst vs = createShader(gl, gl.VERTEX_SHADER, vsSource);\n\tconst fs = createShader(gl, gl.FRAGMENT_SHADER, fsSource);\n\tif (!vs || !fs) return null;\n\tconst program = gl.createProgram();\n\tif (!program) return null;\n\tgl.attachShader(program, vs);\n\tgl.attachShader(program, fs);\n\tgl.linkProgram(program);\n\tif (!gl.getProgramParameter(program, gl.LINK_STATUS)) {\n\t\tconsole.error(\"Program link error:\", gl.getProgramInfoLog(program));\n\t\tgl.deleteProgram(program);\n\t\treturn null;\n\t}\n\treturn program;\n}\n\nconst parseZIndex = (value: string): number => {\n\tif (!value || value === \"auto\") return 0;\n\tconst z = Number.parseInt(value, 10);\n\treturn Number.isFinite(z) ? z : 0;\n};\n\nlet isLayoutDirty = true;\nlet isStyleDirty = true;\nlet isPageTransitionActive = false;\nlet globalCanvasMounted = false;\n\nconst syncAllWidgetLayouts = (\n\tcanvas: HTMLCanvasElement,\n\tcanvasRect: DOMRect\n) => {\n\tif (canvasRect.width === 0 || canvasRect.height === 0) return;\n\n\tconst scaleX = canvas.width / canvasRect.width;\n\tconst scaleY = canvas.height / canvasRect.height;\n\n\tconst globalSyncRequired = isLayoutDirty || isPageTransitionActive;\n\n\tfor (const widget of widgetRegistry.values()) {\n\t\tconst node = widget.ref.current;\n\t\tif (!node) continue;\n\n\t\tconst isWidgetInteracting =\n\t\t\twidget.mouse.hover > 0 || widget.mouse.click > 0;\n\t\tconst needsSync =\n\t\t\tglobalSyncRequired ||\n\t\t\tisWidgetInteracting ||\n\t\t\twidget.layout.width === 0;\n\n\t\tif (needsSync) {\n\t\t\tconst currentOffsetWidth = node.offsetWidth;\n\t\t\twidget.payload._baseWidth = currentOffsetWidth;\n\n\t\t\tconst style = window.getComputedStyle(node);\n\n\t\t\tif (widget.payload._radius === undefined || isStyleDirty) {\n\t\t\t\twidget.payload._radius = [\n\t\t\t\t\tparseFloat(style.borderTopLeftRadius) || 0,\n\t\t\t\t\tparseFloat(style.borderTopRightRadius) || 0,\n\t\t\t\t\tparseFloat(style.borderBottomRightRadius) || 0,\n\t\t\t\t\tparseFloat(style.borderBottomLeftRadius) || 0,\n\t\t\t\t];\n\t\t\t\twidget.layout.zIndex = parseZIndex(style.zIndex);\n\t\t\t}\n\n\t\t\tconst rect = node.getBoundingClientRect();\n\t\t\tconst centerX = rect.left + rect.width / 2;\n\t\t\tconst centerY = rect.top + rect.height / 2;\n\n\t\t\tlet isCovered = false;\n\t\t\tconst wasAutoHidden = widget.payload._autoHidden;\n\n\t\t\tif (\n\t\t\t\tstyle.display === \"none\" ||\n\t\t\t\t(style.visibility === \"hidden\" && !wasAutoHidden)\n\t\t\t) {\n\t\t\t\tisCovered = true;\n\t\t\t} else if (\n\t\t\t\tcenterX >= 0 &&\n\t\t\t\tcenterY >= 0 &&\n\t\t\t\tcenterX <= window.innerWidth &&\n\t\t\t\tcenterY <= window.innerHeight\n\t\t\t) {\n\t\t\t\tif (wasAutoHidden) {\n\t\t\t\t\tnode.style.visibility = \"\";\n\t\t\t\t}\n\t\t\t\tconst topEl = document.elementFromPoint(centerX, centerY);\n\t\t\t\tif (topEl) {\n\t\t\t\t\tisCovered =\n\t\t\t\t\t\ttopEl !== node &&\n\t\t\t\t\t\t!node.contains(topEl) &&\n\t\t\t\t\t\t!topEl.contains(node);\n\n\t\t\t\t\tconst isBackdrop =\n\t\t\t\t\t\twidget.type.endsWith(\"-body\") ||\n\t\t\t\t\t\twidget.type === \"slider\" ||\n\t\t\t\t\t\twidget.type === \"progress\" ||\n\t\t\t\t\t\twidget.payload?.isBackdrop === true;\n\n\t\t\t\t\tif (\n\t\t\t\t\t\tisCovered &&\n\t\t\t\t\t\tisBackdrop &&\n\t\t\t\t\t\tnode.parentElement &&\n\t\t\t\t\t\tnode.parentElement.contains(topEl)\n\t\t\t\t\t) {\n\t\t\t\t\t\tisCovered = false;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (wasAutoHidden && isCovered) {\n\t\t\t\t\tnode.style.visibility = \"hidden\";\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (isCovered) {\n\t\t\t\tnode.style.visibility = \"hidden\";\n\t\t\t\twidget.payload._autoHidden = true;\n\t\t\t\twidget.layout.opacity = 0;\n\t\t\t} else {\n\t\t\t\tif (wasAutoHidden) {\n\t\t\t\t\tnode.style.visibility = \"\";\n\t\t\t\t\twidget.payload._autoHidden = false;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tlet opacity = isCovered ? 0.0 : 1.0;\n\t\t\tif (!isCovered) {\n\t\t\t\tconst nodeOp = parseFloat(style.opacity);\n\t\t\t\tif (!isNaN(nodeOp)) opacity *= nodeOp;\n\n\t\t\t\tconst fadeNode = node.closest(\".gl-fade\") as HTMLElement;\n\t\t\t\tif (fadeNode && fadeNode !== node) {\n\t\t\t\t\tconst fadeOp = parseFloat(\n\t\t\t\t\t\twindow.getComputedStyle(fadeNode).opacity\n\t\t\t\t\t);\n\t\t\t\t\tif (!isNaN(fadeOp)) opacity *= fadeOp;\n\t\t\t\t}\n\t\t\t}\n\t\t\twidget.layout.opacity = opacity;\n\n\t\t\twidget.layout.x = (rect.left - canvasRect.left) * scaleX;\n\t\t\twidget.layout.y = (rect.top - canvasRect.top) * scaleY;\n\t\t\twidget.layout.width = rect.width * scaleX;\n\t\t\twidget.layout.height = rect.height * scaleY;\n\n\t\t\tconst visualScale =\n\t\t\t\twidget.payload._baseWidth > 0\n\t\t\t\t\t? (rect.width / widget.payload._baseWidth) * scaleX\n\t\t\t\t\t: scaleX;\n\t\t\twidget.layout.visualScale = visualScale;\n\n\t\t\tconst maxRadius =\n\t\t\t\tMath.min(widget.layout.width, widget.layout.height) / 2.0;\n\t\t\tconst r = widget.payload._radius;\n\t\t\twidget.layout.radius = [\n\t\t\t\tMath.min(r[0] * visualScale, maxRadius),\n\t\t\t\tMath.min(r[1] * visualScale, maxRadius),\n\t\t\t\tMath.min(r[2] * visualScale, maxRadius),\n\t\t\t\tMath.min(r[3] * visualScale, maxRadius),\n\t\t\t];\n\n\t\t\tlet clipTop = -99999;\n\t\t\tlet clipLeft = -99999;\n\t\t\tlet clipBottom = 99999;\n\t\t\tlet clipRight = 99999;\n\t\t\tlet hasClip = false;\n\n\t\t\tlet parent = node.parentElement;\n\t\t\twhile (parent && parent !== document.body) {\n\t\t\t\tconst pStyle = window.getComputedStyle(parent);\n\t\t\t\tif (\n\t\t\t\t\tpStyle.overflow === \"hidden\" ||\n\t\t\t\t\tpStyle.overflowY === \"hidden\" ||\n\t\t\t\t\tpStyle.overflowX === \"hidden\"\n\t\t\t\t) {\n\t\t\t\t\tconst parentRect = parent.getBoundingClientRect();\n\t\t\t\t\tclipTop = Math.max(clipTop, parentRect.top);\n\t\t\t\t\tclipLeft = Math.max(clipLeft, parentRect.left);\n\t\t\t\t\tclipBottom = Math.min(clipBottom, parentRect.bottom);\n\t\t\t\t\tclipRight = Math.min(clipRight, parentRect.right);\n\t\t\t\t\thasClip = true;\n\t\t\t\t}\n\t\t\t\tparent = parent.parentElement;\n\t\t\t}\n\n\t\t\tif (hasClip) {\n\t\t\t\t(widget.layout as any).clip = {\n\t\t\t\t\tx: (clipLeft - canvasRect.left) * scaleX,\n\t\t\t\t\ty: (clipTop - canvasRect.top) * scaleY,\n\t\t\t\t\tw: Math.max(0, clipRight - clipLeft) * scaleX,\n\t\t\t\t\th: Math.max(0, clipBottom - clipTop) * scaleY,\n\t\t\t\t};\n\t\t\t} else {\n\t\t\t\tdelete (widget.layout as any).clip;\n\t\t\t}\n\t\t}\n\t}\n\n\tisLayoutDirty = false;\n\tisStyleDirty = false;\n};\n\ntype RenderItem = { widget: WidgetInstance; def: LayerDefinition };\n\nlet forceRenderRef = (durationMs?: number, isGlobalTransition?: boolean) => {};\nexport const forceWebGLRender = (\n\tdurationMs?: number,\n\tisGlobalTransition?: boolean\n) => {\n\tforceRenderRef(durationMs, isGlobalTransition);\n};\n\nlet activeCanvasId: string | null = null;\n\nexport const WebGLCanvas = () => {\n\tconst canvasRef = useRef<HTMLCanvasElement>(null);\n\tconst instanceId = useId();\n\tconst [isPrimary, setIsPrimary] = useState(false);\n\n\tuseEffect(() => {\n\t\tif (globalCanvasMounted) {\n\t\t\tconsole.warn(\n\t\t\t\t\"WebGLCanvas is a singleton and has already been mounted.\"\n\t\t\t);\n\t\t\treturn;\n\t\t}\n\t\tglobalCanvasMounted = true;\n\t\tactiveCanvasId = instanceId;\n\t\tsetIsPrimary(true);\n\n\t\treturn () => {\n\t\t\tif (activeCanvasId === instanceId) {\n\t\t\t\tactiveCanvasId = null;\n\t\t\t\tglobalCanvasMounted = false;\n\t\t\t}\n\t\t};\n\t}, [instanceId]);\n\n\tuseEffect(() => {\n\t\tif (!isPrimary) return;\n\t\tconst canvas = canvasRef.current;\n\t\tif (!canvas) return;\n\n\t\tconst gl = canvas.getContext(\"webgl\", {\n\t\t\talpha: true,\n\t\t\tantialias: true,\n\t\t\tpremultipliedAlpha: true,\n\t\t\tpreserveDrawingBuffer: true,\n\t\t});\n\t\tif (!gl) return;\n\n\t\tconst quadBuffer = gl.createBuffer();\n\t\tif (!quadBuffer) return;\n\t\tgl.bindBuffer(gl.ARRAY_BUFFER, quadBuffer);\n\t\tgl.bufferData(\n\t\t\tgl.ARRAY_BUFFER,\n\t\t\tnew Float32Array([-1, -1, 1, -1, -1, 1, 1, 1]),\n\t\t\tgl.STATIC_DRAW\n\t\t);\n\n\t\tgl.disable(gl.DEPTH_TEST);\n\t\tgl.disable(gl.CULL_FACE);\n\n\t\tconst widgetPrograms = new Map<string, WebGLProgram>();\n\n\t\tconst getWidgetProgram = (type: string, fragmentShader: string) => {\n\t\t\tconst cached = widgetPrograms.get(type);\n\t\t\tif (cached) return cached;\n\t\t\tlet fsSource: any = fragmentShader;\n\t\t\tif (\n\t\t\t\ttypeof fsSource === \"object\" &&\n\t\t\t\tfsSource !== null &&\n\t\t\t\t\"default\" in fsSource\n\t\t\t)\n\t\t\t\tfsSource = fsSource.default;\n\t\t\tconst program = createProgram(\n\t\t\t\tgl,\n\t\t\t\twidgetVertexShaderSource,\n\t\t\t\tString(fsSource)\n\t\t\t);\n\t\t\tif (!program) return null;\n\t\t\twidgetPrograms.set(type, program);\n\t\t\treturn program;\n\t\t};\n\n\t\tconst renderFrame = () => {\n\t\t\tconst dpr = window.devicePixelRatio || 1;\n\t\t\tconst canvasRect = canvas.getBoundingClientRect();\n\n\t\t\tconst targetW = Math.round(canvasRect.width * dpr);\n\t\t\tconst targetH = Math.round(canvasRect.height * dpr);\n\n\t\t\tif (targetW <= 0 || targetH <= 0) return;\n\n\t\t\tif (canvas.width !== targetW || canvas.height !== targetH) {\n\t\t\t\tcanvas.width = targetW;\n\t\t\t\tcanvas.height = targetH;\n\t\t\t\tisLayoutDirty = true;\n\t\t\t}\n\n\t\t\tsyncAllWidgetLayouts(canvas, canvasRect);\n\n\t\t\tconst items: RenderItem[] = [];\n\t\t\tfor (const widget of widgetRegistry.values()) {\n\t\t\t\tconst def = layerDefinitions.get(widget.type);\n\t\t\t\tif (!def) continue;\n\t\t\t\titems.push({ widget, def });\n\t\t\t}\n\n\t\t\titems.sort((a, b) => {\n\t\t\t\tconst za = a.widget.layout.zIndex ?? 0;\n\t\t\t\tconst zb = b.widget.layout.zIndex ?? 0;\n\t\t\t\tif (za !== zb) return za - zb;\n\t\t\t\tconst nA = a.widget.ref.current;\n\t\t\t\tconst nB = b.widget.ref.current;\n\t\t\t\tif (nA && nB) {\n\t\t\t\t\tconst rel = nA.compareDocumentPosition(nB);\n\t\t\t\t\tif (rel & Node.DOCUMENT_POSITION_FOLLOWING) return -1;\n\t\t\t\t\tif (rel & Node.DOCUMENT_POSITION_PRECEDING) return 1;\n\t\t\t\t}\n\t\t\t\treturn (a.widget.mountOrder ?? 0) - (b.widget.mountOrder ?? 0);\n\t\t\t});\n\n\t\t\tgl.bindFramebuffer(gl.FRAMEBUFFER, null);\n\t\t\tgl.viewport(0, 0, targetW, targetH);\n\t\t\tgl.clearColor(0, 0, 0, 0);\n\t\t\tgl.disable(gl.SCISSOR_TEST);\n\t\t\tgl.clear(gl.COLOR_BUFFER_BIT);\n\n\t\t\tif (items.length === 0) return;\n\n\t\t\tgl.enable(gl.BLEND);\n\t\t\tgl.blendFunc(gl.ONE, gl.ONE_MINUS_SRC_ALPHA);\n\t\t\tgl.enable(gl.SCISSOR_TEST);\n\n\t\t\tfor (const item of items) {\n\t\t\t\tconst { widget, def } = item;\n\n\t\t\t\tconst clip = (widget.layout as any).clip;\n\t\t\t\tif (clip) {\n\t\t\t\t\tif (clip.w <= 0 || clip.h <= 0) continue;\n\t\t\t\t\tconst sx = Math.round(clip.x);\n\t\t\t\t\tconst sy = Math.round(targetH - (clip.y + clip.h));\n\t\t\t\t\tconst sw = Math.round(clip.w);\n\t\t\t\t\tconst sh = Math.round(clip.h);\n\t\t\t\t\tgl.scissor(sx, sy, sw, sh);\n\t\t\t\t} else {\n\t\t\t\t\tgl.scissor(0, 0, targetW, targetH);\n\t\t\t\t}\n\n\t\t\t\tconst program = getWidgetProgram(\n\t\t\t\t\twidget.type,\n\t\t\t\t\tdef.fragmentShader\n\t\t\t\t);\n\t\t\t\tif (!program) continue;\n\n\t\t\t\tgl.useProgram(program);\n\t\t\t\tgl.bindBuffer(gl.ARRAY_BUFFER, quadBuffer);\n\t\t\t\tconst posLoc = gl.getAttribLocation(program, \"a_position\");\n\t\t\t\tif (posLoc >= 0) {\n\t\t\t\t\tgl.enableVertexAttribArray(posLoc);\n\t\t\t\t\tgl.vertexAttribPointer(posLoc, 2, gl.FLOAT, false, 0, 0);\n\t\t\t\t}\n\n\t\t\t\tconst uniforms = def.getUniforms(widget, canvas);\n\t\t\t\tif (!uniforms) continue;\n\t\t\t\tfor (const [name, value] of Object.entries(uniforms)) {\n\t\t\t\t\tconst loc = gl.getUniformLocation(program, name);\n\t\t\t\t\tif (loc === null) continue;\n\t\t\t\t\tif (typeof value === \"number\") gl.uniform1f(loc, value);\n\t\t\t\t\telse if (value instanceof Float32Array) {\n\t\t\t\t\t\tif (value.length === 2) gl.uniform2fv(loc, value);\n\t\t\t\t\t\telse if (value.length === 4) gl.uniform4fv(loc, value);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tgl.drawArrays(gl.TRIANGLE_STRIP, 0, 4);\n\t\t\t}\n\t\t\tgl.disable(gl.SCISSOR_TEST);\n\t\t};\n\n\t\tlet renderRequested = false;\n\t\tlet animationActiveUntil = 0;\n\t\tlet activeAnimationsCount = 0;\n\n\t\tconst performRender = () => {\n\t\t\trenderRequested = false;\n\t\t\trenderFrame();\n\n\t\t\tif (\n\t\t\t\tactiveAnimationsCount > 0 ||\n\t\t\t\tperformance.now() < animationActiveUntil\n\t\t\t) {\n\t\t\t\trequestRender();\n\t\t\t} else {\n\t\t\t\tisPageTransitionActive = false;\n\t\t\t}\n\t\t};\n\n\t\tconst requestRender = () => {\n\t\t\tif (!renderRequested) {\n\t\t\t\trenderRequested = true;\n\t\t\t\trequestAnimationFrame(performRender);\n\t\t\t}\n\t\t};\n\n\t\tconst markLayoutDirty = () => {\n\t\t\tisLayoutDirty = true;\n\t\t\trequestRender();\n\t\t};\n\t\tconst markStyleDirty = () => {\n\t\t\tisStyleDirty = true;\n\t\t\tmarkLayoutDirty();\n\t\t};\n\n\t\tsetRegistryChangeListener(() => {\n\t\t\tforceRenderRef(500, true);\n\t\t});\n\n\t\tforceRenderRef = (durationMs = 350, isGlobalTransition = true) => {\n\t\t\tanimationActiveUntil = performance.now() + durationMs;\n\t\t\tisPageTransitionActive = isGlobalTransition;\n\t\t\tif (isGlobalTransition) isLayoutDirty = true;\n\t\t\trequestRender();\n\t\t};\n\n\t\t(window as any).forceWebGLRender = forceRenderRef;\n\t\twindow.addEventListener(\"resize\", markStyleDirty, { passive: true });\n\t\twindow.addEventListener(\"scroll\", markLayoutDirty, {\n\t\t\tpassive: true,\n\t\t\tcapture: true,\n\t\t});\n\n\t\tconst mutationObserver = new MutationObserver(() => {\n\t\t\tmarkLayoutDirty();\n\t\t});\n\t\tmutationObserver.observe(document.body, {\n\t\t\tchildList: true,\n\t\t\tsubtree: true,\n\t\t\tattributes: true,\n\t\t\tattributeFilter: [\"style\", \"class\"],\n\t\t});\n\n\t\tmarkStyleDirty();\n\n\t\tconst t1 = setTimeout(() => forceRenderRef(200, true), 150);\n\t\tconst t2 = setTimeout(() => forceRenderRef(200, true), 400);\n\t\tconst t3 = setTimeout(() => forceRenderRef(200, true), 800);\n\n\t\treturn () => {\n\t\t\twindow.removeEventListener(\"resize\", markStyleDirty);\n\t\t\twindow.removeEventListener(\"scroll\", markLayoutDirty, true);\n\t\t\tmutationObserver.disconnect();\n\t\t\tclearTimeout(t1);\n\t\t\tclearTimeout(t2);\n\t\t\tclearTimeout(t3);\n\t\t\tsetRegistryChangeListener(() => {});\n\t\t\tdelete (window as any).forceWebGLRender;\n\t\t\tforceRenderRef = () => {};\n\t\t};\n\t}, [isPrimary]);\n\n\tif (!isPrimary) return null;\n\n\treturn createPortal(\n\t\t<canvas\n\t\t\tref={canvasRef}\n\t\t\tstyle={{\n\t\t\t\tposition: \"fixed\",\n\t\t\t\tinset: 0,\n\t\t\t\twidth: \"100%\",\n\t\t\t\theight: \"100%\",\n\t\t\t\tpointerEvents: \"none\",\n\t\t\t\tzIndex: -1,\n\t\t\t}}\n\t\t/>,\n\t\tdocument.body\n\t);\n};\n",".mds-accordion {\n position: relative;\n width: 100%;\n display: flex;\n flex-direction: column;\n font-family: \"minimorphism\", sans-serif;\n --acc-text-color: #000000;\n --acc-title-color: rgba(177, 177, 177, 0.35);\n --acc-chevron-color: #000000;\n}\n.mds-accordion--white {\n --acc-text-color: #000000;\n --acc-title-color: rgba(177, 177, 177, 0.35);\n --acc-chevron-color: #000000;\n}\n.mds-accordion--black {\n --acc-text-color: #ffffff;\n --acc-title-color: rgba(177, 177, 177, 0.35);\n --acc-chevron-color: #ffffff;\n}\n.mds-accordion--anodized {\n --acc-text-color: #000000;\n --acc-title-color: rgba(0, 0, 0, 0.35);\n --acc-chevron-color: #000000;\n}\n\n.mds-accordion-body-bg {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n z-index: 1;\n border-radius: 20px;\n pointer-events: none;\n will-change: box-shadow;\n}\n\n.mds-accordion-header {\n position: relative;\n z-index: 2;\n display: flex;\n align-items: center;\n justify-content: space-between;\n width: 100%;\n min-height: 1px;\n padding: 0px 0px 0px 18px;\n border-radius: 20px;\n background: transparent;\n border: none;\n cursor: pointer;\n color: var(--acc-text-color);\n font-size: 1.5rem;\n font-weight: 400;\n text-align: left;\n letter-spacing: 2.5px;\n outline: none;\n -webkit-tap-highlight-color: transparent;\n will-change: transform, box-shadow;\n font-family: \"minimorphism\", sans-serif;\n}\n\n.mds-accordion-title {\n flex: 1;\n padding-right: 16px;\n color: var(--acc-title-color);\n}\n\n.mds-accordion-icon-box {\n position: relative;\n z-index: 3;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 52px;\n height: 52px;\n border-radius: 15px;\n flex-shrink: 0;\n will-change: box-shadow;\n}\n\n.mds-accordion-chevron {\n width: 18px;\n height: 18px;\n transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);\n margin-right: 7.5px;\n transform: rotate(180deg);\n color: var(--acc-chevron-color);\n}\n.mds-accordion-chevron--open {\n transform: rotate(0deg);\n}\n\n.mds-accordion-content-grid {\n position: relative;\n z-index: 2;\n display: grid;\n grid-template-rows: 0fr;\n transition: grid-template-rows 0.3s cubic-bezier(0.4, 0, 0.2, 1);\n}\n.mds-accordion-content-grid--open {\n grid-template-rows: 1fr;\n}\n\n.mds-accordion-content-inner {\n min-height: 0;\n overflow: hidden;\n}\n\n.mds-accordion-content {\n padding: 16px 24px 24px 24px;\n color: var(--acc-text-color);\n opacity: 0;\n transform: translateY(-10px);\n transition: opacity 0.3s ease-out, transform 0.3s ease-out;\n}\n.mds-accordion-content-grid--open .mds-accordion-content {\n opacity: 1;\n transform: translateY(0);\n}\n\n.mds-accordion--black .mds-accordion-content {\n --acc-text-color: #ffffff;\n}\n\n.mds-accordion-body-bg--dark-gray,\n.mds-accordion-body-bg--white,\n.mds-accordion-body-bg--anodized {\n opacity: 1;\n}\n\n.mds-accordion-icon-box--white,\n.mds-accordion-icon-box--black,\n.mds-accordion-icon-box--anodized {\n opacity: 1;\n}\n/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkFjY29yZGlvbi5tb2R1bGUuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFLQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7O0FBRUE7RUFDRTtFQUNBO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7OztBQUlKO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0U7OztBQUlKO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNFOzs7QUFJSjtFQUNFO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQSxZQUNFOztBQUdGO0VBQ0U7RUFDQTs7O0FBSUo7RUFDRTs7O0FBR0Y7QUFBQTtBQUFBO0VBR0U7OztBQUdGO0FBQUE7QUFBQTtFQUdFIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IChjKSAyMDI2IG1pbmltb3JwaGlzbVxuLy8gU3R5bGVzIGZvciBBY2NvcmRpb25cblxuQHVzZSBcIi4uLy4uL3N0eWxlcy9jb2xvcnNcIiBhcyBjO1xuXG4ubWRzLWFjY29yZGlvbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGZvbnQtZmFtaWx5OiBcIm1pbmltb3JwaGlzbVwiLCBzYW5zLXNlcmlmO1xuXG4gIC0tYWNjLXRleHQtY29sb3I6ICN7Yy4kbWRzLWJsYWNrfTtcbiAgLS1hY2MtdGl0bGUtY29sb3I6IHJnYmEoMTc3LCAxNzcsIDE3NywgMC4zNSk7XG4gIC0tYWNjLWNoZXZyb24tY29sb3I6ICN7Yy4kbWRzLWJsYWNrfTtcblxuICAmLS13aGl0ZSB7XG4gICAgLS1hY2MtdGV4dC1jb2xvcjogI3tjLiRtZHMtYmxhY2t9O1xuICAgIC0tYWNjLXRpdGxlLWNvbG9yOiByZ2JhKDE3NywgMTc3LCAxNzcsIDAuMzUpO1xuICAgIC0tYWNjLWNoZXZyb24tY29sb3I6ICN7Yy4kbWRzLWJsYWNrfTtcbiAgfVxuXG4gICYtLWJsYWNrIHtcbiAgICAtLWFjYy10ZXh0LWNvbG9yOiAje2MuJG1kcy13aGl0ZX07XG4gICAgLS1hY2MtdGl0bGUtY29sb3I6IHJnYmEoMTc3LCAxNzcsIDE3NywgMC4zNSk7XG4gICAgLS1hY2MtY2hldnJvbi1jb2xvcjogI3tjLiRtZHMtd2hpdGV9O1xuICB9XG5cbiAgJi0tYW5vZGl6ZWQge1xuICAgIC0tYWNjLXRleHQtY29sb3I6ICN7Yy4kbWRzLWJsYWNrfTtcbiAgICAtLWFjYy10aXRsZS1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjM1KTtcbiAgICAtLWFjYy1jaGV2cm9uLWNvbG9yOiAje2MuJG1kcy1ibGFja307XG4gIH1cbn1cblxuLm1kcy1hY2NvcmRpb24tYm9keS1iZyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICB6LWluZGV4OiAxO1xuICBib3JkZXItcmFkaXVzOiAyMHB4O1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgd2lsbC1jaGFuZ2U6IGJveC1zaGFkb3c7XG59XG5cbi5tZHMtYWNjb3JkaW9uLWhlYWRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMjtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICB3aWR0aDogMTAwJTtcbiAgbWluLWhlaWdodDogMXB4O1xuICBwYWRkaW5nOiAwcHggMHB4IDBweCAxOHB4O1xuICBib3JkZXItcmFkaXVzOiAyMHB4O1xuXG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IG5vbmU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgY29sb3I6IHZhcigtLWFjYy10ZXh0LWNvbG9yKTtcbiAgZm9udC1zaXplOiAxLjVyZW07XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGxldHRlci1zcGFjaW5nOiAyLjVweDtcbiAgb3V0bGluZTogbm9uZTtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybSwgYm94LXNoYWRvdztcblxuICBmb250LWZhbWlseTogXCJtaW5pbW9ycGhpc21cIiwgc2Fucy1zZXJpZjtcbn1cblxuLm1kcy1hY2NvcmRpb24tdGl0bGUge1xuICBmbGV4OiAxO1xuICBwYWRkaW5nLXJpZ2h0OiAxNnB4O1xuICBjb2xvcjogdmFyKC0tYWNjLXRpdGxlLWNvbG9yKTtcbn1cblxuLm1kcy1hY2NvcmRpb24taWNvbi1ib3gge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDM7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB3aWR0aDogNTJweDtcbiAgaGVpZ2h0OiA1MnB4O1xuICBib3JkZXItcmFkaXVzOiAxNXB4O1xuICBmbGV4LXNocmluazogMDtcbiAgd2lsbC1jaGFuZ2U6IGJveC1zaGFkb3c7XG59XG5cbi5tZHMtYWNjb3JkaW9uLWNoZXZyb24ge1xuICB3aWR0aDogMThweDtcbiAgaGVpZ2h0OiAxOHB4O1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpO1xuICBtYXJnaW4tcmlnaHQ6IDcuNXB4O1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICBjb2xvcjogdmFyKC0tYWNjLWNoZXZyb24tY29sb3IpO1xuXG4gICYtLW9wZW4ge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICB9XG59XG5cbi5tZHMtYWNjb3JkaW9uLWNvbnRlbnQtZ3JpZCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMjtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiAwZnI7XG4gIHRyYW5zaXRpb246IGdyaWQtdGVtcGxhdGUtcm93cyAwLjNzIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSk7XG5cbiAgJi0tb3BlbiB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiAxZnI7XG4gIH1cbn1cblxuLm1kcy1hY2NvcmRpb24tY29udGVudC1pbm5lciB7XG4gIG1pbi1oZWlnaHQ6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5tZHMtYWNjb3JkaW9uLWNvbnRlbnQge1xuICBwYWRkaW5nOiAxNnB4IDI0cHggMjRweCAyNHB4O1xuICBjb2xvcjogdmFyKC0tYWNjLXRleHQtY29sb3IpO1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwcHgpO1xuICB0cmFuc2l0aW9uOlxuICAgIG9wYWNpdHkgMC4zcyBlYXNlLW91dCxcbiAgICB0cmFuc2Zvcm0gMC4zcyBlYXNlLW91dDtcblxuICAubWRzLWFjY29yZGlvbi1jb250ZW50LWdyaWQtLW9wZW4gJiB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gIH1cbn1cblxuLm1kcy1hY2NvcmRpb24tLWJsYWNrIC5tZHMtYWNjb3JkaW9uLWNvbnRlbnQge1xuICAtLWFjYy10ZXh0LWNvbG9yOiAje2MuJG1kcy13aGl0ZX07XG59XG5cbi5tZHMtYWNjb3JkaW9uLWJvZHktYmctLWRhcmstZ3JheSxcbi5tZHMtYWNjb3JkaW9uLWJvZHktYmctLXdoaXRlLFxuLm1kcy1hY2NvcmRpb24tYm9keS1iZy0tYW5vZGl6ZWQge1xuICBvcGFjaXR5OiAxO1xufVxuXG4ubWRzLWFjY29yZGlvbi1pY29uLWJveC0td2hpdGUsXG4ubWRzLWFjY29yZGlvbi1pY29uLWJveC0tYmxhY2ssXG4ubWRzLWFjY29yZGlvbi1pY29uLWJveC0tYW5vZGl6ZWQge1xuICBvcGFjaXR5OiAxOyBcbn0iXX0= */","// Copyright (c) 2026 minimorphism\n// Icons for Widgets\n\nimport React, { useRef, useEffect, useId } from \"react\";\n\nexport const Icons = {\n\tEyeOpenIcon: ({ size = 40 }) => (\n\t\t<svg\n\t\t\twidth={size}\n\t\t\theight={size}\n\t\t\tviewBox=\"0 0 84 67\"\n\t\t\tfill=\"none\"\n\t\t\txmlns=\"http://www.w3.org/2000/svg\"\n\t\t>\n\t\t\t<g filter=\"url(#filter0_d_384_200)\">\n\t\t\t\t<path\n\t\t\t\t\td=\"M21.0458 21.6191C25.8841 17.8142 33.1175 15.0908 41.6078 15.0908C50.0981 15.0908 57.3315 17.8142 62.1698 21.6191C66.334 24.894 67.5867 28.2229 68.429 31.4547C68.6953 32.4763 68.6953 33.5595 68.429 34.5812C67.5867 37.813 66.334 41.1419 62.1698 44.4167C57.3315 48.2217 50.0981 50.9451 41.6078 50.9451C33.1175 50.9451 25.8841 48.2217 21.0458 44.4167C16.8817 41.1419 15.629 37.813 14.7867 34.5812C14.5204 33.5595 14.5204 32.4763 14.7867 31.4547C15.629 28.2229 16.8817 24.894 21.0458 21.6191ZM78.6537 28.5692C73.5616 15.0755 60.7457 4 41.6078 4C22.4699 4 9.65401 15.0755 4.56197 28.5692C3.84439 31.4547 3.79681 34.5812 4.51873 37.4842C9.7832 52.2269 22.2869 62.0359 41.6078 62.0359C60.9287 62.0359 73.4324 52.2269 78.6969 37.4842C79.4189 34.5812 79.3713 31.4547 78.6537 28.5692Z\"\n\t\t\t\t\tfill=\"#B1B1B1\"\n\t\t\t\t\tfillOpacity=\"0.35\"\n\t\t\t\t/>\n\t\t\t\t<circle\n\t\t\t\t\tcx=\"41.5001\"\n\t\t\t\t\tcy=\"32.5\"\n\t\t\t\t\tr=\"9.5\"\n\t\t\t\t\tfill=\"#B1B1B1\"\n\t\t\t\t\tfillOpacity=\"0.35\"\n\t\t\t\t/>\n\t\t\t</g>\n\t\t\t<defs>\n\t\t\t\t<filter\n\t\t\t\t\tid=\"filter0_d_384_200\"\n\t\t\t\t\tx=\"0\"\n\t\t\t\t\ty=\"0\"\n\t\t\t\t\twidth=\"83.2157\"\n\t\t\t\t\theight=\"66.0359\"\n\t\t\t\t\tfilterUnits=\"userSpaceOnUse\"\n\t\t\t\t\tcolorInterpolationFilters=\"sRGB\"\n\t\t\t\t>\n\t\t\t\t\t<feFlood floodOpacity=\"0\" result=\"BackgroundImageFix\" />\n\t\t\t\t\t<feColorMatrix\n\t\t\t\t\t\tin=\"SourceAlpha\"\n\t\t\t\t\t\ttype=\"matrix\"\n\t\t\t\t\t\tvalues=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\"\n\t\t\t\t\t\tresult=\"hardAlpha\"\n\t\t\t\t\t/>\n\t\t\t\t\t<feOffset />\n\t\t\t\t\t<feGaussianBlur stdDeviation=\"2\" />\n\t\t\t\t\t<feComposite in2=\"hardAlpha\" operator=\"out\" />\n\t\t\t\t\t<feColorMatrix\n\t\t\t\t\t\ttype=\"matrix\"\n\t\t\t\t\t\tvalues=\"0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0.12 0\"\n\t\t\t\t\t/>\n\t\t\t\t\t<feBlend\n\t\t\t\t\t\tmode=\"normal\"\n\t\t\t\t\t\tin2=\"BackgroundImageFix\"\n\t\t\t\t\t\tresult=\"effect1_dropShadow_384_200\"\n\t\t\t\t\t/>\n\t\t\t\t\t<feBlend\n\t\t\t\t\t\tmode=\"normal\"\n\t\t\t\t\t\tin=\"SourceGraphic\"\n\t\t\t\t\t\tin2=\"effect1_dropShadow_384_200\"\n\t\t\t\t\t\tresult=\"shape\"\n\t\t\t\t\t/>\n\t\t\t\t</filter>\n\t\t\t</defs>\n\t\t</svg>\n\t),\n\n\tEyeClosedIcon: ({ size = 40 }) => (\n\t\t<svg\n\t\t\twidth={size}\n\t\t\theight={size}\n\t\t\tviewBox=\"0 0 84 67\"\n\t\t\tfill=\"none\"\n\t\t\txmlns=\"http://www.w3.org/2000/svg\"\n\t\t>\n\t\t\t<g filter=\"url(#filter0_d_384_200)\">\n\t\t\t\t<path\n\t\t\t\t\td=\"M21.0458 21.6191C25.8841 17.8142 33.1175 15.0908 41.6078 15.0908C50.0981 15.0908 57.3315 17.8142 62.1698 21.6191C66.334 24.894 67.5867 28.2229 68.429 31.4547C68.6953 32.4763 68.6953 33.5595 68.429 34.5812C67.5867 37.813 66.334 41.1419 62.1698 44.4167C57.3315 48.2217 50.0981 50.9451 41.6078 50.9451C33.1175 50.9451 25.8841 48.2217 21.0458 44.4167C16.8817 41.1419 15.629 37.813 14.7867 34.5812C14.5204 33.5595 14.5204 32.4763 14.7867 31.4547C15.629 28.2229 16.8817 24.894 21.0458 21.6191ZM78.6537 28.5692C73.5616 15.0755 60.7457 4 41.6078 4C22.4699 4 9.65401 15.0755 4.56197 28.5692C3.84439 31.4547 3.79681 34.5812 4.51873 37.4842C9.7832 52.2269 22.2869 62.0359 41.6078 62.0359C60.9287 62.0359 73.4324 52.2269 78.6969 37.4842C79.4189 34.5812 79.3713 31.4547 78.6537 28.5692Z\"\n\t\t\t\t\tfill=\"#B1B1B1\"\n\t\t\t\t\tfillOpacity=\"0.35\"\n\t\t\t\t/>\n\t\t\t\t<path\n\t\t\t\t\tfillRule=\"evenodd\"\n\t\t\t\t\tclipRule=\"evenodd\"\n\t\t\t\t\td=\"M51.8484 23.3453L51.9776 23.3569C51.9361 23.3491 51.893 23.3453 51.8484 23.3453ZM52.5328 24.0213L52.5219 24.1547C52.5292 24.1109 52.5328 24.0665 52.5328 24.0213ZM52.5494 42.6018L52.5382 42.7227C52.5457 42.6831 52.5494 42.6427 52.5494 42.6018ZM47.8757 43.2951L47.6599 43.2729C47.7287 43.2873 47.8006 43.2951 47.8757 43.2951ZM36.1412 42.9485L35.9792 43.0965C36.0358 43.054 36.0899 43.0046 36.1412 42.9485ZM30.792 42.2122L30.8666 42.0991C30.8385 42.1362 30.8137 42.1739 30.792 42.2122ZM30.781 23.6651L30.8666 23.5533C30.8341 23.5899 30.8056 23.6271 30.781 23.6651Z\"\n\t\t\t\t\tfill=\"#B1B1B1\"\n\t\t\t\t\tfillOpacity=\"0.35\"\n\t\t\t\t/>\n\t\t\t\t<path\n\t\t\t\t\tfillRule=\"evenodd\"\n\t\t\t\t\tclipRule=\"evenodd\"\n\t\t\t\t\td=\"M30.8666 23.5533C30.8341 23.5899 30.8056 23.6271 30.781 23.6651L30.8666 23.5533ZM51.8484 23.3453L51.9776 23.3569C51.9361 23.3491 51.893 23.3453 51.8484 23.3453ZM52.5328 24.0213L52.5219 24.1547C52.5292 24.1109 52.5328 24.0665 52.5328 24.0213ZM52.5494 42.6018L52.5382 42.7227C52.5457 42.6831 52.5494 42.6427 52.5494 42.6018ZM47.8757 43.2951L47.6599 43.2729C47.7287 43.2873 47.8006 43.2951 47.8757 43.2951ZM36.1412 42.9485L35.9792 43.0965C36.0358 43.054 36.0899 43.0046 36.1412 42.9485ZM30.792 42.2122L30.8666 42.0991C30.8385 42.1362 30.8137 42.1739 30.792 42.2122Z\"\n\t\t\t\t\tfill=\"#B1B1B1\"\n\t\t\t\t\tfillOpacity=\"0.35\"\n\t\t\t\t/>\n\t\t\t\t<path\n\t\t\t\t\tfillRule=\"evenodd\"\n\t\t\t\t\tclipRule=\"evenodd\"\n\t\t\t\t\td=\"M29.4187 22.1005C29.931 21.5687 30.6125 21.2726 31.3507 21.2726H35.3397C36.2204 21.2726 37.017 21.6428 37.599 22.3069L41.59 26.8187L45.5632 22.3069L45.589 22.2766C46.171 21.6405 46.9594 21.2726 47.8424 21.2726H51.8492C52.4949 21.2728 53.0973 21.4995 53.5809 21.9122L53.7813 22.1005L53.9459 22.2867C54.3148 22.7422 54.5648 23.3344 54.5648 24.0214C54.5648 24.7132 54.3241 25.3245 53.9578 25.8087L53.9102 25.8694L53.8606 25.9261L47.3365 33.3344L53.8725 40.7083L53.9261 40.769L53.9737 40.8318C54.3194 41.2887 54.5804 41.891 54.5807 42.6009C54.5807 43.3751 54.2639 44.0166 53.8527 44.4792L53.8269 44.5096L53.7971 44.54C53.2848 45.0718 52.6033 45.3678 51.8651 45.3678H47.8761C46.995 45.3678 46.1969 44.9983 45.6148 44.3335L41.6238 39.8197L37.6526 44.3335L37.6268 44.3639C37.0448 45 36.2563 45.3678 35.3734 45.3678H31.3666C30.6285 45.3676 29.9467 45.0718 29.4345 44.54C29.0342 44.1242 28.7352 43.5657 28.6669 42.9065L28.651 42.6191L28.6629 42.364C28.7139 41.7768 28.9374 41.2555 29.258 40.8318L29.3056 40.771L29.3552 40.7144L35.8773 33.304L29.3433 25.9321L29.2897 25.8714L29.2421 25.8087C28.9396 25.4088 28.7019 24.8976 28.647 24.3007L28.6351 24.0396L28.649 23.7542C28.7152 23.1066 29.0034 22.5659 29.3631 22.1612L29.3889 22.1308L29.4187 22.1005ZM51.8484 23.3453L51.9776 23.3569C51.9361 23.3491 51.893 23.3453 51.8484 23.3453ZM52.5328 24.0213L52.5219 24.1547C52.5292 24.1109 52.5328 24.0665 52.5328 24.0213ZM52.5494 42.6018L52.5382 42.7227C52.5457 42.6831 52.5494 42.6427 52.5494 42.6018ZM47.8757 43.2951L47.6599 43.2729C47.7287 43.2873 47.8006 43.2951 47.8757 43.2951ZM36.1412 42.9485L35.9792 43.0965C36.0358 43.054 36.0899 43.0046 36.1412 42.9485ZM30.792 42.2122L30.8666 42.0991C30.8385 42.1362 30.8137 42.1739 30.792 42.2122ZM30.781 23.6651L30.8666 23.5533C30.8341 23.5899 30.8056 23.6271 30.781 23.6651Z\"\n\t\t\t\t\tfill=\"#B1B1B1\"\n\t\t\t\t\tfillOpacity=\"0.35\"\n\t\t\t\t/>\n\t\t\t</g>\n\t\t\t<defs>\n\t\t\t\t<filter\n\t\t\t\t\tid=\"filter0_d_384_200\"\n\t\t\t\t\tx=\"0\"\n\t\t\t\t\ty=\"0\"\n\t\t\t\t\twidth=\"83.2157\"\n\t\t\t\t\theight=\"66.0359\"\n\t\t\t\t\tfilterUnits=\"userSpaceOnUse\"\n\t\t\t\t\tcolorInterpolationFilters=\"sRGB\"\n\t\t\t\t>\n\t\t\t\t\t<feFlood floodOpacity=\"0\" result=\"BackgroundImageFix\" />\n\t\t\t\t\t<feColorMatrix\n\t\t\t\t\t\tin=\"SourceAlpha\"\n\t\t\t\t\t\ttype=\"matrix\"\n\t\t\t\t\t\tvalues=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\"\n\t\t\t\t\t\tresult=\"hardAlpha\"\n\t\t\t\t\t/>\n\t\t\t\t\t<feOffset />\n\t\t\t\t\t<feGaussianBlur stdDeviation=\"2\" />\n\t\t\t\t\t<feComposite in2=\"hardAlpha\" operator=\"out\" />\n\t\t\t\t\t<feColorMatrix\n\t\t\t\t\t\ttype=\"matrix\"\n\t\t\t\t\t\tvalues=\"0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0.12 0\"\n\t\t\t\t\t/>\n\t\t\t\t\t<feBlend\n\t\t\t\t\t\tmode=\"normal\"\n\t\t\t\t\t\tin2=\"BackgroundImageFix\"\n\t\t\t\t\t\tresult=\"effect1_dropShadow_384_200\"\n\t\t\t\t\t/>\n\t\t\t\t\t<feBlend\n\t\t\t\t\t\tmode=\"normal\"\n\t\t\t\t\t\tin=\"SourceGraphic\"\n\t\t\t\t\t\tin2=\"effect1_dropShadow_384_200\"\n\t\t\t\t\t\tresult=\"shape\"\n\t\t\t\t\t/>\n\t\t\t\t</filter>\n\t\t\t</defs>\n\t\t</svg>\n\t),\n\n\tCloseModal: ({ size = 20 }) => (\n\t\t<svg\n\t\t\twidth=\"64\"\n\t\t\theight=\"59\"\n\t\t\tviewBox=\"0 0 64 59\"\n\t\t\tfill=\"none\"\n\t\t\txmlns=\"http://www.w3.org/2000/svg\"\n\t\t>\n\t\t\t<g filter=\"url(#filter0_ddiiii_1090_137)\">\n\t\t\t\t<path\n\t\t\t\t\td=\"M38.0746 29.1775C38.082 28.8595 38.1965 28.5802 38.4198 28.3397L52.2161 13.4453C52.4471 13.1551 52.5626 12.8442 52.5626 12.5125C52.5626 12.2016 52.4366 11.9217 52.1846 11.6729C51.9326 11.4242 51.6281 11.2998 51.2711 11.2998L43.7115 11.2998C43.1446 11.2998 42.6616 11.5071 42.2626 11.9217L32.8761 22.0586C32.6031 22.3281 32.2777 22.4628 31.8997 22.4628C31.5217 22.4628 31.2067 22.3281 30.9547 22.0586L21.5367 11.9217C21.1588 11.5071 20.6863 11.2998 20.1193 11.2998H12.5912C12.2343 11.2998 11.9298 11.4242 11.6778 11.6729C11.4258 11.9424 11.2998 12.2326 11.2998 12.5436C11.2998 12.8545 11.4153 13.1551 11.6463 13.4453L25.474 28.2775C25.705 28.5263 25.8205 28.8165 25.8205 29.1482C25.8205 29.1691 25.8201 29.1898 25.8191 29.2104C25.8117 29.5284 25.6972 29.8076 25.4739 30.0481L11.6777 44.9425C11.4467 45.2327 11.3312 45.5437 11.3312 45.8753C11.3312 46.1863 11.4572 46.4661 11.7091 46.7149C11.9611 46.9637 12.2656 47.088 12.6226 47.088H20.1822C20.7492 47.088 21.2321 46.8807 21.6311 46.4661L31.0176 36.3293C31.2906 36.0598 31.6161 35.925 31.994 35.925C32.372 35.925 32.687 36.0598 32.939 36.3293L42.357 46.4661C42.735 46.8807 43.2074 47.088 43.7744 47.088H51.3025C51.6595 47.088 51.964 46.9637 52.2159 46.7149C52.4679 46.4454 52.5939 46.1552 52.5939 45.8442C52.5939 45.5333 52.4784 45.2327 52.2474 44.9425L38.4197 30.1103C38.1887 29.8615 38.0732 29.5713 38.0732 29.2397C38.0732 29.2188 38.0737 29.198 38.0746 29.1775Z\"\n\t\t\t\t\tfill=\"white\"\n\t\t\t\t/>\n\t\t\t</g>\n\t\t\t<defs>\n\t\t\t\t<filter\n\t\t\t\t\tid=\"filter0_ddiiii_1090_137\"\n\t\t\t\t\tx=\"-0.000195503\"\n\t\t\t\t\ty=\"-8.7002\"\n\t\t\t\t\twidth=\"63.8939\"\n\t\t\t\t\theight=\"138.788\"\n\t\t\t\t\tfilterUnits=\"userSpaceOnUse\"\n\t\t\t\t\tcolorInterpolationFilters=\"sRGB\"\n\t\t\t\t>\n\t\t\t\t\t<feFlood floodOpacity=\"0\" result=\"BackgroundImageFix\" />\n\t\t\t\t\t<feColorMatrix\n\t\t\t\t\t\tin=\"SourceAlpha\"\n\t\t\t\t\t\ttype=\"matrix\"\n\t\t\t\t\t\tvalues=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\"\n\t\t\t\t\t\tresult=\"hardAlpha\"\n\t\t\t\t\t/>\n\t\t\t\t\t<feOffset dy=\"3\" />\n\t\t\t\t\t<feGaussianBlur stdDeviation=\"3.5\" />\n\t\t\t\t\t<feComposite in2=\"hardAlpha\" operator=\"out\" />\n\t\t\t\t\t<feColorMatrix\n\t\t\t\t\t\ttype=\"matrix\"\n\t\t\t\t\t\tvalues=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.35 0\"\n\t\t\t\t\t/>\n\t\t\t\t\t<feBlend\n\t\t\t\t\t\tmode=\"normal\"\n\t\t\t\t\t\tin2=\"BackgroundImageFix\"\n\t\t\t\t\t\tresult=\"effect1_dropShadow_1090_137\"\n\t\t\t\t\t/>\n\t\t\t\t\t<feColorMatrix\n\t\t\t\t\t\tin=\"SourceAlpha\"\n\t\t\t\t\t\ttype=\"matrix\"\n\t\t\t\t\t\tvalues=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\"\n\t\t\t\t\t\tresult=\"hardAlpha\"\n\t\t\t\t\t/>\n\t\t\t\t\t<feOffset />\n\t\t\t\t\t<feGaussianBlur stdDeviation=\"5.65\" />\n\t\t\t\t\t<feComposite in2=\"hardAlpha\" operator=\"out\" />\n\t\t\t\t\t<feColorMatrix\n\t\t\t\t\t\ttype=\"matrix\"\n\t\t\t\t\t\tvalues=\"0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0.2 0\"\n\t\t\t\t\t/>\n\t\t\t\t\t<feBlend\n\t\t\t\t\t\tmode=\"normal\"\n\t\t\t\t\t\tin2=\"effect1_dropShadow_1090_137\"\n\t\t\t\t\t\tresult=\"effect2_dropShadow_1090_137\"\n\t\t\t\t\t/>\n\t\t\t\t\t<feBlend\n\t\t\t\t\t\tmode=\"normal\"\n\t\t\t\t\t\tin=\"SourceGraphic\"\n\t\t\t\t\t\tin2=\"effect2_dropShadow_1090_137\"\n\t\t\t\t\t\tresult=\"shape\"\n\t\t\t\t\t/>\n\t\t\t\t\t<feColorMatrix\n\t\t\t\t\t\tin=\"SourceAlpha\"\n\t\t\t\t\t\ttype=\"matrix\"\n\t\t\t\t\t\tvalues=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\"\n\t\t\t\t\t\tresult=\"hardAlpha\"\n\t\t\t\t\t/>\n\t\t\t\t\t<feOffset />\n\t\t\t\t\t<feGaussianBlur stdDeviation=\"12\" />\n\t\t\t\t\t<feComposite\n\t\t\t\t\t\tin2=\"hardAlpha\"\n\t\t\t\t\t\toperator=\"arithmetic\"\n\t\t\t\t\t\tk2=\"-1\"\n\t\t\t\t\t\tk3=\"1\"\n\t\t\t\t\t/>\n\t\t\t\t\t<feColorMatrix\n\t\t\t\t\t\ttype=\"matrix\"\n\t\t\t\t\t\tvalues=\"0 0 0 0 0.470588 0 0 0 0 0.470588 0 0 0 0 0.470588 0 0 0 0.03 0\"\n\t\t\t\t\t/>\n\t\t\t\t\t<feBlend\n\t\t\t\t\t\tmode=\"normal\"\n\t\t\t\t\t\tin2=\"shape\"\n\t\t\t\t\t\tresult=\"effect3_innerShadow_1090_137\"\n\t\t\t\t\t/>\n\t\t\t\t\t<feColorMatrix\n\t\t\t\t\t\tin=\"SourceAlpha\"\n\t\t\t\t\t\ttype=\"matrix\"\n\t\t\t\t\t\tvalues=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\"\n\t\t\t\t\t\tresult=\"hardAlpha\"\n\t\t\t\t\t/>\n\t\t\t\t\t<feOffset dy=\"-20\" />\n\t\t\t\t\t<feGaussianBlur stdDeviation=\"23.65\" />\n\t\t\t\t\t<feComposite\n\t\t\t\t\t\tin2=\"hardAlpha\"\n\t\t\t\t\t\toperator=\"arithmetic\"\n\t\t\t\t\t\tk2=\"-1\"\n\t\t\t\t\t\tk3=\"1\"\n\t\t\t\t\t/>\n\t\t\t\t\t<feColorMatrix\n\t\t\t\t\t\ttype=\"matrix\"\n\t\t\t\t\t\tvalues=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.15 0\"\n\t\t\t\t\t/>\n\t\t\t\t\t<feBlend\n\t\t\t\t\t\tmode=\"normal\"\n\t\t\t\t\t\tin2=\"effect3_innerShadow_1090_137\"\n\t\t\t\t\t\tresult=\"effect4_innerShadow_1090_137\"\n\t\t\t\t\t/>\n\t\t\t\t\t<feColorMatrix\n\t\t\t\t\t\tin=\"SourceAlpha\"\n\t\t\t\t\t\ttype=\"matrix\"\n\t\t\t\t\t\tvalues=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\"\n\t\t\t\t\t\tresult=\"hardAlpha\"\n\t\t\t\t\t/>\n\t\t\t\t\t<feOffset dy=\"83\" />\n\t\t\t\t\t<feGaussianBlur stdDeviation=\"59.5\" />\n\t\t\t\t\t<feComposite\n\t\t\t\t\t\tin2=\"hardAlpha\"\n\t\t\t\t\t\toperator=\"arithmetic\"\n\t\t\t\t\t\tk2=\"-1\"\n\t\t\t\t\t\tk3=\"1\"\n\t\t\t\t\t/>\n\t\t\t\t\t<feColorMatrix\n\t\t\t\t\t\ttype=\"matrix\"\n\t\t\t\t\t\tvalues=\"0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0.3 0\"\n\t\t\t\t\t/>\n\t\t\t\t\t<feBlend\n\t\t\t\t\t\tmode=\"normal\"\n\t\t\t\t\t\tin2=\"effect4_innerShadow_1090_137\"\n\t\t\t\t\t\tresult=\"effect5_innerShadow_1090_137\"\n\t\t\t\t\t/>\n\t\t\t\t\t<feColorMatrix\n\t\t\t\t\t\tin=\"SourceAlpha\"\n\t\t\t\t\t\ttype=\"matrix\"\n\t\t\t\t\t\tvalues=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\"\n\t\t\t\t\t\tresult=\"hardAlpha\"\n\t\t\t\t\t/>\n\t\t\t\t\t<feOffset dy=\"24\" />\n\t\t\t\t\t<feGaussianBlur stdDeviation=\"10.5\" />\n\t\t\t\t\t<feComposite\n\t\t\t\t\t\tin2=\"hardAlpha\"\n\t\t\t\t\t\toperator=\"arithmetic\"\n\t\t\t\t\t\tk2=\"-1\"\n\t\t\t\t\t\tk3=\"1\"\n\t\t\t\t\t/>\n\t\t\t\t\t<feColorMatrix\n\t\t\t\t\t\ttype=\"matrix\"\n\t\t\t\t\t\tvalues=\"0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0.24 0\"\n\t\t\t\t\t/>\n\t\t\t\t\t<feBlend\n\t\t\t\t\t\tmode=\"normal\"\n\t\t\t\t\t\tin2=\"effect5_innerShadow_1090_137\"\n\t\t\t\t\t\tresult=\"effect6_innerShadow_1090_137\"\n\t\t\t\t\t/>\n\t\t\t\t</filter>\n\t\t\t</defs>\n\t\t</svg>\n\t),\n\n\tAlert: ({ size = 20 }) => (\n\t\t<svg\n\t\t\twidth=\"9\"\n\t\t\theight=\"43\"\n\t\t\tviewBox=\"0 0 9 43\"\n\t\t\tfill=\"none\"\n\t\t\txmlns=\"http://www.w3.org/2000/svg\"\n\t\t>\n\t\t\t<path\n\t\t\t\td=\"M6.83395 30.7472C6.81489 31.0607 6.69101 31.3253 6.46231 31.5408C6.25267 31.7564 5.98585 31.8642 5.66186 31.8642H2.77451C2.45051 31.8642 2.17417 31.7564 1.94546 31.5408C1.73582 31.3253 1.62147 31.0607 1.60241 30.7472L0.00150461 1.91067C-0.0175538 1.38156 0.144443 0.930841 0.487495 0.558505C0.830546 0.186168 1.25936 0 1.77394 0H6.66243C7.177 0 7.60582 0.186168 7.94887 0.558505C8.29192 0.930841 8.45392 1.38156 8.43486 1.91067L6.83395 30.7472ZM7.94887 38.3899C7.94887 38.919 7.84405 39.4187 7.63441 39.889C7.44382 40.3397 7.177 40.7415 6.83395 41.0942C6.50996 41.4273 6.11926 41.6919 5.66186 41.8879C5.22351 42.0838 4.75658 42.1818 4.26106 42.1818C3.74649 42.1818 3.2605 42.0838 2.80309 41.8879C2.36475 41.6919 1.97405 41.4273 1.631 41.0942C1.30701 40.7415 1.04972 40.3397 0.859134 39.889C0.66855 39.4187 0.573257 38.919 0.573257 38.3899C0.573257 37.8803 0.66855 37.4002 0.859134 36.9495C1.04972 36.4792 1.30701 36.0775 1.631 35.7443C1.97405 35.3916 2.36475 35.1172 2.80309 34.9213C3.2605 34.7057 3.74649 34.5979 4.26106 34.5979C4.75658 34.5979 5.22351 34.7057 5.66186 34.9213C6.11926 35.1172 6.50996 35.3916 6.83395 35.7443C7.177 36.0775 7.44382 36.4792 7.63441 36.9495C7.84405 37.4002 7.94887 37.8803 7.94887 38.3899Z\"\n\t\t\t\tfill=\"black\"\n\t\t\t/>\n\t\t</svg>\n\t),\n\n\tChevronIconAccordion: ({ className }: { className?: string }) => (\n\t\t<svg\n\t\t\twidth=\"27\"\n\t\t\theight=\"17\"\n\t\t\tviewBox=\"0 0 27 17\"\n\t\t\tclassName={className}\n\t\t\txmlns=\"http://www.w3.org/2000/svg\"\n\t\t>\n\t\t\t<path\n\t\t\t\td=\"M11.8711 0.921651C12.8635 -0.13305 14.4725 -0.13305 15.4649 0.921651L26.2557 12.3896C27.2481 13.4443 27.2481 15.1543 26.2557 16.209C25.2633 17.2637 23.6542 17.2637 22.6618 16.209L11.8711 4.74106C10.8786 3.68636 10.8786 1.97635 11.8711 0.921651Z\"\n\t\t\t\tfill=\"currentColor\"\n\t\t\t/>\n\t\t\t<path\n\t\t\t\td=\"M15.1289 0.791026C16.1214 1.84573 16.1214 3.55574 15.1289 4.61044L4.3382 16.0783C3.34577 17.133 1.73674 17.133 0.744315 16.0783C-0.248107 15.0236 -0.248107 13.3136 0.744316 12.2589L11.5351 0.791024C12.5275 -0.263676 14.1365 -0.263675 15.1289 0.791026Z\"\n\t\t\t\tfill=\"currentColor\"\n\t\t\t/>\n\t\t</svg>\n\t),\n\n\tMockIcon: () => (\n\t\t<svg\n\t\t\twidth=\"23\"\n\t\t\theight=\"104\"\n\t\t\tviewBox=\"0 0 23 104\"\n\t\t\txmlns=\"http://www.w3.org/2000/svg\"\n\t\t>\n\t\t\t<path d=\"M18.6314 75.8077C18.5794 76.5807 18.2417 77.233 17.6182 77.7645C17.0466 78.2959 16.3192 78.5617 15.4359 78.5617H7.56412C6.68082 78.5617 5.92741 78.2959 5.30391 77.7645C4.73236 77.233 4.4206 76.5807 4.36865 75.8077L0.00410201 4.7108C-0.0478568 3.40627 0.393793 2.29501 1.32905 1.377C2.26431 0.459001 3.43339 0 4.83628 0H18.1637C19.5666 0 20.7357 0.459001 21.6709 1.377C22.6062 2.29501 23.0479 3.40627 22.9959 4.7108L18.6314 75.8077ZM21.6709 94.6509C21.6709 95.9554 21.3852 97.1875 20.8136 98.347C20.294 99.4583 19.5666 100.449 18.6314 101.318C17.7481 102.14 16.6829 102.792 15.4359 103.275C14.2408 103.758 12.9678 104 11.6169 104C10.214 104 8.88907 103.758 7.64205 103.275C6.447 102.792 5.38184 102.14 4.44658 101.318C3.56328 100.449 2.86184 99.4583 2.34225 98.347C1.82266 97.1875 1.56287 95.9554 1.56287 94.6509C1.56287 93.3947 1.82266 92.2109 2.34225 91.0997C2.86184 89.9401 3.56328 88.9496 4.44658 88.1282C5.38184 87.2585 6.447 86.5821 7.64205 86.099C8.88907 85.5675 10.214 85.3017 11.6169 85.3017C12.9678 85.3017 14.2408 85.5675 15.4359 86.099C16.6829 86.5821 17.7481 87.2585 18.6314 88.1282C19.5666 88.9496 20.294 89.9401 20.8136 91.0997C21.3852 92.2109 21.6709 93.3947 21.6709 94.6509Z\" />\n\t\t</svg>\n\t),\n\n\tSearchIcon: () => (\n\t\t<svg\n\t\t\twidth=\"31\"\n\t\t\theight=\"41\"\n\t\t\tviewBox=\"0 0 61 71\"\n\t\t\tfill=\"none\"\n\t\t\txmlns=\"http://www.w3.org/2000/svg\"\n\t\t>\n\t\t\t<path\n\t\t\t\tfillRule=\"evenodd\"\n\t\t\t\tclipRule=\"evenodd\"\n\t\t\t\td=\"M46.7961 39.6934C42.8262 46.6658 35.1422 50.108 27.7414 48.9337L23.923 55.6402C21.9768 59.0585 17.7936 60.3044 14.5798 58.4228C11.366 56.5413 10.3384 52.2448 12.2847 48.8265L16.1031 42.12C11.3998 36.2079 10.4975 27.7389 14.4673 20.7664C19.6215 11.7138 31.0369 8.61216 39.9642 13.8387C48.8915 19.0652 51.9502 30.6408 46.7961 39.6934ZM35.678 21.3668C40.5054 24.1929 42.1593 30.4519 39.3722 35.3471C36.5851 40.2422 30.4127 41.9193 25.5854 39.0931C20.758 36.2669 19.1041 30.0079 21.8912 25.1128C24.6783 20.2176 30.8507 18.5406 35.678 21.3668Z\"\n\t\t\t\tfill=\"black\"\n\t\t\t/>\n\t\t</svg>\n\t),\n\n\tCheckbox: () => (\n\t\t<svg\n\t\t\twidth=\"78\"\n\t\t\theight=\"64\"\n\t\t\tviewBox=\"0 0 78 64\"\n\t\t\tfill=\"none\"\n\t\t\txmlns=\"http://www.w3.org/2000/svg\"\n\t\t>\n\t\t\t<path\n\t\t\t\td=\"M52.8096 13.586L33.1164 33.0357C32.9216 33.228 32.6084 33.228 32.4137 33.0357L24.7903 25.5066C21.7042 22.4587 16.7007 22.4587 13.6146 25.5066C10.5285 28.5545 10.5285 33.4962 13.6146 36.5442L27.2532 50.0141C30.3393 53.062 35.3428 53.062 38.4289 50.0141L38.4627 49.9806L63.9854 24.6236C67.0715 21.5756 67.0715 16.6339 63.9854 13.586C60.8993 10.5381 55.8958 10.5381 52.8096 13.586Z\"\n\t\t\t\tfill=\"currentColor\"\n\t\t\t/>\n\t\t</svg>\n\t),\n};\n","// Copyright (c) 2026 minimorphism\n// Component Accordion\n\nimport React, { useRef, useState, useCallback, useId, useEffect } from \"react\";\nimport styles from \"./Accordion.module.scss\";\nimport { registerWidget, unregisterWidget } from \"../../webgl/WebGLStore\";\nimport { Icons } from \"../Icons/Icons\";\nimport type { DisableVariants } from \"../../types\";\n\nexport type AccordionProps = Omit<\n\tReact.HTMLAttributes<HTMLDivElement>,\n\t\"onChange\" | \"title\"\n> & {\n\tvariant?: DisableVariants<\"dark-gray\">;\n\ttitle: React.ReactNode;\n\topen?: boolean;\n\tdefaultOpen?: boolean;\n\tonChange?: (isOpen: boolean) => void;\n};\n\nconst getIconVariant = (\n\tvariant: DisableVariants<\"dark-gray\">\n): DisableVariants<\"dark-gray\"> | \"dark-gray\" => {\n\tswitch (variant) {\n\t\tcase \"white\":\n\t\t\treturn \"black\";\n\t\tcase \"black\":\n\t\t\treturn \"white\";\n\t\tcase \"anodized\":\n\t\t\treturn \"black\";\n\t\tdefault:\n\t\t\treturn \"white\";\n\t}\n};\n\nconst getBodyVariant = (\n\tvariant: DisableVariants<\"dark-gray\">\n): DisableVariants<\"dark-gray\"> | \"dark-gray\" => {\n\tif (variant === \"black\") return \"dark-gray\";\n\treturn variant;\n};\n\nexport const Accordion = React.forwardRef<HTMLDivElement, AccordionProps>(\n\t(\n\t\t{\n\t\t\tvariant = \"white\",\n\t\t\ttitle,\n\t\t\tchildren,\n\t\t\topen,\n\t\t\tdefaultOpen = false,\n\t\t\tonChange,\n\t\t\tclassName = \"\",\n\t\t\tstyle,\n\t\t\t...rest\n\t\t},\n\t\texternalRef\n\t) => {\n\t\tconst isControlled = open !== undefined;\n\t\tconst [internalOpen, setInternalOpen] = useState(\n\t\t\tisControlled ? open : defaultOpen\n\t\t);\n\t\tconst isOpen = isControlled ? open : internalOpen;\n\n\t\tconst internalContainerRef = useRef<HTMLDivElement | null>(null);\n\t\tconst internalHeaderRef = useRef<HTMLButtonElement | null>(null);\n\t\tconst internalBodyRef = useRef<HTMLDivElement | null>(null);\n\t\tconst internalIconRef = useRef<HTMLDivElement | null>(null);\n\n\t\tconst headerId = useId();\n\t\tconst bodyId = useId();\n\t\tconst iconId = useId();\n\n\t\tconst mouseHeaderRef = useRef({ x: 0, y: 0, hover: 0, click: 0 });\n\t\tconst mouseBodyRef = useRef({ x: 0, y: 0, hover: 0, click: 0 });\n\t\tconst mouseIconRef = useRef({ x: 0, y: 0, hover: 0, click: 0 });\n\n\t\tconst iconVariant = getIconVariant(variant);\n\t\tconst bodyVariant = getBodyVariant(variant);\n\n\t\tconst handleToggle = () => {\n\t\t\tconst newState = !isOpen;\n\t\t\tif (!isControlled) setInternalOpen(newState);\n\t\t\tif (onChange) onChange(newState);\n\t\t};\n\n\t\tconst handlePointerMove = (e: React.PointerEvent) => {\n\t\t\tif (internalHeaderRef.current) {\n\t\t\t\tconst rect = internalHeaderRef.current.getBoundingClientRect();\n\t\t\t\tmouseHeaderRef.current.x = e.clientX - rect.left;\n\t\t\t\tmouseHeaderRef.current.y = e.clientY - rect.top;\n\t\t\t}\n\t\t\tif (internalBodyRef.current) {\n\t\t\t\tconst rect = internalBodyRef.current.getBoundingClientRect();\n\t\t\t\tmouseBodyRef.current.x = e.clientX - rect.left;\n\t\t\t\tmouseBodyRef.current.y = e.clientY - rect.top;\n\t\t\t}\n\t\t\tif (internalIconRef.current) {\n\t\t\t\tconst rect = internalIconRef.current.getBoundingClientRect();\n\t\t\t\tmouseIconRef.current.x = e.clientX - rect.left;\n\t\t\t\tmouseIconRef.current.y = e.clientY - rect.top;\n\t\t\t}\n\t\t};\n\n\t\tuseEffect(() => {\n\t\t\tif (\n\t\t\t\ttypeof window !== \"undefined\" &&\n\t\t\t\t(window as any).forceWebGLRender\n\t\t\t) {\n\t\t\t\t(window as any).forceWebGLRender(350, true);\n\t\t\t}\n\t\t}, [isOpen]);\n\n\t\tuseEffect(() => {\n\t\t\tregisterWidget(headerId, {\n\t\t\t\tid: headerId,\n\t\t\t\ttype: \"accordion-header\",\n\t\t\t\tref: internalHeaderRef,\n\t\t\t\tmouse: mouseHeaderRef.current,\n\t\t\t\tpayload: { variant },\n\t\t\t\tlayout: {\n\t\t\t\t\tx: 0,\n\t\t\t\t\ty: 0,\n\t\t\t\t\twidth: 0,\n\t\t\t\t\theight: 0,\n\t\t\t\t\tvisualScale: 1,\n\t\t\t\t\tradius: 20,\n\t\t\t\t},\n\t\t\t});\n\n\t\t\tregisterWidget(bodyId, {\n\t\t\t\tid: bodyId,\n\t\t\t\ttype: \"accordion-body\",\n\t\t\t\tref: internalBodyRef,\n\t\t\t\tmouse: mouseBodyRef.current,\n\t\t\t\tpayload: { variant: bodyVariant },\n\t\t\t\tlayout: {\n\t\t\t\t\tx: 0,\n\t\t\t\t\ty: 0,\n\t\t\t\t\twidth: 0,\n\t\t\t\t\theight: 0,\n\t\t\t\t\tvisualScale: 1,\n\t\t\t\t\tradius: 20,\n\t\t\t\t},\n\t\t\t});\n\n\t\t\tregisterWidget(iconId, {\n\t\t\t\tid: iconId,\n\t\t\t\ttype: \"accordion-icon\",\n\t\t\t\tref: internalIconRef,\n\t\t\t\tmouse: mouseIconRef.current,\n\t\t\t\tpayload: { variant: iconVariant },\n\t\t\t\tlayout: {\n\t\t\t\t\tx: 0,\n\t\t\t\t\ty: 0,\n\t\t\t\t\twidth: 0,\n\t\t\t\t\theight: 0,\n\t\t\t\t\tvisualScale: 1,\n\t\t\t\t\tradius: 15,\n\t\t\t\t},\n\t\t\t});\n\n\t\t\tconst containerNode = internalContainerRef.current;\n\t\t\tlet resizeObserver: ResizeObserver | null = null;\n\n\t\t\tif (containerNode) {\n\t\t\t\tresizeObserver = new ResizeObserver(() => {\n\t\t\t\t\tif (\n\t\t\t\t\t\ttypeof window !== \"undefined\" &&\n\t\t\t\t\t\t(window as any).forceWebGLRender\n\t\t\t\t\t) {\n\t\t\t\t\t\t(window as any).forceWebGLRender(150, true);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\tresizeObserver.observe(containerNode);\n\t\t\t}\n\n\t\t\treturn () => {\n\t\t\t\tif (resizeObserver) resizeObserver.disconnect();\n\t\t\t\tunregisterWidget(headerId);\n\t\t\t\tunregisterWidget(bodyId);\n\t\t\t\tunregisterWidget(iconId);\n\t\t\t};\n\t\t}, [headerId, bodyId, iconId, variant, bodyVariant, iconVariant]);\n\n\t\tconst setRefs = useCallback(\n\t\t\t(node: HTMLDivElement | null) => {\n\t\t\t\tinternalContainerRef.current = node;\n\t\t\t\tif (typeof externalRef === \"function\") externalRef(node);\n\t\t\t\telse if (externalRef) {\n\t\t\t\t\t(\n\t\t\t\t\t\texternalRef as React.MutableRefObject<HTMLDivElement | null>\n\t\t\t\t\t).current = node;\n\t\t\t\t}\n\t\t\t},\n\t\t\t[externalRef]\n\t\t);\n\n\t\treturn (\n\t\t\t<div\n\t\t\t\tref={setRefs}\n\t\t\t\tclassName={[\n\t\t\t\t\tstyles[\"mds-accordion\"],\n\t\t\t\t\tstyles[`mds-accordion--${variant}`],\n\t\t\t\t\tclassName,\n\t\t\t\t]\n\t\t\t\t\t.filter(Boolean)\n\t\t\t\t\t.join(\" \")}\n\t\t\t\tstyle={style}\n\t\t\t\tonPointerMove={handlePointerMove}\n\t\t\t\tonPointerEnter={() => {\n\t\t\t\t\tmouseBodyRef.current.hover = 1;\n\t\t\t\t}}\n\t\t\t\tonPointerLeave={() => {\n\t\t\t\t\tmouseBodyRef.current.hover = 0;\n\t\t\t\t}}\n\t\t\t\t{...rest}\n\t\t\t>\n\t\t\t\t<div\n\t\t\t\t\tref={internalBodyRef}\n\t\t\t\t\tclassName={[\n\t\t\t\t\t\tstyles[\"mds-accordion-body-bg\"],\n\t\t\t\t\t\tstyles[`mds-accordion-body-bg--${bodyVariant}`],\n\t\t\t\t\t].join(\" \")}\n\t\t\t\t/>\n\n\t\t\t\t<button\n\t\t\t\t\tref={internalHeaderRef}\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t\tclassName={styles[\"mds-accordion-header\"]}\n\t\t\t\t\tonClick={handleToggle}\n\t\t\t\t\tonPointerEnter={() => {\n\t\t\t\t\t\tmouseHeaderRef.current.hover = 1;\n\t\t\t\t\t\tmouseIconRef.current.hover = 1;\n\t\t\t\t\t}}\n\t\t\t\t\tonPointerLeave={() => {\n\t\t\t\t\t\tmouseHeaderRef.current.hover = 0;\n\t\t\t\t\t\tmouseIconRef.current.hover = 0;\n\t\t\t\t\t\tmouseIconRef.current.click = 0;\n\t\t\t\t\t}}\n\t\t\t\t\tonPointerDown={() => {\n\t\t\t\t\t\tmouseIconRef.current.click = 1;\n\t\t\t\t\t}}\n\t\t\t\t\tonPointerUp={() => {\n\t\t\t\t\t\tmouseIconRef.current.click = 0;\n\t\t\t\t\t}}\n\t\t\t\t\taria-expanded={isOpen}\n\t\t\t\t>\n\t\t\t\t\t<span className={styles[\"mds-accordion-title\"]}>\n\t\t\t\t\t\t{title}\n\t\t\t\t\t</span>\n\t\t\t\t\t<div\n\t\t\t\t\t\tref={internalIconRef}\n\t\t\t\t\t\tclassName={[\n\t\t\t\t\t\t\tstyles[\"mds-accordion-icon-box\"],\n\t\t\t\t\t\t\tstyles[`mds-accordion-icon-box--${iconVariant}`],\n\t\t\t\t\t\t].join(\" \")}\n\t\t\t\t\t>\n\t\t\t\t\t\t<Icons.ChevronIconAccordion\n\t\t\t\t\t\t\tclassName={[\n\t\t\t\t\t\t\t\tstyles[\"mds-accordion-chevron\"],\n\t\t\t\t\t\t\t\tisOpen && styles[\"mds-accordion-chevron--open\"],\n\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t\t.filter(Boolean)\n\t\t\t\t\t\t\t\t.join(\" \")}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t</button>\n\n\t\t\t\t<div\n\t\t\t\t\tclassName={[\n\t\t\t\t\t\tstyles[\"mds-accordion-content-grid\"],\n\t\t\t\t\t\tisOpen && styles[\"mds-accordion-content-grid--open\"],\n\t\t\t\t\t]\n\t\t\t\t\t\t.filter(Boolean)\n\t\t\t\t\t\t.join(\" \")}\n\t\t\t\t>\n\t\t\t\t\t<div className={styles[\"mds-accordion-content-inner\"]}>\n\t\t\t\t\t\t<div className={styles[\"mds-accordion-content\"]}>\n\t\t\t\t\t\t\t{children}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\t}\n);\n",".mds-alert-wrapper {\n position: fixed;\n bottom: var(--alert-bottom, 32px);\n top: var(--alert-top, auto);\n left: 50%;\n transform: translateX(-50%);\n opacity: 0;\n pointer-events: none;\n z-index: 9999;\n transition: opacity 0.3s ease-out;\n}\n.mds-alert-wrapper--open {\n opacity: 1;\n pointer-events: auto;\n}\n\n.mds-alert {\n --alert-text-color: #000000;\n position: relative;\n display: inline-flex;\n align-items: center;\n font-size: 20px;\n border-radius: 1.2em;\n padding: 0.35em 0.6em 0.35em 0.35em;\n border: 0px solid transparent;\n font-family: \"minimorphism\";\n background: transparent;\n will-change: transform, box-shadow;\n}\n.mds-alert--white {\n --alert-text-color: #000000;\n box-shadow: 0px 0px 17px 11px rgba(200, 200, 200, 0.25);\n}\n.mds-alert--black {\n --alert-text-color: #ffffff;\n box-shadow: 0px 1px 4px rgba(0, 0, 0, 0.5), 0px 0px 10px rgba(255, 255, 255, 0.15);\n}\n.mds-alert--anodized {\n --alert-text-color: #000000;\n box-shadow: 0px 1px 4px rgba(0, 0, 0, 0.15);\n}\n\n.mds-alert-icon {\n position: relative;\n display: flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n background: transparent;\n will-change: box-shadow;\n width: 2.7em;\n height: 2.7em;\n border-radius: 0.8em;\n margin-right: 0.6em;\n}\n.mds-alert-icon--white {\n color: #000000;\n box-shadow: 0px 0px 17px 11px rgba(200, 200, 200, 0.25);\n}\n.mds-alert-icon--black {\n color: #ffffff;\n box-shadow: 0px 1px 4px rgba(0, 0, 0, 0.5), 0px 0px 10px rgba(255, 255, 255, 0.15);\n}\n.mds-alert-icon--anodized {\n color: #000000;\n box-shadow: 0px 1px 4px rgba(0, 0, 0, 0.15);\n}\n.mds-alert-icon > svg {\n position: relative;\n z-index: 10;\n width: 2em;\n height: 2em;\n fill: currentColor;\n}\n\n.mds-alert-text {\n position: relative;\n z-index: 10;\n pointer-events: none;\n color: var(--alert-text-color);\n}\n/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkFsZXJ0Lm1vZHVsZS5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUtBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBOztBQUVBO0VBQ0U7RUFDQTs7O0FBSUo7RUFDRTtFQUVBO0VBQ0E7RUFDQTtFQUVBO0VBRUE7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0U7RUFDQTs7QUFHRjtFQUNFO0VBQ0EsWUFDRTs7QUFJSjtFQUNFO0VBQ0E7OztBQUlKO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBLFlBQ0U7O0FBR0o7RUFDRTtFQUNBOztBQUdGO0VBQ0U7RUFDQTtFQUVBO0VBQ0E7RUFDQTs7O0FBSUo7RUFDRTtFQUNBO0VBQ0E7RUFDQSIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAoYykgMjAyNiBtaW5pbW9ycGhpc21cbi8vIFN0eWxlcyBmb3IgQWxlcnRcblxuQHVzZSBcIi4uLy4uL3N0eWxlcy9jb2xvcnNcIiBhcyBjO1xuXG4ubWRzLWFsZXJ0LXdyYXBwZXIge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGJvdHRvbTogdmFyKC0tYWxlcnQtYm90dG9tLCAzMnB4KTtcbiAgdG9wOiB2YXIoLS1hbGVydC10b3AsIGF1dG8pO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgb3BhY2l0eTogMDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIHotaW5kZXg6IDk5OTk7XG5cbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2Utb3V0O1xuXG4gICYtLW9wZW4ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gIH1cbn1cblxuLm1kcy1hbGVydCB7XG4gIC0tYWxlcnQtdGV4dC1jb2xvcjogI3tjLiRtZHMtYmxhY2t9O1xuXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgZm9udC1zaXplOiAyMHB4O1xuXG4gIGJvcmRlci1yYWRpdXM6IDEuMmVtO1xuICBwYWRkaW5nOiAwLjM1ZW0gMC42ZW0gMC4zNWVtIDAuMzVlbTtcblxuICBib3JkZXI6IDBweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgZm9udC1mYW1pbHk6IFwibWluaW1vcnBoaXNtXCI7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtLCBib3gtc2hhZG93O1xuXG4gICYtLXdoaXRlIHtcbiAgICAtLWFsZXJ0LXRleHQtY29sb3I6ICN7Yy4kbWRzLWJsYWNrfTtcbiAgICBib3gtc2hhZG93OiAwcHggMHB4IDE3cHggMTFweCByZ2JhKDIwMCwgMjAwLCAyMDAsIDAuMjUpO1xuICB9XG5cbiAgJi0tYmxhY2sge1xuICAgIC0tYWxlcnQtdGV4dC1jb2xvcjogI3tjLiRtZHMtd2hpdGV9O1xuICAgIGJveC1zaGFkb3c6XG4gICAgICAwcHggMXB4IDRweCByZ2JhKDAsIDAsIDAsIDAuNSksXG4gICAgICAwcHggMHB4IDEwcHggcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE1KTtcbiAgfVxuXG4gICYtLWFub2RpemVkIHtcbiAgICAtLWFsZXJ0LXRleHQtY29sb3I6ICN7Yy4kbWRzLWJsYWNrfTtcbiAgICBib3gtc2hhZG93OiAwcHggMXB4IDRweCByZ2JhKDAsIDAsIDAsIDAuMTUpO1xuICB9XG59XG5cbi5tZHMtYWxlcnQtaWNvbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgd2lsbC1jaGFuZ2U6IGJveC1zaGFkb3c7XG5cbiAgd2lkdGg6IDIuN2VtO1xuICBoZWlnaHQ6IDIuN2VtO1xuICBib3JkZXItcmFkaXVzOiAwLjhlbTtcbiAgbWFyZ2luLXJpZ2h0OiAwLjZlbTtcblxuICAmLS13aGl0ZSB7XG4gICAgY29sb3I6ICN7Yy4kbWRzLWJsYWNrfTtcbiAgICBib3gtc2hhZG93OiAwcHggMHB4IDE3cHggMTFweCByZ2JhKDIwMCwgMjAwLCAyMDAsIDAuMjUpO1xuICB9XG4gICYtLWJsYWNrIHtcbiAgICBjb2xvcjogI3tjLiRtZHMtd2hpdGV9O1xuICAgIGJveC1zaGFkb3c6XG4gICAgICAwcHggMXB4IDRweCByZ2JhKDAsIDAsIDAsIDAuNSksXG4gICAgICAwcHggMHB4IDEwcHggcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE1KTtcbiAgfVxuICAmLS1hbm9kaXplZCB7XG4gICAgY29sb3I6ICN7Yy4kbWRzLWJsYWNrfTtcbiAgICBib3gtc2hhZG93OiAwcHggMXB4IDRweCByZ2JhKDAsIDAsIDAsIDAuMTUpO1xuICB9XG5cbiAgPiBzdmcge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAxMDtcblxuICAgIHdpZHRoOiAyZW07XG4gICAgaGVpZ2h0OiAyZW07XG4gICAgZmlsbDogY3VycmVudENvbG9yO1xuICB9XG59XG5cbi5tZHMtYWxlcnQtdGV4dCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMTA7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBjb2xvcjogdmFyKC0tYWxlcnQtdGV4dC1jb2xvcik7XG59XG4iXX0= */","// Copyright (c) 2026 minimorphism\n// Component Alert\n\nimport React, { useRef, useState, useCallback, useId, useEffect } from \"react\";\nimport styles from \"./Alert.module.scss\";\nimport { registerWidget, unregisterWidget } from \"../../webgl/WebGLStore\";\nimport type { DisableVariants } from \"../../types\";\n\nexport type AlertProps = React.HTMLAttributes<HTMLDivElement> & {\n\tvariant?: DisableVariants<\"dark-gray\">;\n\topen: boolean;\n\tmessage: string;\n\ticon?: React.ReactNode;\n};\n\nconst getIconVariant = (\n\tvariant: DisableVariants<\"dark-gray\">\n): DisableVariants<\"dark-gray\"> => {\n\tif (variant === \"black\") return \"anodized\";\n\treturn \"black\";\n};\n\nexport const Alert = React.forwardRef<HTMLDivElement, AlertProps>(\n\t(\n\t\t{\n\t\t\tvariant = \"white\",\n\t\t\topen,\n\t\t\tmessage,\n\t\t\ticon,\n\t\t\tclassName = \"\",\n\t\t\tstyle,\n\t\t\t...rest\n\t\t},\n\t\texternalRef\n\t) => {\n\t\tconst internalMainRef = useRef<HTMLDivElement | null>(null);\n\t\tconst internalIconRef = useRef<HTMLDivElement | null>(null);\n\t\tconst mainId = useId();\n\t\tconst iconId = useId();\n\n\t\tconst [shouldRender, setShouldRender] = useState(open);\n\t\tconst [animateIn, setAnimateIn] = useState(false);\n\n\t\tuseEffect(() => {\n\t\t\tif (open) {\n\t\t\t\tsetShouldRender(true);\n\t\t\t\trequestAnimationFrame(() =>\n\t\t\t\t\trequestAnimationFrame(() => setAnimateIn(true))\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\tsetAnimateIn(false);\n\t\t\t}\n\t\t}, [open]);\n\n\t\tconst handleTransitionEnd = () => {\n\t\t\tif (!open && !animateIn) setShouldRender(false);\n\t\t};\n\n\t\tconst iconVariant = getIconVariant(variant);\n\n\t\tuseEffect(() => {\n\t\t\tif (shouldRender) {\n\t\t\t\tregisterWidget(mainId, {\n\t\t\t\t\tid: mainId,\n\t\t\t\t\ttype: \"alert\",\n\t\t\t\t\tref: internalMainRef,\n\t\t\t\t\tmouse: { x: 0, y: 0, hover: 0, click: 0 },\n\t\t\t\t\tpayload: { variant },\n\t\t\t\t\tlayout: {\n\t\t\t\t\t\tx: 0,\n\t\t\t\t\t\ty: 0,\n\t\t\t\t\t\twidth: 0,\n\t\t\t\t\t\theight: 0,\n\t\t\t\t\t\tvisualScale: 1,\n\t\t\t\t\t\tradius: 20,\n\t\t\t\t\t},\n\t\t\t\t});\n\n\t\t\t\tif (icon) {\n\t\t\t\t\tregisterWidget(iconId, {\n\t\t\t\t\t\tid: iconId,\n\t\t\t\t\t\ttype: \"alert\",\n\t\t\t\t\t\tref: internalIconRef,\n\t\t\t\t\t\tmouse: { x: 0, y: 0, hover: 0, click: 0 },\n\t\t\t\t\t\tpayload: { variant: iconVariant },\n\t\t\t\t\t\tlayout: {\n\t\t\t\t\t\t\tx: 0,\n\t\t\t\t\t\t\ty: 0,\n\t\t\t\t\t\t\twidth: 0,\n\t\t\t\t\t\t\theight: 0,\n\t\t\t\t\t\t\tvisualScale: 1,\n\t\t\t\t\t\t\tradius: 20,\n\t\t\t\t\t\t},\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn () => {\n\t\t\t\tunregisterWidget(mainId);\n\t\t\t\tunregisterWidget(iconId);\n\t\t\t};\n\t\t}, [shouldRender, mainId, iconId, variant, iconVariant, icon]);\n\n\t\tconst setRefs = useCallback(\n\t\t\t(node: HTMLDivElement | null) => {\n\t\t\t\tinternalMainRef.current = node;\n\t\t\t\tif (typeof externalRef === \"function\") externalRef(node);\n\t\t\t\telse if (externalRef) {\n\t\t\t\t\t(\n\t\t\t\t\t\texternalRef as React.MutableRefObject<HTMLDivElement | null>\n\t\t\t\t\t).current = node;\n\t\t\t\t}\n\t\t\t},\n\t\t\t[externalRef]\n\t\t);\n\n\t\tif (!shouldRender) return null;\n\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclassName={[\n\t\t\t\t\tstyles[\"mds-alert-wrapper\"],\n\t\t\t\t\t\"gl-fade\",\n\t\t\t\t\tanimateIn && styles[\"mds-alert-wrapper--open\"],\n\t\t\t\t]\n\t\t\t\t\t.filter(Boolean)\n\t\t\t\t\t.join(\" \")}\n\t\t\t\tonTransitionEnd={handleTransitionEnd}\n\t\t\t>\n\t\t\t\t<div\n\t\t\t\t\tref={setRefs}\n\t\t\t\t\tclassName={[\n\t\t\t\t\t\tstyles[\"mds-alert\"],\n\t\t\t\t\t\tstyles[`mds-alert--${variant}`],\n\t\t\t\t\t\tclassName,\n\t\t\t\t\t]\n\t\t\t\t\t\t.filter(Boolean)\n\t\t\t\t\t\t.join(\" \")}\n\t\t\t\t\tstyle={style}\n\t\t\t\t\t{...rest}\n\t\t\t\t>\n\t\t\t\t\t{icon && (\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tref={internalIconRef}\n\t\t\t\t\t\t\tclassName={[\n\t\t\t\t\t\t\t\tstyles[\"mds-alert-icon\"],\n\t\t\t\t\t\t\t\tstyles[`mds-alert-icon--${iconVariant}`],\n\t\t\t\t\t\t\t].join(\" \")}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{icon}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)}\n\t\t\t\t\t<span className={styles[\"mds-alert-text\"]}>{message}</span>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\t}\n);\n",".mds-autocomplete {\n position: relative;\n width: 100%;\n display: flex;\n flex-direction: column;\n font-family: \"minimorphism\";\n --acc-text-color: #000000;\n --acc-title-color: rgba(177, 177, 177, 0.35);\n --acc-chevron-color: #000000;\n}\n.mds-autocomplete--white {\n --acc-text-color: #000000;\n --acc-title-color: rgba(177, 177, 177, 0.35);\n --acc-chevron-color: #000000;\n}\n.mds-autocomplete--black {\n --acc-text-color: #ffffff;\n --acc-title-color: rgba(177, 177, 177, 0.35);\n --acc-chevron-color: #ffffff;\n}\n.mds-autocomplete--anodized {\n --acc-text-color: #000000;\n --acc-title-color: rgba(0, 0, 0, 0.35);\n --acc-chevron-color: #000000;\n}\n\n.mds-autocomplete-body-bg {\n position: absolute;\n top: 0;\n left: 0;\n right: 40px;\n bottom: 0;\n z-index: 1;\n border-radius: 20px;\n pointer-events: none;\n will-change: box-shadow;\n}\n\n.mds-autocomplete-header {\n position: relative;\n z-index: 2;\n display: flex;\n align-items: center;\n justify-content: space-between;\n width: 85.5%;\n min-height: 52px;\n padding: 0px 0px 0px 18px;\n border-radius: 20px;\n background: transparent;\n border: none;\n cursor: text;\n outline: none;\n -webkit-tap-highlight-color: transparent;\n will-change: transform, box-shadow;\n}\n\n.mds-autocomplete-input {\n flex: 1;\n width: 100%;\n background: transparent;\n border: none;\n color: var(--acc-text-color);\n font-size: 1.5rem;\n font-weight: 400;\n text-align: left;\n letter-spacing: 2.5px;\n outline: none;\n font-family: \"minimorphism\";\n padding: 0;\n padding-right: 16px;\n}\n.mds-autocomplete-input::placeholder {\n color: var(--acc-title-color);\n}\n\n.mds-autocomplete-icon-box {\n position: relative;\n z-index: 3;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 52px;\n height: 52px;\n border-radius: 15px;\n flex-shrink: 0;\n cursor: pointer;\n will-change: box-shadow;\n}\n\n.mds-autocomplete-chevron {\n width: 18px;\n height: 18px;\n transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);\n margin-right: 7.5px;\n transform: rotate(180deg);\n color: var(--acc-chevron-color);\n}\n.mds-autocomplete-chevron--open {\n transform: rotate(0deg);\n}\n\n.mds-autocomplete-content-grid {\n position: relative;\n z-index: 2;\n width: calc(100% - 40px);\n display: grid;\n grid-template-rows: 0fr;\n transition: grid-template-rows 0.3s cubic-bezier(0.4, 0, 0.2, 1);\n}\n.mds-autocomplete-content-grid--open {\n grid-template-rows: 1fr;\n}\n\n.mds-autocomplete-content-inner {\n min-height: 0;\n overflow: hidden;\n}\n\n.mds-autocomplete-content {\n padding: 16px 24px 24px 16px;\n color: var(--acc-text-color);\n opacity: 0;\n transform: translateY(-10px);\n transition: opacity 0.3s ease-out, transform 0.3s ease-out;\n display: flex;\n flex-direction: column;\n gap: 16px;\n}\n.mds-autocomplete-content-grid--open .mds-autocomplete-content {\n opacity: 1;\n transform: translateY(0);\n}\n\n.mds-autocomplete-item {\n display: flex;\n align-items: center;\n gap: 8px;\n cursor: pointer;\n font-size: 1.2rem;\n transition: opacity 0.2s;\n}\n.mds-autocomplete-item:hover {\n opacity: 0.96;\n}\n\n.mds-autocomplete-item-box {\n width: 30px;\n height: 30px;\n border-radius: 10px;\n flex-shrink: 0;\n}\n.mds-autocomplete-item-box--black {\n background-color: #000000;\n box-shadow: 0px 1px 4px rgba(0, 0, 0, 0.5), 0px 0px 10px rgba(255, 255, 255, 0.15);\n}\n.mds-autocomplete-item-box--anodized {\n background-color: #ececec;\n box-shadow: 0px 1px 4px rgba(0, 0, 0, 0.5), 0px 0px 10px rgba(255, 255, 255, 0.15);\n}\n\n.mds-autocomplete--black .mds-autocomplete-content {\n --acc-text-color: #ffffff;\n}\n\n.mds-autocomplete-body-bg--dark-gray,\n.mds-autocomplete-body-bg--anodized,\n.mds-autocomplete-body-bg--white {\n opacity: 1;\n}\n/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkF1dG9jb21wbGV0ZS5tb2R1bGUuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFLQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7O0FBRUE7RUFDRTtFQUNBO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7OztBQUlKO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNFOzs7QUFJSjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0U7OztBQUlKO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0U7OztBQUlKO0VBQ0U7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFlBQ0U7RUFFRjtFQUNBO0VBQ0E7O0FBRUE7RUFDRTtFQUNBOzs7QUFJSjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNFOzs7QUFJSjtFQUNFO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0U7RUFDQSxZQUNFOztBQUdKO0VBQ0U7RUFDQSxZQUNFOzs7QUFLTjtFQUNFOzs7QUFHRjtBQUFBO0FBQUE7RUFHRSIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAoYykgMjAyNiBtaW5pbW9ycGhpc21cbi8vIFN0eWxlcyBmb3IgQXV0b2NvbXBsZXRlXG5cbkB1c2UgXCIuLi8uLi9zdHlsZXMvY29sb3JzXCIgYXMgYztcblxuLm1kcy1hdXRvY29tcGxldGUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBmb250LWZhbWlseTogXCJtaW5pbW9ycGhpc21cIjtcblxuICAtLWFjYy10ZXh0LWNvbG9yOiAje2MuJG1kcy1ibGFja307XG4gIC0tYWNjLXRpdGxlLWNvbG9yOiByZ2JhKDE3NywgMTc3LCAxNzcsIDAuMzUpO1xuICAtLWFjYy1jaGV2cm9uLWNvbG9yOiAje2MuJG1kcy1ibGFja307XG5cbiAgJi0td2hpdGUge1xuICAgIC0tYWNjLXRleHQtY29sb3I6ICN7Yy4kbWRzLWJsYWNrfTtcbiAgICAtLWFjYy10aXRsZS1jb2xvcjogcmdiYSgxNzcsIDE3NywgMTc3LCAwLjM1KTtcbiAgICAtLWFjYy1jaGV2cm9uLWNvbG9yOiAje2MuJG1kcy1ibGFja307XG4gIH1cblxuICAmLS1ibGFjayB7XG4gICAgLS1hY2MtdGV4dC1jb2xvcjogI3tjLiRtZHMtd2hpdGV9O1xuICAgIC0tYWNjLXRpdGxlLWNvbG9yOiByZ2JhKDE3NywgMTc3LCAxNzcsIDAuMzUpO1xuICAgIC0tYWNjLWNoZXZyb24tY29sb3I6ICN7Yy4kbWRzLXdoaXRlfTtcbiAgfVxuXG4gICYtLWFub2RpemVkIHtcbiAgICAtLWFjYy10ZXh0LWNvbG9yOiAje2MuJG1kcy1ibGFja307XG4gICAgLS1hY2MtdGl0bGUtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4zNSk7XG4gICAgLS1hY2MtY2hldnJvbi1jb2xvcjogI3tjLiRtZHMtYmxhY2t9O1xuICB9XG59XG5cbi5tZHMtYXV0b2NvbXBsZXRlLWJvZHktYmcge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDQwcHg7XG4gIGJvdHRvbTogMDtcbiAgei1pbmRleDogMTtcbiAgYm9yZGVyLXJhZGl1czogMjBweDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIHdpbGwtY2hhbmdlOiBib3gtc2hhZG93O1xufVxuXG4ubWRzLWF1dG9jb21wbGV0ZS1oZWFkZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgd2lkdGg6IDg1LjUlO1xuICBtaW4taGVpZ2h0OiA1MnB4O1xuICBwYWRkaW5nOiAwcHggMHB4IDBweCAxOHB4O1xuICBib3JkZXItcmFkaXVzOiAyMHB4O1xuXG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IG5vbmU7XG4gIGN1cnNvcjogdGV4dDtcbiAgb3V0bGluZTogbm9uZTtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybSwgYm94LXNoYWRvdztcbn1cblxuLm1kcy1hdXRvY29tcGxldGUtaW5wdXQge1xuICBmbGV4OiAxO1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogbm9uZTtcbiAgY29sb3I6IHZhcigtLWFjYy10ZXh0LWNvbG9yKTtcbiAgZm9udC1zaXplOiAxLjVyZW07XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGxldHRlci1zcGFjaW5nOiAyLjVweDtcbiAgb3V0bGluZTogbm9uZTtcbiAgZm9udC1mYW1pbHk6IFwibWluaW1vcnBoaXNtXCI7XG4gIHBhZGRpbmc6IDA7XG4gIHBhZGRpbmctcmlnaHQ6IDE2cHg7XG5cbiAgJjo6cGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiB2YXIoLS1hY2MtdGl0bGUtY29sb3IpO1xuICB9XG59XG5cbi5tZHMtYXV0b2NvbXBsZXRlLWljb24tYm94IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAzO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgd2lkdGg6IDUycHg7XG4gIGhlaWdodDogNTJweDtcbiAgYm9yZGVyLXJhZGl1czogMTVweDtcbiAgZmxleC1zaHJpbms6IDA7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgd2lsbC1jaGFuZ2U6IGJveC1zaGFkb3c7XG59XG5cbi5tZHMtYXV0b2NvbXBsZXRlLWNoZXZyb24ge1xuICB3aWR0aDogMThweDtcbiAgaGVpZ2h0OiAxOHB4O1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpO1xuICBtYXJnaW4tcmlnaHQ6IDcuNXB4O1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICBjb2xvcjogdmFyKC0tYWNjLWNoZXZyb24tY29sb3IpO1xuXG4gICYtLW9wZW4ge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICB9XG59XG5cbi5tZHMtYXV0b2NvbXBsZXRlLWNvbnRlbnQtZ3JpZCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMjtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDQwcHgpO1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLXJvd3M6IDBmcjtcbiAgdHJhbnNpdGlvbjogZ3JpZC10ZW1wbGF0ZS1yb3dzIDAuM3MgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKTtcblxuICAmLS1vcGVuIHtcbiAgICBncmlkLXRlbXBsYXRlLXJvd3M6IDFmcjtcbiAgfVxufVxuXG4ubWRzLWF1dG9jb21wbGV0ZS1jb250ZW50LWlubmVyIHtcbiAgbWluLWhlaWdodDogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLm1kcy1hdXRvY29tcGxldGUtY29udGVudCB7XG4gIHBhZGRpbmc6IDE2cHggMjRweCAyNHB4IDE2cHg7XG4gIGNvbG9yOiB2YXIoLS1hY2MtdGV4dC1jb2xvcik7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTBweCk7XG4gIHRyYW5zaXRpb246XG4gICAgb3BhY2l0eSAwLjNzIGVhc2Utb3V0LFxuICAgIHRyYW5zZm9ybSAwLjNzIGVhc2Utb3V0O1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IDE2cHg7XG5cbiAgLm1kcy1hdXRvY29tcGxldGUtY29udGVudC1ncmlkLS1vcGVuICYge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICB9XG59XG5cbi5tZHMtYXV0b2NvbXBsZXRlLWl0ZW0ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDhweDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBmb250LXNpemU6IDEuMnJlbTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzO1xuXG4gICY6aG92ZXIge1xuICAgIG9wYWNpdHk6IDAuOTY7XG4gIH1cbn1cblxuLm1kcy1hdXRvY29tcGxldGUtaXRlbS1ib3gge1xuICB3aWR0aDogMzBweDtcbiAgaGVpZ2h0OiAzMHB4O1xuICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICBmbGV4LXNocmluazogMDtcblxuICAmLS1ibGFjayB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI3tjLiRtZHMtYmxhY2t9O1xuICAgIGJveC1zaGFkb3c6XG4gICAgICAwcHggMXB4IDRweCByZ2JhKDAsIDAsIDAsIDAuNSksXG4gICAgICAwcHggMHB4IDEwcHggcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE1KTtcbiAgfVxuICAmLS1hbm9kaXplZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2VjZWNlYztcbiAgICBib3gtc2hhZG93OlxuICAgICAgMHB4IDFweCA0cHggcmdiYSgwLCAwLCAwLCAwLjUpLFxuICAgICAgMHB4IDBweCAxMHB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xNSk7XG4gIH1cbn1cblxuLm1kcy1hdXRvY29tcGxldGUtLWJsYWNrIC5tZHMtYXV0b2NvbXBsZXRlLWNvbnRlbnQge1xuICAtLWFjYy10ZXh0LWNvbG9yOiAje2MuJG1kcy13aGl0ZX07XG59XG5cbi5tZHMtYXV0b2NvbXBsZXRlLWJvZHktYmctLWRhcmstZ3JheSxcbi5tZHMtYXV0b2NvbXBsZXRlLWJvZHktYmctLWFub2RpemVkLFxuLm1kcy1hdXRvY29tcGxldGUtYm9keS1iZy0td2hpdGUge1xuICBvcGFjaXR5OiAxO1xufSJdfQ== */","// Copyright (c) 2026 minimorphism\n// Component Autocomplete\n\nimport React, { useRef, useState, useCallback, useId, useEffect } from \"react\";\nimport styles from \"./Autocomplete.module.scss\";\nimport { registerWidget, unregisterWidget } from \"../../webgl/WebGLStore\";\nimport { Icons } from \"../Icons/Icons\";\nimport type { DisableVariants } from \"../../types\";\n\nexport interface AutocompleteOption {\n\tid: string | number;\n\tlabel: string;\n}\n\nexport type AutocompleteProps = Omit<\n\tReact.HTMLAttributes<HTMLDivElement>,\n\t\"onChange\" | \"defaultValue\"\n> & {\n\tvariant?: DisableVariants<\"dark-gray\">;\n\toptions?: AutocompleteOption[];\n\tvalue?: string;\n\tdefaultValue?: string;\n\tplaceholder?: string;\n\tonChangeValue?: (value: string) => void;\n\tonSelectOption?: (option: AutocompleteOption) => void;\n\topen?: boolean;\n\tdefaultOpen?: boolean;\n\tonChange?: (isOpen: boolean) => void;\n};\n\nconst getIconVariant = (\n\tvariant: DisableVariants<\"dark-gray\">\n): DisableVariants<\"dark-gray\"> | \"dark-gray\" => {\n\tswitch (variant) {\n\t\tcase \"white\":\n\t\t\treturn \"black\";\n\t\tcase \"black\":\n\t\t\treturn \"white\";\n\t\tcase \"anodized\":\n\t\t\treturn \"black\";\n\t\tdefault:\n\t\t\treturn \"white\";\n\t}\n};\n\nconst getBoxVariant = (\n\tvariant: DisableVariants<\"dark-gray\">\n): \"anodized\" | \"black\" => {\n\tif (variant === \"black\") return \"anodized\";\n\treturn \"black\";\n};\n\nconst getBodyVariant = (\n\tvariant: DisableVariants<\"dark-gray\">\n): DisableVariants<\"dark-gray\"> | \"dark-gray\" => {\n\tif (variant === \"black\") return \"dark-gray\";\n\treturn variant;\n};\n\nexport const Autocomplete = React.forwardRef<HTMLDivElement, AutocompleteProps>(\n\t(\n\t\t{\n\t\t\tvariant = \"white\",\n\t\t\toptions = [],\n\t\t\tvalue,\n\t\t\tdefaultValue = \"\",\n\t\t\tplaceholder,\n\t\t\tonChangeValue,\n\t\t\tonSelectOption,\n\t\t\topen,\n\t\t\tdefaultOpen = false,\n\t\t\tonChange,\n\t\t\tclassName = \"\",\n\t\t\tstyle,\n\t\t\t...rest\n\t\t},\n\t\texternalRef\n\t) => {\n\t\tconst isControlledOpen = open !== undefined;\n\t\tconst [internalOpen, setInternalOpen] = useState(\n\t\t\tisControlledOpen ? open : defaultOpen\n\t\t);\n\t\tconst isOpen = isControlledOpen ? open : internalOpen;\n\n\t\tconst isControlledValue = value !== undefined;\n\t\tconst [internalValue, setInternalValue] = useState(\n\t\t\tisControlledValue ? value : defaultValue\n\t\t);\n\t\tconst currentValue = isControlledValue ? value : internalValue;\n\n\t\tconst internalContainerRef = useRef<HTMLDivElement | null>(null);\n\t\tconst internalHeaderRef = useRef<HTMLDivElement | null>(null);\n\t\tconst internalBodyRef = useRef<HTMLDivElement | null>(null);\n\t\tconst internalIconRef = useRef<HTMLDivElement | null>(null);\n\n\t\tconst headerId = useId();\n\t\tconst bodyId = useId();\n\t\tconst iconId = useId();\n\n\t\tconst mouseHeaderRef = useRef({ x: 0, y: 0, hover: 0, click: 0 });\n\t\tconst mouseBodyRef = useRef({ x: 0, y: 0, hover: 0, click: 0 });\n\t\tconst mouseIconRef = useRef({ x: 0, y: 0, hover: 0, click: 0 });\n\n\t\tconst iconVariant = getIconVariant(variant);\n\t\tconst boxVariant = getBoxVariant(variant);\n\t\tconst bodyVariant = getBodyVariant(variant);\n\n\t\tconst filteredOptions = options.filter((opt) =>\n\t\t\topt.label.toLowerCase().includes(currentValue.toLowerCase())\n\t\t);\n\n\t\tuseEffect(() => {\n\t\t\tconst handleClickOutside = (event: MouseEvent | TouchEvent) => {\n\t\t\t\tif (\n\t\t\t\t\tinternalContainerRef.current &&\n\t\t\t\t\t!internalContainerRef.current.contains(event.target as Node)\n\t\t\t\t) {\n\t\t\t\t\tif (isOpen) {\n\t\t\t\t\t\tif (!isControlledOpen) setInternalOpen(false);\n\t\t\t\t\t\tif (onChange) onChange(false);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t};\n\n\t\t\tdocument.addEventListener(\"mousedown\", handleClickOutside);\n\t\t\tdocument.addEventListener(\"touchstart\", handleClickOutside);\n\n\t\t\treturn () => {\n\t\t\t\tdocument.removeEventListener(\"mousedown\", handleClickOutside);\n\t\t\t\tdocument.removeEventListener(\"touchstart\", handleClickOutside);\n\t\t\t};\n\t\t}, [isOpen, isControlledOpen, onChange]);\n\n\t\tconst handleToggle = () => {\n\t\t\tconst newState = !isOpen;\n\t\t\tif (!isControlledOpen) setInternalOpen(newState);\n\t\t\tif (onChange) onChange(newState);\n\t\t};\n\n\t\tconst handleInputClick = () => {\n\t\t\tif (!isOpen) {\n\t\t\t\tif (!isControlledOpen) setInternalOpen(true);\n\t\t\t\tif (onChange) onChange(true);\n\t\t\t}\n\t\t};\n\n\t\tconst handleInputChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n\t\t\tconst val = e.target.value;\n\t\t\tif (!isControlledValue) setInternalValue(val);\n\t\t\tif (onChangeValue) onChangeValue(val);\n\n\t\t\tif (!isOpen) {\n\t\t\t\tif (!isControlledOpen) setInternalOpen(true);\n\t\t\t\tif (onChange) onChange(true);\n\t\t\t}\n\t\t};\n\n\t\tconst handleSelect = (opt: AutocompleteOption) => {\n\t\t\tif (onSelectOption) onSelectOption(opt);\n\t\t\tif (!isControlledValue) setInternalValue(opt.label);\n\t\t\tif (onChangeValue) onChangeValue(opt.label);\n\n\t\t\tif (!isControlledOpen) setInternalOpen(false);\n\t\t\tif (onChange) onChange(false);\n\t\t};\n\n\t\tconst handlePointerMove = (e: React.PointerEvent) => {\n\t\t\tif (internalHeaderRef.current) {\n\t\t\t\tconst rect = internalHeaderRef.current.getBoundingClientRect();\n\t\t\t\tmouseHeaderRef.current.x = e.clientX - rect.left;\n\t\t\t\tmouseHeaderRef.current.y = e.clientY - rect.top;\n\t\t\t}\n\t\t\tif (internalBodyRef.current) {\n\t\t\t\tconst rect = internalBodyRef.current.getBoundingClientRect();\n\t\t\t\tmouseBodyRef.current.x = e.clientX - rect.left;\n\t\t\t\tmouseBodyRef.current.y = e.clientY - rect.top;\n\t\t\t}\n\t\t\tif (internalIconRef.current) {\n\t\t\t\tconst rect = internalIconRef.current.getBoundingClientRect();\n\t\t\t\tmouseIconRef.current.x = e.clientX - rect.left;\n\t\t\t\tmouseIconRef.current.y = e.clientY - rect.top;\n\t\t\t}\n\t\t};\n\n\t\tuseEffect(() => {\n\t\t\tif (\n\t\t\t\ttypeof window !== \"undefined\" &&\n\t\t\t\t(window as any).forceWebGLRender\n\t\t\t) {\n\t\t\t\t(window as any).forceWebGLRender(350, true);\n\t\t\t}\n\t\t}, [isOpen]);\n\n\t\tuseEffect(() => {\n\t\t\tregisterWidget(headerId, {\n\t\t\t\tid: headerId,\n\t\t\t\ttype: \"autocomplete-header\",\n\t\t\t\tref: internalHeaderRef,\n\t\t\t\tmouse: mouseHeaderRef.current,\n\t\t\t\tpayload: { variant },\n\t\t\t\tlayout: {\n\t\t\t\t\tx: 0,\n\t\t\t\t\ty: 0,\n\t\t\t\t\twidth: 0,\n\t\t\t\t\theight: 0,\n\t\t\t\t\tvisualScale: 1,\n\t\t\t\t\tradius: 20,\n\t\t\t\t},\n\t\t\t});\n\n\t\t\tregisterWidget(bodyId, {\n\t\t\t\tid: bodyId,\n\t\t\t\ttype: \"autocomplete-body\",\n\t\t\t\tref: internalBodyRef,\n\t\t\t\tmouse: mouseBodyRef.current,\n\t\t\t\tpayload: { variant: bodyVariant },\n\t\t\t\tlayout: {\n\t\t\t\t\tx: 0,\n\t\t\t\t\ty: 0,\n\t\t\t\t\twidth: 0,\n\t\t\t\t\theight: 0,\n\t\t\t\t\tvisualScale: 1,\n\t\t\t\t\tradius: 20,\n\t\t\t\t},\n\t\t\t});\n\n\t\t\tregisterWidget(iconId, {\n\t\t\t\tid: iconId,\n\t\t\t\ttype: \"autocomplete-icon\",\n\t\t\t\tref: internalIconRef,\n\t\t\t\tmouse: mouseIconRef.current,\n\t\t\t\tpayload: { variant: iconVariant },\n\t\t\t\tlayout: {\n\t\t\t\t\tx: 0,\n\t\t\t\t\ty: 0,\n\t\t\t\t\twidth: 0,\n\t\t\t\t\theight: 0,\n\t\t\t\t\tvisualScale: 1,\n\t\t\t\t\tradius: 15,\n\t\t\t\t},\n\t\t\t});\n\n\t\t\tconst containerNode = internalContainerRef.current;\n\t\t\tlet resizeObserver: ResizeObserver | null = null;\n\n\t\t\tif (containerNode) {\n\t\t\t\tresizeObserver = new ResizeObserver(() => {\n\t\t\t\t\tif (\n\t\t\t\t\t\ttypeof window !== \"undefined\" &&\n\t\t\t\t\t\t(window as any).forceWebGLRender\n\t\t\t\t\t) {\n\t\t\t\t\t\t(window as any).forceWebGLRender(150, true);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\tresizeObserver.observe(containerNode);\n\t\t\t}\n\n\t\t\treturn () => {\n\t\t\t\tif (resizeObserver) resizeObserver.disconnect();\n\t\t\t\tunregisterWidget(headerId);\n\t\t\t\tunregisterWidget(bodyId);\n\t\t\t\tunregisterWidget(iconId);\n\t\t\t};\n\t\t}, [headerId, bodyId, iconId, variant, bodyVariant, iconVariant]);\n\n\t\tconst setRefs = useCallback(\n\t\t\t(node: HTMLDivElement | null) => {\n\t\t\t\tinternalContainerRef.current = node;\n\t\t\t\tif (typeof externalRef === \"function\") externalRef(node);\n\t\t\t\telse if (externalRef) {\n\t\t\t\t\t(\n\t\t\t\t\t\texternalRef as React.MutableRefObject<HTMLDivElement | null>\n\t\t\t\t\t).current = node;\n\t\t\t\t}\n\t\t\t},\n\t\t\t[externalRef]\n\t\t);\n\n\t\treturn (\n\t\t\t<div\n\t\t\t\tref={setRefs}\n\t\t\t\tclassName={[\n\t\t\t\t\tstyles[\"mds-autocomplete\"],\n\t\t\t\t\tstyles[`mds-autocomplete--${variant}`],\n\t\t\t\t\tclassName,\n\t\t\t\t]\n\t\t\t\t\t.filter(Boolean)\n\t\t\t\t\t.join(\" \")}\n\t\t\t\tstyle={style}\n\t\t\t\tonPointerMove={handlePointerMove}\n\t\t\t\tonPointerEnter={() => {\n\t\t\t\t\tmouseBodyRef.current.hover = 1;\n\t\t\t\t}}\n\t\t\t\tonPointerLeave={() => {\n\t\t\t\t\tmouseBodyRef.current.hover = 0;\n\t\t\t\t}}\n\t\t\t\t{...rest}\n\t\t\t>\n\t\t\t\t<div\n\t\t\t\t\tref={internalBodyRef}\n\t\t\t\t\tclassName={[\n\t\t\t\t\t\tstyles[\"mds-autocomplete-body-bg\"],\n\t\t\t\t\t\tstyles[`mds-autocomplete-body-bg--${bodyVariant}`],\n\t\t\t\t\t].join(\" \")}\n\t\t\t\t/>\n\t\t\t\t<div\n\t\t\t\t\tref={internalHeaderRef}\n\t\t\t\t\tclassName={styles[\"mds-autocomplete-header\"]}\n\t\t\t\t\tonPointerEnter={() => {\n\t\t\t\t\t\tmouseHeaderRef.current.hover = 1;\n\t\t\t\t\t\tmouseIconRef.current.hover = 1;\n\t\t\t\t\t}}\n\t\t\t\t\tonPointerLeave={() => {\n\t\t\t\t\t\tmouseHeaderRef.current.hover = 0;\n\t\t\t\t\t\tmouseIconRef.current.hover = 0;\n\t\t\t\t\t\tmouseIconRef.current.click = 0;\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t<input\n\t\t\t\t\t\ttype=\"text\"\n\t\t\t\t\t\tclassName={styles[\"mds-autocomplete-input\"]}\n\t\t\t\t\t\tvalue={currentValue}\n\t\t\t\t\t\tonChange={handleInputChange}\n\t\t\t\t\t\tonClick={handleInputClick}\n\t\t\t\t\t\tplaceholder={placeholder}\n\t\t\t\t\t\taria-expanded={isOpen}\n\t\t\t\t\t/>\n\t\t\t\t\t<div\n\t\t\t\t\t\tref={internalIconRef}\n\t\t\t\t\t\tclassName={[\n\t\t\t\t\t\t\tstyles[\"mds-autocomplete-icon-box\"],\n\t\t\t\t\t\t\tstyles[`mds-autocomplete-icon-box--${iconVariant}`],\n\t\t\t\t\t\t].join(\" \")}\n\t\t\t\t\t\tonClick={handleToggle}\n\t\t\t\t\t\tonPointerDown={() => {\n\t\t\t\t\t\t\tmouseIconRef.current.click = 1;\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tonPointerUp={() => {\n\t\t\t\t\t\t\tmouseIconRef.current.click = 0;\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\t<Icons.ChevronIconAccordion\n\t\t\t\t\t\t\tclassName={[\n\t\t\t\t\t\t\t\tstyles[\"mds-autocomplete-chevron\"],\n\t\t\t\t\t\t\t\tisOpen &&\n\t\t\t\t\t\t\t\t\tstyles[\"mds-autocomplete-chevron--open\"],\n\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t\t.filter(Boolean)\n\t\t\t\t\t\t\t\t.join(\" \")}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<div\n\t\t\t\t\tclassName={[\n\t\t\t\t\t\tstyles[\"mds-autocomplete-content-grid\"],\n\t\t\t\t\t\tisOpen && styles[\"mds-autocomplete-content-grid--open\"],\n\t\t\t\t\t]\n\t\t\t\t\t\t.filter(Boolean)\n\t\t\t\t\t\t.join(\" \")}\n\t\t\t\t>\n\t\t\t\t\t<div className={styles[\"mds-autocomplete-content-inner\"]}>\n\t\t\t\t\t\t<div className={styles[\"mds-autocomplete-content\"]}>\n\t\t\t\t\t\t\t{/* ---> ИЗМЕНЕНО: Рендер отфильтрованных элементов */}\n\t\t\t\t\t\t\t{filteredOptions.length > 0 ? (\n\t\t\t\t\t\t\t\tfilteredOptions.map((opt) => (\n\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\tkey={opt.id}\n\t\t\t\t\t\t\t\t\t\tclassName={\n\t\t\t\t\t\t\t\t\t\t\tstyles[\"mds-autocomplete-item\"]\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tonClick={() => handleSelect(opt)}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\t\tclassName={[\n\t\t\t\t\t\t\t\t\t\t\t\tstyles[\n\t\t\t\t\t\t\t\t\t\t\t\t\t\"mds-autocomplete-item-box\"\n\t\t\t\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t\t\t\t\tstyles[\n\t\t\t\t\t\t\t\t\t\t\t\t\t`mds-autocomplete-item-box--${boxVariant}`\n\t\t\t\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t\t\t\t].join(\" \")}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t<span>{opt.label}</span>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t))\n\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\tclassName={styles[\"mds-autocomplete-item\"]}\n\t\t\t\t\t\t\t\t\tstyle={{ opacity: 0.5, cursor: \"default\" }}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<span>Nothing found</span>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>{\" \"}\n\t\t\t</div>\n\t\t);\n\t}\n);\n",".mds-avatar {\n --person-color: #000000;\n --person-shadow: none;\n --avatar-shadow: none;\n width: 60px;\n height: 60px;\n border-radius: 16px;\n display: flex;\n align-items: center;\n justify-content: center;\n overflow: hidden;\n position: relative;\n font-family: \"minimorphism\", sans-serif;\n flex-shrink: 0;\n z-index: 10;\n isolation: isolate;\n cursor: pointer;\n background: transparent;\n box-shadow: var(--avatar-shadow);\n -webkit-tap-highlight-color: transparent;\n transition: none;\n will-change: auto;\n}\n.mds-avatar--white {\n --person-color: #000000;\n --avatar-shadow: 0px 0px 17px 11px rgba(200, 200, 200, 0.25);\n --person-shadow: inset 0em 1em 1.5em rgba(255, 255, 255, 0.22),\n 0px 1px 5px rgba(0, 0, 0, 0.4), 0em 0em 2em rgba(70, 70, 70, 0.3);\n}\n.mds-avatar--black {\n --person-color: #ffffff;\n --avatar-shadow: 0px 1px 4px rgba(0, 0, 0, 0.5),\n 0px 0px 10px rgba(255, 255, 255, 0.15);\n --person-shadow: 0px 0px 11.3px rgba(255, 255, 255, 0.2),\n 0px 1px 5px rgba(0, 0, 0, 0.4),\n inset 0px 83px 119px -92px rgba(255, 255, 255, 0.3),\n inset 0px -26px 64.8px -50px rgba(0, 0, 0, 0.5),\n inset 0px 0px 24px 5px rgba(120, 120, 120, 0.03);\n}\n.mds-avatar--anodized {\n --person-color: #000000;\n --avatar-shadow: 0px 1px 4px rgba(0, 0, 0, 0.15);\n --person-shadow: inset 0em 1em 1.5em rgba(255, 255, 255, 0.35),\n 0px 1px 5px rgba(0, 0, 0, 0.4), 0em 0em 2em rgba(70, 70, 70, 0.3);\n}\n\n.mds-avatar__image,\n.mds-avatar__placeholder {\n width: 90%;\n height: 90%;\n border-radius: 14px;\n object-fit: cover;\n position: relative;\n z-index: 10;\n transition: transform 0.1s cubic-bezier(0.25, 1, 0.5, 1), opacity 0.1s ease;\n will-change: transform, opacity;\n}\n\n.mds-avatar__placeholder {\n width: 100%;\n height: 100%;\n display: flex;\n justify-content: center;\n align-items: flex-end;\n pointer-events: none;\n}\n\n.mds-avatar:hover:not(:active) .mds-avatar__image,\n.mds-avatar:hover:not(:active) .mds-avatar__placeholder {\n transform: translateY(-1px);\n}\n\n.mds-avatar:active .mds-avatar__image,\n.mds-avatar:active .mds-avatar__placeholder {\n transform: scale(0.91) translateY(1px);\n transition: transform 0.04s ease-out, opacity 0.04s ease-out;\n}\n\n.mds-avatar__head {\n position: absolute;\n top: 25%;\n width: 40%;\n height: 40%;\n border-radius: 50%;\n z-index: 2;\n background-color: var(--person-color);\n box-shadow: var(--person-shadow);\n}\n\n.mds-avatar__body {\n width: 70%;\n height: 45%;\n border-top-left-radius: 40px;\n border-top-right-radius: 40px;\n z-index: 1;\n margin-bottom: -5%;\n background-color: var(--person-color);\n box-shadow: var(--person-shadow);\n}\n/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkF2YXRhci5tb2R1bGUuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQTtFQUNFO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTs7QUFFQTtFQUNFO0VBQ0E7RUFDQTtBQUFBOztBQUlGO0VBQ0U7RUFDQTtBQUFBO0VBRUE7QUFBQTtBQUFBO0FBQUE7QUFBQTs7QUFPRjtFQUNFO0VBQ0E7RUFDQTtBQUFBOzs7QUFLSjtBQUFBO0VBRUU7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUEsWUFDRTtFQUVGOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBSUE7QUFBQTtFQUVFOzs7QUFLRjtBQUFBO0VBRUU7RUFDQSxZQUNFOzs7QUFLTjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAoYykgMjAyNiBtaW5pbW9ycGhpc21cbi8vIFN0eWxlcyBmb3IgQXZhdGFyXG5cbi5tZHMtYXZhdGFyIHtcbiAgLS1wZXJzb24tY29sb3I6ICMwMDAwMDA7XG4gIC0tcGVyc29uLXNoYWRvdzogbm9uZTtcbiAgLS1hdmF0YXItc2hhZG93OiBub25lO1xuXG4gIHdpZHRoOiA2MHB4O1xuICBoZWlnaHQ6IDYwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDE2cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZvbnQtZmFtaWx5OiBcIm1pbmltb3JwaGlzbVwiLCBzYW5zLXNlcmlmO1xuICBmbGV4LXNocmluazogMDtcbiAgei1pbmRleDogMTA7XG4gIGlzb2xhdGlvbjogaXNvbGF0ZTtcblxuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3gtc2hhZG93OiB2YXIoLS1hdmF0YXItc2hhZG93KTtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcblxuICB0cmFuc2l0aW9uOiBub25lO1xuICB3aWxsLWNoYW5nZTogYXV0bztcblxuICAmLS13aGl0ZSB7XG4gICAgLS1wZXJzb24tY29sb3I6ICMwMDAwMDA7XG4gICAgLS1hdmF0YXItc2hhZG93OiAwcHggMHB4IDE3cHggMTFweCByZ2JhKDIwMCwgMjAwLCAyMDAsIDAuMjUpO1xuICAgIC0tcGVyc29uLXNoYWRvdzogaW5zZXQgMGVtIDFlbSAxLjVlbSByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMjIpLFxuICAgICAgMHB4IDFweCA1cHggcmdiYSgwLCAwLCAwLCAwLjQpLCAwZW0gMGVtIDJlbSByZ2JhKDcwLCA3MCwgNzAsIDAuMyk7XG4gIH1cblxuICAmLS1ibGFjayB7XG4gICAgLS1wZXJzb24tY29sb3I6ICNmZmZmZmY7XG4gICAgLS1hdmF0YXItc2hhZG93OiAwcHggMXB4IDRweCByZ2JhKDAsIDAsIDAsIDAuNSksXG4gICAgICAwcHggMHB4IDEwcHggcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE1KTtcbiAgICAtLXBlcnNvbi1zaGFkb3c6IDBweCAwcHggMTEuM3B4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKSxcbiAgICAgIDBweCAxcHggNXB4IHJnYmEoMCwgMCwgMCwgMC40KSxcbiAgICAgIGluc2V0IDBweCA4M3B4IDExOXB4IC05MnB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4zKSxcbiAgICAgIGluc2V0IDBweCAtMjZweCA2NC44cHggLTUwcHggcmdiYSgwLCAwLCAwLCAwLjUpLFxuICAgICAgaW5zZXQgMHB4IDBweCAyNHB4IDVweCByZ2JhKDEyMCwgMTIwLCAxMjAsIDAuMDMpO1xuICB9XG5cbiAgJi0tYW5vZGl6ZWQge1xuICAgIC0tcGVyc29uLWNvbG9yOiAjMDAwMDAwO1xuICAgIC0tYXZhdGFyLXNoYWRvdzogMHB4IDFweCA0cHggcmdiYSgwLCAwLCAwLCAwLjE1KTtcbiAgICAtLXBlcnNvbi1zaGFkb3c6IGluc2V0IDBlbSAxZW0gMS41ZW0gcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjM1KSxcbiAgICAgIDBweCAxcHggNXB4IHJnYmEoMCwgMCwgMCwgMC40KSwgMGVtIDBlbSAyZW0gcmdiYSg3MCwgNzAsIDcwLCAwLjMpO1xuICB9XG59XG5cbi5tZHMtYXZhdGFyX19pbWFnZSxcbi5tZHMtYXZhdGFyX19wbGFjZWhvbGRlciB7XG4gIHdpZHRoOiA5MCU7XG4gIGhlaWdodDogOTAlO1xuICBib3JkZXItcmFkaXVzOiAxNHB4O1xuICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxMDtcblxuICB0cmFuc2l0aW9uOlxuICAgIHRyYW5zZm9ybSAwLjFzIGN1YmljLWJlemllcigwLjI1LCAxLCAwLjUsIDEpLFxuICAgIG9wYWNpdHkgMC4xcyBlYXNlO1xuICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtLCBvcGFjaXR5O1xufVxuXG4ubWRzLWF2YXRhcl9fcGxhY2Vob2xkZXIge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLm1kcy1hdmF0YXI6aG92ZXI6bm90KDphY3RpdmUpIHtcbiAgLm1kcy1hdmF0YXJfX2ltYWdlLFxuICAubWRzLWF2YXRhcl9fcGxhY2Vob2xkZXIge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMXB4KTtcbiAgfVxufVxuXG4ubWRzLWF2YXRhcjphY3RpdmUge1xuICAubWRzLWF2YXRhcl9faW1hZ2UsXG4gIC5tZHMtYXZhdGFyX19wbGFjZWhvbGRlciB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjkxKSB0cmFuc2xhdGVZKDFweCk7XG4gICAgdHJhbnNpdGlvbjpcbiAgICAgIHRyYW5zZm9ybSAwLjA0cyBlYXNlLW91dCxcbiAgICAgIG9wYWNpdHkgMC4wNHMgZWFzZS1vdXQ7XG4gIH1cbn1cblxuLm1kcy1hdmF0YXJfX2hlYWQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMjUlO1xuICB3aWR0aDogNDAlO1xuICBoZWlnaHQ6IDQwJTtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICB6LWluZGV4OiAyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wZXJzb24tY29sb3IpO1xuICBib3gtc2hhZG93OiB2YXIoLS1wZXJzb24tc2hhZG93KTtcbn1cblxuLm1kcy1hdmF0YXJfX2JvZHkge1xuICB3aWR0aDogNzAlO1xuICBoZWlnaHQ6IDQ1JTtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogNDBweDtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDQwcHg7XG4gIHotaW5kZXg6IDE7XG4gIG1hcmdpbi1ib3R0b206IC01JTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcGVyc29uLWNvbG9yKTtcbiAgYm94LXNoYWRvdzogdmFyKC0tcGVyc29uLXNoYWRvdyk7XG59XG4iXX0= */","// Copyright (c) 2026 minimorphism\n// Component Avatar\n\nimport React, { useRef, useId, useEffect, useCallback } from \"react\";\nimport styles from \"./Avatar.module.scss\";\nimport { registerWidget, unregisterWidget } from \"../../webgl/WebGLStore\";\nimport type { DisableVariants } from \"../../types\";\n\nexport interface AvatarProps extends React.HTMLAttributes<HTMLDivElement> {\n\tvariant?: DisableVariants<\"dark-gray\">;\n\tsrc?: string;\n\talt?: string;\n}\n\nexport const Avatar: React.FC<AvatarProps> = ({\n\tvariant = \"white\",\n\tsrc,\n\talt = \"User Avatar\",\n\tclassName = \"\",\n\t...rest\n}) => {\n\tconst internalRef = useRef<HTMLDivElement | null>(null);\n\tconst id = useId();\n\tconst mouseRef = useRef({ x: 0, y: 0, hover: 0, click: 0 });\n\n\tconst handlePointerMove = useCallback((e: React.PointerEvent) => {\n\t\tif (!internalRef.current) return;\n\t\tconst rect = internalRef.current.getBoundingClientRect();\n\t\tmouseRef.current.x = e.clientX - rect.left;\n\t\tmouseRef.current.y = e.clientY - rect.top;\n\t}, []);\n\n\tuseEffect(() => {\n\t\tregisterWidget(id, {\n\t\t\tid,\n\t\t\ttype: \"button\",\n\t\t\tref: internalRef,\n\t\t\tmouse: mouseRef.current,\n\t\t\tpayload: {\n\t\t\t\tvariant: variant,\n\t\t\t\tdisabled: false,\n\t\t\t},\n\t\t\tlayout: {\n\t\t\t\tx: 0,\n\t\t\t\ty: 0,\n\t\t\t\twidth: 0,\n\t\t\t\theight: 0,\n\t\t\t\tvisualScale: 1,\n\t\t\t\tradius: 16,\n\t\t\t},\n\t\t});\n\n\t\treturn () => {\n\t\t\tunregisterWidget(id);\n\t\t};\n\t}, [id, variant]);\n\n\treturn (\n\t\t<div\n\t\t\tref={internalRef}\n\t\t\tclassName={[\n\t\t\t\tstyles[\"mds-avatar\"],\n\t\t\t\tstyles[`mds-avatar--${variant}`],\n\t\t\t\tclassName,\n\t\t\t]\n\t\t\t\t.filter(Boolean)\n\t\t\t\t.join(\" \")}\n\t\t\tonPointerMove={handlePointerMove}\n\t\t\tonPointerEnter={() => {\n\t\t\t\tmouseRef.current.hover = 1;\n\t\t\t}}\n\t\t\tonPointerLeave={() => {\n\t\t\t\tmouseRef.current.hover = 0;\n\t\t\t\tmouseRef.current.click = 0;\n\t\t\t}}\n\t\t\tonPointerDown={() => {\n\t\t\t\tmouseRef.current.click = 1;\n\t\t\t}}\n\t\t\tonPointerUp={() => {\n\t\t\t\tmouseRef.current.click = 0;\n\t\t\t}}\n\t\t\t{...rest}\n\t\t>\n\t\t\t{src ? (\n\t\t\t\t<img\n\t\t\t\t\tclassName={styles[\"mds-avatar__image\"]}\n\t\t\t\t\tsrc={src}\n\t\t\t\t\talt={alt}\n\t\t\t\t/>\n\t\t\t) : (\n\t\t\t\t<div className={styles[\"mds-avatar__placeholder\"]}>\n\t\t\t\t\t<div className={styles[\"mds-avatar__head\"]} />\n\t\t\t\t\t<div className={styles[\"mds-avatar__body\"]} />\n\t\t\t\t</div>\n\t\t\t)}\n\t\t</div>\n\t);\n};\n",".mds-badge-container {\n position: relative;\n display: inline-flex;\n}\n\n.mds-badge-target {\n display: inline-flex;\n position: relative;\n padding: 20px;\n margin: -20px;\n -webkit-transform: translateZ(0);\n transform: translateZ(0);\n -webkit-mask-image: radial-gradient(circle at right 22px top 22px, transparent 12.5px, black 13px);\n mask-image: radial-gradient(circle at right 22px top 22px, transparent 12.5px, black 13px);\n}\n.mds-badge-target > * {\n -webkit-transform: translateZ(0);\n transform: translateZ(0);\n}\n\n.mds-badge {\n --badge-text-color: #000000;\n position: absolute;\n top: -12px;\n right: -12px;\n z-index: 50;\n width: 28px;\n height: 28px;\n display: flex;\n align-items: center;\n justify-content: center;\n border-radius: 50%;\n background: transparent;\n user-select: none;\n font-family: \"minimorphism\", sans-serif;\n}\n.mds-badge--black {\n --badge-text-color: #ffffff;\n box-shadow: 0px 2px 8px rgba(0, 0, 0, 0.4);\n}\n.mds-badge--white {\n --badge-text-color: #000000;\n box-shadow: 0px 2px 8px rgba(0, 0, 0, 0.1);\n}\n.mds-badge--anodized {\n --badge-text-color: #000000;\n box-shadow: 0px 1px 4px rgba(0, 0, 0, 0.2);\n}\n\n.mds-badge-content {\n position: relative;\n z-index: 10;\n font-size: 11px;\n font-weight: bold;\n color: var(--badge-text-color);\n line-height: 1;\n}\n/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkJhZGdlLm1vZHVsZS5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBO0VBQ0U7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBO0VBRUE7RUFDQTtFQUVBO0VBQ0E7RUFFQTtFQUtBOztBQU1BO0VBQ0U7RUFDQTs7O0FBR0o7RUFDRTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0U7RUFDQTs7QUFHRjtFQUNFO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBOzs7QUFJSjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAoYykgMjAyNiBtaW5pbW9ycGhpc21cbi8vIFN0eWxlcyBmb3IgQmFkZ2VcblxuLm1kcy1iYWRnZS1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xufVxuXG4ubWRzLWJhZGdlLXRhcmdldCB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgcGFkZGluZzogMjBweDtcbiAgbWFyZ2luOiAtMjBweDtcblxuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApO1xuXG4gIC13ZWJraXQtbWFzay1pbWFnZTogcmFkaWFsLWdyYWRpZW50KFxuICAgIGNpcmNsZSBhdCByaWdodCAyMnB4IHRvcCAyMnB4LFxuICAgIHRyYW5zcGFyZW50IDEyLjVweCxcbiAgICBibGFjayAxM3B4XG4gICk7XG4gIG1hc2staW1hZ2U6IHJhZGlhbC1ncmFkaWVudChcbiAgICBjaXJjbGUgYXQgcmlnaHQgMjJweCB0b3AgMjJweCxcbiAgICB0cmFuc3BhcmVudCAxMi41cHgsXG4gICAgYmxhY2sgMTNweFxuICApO1xuXG4gICYgPiAqIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7XG4gIH1cbn1cbi5tZHMtYmFkZ2Uge1xuICAtLWJhZGdlLXRleHQtY29sb3I6ICMwMDAwMDA7XG5cbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IC0xMnB4O1xuICByaWdodDogLTEycHg7XG4gIHotaW5kZXg6IDUwO1xuICB3aWR0aDogMjhweDtcbiAgaGVpZ2h0OiAyOHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIGZvbnQtZmFtaWx5OiBcIm1pbmltb3JwaGlzbVwiLCBzYW5zLXNlcmlmO1xuXG4gICYtLWJsYWNrIHtcbiAgICAtLWJhZGdlLXRleHQtY29sb3I6ICNmZmZmZmY7XG4gICAgYm94LXNoYWRvdzogMHB4IDJweCA4cHggcmdiYSgwLCAwLCAwLCAwLjQpO1xuICB9XG5cbiAgJi0td2hpdGUge1xuICAgIC0tYmFkZ2UtdGV4dC1jb2xvcjogIzAwMDAwMDtcbiAgICBib3gtc2hhZG93OiAwcHggMnB4IDhweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gIH1cblxuICAmLS1hbm9kaXplZCB7XG4gICAgLS1iYWRnZS10ZXh0LWNvbG9yOiAjMDAwMDAwO1xuICAgIGJveC1zaGFkb3c6IDBweCAxcHggNHB4IHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgfVxufVxuXG4ubWRzLWJhZGdlLWNvbnRlbnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDEwO1xuICBmb250LXNpemU6IDExcHg7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogdmFyKC0tYmFkZ2UtdGV4dC1jb2xvcik7XG4gIGxpbmUtaGVpZ2h0OiAxO1xufVxuIl19 */","// Copyright (c) 2026 minimorphism\n// Component Badge\n\nimport React, { useRef, useCallback, useId, useEffect } from \"react\";\nimport styles from \"./Badge.module.scss\";\nimport { registerWidget, unregisterWidget } from \"../../webgl/WebGLStore\";\nimport type { DisableVariants } from \"../../types\";\n\nexport type BadgeProps = React.HTMLAttributes<HTMLDivElement> & {\n\tvariant?: DisableVariants<\"dark-gray\">;\n\tcontent: React.ReactNode;\n};\n\nexport const Badge = React.forwardRef<HTMLDivElement, BadgeProps>(\n\t(\n\t\t{ variant = \"black\", content, children, className = \"\", ...rest },\n\t\texternalRef\n\t) => {\n\t\tconst containerRef = useRef<HTMLDivElement | null>(null);\n\t\tconst badgeRef = useRef<HTMLDivElement | null>(null);\n\t\tconst id = useId();\n\t\tconst mouseRef = useRef({ x: 0, y: 0, hover: 0, click: 0 });\n\n\t\tconst handlePointerMove = useCallback((e: React.PointerEvent) => {\n\t\t\tif (!badgeRef.current) return;\n\t\t\tconst rect = badgeRef.current.getBoundingClientRect();\n\t\t\tmouseRef.current.x = e.clientX - rect.left;\n\t\t\tmouseRef.current.y = e.clientY - rect.top;\n\t\t}, []);\n\n\t\tuseEffect(() => {\n\t\t\tregisterWidget(id, {\n\t\t\t\tid,\n\t\t\t\ttype: \"badge\",\n\t\t\t\tref: badgeRef,\n\t\t\t\tmouse: mouseRef.current,\n\t\t\t\tpayload: { variant },\n\t\t\t\tlayout: {\n\t\t\t\t\tx: 0,\n\t\t\t\t\ty: 0,\n\t\t\t\t\twidth: 0,\n\t\t\t\t\theight: 0,\n\t\t\t\t\tvisualScale: 1,\n\t\t\t\t\tradius: 14,\n\t\t\t\t},\n\t\t\t});\n\t\t\treturn () => {\n\t\t\t\tunregisterWidget(id);\n\t\t\t};\n\t\t}, [id, variant]);\n\n\t\tconst setRefs = useCallback(\n\t\t\t(node: HTMLDivElement | null) => {\n\t\t\t\tcontainerRef.current = node;\n\t\t\t\tif (typeof externalRef === \"function\") externalRef(node);\n\t\t\t\telse if (externalRef) {\n\t\t\t\t\t(\n\t\t\t\t\t\texternalRef as React.MutableRefObject<HTMLDivElement | null>\n\t\t\t\t\t).current = node;\n\t\t\t\t}\n\t\t\t},\n\t\t\t[externalRef]\n\t\t);\n\n\t\treturn (\n\t\t\t<div\n\t\t\t\tref={setRefs}\n\t\t\t\tclassName={[styles[\"mds-badge-container\"], className]\n\t\t\t\t\t.filter(Boolean)\n\t\t\t\t\t.join(\" \")}\n\t\t\t\t{...rest}\n\t\t\t>\n\t\t\t\t<div className={styles[\"mds-badge-target\"]}>{children}</div>\n\t\t\t\t<div\n\t\t\t\t\tref={badgeRef}\n\t\t\t\t\tclassName={[\n\t\t\t\t\t\tstyles[\"mds-badge\"],\n\t\t\t\t\t\tstyles[`mds-badge--${variant}`],\n\t\t\t\t\t].join(\" \")}\n\t\t\t\t\tonPointerMove={handlePointerMove}\n\t\t\t\t\tonPointerEnter={() => {\n\t\t\t\t\t\tmouseRef.current.hover = 1;\n\t\t\t\t\t}}\n\t\t\t\t\tonPointerLeave={() => {\n\t\t\t\t\t\tmouseRef.current.hover = 0;\n\t\t\t\t\t\tmouseRef.current.click = 0;\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t<div className={styles[\"mds-badge-content\"]}>{content}</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\t}\n);\n",".mds-box {\n --box-text-color: #000000;\n position: relative;\n display: flex;\n align-items: center;\n justify-content: center;\n border-radius: 20px;\n padding: 24px;\n font-size: 16px;\n border: 0px solid transparent;\n font-family: \"minimorphism\";\n background: transparent;\n transition: transform 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);\n will-change: transform, box-shadow;\n}\n.mds-box--white {\n --box-text-color: #000000;\n box-shadow: 0px 0px 17px 11px rgba(200, 200, 200, 0.25);\n}\n.mds-box--black {\n --box-text-color: #ffffff;\n box-shadow: 0px 1px 4px rgba(0, 0, 0, 0.5), 0px 0px 10px rgba(255, 255, 255, 0.15);\n}\n.mds-box--anodized {\n --box-text-color: #000000;\n box-shadow: 0px 1px 4px rgba(0, 0, 0, 0.15);\n}\n.mds-box--dark-gray {\n --box-text-color: #ffffff;\n box-shadow: 0px 1px 4px rgba(0, 0, 0, 0.5), 0px 0px 10px rgba(255, 255, 255, 0.15);\n}\n.mds-box--disabled {\n --box-text-color: #ffffff;\n box-shadow: 0px 2px 5px rgba(0, 0, 0, 0.05);\n cursor: not-allowed;\n pointer-events: none;\n}\n.mds-box--disabled:hover, .mds-box--disabled:active {\n transform: none;\n}\n\n.mds-box-content {\n position: relative;\n z-index: 10;\n color: var(--box-text-color);\n}\n/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkJveC5tb2R1bGUuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFLQTtFQUNFO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0U7RUFDQTs7QUFHRjtFQUNFO0VBQ0EsWUFDRTs7QUFJSjtFQUNFO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBLFlBQ0U7O0FBSUo7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUVFOzs7QUFLTjtFQUNFO0VBQ0E7RUFDQSIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAoYykgMjAyNiBtaW5pbW9ycGhpc21cbi8vIFN0eWxlcyBmb3IgQm94XG5cbkB1c2UgXCIuLi8uLi9zdHlsZXMvY29sb3JzXCIgYXMgYztcblxuLm1kcy1ib3gge1xuICAtLWJveC10ZXh0LWNvbG9yOiAje2MuJG1kcy1ibGFja307XG5cbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYm9yZGVyLXJhZGl1czogMjBweDtcbiAgcGFkZGluZzogMjRweDtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBib3JkZXI6IDBweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgZm9udC1mYW1pbHk6IFwibWluaW1vcnBoaXNtXCI7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC40cyBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxLjI3NSk7XG4gIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm0sIGJveC1zaGFkb3c7XG5cbiAgJi0td2hpdGUge1xuICAgIC0tYm94LXRleHQtY29sb3I6ICN7Yy4kbWRzLWJsYWNrfTtcbiAgICBib3gtc2hhZG93OiAwcHggMHB4IDE3cHggMTFweCByZ2JhKDIwMCwgMjAwLCAyMDAsIDAuMjUpO1xuICB9XG5cbiAgJi0tYmxhY2sge1xuICAgIC0tYm94LXRleHQtY29sb3I6ICN7Yy4kbWRzLXdoaXRlfTtcbiAgICBib3gtc2hhZG93OlxuICAgICAgMHB4IDFweCA0cHggcmdiYSgwLCAwLCAwLCAwLjUpLFxuICAgICAgMHB4IDBweCAxMHB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xNSk7XG4gIH1cblxuICAmLS1hbm9kaXplZCB7XG4gICAgLS1ib3gtdGV4dC1jb2xvcjogI3tjLiRtZHMtYmxhY2t9O1xuICAgIGJveC1zaGFkb3c6IDBweCAxcHggNHB4IHJnYmEoMCwgMCwgMCwgMC4xNSk7XG4gIH1cblxuICAmLS1kYXJrLWdyYXkge1xuICAgIC0tYm94LXRleHQtY29sb3I6ICN7Yy4kbWRzLXdoaXRlfTtcbiAgICBib3gtc2hhZG93OlxuICAgICAgMHB4IDFweCA0cHggcmdiYSgwLCAwLCAwLCAwLjUpLFxuICAgICAgMHB4IDBweCAxMHB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xNSk7XG4gIH1cblxuICAmLS1kaXNhYmxlZCB7XG4gICAgLS1ib3gtdGV4dC1jb2xvcjogI2ZmZmZmZjtcbiAgICBib3gtc2hhZG93OiAwcHggMnB4IDVweCByZ2JhKDAsIDAsIDAsIDAuMDUpO1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG5cbiAgICAmOmhvdmVyLFxuICAgICY6YWN0aXZlIHtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB9XG4gIH1cbn1cblxuLm1kcy1ib3gtY29udGVudCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMTA7XG4gIGNvbG9yOiB2YXIoLS1ib3gtdGV4dC1jb2xvcik7XG59XG4iXX0= */","// Copyright (c) 2026 minimorphism\n// Component Box\n\nimport React, { useRef, useCallback, useId, useEffect } from \"react\";\nimport styles from \"./Box.module.scss\";\nimport { registerWidget, unregisterWidget } from \"../../webgl/WebGLStore\";\nimport type { Variant } from \"../../types\";\n\nexport type BoxProps = React.HTMLAttributes<HTMLDivElement> & {\n\tvariant?: Variant;\n\tdisabled?: boolean;\n};\n\nexport const Box = React.forwardRef<HTMLDivElement, BoxProps>(\n\t(\n\t\t{\n\t\t\tvariant = \"white\",\n\t\t\tdisabled = false,\n\t\t\tclassName = \"\",\n\t\t\tchildren,\n\t\t\t...rest\n\t\t},\n\t\texternalRef\n\t) => {\n\t\tconst internalRef = useRef<HTMLDivElement | null>(null);\n\t\tconst id = useId();\n\t\tconst mouseRef = useRef({ x: 0, y: 0, hover: 0, click: 0 });\n\n\t\tconst handlePointerMove = useCallback((e: React.PointerEvent) => {\n\t\t\tif (!internalRef.current) return;\n\t\t\tconst rect = internalRef.current.getBoundingClientRect();\n\t\t\tmouseRef.current.x = e.clientX - rect.left;\n\t\t\tmouseRef.current.y = e.clientY - rect.top;\n\t\t}, []);\n\n\t\tuseEffect(() => {\n\t\t\tregisterWidget(id, {\n\t\t\t\tid,\n\t\t\t\ttype: \"box\",\n\t\t\t\tref: internalRef,\n\t\t\t\tmouse: mouseRef.current,\n\t\t\t\tpayload: { variant, disabled },\n\t\t\t\tlayout: {\n\t\t\t\t\tx: 0,\n\t\t\t\t\ty: 0,\n\t\t\t\t\twidth: 0,\n\t\t\t\t\theight: 0,\n\t\t\t\t\tvisualScale: 1,\n\t\t\t\t\tradius: 20,\n\t\t\t\t},\n\t\t\t});\n\n\t\t\treturn () => {\n\t\t\t\tunregisterWidget(id);\n\t\t\t};\n\t\t}, [id, variant, disabled]);\n\n\t\tconst setRefs = useCallback(\n\t\t\t(node: HTMLDivElement | null) => {\n\t\t\t\tinternalRef.current = node;\n\t\t\t\tif (typeof externalRef === \"function\") externalRef(node);\n\t\t\t\telse if (externalRef) {\n\t\t\t\t\t(\n\t\t\t\t\t\texternalRef as React.MutableRefObject<HTMLDivElement | null>\n\t\t\t\t\t).current = node;\n\t\t\t\t}\n\t\t\t},\n\t\t\t[externalRef]\n\t\t);\n\n\t\treturn (\n\t\t\t<div\n\t\t\t\tref={setRefs}\n\t\t\t\tclassName={[\n\t\t\t\t\tstyles[\"mds-box\"],\n\t\t\t\t\tdisabled\n\t\t\t\t\t\t? styles[\"mds-box--disabled\"]\n\t\t\t\t\t\t: styles[`mds-box--${variant}`],\n\t\t\t\t\tclassName,\n\t\t\t\t]\n\t\t\t\t\t.filter(Boolean)\n\t\t\t\t\t.join(\" \")}\n\t\t\t\tonPointerMove={handlePointerMove}\n\t\t\t\tonPointerEnter={() => {\n\t\t\t\t\tmouseRef.current.hover = 1;\n\t\t\t\t}}\n\t\t\t\tonPointerLeave={() => {\n\t\t\t\t\tmouseRef.current.hover = 0;\n\t\t\t\t\tmouseRef.current.click = 0;\n\t\t\t\t}}\n\t\t\t\tonPointerDown={() => {\n\t\t\t\t\tmouseRef.current.click = 1;\n\t\t\t\t}}\n\t\t\t\tonPointerUp={() => {\n\t\t\t\t\tmouseRef.current.click = 0;\n\t\t\t\t}}\n\t\t\t\t{...rest}\n\t\t\t>\n\t\t\t\t<div className={styles[\"mds-box-content\"]}>{children}</div>\n\t\t\t</div>\n\t\t);\n\t}\n);\n",".mds-button {\n --btn-text-color: #000000;\n --btn-font-size: 20px;\n --btn-padding-y: 14px;\n --btn-padding-x: 76px;\n --btn-border-radius: 20px;\n position: relative;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n border-radius: var(--btn-border-radius);\n padding: var(--btn-padding-y) var(--btn-padding-x);\n font-size: var(--btn-font-size);\n border: 0px solid transparent;\n cursor: pointer;\n font-family: \"minimorphism\";\n background: transparent;\n -webkit-tap-highlight-color: transparent;\n will-change: auto;\n transition: none;\n}\n.mds-button--white {\n --btn-text-color: #000000;\n box-shadow: 0px 0px 17px 11px rgba(200, 200, 200, 0.25);\n}\n.mds-button--black {\n --btn-text-color: #ffffff;\n box-shadow: 0px 1px 4px rgba(0, 0, 0, 0.5), 0px 0px 10px rgba(255, 255, 255, 0.15);\n}\n.mds-button--anodized {\n --btn-text-color: #000000;\n box-shadow: 0px 1px 4px rgba(0, 0, 0, 0.15);\n}\n.mds-button--dark-gray {\n --btn-text-color: #ffffff;\n box-shadow: 0px 1px 4px rgba(0, 0, 0, 0.5), 0px 0px 10px rgba(255, 255, 255, 0.15);\n}\n.mds-button--disabled {\n --btn-text-color: #ffffff;\n box-shadow: 0px 2px 5px rgba(0, 0, 0, 0.05);\n cursor: not-allowed;\n pointer-events: none;\n}\n.mds-button--sm {\n --btn-font-size: 18px;\n --btn-padding-y: 10px;\n --btn-padding-x: 70px;\n --btn-border-radius: 32px;\n}\n.mds-button--lg {\n --btn-font-size: 32px;\n --btn-padding-y: 30px;\n --btn-padding-x: 72px;\n --btn-border-radius: 32px;\n}\n\n.mds-button-text {\n position: relative;\n z-index: 10000;\n pointer-events: none;\n color: var(--btn-text-color);\n display: inline-block;\n transition: transform 0.1s cubic-bezier(0.25, 1, 0.5, 1), opacity 0.1s ease;\n will-change: transform, opacity;\n}\n\n.mds-button:hover:not(:active) .mds-button-text {\n transform: translateY(-1px);\n opacity: 0.92;\n}\n\n.mds-button:active .mds-button-text {\n transform: scale(0.94) translateY(1.5px);\n opacity: 0.85;\n transition: transform 0.04s ease-out, opacity 0.04s ease-out;\n}\n/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkJ1dHRvbi5tb2R1bGUuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFLQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBOztBQUVBO0VBQ0U7RUFDQTs7QUFHRjtFQUNFO0VBQ0EsWUFDRTs7QUFJSjtFQUNFO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBLFlBQ0U7O0FBSUo7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBOztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7OztBQUlKO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBLFlBQ0U7RUFFRjs7O0FBR0Y7RUFDRTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQSxZQUNFIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IChjKSAyMDI2IG1pbmltb3JwaGlzbVxuLy8gU3R5bGVzIGZvciBCdXR0b25cblxuQHVzZSBcIi4uLy4uL3N0eWxlcy9jb2xvcnNcIiBhcyBjO1xuXG4ubWRzLWJ1dHRvbiB7XG4gIC0tYnRuLXRleHQtY29sb3I6ICN7Yy4kbWRzLWJsYWNrfTtcbiAgLS1idG4tZm9udC1zaXplOiAyMHB4O1xuICAtLWJ0bi1wYWRkaW5nLXk6IDE0cHg7XG4gIC0tYnRuLXBhZGRpbmcteDogNzZweDtcbiAgLS1idG4tYm9yZGVyLXJhZGl1czogMjBweDtcblxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYnRuLWJvcmRlci1yYWRpdXMpO1xuICBwYWRkaW5nOiB2YXIoLS1idG4tcGFkZGluZy15KSB2YXIoLS1idG4tcGFkZGluZy14KTtcbiAgZm9udC1zaXplOiB2YXIoLS1idG4tZm9udC1zaXplKTtcbiAgYm9yZGVyOiAwcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZm9udC1mYW1pbHk6IFwibWluaW1vcnBoaXNtXCI7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuXG4gIHdpbGwtY2hhbmdlOiBhdXRvO1xuICB0cmFuc2l0aW9uOiBub25lO1xuXG4gICYtLXdoaXRlIHtcbiAgICAtLWJ0bi10ZXh0LWNvbG9yOiAje2MuJG1kcy1ibGFja307XG4gICAgYm94LXNoYWRvdzogMHB4IDBweCAxN3B4IDExcHggcmdiYSgyMDAsIDIwMCwgMjAwLCAwLjI1KTtcbiAgfVxuXG4gICYtLWJsYWNrIHtcbiAgICAtLWJ0bi10ZXh0LWNvbG9yOiAje2MuJG1kcy13aGl0ZX07XG4gICAgYm94LXNoYWRvdzpcbiAgICAgIDBweCAxcHggNHB4IHJnYmEoMCwgMCwgMCwgMC41KSxcbiAgICAgIDBweCAwcHggMTBweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTUpO1xuICB9XG5cbiAgJi0tYW5vZGl6ZWQge1xuICAgIC0tYnRuLXRleHQtY29sb3I6ICN7Yy4kbWRzLWJsYWNrfTtcbiAgICBib3gtc2hhZG93OiAwcHggMXB4IDRweCByZ2JhKDAsIDAsIDAsIDAuMTUpO1xuICB9XG5cbiAgJi0tZGFyay1ncmF5IHtcbiAgICAtLWJ0bi10ZXh0LWNvbG9yOiAje2MuJG1kcy13aGl0ZX07XG4gICAgYm94LXNoYWRvdzpcbiAgICAgIDBweCAxcHggNHB4IHJnYmEoMCwgMCwgMCwgMC41KSxcbiAgICAgIDBweCAwcHggMTBweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTUpO1xuICB9XG5cbiAgJi0tZGlzYWJsZWQge1xuICAgIC0tYnRuLXRleHQtY29sb3I6ICNmZmZmZmY7XG4gICAgYm94LXNoYWRvdzogMHB4IDJweCA1cHggcmdiYSgwLCAwLCAwLCAwLjA1KTtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB9XG5cbiAgJi0tc20ge1xuICAgIC0tYnRuLWZvbnQtc2l6ZTogMThweDtcbiAgICAtLWJ0bi1wYWRkaW5nLXk6IDEwcHg7XG4gICAgLS1idG4tcGFkZGluZy14OiA3MHB4O1xuICAgIC0tYnRuLWJvcmRlci1yYWRpdXM6IDMycHg7XG4gIH1cblxuICAmLS1sZyB7XG4gICAgLS1idG4tZm9udC1zaXplOiAzMnB4O1xuICAgIC0tYnRuLXBhZGRpbmcteTogMzBweDtcbiAgICAtLWJ0bi1wYWRkaW5nLXg6IDcycHg7XG4gICAgLS1idG4tYm9yZGVyLXJhZGl1czogMzJweDtcbiAgfVxufVxuXG4ubWRzLWJ1dHRvbi10ZXh0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxMDAwMDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIGNvbG9yOiB2YXIoLS1idG4tdGV4dC1jb2xvcik7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICB0cmFuc2l0aW9uOlxuICAgIHRyYW5zZm9ybSAwLjFzIGN1YmljLWJlemllcigwLjI1LCAxLCAwLjUsIDEpLFxuICAgIG9wYWNpdHkgMC4xcyBlYXNlO1xuICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtLCBvcGFjaXR5O1xufVxuXG4ubWRzLWJ1dHRvbjpob3Zlcjpub3QoOmFjdGl2ZSkgLm1kcy1idXR0b24tdGV4dCB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMXB4KTtcbiAgb3BhY2l0eTogMC45Mjtcbn1cblxuLm1kcy1idXR0b246YWN0aXZlIC5tZHMtYnV0dG9uLXRleHQge1xuICB0cmFuc2Zvcm06IHNjYWxlKDAuOTQpIHRyYW5zbGF0ZVkoMS41cHgpO1xuICBvcGFjaXR5OiAwLjg1O1xuICB0cmFuc2l0aW9uOlxuICAgIHRyYW5zZm9ybSAwLjA0cyBlYXNlLW91dCxcbiAgICBvcGFjaXR5IDAuMDRzIGVhc2Utb3V0O1xufVxuIl19 */","// Copyright (c) 2026 minimorphism\n// Component Button\n\nimport React, { useRef, useCallback, useId, useEffect } from \"react\";\nimport styles from \"./Button.module.scss\";\nimport { registerWidget, unregisterWidget } from \"../../webgl/WebGLStore\";\nimport type { Variant } from \"../../types\";\n\nexport type ButtonProps = React.ButtonHTMLAttributes<HTMLButtonElement> & {\n\tvariant?: Variant;\n\tsize?: \"sm\" | \"md\" | \"lg\";\n\tradius?: number | [number, number, number, number];\n};\n\nexport const Button = React.forwardRef<HTMLButtonElement, ButtonProps>(\n\t(\n\t\t{\n\t\t\tvariant = \"white\",\n\t\t\tsize = \"md\",\n\t\t\tradius,\n\t\t\tclassName = \"\",\n\t\t\tdisabled,\n\t\t\tchildren,\n\t\t\t...rest\n\t\t},\n\t\texternalRef\n\t) => {\n\t\tconst internalRef = useRef<HTMLButtonElement | null>(null);\n\t\tconst id = useId();\n\t\tconst mouseRef = useRef({ x: 0, y: 0, hover: 0, click: 0 });\n\n\t\tconst defaultRadius = size === \"sm\" || size === \"lg\" ? 32 : 20;\n\t\tconst currentRadius = radius !== undefined ? radius : defaultRadius;\n\n\t\tconst handlePointerMove = useCallback(\n\t\t\t(e: React.PointerEvent) => {\n\t\t\t\tif (!internalRef.current || disabled) return;\n\t\t\t\tconst rect = internalRef.current.getBoundingClientRect();\n\t\t\t\tmouseRef.current.x = e.clientX - rect.left;\n\t\t\t\tmouseRef.current.y = e.clientY - rect.top;\n\t\t\t},\n\t\t\t[disabled]\n\t\t);\n\n\t\tuseEffect(() => {\n\t\t\tregisterWidget(id, {\n\t\t\t\tid,\n\t\t\t\ttype: \"button\",\n\t\t\t\tref: internalRef,\n\t\t\t\tmouse: mouseRef.current,\n\t\t\t\tpayload: { variant, disabled: !!disabled },\n\t\t\t\tlayout: {\n\t\t\t\t\tx: 0,\n\t\t\t\t\ty: 0,\n\t\t\t\t\twidth: 0,\n\t\t\t\t\theight: 0,\n\t\t\t\t\tvisualScale: 1,\n\t\t\t\t\tradius: currentRadius,\n\t\t\t\t},\n\t\t\t});\n\n\t\t\treturn () => {\n\t\t\t\tunregisterWidget(id);\n\t\t\t};\n\t\t}, [id, variant, disabled]);\n\n\t\tconst setRefs = useCallback(\n\t\t\t(node: HTMLButtonElement | null) => {\n\t\t\t\tinternalRef.current = node;\n\t\t\t\tif (typeof externalRef === \"function\") externalRef(node);\n\t\t\t\telse if (externalRef) {\n\t\t\t\t\t(\n\t\t\t\t\t\texternalRef as React.MutableRefObject<HTMLButtonElement | null>\n\t\t\t\t\t).current = node;\n\t\t\t\t}\n\t\t\t},\n\t\t\t[externalRef]\n\t\t);\n\n\t\treturn (\n\t\t\t<button\n\t\t\t\tref={setRefs}\n\t\t\t\tdisabled={disabled}\n\t\t\t\tclassName={[\n\t\t\t\t\tstyles[\"mds-button\"],\n\t\t\t\t\tdisabled\n\t\t\t\t\t\t? styles[\"mds-button--disabled\"]\n\t\t\t\t\t\t: styles[`mds-button--${variant}`],\n\t\t\t\t\tsize !== \"md\" && styles[`mds-button--${size}`],\n\t\t\t\t\tclassName,\n\t\t\t\t]\n\t\t\t\t\t.filter(Boolean)\n\t\t\t\t\t.join(\" \")}\n\t\t\t\tonPointerMove={handlePointerMove}\n\t\t\t\tonPointerEnter={() => {\n\t\t\t\t\tmouseRef.current.hover = 1;\n\t\t\t\t}}\n\t\t\t\tonPointerLeave={() => {\n\t\t\t\t\tmouseRef.current.hover = 0;\n\t\t\t\t\tmouseRef.current.click = 0;\n\t\t\t\t}}\n\t\t\t\tonPointerDown={() => {\n\t\t\t\t\tmouseRef.current.click = 1;\n\t\t\t\t}}\n\t\t\t\tonPointerUp={() => {\n\t\t\t\t\tmouseRef.current.click = 0;\n\t\t\t\t}}\n\t\t\t\t{...rest}\n\t\t\t>\n\t\t\t\t<span className={styles[\"mds-button-text\"]}>{children}</span>\n\t\t\t</button>\n\t\t);\n\t}\n);\n",".mds-button-group {\n display: inline-flex;\n flex-direction: row;\n align-items: center;\n justify-content: center;\n gap: 0;\n flex-wrap: nowrap;\n --separator-color: transparent;\n}\n.mds-button-group--white {\n --separator-color: transparent;\n}\n.mds-button-group--black {\n --separator-color: #ffffff;\n}\n.mds-button-group--anodized {\n --separator-color: #000000;\n}\n.mds-button-group--dark-gray {\n --separator-color: #ffffff;\n}\n\n.mds-button-group__cell {\n display: flex;\n align-items: center;\n position: relative;\n}\n\n.mds-button-group__item {\n border-radius: 0 !important;\n margin: 0;\n position: relative;\n z-index: 0;\n}\n.mds-button-group__item:hover {\n z-index: 1;\n}\n.mds-button-group__cell:first-child .mds-button-group__item {\n border-radius: 20px 0 0 20px !important;\n}\n.mds-button-group__cell:last-child .mds-button-group__item {\n border-radius: 0 20px 20px 0 !important;\n}\n.mds-button-group__cell:first-child:last-child .mds-button-group__item {\n border-radius: 20px !important;\n}\n\n.mds-button-group__separator {\n position: absolute;\n right: 0;\n top: 50%;\n transform: translateY(-50%);\n width: 2px;\n height: 98%;\n background-color: var(--separator-color);\n z-index: 10;\n pointer-events: none;\n}\n\n.mds-button-group__active {\n opacity: 1;\n}\n/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkJ1dHRvbkdyb3VwLm1vZHVsZS5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUtBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7O0FBRUE7RUFDRTs7QUFFRjtFQUNFOztBQUVGO0VBQ0U7O0FBRUY7RUFDRTs7O0FBSUo7RUFDRTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDRTs7QUFHRjtFQUNFOztBQUdGO0VBQ0U7O0FBR0Y7RUFDRTs7O0FBSUo7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0UiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgKGMpIDIwMjYgbWluaW1vcnBoaXNtXG4vLyBTdHlsZXMgZm9yIEJ1dHRvbkdyb3VwXG5cbkB1c2UgXCIuLi8uLi9zdHlsZXMvY29sb3JzXCIgYXMgYztcblxuLm1kcy1idXR0b24tZ3JvdXAge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGdhcDogMDtcbiAgZmxleC13cmFwOiBub3dyYXA7XG5cbiAgLS1zZXBhcmF0b3ItY29sb3I6IHRyYW5zcGFyZW50O1xuXG4gICYtLXdoaXRlIHtcbiAgICAtLXNlcGFyYXRvci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIH1cbiAgJi0tYmxhY2sge1xuICAgIC0tc2VwYXJhdG9yLWNvbG9yOiAje2MuJG1kcy13aGl0ZX07XG4gIH1cbiAgJi0tYW5vZGl6ZWQge1xuICAgIC0tc2VwYXJhdG9yLWNvbG9yOiAje2MuJG1kcy1ibGFja307XG4gIH1cbiAgJi0tZGFyay1ncmF5IHtcbiAgICAtLXNlcGFyYXRvci1jb2xvcjogI3tjLiRtZHMtd2hpdGV9O1xuICB9XG59XG5cbi5tZHMtYnV0dG9uLWdyb3VwX19jZWxsIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4ubWRzLWJ1dHRvbi1ncm91cF9faXRlbSB7XG4gIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcbiAgbWFyZ2luOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDA7XG5cbiAgJjpob3ZlciB7XG4gICAgei1pbmRleDogMTtcbiAgfVxuXG4gIC5tZHMtYnV0dG9uLWdyb3VwX19jZWxsOmZpcnN0LWNoaWxkICYge1xuICAgIGJvcmRlci1yYWRpdXM6IDIwcHggMCAwIDIwcHggIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZHMtYnV0dG9uLWdyb3VwX19jZWxsOmxhc3QtY2hpbGQgJiB7XG4gICAgYm9yZGVyLXJhZGl1czogMCAyMHB4IDIwcHggMCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1kcy1idXR0b24tZ3JvdXBfX2NlbGw6Zmlyc3QtY2hpbGQ6bGFzdC1jaGlsZCAmIHtcbiAgICBib3JkZXItcmFkaXVzOiAyMHB4ICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLm1kcy1idXR0b24tZ3JvdXBfX3NlcGFyYXRvciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDA7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIHdpZHRoOiAycHg7XG4gIGhlaWdodDogOTglO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zZXBhcmF0b3ItY29sb3IpO1xuICB6LWluZGV4OiAxMDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi5tZHMtYnV0dG9uLWdyb3VwX19hY3RpdmUge1xuICBvcGFjaXR5OiAxO1xufVxuIl19 */","// Copyright (c) 2026 minimorphism\n// Component ButtonGroup\n\nimport React from \"react\";\nimport styles from \"./ButtonGroup.module.scss\";\nimport { Button } from \"../Button/Button\";\nimport type { Variant } from \"../../types\";\n\nexport type ButtonGroupProps = React.HTMLAttributes<HTMLDivElement> & {\n\tvariant?: Variant;\n\tlabels: string[];\n\tactiveLabel?: string;\n\tonSelect?: (label: string) => void;\n};\n\nexport const ButtonGroup = React.forwardRef<HTMLDivElement, ButtonGroupProps>(\n\t(\n\t\t{\n\t\t\tvariant = \"white\",\n\t\t\tlabels,\n\t\t\tactiveLabel,\n\t\t\tonSelect,\n\t\t\tclassName = \"\",\n\t\t\t...rest\n\t\t},\n\t\tref\n\t) => {\n\t\tconst getButtonRadius = (\n\t\t\tindex: number,\n\t\t\ttotal: number\n\t\t): [number, number, number, number] | number => {\n\t\t\tif (total === 1) return 20;\n\t\t\tif (index === 0) return [20, 0, 0, 20];\n\t\t\tif (index === total - 1) return [0, 20, 20, 0];\n\t\t\treturn 0;\n\t\t};\n\n\t\treturn (\n\t\t\t<div\n\t\t\t\tref={ref}\n\t\t\t\tclassName={[\n\t\t\t\t\tstyles[\"mds-button-group\"],\n\t\t\t\t\tstyles[`mds-button-group--${variant}`],\n\t\t\t\t\tclassName,\n\t\t\t\t]\n\t\t\t\t\t.filter(Boolean)\n\t\t\t\t\t.join(\" \")}\n\t\t\t\t{...rest}\n\t\t\t>\n\t\t\t\t{labels.map((label, index) => {\n\t\t\t\t\tconst isActive = activeLabel === label;\n\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclassName={styles[\"mds-button-group__cell\"]}\n\t\t\t\t\t\t\tkey={label}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tvariant={variant}\n\t\t\t\t\t\t\t\tradius={getButtonRadius(index, labels.length)}\n\t\t\t\t\t\t\t\tclassName={[\n\t\t\t\t\t\t\t\t\tstyles[\"mds-button-group__item\"],\n\t\t\t\t\t\t\t\t\tisActive\n\t\t\t\t\t\t\t\t\t\t? styles[\"mds-button-group__active\"]\n\t\t\t\t\t\t\t\t\t\t: \"\",\n\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t\t\t.filter(Boolean)\n\t\t\t\t\t\t\t\t\t.join(\" \")}\n\t\t\t\t\t\t\t\tonClick={() => onSelect && onSelect(label)}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{label}\n\t\t\t\t\t\t\t</Button>\n\n\t\t\t\t\t\t\t{index < labels.length - 1 && (\n\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\tclassName={\n\t\t\t\t\t\t\t\t\t\tstyles[\"mds-button-group__separator\"]\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t);\n\t\t\t\t})}\n\t\t\t</div>\n\t\t);\n\t}\n);\n",".mds-card {\n --card-text-color: #000000;\n position: relative;\n display: flex;\n align-items: center;\n justify-content: center;\n border-radius: 20px;\n padding: 24px;\n font-size: 16px;\n border: 0px solid transparent;\n font-family: \"minimorphism\";\n background: transparent;\n transition: transform 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);\n will-change: transform, box-shadow;\n}\n.mds-card--white {\n --card-text-color: #000000;\n box-shadow: 0px 0px 17px 11px rgba(200, 200, 200, 0.25);\n}\n.mds-card--black {\n --card-text-color: #ffffff;\n box-shadow: 0px 1px 4px rgba(0, 0, 0, 0.5), 0px 0px 10px rgba(255, 255, 255, 0.15);\n}\n.mds-card--dark-gray {\n --card-text-color: #ffffff;\n box-shadow: 0px 1px 4px rgba(0, 0, 0, 0.5), 0px 0px 10px rgba(255, 255, 255, 0.15);\n}\n.mds-card--anodized {\n --card-text-color: #000000;\n box-shadow: 0px 1px 4px rgba(0, 0, 0, 0.15);\n}\n.mds-card--disabled {\n --card-text-color: #ffffff;\n box-shadow: 0px 2px 5px rgba(0, 0, 0, 0.05);\n cursor: not-allowed;\n pointer-events: none;\n}\n.mds-card--disabled:hover, .mds-card--disabled:active {\n transform: none;\n}\n\n.mds-card-content {\n position: relative;\n z-index: 10;\n color: var(--card-text-color);\n}\n/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkNhcmQubW9kdWxlLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBS0E7RUFDRTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNFO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBLFlBQ0U7O0FBSUo7RUFDRTtFQUNBLFlBQ0U7O0FBSUo7RUFDRTtFQUNBOztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFFRTs7O0FBS047RUFDRTtFQUNBO0VBQ0EiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgKGMpIDIwMjYgbWluaW1vcnBoaXNtXG4vLyBTdHlsZXMgZm9yIENhcmRcblxuQHVzZSBcIi4uLy4uL3N0eWxlcy9jb2xvcnNcIiBhcyBjO1xuXG4ubWRzLWNhcmQge1xuICAtLWNhcmQtdGV4dC1jb2xvcjogI3tjLiRtZHMtYmxhY2t9O1xuXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGJvcmRlci1yYWRpdXM6IDIwcHg7XG4gIHBhZGRpbmc6IDI0cHg7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgYm9yZGVyOiAwcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGZvbnQtZmFtaWx5OiBcIm1pbmltb3JwaGlzbVwiO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNHMgY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMS4yNzUpO1xuICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtLCBib3gtc2hhZG93O1xuXG4gICYtLXdoaXRlIHtcbiAgICAtLWNhcmQtdGV4dC1jb2xvcjogI3tjLiRtZHMtYmxhY2t9O1xuICAgIGJveC1zaGFkb3c6IDBweCAwcHggMTdweCAxMXB4IHJnYmEoMjAwLCAyMDAsIDIwMCwgMC4yNSk7XG4gIH1cblxuICAmLS1ibGFjayB7XG4gICAgLS1jYXJkLXRleHQtY29sb3I6ICN7Yy4kbWRzLXdoaXRlfTtcbiAgICBib3gtc2hhZG93OlxuICAgICAgMHB4IDFweCA0cHggcmdiYSgwLCAwLCAwLCAwLjUpLFxuICAgICAgMHB4IDBweCAxMHB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xNSk7XG4gIH1cblxuICAmLS1kYXJrLWdyYXkge1xuICAgIC0tY2FyZC10ZXh0LWNvbG9yOiAje2MuJG1kcy13aGl0ZX07XG4gICAgYm94LXNoYWRvdzpcbiAgICAgIDBweCAxcHggNHB4IHJnYmEoMCwgMCwgMCwgMC41KSxcbiAgICAgIDBweCAwcHggMTBweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTUpO1xuICB9XG5cbiAgJi0tYW5vZGl6ZWQge1xuICAgIC0tY2FyZC10ZXh0LWNvbG9yOiAje2MuJG1kcy1ibGFja307XG4gICAgYm94LXNoYWRvdzogMHB4IDFweCA0cHggcmdiYSgwLCAwLCAwLCAwLjE1KTtcbiAgfVxuXG4gICYtLWRpc2FibGVkIHtcbiAgICAtLWNhcmQtdGV4dC1jb2xvcjogI2ZmZmZmZjtcbiAgICBib3gtc2hhZG93OiAwcHggMnB4IDVweCByZ2JhKDAsIDAsIDAsIDAuMDUpO1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG5cbiAgICAmOmhvdmVyLFxuICAgICY6YWN0aXZlIHtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB9XG4gIH1cbn1cblxuLm1kcy1jYXJkLWNvbnRlbnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDEwO1xuICBjb2xvcjogdmFyKC0tY2FyZC10ZXh0LWNvbG9yKTtcbn1cbiJdfQ== */","// Copyright (c) 2026 minimorphism\n// Component Card\n\nimport React, { useRef, useCallback, useId, useEffect } from \"react\";\nimport styles from \"./Card.module.scss\";\nimport { registerWidget, unregisterWidget } from \"../../webgl/WebGLStore\";\nimport type { Variant } from \"../../types\";\n\nexport type CardProps = React.HTMLAttributes<HTMLDivElement> & {\n\tvariant?: Variant;\n\tdisabled?: boolean;\n};\n\nexport const Card = React.forwardRef<HTMLDivElement, CardProps>(\n\t(\n\t\t{\n\t\t\tvariant = \"white\",\n\t\t\tdisabled = false,\n\t\t\tclassName = \"\",\n\t\t\tchildren,\n\t\t\t...rest\n\t\t},\n\t\texternalRef\n\t) => {\n\t\tconst internalRef = useRef<HTMLDivElement | null>(null);\n\t\tconst id = useId();\n\t\tconst mouseRef = useRef({ x: 0, y: 0, hover: 0, click: 0 });\n\n\t\tconst handlePointerMove = useCallback((e: React.PointerEvent) => {\n\t\t\tif (!internalRef.current) return;\n\t\t\tconst rect = internalRef.current.getBoundingClientRect();\n\t\t\tmouseRef.current.x = e.clientX - rect.left;\n\t\t\tmouseRef.current.y = e.clientY - rect.top;\n\t\t}, []);\n\n\t\tuseEffect(() => {\n\t\t\tregisterWidget(id, {\n\t\t\t\tid,\n\t\t\t\ttype: \"card\",\n\t\t\t\tref: internalRef,\n\t\t\t\tmouse: mouseRef.current,\n\t\t\t\tpayload: { variant, disabled },\n\t\t\t\tlayout: {\n\t\t\t\t\tx: 0,\n\t\t\t\t\ty: 0,\n\t\t\t\t\twidth: 0,\n\t\t\t\t\theight: 0,\n\t\t\t\t\tvisualScale: 1,\n\t\t\t\t\tradius: 20,\n\t\t\t\t},\n\t\t\t});\n\n\t\t\treturn () => {\n\t\t\t\tunregisterWidget(id);\n\t\t\t};\n\t\t}, [id, variant, disabled]);\n\n\t\tconst setRefs = useCallback(\n\t\t\t(node: HTMLDivElement | null) => {\n\t\t\t\tinternalRef.current = node;\n\t\t\t\tif (typeof externalRef === \"function\") externalRef(node);\n\t\t\t\telse if (externalRef) {\n\t\t\t\t\t(\n\t\t\t\t\t\texternalRef as React.MutableRefObject<HTMLDivElement | null>\n\t\t\t\t\t).current = node;\n\t\t\t\t}\n\t\t\t},\n\t\t\t[externalRef]\n\t\t);\n\n\t\treturn (\n\t\t\t<div\n\t\t\t\tref={setRefs}\n\t\t\t\tclassName={[\n\t\t\t\t\tstyles[\"mds-card\"],\n\t\t\t\t\tdisabled\n\t\t\t\t\t\t? styles[\"mds-card--disabled\"]\n\t\t\t\t\t\t: styles[`mds-card--${variant}`],\n\t\t\t\t\tclassName,\n\t\t\t\t]\n\t\t\t\t\t.filter(Boolean)\n\t\t\t\t\t.join(\" \")}\n\t\t\t\tonPointerMove={handlePointerMove}\n\t\t\t\tonPointerEnter={() => {\n\t\t\t\t\tmouseRef.current.hover = 1;\n\t\t\t\t}}\n\t\t\t\tonPointerLeave={() => {\n\t\t\t\t\tmouseRef.current.hover = 0;\n\t\t\t\t\tmouseRef.current.click = 0;\n\t\t\t\t}}\n\t\t\t\tonPointerDown={() => {\n\t\t\t\t\tmouseRef.current.click = 1;\n\t\t\t\t}}\n\t\t\t\tonPointerUp={() => {\n\t\t\t\t\tmouseRef.current.click = 0;\n\t\t\t\t}}\n\t\t\t\t{...rest}\n\t\t\t>\n\t\t\t\t<div className={styles[\"mds-card-content\"]}>{children}</div>\n\t\t\t</div>\n\t\t);\n\t}\n);\n",".mds-checkbox-wrapper {\n display: inline-flex;\n align-items: center;\n cursor: pointer;\n position: relative;\n -webkit-tap-highlight-color: transparent;\n}\n\n.mds-checkbox-input {\n position: absolute;\n opacity: 0;\n width: 0;\n height: 0;\n}\n\n.mds-checkbox-visual {\n width: 28px;\n height: 28px;\n border-radius: 11px;\n border: 5px solid currentColor;\n background: transparent;\n display: flex;\n align-items: center;\n justify-content: center;\n transition: transform 0.1s ease;\n}\n.mds-checkbox-visual svg {\n width: 32px;\n height: 32px;\n opacity: 0;\n transform: scale(0.5);\n transition: all 0.2s cubic-bezier(0.175, 0.885, 0.32, 1.275);\n}\n.mds-checkbox-visual--black {\n color: #000000;\n box-shadow: 0px 1px 4px rgba(0, 0, 0, 0.5), 0px 0px 10px rgba(255, 255, 255, 0.15);\n}\n.mds-checkbox-visual--white {\n color: #ffffff;\n}\n\n.mds-checkbox-wrapper:active .mds-checkbox-visual {\n transform: scale(0.9);\n}\n\n.mds-checkbox-input:checked + .mds-checkbox-visual svg {\n opacity: 1;\n transform: scale(1);\n}\n/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkNoZWNrYm94Lm1vZHVsZS5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdGO0VBQ0U7RUFDQSxZQUNFOztBQUdKO0VBQ0U7OztBQUlKO0VBQ0U7OztBQUdGO0VBQ0U7RUFDQSIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAoYykgMjAyNiBtaW5pbW9ycGhpc21cbi8vIFN0eWxlcyBmb3IgQ2hlY2tib3hcblxuLm1kcy1jaGVja2JveC13cmFwcGVyIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4ubWRzLWNoZWNrYm94LWlucHV0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBvcGFjaXR5OiAwO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xufVxuXG4ubWRzLWNoZWNrYm94LXZpc3VhbCB7XG4gIHdpZHRoOiAyOHB4O1xuICBoZWlnaHQ6IDI4cHg7XG4gIGJvcmRlci1yYWRpdXM6IDExcHg7XG4gIGJvcmRlcjogNXB4IHNvbGlkIGN1cnJlbnRDb2xvcjtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xcyBlYXNlO1xuXG4gIHN2ZyB7XG4gICAgd2lkdGg6IDMycHg7XG4gICAgaGVpZ2h0OiAzMnB4O1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjUpO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEuMjc1KTtcbiAgfVxuXG4gICYtLWJsYWNrIHtcbiAgICBjb2xvcjogIzAwMDAwMDtcbiAgICBib3gtc2hhZG93OlxuICAgICAgMHB4IDFweCA0cHggcmdiYSgwLCAwLCAwLCAwLjUpLFxuICAgICAgMHB4IDBweCAxMHB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xNSk7XG4gIH1cbiAgJi0td2hpdGUge1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICB9XG59XG5cbi5tZHMtY2hlY2tib3gtd3JhcHBlcjphY3RpdmUgLm1kcy1jaGVja2JveC12aXN1YWwge1xuICB0cmFuc2Zvcm06IHNjYWxlKDAuOSk7XG59XG5cbi5tZHMtY2hlY2tib3gtaW5wdXQ6Y2hlY2tlZCArIC5tZHMtY2hlY2tib3gtdmlzdWFsIHN2ZyB7XG4gIG9wYWNpdHk6IDE7XG4gIHRyYW5zZm9ybTogc2NhbGUoMSk7XG59XG4iXX0= */","// Copyright (c) 2026 minimorphism\n// Component Checkbox\n\nimport React from \"react\";\nimport styles from \"./Checkbox.module.scss\";\nimport type { DisableVariants } from \"../../types\";\nimport { Icons } from \"../Icons/Icons\";\n\nexport type CheckboxProps = React.InputHTMLAttributes<HTMLInputElement> & {\n\tvariant?: DisableVariants<\"dark-gray\" | \"anodized\">;\n};\n\nexport const Checkbox = React.forwardRef<HTMLInputElement, CheckboxProps>(\n\t({ variant = \"black\", className = \"\", ...rest }, ref) => {\n\t\treturn (\n\t\t\t<label\n\t\t\t\tclassName={[styles[\"mds-checkbox-wrapper\"], className]\n\t\t\t\t\t.filter(Boolean)\n\t\t\t\t\t.join(\" \")}\n\t\t\t>\n\t\t\t\t<input\n\t\t\t\t\tref={ref}\n\t\t\t\t\ttype=\"checkbox\"\n\t\t\t\t\tclassName={styles[\"mds-checkbox-input\"]}\n\t\t\t\t\t{...rest}\n\t\t\t\t/>\n\t\t\t\t<span\n\t\t\t\t\tclassName={`${styles[\"mds-checkbox-visual\"]} ${styles[`mds-checkbox-visual--${variant}`]}`}\n\t\t\t\t>\n\t\t\t\t\t<Icons.Checkbox />\n\t\t\t\t</span>\n\t\t\t</label>\n\t\t);\n\t}\n);\n",".mds-chip {\n --chip-text-color: #000000;\n position: relative;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n border-radius: 9999px;\n padding: 5px 13px;\n font-size: 12px;\n font-weight: 500;\n border: 0px solid transparent;\n cursor: pointer;\n font-family: \"minimorphism\";\n background: transparent;\n -webkit-tap-highlight-color: transparent;\n will-change: transform;\n}\n.mds-chip--white {\n --chip-text-color: #000000;\n box-shadow: 0px 0px 17px 11px rgba(200, 200, 200, 0.25);\n}\n.mds-chip--black {\n --chip-text-color: #ffffff;\n box-shadow: 0px 1px 4px rgba(0, 0, 0, 0.5), 0px 0px 10px rgba(255, 255, 255, 0.15);\n}\n.mds-chip--anodized {\n --chip-text-color: #000000;\n box-shadow: 0px 4px 15px rgba(0, 0, 0, 0.35), 0px -2px 10px rgba(255, 255, 255, 0.8);\n}\n\n.mds-chip-text {\n position: relative;\n z-index: 10;\n pointer-events: none;\n color: var(--chip-text-color);\n display: inline-block;\n transition: transform 0.1s ease;\n}\n\n.mds-chip:active .mds-chip-text {\n transform: scale(0.95);\n}\n\n.mds-chip--disabled {\n opacity: 1;\n}\n/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkNoaXAubW9kdWxlLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBS0E7RUFDRTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDRTtFQUNBOztBQUdGO0VBQ0U7RUFDQSxZQUNFOztBQUlKO0VBQ0U7RUFDQSxZQUNFOzs7QUFLTjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRSIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAoYykgMjAyNiBtaW5pbW9ycGhpc21cbi8vIFN0eWxlcyBmb3IgQ2hpcFxuXG5AdXNlIFwiLi4vLi4vc3R5bGVzL2NvbG9yc1wiIGFzIGM7XG5cbi5tZHMtY2hpcCB7XG4gIC0tY2hpcC10ZXh0LWNvbG9yOiAje2MuJG1kcy1ibGFja307XG5cbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGJvcmRlci1yYWRpdXM6IDk5OTlweDtcbiAgcGFkZGluZzogNXB4IDEzcHg7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgYm9yZGVyOiAwcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZm9udC1mYW1pbHk6IFwibWluaW1vcnBoaXNtXCI7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtO1xuXG4gICYtLXdoaXRlIHtcbiAgICAtLWNoaXAtdGV4dC1jb2xvcjogI3tjLiRtZHMtYmxhY2t9O1xuICAgIGJveC1zaGFkb3c6IDBweCAwcHggMTdweCAxMXB4IHJnYmEoMjAwLCAyMDAsIDIwMCwgMC4yNSk7XG4gIH1cblxuICAmLS1ibGFjayB7XG4gICAgLS1jaGlwLXRleHQtY29sb3I6ICN7Yy4kbWRzLXdoaXRlfTtcbiAgICBib3gtc2hhZG93OlxuICAgICAgMHB4IDFweCA0cHggcmdiYSgwLCAwLCAwLCAwLjUpLFxuICAgICAgMHB4IDBweCAxMHB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xNSk7XG4gIH1cblxuICAmLS1hbm9kaXplZCB7XG4gICAgLS1jaGlwLXRleHQtY29sb3I6ICN7Yy4kbWRzLWJsYWNrfTtcbiAgICBib3gtc2hhZG93OlxuICAgICAgMHB4IDRweCAxNXB4IHJnYmEoMCwgMCwgMCwgMC4zNSksXG4gICAgICAwcHggLTJweCAxMHB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44KTtcbiAgfVxufVxuXG4ubWRzLWNoaXAtdGV4dCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMTA7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBjb2xvcjogdmFyKC0tY2hpcC10ZXh0LWNvbG9yKTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xcyBlYXNlO1xufVxuXG4ubWRzLWNoaXA6YWN0aXZlIC5tZHMtY2hpcC10ZXh0IHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwLjk1KTtcbn1cblxuLm1kcy1jaGlwLS1kaXNhYmxlZCB7XG4gIG9wYWNpdHk6IDE7XG59XG4iXX0= */","// Copyright (c) 2026 minimorphism\n// Component Chip\n\nimport React, { useRef, useCallback, useId, useEffect } from \"react\";\nimport styles from \"./Chip.module.scss\";\nimport { registerWidget, unregisterWidget } from \"../../webgl/WebGLStore\";\nimport type { DisableVariants } from \"../../types\";\n\nexport type ChipProps = React.ButtonHTMLAttributes<HTMLButtonElement> & {\n\tvariant?: DisableVariants<\"dark-gray\">;\n};\n\nexport const Chip = React.forwardRef<HTMLButtonElement, ChipProps>(\n\t(\n\t\t{ variant = \"white\", className = \"\", disabled, children, ...rest },\n\t\texternalRef\n\t) => {\n\t\tconst internalRef = useRef<HTMLButtonElement | null>(null);\n\t\tconst id = useId();\n\t\tconst mouseRef = useRef({ x: 0, y: 0, hover: 0, click: 0 });\n\n\t\tconst handlePointerMove = useCallback(\n\t\t\t(e: React.PointerEvent) => {\n\t\t\t\tif (!internalRef.current || disabled) return;\n\t\t\t\tconst rect = internalRef.current.getBoundingClientRect();\n\t\t\t\tmouseRef.current.x = e.clientX - rect.left;\n\t\t\t\tmouseRef.current.y = e.clientY - rect.top;\n\t\t\t},\n\t\t\t[disabled]\n\t\t);\n\n\t\tuseEffect(() => {\n\t\t\tregisterWidget(id, {\n\t\t\t\tid,\n\t\t\t\ttype: \"chip\",\n\t\t\t\tref: internalRef,\n\t\t\t\tmouse: mouseRef.current,\n\t\t\t\tpayload: { variant, disabled: !!disabled },\n\t\t\t\tlayout: {\n\t\t\t\t\tx: 0,\n\t\t\t\t\ty: 0,\n\t\t\t\t\twidth: 0,\n\t\t\t\t\theight: 0,\n\t\t\t\t\tvisualScale: 1,\n\t\t\t\t\tradius: 9999,\n\t\t\t\t},\n\t\t\t});\n\n\t\t\treturn () => {\n\t\t\t\tunregisterWidget(id);\n\t\t\t};\n\t\t}, [id, variant, disabled]);\n\n\t\tconst setRefs = useCallback(\n\t\t\t(node: HTMLButtonElement | null) => {\n\t\t\t\tinternalRef.current = node;\n\t\t\t\tif (typeof externalRef === \"function\") externalRef(node);\n\t\t\t\telse if (externalRef) {\n\t\t\t\t\t(\n\t\t\t\t\t\texternalRef as React.MutableRefObject<HTMLButtonElement | null>\n\t\t\t\t\t).current = node;\n\t\t\t\t}\n\t\t\t},\n\t\t\t[externalRef]\n\t\t);\n\n\t\treturn (\n\t\t\t<button\n\t\t\t\tref={setRefs}\n\t\t\t\tdisabled={disabled}\n\t\t\t\tclassName={[\n\t\t\t\t\tstyles[\"mds-chip\"],\n\t\t\t\t\tdisabled\n\t\t\t\t\t\t? styles[\"mds-chip--disabled\"]\n\t\t\t\t\t\t: styles[`mds-chip--${variant}`],\n\t\t\t\t\tclassName,\n\t\t\t\t]\n\t\t\t\t\t.filter(Boolean)\n\t\t\t\t\t.join(\" \")}\n\t\t\t\tonPointerMove={handlePointerMove}\n\t\t\t\tonPointerEnter={() => {\n\t\t\t\t\tmouseRef.current.hover = 1;\n\t\t\t\t}}\n\t\t\t\tonPointerLeave={() => {\n\t\t\t\t\tmouseRef.current.hover = 0;\n\t\t\t\t\tmouseRef.current.click = 0;\n\t\t\t\t}}\n\t\t\t\tonPointerDown={() => {\n\t\t\t\t\tmouseRef.current.click = 1;\n\t\t\t\t}}\n\t\t\t\tonPointerUp={() => {\n\t\t\t\t\tmouseRef.current.click = 0;\n\t\t\t\t}}\n\t\t\t\t{...rest}\n\t\t\t>\n\t\t\t\t<span className={styles[\"mds-chip-text\"]}>{children}</span>\n\t\t\t</button>\n\t\t);\n\t}\n);\n",".mds-divider {\n display: block;\n width: 100%;\n height: 2.5px;\n background-color: #d3d3d3;\n border: none;\n margin: 16px 0;\n padding: 0;\n box-sizing: border-box;\n}\n/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkRpdmlkZXIubW9kdWxlLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0E7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IChjKSAyMDI2IG1pbmltb3JwaGlzbVxuLy8gU3R5bGVzIGZvciBEaXZpZGVyXG5cbi5tZHMtZGl2aWRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAyLjVweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2QzZDNkMztcbiAgYm9yZGVyOiBub25lO1xuICBtYXJnaW46IDE2cHggMDtcbiAgcGFkZGluZzogMDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cbiJdfQ== */","// Copyright (c) 2026 minimorphism\n// Component Divider\n\nimport React from \"react\";\nimport styles from \"./Divider.module.scss\";\n\nexport type DividerProps = React.HTMLAttributes<HTMLDivElement> & {\n\tmargin?: string;\n};\n\nexport const Divider: React.FC<DividerProps> = ({\n\tclassName = \"\",\n\tstyle,\n\tmargin,\n\t...rest\n}) => {\n\tconst combinedStyle = {\n\t\t...style,\n\t\t...(margin ? { margin } : {}),\n\t};\n\n\treturn (\n\t\t<div\n\t\t\tclassName={[styles[\"mds-divider\"], className]\n\t\t\t\t.filter(Boolean)\n\t\t\t\t.join(\" \")}\n\t\t\tstyle={combinedStyle}\n\t\t\t{...rest}\n\t\t/>\n\t);\n};\n",".mds-grid {\n --grid-text-color: #000000;\n position: relative;\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));\n gap: 16px;\n border-radius: 26px;\n padding: 24px;\n font-family: \"minimorphism\";\n background: transparent;\n transition: transform 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);\n will-change: transform, box-shadow;\n}\n.mds-grid--white {\n --grid-text-color: #000000;\n box-shadow: 0px 0px 17px 11px rgba(200, 200, 200, 0.25);\n}\n.mds-grid--black {\n --grid-text-color: #ffffff;\n box-shadow: 0px 1px 4px rgba(0, 0, 0, 0.5), 0px 0px 10px rgba(255, 255, 255, 0.15);\n}\n.mds-grid--anodized {\n --grid-text-color: #000000;\n box-shadow: 0px 1px 4px rgba(0, 0, 0, 0.5), 0px 0px 10px rgba(255, 255, 255, 0.15);\n}\n.mds-grid--disabled {\n --grid-text-color: #ffffff;\n box-shadow: 0px 2px 5px rgba(0, 0, 0, 0.05);\n cursor: not-allowed;\n pointer-events: none;\n}\n/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkdyaWQubW9kdWxlLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBS0E7RUFDRTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0U7RUFDQTs7QUFHRjtFQUNFO0VBQ0EsWUFDRTs7QUFJSjtFQUNFO0VBQ0EsWUFDRTs7QUFJSjtFQUNFO0VBQ0E7RUFDQTtFQUNBIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IChjKSAyMDI2IG1pbmltb3JwaGlzbVxuLy8gU3R5bGVzIGZvciBHcmlkXG5cbkB1c2UgXCIuLi8uLi9zdHlsZXMvY29sb3JzXCIgYXMgYztcblxuLm1kcy1ncmlkIHtcbiAgLS1ncmlkLXRleHQtY29sb3I6ICN7Yy4kbWRzLWJsYWNrfTtcblxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZml0LCBtaW5tYXgoMTUwcHgsIDFmcikpO1xuICBnYXA6IDE2cHg7XG4gIGJvcmRlci1yYWRpdXM6IDI2cHg7XG4gIHBhZGRpbmc6IDI0cHg7XG4gIGZvbnQtZmFtaWx5OiBcIm1pbmltb3JwaGlzbVwiO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNHMgY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMS4yNzUpO1xuICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtLCBib3gtc2hhZG93O1xuXG4gICYtLXdoaXRlIHtcbiAgICAtLWdyaWQtdGV4dC1jb2xvcjogI3tjLiRtZHMtYmxhY2t9O1xuICAgIGJveC1zaGFkb3c6IDBweCAwcHggMTdweCAxMXB4IHJnYmEoMjAwLCAyMDAsIDIwMCwgMC4yNSk7XG4gIH1cblxuICAmLS1ibGFjayB7XG4gICAgLS1ncmlkLXRleHQtY29sb3I6ICN7Yy4kbWRzLXdoaXRlfTtcbiAgICBib3gtc2hhZG93OlxuICAgICAgMHB4IDFweCA0cHggcmdiYSgwLCAwLCAwLCAwLjUpLFxuICAgICAgMHB4IDBweCAxMHB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xNSk7XG4gIH1cblxuICAmLS1hbm9kaXplZCB7XG4gICAgLS1ncmlkLXRleHQtY29sb3I6ICN7Yy4kbWRzLWJsYWNrfTtcbiAgICBib3gtc2hhZG93OlxuICAgICAgMHB4IDFweCA0cHggcmdiYSgwLCAwLCAwLCAwLjUpLFxuICAgICAgMHB4IDBweCAxMHB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xNSk7XG4gIH1cblxuICAmLS1kaXNhYmxlZCB7XG4gICAgLS1ncmlkLXRleHQtY29sb3I6ICNmZmZmZmY7XG4gICAgYm94LXNoYWRvdzogMHB4IDJweCA1cHggcmdiYSgwLCAwLCAwLCAwLjA1KTtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB9XG59XG4iXX0= */","// Copyright (c) 2026 minimorphism\n// Component Grid\n\nimport React, { useRef, useCallback, useId, useEffect } from \"react\";\nimport styles from \"./Grid.module.scss\";\nimport { registerWidget, unregisterWidget } from \"../../webgl/WebGLStore\";\nimport type { DisableVariants } from \"../../types\";\n\nexport type GridProps = React.HTMLAttributes<HTMLDivElement> & {\n\tvariant?: DisableVariants<\"dark-gray\">;\n\tdisabled?: boolean;\n};\n\nexport const Grid = React.forwardRef<HTMLDivElement, GridProps>(\n\t(\n\t\t{\n\t\t\tvariant = \"white\",\n\t\t\tdisabled = false,\n\t\t\tclassName = \"\",\n\t\t\tchildren,\n\t\t\t...rest\n\t\t},\n\t\texternalRef\n\t) => {\n\t\tconst internalRef = useRef<HTMLDivElement | null>(null);\n\t\tconst id = useId();\n\t\tconst mouseRef = useRef({ x: 0, y: 0, hover: 0, click: 0 });\n\n\t\tconst handlePointerMove = useCallback((e: React.PointerEvent) => {\n\t\t\tif (!internalRef.current) return;\n\t\t\tconst rect = internalRef.current.getBoundingClientRect();\n\t\t\tmouseRef.current.x = e.clientX - rect.left;\n\t\t\tmouseRef.current.y = e.clientY - rect.top;\n\t\t}, []);\n\n\t\tuseEffect(() => {\n\t\t\tregisterWidget(id, {\n\t\t\t\tid,\n\t\t\t\ttype: \"grid\",\n\t\t\t\tref: internalRef,\n\t\t\t\tmouse: mouseRef.current,\n\t\t\t\tpayload: { variant, disabled },\n\t\t\t\tlayout: {\n\t\t\t\t\tx: 0,\n\t\t\t\t\ty: 0,\n\t\t\t\t\twidth: 0,\n\t\t\t\t\theight: 0,\n\t\t\t\t\tvisualScale: 1,\n\t\t\t\t\tradius: 20,\n\t\t\t\t},\n\t\t\t});\n\n\t\t\treturn () => {\n\t\t\t\tunregisterWidget(id);\n\t\t\t};\n\t\t}, [id, variant, disabled]);\n\n\t\tconst setRefs = useCallback(\n\t\t\t(node: HTMLDivElement | null) => {\n\t\t\t\tinternalRef.current = node;\n\t\t\t\tif (typeof externalRef === \"function\") externalRef(node);\n\t\t\t\telse if (externalRef) {\n\t\t\t\t\t(\n\t\t\t\t\t\texternalRef as React.MutableRefObject<HTMLDivElement | null>\n\t\t\t\t\t).current = node;\n\t\t\t\t}\n\t\t\t},\n\t\t\t[externalRef]\n\t\t);\n\n\t\treturn (\n\t\t\t<div\n\t\t\t\tref={setRefs}\n\t\t\t\tclassName={[\n\t\t\t\t\tstyles[\"mds-grid\"],\n\t\t\t\t\tdisabled\n\t\t\t\t\t\t? styles[\"mds-grid--disabled\"]\n\t\t\t\t\t\t: styles[`mds-grid--${variant}`],\n\t\t\t\t\tclassName,\n\t\t\t\t]\n\t\t\t\t\t.filter(Boolean)\n\t\t\t\t\t.join(\" \")}\n\t\t\t\tonPointerMove={handlePointerMove}\n\t\t\t\tonPointerEnter={() => {\n\t\t\t\t\tmouseRef.current.hover = 1;\n\t\t\t\t}}\n\t\t\t\tonPointerLeave={() => {\n\t\t\t\t\tmouseRef.current.hover = 0;\n\t\t\t\t\tmouseRef.current.click = 0;\n\t\t\t\t}}\n\t\t\t\tonPointerDown={() => {\n\t\t\t\t\tmouseRef.current.click = 1;\n\t\t\t\t}}\n\t\t\t\tonPointerUp={() => {\n\t\t\t\t\tmouseRef.current.click = 0;\n\t\t\t\t}}\n\t\t\t\t{...rest}\n\t\t\t>\n\t\t\t\t{children}\n\t\t\t</div>\n\t\t);\n\t}\n);\n","// Copyright (c) 2026 minimorphism\n// Component Image\n\nimport React from \"react\";\n\nexport type ImageProps = React.ImgHTMLAttributes<HTMLImageElement> & {\n\twidth?: string | number;\n\theight?: string | number;\n};\n\nexport const Image: React.FC<ImageProps> = ({\n\tsrc,\n\talt,\n\twidth = \"300px\",\n\theight,\n\tclassName = \"\",\n\t...rest\n}) => {\n\treturn (\n\t\t<div\n\t\t\tclassName={`mds-image-wrapper ${className}`}\n\t\t\tstyle={{ width, height: height || \"auto\" }}\n\t\t>\n\t\t\t<img src={src} alt={alt} {...rest} />\n\t\t</div>\n\t);\n};\n",".mds-link {\n --link-color: #000000;\n position: relative;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n font-family: \"minimorphism\";\n text-decoration: none;\n cursor: pointer;\n}\n.mds-link--black-text {\n --link-color: #000000;\n font-weight: 400;\n text-decoration: underline;\n text-decoration-color: #000000;\n text-decoration-thickness: 2px;\n}\n.mds-link--black-pill {\n --link-color: #ffffff;\n padding: 8px 24px;\n border-radius: 9999px;\n font-weight: 400;\n box-shadow: 0px 1px 4px rgba(0, 0, 0, 0.5);\n}\n.mds-link--white-text {\n --link-color: #ffffff;\n font-weight: 400;\n text-decoration: underline;\n text-decoration-color: #ffffff;\n text-decoration-thickness: 2px;\n}\n.mds-link--white-pill {\n --link-color: #000000;\n padding: 8px 24px;\n border-radius: 9999px;\n font-weight: 400;\n box-shadow: 0px 4px 15px rgba(0, 0, 0, 0.35);\n}\n\n.mds-link-text {\n position: relative;\n z-index: 10;\n color: var(--link-color);\n transition: opacity 0.2s ease-in-out;\n}\n.mds-link:hover .mds-link-text {\n opacity: 0.75;\n}\n/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkxpbmsubW9kdWxlLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0E7RUFDRTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBSUo7RUFDRTtFQUNBO0VBQ0E7RUFFQTs7QUFFQTtFQUNFIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IChjKSAyMDI2IG1pbmltb3JwaGlzbVxuLy8gU3R5bGVzIGZvciBMaW5rXG5cbi5tZHMtbGluayB7XG4gIC0tbGluay1jb2xvcjogIzAwMDAwMDtcblxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgZm9udC1mYW1pbHk6IFwibWluaW1vcnBoaXNtXCI7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICYtLWJsYWNrLXRleHQge1xuICAgIC0tbGluay1jb2xvcjogIzAwMDAwMDtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIHRleHQtZGVjb3JhdGlvbi1jb2xvcjogIzAwMDAwMDtcbiAgICB0ZXh0LWRlY29yYXRpb24tdGhpY2tuZXNzOiAycHg7XG4gIH1cblxuICAmLS1ibGFjay1waWxsIHtcbiAgICAtLWxpbmstY29sb3I6ICNmZmZmZmY7XG4gICAgcGFkZGluZzogOHB4IDI0cHg7XG4gICAgYm9yZGVyLXJhZGl1czogOTk5OXB4O1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgYm94LXNoYWRvdzogMHB4IDFweCA0cHggcmdiYSgwLCAwLCAwLCAwLjUpO1xuICB9XG5cbiAgJi0td2hpdGUtdGV4dCB7XG4gICAgLS1saW5rLWNvbG9yOiAjZmZmZmZmO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgdGV4dC1kZWNvcmF0aW9uLWNvbG9yOiAjZmZmZmZmO1xuICAgIHRleHQtZGVjb3JhdGlvbi10aGlja25lc3M6IDJweDtcbiAgfVxuXG4gICYtLXdoaXRlLXBpbGwge1xuICAgIC0tbGluay1jb2xvcjogIzAwMDAwMDtcbiAgICBwYWRkaW5nOiA4cHggMjRweDtcbiAgICBib3JkZXItcmFkaXVzOiA5OTk5cHg7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBib3gtc2hhZG93OiAwcHggNHB4IDE1cHggcmdiYSgwLCAwLCAwLCAwLjM1KTtcbiAgfVxufVxuXG4ubWRzLWxpbmstdGV4dCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMTA7XG4gIGNvbG9yOiB2YXIoLS1saW5rLWNvbG9yKTtcblxuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgZWFzZS1pbi1vdXQ7XG5cbiAgLm1kcy1saW5rOmhvdmVyICYge1xuICAgIG9wYWNpdHk6IDAuNzU7XG4gIH1cbn1cbiJdfQ== */","// Copyright (c) 2026 minimorphism\n// Component Link\n\nimport React, { useRef, useCallback, useId, useEffect } from \"react\";\nimport styles from \"./Link.module.scss\";\nimport { registerWidget, unregisterWidget } from \"../../webgl/WebGLStore\";\nimport type { PillVariant } from \"../../types\";\n\nexport type LinkProps = React.AnchorHTMLAttributes<HTMLAnchorElement> & {\n\tvariant: PillVariant;\n};\n\nexport const Link = React.forwardRef<HTMLAnchorElement, LinkProps>(\n\t({ variant, className = \"\", children, ...rest }, externalRef) => {\n\t\tconst internalRef = useRef<HTMLAnchorElement | null>(null);\n\t\tconst id = useId();\n\t\tconst mouseRef = useRef({ x: 0, y: 0, hover: 0, click: 0 });\n\n\t\tconst isPill = variant === \"black-pill\" || variant === \"white-pill\";\n\n\t\tconst handlePointerMove = useCallback(\n\t\t\t(e: React.PointerEvent) => {\n\t\t\t\tif (!internalRef.current || !isPill) return;\n\t\t\t\tconst rect = internalRef.current.getBoundingClientRect();\n\t\t\t\tmouseRef.current.x = e.clientX - rect.left;\n\t\t\t\tmouseRef.current.y = e.clientY - rect.top;\n\t\t\t},\n\t\t\t[isPill]\n\t\t);\n\n\t\tuseEffect(() => {\n\t\t\tif (!isPill) return;\n\n\t\t\tregisterWidget(id, {\n\t\t\t\tid,\n\t\t\t\ttype: \"link\",\n\t\t\t\tref: internalRef,\n\t\t\t\tmouse: mouseRef.current,\n\t\t\t\tpayload: { variant },\n\t\t\t\tlayout: {\n\t\t\t\t\tx: 0,\n\t\t\t\t\ty: 0,\n\t\t\t\t\twidth: 0,\n\t\t\t\t\theight: 0,\n\t\t\t\t\tvisualScale: 1,\n\t\t\t\t\tradius: 9999,\n\t\t\t\t},\n\t\t\t});\n\n\t\t\treturn () => {\n\t\t\t\tunregisterWidget(id);\n\t\t\t};\n\t\t}, [id, variant, isPill]);\n\n\t\tconst setRefs = useCallback(\n\t\t\t(node: HTMLAnchorElement | null) => {\n\t\t\t\tinternalRef.current = node;\n\t\t\t\tif (typeof externalRef === \"function\") externalRef(node);\n\t\t\t\telse if (externalRef) {\n\t\t\t\t\t(\n\t\t\t\t\t\texternalRef as React.MutableRefObject<HTMLAnchorElement | null>\n\t\t\t\t\t).current = node;\n\t\t\t\t}\n\t\t\t},\n\t\t\t[externalRef]\n\t\t);\n\n\t\treturn (\n\t\t\t<a\n\t\t\t\tref={setRefs}\n\t\t\t\tclassName={[\n\t\t\t\t\tstyles[\"mds-link\"],\n\t\t\t\t\tstyles[`mds-link--${variant}`],\n\t\t\t\t\tclassName,\n\t\t\t\t]\n\t\t\t\t\t.filter(Boolean)\n\t\t\t\t\t.join(\" \")}\n\t\t\t\tonPointerMove={handlePointerMove}\n\t\t\t\tonPointerEnter={() => {\n\t\t\t\t\tif (isPill) mouseRef.current.hover = 1;\n\t\t\t\t}}\n\t\t\t\tonPointerLeave={() => {\n\t\t\t\t\tif (isPill) {\n\t\t\t\t\t\tmouseRef.current.hover = 0;\n\t\t\t\t\t\tmouseRef.current.click = 0;\n\t\t\t\t\t}\n\t\t\t\t}}\n\t\t\t\tonPointerDown={() => {\n\t\t\t\t\tif (isPill) mouseRef.current.click = 1;\n\t\t\t\t}}\n\t\t\t\tonPointerUp={() => {\n\t\t\t\t\tif (isPill) mouseRef.current.click = 0;\n\t\t\t\t}}\n\t\t\t\t{...rest}\n\t\t\t>\n\t\t\t\t<span className={styles[\"mds-link-text\"]}>{children}</span>\n\t\t\t</a>\n\t\t);\n\t}\n);\n",".mds-menu-btn {\n background: transparent;\n border: none;\n padding: 12px;\n cursor: pointer;\n outline: none;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n -webkit-tap-highlight-color: transparent;\n}\n.mds-menu-btn .mds-menu-icon {\n display: flex;\n flex-direction: column;\n gap: 3px;\n transition: transform 0.25s cubic-bezier(0.25, 1, 0.5, 1);\n}\n.mds-menu-btn:hover:not(:disabled) .mds-menu-icon {\n transform: scale(0.92);\n}\n.mds-menu-btn:active:not(:disabled) .mds-menu-icon {\n transform: scale(0.86);\n}\n.mds-menu-btn:disabled {\n cursor: not-allowed;\n opacity: 0.5;\n}\n\n.mds-menu-line {\n width: 35px;\n height: 7px;\n border-radius: 999px;\n box-sizing: border-box;\n transition: background 0.3s ease, box-shadow 0.3s ease;\n}\n.mds-menu-btn--black .mds-menu-line {\n background: #111111;\n box-shadow: 0 2px 4px rgba(0, 0, 0, 0.35), 0 4px 10px rgba(0, 0, 0, 0.2), inset 0 1px 1px rgba(255, 255, 255, 0.25), inset 0 -3px 4px rgba(0, 0, 0, 0.6);\n}\n.mds-menu-btn--white .mds-menu-line {\n background: #ffffff;\n box-shadow: 0 2px 4px rgba(0, 0, 0, 0.15), inset 0 1px 1.5px rgba(255, 255, 255, 0.9), inset 0 -2px 3px rgba(0, 0, 0, 0.15);\n}\n/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIk1lbnUubW9kdWxlLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0E7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7QUFHRjtFQUNFOztBQUdGO0VBQ0U7O0FBR0Y7RUFDRTtFQUNBOzs7QUFJSjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsWUFDRTs7QUFHRjtFQUNFO0VBQ0EsWUFDRTs7QUFNSjtFQUNFO0VBQ0EsWUFDRSIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAoYykgMjAyNiBtaW5pbW9ycGhpc21cbi8vIFN0eWxlcyBmb3IgTWVudVxuXG4ubWRzLW1lbnUtYnRuIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogbm9uZTtcbiAgcGFkZGluZzogMTJweDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBvdXRsaW5lOiBub25lO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cbiAgLm1kcy1tZW51LWljb24ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IDNweDtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4yNXMgY3ViaWMtYmV6aWVyKDAuMjUsIDEsIDAuNSwgMSk7XG4gIH1cblxuICAmOmhvdmVyOm5vdCg6ZGlzYWJsZWQpIC5tZHMtbWVudS1pY29uIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOTIpO1xuICB9XG5cbiAgJjphY3RpdmU6bm90KDpkaXNhYmxlZCkgLm1kcy1tZW51LWljb24ge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC44Nik7XG4gIH1cblxuICAmOmRpc2FibGVkIHtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgIG9wYWNpdHk6IDAuNTtcbiAgfVxufVxuXG4ubWRzLW1lbnUtbGluZSB7XG4gIHdpZHRoOiAzNXB4O1xuICBoZWlnaHQ6IDdweDtcbiAgYm9yZGVyLXJhZGl1czogOTk5cHg7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHRyYW5zaXRpb246XG4gICAgYmFja2dyb3VuZCAwLjNzIGVhc2UsXG4gICAgYm94LXNoYWRvdyAwLjNzIGVhc2U7XG5cbiAgLm1kcy1tZW51LWJ0bi0tYmxhY2sgJiB7XG4gICAgYmFja2dyb3VuZDogIzExMTExMTtcbiAgICBib3gtc2hhZG93OlxuICAgICAgMCAycHggNHB4IHJnYmEoMCwgMCwgMCwgMC4zNSksXG4gICAgICAwIDRweCAxMHB4IHJnYmEoMCwgMCwgMCwgMC4yKSxcbiAgICAgIGluc2V0IDAgMXB4IDFweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMjUpLFxuICAgICAgaW5zZXQgMCAtM3B4IDRweCByZ2JhKDAsIDAsIDAsIDAuNik7XG4gIH1cblxuICAubWRzLW1lbnUtYnRuLS13aGl0ZSAmIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICAgIGJveC1zaGFkb3c6XG4gICAgICAwIDJweCA0cHggcmdiYSgwLCAwLCAwLCAwLjE1KSxcbiAgICAgIGluc2V0IDAgMXB4IDEuNXB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KSxcbiAgICAgIGluc2V0IDAgLTJweCAzcHggcmdiYSgwLCAwLCAwLCAwLjE1KTtcbiAgfVxufVxuIl19 */","// Copyright (c) 2026 minimorphism\n// Component Menu\n\nimport React from \"react\";\nimport styles from \"./Menu.module.scss\";\n\nexport type MenuProps = React.ButtonHTMLAttributes<HTMLButtonElement> & {\n\tvariant?: \"black\" | \"white\";\n};\n\nexport const Menu = React.forwardRef<HTMLButtonElement, MenuProps>(\n\t({ variant = \"black\", className = \"\", ...rest }, ref) => {\n\t\treturn (\n\t\t\t<button\n\t\t\t\tref={ref}\n\t\t\t\tclassName={[\n\t\t\t\t\tstyles[\"mds-menu-btn\"],\n\t\t\t\t\tstyles[`mds-menu-btn--${variant}`],\n\t\t\t\t\tclassName,\n\t\t\t\t]\n\t\t\t\t\t.filter(Boolean)\n\t\t\t\t\t.join(\" \")}\n\t\t\t\t{...rest}\n\t\t\t>\n\t\t\t\t<div className={styles[\"mds-menu-icon\"]}>\n\t\t\t\t\t<span className={styles[\"mds-menu-line\"]} />\n\t\t\t\t\t<span className={styles[\"mds-menu-line\"]} />\n\t\t\t\t\t<span className={styles[\"mds-menu-line\"]} />\n\t\t\t\t</div>\n\t\t\t</button>\n\t\t);\n\t}\n);\n",".mds-modal-overlay {\n position: fixed;\n inset: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n z-index: 10000;\n opacity: 0;\n transition: opacity 0.3s ease;\n}\n.mds-modal-overlay--open {\n opacity: 1;\n}\n\n.mds-modal-box {\n position: relative;\n width: 90%;\n max-width: 500px;\n border-radius: 24px;\n padding: 32px;\n background: transparent;\n transform: scale(0.95) translateY(10px);\n transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);\n font-family: \"minimorphism\";\n color: var(--modal-text-color, #000000);\n}\n.mds-modal-box--open {\n transform: scale(1) translateY(0);\n opacity: 1;\n}\n.mds-modal-box--white {\n --modal-text-color: #000000;\n box-shadow: 0px 0px 17px 11px rgba(200, 200, 200, 0.25);\n}\n.mds-modal-box--black {\n --modal-text-color: #ffffff;\n box-shadow: 0px 1px 4px rgba(0, 0, 0, 0.5), 0px 0px 10px rgba(255, 255, 255, 0.15);\n}\n.mds-modal-box--anodized {\n --modal-text-color: #000000;\n box-shadow: 0px 1px 4px rgba(0, 0, 0, 0.15);\n}\n\n.mds-modal-content {\n position: relative;\n z-index: 10;\n}\n/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIk1vZGFsLm1vZHVsZS5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUtBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNFOzs7QUFJSjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBOztBQUVBO0VBQ0U7RUFDQTs7QUFHRjtFQUNFO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBLFlBQ0U7O0FBSUo7RUFDRTtFQUNBOzs7QUFJSjtFQUNFO0VBQ0EiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgKGMpIDIwMjYgbWluaW1vcnBoaXNtXG4vLyBTdHlsZXMgZm9yIE1vZGFsXG5cbkB1c2UgXCIuLi8uLi9zdHlsZXMvY29sb3JzXCIgYXMgYztcblxuLm1kcy1tb2RhbC1vdmVybGF5IHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBpbnNldDogMDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHotaW5kZXg6IDEwMDAwO1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgZWFzZTtcblxuICAmLS1vcGVuIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbi5tZHMtbW9kYWwtYm94IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogOTAlO1xuICBtYXgtd2lkdGg6IDUwMHB4O1xuICBib3JkZXItcmFkaXVzOiAyNHB4O1xuICBwYWRkaW5nOiAzMnB4O1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwLjk1KSB0cmFuc2xhdGVZKDEwcHgpO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxLjI3NSk7XG4gIGZvbnQtZmFtaWx5OiBcIm1pbmltb3JwaGlzbVwiO1xuXG4gIGNvbG9yOiB2YXIoLS1tb2RhbC10ZXh0LWNvbG9yLCAje2MuJG1kcy1ibGFja30pO1xuXG4gICYtLW9wZW4ge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSkgdHJhbnNsYXRlWSgwKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgJi0td2hpdGUge1xuICAgIC0tbW9kYWwtdGV4dC1jb2xvcjogI3tjLiRtZHMtYmxhY2t9O1xuICAgIGJveC1zaGFkb3c6IDBweCAwcHggMTdweCAxMXB4IHJnYmEoMjAwLCAyMDAsIDIwMCwgMC4yNSk7XG4gIH1cblxuICAmLS1ibGFjayB7XG4gICAgLS1tb2RhbC10ZXh0LWNvbG9yOiAje2MuJG1kcy13aGl0ZX07XG4gICAgYm94LXNoYWRvdzpcbiAgICAgIDBweCAxcHggNHB4IHJnYmEoMCwgMCwgMCwgMC41KSxcbiAgICAgIDBweCAwcHggMTBweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTUpO1xuICB9XG5cbiAgJi0tYW5vZGl6ZWQge1xuICAgIC0tbW9kYWwtdGV4dC1jb2xvcjogI3tjLiRtZHMtYmxhY2t9O1xuICAgIGJveC1zaGFkb3c6IDBweCAxcHggNHB4IHJnYmEoMCwgMCwgMCwgMC4xNSk7XG4gIH1cbn1cblxuLm1kcy1tb2RhbC1jb250ZW50IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxMDtcbn1cbiJdfQ== */","// Copyright (c) 2026 minimorphism\n// Component Modal\n\nimport React, { useRef, useCallback, useId, useEffect, useState } from \"react\";\nimport styles from \"./Modal.module.scss\";\nimport { registerWidget, unregisterWidget } from \"../../webgl/WebGLStore\";\nimport type { Variant } from \"../../types\";\n\nexport type ModalProps = {\n\tvariant?: Variant;\n\topen: boolean;\n\tonClose: () => void;\n\tchildren: React.ReactNode;\n};\n\nexport const Modal: React.FC<ModalProps> = ({\n\tvariant = \"white\",\n\topen,\n\tonClose,\n\tchildren,\n}) => {\n\tconst internalRef = useRef<HTMLDivElement | null>(null);\n\tconst id = useId();\n\tconst [shouldRender, setShouldRender] = useState(open);\n\tconst [animateIn, setAnimateIn] = useState(false);\n\n\tuseEffect(() => {\n\t\tif (open) {\n\t\t\tsetShouldRender(true);\n\t\t\trequestAnimationFrame(() =>\n\t\t\t\trequestAnimationFrame(() => setAnimateIn(true))\n\t\t\t);\n\t\t} else setAnimateIn(false);\n\t}, [open]);\n\n\tconst handleTransitionEnd = () => {\n\t\tif (!open && !animateIn) setShouldRender(false);\n\t};\n\n\tuseEffect(() => {\n\t\tif (shouldRender) {\n\t\t\tregisterWidget(id, {\n\t\t\t\tid,\n\t\t\t\ttype: \"modal\",\n\t\t\t\tref: internalRef,\n\t\t\t\tmouse: { x: 0, y: 0, hover: 0, click: 0 },\n\t\t\t\tpayload: { variant },\n\t\t\t\tlayout: {\n\t\t\t\t\tx: 0,\n\t\t\t\t\ty: 0,\n\t\t\t\t\twidth: 0,\n\t\t\t\t\theight: 0,\n\t\t\t\t\tvisualScale: 1,\n\t\t\t\t\tradius: 24,\n\t\t\t\t},\n\t\t\t});\n\t\t}\n\t\treturn () => {\n\t\t\tunregisterWidget(id);\n\t\t};\n\t}, [shouldRender, id, variant]);\n\n\tif (!shouldRender) return null;\n\n\treturn (\n\t\t<div\n\t\t\tclassName={[\n\t\t\t\tstyles[\"mds-modal-overlay\"],\n\t\t\t\tanimateIn && styles[\"mds-modal-overlay--open\"],\n\t\t\t]\n\t\t\t\t.filter(Boolean)\n\t\t\t\t.join(\" \")}\n\t\t\tonMouseDown={onClose}\n\t\t\tonTransitionEnd={handleTransitionEnd}\n\t\t>\n\t\t\t<div\n\t\t\t\tref={internalRef}\n\t\t\t\tonMouseDown={(e) => e.stopPropagation()}\n\t\t\t\tclassName={[\n\t\t\t\t\tstyles[\"mds-modal-box\"],\n\t\t\t\t\t\"gl-fade\",\n\t\t\t\t\tanimateIn && styles[\"mds-modal-box--open\"],\n\t\t\t\t\tstyles[`mds-modal-box--${variant}`],\n\t\t\t\t]\n\t\t\t\t\t.filter(Boolean)\n\t\t\t\t\t.join(\" \")}\n\t\t\t>\n\t\t\t\t<div className={styles[\"mds-modal-content\"]}>{children}</div>\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n",".mds-progress {\n width: 100%;\n height: 50px;\n border-radius: 20px;\n position: relative;\n background: transparent;\n overflow: hidden;\n padding: 4px;\n box-sizing: border-box;\n}\n.mds-progress--white {\n --prog-inner: #000000;\n box-shadow: 0px 0px 17px 11px rgba(200, 200, 200, 0.25);\n}\n.mds-progress--black {\n --prog-inner: #ffffff;\n box-shadow: 0px 1px 4px rgba(0, 0, 0, 0.5), 0px 0px 10px rgba(255, 255, 255, 0.15);\n}\n.mds-progress--anodized {\n --prog-inner: #000000;\n box-shadow: 0px 1px 4px rgba(0, 0, 0, 0.15);\n}\n.mds-progress--dark-gray {\n --prog-inner: #333333;\n box-shadow: 0px 1px 4px rgba(0, 0, 0, 0.5), 0px 0px 10px rgba(255, 255, 255, 0.15);\n}\n\n.mds-progress-inner {\n height: 100%;\n border-radius: 17px;\n background-color: transparent;\n transition: width 0.4s cubic-bezier(0.25, 1, 0.5, 1);\n position: relative;\n z-index: 10;\n}\n/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIlByb2dyZXNzLm1vZHVsZS5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBLFlBQ0U7O0FBR0o7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQSxZQUNFOzs7QUFLTjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAoYykgMjAyNiBtaW5pbW9ycGhpc21cbi8vIFN0eWxlcyBmb3IgUHJvZ3Jlc3NcblxuLm1kcy1wcm9ncmVzcyB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDUwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDIwcHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBhZGRpbmc6IDRweDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcblxuICAmLS13aGl0ZSB7XG4gICAgLS1wcm9nLWlubmVyOiAjMDAwMDAwO1xuICAgIGJveC1zaGFkb3c6IDBweCAwcHggMTdweCAxMXB4IHJnYmEoMjAwLCAyMDAsIDIwMCwgMC4yNSk7XG4gIH1cbiAgJi0tYmxhY2sge1xuICAgIC0tcHJvZy1pbm5lcjogI2ZmZmZmZjtcbiAgICBib3gtc2hhZG93OlxuICAgICAgMHB4IDFweCA0cHggcmdiYSgwLCAwLCAwLCAwLjUpLFxuICAgICAgMHB4IDBweCAxMHB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xNSk7XG4gIH1cbiAgJi0tYW5vZGl6ZWQge1xuICAgIC0tcHJvZy1pbm5lcjogIzAwMDAwMDtcbiAgICBib3gtc2hhZG93OiAwcHggMXB4IDRweCByZ2JhKDAsIDAsIDAsIDAuMTUpO1xuICB9XG4gICYtLWRhcmstZ3JheSB7XG4gICAgLS1wcm9nLWlubmVyOiAjMzMzMzMzO1xuICAgIGJveC1zaGFkb3c6XG4gICAgICAwcHggMXB4IDRweCByZ2JhKDAsIDAsIDAsIDAuNSksXG4gICAgICAwcHggMHB4IDEwcHggcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE1KTtcbiAgfVxufVxuXG4ubWRzLXByb2dyZXNzLWlubmVyIHtcbiAgaGVpZ2h0OiAxMDAlO1xuICBib3JkZXItcmFkaXVzOiAxN3B4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgdHJhbnNpdGlvbjogd2lkdGggMC40cyBjdWJpYy1iZXppZXIoMC4yNSwgMSwgMC41LCAxKTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxMDtcbn1cbiJdfQ== */","// Copyright (c) 2026 minimorphism\n// Component Progress\n\nimport React, { useRef, useId, useEffect } from \"react\";\nimport styles from \"./Progress.module.scss\";\nimport { registerWidget, unregisterWidget } from \"../../webgl/WebGLStore\";\nimport type { Variant } from \"../../types\";\n\nexport type ProgressProps = {\n\tvariant?: Variant;\n\tprogress: number;\n};\n\nconst getInnerVariant = (outerVariant: Variant): Variant => {\n\tswitch (outerVariant) {\n\t\tcase \"white\":\n\t\tcase \"anodized\":\n\t\t\treturn \"black\";\n\t\tcase \"black\":\n\t\t\treturn \"white\";\n\t\tcase \"dark-gray\":\n\t\t\treturn \"black\";\n\t\tdefault:\n\t\t\treturn outerVariant;\n\t}\n};\n\nexport const Progress: React.FC<ProgressProps> = ({\n\tvariant = \"white\",\n\tprogress,\n}) => {\n\tconst outerRef = useRef<HTMLDivElement | null>(null);\n\tconst innerRef = useRef<HTMLDivElement | null>(null);\n\n\tconst outerId = useId();\n\tconst innerId = `${outerId}-inner`;\n\n\tconst boundedProgress = Math.max(0, Math.min(100, progress));\n\tconst innerVariant = getInnerVariant(variant);\n\n\tuseEffect(() => {\n\t\tif (typeof window !== \"undefined\" && (window as any).forceWebGLRender) {\n\t\t\t(window as any).forceWebGLRender(450, true);\n\t\t}\n\t}, [progress]);\n\n\tuseEffect(() => {\n\t\tregisterWidget(outerId, {\n\t\t\tid: outerId,\n\t\t\ttype: \"progress\",\n\t\t\tref: outerRef,\n\t\t\tmouse: { x: 0, y: 0, hover: 0, click: 0 },\n\t\t\tpayload: { variant },\n\t\t\tlayout: {\n\t\t\t\tx: 0,\n\t\t\t\ty: 0,\n\t\t\t\twidth: 0,\n\t\t\t\theight: 0,\n\t\t\t\tvisualScale: 1,\n\t\t\t\tradius: 9999,\n\t\t\t},\n\t\t});\n\t\treturn () => {\n\t\t\tunregisterWidget(outerId);\n\t\t};\n\t}, [outerId, variant]);\n\n\tuseEffect(() => {\n\t\tregisterWidget(innerId, {\n\t\t\tid: innerId,\n\t\t\ttype: \"progress-inner\",\n\t\t\tref: innerRef,\n\t\t\tmouse: { x: 0, y: 0, hover: 0, click: 0 },\n\t\t\tpayload: { variant: innerVariant },\n\t\t\tlayout: {\n\t\t\t\tx: 0,\n\t\t\t\ty: 0,\n\t\t\t\twidth: 0,\n\t\t\t\theight: 0,\n\t\t\t\tvisualScale: 1,\n\t\t\t\tradius: 9999,\n\t\t\t},\n\t\t});\n\t\treturn () => {\n\t\t\tunregisterWidget(innerId);\n\t\t};\n\t}, [innerId, innerVariant]);\n\n\treturn (\n\t\t<div\n\t\t\tref={outerRef}\n\t\t\tclassName={[\n\t\t\t\tstyles[\"mds-progress\"],\n\t\t\t\tstyles[`mds-progress--${variant}`],\n\t\t\t].join(\" \")}\n\t\t>\n\t\t\t<div\n\t\t\t\tref={innerRef}\n\t\t\t\tclassName={styles[\"mds-progress-inner\"]}\n\t\t\t\tstyle={{ width: `${boundedProgress}%` }}\n\t\t\t/>\n\t\t</div>\n\t);\n};\n",".mds-radio-wrapper {\n display: inline-flex;\n align-items: center;\n cursor: pointer;\n position: relative;\n -webkit-tap-highlight-color: transparent;\n}\n\n.mds-radio-input {\n position: absolute;\n opacity: 0;\n width: 0;\n height: 0;\n}\n\n.mds-radio-bg {\n width: 30px;\n height: 30px;\n border-radius: 50%;\n background: transparent;\n display: flex;\n align-items: center;\n justify-content: center;\n padding: 6px;\n box-sizing: border-box;\n transition: transform 0.1s ease, border-color 0.2s ease, box-shadow 0.2s ease;\n will-change: transform;\n}\n.mds-radio-bg--white {\n --radio-ring: #ffffff;\n --radio-dot: #ffffff;\n border: 4px solid var(--radio-ring);\n box-shadow: 0px 0px 17px 11px rgba(200, 200, 200, 0.25);\n}\n.mds-radio-bg--black {\n --radio-ring: #000000;\n --radio-dot: #000000;\n border: 4px solid var(--radio-ring);\n box-shadow: 0px 1px 4px rgba(0, 0, 0, 0.5), 0px 0px 10px rgba(255, 255, 255, 0.15);\n}\n.mds-radio-bg--anodized {\n --radio-ring: #f2f2f2;\n --radio-dot: #f2f2f2;\n border: 4px solid var(--radio-ring);\n box-shadow: 0px 1px 4px rgba(0, 0, 0, 0.5), 0px 0px 10px rgba(255, 255, 255, 0.15);\n}\n\n.mds-radio-dot {\n width: 100%;\n height: 100%;\n border-radius: 50%;\n background-color: var(--radio-dot);\n transform: scale(0);\n transition: transform 0.2s cubic-bezier(0.175, 0.885, 0.32, 1.275);\n position: relative;\n z-index: 10;\n}\n\n.mds-radio-input:checked + .mds-radio-bg .mds-radio-dot {\n transform: scale(1.3);\n}\n\n.mds-radio-wrapper:active .mds-radio-bg {\n transform: scale(0.92);\n}\n\n.mds-radio-input:disabled + .mds-radio-bg {\n opacity: 0.4;\n cursor: not-allowed;\n}\n/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIlJhZGlvR3JvdXAubW9kdWxlLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0E7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFlBQ0U7RUFHRjs7QUFFQTtFQUNFO0VBQ0E7RUFDQTtFQUNBOztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0EsWUFDRTs7QUFJSjtFQUNFO0VBQ0E7RUFDQTtFQUNBLFlBQ0U7OztBQUtOO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTtFQUNBIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IChjKSAyMDI2IG1pbmltb3JwaGlzbVxuLy8gU3R5bGVzIGZvciBSYWRpb0dyb3VwXG5cbi5tZHMtcmFkaW8td3JhcHBlciB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLm1kcy1yYWRpby1pbnB1dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgb3BhY2l0eTogMDtcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbn1cblxuLm1kcy1yYWRpby1iZyB7XG4gIHdpZHRoOiAzMHB4O1xuICBoZWlnaHQ6IDMwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwYWRkaW5nOiA2cHg7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHRyYW5zaXRpb246XG4gICAgdHJhbnNmb3JtIDAuMXMgZWFzZSxcbiAgICBib3JkZXItY29sb3IgMC4ycyBlYXNlLFxuICAgIGJveC1zaGFkb3cgMC4ycyBlYXNlO1xuICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtO1xuXG4gICYtLXdoaXRlIHtcbiAgICAtLXJhZGlvLXJpbmc6ICNmZmZmZmY7XG4gICAgLS1yYWRpby1kb3Q6ICNmZmZmZmY7XG4gICAgYm9yZGVyOiA0cHggc29saWQgdmFyKC0tcmFkaW8tcmluZyk7XG4gICAgYm94LXNoYWRvdzogMHB4IDBweCAxN3B4IDExcHggcmdiYSgyMDAsIDIwMCwgMjAwLCAwLjI1KTtcbiAgfVxuXG4gICYtLWJsYWNrIHtcbiAgICAtLXJhZGlvLXJpbmc6ICMwMDAwMDA7XG4gICAgLS1yYWRpby1kb3Q6ICMwMDAwMDA7XG4gICAgYm9yZGVyOiA0cHggc29saWQgdmFyKC0tcmFkaW8tcmluZyk7XG4gICAgYm94LXNoYWRvdzpcbiAgICAgIDBweCAxcHggNHB4IHJnYmEoMCwgMCwgMCwgMC41KSxcbiAgICAgIDBweCAwcHggMTBweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTUpO1xuICB9XG5cbiAgJi0tYW5vZGl6ZWQge1xuICAgIC0tcmFkaW8tcmluZzogI2YyZjJmMjtcbiAgICAtLXJhZGlvLWRvdDogI2YyZjJmMjtcbiAgICBib3JkZXI6IDRweCBzb2xpZCB2YXIoLS1yYWRpby1yaW5nKTtcbiAgICBib3gtc2hhZG93OlxuICAgICAgMHB4IDFweCA0cHggcmdiYSgwLCAwLCAwLCAwLjUpLFxuICAgICAgMHB4IDBweCAxMHB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xNSk7XG4gIH1cbn1cblxuLm1kcy1yYWRpby1kb3Qge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXJhZGlvLWRvdCk7XG4gIHRyYW5zZm9ybTogc2NhbGUoMCk7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjJzIGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEuMjc1KTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxMDtcbn1cblxuLm1kcy1yYWRpby1pbnB1dDpjaGVja2VkICsgLm1kcy1yYWRpby1iZyAubWRzLXJhZGlvLWRvdCB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMS4zKTtcbn1cblxuLm1kcy1yYWRpby13cmFwcGVyOmFjdGl2ZSAubWRzLXJhZGlvLWJnIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwLjkyKTtcbn1cblxuLm1kcy1yYWRpby1pbnB1dDpkaXNhYmxlZCArIC5tZHMtcmFkaW8tYmcge1xuICBvcGFjaXR5OiAwLjQ7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG4iXX0= */","// Copyright (c) 2026 minimorphism\n// Component RadioGroup\n\nimport React from \"react\";\nimport styles from \"./RadioGroup.module.scss\";\nimport type { DisableVariants } from \"../../types\";\n\nexport type RadioButtonProps = React.InputHTMLAttributes<HTMLInputElement> & {\n\tvariant?: DisableVariants<\"dark-gray\">;\n};\n\nexport const RadioButton = React.forwardRef<HTMLInputElement, RadioButtonProps>(\n\t({ variant = \"white\", className = \"\", ...rest }, ref) => {\n\t\treturn (\n\t\t\t<label\n\t\t\t\tclassName={[styles[\"mds-radio-wrapper\"], className]\n\t\t\t\t\t.filter(Boolean)\n\t\t\t\t\t.join(\" \")}\n\t\t\t>\n\t\t\t\t<input\n\t\t\t\t\tref={ref}\n\t\t\t\t\ttype=\"radio\"\n\t\t\t\t\tclassName={styles[\"mds-radio-input\"]}\n\t\t\t\t\t{...rest}\n\t\t\t\t/>\n\t\t\t\t<div\n\t\t\t\t\tclassName={`${styles[\"mds-radio-bg\"]} ${styles[`mds-radio-bg--${variant}`]}`}\n\t\t\t\t>\n\t\t\t\t\t<div className={styles[\"mds-radio-dot\"]} />\n\t\t\t\t</div>\n\t\t\t</label>\n\t\t);\n\t}\n);\n\nRadioButton.displayName = \"RadioButton\";\n",".mds-select {\n position: relative;\n width: 100%;\n display: flex;\n flex-direction: column;\n font-family: \"minimorphism\";\n --sel-text-color: #000000;\n --sel-title-color: rgba(177, 177, 177, 0.35);\n --sel-chevron-color: #000000;\n}\n.mds-select--white {\n --sel-text-color: #000000;\n --sel-title-color: rgba(177, 177, 177, 0.35);\n --sel-chevron-color: #000000;\n}\n.mds-select--black {\n --sel-text-color: #ffffff;\n --sel-title-color: rgba(177, 177, 177, 0.35);\n --sel-chevron-color: #ffffff;\n}\n.mds-select--anodized {\n --sel-text-color: #000000;\n --sel-title-color: rgba(0, 0, 0, 0.35);\n --sel-chevron-color: #000000;\n}\n\n.mds-select-body-bg {\n position: absolute;\n top: 0;\n left: 0;\n right: 40px;\n bottom: 0;\n z-index: 1;\n border-radius: 20px;\n pointer-events: none;\n will-change: box-shadow;\n}\n\n.mds-select-header {\n position: relative;\n z-index: 2;\n display: flex;\n align-items: center;\n justify-content: space-between;\n width: 85.5%;\n min-height: 52px;\n padding: 0px 0px 0px 18px;\n border-radius: 20px;\n background: transparent;\n border: none;\n cursor: pointer;\n outline: none;\n -webkit-tap-highlight-color: transparent;\n will-change: transform, box-shadow;\n}\n\n.mds-select-header-content {\n display: flex;\n align-items: center;\n gap: 12px;\n flex: 1;\n overflow: hidden;\n padding-right: 16px;\n}\n\n.mds-select-value {\n color: var(--sel-text-color);\n font-size: 1.5rem;\n font-weight: 400;\n text-align: left;\n letter-spacing: 2.5px;\n user-select: none;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n.mds-select-value--placeholder {\n color: var(--sel-title-color);\n}\n\n.mds-select-icon-box {\n position: relative;\n z-index: 3;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 52px;\n height: 52px;\n border-radius: 15px;\n flex-shrink: 0;\n cursor: pointer;\n will-change: box-shadow;\n}\n\n.mds-select-chevron {\n width: 18px;\n height: 18px;\n transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);\n margin-right: 7.5px;\n transform: rotate(180deg);\n color: var(--sel-chevron-color);\n}\n.mds-select-chevron--open {\n transform: rotate(0deg);\n}\n\n.mds-select-content-grid {\n position: relative;\n z-index: 2;\n width: calc(100% - 40px);\n display: grid;\n grid-template-rows: 0fr;\n transition: grid-template-rows 0.3s cubic-bezier(0.4, 0, 0.2, 1);\n}\n.mds-select-content-grid--open {\n grid-template-rows: 1fr;\n}\n\n.mds-select-content-inner {\n min-height: 0;\n overflow: hidden;\n}\n\n.mds-select-content {\n padding: 16px 24px 24px 16px;\n color: var(--sel-text-color);\n opacity: 0;\n transform: translateY(-10px);\n transition: opacity 0.3s ease-out, transform 0.3s ease-out;\n display: flex;\n flex-direction: column;\n gap: 16px;\n}\n.mds-select-content-grid--open .mds-select-content {\n opacity: 1;\n transform: translateY(0);\n}\n\n.mds-select-item {\n display: flex;\n align-items: center;\n gap: 12px;\n cursor: pointer;\n font-size: 1.2rem;\n transition: opacity 0.2s;\n}\n.mds-select-item:hover {\n opacity: 0.96;\n}\n\n.mds-select-item-text--selected {\n font-weight: 400;\n}\n\n.mds-select-item-box {\n width: 30px;\n height: 30px;\n border-radius: 10px;\n flex-shrink: 0;\n transition: background-color 0.2s ease, box-shadow 0.2s ease;\n}\n.mds-select-item-box--black {\n background-color: #000000;\n box-shadow: 0px 1px 4px rgba(0, 0, 0, 0.5), 0px 0px 10px rgba(255, 255, 255, 0.15);\n}\n.mds-select-item-box--anodized {\n background-color: #ececec;\n box-shadow: 0px 1px 4px rgba(0, 0, 0, 0.5), 0px 0px 10px rgba(255, 255, 255, 0.15);\n}\n.mds-select-item-box--white {\n background-color: #ffffff;\n box-shadow: 0px 1px 4px rgba(0, 0, 0, 0.15), 0px 0px 8px rgba(0, 0, 0, 0.05);\n}\n\n.mds-select--black .mds-select-content {\n --sel-text-color: #ffffff;\n}\n/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIlNlbGVjdC5tb2R1bGUuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFLQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7O0FBRUE7RUFDRTtFQUNBO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7OztBQUlKO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0U7OztBQUlKO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDRTs7O0FBSUo7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDRTs7O0FBSUo7RUFDRTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsWUFDRTtFQUVGO0VBQ0E7RUFDQTs7QUFFQTtFQUNFO0VBQ0E7OztBQUlKO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0U7OztBQUlKO0VBQ0U7OztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQSxZQUNFOztBQUdGO0VBQ0U7RUFDQSxZQUNFOztBQUlKO0VBQ0U7RUFDQSxZQUNFOztBQUlKO0VBQ0U7RUFDQSxZQUNFOzs7QUFLTjtFQUNFIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IChjKSAyMDI2IG1pbmltb3JwaGlzbVxuLy8gU3R5bGVzIGZvciBTZWxlY3RcblxuQHVzZSBcIi4uLy4uL3N0eWxlcy9jb2xvcnNcIiBhcyBjO1xuXG4ubWRzLXNlbGVjdCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGZvbnQtZmFtaWx5OiBcIm1pbmltb3JwaGlzbVwiO1xuXG4gIC0tc2VsLXRleHQtY29sb3I6ICN7Yy4kbWRzLWJsYWNrfTtcbiAgLS1zZWwtdGl0bGUtY29sb3I6IHJnYmEoMTc3LCAxNzcsIDE3NywgMC4zNSk7XG4gIC0tc2VsLWNoZXZyb24tY29sb3I6ICN7Yy4kbWRzLWJsYWNrfTtcblxuICAmLS13aGl0ZSB7XG4gICAgLS1zZWwtdGV4dC1jb2xvcjogI3tjLiRtZHMtYmxhY2t9O1xuICAgIC0tc2VsLXRpdGxlLWNvbG9yOiByZ2JhKDE3NywgMTc3LCAxNzcsIDAuMzUpO1xuICAgIC0tc2VsLWNoZXZyb24tY29sb3I6ICN7Yy4kbWRzLWJsYWNrfTtcbiAgfVxuXG4gICYtLWJsYWNrIHtcbiAgICAtLXNlbC10ZXh0LWNvbG9yOiAje2MuJG1kcy13aGl0ZX07XG4gICAgLS1zZWwtdGl0bGUtY29sb3I6IHJnYmEoMTc3LCAxNzcsIDE3NywgMC4zNSk7XG4gICAgLS1zZWwtY2hldnJvbi1jb2xvcjogI3tjLiRtZHMtd2hpdGV9O1xuICB9XG5cbiAgJi0tYW5vZGl6ZWQge1xuICAgIC0tc2VsLXRleHQtY29sb3I6ICN7Yy4kbWRzLWJsYWNrfTtcbiAgICAtLXNlbC10aXRsZS1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjM1KTtcbiAgICAtLXNlbC1jaGV2cm9uLWNvbG9yOiAje2MuJG1kcy1ibGFja307XG4gIH1cbn1cblxuLm1kcy1zZWxlY3QtYm9keS1iZyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICByaWdodDogNDBweDtcbiAgYm90dG9tOiAwO1xuICB6LWluZGV4OiAxO1xuICBib3JkZXItcmFkaXVzOiAyMHB4O1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgd2lsbC1jaGFuZ2U6IGJveC1zaGFkb3c7XG59XG5cbi5tZHMtc2VsZWN0LWhlYWRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMjtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICB3aWR0aDogODUuNSU7XG4gIG1pbi1oZWlnaHQ6IDUycHg7XG4gIHBhZGRpbmc6IDBweCAwcHggMHB4IDE4cHg7XG4gIGJvcmRlci1yYWRpdXM6IDIwcHg7XG5cbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogbm9uZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBvdXRsaW5lOiBub25lO1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtLCBib3gtc2hhZG93O1xufVxuXG4ubWRzLXNlbGVjdC1oZWFkZXItY29udGVudCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogMTJweDtcbiAgZmxleDogMTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcGFkZGluZy1yaWdodDogMTZweDtcbn1cblxuLm1kcy1zZWxlY3QtdmFsdWUge1xuICBjb2xvcjogdmFyKC0tc2VsLXRleHQtY29sb3IpO1xuICBmb250LXNpemU6IDEuNXJlbTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgbGV0dGVyLXNwYWNpbmc6IDIuNXB4O1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG5cbiAgJi0tcGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiB2YXIoLS1zZWwtdGl0bGUtY29sb3IpO1xuICB9XG59XG5cbi5tZHMtc2VsZWN0LWljb24tYm94IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAzO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgd2lkdGg6IDUycHg7XG4gIGhlaWdodDogNTJweDtcbiAgYm9yZGVyLXJhZGl1czogMTVweDtcbiAgZmxleC1zaHJpbms6IDA7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgd2lsbC1jaGFuZ2U6IGJveC1zaGFkb3c7XG59XG5cbi5tZHMtc2VsZWN0LWNoZXZyb24ge1xuICB3aWR0aDogMThweDtcbiAgaGVpZ2h0OiAxOHB4O1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpO1xuICBtYXJnaW4tcmlnaHQ6IDcuNXB4O1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICBjb2xvcjogdmFyKC0tc2VsLWNoZXZyb24tY29sb3IpO1xuXG4gICYtLW9wZW4ge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICB9XG59XG5cbi5tZHMtc2VsZWN0LWNvbnRlbnQtZ3JpZCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMjtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDQwcHgpO1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLXJvd3M6IDBmcjtcbiAgdHJhbnNpdGlvbjogZ3JpZC10ZW1wbGF0ZS1yb3dzIDAuM3MgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKTtcblxuICAmLS1vcGVuIHtcbiAgICBncmlkLXRlbXBsYXRlLXJvd3M6IDFmcjtcbiAgfVxufVxuXG4ubWRzLXNlbGVjdC1jb250ZW50LWlubmVyIHtcbiAgbWluLWhlaWdodDogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLm1kcy1zZWxlY3QtY29udGVudCB7XG4gIHBhZGRpbmc6IDE2cHggMjRweCAyNHB4IDE2cHg7XG4gIGNvbG9yOiB2YXIoLS1zZWwtdGV4dC1jb2xvcik7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTBweCk7XG4gIHRyYW5zaXRpb246XG4gICAgb3BhY2l0eSAwLjNzIGVhc2Utb3V0LFxuICAgIHRyYW5zZm9ybSAwLjNzIGVhc2Utb3V0O1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IDE2cHg7XG5cbiAgLm1kcy1zZWxlY3QtY29udGVudC1ncmlkLS1vcGVuICYge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICB9XG59XG5cbi5tZHMtc2VsZWN0LWl0ZW0ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDEycHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZm9udC1zaXplOiAxLjJyZW07XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycztcblxuICAmOmhvdmVyIHtcbiAgICBvcGFjaXR5OiAwLjk2O1xuICB9XG59XG5cbi5tZHMtc2VsZWN0LWl0ZW0tdGV4dC0tc2VsZWN0ZWQge1xuICBmb250LXdlaWdodDogNDAwO1xufVxuXG4ubWRzLXNlbGVjdC1pdGVtLWJveCB7XG4gIHdpZHRoOiAzMHB4O1xuICBoZWlnaHQ6IDMwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICB0cmFuc2l0aW9uOlxuICAgIGJhY2tncm91bmQtY29sb3IgMC4ycyBlYXNlLFxuICAgIGJveC1zaGFkb3cgMC4ycyBlYXNlO1xuXG4gICYtLWJsYWNrIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAje2MuJG1kcy1ibGFja307XG4gICAgYm94LXNoYWRvdzpcbiAgICAgIDBweCAxcHggNHB4IHJnYmEoMCwgMCwgMCwgMC41KSxcbiAgICAgIDBweCAwcHggMTBweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTUpO1xuICB9XG5cbiAgJi0tYW5vZGl6ZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlY2VjZWM7XG4gICAgYm94LXNoYWRvdzpcbiAgICAgIDBweCAxcHggNHB4IHJnYmEoMCwgMCwgMCwgMC41KSxcbiAgICAgIDBweCAwcHggMTBweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTUpO1xuICB9XG5cbiAgJi0td2hpdGUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICN7Yy4kbWRzLXdoaXRlfTtcbiAgICBib3gtc2hhZG93OlxuICAgICAgMHB4IDFweCA0cHggcmdiYSgwLCAwLCAwLCAwLjE1KSxcbiAgICAgIDBweCAwcHggOHB4IHJnYmEoMCwgMCwgMCwgMC4wNSk7XG4gIH1cbn1cblxuLm1kcy1zZWxlY3QtLWJsYWNrIC5tZHMtc2VsZWN0LWNvbnRlbnQge1xuICAtLXNlbC10ZXh0LWNvbG9yOiAje2MuJG1kcy13aGl0ZX07XG59XG4iXX0= */","// Copyright (c) 2026 minimorphism\n// Component Select\n\nimport React, { useRef, useState, useCallback, useId, useEffect } from \"react\";\nimport styles from \"./Select.module.scss\";\nimport { registerWidget, unregisterWidget } from \"../../webgl/WebGLStore\";\nimport { Icons } from \"../Icons/Icons\";\nimport type { DisableVariants } from \"../../types\";\n\nexport interface SelectOption {\n\tid: string | number;\n\tlabel: string;\n}\n\nexport type SelectProps = Omit<\n\tReact.HTMLAttributes<HTMLDivElement>,\n\t\"onChange\" | \"defaultValue\"\n> & {\n\tvariant?: DisableVariants<\"dark-gray\">;\n\toptions?: SelectOption[];\n\tvalue?: string;\n\tdefaultValue?: string;\n\tplaceholder?: string;\n\tonChangeValue?: (value: string) => void;\n\tonSelectOption?: (option: SelectOption) => void;\n\topen?: boolean;\n\tdefaultOpen?: boolean;\n\tonChange?: (isOpen: boolean) => void;\n};\n\nconst getIconVariant = (\n\tvariant: DisableVariants<\"dark-gray\">\n): DisableVariants<\"dark-gray\"> | \"dark-gray\" => {\n\tswitch (variant) {\n\t\tcase \"white\":\n\t\t\treturn \"black\";\n\t\tcase \"black\":\n\t\t\treturn \"white\";\n\t\tcase \"anodized\":\n\t\t\treturn \"black\";\n\t\tdefault:\n\t\t\treturn \"white\";\n\t}\n};\n\nconst getBodyVariant = (\n\tvariant: DisableVariants<\"dark-gray\">\n): DisableVariants<\"dark-gray\"> | \"dark-gray\" => {\n\tif (variant === \"black\") return \"dark-gray\";\n\treturn variant;\n};\n\nconst getBoxVariant = (\n\tvariant: DisableVariants<\"dark-gray\">,\n\tisSelected: boolean\n): \"anodized\" | \"black\" | \"white\" => {\n\tif (isSelected) {\n\t\tif (variant === \"black\") return \"black\";\n\t\tif (variant === \"anodized\" || variant === \"white\") return \"white\";\n\t}\n\tif (variant === \"black\") return \"anodized\";\n\treturn \"black\";\n};\n\nexport const Select = React.forwardRef<HTMLDivElement, SelectProps>(\n\t(\n\t\t{\n\t\t\tvariant = \"white\",\n\t\t\toptions = [],\n\t\t\tvalue,\n\t\t\tdefaultValue = \"\",\n\t\t\tplaceholder = \"Select option...\",\n\t\t\tonChangeValue,\n\t\t\tonSelectOption,\n\t\t\topen,\n\t\t\tdefaultOpen = false,\n\t\t\tonChange,\n\t\t\tclassName = \"\",\n\t\t\tstyle,\n\t\t\t...rest\n\t\t},\n\t\texternalRef\n\t) => {\n\t\tconst isControlledOpen = open !== undefined;\n\t\tconst [internalOpen, setInternalOpen] = useState(\n\t\t\tisControlledOpen ? open : defaultOpen\n\t\t);\n\t\tconst isOpen = isControlledOpen ? open : internalOpen;\n\n\t\tconst isControlledValue = value !== undefined;\n\t\tconst [internalValue, setInternalValue] = useState(\n\t\t\tisControlledValue ? value : defaultValue\n\t\t);\n\t\tconst currentValue = isControlledValue ? value : internalValue;\n\n\t\tconst internalContainerRef = useRef<HTMLDivElement | null>(null);\n\t\tconst internalHeaderRef = useRef<HTMLDivElement | null>(null);\n\t\tconst internalBodyRef = useRef<HTMLDivElement | null>(null);\n\t\tconst internalIconRef = useRef<HTMLDivElement | null>(null);\n\n\t\tconst headerId = useId();\n\t\tconst bodyId = useId();\n\t\tconst iconId = useId();\n\n\t\tconst mouseHeaderRef = useRef({ x: 0, y: 0, hover: 0, click: 0 });\n\t\tconst mouseBodyRef = useRef({ x: 0, y: 0, hover: 0, click: 0 });\n\t\tconst mouseIconRef = useRef({ x: 0, y: 0, hover: 0, click: 0 });\n\n\t\tconst iconVariant = getIconVariant(variant);\n\t\tconst bodyVariant = getBodyVariant(variant);\n\n\t\t// Поиск выбранного объекта\n\t\tconst selectedOption = options.find(\n\t\t\t(opt) => opt.id === currentValue || opt.label === currentValue\n\t\t);\n\n\t\tuseEffect(() => {\n\t\t\tconst handleClickOutside = (event: MouseEvent | TouchEvent) => {\n\t\t\t\tif (\n\t\t\t\t\tinternalContainerRef.current &&\n\t\t\t\t\t!internalContainerRef.current.contains(event.target as Node)\n\t\t\t\t) {\n\t\t\t\t\tif (isOpen) {\n\t\t\t\t\t\tif (!isControlledOpen) setInternalOpen(false);\n\t\t\t\t\t\tif (onChange) onChange(false);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t};\n\n\t\t\tdocument.addEventListener(\"mousedown\", handleClickOutside);\n\t\t\tdocument.addEventListener(\"touchstart\", handleClickOutside);\n\n\t\t\treturn () => {\n\t\t\t\tdocument.removeEventListener(\"mousedown\", handleClickOutside);\n\t\t\t\tdocument.removeEventListener(\"touchstart\", handleClickOutside);\n\t\t\t};\n\t\t}, [isOpen, isControlledOpen, onChange]);\n\n\t\tconst handleToggle = () => {\n\t\t\tconst newState = !isOpen;\n\t\t\tif (!isControlledOpen) setInternalOpen(newState);\n\t\t\tif (onChange) onChange(newState);\n\t\t};\n\n\t\tconst handleSelect = (opt: SelectOption) => {\n\t\t\tif (onSelectOption) onSelectOption(opt);\n\t\t\tif (!isControlledValue) setInternalValue(opt.label);\n\t\t\tif (onChangeValue) onChangeValue(opt.label);\n\n\t\t\tif (!isControlledOpen) setInternalOpen(false);\n\t\t\tif (onChange) onChange(false);\n\t\t};\n\n\t\tconst handlePointerMove = (e: React.PointerEvent) => {\n\t\t\tif (internalHeaderRef.current) {\n\t\t\t\tconst rect = internalHeaderRef.current.getBoundingClientRect();\n\t\t\t\tmouseHeaderRef.current.x = e.clientX - rect.left;\n\t\t\t\tmouseHeaderRef.current.y = e.clientY - rect.top;\n\t\t\t}\n\t\t\tif (internalBodyRef.current) {\n\t\t\t\tconst rect = internalBodyRef.current.getBoundingClientRect();\n\t\t\t\tmouseBodyRef.current.x = e.clientX - rect.left;\n\t\t\t\tmouseBodyRef.current.y = e.clientY - rect.top;\n\t\t\t}\n\t\t\tif (internalIconRef.current) {\n\t\t\t\tconst rect = internalIconRef.current.getBoundingClientRect();\n\t\t\t\tmouseIconRef.current.x = e.clientX - rect.left;\n\t\t\t\tmouseIconRef.current.y = e.clientY - rect.top;\n\t\t\t}\n\t\t};\n\n\t\tuseEffect(() => {\n\t\t\tif (\n\t\t\t\ttypeof window !== \"undefined\" &&\n\t\t\t\t(window as any).forceWebGLRender\n\t\t\t) {\n\t\t\t\t(window as any).forceWebGLRender(350, true);\n\t\t\t}\n\t\t}, [isOpen]);\n\n\t\tuseEffect(() => {\n\t\t\tregisterWidget(headerId, {\n\t\t\t\tid: headerId,\n\t\t\t\ttype: \"select-header\",\n\t\t\t\tref: internalHeaderRef,\n\t\t\t\tmouse: mouseHeaderRef.current,\n\t\t\t\tpayload: { variant },\n\t\t\t\tlayout: {\n\t\t\t\t\tx: 0,\n\t\t\t\t\ty: 0,\n\t\t\t\t\twidth: 0,\n\t\t\t\t\theight: 0,\n\t\t\t\t\tvisualScale: 1,\n\t\t\t\t\tradius: 20,\n\t\t\t\t},\n\t\t\t});\n\n\t\t\tregisterWidget(bodyId, {\n\t\t\t\tid: bodyId,\n\t\t\t\ttype: \"select-body\",\n\t\t\t\tref: internalBodyRef,\n\t\t\t\tmouse: mouseBodyRef.current,\n\t\t\t\tpayload: { variant: bodyVariant },\n\t\t\t\tlayout: {\n\t\t\t\t\tx: 0,\n\t\t\t\t\ty: 0,\n\t\t\t\t\twidth: 0,\n\t\t\t\t\theight: 0,\n\t\t\t\t\tvisualScale: 1,\n\t\t\t\t\tradius: 20,\n\t\t\t\t},\n\t\t\t});\n\n\t\t\tregisterWidget(iconId, {\n\t\t\t\tid: iconId,\n\t\t\t\ttype: \"select-icon\",\n\t\t\t\tref: internalIconRef,\n\t\t\t\tmouse: mouseIconRef.current,\n\t\t\t\tpayload: { variant: iconVariant },\n\t\t\t\tlayout: {\n\t\t\t\t\tx: 0,\n\t\t\t\t\ty: 0,\n\t\t\t\t\twidth: 0,\n\t\t\t\t\theight: 0,\n\t\t\t\t\tvisualScale: 1,\n\t\t\t\t\tradius: 15,\n\t\t\t\t},\n\t\t\t});\n\n\t\t\tconst containerNode = internalContainerRef.current;\n\t\t\tlet resizeObserver: ResizeObserver | null = null;\n\n\t\t\tif (containerNode) {\n\t\t\t\tresizeObserver = new ResizeObserver(() => {\n\t\t\t\t\tif (\n\t\t\t\t\t\ttypeof window !== \"undefined\" &&\n\t\t\t\t\t\t(window as any).forceWebGLRender\n\t\t\t\t\t) {\n\t\t\t\t\t\t(window as any).forceWebGLRender(150, true);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\tresizeObserver.observe(containerNode);\n\t\t\t}\n\n\t\t\treturn () => {\n\t\t\t\tif (resizeObserver) resizeObserver.disconnect();\n\t\t\t\tunregisterWidget(headerId);\n\t\t\t\tunregisterWidget(bodyId);\n\t\t\t\tunregisterWidget(iconId);\n\t\t\t};\n\t\t}, [headerId, bodyId, iconId, variant, bodyVariant, iconVariant]);\n\n\t\tconst setRefs = useCallback(\n\t\t\t(node: HTMLDivElement | null) => {\n\t\t\t\tinternalContainerRef.current = node;\n\t\t\t\tif (typeof externalRef === \"function\") externalRef(node);\n\t\t\t\telse if (externalRef) {\n\t\t\t\t\t(\n\t\t\t\t\t\texternalRef as React.MutableRefObject<HTMLDivElement | null>\n\t\t\t\t\t).current = node;\n\t\t\t\t}\n\t\t\t},\n\t\t\t[externalRef]\n\t\t);\n\n\t\treturn (\n\t\t\t<div\n\t\t\t\tref={setRefs}\n\t\t\t\tclassName={[\n\t\t\t\t\tstyles[\"mds-select\"],\n\t\t\t\t\tstyles[`mds-select--${variant}`],\n\t\t\t\t\tclassName,\n\t\t\t\t]\n\t\t\t\t\t.filter(Boolean)\n\t\t\t\t\t.join(\" \")}\n\t\t\t\tstyle={style}\n\t\t\t\tonPointerMove={handlePointerMove}\n\t\t\t\tonPointerEnter={() => {\n\t\t\t\t\tmouseBodyRef.current.hover = 1;\n\t\t\t\t}}\n\t\t\t\tonPointerLeave={() => {\n\t\t\t\t\tmouseBodyRef.current.hover = 0;\n\t\t\t\t}}\n\t\t\t\t{...rest}\n\t\t\t>\n\t\t\t\t<div\n\t\t\t\t\tref={internalBodyRef}\n\t\t\t\t\tclassName={[\n\t\t\t\t\t\tstyles[\"mds-select-body-bg\"],\n\t\t\t\t\t\tstyles[`mds-select-body-bg--${bodyVariant}`],\n\t\t\t\t\t].join(\" \")}\n\t\t\t\t/>\n\t\t\t\t<div\n\t\t\t\t\tref={internalHeaderRef}\n\t\t\t\t\tclassName={styles[\"mds-select-header\"]}\n\t\t\t\t\tonClick={handleToggle}\n\t\t\t\t\tonPointerEnter={() => {\n\t\t\t\t\t\tmouseHeaderRef.current.hover = 1;\n\t\t\t\t\t\tmouseIconRef.current.hover = 1;\n\t\t\t\t\t}}\n\t\t\t\t\tonPointerLeave={() => {\n\t\t\t\t\t\tmouseHeaderRef.current.hover = 0;\n\t\t\t\t\t\tmouseIconRef.current.hover = 0;\n\t\t\t\t\t\tmouseIconRef.current.click = 0;\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t<div className={styles[\"mds-select-header-content\"]}>\n\t\t\t\t\t\t<span\n\t\t\t\t\t\t\tclassName={[\n\t\t\t\t\t\t\t\tstyles[\"mds-select-value\"],\n\t\t\t\t\t\t\t\t!selectedOption &&\n\t\t\t\t\t\t\t\t\tstyles[\"mds-select-value--placeholder\"],\n\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t\t.filter(Boolean)\n\t\t\t\t\t\t\t\t.join(\" \")}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{selectedOption\n\t\t\t\t\t\t\t\t? selectedOption.label\n\t\t\t\t\t\t\t\t: placeholder}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div\n\t\t\t\t\t\tref={internalIconRef}\n\t\t\t\t\t\tclassName={[\n\t\t\t\t\t\t\tstyles[\"mds-select-icon-box\"],\n\t\t\t\t\t\t\tstyles[`mds-select-icon-box--${iconVariant}`],\n\t\t\t\t\t\t].join(\" \")}\n\t\t\t\t\t\tonPointerDown={() => {\n\t\t\t\t\t\t\tmouseIconRef.current.click = 1;\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tonPointerUp={() => {\n\t\t\t\t\t\t\tmouseIconRef.current.click = 0;\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\t<Icons.ChevronIconAccordion\n\t\t\t\t\t\t\tclassName={[\n\t\t\t\t\t\t\t\tstyles[\"mds-select-chevron\"],\n\t\t\t\t\t\t\t\tisOpen && styles[\"mds-select-chevron--open\"],\n\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t\t.filter(Boolean)\n\t\t\t\t\t\t\t\t.join(\" \")}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<div\n\t\t\t\t\tclassName={[\n\t\t\t\t\t\tstyles[\"mds-select-content-grid\"],\n\t\t\t\t\t\tisOpen && styles[\"mds-select-content-grid--open\"],\n\t\t\t\t\t]\n\t\t\t\t\t\t.filter(Boolean)\n\t\t\t\t\t\t.join(\" \")}\n\t\t\t\t>\n\t\t\t\t\t<div className={styles[\"mds-select-content-inner\"]}>\n\t\t\t\t\t\t<div className={styles[\"mds-select-content\"]}>\n\t\t\t\t\t\t\t{options.length > 0 ? (\n\t\t\t\t\t\t\t\toptions.map((opt) => {\n\t\t\t\t\t\t\t\t\tconst isSelected =\n\t\t\t\t\t\t\t\t\t\tselectedOption?.id === opt.id;\n\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\t\tkey={opt.id}\n\t\t\t\t\t\t\t\t\t\t\tclassName={\n\t\t\t\t\t\t\t\t\t\t\t\tstyles[\"mds-select-item\"]\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tonClick={(e) => {\n\t\t\t\t\t\t\t\t\t\t\t\te.stopPropagation();\n\t\t\t\t\t\t\t\t\t\t\t\thandleSelect(opt);\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\t\t\tclassName={[\n\t\t\t\t\t\t\t\t\t\t\t\t\tstyles[\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"mds-select-item-box\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t\t\t\t\t\tstyles[\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t`mds-select-item-box--${getBoxVariant(variant, isSelected)}`\n\t\t\t\t\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t\t\t\t\t].join(\" \")}\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\t\t\t\t\tclassName={\n\t\t\t\t\t\t\t\t\t\t\t\t\tisSelected\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t? styles[\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"mds-select-item-text--selected\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t: \"\"\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t{opt.label}\n\t\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\tclassName={styles[\"mds-select-item\"]}\n\t\t\t\t\t\t\t\t\tstyle={{ opacity: 0.5, cursor: \"default\" }}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<span>No options available</span>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\t}\n);\n\nSelect.displayName = \"Select\";\n",".mds-slider {\n position: relative;\n display: flex;\n align-items: center;\n width: 100%;\n min-width: 20px;\n cursor: pointer;\n border-radius: 9999px;\n background: transparent;\n will-change: box-shadow;\n touch-action: none;\n user-select: none;\n}\n.mds-slider--sm {\n height: 30px;\n --thumb-size: 40px;\n}\n.mds-slider--md {\n height: 40px;\n --thumb-size: 50px;\n}\n.mds-slider--lg {\n height: 50px;\n --thumb-size: 60px;\n}\n.mds-slider--disabled {\n opacity: 0.5;\n cursor: not-allowed;\n pointer-events: none;\n}\n\n.mds-slider-thumb {\n position: absolute;\n top: 50%;\n transform: translateY(-50%);\n --offset-tweak: calc(var(--thumb-size) / 3);\n left: calc(var(--offset-tweak) + var(--slider-progress, 0%) / 100% * (100% - var(--offset-tweak) * 1.5));\n margin-left: calc(var(--offset-tweak) * -2);\n width: var(--thumb-size);\n height: var(--thumb-size);\n border-radius: 50%;\n background: transparent;\n z-index: 2;\n will-change: transform, left;\n transition: left 0.1s ease-out;\n}\n.mds-slider:active .mds-slider-thumb {\n transition: none;\n}\n\n.mds-slider--white,\n.mds-slider--black,\n.mds-slider--anodized,\n.mds-slider--dark-gray {\n opacity: 1;\n}\n/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIlNsaWRlci5tb2R1bGUuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFLQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDRTtFQUNBOztBQUdGO0VBQ0U7RUFDQTs7QUFHRjtFQUNFO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7OztBQUlKO0VBQ0U7RUFDQTtFQUVBO0VBRUE7RUFFQTtFQUtBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDRTs7O0FBSUo7QUFBQTtBQUFBO0FBQUE7RUFJRSIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAoYykgMjAyNiBtaW5pbW9ycGhpc21cbi8vIFN0eWxlcyBmb3IgU2xpZGVyXG5cbkB1c2UgXCIuLi8uLi9zdHlsZXMvY29sb3JzXCIgYXMgYztcblxuLm1kcy1zbGlkZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHdpZHRoOiAxMDAlO1xuICBtaW4td2lkdGg6IDIwcHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYm9yZGVyLXJhZGl1czogOTk5OXB4O1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgd2lsbC1jaGFuZ2U6IGJveC1zaGFkb3c7XG4gIHRvdWNoLWFjdGlvbjogbm9uZTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG5cbiAgJi0tc20ge1xuICAgIGhlaWdodDogMzBweDtcbiAgICAtLXRodW1iLXNpemU6IDQwcHg7XG4gIH1cblxuICAmLS1tZCB7XG4gICAgaGVpZ2h0OiA0MHB4O1xuICAgIC0tdGh1bWItc2l6ZTogNTBweDtcbiAgfVxuXG4gICYtLWxnIHtcbiAgICBoZWlnaHQ6IDUwcHg7XG4gICAgLS10aHVtYi1zaXplOiA2MHB4O1xuICB9XG5cbiAgJi0tZGlzYWJsZWQge1xuICAgIG9wYWNpdHk6IDAuNTtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB9XG59XG5cbi5tZHMtc2xpZGVyLXRodW1iIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcblxuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG5cbiAgLS1vZmZzZXQtdHdlYWs6IGNhbGModmFyKC0tdGh1bWItc2l6ZSkgLyAzKTtcblxuICBsZWZ0OiBjYWxjKFxuICAgIHZhcigtLW9mZnNldC10d2VhaykgKyAodmFyKC0tc2xpZGVyLXByb2dyZXNzLCAwJSkgLyAxMDAlKSAqXG4gICAgICAoMTAwJSAtICh2YXIoLS1vZmZzZXQtdHdlYWspICogMS41KSlcbiAgKTtcblxuICBtYXJnaW4tbGVmdDogY2FsYyh2YXIoLS1vZmZzZXQtdHdlYWspICogLTIpO1xuICB3aWR0aDogdmFyKC0tdGh1bWItc2l6ZSk7XG4gIGhlaWdodDogdmFyKC0tdGh1bWItc2l6ZSk7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIHotaW5kZXg6IDI7XG4gIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm0sIGxlZnQ7XG4gIHRyYW5zaXRpb246IGxlZnQgMC4xcyBlYXNlLW91dDtcblxuICAubWRzLXNsaWRlcjphY3RpdmUgJiB7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgfVxufVxuXG4ubWRzLXNsaWRlci0td2hpdGUsXG4ubWRzLXNsaWRlci0tYmxhY2ssXG4ubWRzLXNsaWRlci0tYW5vZGl6ZWQsXG4ubWRzLXNsaWRlci0tZGFyay1ncmF5IHtcbiAgb3BhY2l0eTogMTtcbn0iXX0= */","// Copyright (c) 2026 minimorphism\n// Component Slider\n\nimport React, { useRef, useState, useCallback, useId, useEffect } from \"react\";\nimport styles from \"./Slider.module.scss\";\nimport { registerWidget, unregisterWidget } from \"../../webgl/WebGLStore\";\nimport type { Variant } from \"../../types\";\n\nexport type SliderSize = \"sm\" | \"md\" | \"lg\";\n\nexport type SliderProps = Omit<\n\tReact.HTMLAttributes<HTMLDivElement>,\n\t\"onChange\"\n> & {\n\tvariant?: Variant;\n\tsize?: SliderSize;\n\tvalue?: number;\n\tdefaultValue?: number;\n\tmin?: number;\n\tmax?: number;\n\tstep?: number;\n\tdisabled?: boolean;\n\tonChange?: (value: number) => void;\n};\n\nconst getThumbVariant = (variant: Variant): Variant => {\n\tswitch (variant) {\n\t\tcase \"white\":\n\t\t\treturn \"black\";\n\t\tcase \"black\":\n\t\t\treturn \"white\";\n\t\tcase \"anodized\":\n\t\t\treturn \"black\";\n\t\tcase \"dark-gray\":\n\t\t\treturn \"anodized\";\n\t\tdefault:\n\t\t\treturn \"white\";\n\t}\n};\n\nexport const Slider = React.forwardRef<HTMLDivElement, SliderProps>(\n\t(\n\t\t{\n\t\t\tvariant = \"white\",\n\t\t\tsize = \"md\",\n\t\t\tvalue,\n\t\t\tdefaultValue = 0,\n\t\t\tmin = 0,\n\t\t\tmax = 100,\n\t\t\tstep = 1,\n\t\t\tdisabled = false,\n\t\t\tonChange,\n\t\t\tclassName = \"\",\n\t\t\tstyle,\n\t\t\t...rest\n\t\t},\n\t\texternalRef\n\t) => {\n\t\tconst isControlled = value !== undefined;\n\t\tconst [internalValue, setInternalValue] = useState(\n\t\t\tisControlled ? value : defaultValue\n\t\t);\n\t\tconst currentValue = isControlled ? value : internalValue;\n\n\t\tconst internalTrackRef = useRef<HTMLDivElement | null>(null);\n\t\tconst internalThumbRef = useRef<HTMLDivElement | null>(null);\n\t\tconst trackId = useId();\n\t\tconst thumbId = useId();\n\n\t\tconst mouseTrackRef = useRef({ x: 0, y: 0, hover: 0, click: 0 });\n\t\tconst mouseThumbRef = useRef({ x: 0, y: 0, hover: 0, click: 0 });\n\t\tconst isDragging = useRef(false);\n\n\t\tconst thumbVariant = getThumbVariant(variant);\n\n\t\tconst calculateValueFromPointer = useCallback(\n\t\t\t(clientX: number) => {\n\t\t\t\tif (!internalTrackRef.current) return currentValue;\n\t\t\t\tconst rect = internalTrackRef.current.getBoundingClientRect();\n\t\t\t\tconst percent = Math.max(\n\t\t\t\t\t0,\n\t\t\t\t\tMath.min(1, (clientX - rect.left) / rect.width)\n\t\t\t\t);\n\t\t\t\tconst rawValue = min + percent * (max - min);\n\n\t\t\t\tif (step > 0) {\n\t\t\t\t\tconst stepped = Math.round(rawValue / step) * step;\n\t\t\t\t\treturn Math.max(min, Math.min(max, stepped));\n\t\t\t\t}\n\t\t\t\treturn Math.max(min, Math.min(max, rawValue));\n\t\t\t},\n\t\t\t[min, max, step, currentValue]\n\t\t);\n\n\t\tconst handlePointerDown = (e: React.PointerEvent<HTMLDivElement>) => {\n\t\t\tif (disabled) return;\n\t\t\tisDragging.current = true;\n\t\t\tmouseTrackRef.current.click = 1;\n\t\t\tmouseThumbRef.current.click = 1;\n\n\t\t\tif (internalTrackRef.current) {\n\t\t\t\tinternalTrackRef.current.setPointerCapture(e.pointerId);\n\t\t\t}\n\n\t\t\tconst newValue = calculateValueFromPointer(e.clientX);\n\t\t\tif (!isControlled) setInternalValue(newValue);\n\t\t\tif (onChange && newValue !== currentValue) onChange(newValue);\n\t\t};\n\n\t\tconst handlePointerMove = (e: React.PointerEvent<HTMLDivElement>) => {\n\t\t\tif (disabled) return;\n\n\t\t\tif (internalTrackRef.current) {\n\t\t\t\tconst rect = internalTrackRef.current.getBoundingClientRect();\n\t\t\t\tmouseTrackRef.current.x = e.clientX - rect.left;\n\t\t\t\tmouseTrackRef.current.y = e.clientY - rect.top;\n\t\t\t}\n\t\t\tif (internalThumbRef.current) {\n\t\t\t\tconst rect = internalThumbRef.current.getBoundingClientRect();\n\t\t\t\tmouseThumbRef.current.x = e.clientX - rect.left;\n\t\t\t\tmouseThumbRef.current.y = e.clientY - rect.top;\n\t\t\t}\n\n\t\t\tif (isDragging.current) {\n\t\t\t\tconst newValue = calculateValueFromPointer(e.clientX);\n\t\t\t\tif (!isControlled) setInternalValue(newValue);\n\t\t\t\tif (onChange && newValue !== currentValue) onChange(newValue);\n\t\t\t}\n\t\t};\n\n\t\tconst handlePointerUp = (e: React.PointerEvent<HTMLDivElement>) => {\n\t\t\tif (disabled) return;\n\t\t\tisDragging.current = false;\n\t\t\tmouseTrackRef.current.click = 0;\n\t\t\tmouseThumbRef.current.click = 0;\n\n\t\t\tif (internalTrackRef.current) {\n\t\t\t\tinternalTrackRef.current.releasePointerCapture(e.pointerId);\n\t\t\t}\n\t\t};\n\n\t\tuseEffect(() => {\n\t\t\tconst percent = (currentValue - min) / (max - min);\n\n\t\t\tregisterWidget(trackId, {\n\t\t\t\tid: trackId,\n\t\t\t\ttype: \"slider\",\n\t\t\t\tref: internalTrackRef,\n\t\t\t\tmouse: mouseTrackRef.current,\n\t\t\t\tpayload: { variant, size },\n\t\t\t\tlayout: {\n\t\t\t\t\tx: 0,\n\t\t\t\t\ty: 0,\n\t\t\t\t\twidth: 0,\n\t\t\t\t\theight: 0,\n\t\t\t\t\tvisualScale: 1,\n\t\t\t\t\tradius: 20,\n\t\t\t\t},\n\t\t\t});\n\n\t\t\tregisterWidget(thumbId, {\n\t\t\t\tid: thumbId,\n\t\t\t\ttype: \"slider-thumb\",\n\t\t\t\tref: internalThumbRef,\n\t\t\t\tmouse: mouseThumbRef.current,\n\t\t\t\tpayload: { variant: thumbVariant, size, value: percent },\n\t\t\t\tlayout: {\n\t\t\t\t\tx: 0,\n\t\t\t\t\ty: 0,\n\t\t\t\t\twidth: 0,\n\t\t\t\t\theight: 0,\n\t\t\t\t\tvisualScale: 1,\n\t\t\t\t\tradius: 20,\n\t\t\t\t},\n\t\t\t});\n\n\t\t\tconst trackNode = internalTrackRef.current;\n\t\t\tlet resizeObserver: ResizeObserver | null = null;\n\n\t\t\tif (trackNode) {\n\t\t\t\tresizeObserver = new ResizeObserver(() => {\n\t\t\t\t\tif (\n\t\t\t\t\t\ttypeof window !== \"undefined\" &&\n\t\t\t\t\t\t(window as any).forceWebGLRender\n\t\t\t\t\t) {\n\t\t\t\t\t\t(window as any).forceWebGLRender(150, true);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\tresizeObserver.observe(trackNode);\n\t\t\t}\n\n\t\t\treturn () => {\n\t\t\t\tif (resizeObserver) resizeObserver.disconnect();\n\t\t\t\tunregisterWidget(trackId);\n\t\t\t\tunregisterWidget(thumbId);\n\t\t\t};\n\t\t}, [\n\t\t\ttrackId,\n\t\t\tthumbId,\n\t\t\tvariant,\n\t\t\tthumbVariant,\n\t\t\tsize,\n\t\t\tcurrentValue,\n\t\t\tmin,\n\t\t\tmax,\n\t\t]);\n\n\t\tconst setRefs = useCallback(\n\t\t\t(node: HTMLDivElement | null) => {\n\t\t\t\tinternalTrackRef.current = node;\n\t\t\t\tif (typeof externalRef === \"function\") externalRef(node);\n\t\t\t\telse if (externalRef) {\n\t\t\t\t\t(\n\t\t\t\t\t\texternalRef as React.MutableRefObject<HTMLDivElement | null>\n\t\t\t\t\t).current = node;\n\t\t\t\t}\n\t\t\t},\n\t\t\t[externalRef]\n\t\t);\n\n\t\tconst percent = (currentValue - min) / (max - min);\n\n\t\treturn (\n\t\t\t<div\n\t\t\t\tref={setRefs}\n\t\t\t\trole=\"slider\"\n\t\t\t\taria-valuemin={min}\n\t\t\t\taria-valuemax={max}\n\t\t\t\taria-valuenow={currentValue}\n\t\t\t\taria-disabled={disabled}\n\t\t\t\tclassName={[\n\t\t\t\t\tstyles[\"mds-slider\"],\n\t\t\t\t\tstyles[`mds-slider--${variant}`],\n\t\t\t\t\tstyles[`mds-slider--${size}`],\n\t\t\t\t\tdisabled && styles[\"mds-slider--disabled\"],\n\t\t\t\t\tclassName,\n\t\t\t\t]\n\t\t\t\t\t.filter(Boolean)\n\t\t\t\t\t.join(\" \")}\n\t\t\t\tstyle={\n\t\t\t\t\t{\n\t\t\t\t\t\t...style,\n\t\t\t\t\t\t\"--slider-progress\": `${percent * 100}%`,\n\t\t\t\t\t} as React.CSSProperties\n\t\t\t\t}\n\t\t\t\tonPointerDown={handlePointerDown}\n\t\t\t\tonPointerMove={handlePointerMove}\n\t\t\t\tonPointerUp={handlePointerUp}\n\t\t\t\tonPointerEnter={() => {\n\t\t\t\t\tmouseTrackRef.current.hover = 1;\n\t\t\t\t\tmouseThumbRef.current.hover = 1;\n\t\t\t\t}}\n\t\t\t\tonPointerLeave={(e) => {\n\t\t\t\t\tif (!isDragging.current) {\n\t\t\t\t\t\tmouseTrackRef.current.hover = 0;\n\t\t\t\t\t\tmouseThumbRef.current.hover = 0;\n\t\t\t\t\t}\n\t\t\t\t\thandlePointerUp(e);\n\t\t\t\t}}\n\t\t\t\t{...rest}\n\t\t\t>\n\t\t\t\t<div\n\t\t\t\t\tref={internalThumbRef}\n\t\t\t\t\tclassName={[\n\t\t\t\t\t\tstyles[\"mds-slider-thumb\"],\n\t\t\t\t\t\tstyles[`mds-slider-thumb--${thumbVariant}`],\n\t\t\t\t\t].join(\" \")}\n\t\t\t\t\tstyle={{}}\n\t\t\t\t/>\n\t\t\t</div>\n\t\t);\n\t}\n);\n",".mds-snackbar-wrapper {\n position: fixed;\n bottom: var(--snackbar-bottom, 32px);\n top: var(--snackbar-top, auto);\n left: 50%;\n transform: translateX(-50%);\n opacity: 0;\n pointer-events: none;\n z-index: 9999;\n transition: opacity 0.3s ease-out;\n}\n.mds-snackbar-wrapper--open {\n opacity: 1;\n pointer-events: auto;\n}\n\n.mds-snackbar {\n --snack-text-color: #000000;\n position: relative;\n display: inline-flex;\n align-items: center;\n font-size: 20px;\n border-radius: 1.2em;\n padding: 0.35em 0.6em 0.35em 0.35em;\n border: 0px solid transparent;\n font-family: \"minimorphism\";\n background: transparent;\n will-change: transform, box-shadow;\n}\n.mds-snackbar--white {\n --snack-text-color: #000000;\n box-shadow: 0px 0px 17px 11px rgba(200, 200, 200, 0.25);\n}\n.mds-snackbar--black {\n --snack-text-color: #ffffff;\n box-shadow: 0px 1px 4px rgba(0, 0, 0, 0.5), 0px 0px 10px rgba(255, 255, 255, 0.15);\n}\n.mds-snackbar--anodized {\n --snack-text-color: #000000;\n box-shadow: 0px 1px 4px rgba(0, 0, 0, 0.15);\n}\n\n.mds-snackbar-icon {\n position: relative;\n display: flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n background: transparent;\n will-change: box-shadow;\n width: 2.7em;\n height: 2.7em;\n border-radius: 0.8em;\n margin-right: 0.6em;\n}\n.mds-snackbar-icon--white {\n color: #000000;\n box-shadow: 0px 0px 17px 11px rgba(200, 200, 200, 0.25);\n}\n.mds-snackbar-icon--black {\n color: #ffffff;\n box-shadow: 0px 1px 4px rgba(0, 0, 0, 0.5), 0px 0px 10px rgba(255, 255, 255, 0.15);\n}\n.mds-snackbar-icon--anodized {\n color: #000000;\n box-shadow: 0px 1px 4px rgba(0, 0, 0, 0.15);\n}\n.mds-snackbar-icon > svg {\n position: relative;\n z-index: 10;\n width: 2em;\n height: 2em;\n fill: currentColor;\n}\n\n.mds-snackbar-text {\n position: relative;\n z-index: 10;\n pointer-events: none;\n color: var(--snack-text-color);\n}\n/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIlNuYWNrYmFyLm1vZHVsZS5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUtBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBOztBQUVBO0VBQ0U7RUFDQTs7O0FBSUo7RUFDRTtFQUVBO0VBQ0E7RUFDQTtFQUVBO0VBRUE7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0U7RUFDQTs7QUFHRjtFQUNFO0VBQ0EsWUFDRTs7QUFJSjtFQUNFO0VBQ0E7OztBQUlKO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBLFlBQ0U7O0FBR0o7RUFDRTtFQUNBOztBQUdGO0VBQ0U7RUFDQTtFQUVBO0VBQ0E7RUFDQTs7O0FBSUo7RUFDRTtFQUNBO0VBQ0E7RUFDQSIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAoYykgMjAyNiBtaW5pbW9ycGhpc21cbi8vIFN0eWxlcyBmb3IgU25hY2tiYXJcblxuQHVzZSBcIi4uLy4uL3N0eWxlcy9jb2xvcnNcIiBhcyBjO1xuXG4ubWRzLXNuYWNrYmFyLXdyYXBwZXIge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGJvdHRvbTogdmFyKC0tc25hY2tiYXItYm90dG9tLCAzMnB4KTtcbiAgdG9wOiB2YXIoLS1zbmFja2Jhci10b3AsIGF1dG8pO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgb3BhY2l0eTogMDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIHotaW5kZXg6IDk5OTk7XG5cbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2Utb3V0O1xuXG4gICYtLW9wZW4ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gIH1cbn1cblxuLm1kcy1zbmFja2JhciB7XG4gIC0tc25hY2stdGV4dC1jb2xvcjogI3tjLiRtZHMtYmxhY2t9O1xuXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgZm9udC1zaXplOiAyMHB4O1xuXG4gIGJvcmRlci1yYWRpdXM6IDEuMmVtO1xuICBwYWRkaW5nOiAwLjM1ZW0gMC42ZW0gMC4zNWVtIDAuMzVlbTtcblxuICBib3JkZXI6IDBweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgZm9udC1mYW1pbHk6IFwibWluaW1vcnBoaXNtXCI7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtLCBib3gtc2hhZG93O1xuXG4gICYtLXdoaXRlIHtcbiAgICAtLXNuYWNrLXRleHQtY29sb3I6ICN7Yy4kbWRzLWJsYWNrfTtcbiAgICBib3gtc2hhZG93OiAwcHggMHB4IDE3cHggMTFweCByZ2JhKDIwMCwgMjAwLCAyMDAsIDAuMjUpO1xuICB9XG5cbiAgJi0tYmxhY2sge1xuICAgIC0tc25hY2stdGV4dC1jb2xvcjogI3tjLiRtZHMtd2hpdGV9O1xuICAgIGJveC1zaGFkb3c6XG4gICAgICAwcHggMXB4IDRweCByZ2JhKDAsIDAsIDAsIDAuNSksXG4gICAgICAwcHggMHB4IDEwcHggcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE1KTtcbiAgfVxuXG4gICYtLWFub2RpemVkIHtcbiAgICAtLXNuYWNrLXRleHQtY29sb3I6ICN7Yy4kbWRzLWJsYWNrfTtcbiAgICBib3gtc2hhZG93OiAwcHggMXB4IDRweCByZ2JhKDAsIDAsIDAsIDAuMTUpO1xuICB9XG59XG5cbi5tZHMtc25hY2tiYXItaWNvbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgd2lsbC1jaGFuZ2U6IGJveC1zaGFkb3c7XG5cbiAgd2lkdGg6IDIuN2VtO1xuICBoZWlnaHQ6IDIuN2VtO1xuICBib3JkZXItcmFkaXVzOiAwLjhlbTtcbiAgbWFyZ2luLXJpZ2h0OiAwLjZlbTtcblxuICAmLS13aGl0ZSB7XG4gICAgY29sb3I6ICN7Yy4kbWRzLWJsYWNrfTtcbiAgICBib3gtc2hhZG93OiAwcHggMHB4IDE3cHggMTFweCByZ2JhKDIwMCwgMjAwLCAyMDAsIDAuMjUpO1xuICB9XG4gICYtLWJsYWNrIHtcbiAgICBjb2xvcjogI3tjLiRtZHMtd2hpdGV9O1xuICAgIGJveC1zaGFkb3c6XG4gICAgICAwcHggMXB4IDRweCByZ2JhKDAsIDAsIDAsIDAuNSksXG4gICAgICAwcHggMHB4IDEwcHggcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE1KTtcbiAgfVxuICAmLS1hbm9kaXplZCB7XG4gICAgY29sb3I6ICN7Yy4kbWRzLWJsYWNrfTtcbiAgICBib3gtc2hhZG93OiAwcHggMXB4IDRweCByZ2JhKDAsIDAsIDAsIDAuMTUpO1xuICB9XG5cbiAgPiBzdmcge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAxMDtcblxuICAgIHdpZHRoOiAyZW07XG4gICAgaGVpZ2h0OiAyZW07XG4gICAgZmlsbDogY3VycmVudENvbG9yO1xuICB9XG59XG5cbi5tZHMtc25hY2tiYXItdGV4dCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMTA7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBjb2xvcjogdmFyKC0tc25hY2stdGV4dC1jb2xvcik7XG59XG4iXX0= */","// Copyright (c) 2026 minimorphism\n// Component Snackbar\n\nimport React, { useRef, useState, useCallback, useId, useEffect } from \"react\";\nimport styles from \"./Snackbar.module.scss\";\nimport { registerWidget, unregisterWidget } from \"../../webgl/WebGLStore\";\nimport type { DisableVariants } from \"../../types\";\n\nexport type SnackbarProps = React.HTMLAttributes<HTMLDivElement> & {\n\tvariant?: DisableVariants<\"dark-gray\">;\n\topen: boolean;\n\tmessage: string;\n\ticon?: React.ReactNode;\n};\n\nconst getIconVariant = (\n\tvariant: DisableVariants<\"dark-gray\">\n): DisableVariants<\"dark-gray\"> => {\n\tif (variant === \"black\") return \"anodized\";\n\treturn \"black\";\n};\n\nexport const Snackbar = React.forwardRef<HTMLDivElement, SnackbarProps>(\n\t(\n\t\t{\n\t\t\tvariant = \"white\",\n\t\t\topen,\n\t\t\tmessage,\n\t\t\ticon,\n\t\t\tclassName = \"\",\n\t\t\tstyle,\n\t\t\t...rest\n\t\t},\n\t\texternalRef\n\t) => {\n\t\tconst internalMainRef = useRef<HTMLDivElement | null>(null);\n\t\tconst internalIconRef = useRef<HTMLDivElement | null>(null);\n\t\tconst mainId = useId();\n\t\tconst iconId = useId();\n\n\t\tconst [shouldRender, setShouldRender] = useState(open);\n\t\tconst [animateIn, setAnimateIn] = useState(false);\n\n\t\tuseEffect(() => {\n\t\t\tif (open) {\n\t\t\t\tsetShouldRender(true);\n\t\t\t\trequestAnimationFrame(() =>\n\t\t\t\t\trequestAnimationFrame(() => setAnimateIn(true))\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\tsetAnimateIn(false);\n\t\t\t}\n\t\t}, [open]);\n\n\t\tconst handleTransitionEnd = () => {\n\t\t\tif (!open && !animateIn) setShouldRender(false);\n\t\t};\n\n\t\tconst iconVariant = getIconVariant(variant);\n\n\t\tuseEffect(() => {\n\t\t\tif (shouldRender) {\n\t\t\t\tregisterWidget(mainId, {\n\t\t\t\t\tid: mainId,\n\t\t\t\t\ttype: \"snackbar\",\n\t\t\t\t\tref: internalMainRef,\n\t\t\t\t\tmouse: { x: 0, y: 0, hover: 0, click: 0 },\n\t\t\t\t\tpayload: { variant },\n\t\t\t\t\tlayout: {\n\t\t\t\t\t\tx: 0,\n\t\t\t\t\t\ty: 0,\n\t\t\t\t\t\twidth: 0,\n\t\t\t\t\t\theight: 0,\n\t\t\t\t\t\tvisualScale: 1,\n\t\t\t\t\t\tradius: 20,\n\t\t\t\t\t},\n\t\t\t\t});\n\n\t\t\t\tif (icon) {\n\t\t\t\t\tregisterWidget(iconId, {\n\t\t\t\t\t\tid: iconId,\n\t\t\t\t\t\ttype: \"snackbar\",\n\t\t\t\t\t\tref: internalIconRef,\n\t\t\t\t\t\tmouse: { x: 0, y: 0, hover: 0, click: 0 },\n\t\t\t\t\t\tpayload: { variant: iconVariant },\n\t\t\t\t\t\tlayout: {\n\t\t\t\t\t\t\tx: 0,\n\t\t\t\t\t\t\ty: 0,\n\t\t\t\t\t\t\twidth: 0,\n\t\t\t\t\t\t\theight: 0,\n\t\t\t\t\t\t\tvisualScale: 1,\n\t\t\t\t\t\t\tradius: 20,\n\t\t\t\t\t\t},\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn () => {\n\t\t\t\tunregisterWidget(mainId);\n\t\t\t\tunregisterWidget(iconId);\n\t\t\t};\n\t\t}, [shouldRender, mainId, iconId, variant, iconVariant, icon]);\n\n\t\tconst setRefs = useCallback(\n\t\t\t(node: HTMLDivElement | null) => {\n\t\t\t\tinternalMainRef.current = node;\n\t\t\t\tif (typeof externalRef === \"function\") externalRef(node);\n\t\t\t\telse if (externalRef) {\n\t\t\t\t\t(\n\t\t\t\t\t\texternalRef as React.MutableRefObject<HTMLDivElement | null>\n\t\t\t\t\t).current = node;\n\t\t\t\t}\n\t\t\t},\n\t\t\t[externalRef]\n\t\t);\n\n\t\tif (!shouldRender) return null;\n\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclassName={[\n\t\t\t\t\tstyles[\"mds-snackbar-wrapper\"],\n\t\t\t\t\t\"gl-fade\",\n\t\t\t\t\tanimateIn && styles[\"mds-snackbar-wrapper--open\"],\n\t\t\t\t]\n\t\t\t\t\t.filter(Boolean)\n\t\t\t\t\t.join(\" \")}\n\t\t\t\tonTransitionEnd={handleTransitionEnd}\n\t\t\t>\n\t\t\t\t<div\n\t\t\t\t\tref={setRefs}\n\t\t\t\t\tclassName={[\n\t\t\t\t\t\tstyles[\"mds-snackbar\"],\n\t\t\t\t\t\tstyles[`mds-snackbar--${variant}`],\n\t\t\t\t\t\tclassName,\n\t\t\t\t\t]\n\t\t\t\t\t\t.filter(Boolean)\n\t\t\t\t\t\t.join(\" \")}\n\t\t\t\t\tstyle={style}\n\t\t\t\t\t{...rest}\n\t\t\t\t>\n\t\t\t\t\t{icon && (\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tref={internalIconRef}\n\t\t\t\t\t\t\tclassName={[\n\t\t\t\t\t\t\t\tstyles[\"mds-snackbar-icon\"],\n\t\t\t\t\t\t\t\tstyles[`mds-snackbar-icon--${iconVariant}`],\n\t\t\t\t\t\t\t].join(\" \")}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{icon}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)}\n\t\t\t\t\t<span className={styles[\"mds-snackbar-text\"]}>\n\t\t\t\t\t\t{message}\n\t\t\t\t\t</span>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\t}\n);\n",".mds-modal-overlay {\n position: fixed;\n inset: 0;\n background-color: rgba(0, 0, 0, 0);\n opacity: 0;\n pointer-events: none;\n transition: opacity 0.3s ease-out;\n z-index: 9998;\n}\n.mds-modal-overlay--open {\n opacity: 1;\n pointer-events: auto;\n}\n\n.mds-modal-wrapper {\n position: fixed;\n bottom: -40px;\n left: 0;\n width: 100%;\n transform: none;\n opacity: 0;\n pointer-events: none;\n z-index: 9999;\n transition: opacity 0.3s ease-out;\n}\n.mds-modal-wrapper--open {\n opacity: 1;\n pointer-events: auto;\n}\n\n.gl-widget {\n position: relative;\n border: 0px solid transparent;\n font-family: \"minimorphism\", sans-serif;\n background: transparent;\n will-change: transform, box-shadow;\n display: flex;\n box-sizing: border-box;\n}\n\n.mds-modal-bg {\n flex-direction: column;\n width: 100%;\n border-radius: 50px;\n padding: 24px 24px 60px 24px;\n color: #ffffff;\n box-sizing: border-box;\n box-shadow: 0px -4px 20px rgba(0, 0, 0, 0.5), 0px 0px 15px rgba(255, 255, 255, 0.1);\n}\n\n.mds-modal-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n margin-bottom: 10px;\n}\n\n.mds-modal-capsule {\n align-items: center;\n padding: 6px 20px 6px 6px;\n border-radius: 20px;\n color: #ffffff;\n box-sizing: border-box;\n box-shadow: 0px 1px 4px rgba(0, 0, 0, 0.5), 0px 0px 10px rgba(255, 255, 255, 0.05);\n}\n\n.mds-modal-capsule-icon {\n align-items: center;\n justify-content: center;\n width: 31px;\n height: 30px;\n border-radius: 15%;\n margin-right: 12px;\n color: #000000;\n box-sizing: border-box;\n box-shadow: 0px 1px 4px rgba(0, 0, 0, 0.15);\n}\n.mds-modal-capsule-icon svg {\n width: 18px;\n height: 18px;\n fill: currentColor;\n position: relative;\n z-index: 10;\n}\n\n.mds-modal-title {\n font-size: 16px;\n position: relative;\n z-index: 10;\n pointer-events: none;\n}\n\n.mds-modal-close-btn {\n align-items: center;\n justify-content: center;\n width: 40px;\n height: 40px;\n border-radius: 20%;\n cursor: pointer;\n color: #ffffff;\n box-sizing: border-box;\n box-shadow: 0px 1px 4px rgba(0, 0, 0, 0.5), 0px 0px 10px rgba(255, 255, 255, 0.05);\n}\n.mds-modal-close-btn svg {\n width: 25px;\n height: 25px;\n fill: currentColor;\n position: relative;\n z-index: 10;\n}\n\n.mds-modal-content {\n position: relative;\n z-index: 10;\n}\n/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIk1vYmlsZU1vZGFsLm1vZHVsZS5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUtBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDRTtFQUNBOzs7QUFJSjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTs7QUFFQTtFQUNFO0VBQ0E7OztBQUlKO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUEsWUFDRTs7O0FBSUo7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsWUFDRTs7O0FBSUo7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFJSjtFQUNFO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxZQUNFOztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBSUo7RUFDRTtFQUNBIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IChjKSAyMDI2IG1pbmltb3JwaGlzbVxuLy8gU3R5bGVzIGZvciBNb2JpbGVNb2RhbFxuXG5AdXNlIFwiLi4vLi4vc3R5bGVzL2NvbG9yc1wiIGFzIGM7XG5cbi5tZHMtbW9kYWwtb3ZlcmxheSB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgaW5zZXQ6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMCk7XG4gIG9wYWNpdHk6IDA7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgZWFzZS1vdXQ7XG4gIHotaW5kZXg6IDk5OTg7XG5cbiAgJi0tb3BlbiB7XG4gICAgb3BhY2l0eTogMTtcbiAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgfVxufVxuXG4ubWRzLW1vZGFsLXdyYXBwZXIge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGJvdHRvbTogLTQwcHg7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICB0cmFuc2Zvcm06IG5vbmU7XG4gIG9wYWNpdHk6IDA7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB6LWluZGV4OiA5OTk5O1xuXG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlLW91dDtcblxuICAmLS1vcGVuIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICB9XG59XG5cbi5nbC13aWRnZXQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJvcmRlcjogMHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBmb250LWZhbWlseTogXCJtaW5pbW9ycGhpc21cIiwgc2Fucy1zZXJpZjtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm0sIGJveC1zaGFkb3c7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbi5tZHMtbW9kYWwtYmcge1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB3aWR0aDogMTAwJTtcbiAgYm9yZGVyLXJhZGl1czogNTBweDtcbiAgcGFkZGluZzogMjRweCAyNHB4IDYwcHggMjRweDtcbiAgY29sb3I6ICN7Yy4kbWRzLXdoaXRlfTtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcblxuICBib3gtc2hhZG93OlxuICAgIDBweCAtNHB4IDIwcHggcmdiYSgwLCAwLCAwLCAwLjUpLFxuICAgIDBweCAwcHggMTVweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSk7XG59XG5cbi5tZHMtbW9kYWwtaGVhZGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xufVxuXG4ubWRzLW1vZGFsLWNhcHN1bGUge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwYWRkaW5nOiA2cHggMjBweCA2cHggNnB4O1xuICBib3JkZXItcmFkaXVzOiAyMHB4O1xuICBjb2xvcjogI3tjLiRtZHMtd2hpdGV9O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBib3gtc2hhZG93OlxuICAgIDBweCAxcHggNHB4IHJnYmEoMCwgMCwgMCwgMC41KSxcbiAgICAwcHggMHB4IDEwcHggcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA1KTtcbn1cblxuLm1kcy1tb2RhbC1jYXBzdWxlLWljb24ge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgd2lkdGg6IDMxcHg7XG4gIGhlaWdodDogMzBweDtcbiAgYm9yZGVyLXJhZGl1czogMTUlO1xuICBtYXJnaW4tcmlnaHQ6IDEycHg7XG4gIGNvbG9yOiAje2MuJG1kcy1ibGFja307XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGJveC1zaGFkb3c6IDBweCAxcHggNHB4IHJnYmEoMCwgMCwgMCwgMC4xNSk7XG5cbiAgc3ZnIHtcbiAgICB3aWR0aDogMThweDtcbiAgICBoZWlnaHQ6IDE4cHg7XG4gICAgZmlsbDogY3VycmVudENvbG9yO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAxMDtcbiAgfVxufVxuXG4ubWRzLW1vZGFsLXRpdGxlIHtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDEwO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLm1kcy1tb2RhbC1jbG9zZS1idG4ge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgd2lkdGg6IDQwcHg7XG4gIGhlaWdodDogNDBweDtcbiAgYm9yZGVyLXJhZGl1czogMjAlO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGNvbG9yOiAje2MuJG1kcy13aGl0ZX07XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGJveC1zaGFkb3c6XG4gICAgMHB4IDFweCA0cHggcmdiYSgwLCAwLCAwLCAwLjUpLFxuICAgIDBweCAwcHggMTBweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDUpO1xuXG4gIHN2ZyB7XG4gICAgd2lkdGg6IDI1cHg7XG4gICAgaGVpZ2h0OiAyNXB4O1xuICAgIGZpbGw6IGN1cnJlbnRDb2xvcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMTA7XG4gIH1cbn1cblxuLm1kcy1tb2RhbC1jb250ZW50IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxMDtcbn1cbiJdfQ== */","// Copyright (c) 2026 minimorphism\n// Component MobileModal\n\nimport React, { useRef, useState, useCallback, useId, useEffect } from \"react\";\nimport styles from \"./MobileModal.module.scss\";\nimport { registerWidget, unregisterWidget } from \"../../webgl/WebGLStore\";\nimport { Icons } from \"../Icons/Icons\";\n\nexport type MobileModalProps = {\n\topen: boolean;\n\tonClose: () => void;\n\ttitle: string;\n\tchildren: React.ReactNode;\n\n\ttitleClassName?: string;\n\tcapsuleClassName?: string;\n\tcloseButtonClassName?: string;\n};\n\nexport const MobileModal: React.FC<MobileModalProps> = ({\n\topen,\n\tonClose,\n\ttitle,\n\tchildren,\n\ttitleClassName,\n\tcapsuleClassName,\n\tcloseButtonClassName,\n}) => {\n\tconst bgRef = useRef<HTMLDivElement>(null);\n\tconst capsuleRef = useRef<HTMLDivElement>(null);\n\tconst iconRef = useRef<HTMLDivElement>(null);\n\tconst closeRef = useRef<HTMLButtonElement>(null);\n\n\tconst bgId = useId();\n\tconst capsuleId = useId();\n\tconst iconId = useId();\n\tconst closeId = useId();\n\n\tconst [shouldRender, setShouldRender] = useState(open);\n\tconst [animateIn, setAnimateIn] = useState(false);\n\n\tuseEffect(() => {\n\t\tif (open) {\n\t\t\tsetShouldRender(true);\n\t\t\trequestAnimationFrame(() =>\n\t\t\t\trequestAnimationFrame(() => setAnimateIn(true))\n\t\t\t);\n\t\t} else {\n\t\t\tsetAnimateIn(false);\n\t\t}\n\t}, [open]);\n\n\tconst handleTransitionEnd = () => {\n\t\tif (!open && !animateIn) setShouldRender(false);\n\t};\n\n\tuseEffect(() => {\n\t\tif (shouldRender) {\n\t\t\tregisterWidget(bgId, {\n\t\t\t\tid: bgId,\n\t\t\t\ttype: \"mobileModal\",\n\t\t\t\tref: bgRef,\n\t\t\t\tmouse: { x: 0, y: 0, hover: 0, click: 0 },\n\t\t\t\tpayload: { variant: \"black\" },\n\t\t\t\tlayout: {\n\t\t\t\t\tx: 0,\n\t\t\t\t\ty: 0,\n\t\t\t\t\twidth: 0,\n\t\t\t\t\theight: 0,\n\t\t\t\t\tvisualScale: 1,\n\t\t\t\t\tradius: 36,\n\t\t\t\t},\n\t\t\t});\n\n\t\t\tregisterWidget(capsuleId, {\n\t\t\t\tid: capsuleId,\n\t\t\t\ttype: \"box\",\n\t\t\t\tref: capsuleRef,\n\t\t\t\tmouse: { x: 0, y: 0, hover: 0, click: 0 },\n\t\t\t\tpayload: { variant: \"dark-gray\" },\n\t\t\t\tlayout: {\n\t\t\t\t\tx: 0,\n\t\t\t\t\ty: 0,\n\t\t\t\t\twidth: 0,\n\t\t\t\t\theight: 0,\n\t\t\t\t\tvisualScale: 1,\n\t\t\t\t\tradius: 40,\n\t\t\t\t},\n\t\t\t});\n\n\t\t\tregisterWidget(iconId, {\n\t\t\t\tid: iconId,\n\t\t\t\ttype: \"box\",\n\t\t\t\tref: iconRef,\n\t\t\t\tmouse: { x: 0, y: 0, hover: 0, click: 0 },\n\t\t\t\tpayload: { variant: \"anodized\" },\n\t\t\t\tlayout: {\n\t\t\t\t\tx: 0,\n\t\t\t\t\ty: 0,\n\t\t\t\t\twidth: 0,\n\t\t\t\t\theight: 0,\n\t\t\t\t\tvisualScale: 1,\n\t\t\t\t\tradius: 16,\n\t\t\t\t},\n\t\t\t});\n\n\t\t\tregisterWidget(closeId, {\n\t\t\t\tid: closeId,\n\t\t\t\ttype: \"box\",\n\t\t\t\tref: closeRef,\n\t\t\t\tmouse: { x: 0, y: 0, hover: 0, click: 0 },\n\t\t\t\tpayload: { variant: \"dark-gray\" },\n\t\t\t\tlayout: {\n\t\t\t\t\tx: 0,\n\t\t\t\t\ty: 0,\n\t\t\t\t\twidth: 0,\n\t\t\t\t\theight: 0,\n\t\t\t\t\tvisualScale: 1,\n\t\t\t\t\tradius: 22,\n\t\t\t\t},\n\t\t\t});\n\t\t}\n\n\t\treturn () => {\n\t\t\tunregisterWidget(bgId);\n\t\t\tunregisterWidget(capsuleId);\n\t\t\tunregisterWidget(iconId);\n\t\t\tunregisterWidget(closeId);\n\t\t};\n\t}, [shouldRender, bgId, capsuleId, iconId, closeId]);\n\n\tif (!shouldRender) return null;\n\n\treturn (\n\t\t<>\n\t\t\t<div\n\t\t\t\tclassName={`${styles[\"mds-modal-overlay\"]} ${animateIn ? styles[\"mds-modal-overlay--open\"] : \"\"}`}\n\t\t\t\tonClick={onClose}\n\t\t\t/>\n\t\t\t<div\n\t\t\t\tclassName={`${styles[\"mds-modal-wrapper\"]} gl-fade ${animateIn ? styles[\"mds-modal-wrapper--open\"] : \"\"}`}\n\t\t\t\tonTransitionEnd={handleTransitionEnd}\n\t\t\t>\n\t\t\t\t<div\n\t\t\t\t\tref={bgRef}\n\t\t\t\t\tclassName={`${styles[\"gl-widget\"]} ${styles[\"mds-modal-bg\"]}`}\n\t\t\t\t>\n\t\t\t\t\t<div className={styles[\"mds-modal-header\"]}>\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tref={capsuleRef}\n\t\t\t\t\t\t\tclassName={`${styles[\"gl-widget\"]} ${styles[\"mds-modal-capsule\"]} ${capsuleClassName || \"\"}`}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tref={iconRef}\n\t\t\t\t\t\t\t\tclassName={`${styles[\"gl-widget\"]} ${styles[\"mds-modal-capsule-icon\"]}`}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<Icons.Alert />\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\tclassName={`${styles[\"mds-modal-title\"]} ${titleClassName || \"\"}`}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{title}\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t<button\n\t\t\t\t\t\t\tref={closeRef}\n\t\t\t\t\t\t\tclassName={`${styles[\"gl-widget\"]} ${styles[\"mds-modal-close-btn\"]}`}\n\t\t\t\t\t\t\tonClick={onClose}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<Icons.CloseModal size={60} />\n\t\t\t\t\t\t</button>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<div className={styles[\"mds-modal-content\"]}>\n\t\t\t\t\t\t{children}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</>\n\t);\n};\n",".mds-stack {\n --stack-text-color: #000000;\n position: relative;\n display: flex;\n align-items: center;\n justify-content: center;\n border-radius: 18px;\n padding: 13px 80px;\n font-family: \"minimorphism\", sans-serif;\n background: transparent;\n will-change: box-shadow;\n font-size: 20px;\n}\n.mds-stack--white {\n --stack-text-color: #000000;\n box-shadow: 0px 0px 17px 11px rgba(200, 200, 200, 0.25);\n}\n.mds-stack--black {\n --stack-text-color: #ffffff;\n box-shadow: 0px 1px 4px rgba(0, 0, 0, 0.5), 0px 0px 10px rgba(255, 255, 255, 0.15);\n}\n.mds-stack--anodized {\n --stack-text-color: #000000;\n box-shadow: 0px 1px 4px rgba(0, 0, 0, 0.5), 0px 0px 10px rgba(255, 255, 255, 0.15);\n}\n.mds-stack--dark-gray {\n --stack-text-color: #ffffff;\n box-shadow: 0px 1px 4px rgba(0, 0, 0, 0.5), 0px 0px 10px rgba(255, 255, 255, 0.15);\n}\n\n.mds-stack-content {\n position: relative;\n z-index: 2;\n color: var(--stack-text-color) !important;\n}\n/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIlN0YWNrLm1vZHVsZS5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUtBO0VBQ0U7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNFO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBLFlBQ0U7O0FBSUo7RUFDRTtFQUNBLFlBQ0U7O0FBSUo7RUFDRTtFQUNBLFlBQ0U7OztBQUtOO0VBQ0U7RUFDQTtFQUNBIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IChjKSAyMDI2IG1pbmltb3JwaGlzbVxuLy8gU3R5bGVzIGZvciBTdGFja1xuXG5AdXNlIFwiLi4vLi4vc3R5bGVzL2NvbG9yc1wiIGFzIGM7XG5cbi5tZHMtc3RhY2sge1xuICAtLXN0YWNrLXRleHQtY29sb3I6ICN7Yy4kbWRzLWJsYWNrfTtcblxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBib3JkZXItcmFkaXVzOiAxOHB4O1xuICBwYWRkaW5nOiAxM3B4IDgwcHg7XG4gIGZvbnQtZmFtaWx5OiBcIm1pbmltb3JwaGlzbVwiLCBzYW5zLXNlcmlmO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgd2lsbC1jaGFuZ2U6IGJveC1zaGFkb3c7XG4gIGZvbnQtc2l6ZTogMjBweDtcblxuICAmLS13aGl0ZSB7XG4gICAgLS1zdGFjay10ZXh0LWNvbG9yOiAje2MuJG1kcy1ibGFja307XG4gICAgYm94LXNoYWRvdzogMHB4IDBweCAxN3B4IDExcHggcmdiYSgyMDAsIDIwMCwgMjAwLCAwLjI1KTtcbiAgfVxuXG4gICYtLWJsYWNrIHtcbiAgICAtLXN0YWNrLXRleHQtY29sb3I6ICN7Yy4kbWRzLXdoaXRlfTtcbiAgICBib3gtc2hhZG93OlxuICAgICAgMHB4IDFweCA0cHggcmdiYSgwLCAwLCAwLCAwLjUpLFxuICAgICAgMHB4IDBweCAxMHB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xNSk7XG4gIH1cblxuICAmLS1hbm9kaXplZCB7XG4gICAgLS1zdGFjay10ZXh0LWNvbG9yOiAje2MuJG1kcy1ibGFja307XG4gICAgYm94LXNoYWRvdzpcbiAgICAgIDBweCAxcHggNHB4IHJnYmEoMCwgMCwgMCwgMC41KSxcbiAgICAgIDBweCAwcHggMTBweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTUpO1xuICB9XG5cbiAgJi0tZGFyay1ncmF5IHtcbiAgICAtLXN0YWNrLXRleHQtY29sb3I6ICN7Yy4kbWRzLXdoaXRlfTtcbiAgICBib3gtc2hhZG93OlxuICAgICAgMHB4IDFweCA0cHggcmdiYSgwLCAwLCAwLCAwLjUpLFxuICAgICAgMHB4IDBweCAxMHB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xNSk7XG4gIH1cbn1cblxuLm1kcy1zdGFjay1jb250ZW50IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAyO1xuICBjb2xvcjogdmFyKC0tc3RhY2stdGV4dC1jb2xvcikgIWltcG9ydGFudDtcbn1cbiJdfQ== */","// Copyright (c) 2026 minimorphism\n// Component Stack\n\nimport React, { useRef, useCallback, useId, useEffect } from \"react\";\nimport styles from \"./Stack.module.scss\";\nimport { registerWidget, unregisterWidget } from \"../../webgl/WebGLStore\";\nimport type { Variant } from \"../../types\";\n\nexport type StackProps = React.HTMLAttributes<HTMLDivElement> & {\n\tvariant?: Variant;\n};\n\nexport const Stack = React.forwardRef<HTMLDivElement, StackProps>(\n\t({ variant = \"white\", className = \"\", children, ...rest }, externalRef) => {\n\t\tconst internalRef = useRef<HTMLDivElement | null>(null);\n\t\tconst id = useId();\n\t\tconst mouseRef = useRef({ x: 0, y: 0, hover: 0, click: 0 });\n\n\t\tconst handlePointerMove = useCallback((e: React.PointerEvent) => {\n\t\t\tif (!internalRef.current) return;\n\t\t\tconst rect = internalRef.current.getBoundingClientRect();\n\t\t\tmouseRef.current.x = e.clientX - rect.left;\n\t\t\tmouseRef.current.y = e.clientY - rect.top;\n\t\t}, []);\n\n\t\tuseEffect(() => {\n\t\t\tregisterWidget(id, {\n\t\t\t\tid,\n\t\t\t\ttype: \"stack\",\n\t\t\t\tref: internalRef,\n\t\t\t\tmouse: mouseRef.current,\n\t\t\t\tpayload: { variant },\n\t\t\t\tlayout: {\n\t\t\t\t\tx: 0,\n\t\t\t\t\ty: 0,\n\t\t\t\t\twidth: 0,\n\t\t\t\t\theight: 0,\n\t\t\t\t\tvisualScale: 1,\n\t\t\t\t\tradius: 10,\n\t\t\t\t},\n\t\t\t});\n\n\t\t\tconst node = internalRef.current;\n\t\t\tlet resizeObserver: ResizeObserver | null = null;\n\n\t\t\tif (node) {\n\t\t\t\tresizeObserver = new ResizeObserver(() => {\n\t\t\t\t\tif (\n\t\t\t\t\t\ttypeof window !== \"undefined\" &&\n\t\t\t\t\t\t(window as any).forceWebGLRender\n\t\t\t\t\t) {\n\t\t\t\t\t\t(window as any).forceWebGLRender(150, true);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\tresizeObserver.observe(node);\n\t\t\t}\n\n\t\t\treturn () => {\n\t\t\t\tif (resizeObserver) {\n\t\t\t\t\tresizeObserver.disconnect();\n\t\t\t\t}\n\t\t\t\tunregisterWidget(id);\n\t\t\t};\n\t\t}, [id, variant]);\n\n\t\tconst setRefs = useCallback(\n\t\t\t(node: HTMLDivElement | null) => {\n\t\t\t\tinternalRef.current = node;\n\t\t\t\tif (typeof externalRef === \"function\") externalRef(node);\n\t\t\t\telse if (externalRef) {\n\t\t\t\t\t(\n\t\t\t\t\t\texternalRef as React.MutableRefObject<HTMLDivElement | null>\n\t\t\t\t\t).current = node;\n\t\t\t\t}\n\t\t\t},\n\t\t\t[externalRef]\n\t\t);\n\n\t\treturn (\n\t\t\t<div\n\t\t\t\tref={setRefs}\n\t\t\t\tclassName={[\n\t\t\t\t\tstyles[\"mds-stack\"],\n\t\t\t\t\tstyles[`mds-stack--${variant}`],\n\t\t\t\t\tclassName,\n\t\t\t\t]\n\t\t\t\t\t.filter(Boolean)\n\t\t\t\t\t.join(\" \")}\n\t\t\t\tonPointerMove={handlePointerMove}\n\t\t\t\tonPointerEnter={() => {\n\t\t\t\t\tmouseRef.current.hover = 1;\n\t\t\t\t}}\n\t\t\t\tonPointerLeave={() => {\n\t\t\t\t\tmouseRef.current.hover = 0;\n\t\t\t\t\tmouseRef.current.click = 0;\n\t\t\t\t}}\n\t\t\t\t{...rest}\n\t\t\t>\n\t\t\t\t<div className={styles[\"mds-stack-content\"]}>{children}</div>\n\t\t\t</div>\n\t\t);\n\t}\n);\n",".mds-switch {\n position: relative;\n display: inline-flex;\n align-items: center;\n cursor: pointer;\n border-radius: 50px;\n user-select: none;\n -webkit-tap-highlight-color: transparent;\n}\n.mds-switch--sm {\n width: 54px;\n height: 26px;\n}\n.mds-switch--md {\n width: 73px;\n height: 34px;\n}\n.mds-switch--lg {\n width: 88px;\n height: 44px;\n}\n.mds-switch--disabled {\n cursor: not-allowed;\n opacity: 0.5;\n pointer-events: none;\n}\n\n.mds-switch__track {\n position: absolute;\n border-radius: 50px;\n transition: box-shadow 0.3s ease;\n}\n.mds-switch--sm .mds-switch__track {\n top: 3px;\n bottom: 3px;\n left: 3px;\n right: 3px;\n}\n.mds-switch--md .mds-switch__track {\n top: 3px;\n bottom: 3px;\n left: 4px;\n right: 4px;\n}\n.mds-switch--lg .mds-switch__track {\n top: 4px;\n bottom: 4px;\n left: 4px;\n right: 4px;\n}\n\n.mds-switch__thumb {\n position: absolute;\n border-radius: 50%;\n transition: transform 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);\n will-change: transform;\n}\n.mds-switch--sm .mds-switch__thumb {\n width: 26px;\n height: 26px;\n left: 0;\n}\n.mds-switch--md .mds-switch__thumb {\n width: 34px;\n height: 34px;\n left: 0;\n}\n.mds-switch--lg .mds-switch__thumb {\n width: 44px;\n height: 44px;\n left: 0;\n}\n\n.mds-switch--checked.mds-switch--sm .mds-switch__thumb {\n transform: translateX(28px);\n}\n.mds-switch--checked.mds-switch--md .mds-switch__thumb {\n transform: translateX(39px);\n}\n.mds-switch--checked.mds-switch--lg .mds-switch__thumb {\n transform: translateX(44px);\n}\n/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIlN3aXRjaC5tb2R1bGUuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFLQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUdGO0VBQ0U7RUFDQTtFQUNBOzs7QUFJSjtFQUNFO0VBQ0E7RUFDQTs7QUFFQTtFQUNFO0VBQ0E7RUFDQTtFQUNBOztBQUVGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7O0FBSUo7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNFO0VBQ0E7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7RUFDQTs7O0FBS0Y7RUFDRTs7QUFFRjtFQUNFOztBQUVGO0VBQ0UiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgKGMpIDIwMjYgbWluaW1vcnBoaXNtXG4vLyBTdHlsZXMgZm9yIFN3aXRjaFxuXG5AdXNlIFwiLi4vLi4vc3R5bGVzL2NvbG9yc1wiIGFzIGM7XG5cbi5tZHMtc3dpdGNoIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBib3JkZXItcmFkaXVzOiA1MHB4O1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcblxuICAmLS1zbSB7XG4gICAgd2lkdGg6IDU0cHg7XG4gICAgaGVpZ2h0OiAyNnB4O1xuICB9XG4gICYtLW1kIHtcbiAgICB3aWR0aDogNzNweDtcbiAgICBoZWlnaHQ6IDM0cHg7XG4gIH1cbiAgJi0tbGcge1xuICAgIHdpZHRoOiA4OHB4O1xuICAgIGhlaWdodDogNDRweDtcbiAgfVxuXG4gICYtLWRpc2FibGVkIHtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgIG9wYWNpdHk6IDAuNTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgfVxufVxuXG4ubWRzLXN3aXRjaF9fdHJhY2sge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvcmRlci1yYWRpdXM6IDUwcHg7XG4gIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC4zcyBlYXNlO1xuXG4gIC5tZHMtc3dpdGNoLS1zbSAmIHtcbiAgICB0b3A6IDNweDtcbiAgICBib3R0b206IDNweDtcbiAgICBsZWZ0OiAzcHg7XG4gICAgcmlnaHQ6IDNweDtcbiAgfVxuICAubWRzLXN3aXRjaC0tbWQgJiB7XG4gICAgdG9wOiAzcHg7XG4gICAgYm90dG9tOiAzcHg7XG4gICAgbGVmdDogNHB4O1xuICAgIHJpZ2h0OiA0cHg7XG4gIH1cbiAgLm1kcy1zd2l0Y2gtLWxnICYge1xuICAgIHRvcDogNHB4O1xuICAgIGJvdHRvbTogNHB4O1xuICAgIGxlZnQ6IDRweDtcbiAgICByaWdodDogNHB4O1xuICB9XG59XG5cbi5tZHMtc3dpdGNoX190aHVtYiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC40cyBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxLjI3NSk7XG4gIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm07XG5cbiAgLm1kcy1zd2l0Y2gtLXNtICYge1xuICAgIHdpZHRoOiAyNnB4O1xuICAgIGhlaWdodDogMjZweDtcbiAgICBsZWZ0OiAwO1xuICB9XG4gIC5tZHMtc3dpdGNoLS1tZCAmIHtcbiAgICB3aWR0aDogMzRweDtcbiAgICBoZWlnaHQ6IDM0cHg7XG4gICAgbGVmdDogMDtcbiAgfVxuICAubWRzLXN3aXRjaC0tbGcgJiB7XG4gICAgd2lkdGg6IDQ0cHg7XG4gICAgaGVpZ2h0OiA0NHB4O1xuICAgIGxlZnQ6IDA7XG4gIH1cbn1cblxuLm1kcy1zd2l0Y2gtLWNoZWNrZWQge1xuICAmLm1kcy1zd2l0Y2gtLXNtIC5tZHMtc3dpdGNoX190aHVtYiB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDI4cHgpO1xuICB9XG4gICYubWRzLXN3aXRjaC0tbWQgLm1kcy1zd2l0Y2hfX3RodW1iIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMzlweCk7XG4gIH1cbiAgJi5tZHMtc3dpdGNoLS1sZyAubWRzLXN3aXRjaF9fdGh1bWIge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg0NHB4KTtcbiAgfVxufVxuIl19 */","// Copyright (c) 2026 minimorphism\n// Component Switch.tsx\n\nimport React, { useRef, useCallback, useId, useEffect, useState } from \"react\";\nimport styles from \"./Switch.module.scss\";\nimport { registerWidget, unregisterWidget } from \"../../webgl/WebGLStore\";\n\nexport type SwitchTheme = \"white\" | \"black\" | \"anodized\" | \"dark-gray\";\nexport type SwitchSize = \"sm\" | \"md\" | \"lg\";\n\nexport type SwitchProps = Omit<\n\tReact.HTMLAttributes<HTMLDivElement>,\n\t\"onChange\"\n> & {\n\tvariant?: SwitchTheme;\n\tsize?: SwitchSize;\n\tchecked?: boolean;\n\tdefaultChecked?: boolean;\n\tonChange?: (checked: boolean) => void;\n\tdisabled?: boolean;\n};\n\nconst getVariantsMapping = (theme: SwitchTheme) => {\n\tswitch (theme) {\n\t\tcase \"white\":\n\t\t\treturn { track: \"white\", thumb: \"black\" };\n\t\tcase \"black\":\n\t\t\treturn { track: \"black\", thumb: \"white\" };\n\t\tcase \"anodized\":\n\t\t\treturn { track: \"anodized\", thumb: \"dark-gray\" };\n\t\tcase \"dark-gray\":\n\t\t\treturn { track: \"dark-gray\", thumb: \"black\" };\n\t\tdefault:\n\t\t\treturn { track: \"white\", thumb: \"black\" };\n\t}\n};\n\nexport const Switch = React.forwardRef<HTMLDivElement, SwitchProps>(\n\t(\n\t\t{\n\t\t\tvariant = \"white\",\n\t\t\tsize = \"md\",\n\t\t\tchecked,\n\t\t\tdefaultChecked = false,\n\t\t\tonChange,\n\t\t\tdisabled = false,\n\t\t\tclassName = \"\",\n\t\t\t...rest\n\t\t},\n\t\texternalRef\n\t) => {\n\t\tconst [internalChecked, setInternalChecked] = useState(defaultChecked);\n\t\tconst isChecked = checked !== undefined ? checked : internalChecked;\n\n\t\tconst baseId = useId();\n\t\tconst trackId = `${baseId}-track`;\n\t\tconst thumbId = `${baseId}-thumb`;\n\n\t\tconst trackRef = useRef<HTMLDivElement | null>(null);\n\t\tconst thumbRef = useRef<HTMLDivElement | null>(null);\n\n\t\tconst trackMouse = useRef({ x: 0, y: 0, hover: 0, click: 0 });\n\t\tconst thumbMouse = useRef({ x: 0, y: 0, hover: 0, click: 0 });\n\n\t\tconst partsVariants = getVariantsMapping(variant);\n\n\t\tconst triggerWebGLAnimation = useCallback(() => {\n\t\t\tif (\n\t\t\t\ttypeof window !== \"undefined\" &&\n\t\t\t\t(window as any).forceWebGLRender\n\t\t\t) {\n\t\t\t\t(window as any).forceWebGLRender(500, true);\n\t\t\t}\n\t\t}, []);\n\n\t\tuseEffect(() => {\n\t\t\ttriggerWebGLAnimation();\n\t\t}, [isChecked, triggerWebGLAnimation]);\n\n\t\tuseEffect(() => {\n\t\t\tregisterWidget(trackId, {\n\t\t\t\tid: trackId,\n\t\t\t\ttype: \"box\",\n\t\t\t\tref: trackRef,\n\t\t\t\tmouse: trackMouse.current,\n\t\t\t\tpayload: {\n\t\t\t\t\tvariant: partsVariants.track,\n\t\t\t\t\tdisabled,\n\t\t\t\t\tisBackdrop: true,\n\t\t\t\t},\n\t\t\t\tlayout: {\n\t\t\t\t\tx: 0,\n\t\t\t\t\ty: 0,\n\t\t\t\t\twidth: 0,\n\t\t\t\t\theight: 0,\n\t\t\t\t\tvisualScale: 1,\n\t\t\t\t\tradius: 999,\n\t\t\t\t},\n\t\t\t});\n\n\t\t\tregisterWidget(thumbId, {\n\t\t\t\tid: thumbId,\n\t\t\t\ttype: \"box\",\n\t\t\t\tref: thumbRef,\n\t\t\t\tmouse: thumbMouse.current,\n\t\t\t\tpayload: { variant: partsVariants.thumb, disabled },\n\t\t\t\tlayout: {\n\t\t\t\t\tx: 0,\n\t\t\t\t\ty: 0,\n\t\t\t\t\twidth: 0,\n\t\t\t\t\theight: 0,\n\t\t\t\t\tvisualScale: 1,\n\t\t\t\t\tradius: 999,\n\t\t\t\t},\n\t\t\t});\n\n\t\t\treturn () => {\n\t\t\t\tunregisterWidget(trackId);\n\t\t\t\tunregisterWidget(thumbId);\n\t\t\t};\n\t\t}, [\n\t\t\ttrackId,\n\t\t\tthumbId,\n\t\t\tpartsVariants.track,\n\t\t\tpartsVariants.thumb,\n\t\t\tdisabled,\n\t\t\tsize,\n\t\t]);\n\n\t\tconst handleToggle = useCallback(() => {\n\t\t\tif (disabled) return;\n\t\t\tconst newValue = !isChecked;\n\t\t\tif (checked === undefined) {\n\t\t\t\tsetInternalChecked(newValue);\n\t\t\t}\n\t\t\tonChange?.(newValue);\n\t\t\ttriggerWebGLAnimation();\n\t\t}, [disabled, isChecked, checked, onChange, triggerWebGLAnimation]);\n\n\t\tconst handleTrackMove = useCallback((e: React.PointerEvent) => {\n\t\t\tif (!trackRef.current) return;\n\t\t\tconst rect = trackRef.current.getBoundingClientRect();\n\t\t\ttrackMouse.current.x = e.clientX - rect.left;\n\t\t\ttrackMouse.current.y = e.clientY - rect.top;\n\t\t}, []);\n\n\t\tconst handleThumbMove = useCallback((e: React.PointerEvent) => {\n\t\t\tif (!thumbRef.current) return;\n\t\t\tconst rect = thumbRef.current.getBoundingClientRect();\n\t\t\tthumbMouse.current.x = e.clientX - rect.left;\n\t\t\tthumbMouse.current.y = e.clientY - rect.top;\n\t\t}, []);\n\n\t\tconst switchClasses = [\n\t\t\tstyles[\"mds-switch\"],\n\t\t\tstyles[`mds-switch--${size}`],\n\t\t\tisChecked && styles[\"mds-switch--checked\"],\n\t\t\tdisabled && styles[\"mds-switch--disabled\"],\n\t\t\tclassName,\n\t\t]\n\t\t\t.filter(Boolean)\n\t\t\t.join(\" \");\n\n\t\treturn (\n\t\t\t<div\n\t\t\t\tref={externalRef}\n\t\t\t\tclassName={switchClasses}\n\t\t\t\tonClick={handleToggle}\n\t\t\t\t{...rest}\n\t\t\t>\n\t\t\t\t<div\n\t\t\t\t\tref={trackRef}\n\t\t\t\t\tclassName={[\n\t\t\t\t\t\tstyles[\"mds-switch__track\"],\n\t\t\t\t\t\tstyles[`mds-switch__track--${partsVariants.track}`],\n\t\t\t\t\t].join(\" \")}\n\t\t\t\t\tonPointerMove={handleTrackMove}\n\t\t\t\t\tonPointerEnter={() => {\n\t\t\t\t\t\ttrackMouse.current.hover = 1;\n\t\t\t\t\t\ttriggerWebGLAnimation();\n\t\t\t\t\t}}\n\t\t\t\t\tonPointerLeave={() => {\n\t\t\t\t\t\ttrackMouse.current.hover = 0;\n\t\t\t\t\t\ttrackMouse.current.click = 0;\n\t\t\t\t\t}}\n\t\t\t\t\tonPointerDown={() => {\n\t\t\t\t\t\ttrackMouse.current.click = 1;\n\t\t\t\t\t}}\n\t\t\t\t\tonPointerUp={() => {\n\t\t\t\t\t\ttrackMouse.current.click = 0;\n\t\t\t\t\t}}\n\t\t\t\t/>\n\t\t\t\t<div\n\t\t\t\t\tref={thumbRef}\n\t\t\t\t\tclassName={[\n\t\t\t\t\t\tstyles[\"mds-switch__thumb\"],\n\t\t\t\t\t\tstyles[`mds-switch__thumb--${partsVariants.thumb}`],\n\t\t\t\t\t].join(\" \")}\n\t\t\t\t\tonPointerMove={handleThumbMove}\n\t\t\t\t\tonPointerEnter={() => {\n\t\t\t\t\t\tthumbMouse.current.hover = 1;\n\t\t\t\t\t\ttriggerWebGLAnimation();\n\t\t\t\t\t}}\n\t\t\t\t\tonPointerLeave={() => {\n\t\t\t\t\t\tthumbMouse.current.hover = 0;\n\t\t\t\t\t\tthumbMouse.current.click = 0;\n\t\t\t\t\t}}\n\t\t\t\t\tonPointerDown={() => {\n\t\t\t\t\t\tthumbMouse.current.click = 1;\n\t\t\t\t\t\ttriggerWebGLAnimation();\n\t\t\t\t\t}}\n\t\t\t\t\tonPointerUp={() => {\n\t\t\t\t\t\tthumbMouse.current.click = 0;\n\t\t\t\t\t\ttriggerWebGLAnimation();\n\t\t\t\t\t}}\n\t\t\t\t/>\n\t\t\t</div>\n\t\t);\n\t}\n);\n\nSwitch.displayName = \"Switch\";\n",".mds-typography {\n margin: 0;\n padding: 0;\n font-family: inherit;\n}\n.mds-typography--h1 {\n font-size: 2.5rem;\n line-height: 1.2;\n}\n.mds-typography--h2 {\n font-size: 2rem;\n line-height: 1.3;\n}\n.mds-typography--h3 {\n font-size: 1.75rem;\n line-height: 1.3;\n}\n.mds-typography--h4 {\n font-size: 1.5rem;\n line-height: 1.4;\n}\n.mds-typography--h5 {\n font-size: 1.25rem;\n line-height: 1.4;\n}\n.mds-typography--h6 {\n font-size: 1.125rem;\n line-height: 1.4;\n}\n.mds-typography--subtitle1 {\n font-size: 1rem;\n line-height: 1.5;\n}\n.mds-typography--subtitle2 {\n font-size: 0.875rem;\n line-height: 1.5;\n}\n.mds-typography--body1 {\n font-size: 1rem;\n line-height: 1.5;\n}\n.mds-typography--body2 {\n font-size: 0.875rem;\n line-height: 1.5;\n}\n.mds-typography--caption {\n font-size: 0.75rem;\n line-height: 1.4;\n}\n.mds-typography--overline {\n font-size: 0.75rem;\n line-height: 2.66;\n text-transform: uppercase;\n}\n.mds-typography--button {\n font-size: 0.875rem;\n line-height: 1.75;\n text-transform: uppercase;\n}\n.mds-typography--link {\n font-size: inherit;\n cursor: pointer;\n text-decoration: underline;\n}\n.mds-typography--color-black {\n color: #000000;\n}\n.mds-typography--color-white {\n color: #ffffff;\n}\n.mds-typography--color-grey {\n color: #757575;\n}\n.mds-typography--color-primary {\n color: #1976d2;\n}\n.mds-typography--color-error {\n color: #d32f2f;\n}\n.mds-typography--color-inherit {\n color: inherit;\n}\n.mds-typography--weight-light {\n font-weight: 300;\n}\n.mds-typography--weight-normal {\n font-weight: 400;\n -webkit-text-stroke: 0 transparent;\n}\n.mds-typography--weight-medium {\n font-weight: 500;\n -webkit-text-stroke: 0.3px currentColor;\n}\n.mds-typography--weight-semibold {\n font-weight: 600;\n -webkit-text-stroke: 0.6px currentColor;\n}\n.mds-typography--weight-bold {\n font-weight: 700;\n -webkit-text-stroke: 1px currentColor;\n}\n.mds-typography--align-left {\n text-align: left;\n}\n.mds-typography--align-center {\n text-align: center;\n}\n.mds-typography--align-right {\n text-align: right;\n}\n.mds-typography--align-justify {\n text-align: justify;\n}\n.mds-typography--transform-uppercase {\n text-transform: uppercase;\n}\n.mds-typography--transform-lowercase {\n text-transform: lowercase;\n}\n.mds-typography--transform-capitalize {\n text-transform: capitalize;\n}\n.mds-typography--gutter-bottom {\n margin-bottom: 0.35em;\n}\n.mds-typography--no-wrap {\n white-space: nowrap;\n}\n.mds-typography--truncate {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n.mds-typography--italic {\n font-style: oblique 12deg;\n}\n.mds-typography--underline {\n text-decoration: underline;\n}\n.mds-typography--strikethrough {\n text-decoration: line-through;\n}\n.mds-typography--underline.mds-typography--strikethrough {\n text-decoration: underline line-through;\n}\n/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIlR5cG9ncmFwaHkubW9kdWxlLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0E7RUFDRTtFQUNBO0VBQ0E7O0FBRUE7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7RUFDQTs7QUFHRjtFQUNFOztBQUVGO0VBQ0U7O0FBRUY7RUFDRTs7QUFFRjtFQUNFOztBQUVGO0VBQ0U7O0FBRUY7RUFDRTs7QUFHRjtFQUNFOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFHRjtFQUNFOztBQUVGO0VBQ0U7O0FBRUY7RUFDRTs7QUFFRjtFQUNFOztBQUdGO0VBQ0U7O0FBRUY7RUFDRTs7QUFFRjtFQUNFOztBQUdGO0VBQ0U7O0FBRUY7RUFDRTs7QUFFRjtFQUNFO0VBQ0E7RUFDQTs7QUFHRjtFQUNFOztBQUVGO0VBQ0U7O0FBRUY7RUFDRTs7QUFHRjtFQUNFIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IChjKSAyMDI2IG1pbmltb3JwaGlzbVxuLy8gU3R5bGVzIGZvciBUeXBvZ3JhcGh5XG5cbi5tZHMtdHlwb2dyYXBoeSB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG5cbiAgJi0taDEge1xuICAgIGZvbnQtc2l6ZTogMi41cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gIH1cbiAgJi0taDIge1xuICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICBsaW5lLWhlaWdodDogMS4zO1xuICB9XG4gICYtLWgzIHtcbiAgICBmb250LXNpemU6IDEuNzVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMztcbiAgfVxuICAmLS1oNCB7XG4gICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgfVxuICAmLS1oNSB7XG4gICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIH1cbiAgJi0taDYge1xuICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgfVxuICAmLS1zdWJ0aXRsZTEge1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS41O1xuICB9XG4gICYtLXN1YnRpdGxlMiB7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS41O1xuICB9XG4gICYtLWJvZHkxIHtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgfVxuICAmLS1ib2R5MiB7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS41O1xuICB9XG4gICYtLWNhcHRpb24ge1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS40O1xuICB9XG4gICYtLW92ZXJsaW5lIHtcbiAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDIuNjY7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgfVxuICAmLS1idXR0b24ge1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNzU7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgfVxuICAmLS1saW5rIHtcbiAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICB9XG5cbiAgJi0tY29sb3ItYmxhY2sge1xuICAgIGNvbG9yOiAjMDAwMDAwO1xuICB9XG4gICYtLWNvbG9yLXdoaXRlIHtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgfVxuICAmLS1jb2xvci1ncmV5IHtcbiAgICBjb2xvcjogIzc1NzU3NTtcbiAgfVxuICAmLS1jb2xvci1wcmltYXJ5IHtcbiAgICBjb2xvcjogIzE5NzZkMjtcbiAgfVxuICAmLS1jb2xvci1lcnJvciB7XG4gICAgY29sb3I6ICNkMzJmMmY7XG4gIH1cbiAgJi0tY29sb3ItaW5oZXJpdCB7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gIH1cblxuICAmLS13ZWlnaHQtbGlnaHQge1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIH1cbiAgJi0td2VpZ2h0LW5vcm1hbCB7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAtd2Via2l0LXRleHQtc3Ryb2tlOiAwIHRyYW5zcGFyZW50O1xuICB9XG4gICYtLXdlaWdodC1tZWRpdW0ge1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgLXdlYmtpdC10ZXh0LXN0cm9rZTogMC4zcHggY3VycmVudENvbG9yO1xuICB9XG4gICYtLXdlaWdodC1zZW1pYm9sZCB7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAtd2Via2l0LXRleHQtc3Ryb2tlOiAwLjZweCBjdXJyZW50Q29sb3I7XG4gIH1cbiAgJi0td2VpZ2h0LWJvbGQge1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgLXdlYmtpdC10ZXh0LXN0cm9rZTogMXB4IGN1cnJlbnRDb2xvcjtcbiAgfVxuXG4gICYtLWFsaWduLWxlZnQge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gIH1cbiAgJi0tYWxpZ24tY2VudGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbiAgJi0tYWxpZ24tcmlnaHQge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICB9XG4gICYtLWFsaWduLWp1c3RpZnkge1xuICAgIHRleHQtYWxpZ246IGp1c3RpZnk7XG4gIH1cblxuICAmLS10cmFuc2Zvcm0tdXBwZXJjYXNlIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB9XG4gICYtLXRyYW5zZm9ybS1sb3dlcmNhc2Uge1xuICAgIHRleHQtdHJhbnNmb3JtOiBsb3dlcmNhc2U7XG4gIH1cbiAgJi0tdHJhbnNmb3JtLWNhcGl0YWxpemUge1xuICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuICB9XG5cbiAgJi0tZ3V0dGVyLWJvdHRvbSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC4zNWVtO1xuICB9XG4gICYtLW5vLXdyYXAge1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIH1cbiAgJi0tdHJ1bmNhdGUge1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgfVxuXG4gICYtLWl0YWxpYyB7XG4gICAgZm9udC1zdHlsZTogb2JsaXF1ZSAxMmRlZztcbiAgfVxuICAmLS11bmRlcmxpbmUge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICB9XG4gICYtLXN0cmlrZXRocm91Z2gge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbGluZS10aHJvdWdoO1xuICB9XG5cbiAgJi0tdW5kZXJsaW5lI3smfS0tc3RyaWtldGhyb3VnaCB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgbGluZS10aHJvdWdoO1xuICB9XG59XG4iXX0= */","// Copyright (c) 2026 minimorphism\n// Component Typography\n\nimport React from \"react\";\nimport styles from \"./Typography.module.scss\";\n\nexport type TypographyVariant =\n\t| \"h1\"\n\t| \"h2\"\n\t| \"h3\"\n\t| \"h4\"\n\t| \"h5\"\n\t| \"h6\"\n\t| \"subtitle1\"\n\t| \"subtitle2\"\n\t| \"body1\"\n\t| \"body2\"\n\t| \"caption\"\n\t| \"overline\"\n\t| \"button\"\n\t| \"link\";\n\nexport type TypographyWeight =\n\t| \"light\"\n\t| \"normal\"\n\t| \"medium\"\n\t| \"semibold\"\n\t| \"bold\";\nexport type TypographyAlign = \"left\" | \"center\" | \"right\" | \"justify\";\nexport type TypographyTransform =\n\t| \"none\"\n\t| \"uppercase\"\n\t| \"lowercase\"\n\t| \"capitalize\";\nexport type TypographyColor =\n\t| \"inherit\"\n\t| \"black\"\n\t| \"white\"\n\t| \"grey\"\n\t| \"primary\"\n\t| \"error\";\n\nexport type TypographyProps = React.HTMLAttributes<HTMLElement> & {\n\tvariant?: TypographyVariant;\n\tcomponent?: React.ElementType;\n\tcolor?: TypographyColor;\n\tweight?: TypographyWeight;\n\talign?: TypographyAlign;\n\ttransform?: TypographyTransform;\n\tgutterBottom?: boolean;\n\tnoWrap?: boolean;\n\ttruncate?: boolean;\n\titalic?: boolean;\n\tunderline?: boolean;\n\tstrikethrough?: boolean;\n};\n\nconst variantMapping: Record<TypographyVariant, React.ElementType> = {\n\th1: \"h1\",\n\th2: \"h2\",\n\th3: \"h3\",\n\th4: \"h4\",\n\th5: \"h5\",\n\th6: \"h6\",\n\tsubtitle1: \"h6\",\n\tsubtitle2: \"h6\",\n\tbody1: \"p\",\n\tbody2: \"p\",\n\tcaption: \"span\",\n\toverline: \"span\",\n\tbutton: \"span\",\n\tlink: \"span\",\n};\n\nexport const Typography = React.forwardRef<HTMLElement, TypographyProps>(\n\t(\n\t\t{\n\t\t\tvariant = \"body1\",\n\t\t\tcomponent,\n\t\t\tcolor = \"black\",\n\t\t\tweight,\n\t\t\talign,\n\t\t\ttransform = \"none\",\n\t\t\tgutterBottom = false,\n\t\t\tnoWrap = false,\n\t\t\ttruncate = false,\n\t\t\titalic = false,\n\t\t\tunderline = false,\n\t\t\tstrikethrough = false,\n\t\t\tclassName = \"\",\n\t\t\tchildren,\n\t\t\tstyle,\n\t\t\t...rest\n\t\t},\n\t\tref\n\t) => {\n\t\tconst Component = component || variantMapping[variant] || \"span\";\n\n\t\tconst typographyClasses = [\n\t\t\tstyles[\"mds-typography\"],\n\t\t\tstyles[`mds-typography--${variant}`],\n\t\t\tstyles[`mds-typography--color-${color}`],\n\t\t\tweight ? styles[`mds-typography--weight-${weight}`] : undefined,\n\t\t\talign ? styles[`mds-typography--align-${align}`] : undefined,\n\t\t\ttransform !== \"none\"\n\t\t\t\t? styles[`mds-typography--transform-${transform}`]\n\t\t\t\t: undefined,\n\t\t\tgutterBottom ? styles[\"mds-typography--gutter-bottom\"] : undefined,\n\t\t\tnoWrap ? styles[\"mds-typography--no-wrap\"] : undefined,\n\t\t\ttruncate ? styles[\"mds-typography--truncate\"] : undefined,\n\t\t\titalic ? styles[\"mds-typography--italic\"] : undefined,\n\t\t\tunderline ? styles[\"mds-typography--underline\"] : undefined,\n\t\t\tstrikethrough ? styles[\"mds-typography--strikethrough\"] : undefined,\n\t\t\tclassName,\n\t\t]\n\t\t\t.filter(Boolean)\n\t\t\t.join(\" \");\n\n\t\treturn (\n\t\t\t<Component\n\t\t\t\tref={ref}\n\t\t\t\tclassName={typographyClasses}\n\t\t\t\tstyle={style}\n\t\t\t\t{...rest}\n\t\t\t>\n\t\t\t\t{children}\n\t\t\t</Component>\n\t\t);\n\t}\n);\n\nTypography.displayName = \"Typography\";\n",".mds-input-container {\n --input-text-color: #000000;\n position: relative;\n display: inline-flex;\n align-items: center;\n border-radius: 20px;\n padding: 12px 12px;\n border: 0px solid transparent;\n cursor: text;\n font-family: \"minimorphism\";\n background: transparent;\n color: var(--input-text-color);\n -webkit-tap-highlight-color: transparent;\n box-sizing: border-box;\n width: 100%;\n transition: none;\n will-change: auto;\n}\n.mds-input-container--white {\n --input-text-color: #000000;\n box-shadow: 0px 0px 17px 11px rgba(203, 203, 203, 0.25);\n}\n.mds-input-container--black {\n --input-text-color: #ffffff;\n box-shadow: 0px 1px 4px rgba(0, 0, 0, 0.5), 0px 0px 10px rgba(255, 255, 255, 0.15);\n}\n.mds-input-container--anodized {\n --input-text-color: #000000;\n box-shadow: 0px 1px 4px rgba(0, 0, 0, 0.15);\n}\n.mds-input-container--dark-gray {\n --input-text-color: #ffffff;\n box-shadow: 0px 1px 4px rgba(0, 0, 0, 0.5), 0px 0px 10px rgba(255, 255, 255, 0.15);\n}\n.mds-input-container--disabled {\n --input-text-color: #ffffff;\n box-shadow: 0px 2px 5px rgba(0, 0, 0, 0.05);\n cursor: not-allowed;\n pointer-events: none;\n opacity: 0.8;\n}\n.mds-input-container--disabled .mds-input-field::placeholder {\n opacity: 1;\n}\n.mds-input-container--sm {\n padding: 10px 10px;\n border-radius: 16px;\n}\n.mds-input-container--lg {\n padding: 14px 14px;\n border-radius: 18px;\n}\n\n.mds-input-field {\n flex: 1 1 auto;\n width: 100%;\n min-width: 0;\n background: transparent;\n border: none;\n outline: none;\n color: var(--input-text-color);\n font-family: inherit;\n font-size: 1.5em;\n padding: 0;\n margin: 0;\n text-align: left;\n letter-spacing: 1.5px;\n}\n.mds-input-field::placeholder {\n color: var(--input-text-color);\n opacity: 0.1;\n}\n.mds-input-field--password {\n padding-right: 40px;\n}\n\n.mds-input-container--sm .mds-input-field {\n font-size: 18px;\n}\n\n.mds-input-container--lg .mds-input-field {\n font-size: 32px;\n}\n\n.mds-input-eye {\n position: absolute;\n right: 8px;\n top: 50%;\n transform: translateY(-50%);\n background: transparent;\n border: none;\n color: var(--input-text-color);\n width: 40px;\n height: 40px;\n padding: 0;\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: center;\n opacity: 0.7;\n transition: opacity 0.2s ease;\n outline: none;\n}\n.mds-input-eye:hover {\n opacity: 1;\n}\n\n.mds-input-container--multiline {\n align-items: flex-start;\n}\n.mds-input-container--multiline .mds-input-field {\n resize: none;\n overflow: hidden;\n line-height: 1.5;\n min-height: 100px;\n padding-bottom: 14px;\n}\n\n.mds-input-container--with-icon {\n position: relative;\n}\n\n.mds-input-icon {\n position: absolute;\n left: 16px;\n top: 50%;\n transform: translateY(-50%);\n display: flex;\n align-items: center;\n justify-content: center;\n pointer-events: none;\n z-index: 2;\n}\n\n.mds-input-field--with-icon {\n padding-left: 44px;\n}\n/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIklucHV0Lm1vZHVsZS5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUtBO0VBQ0U7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7O0FBRUE7RUFDRTtFQUNBOztBQUdGO0VBQ0U7RUFDQSxZQUNFOztBQUlKO0VBQ0U7RUFDQTs7QUFHRjtFQUNFO0VBQ0EsWUFDRTs7QUFJSjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBQ0E7RUFDRTs7QUFJSjtFQUNFO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBOzs7QUFJSjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0U7RUFDQTs7QUFHRjtFQUNFOzs7QUFJSjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDRTs7O0FBSUo7RUFDRTs7QUFFQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUlKO0VBQ0U7OztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtFQUNFIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IChjKSAyMDI2IG1pbmltb3JwaGlzbVxuLy8gU3R5bGVzIGZvciBJbnB1dC50c3hcblxuQHVzZSBcIi4uLy4uL3N0eWxlcy9jb2xvcnNcIiBhcyBjO1xuXG4ubWRzLWlucHV0LWNvbnRhaW5lciB7XG4gIC0taW5wdXQtdGV4dC1jb2xvcjogI3tjLiRtZHMtYmxhY2t9O1xuXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGJvcmRlci1yYWRpdXM6IDIwcHg7XG4gIHBhZGRpbmc6IDEycHggMTJweDtcbiAgYm9yZGVyOiAwcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGN1cnNvcjogdGV4dDtcbiAgZm9udC1mYW1pbHk6IFwibWluaW1vcnBoaXNtXCI7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogdmFyKC0taW5wdXQtdGV4dC1jb2xvcik7XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHdpZHRoOiAxMDAlO1xuXG4gIHRyYW5zaXRpb246IG5vbmU7XG4gIHdpbGwtY2hhbmdlOiBhdXRvO1xuXG4gICYtLXdoaXRlIHtcbiAgICAtLWlucHV0LXRleHQtY29sb3I6ICN7Yy4kbWRzLWJsYWNrfTtcbiAgICBib3gtc2hhZG93OiAwcHggMHB4IDE3cHggMTFweCByZ2JhKDIwMywgMjAzLCAyMDMsIDAuMjUpO1xuICB9XG5cbiAgJi0tYmxhY2sge1xuICAgIC0taW5wdXQtdGV4dC1jb2xvcjogI3tjLiRtZHMtd2hpdGV9O1xuICAgIGJveC1zaGFkb3c6XG4gICAgICAwcHggMXB4IDRweCByZ2JhKDAsIDAsIDAsIDAuNSksXG4gICAgICAwcHggMHB4IDEwcHggcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE1KTtcbiAgfVxuXG4gICYtLWFub2RpemVkIHtcbiAgICAtLWlucHV0LXRleHQtY29sb3I6ICN7Yy4kbWRzLWJsYWNrfTtcbiAgICBib3gtc2hhZG93OiAwcHggMXB4IDRweCByZ2JhKDAsIDAsIDAsIDAuMTUpO1xuICB9XG5cbiAgJi0tZGFyay1ncmF5IHtcbiAgICAtLWlucHV0LXRleHQtY29sb3I6ICN7Yy4kbWRzLXdoaXRlfTtcbiAgICBib3gtc2hhZG93OlxuICAgICAgMHB4IDFweCA0cHggcmdiYSgwLCAwLCAwLCAwLjUpLFxuICAgICAgMHB4IDBweCAxMHB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xNSk7XG4gIH1cblxuICAmLS1kaXNhYmxlZCB7XG4gICAgLS1pbnB1dC10ZXh0LWNvbG9yOiAjZmZmZmZmO1xuICAgIGJveC1zaGFkb3c6IDBweCAycHggNXB4IHJnYmEoMCwgMCwgMCwgMC4wNSk7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBvcGFjaXR5OiAwLjg7XG4gICAgLm1kcy1pbnB1dC1maWVsZDo6cGxhY2Vob2xkZXIge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG4gIH1cblxuICAmLS1zbSB7XG4gICAgcGFkZGluZzogMTBweCAxMHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDE2cHg7XG4gIH1cblxuICAmLS1sZyB7XG4gICAgcGFkZGluZzogMTRweCAxNHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDE4cHg7XG4gIH1cbn1cblxuLm1kcy1pbnB1dC1maWVsZCB7XG4gIGZsZXg6IDEgMSBhdXRvO1xuICB3aWR0aDogMTAwJTtcbiAgbWluLXdpZHRoOiAwO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiBub25lO1xuICBvdXRsaW5lOiBub25lO1xuICBjb2xvcjogdmFyKC0taW5wdXQtdGV4dC1jb2xvcik7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBmb250LXNpemU6IDEuNWVtO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGxldHRlci1zcGFjaW5nOiAxLjVweDtcblxuICAmOjpwbGFjZWhvbGRlciB7XG4gICAgY29sb3I6IHZhcigtLWlucHV0LXRleHQtY29sb3IpO1xuICAgIG9wYWNpdHk6IDAuMTtcbiAgfVxuXG4gICYtLXBhc3N3b3JkIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiA0MHB4O1xuICB9XG59XG5cbi5tZHMtaW5wdXQtY29udGFpbmVyLS1zbSAubWRzLWlucHV0LWZpZWxkIHtcbiAgZm9udC1zaXplOiAxOHB4O1xufVxuLm1kcy1pbnB1dC1jb250YWluZXItLWxnIC5tZHMtaW5wdXQtZmllbGQge1xuICBmb250LXNpemU6IDMycHg7XG59XG5cbi5tZHMtaW5wdXQtZXllIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogOHB4O1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiBub25lO1xuICBjb2xvcjogdmFyKC0taW5wdXQtdGV4dC1jb2xvcik7XG4gIHdpZHRoOiA0MHB4O1xuICBoZWlnaHQ6IDQwcHg7XG4gIHBhZGRpbmc6IDA7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIG9wYWNpdHk6IDAuNztcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGVhc2U7XG4gIG91dGxpbmU6IG5vbmU7XG5cbiAgJjpob3ZlciB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG4ubWRzLWlucHV0LWNvbnRhaW5lci0tbXVsdGlsaW5lIHtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG5cbiAgLm1kcy1pbnB1dC1maWVsZCB7XG4gICAgcmVzaXplOiBub25lO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICBtaW4taGVpZ2h0OiAxMDBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTRweDtcbiAgfVxufVxuXG4ubWRzLWlucHV0LWNvbnRhaW5lci0td2l0aC1pY29uIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4ubWRzLWlucHV0LWljb24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDE2cHg7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgei1pbmRleDogMjtcbn1cblxuLm1kcy1pbnB1dC1maWVsZC0td2l0aC1pY29uIHtcbiAgcGFkZGluZy1sZWZ0OiA0NHB4O1xufVxuIl19 */","// Copyright (c) 2026 minimorphism\n// Component Input\n\nimport React, { useRef, useState, useCallback, useId, useEffect } from \"react\";\nimport styles from \"./Input.module.scss\";\nimport { registerWidget, unregisterWidget } from \"../../webgl/WebGLStore\";\nimport { Icons } from \"../Icons/Icons\";\nimport type { Variant } from \"../../types\";\n\nexport type InputProps = React.InputHTMLAttributes<HTMLInputElement> &\n\tReact.TextareaHTMLAttributes<HTMLTextAreaElement> & {\n\t\tvariant?: Variant;\n\t\tsize?: \"sm\" | \"md\" | \"lg\";\n\t\tisPassword?: boolean;\n\t\tmultiline?: boolean;\n\t\ticon?: React.ReactNode;\n\t};\n\nexport const Input = React.forwardRef<\n\tHTMLInputElement | HTMLTextAreaElement,\n\tInputProps\n>(\n\t(\n\t\t{\n\t\t\tvariant = \"white\",\n\t\t\tsize = \"md\",\n\t\t\tclassName = \"\",\n\t\t\tisPassword,\n\t\t\tmultiline,\n\t\t\tdisabled,\n\t\t\ticon,\n\t\t\t...rest\n\t\t},\n\t\texternalRef\n\t) => {\n\t\tconst containerRef = useRef<HTMLDivElement>(null);\n\t\tconst inputRef = useRef<HTMLInputElement | HTMLTextAreaElement>(null);\n\t\tconst id = useId();\n\n\t\tconst [showPassword, setShowPassword] = useState(false);\n\t\tconst [mouseState, setMouseState] = useState({\n\t\t\tx: 0,\n\t\t\ty: 0,\n\t\t\thover: 0,\n\t\t\tclick: 0,\n\t\t});\n\n\t\tconst handleMouseMove = useCallback((e: React.MouseEvent) => {\n\t\t\tif (!containerRef.current) return;\n\t\t\tconst rect = containerRef.current.getBoundingClientRect();\n\t\t\tsetMouseState((p) => ({\n\t\t\t\t...p,\n\t\t\t\tx: e.clientX - rect.left,\n\t\t\t\ty: e.clientY - rect.top,\n\t\t\t}));\n\t\t}, []);\n\n\t\tuseEffect(() => {\n\t\t\tregisterWidget(id, {\n\t\t\t\tid,\n\t\t\t\ttype: \"input\",\n\t\t\t\tref: containerRef,\n\t\t\t\tmouse: mouseState,\n\t\t\t\tpayload: {\n\t\t\t\t\tvariant,\n\t\t\t\t\tdisabled: !!disabled,\n\t\t\t\t\tmultiline: !!multiline,\n\t\t\t\t},\n\t\t\t\tlayout: {\n\t\t\t\t\tx: 0,\n\t\t\t\t\ty: 0,\n\t\t\t\t\twidth: 0,\n\t\t\t\t\theight: 0,\n\t\t\t\t\tvisualScale: 1,\n\t\t\t\t\tradius: 20,\n\t\t\t\t},\n\t\t\t});\n\n\t\t\treturn () => {\n\t\t\t\tunregisterWidget(id);\n\t\t\t};\n\t\t}, [id, variant, mouseState, disabled, multiline]);\n\n\t\tconst setRefs = useCallback(\n\t\t\t(node: HTMLInputElement | HTMLTextAreaElement | null) => {\n\t\t\t\t// @ts-ignore\n\t\t\t\tinputRef.current = node;\n\t\t\t\tif (typeof externalRef === \"function\") externalRef(node);\n\t\t\t\telse if (externalRef) {\n\t\t\t\t\t(\n\t\t\t\t\t\texternalRef as React.MutableRefObject<\n\t\t\t\t\t\t\tHTMLInputElement | HTMLTextAreaElement | null\n\t\t\t\t\t\t>\n\t\t\t\t\t).current = node;\n\t\t\t\t}\n\t\t\t},\n\t\t\t[externalRef]\n\t\t);\n\n\t\treturn (\n\t\t\t<div\n\t\t\t\tref={containerRef}\n\t\t\t\tclassName={[\n\t\t\t\t\tstyles[\"mds-input-container\"],\n\t\t\t\t\tdisabled\n\t\t\t\t\t\t? styles[\"mds-input-container--disabled\"]\n\t\t\t\t\t\t: styles[`mds-input-container--${variant}`],\n\t\t\t\t\tsize !== \"md\" && styles[`mds-input-container--${size}`],\n\t\t\t\t\tmultiline && styles[\"mds-input-container--multiline\"],\n\t\t\t\t\ticon && styles[\"mds-input-container--with-icon\"],\n\t\t\t\t\tclassName,\n\t\t\t\t]\n\t\t\t\t\t.filter(Boolean)\n\t\t\t\t\t.join(\" \")}\n\t\t\t\tonMouseMove={handleMouseMove}\n\t\t\t\tonMouseEnter={() => setMouseState((p) => ({ ...p, hover: 1 }))}\n\t\t\t\tonMouseLeave={() =>\n\t\t\t\t\tsetMouseState((p) => ({ ...p, hover: 0, click: 0 }))\n\t\t\t\t}\n\t\t\t\tonMouseDown={() => setMouseState((p) => ({ ...p, click: 1 }))}\n\t\t\t\tonMouseUp={() => setMouseState((p) => ({ ...p, click: 0 }))}\n\t\t\t>\n\t\t\t\t{icon && (\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName={styles[\"mds-input-icon\"]}\n\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{icon}\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\n\t\t\t\t{multiline ? (\n\t\t\t\t\t<textarea\n\t\t\t\t\t\tref={setRefs as React.Ref<HTMLTextAreaElement>}\n\t\t\t\t\t\tclassName={[\n\t\t\t\t\t\t\tstyles[\"mds-input-field\"],\n\t\t\t\t\t\t\ticon && styles[\"mds-input-field--with-icon\"],\n\t\t\t\t\t\t]\n\t\t\t\t\t\t\t.filter(Boolean)\n\t\t\t\t\t\t\t.join(\" \")}\n\t\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\t\t{...rest}\n\t\t\t\t\t/>\n\t\t\t\t) : (\n\t\t\t\t\t<input\n\t\t\t\t\t\tref={setRefs as React.Ref<HTMLInputElement>}\n\t\t\t\t\t\ttype={\n\t\t\t\t\t\t\tisPassword && !showPassword\n\t\t\t\t\t\t\t\t? \"password\"\n\t\t\t\t\t\t\t\t: rest.type || \"text\"\n\t\t\t\t\t\t}\n\t\t\t\t\t\tclassName={[\n\t\t\t\t\t\t\tstyles[\"mds-input-field\"],\n\t\t\t\t\t\t\tisPassword && styles[\"mds-input-field--password\"],\n\t\t\t\t\t\t\ticon && styles[\"mds-input-field--with-icon\"],\n\t\t\t\t\t\t]\n\t\t\t\t\t\t\t.filter(Boolean)\n\t\t\t\t\t\t\t.join(\" \")}\n\t\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\t\t{...rest}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\n\t\t\t\t{isPassword && !multiline && (\n\t\t\t\t\t<button\n\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\tclassName={styles[\"mds-input-eye\"]}\n\t\t\t\t\t\tonClick={(e) => {\n\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\tsetShowPassword(!showPassword);\n\t\t\t\t\t\t}}\n\t\t\t\t\t\ttabIndex={-1}\n\t\t\t\t\t>\n\t\t\t\t\t\t{showPassword ? (\n\t\t\t\t\t\t\t<Icons.EyeOpenIcon size={33} />\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<Icons.EyeClosedIcon size={33} />\n\t\t\t\t\t\t)}\n\t\t\t\t\t</button>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t);\n\t}\n);\n\nInput.displayName = \"Input\";\n"]}