import "./TagGroup.css";
import {ActionButton as $da878a05ab4a403e$export$cfc7921d29ef7b80} from "./ActionButton.mjs";
import $e17a4836f4b6cc28$export$2e2bcd8739ae039 from "../icons/AlertTriangle.mjs";
import {AvatarContext as $3ffa2cd930156220$export$a20dad690e1279e2} from "./Avatar.mjs";
import {centerBaseline as $1f4b04be3f24aae3$export$9d7e2342a7e53afa, CenterBaseline as $1f4b04be3f24aae3$export$768dac55bb57081d} from "./CenterBaseline.mjs";
import {ClearButton as $f6a62e6e68437458$export$13ec83e50bf04290} from "./ClearButton.mjs";
import {FieldLabel as $9afd80978c252040$export$1acdcf5a973a8414, helpTextStyles as $9afd80978c252040$export$13b1fd5431595bf6} from "./Field.mjs";
import {FormContext as $9b916426527cebe7$export$c24727297075ec6a, useFormProps as $9b916426527cebe7$export$a6b5be5c6b451665} from "./Form.mjs";
import {IconContext as $ac8c32e6775ddd1f$export$a49f528ae1a4d0ed} from "../icons/Icon.mjs";
import {ImageContext as $dbd6f0b2503b938c$export$8151eb379fcf2442} from "./Image.mjs";
import $kY5I6$intlStringsmjs from "./intlStrings.mjs";
import {pressScale as $10ea7662e51a285b$export$56e8cba416805d8d} from "./pressScale.mjs";
import {Text as $8e847109a6ab556d$export$5f1af8db9871e1d6, TextContext as $8e847109a6ab556d$export$9afb8bc826b033ea} from "./Content.mjs";
import {useSpectrumContextProps as $5ce63c423902f47d$export$764f6146fadd77f7} from "../icons/useSpectrumContextProps.mjs";
import {jsx as $kY5I6$jsx, jsxs as $kY5I6$jsxs} from "react/jsx-runtime";
import {useLocale as $kY5I6$useLocale, TagGroup as $kY5I6$TagGroup, Provider as $kY5I6$Provider, TextContext as $kY5I6$TextContext, TagList as $kY5I6$TagList, useSlottedContext as $kY5I6$useSlottedContext, Tag as $kY5I6$Tag, composeRenderProps as $kY5I6$composeRenderProps, ButtonContext as $kY5I6$ButtonContext} from "react-aria-components";
import {CollectionBuilder as $kY5I6$CollectionBuilder, Collection as $kY5I6$Collection} from "@react-aria/collections";
import {createContext as $kY5I6$createContext, forwardRef as $kY5I6$forwardRef, useRef as $kY5I6$useRef, useState as $kY5I6$useState, useContext as $kY5I6$useContext, useMemo as $kY5I6$useMemo, useEffect as $kY5I6$useEffect} from "react";
import {flushSync as $kY5I6$flushSync} from "react-dom";
import {useEffectEvent as $kY5I6$useEffectEvent, useResizeObserver as $kY5I6$useResizeObserver, useLayoutEffect as $kY5I6$useLayoutEffect, inertValue as $kY5I6$inertValue, useId as $kY5I6$useId} from "@react-aria/utils";
import {useDOMRef as $kY5I6$useDOMRef} from "@react-spectrum/utils";
import {useLocalizedStringFormatter as $kY5I6$useLocalizedStringFormatter} from "@react-aria/i18n";


function $parcel$interopDefault(a) {
  return a && a.__esModule ? a.default : a;
}
/*
 * Copyright 2024 Adobe. All rights reserved.
 * This file is licensed to you under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License. You may obtain a copy
 * of the License at http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software distributed under
 * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
 * OF ANY KIND, either express or implied. See the License for the specific language
 * governing permissions and limitations under the License.
 */ 




















const $1d63bfab43d9ffe1$export$5b07b5dd2cbd96e3 = /*#__PURE__*/ (0, $kY5I6$createContext)(null);
const $1d63bfab43d9ffe1$var$InternalTagGroupContext = /*#__PURE__*/ (0, $kY5I6$createContext)({});
const $1d63bfab43d9ffe1$export$67ea30858aaf75e3 = /*#__PURE__*/ (0, $kY5I6$forwardRef)(function TagGroup(props, ref) {
    [props, ref] = (0, $5ce63c423902f47d$export$764f6146fadd77f7)(props, ref, $1d63bfab43d9ffe1$export$5b07b5dd2cbd96e3);
    props = (0, $9b916426527cebe7$export$a6b5be5c6b451665)(props);
    let { onRemove: onRemove } = props;
    return /*#__PURE__*/ (0, $kY5I6$jsx)($1d63bfab43d9ffe1$var$InternalTagGroupContext.Provider, {
        value: {
            onRemove: onRemove
        },
        children: /*#__PURE__*/ (0, $kY5I6$jsx)((0, $kY5I6$CollectionBuilder), {
            content: /*#__PURE__*/ (0, $kY5I6$jsx)((0, $kY5I6$Collection), {
                ...props
            }),
            children: (collection)=>/*#__PURE__*/ (0, $kY5I6$jsx)($1d63bfab43d9ffe1$var$TagGroupInner, {
                    props: props,
                    forwardedRef: ref,
                    collection: collection
                })
        })
    });
});
function $1d63bfab43d9ffe1$var$TagGroupInner({ props: { label: label, description: description, labelPosition: labelPosition = 'top', labelAlign: labelAlign = 'start', isEmphasized: isEmphasized, isInvalid: isInvalid, errorMessage: errorMessage, UNSAFE_className: UNSAFE_className = '', UNSAFE_style: UNSAFE_style, size: size = 'M', ...props }, forwardedRef: ref, collection: collection }) {
    let stringFormatter = (0, $kY5I6$useLocalizedStringFormatter)((0, ($parcel$interopDefault($kY5I6$intlStringsmjs))), '@react-spectrum/s2');
    let { maxRows: maxRows, groupActionLabel: groupActionLabel, onGroupAction: onGroupAction, renderEmptyState: renderEmptyState = ()=>stringFormatter.format('tag.noTags'), ...otherProps } = props;
    let { direction: direction } = (0, $kY5I6$useLocale)();
    let containerRef = (0, $kY5I6$useRef)(null);
    let tagsRef = (0, $kY5I6$useRef)(null);
    let actionsRef = (0, $kY5I6$useRef)(null);
    let hiddenTagsRef = (0, $kY5I6$useRef)(null);
    let [tagState, setTagState] = (0, $kY5I6$useState)({
        visibleTagCount: collection.size,
        showCollapseButton: false
    });
    let [isCollapsed, setIsCollapsed] = (0, $kY5I6$useState)(maxRows != null);
    let { onRemove: onRemove } = (0, $kY5I6$useContext)($1d63bfab43d9ffe1$var$InternalTagGroupContext);
    let isEmpty = collection.size === 0;
    let showCollapseToggleButton = tagState.showCollapseButton || tagState.visibleTagCount < collection.size;
    let formContext = (0, $kY5I6$useContext)((0, $9b916426527cebe7$export$c24727297075ec6a));
    let domRef = (0, $kY5I6$useDOMRef)(ref);
    let allItems = (0, $kY5I6$useMemo)(()=>Array.from(collection), [
        collection
    ]);
    let items = (0, $kY5I6$useMemo)(()=>Array.from(collection).slice(0, !isCollapsed ? collection.size : tagState.visibleTagCount), [
        collection,
        tagState.visibleTagCount,
        isCollapsed
    ]);
    let updateVisibleTagCount = ()=>{
        if (maxRows == null) setTagState({
            visibleTagCount: collection.size,
            showCollapseButton: false
        });
        if (maxRows != null && maxRows > 0) {
            let computeVisibleTagCount = ()=>{
                let currContainerRef = hiddenTagsRef.current;
                let currTagsRef = hiddenTagsRef.current;
                let currActionsRef = actionsRef.current;
                if (!currContainerRef || !currTagsRef || collection.size === 0 || currContainerRef.parentElement == null) return {
                    visibleTagCount: 0,
                    showCollapseButton: false
                };
                // Count rows and show tags until we hit the maxRows.
                // I think this is still a safe assumption, and we don't need to queryAll for role=tag
                let tags = [
                    ...currTagsRef.children
                ];
                let currY = -Infinity;
                let rowCount = 0;
                let index = 0;
                let tagWidths = [];
                for (let tag of tags){
                    let { width: width, y: y } = tag.getBoundingClientRect();
                    if (y !== currY) {
                        currY = y;
                        rowCount++;
                    }
                    if (rowCount > maxRows) break;
                    tagWidths.push(width);
                    index++;
                }
                // Remove tags until there is space for the collapse button and action button (if present) on the last row.
                let buttons = currActionsRef ? [
                    ...currActionsRef.children
                ] : [];
                if (buttons.length > 0 && rowCount >= maxRows) {
                    let buttonsWidth = buttons.reduce((acc, curr)=>acc += curr.getBoundingClientRect().width, 0);
                    let margins = parseFloat(getComputedStyle(buttons[0]).marginInlineStart);
                    buttonsWidth += margins * 2;
                    let end = direction === 'ltr' ? 'right' : 'left';
                    let containerEnd = currContainerRef.parentElement?.getBoundingClientRect()[end] - margins;
                    let lastTagEnd = tags[index - 1]?.getBoundingClientRect()[end];
                    lastTagEnd += margins;
                    let availableWidth = containerEnd - lastTagEnd;
                    while(availableWidth <= buttonsWidth && index > 0){
                        let tagWidth = tagWidths.pop();
                        if (tagWidth != null) availableWidth += tagWidth;
                        index--;
                    }
                }
                return {
                    visibleTagCount: Math.max(index, 1),
                    showCollapseButton: index < collection.size
                };
            };
            let result = computeVisibleTagCount();
            (0, $kY5I6$flushSync)(()=>{
                setTagState(result);
            });
        }
    };
    let updateVisibleTagCountEffect = (0, $kY5I6$useEffectEvent)(updateVisibleTagCount);
    (0, $kY5I6$useResizeObserver)({
        ref: maxRows != null ? containerRef : undefined,
        onResize: updateVisibleTagCount
    });
    (0, $kY5I6$useLayoutEffect)(()=>{
        if (collection.size > 0 && maxRows != null && maxRows > 0) queueMicrotask(updateVisibleTagCountEffect);
    }, [
        collection.size,
        maxRows
    ]);
    (0, $kY5I6$useEffect)(()=>{
        // Recalculate visible tags when fonts are loaded.
        document.fonts?.ready.then(()=>updateVisibleTagCountEffect());
    }, []);
    let handlePressCollapse = ()=>{
        setIsCollapsed((prevCollapsed)=>!prevCollapsed);
    };
    let helpText = null;
    if (!isInvalid && description) helpText = /*#__PURE__*/ (0, $kY5I6$jsx)((0, $8e847109a6ab556d$export$5f1af8db9871e1d6), {
        slot: "description",
        styles: (0, $9afd80978c252040$export$13b1fd5431595bf6)({
            size: size
        }),
        children: description
    });
    else if (isInvalid) helpText = /*#__PURE__*/ (0, $kY5I6$jsxs)("div", {
        className: (0, $9afd80978c252040$export$13b1fd5431595bf6)({
            size: size,
            isInvalid: isInvalid
        }),
        children: [
            /*#__PURE__*/ (0, $kY5I6$jsx)((0, $1f4b04be3f24aae3$export$768dac55bb57081d), {
                children: /*#__PURE__*/ (0, $kY5I6$jsx)((0, $e17a4836f4b6cc28$export$2e2bcd8739ae039), {})
            }),
            /*#__PURE__*/ (0, $kY5I6$jsx)((0, $8e847109a6ab556d$export$5f1af8db9871e1d6), {
                slot: "errorMessage",
                children: errorMessage
            })
        ]
    });
    return /*#__PURE__*/ (0, $kY5I6$jsxs)((0, $kY5I6$TagGroup), {
        ...otherProps,
        ref: domRef,
        style: UNSAFE_style,
        className: UNSAFE_className + function anonymous(props, overrides) {
            let rules = " ";
            let gridColumnStart = false;
            let gridColumnEnd = false;
            let matches = (overrides || '').matchAll(/(?:^|\s)(J|G|I|H|_u|_v|_s|__A|_d|_J|z|y|B|A|_P|_9|W|_l|_A|_z|_6|Z|N|L)[^\s]+/g);
            for (let p of matches){
                if (p[1] === "z") gridColumnStart = true;
                if (p[1] === "y") gridColumnEnd = true;
                rules += p[0];
            }
            rules += ' se12';
            if (props.isInForm) {
                if (!gridColumnStart) rules += ' z2mU12';
            }
            if (props.isInForm) {
                if (props.labelPosition === "side") {
                    if (!gridColumnEnd) rules += ' yvoofG12';
                }
            }
            if (props.isInForm) rules += ' DLwlgod12';
            else {
                if (props.labelPosition === "side") rules += ' DPlN5qb12';
                else if (props.labelPosition === "top") rules += ' DM8Mfn12';
            }
            if (props.labelPosition === "side") rules += ' EPlN5qb12';
            else if (props.labelPosition === "top") rules += ' E4w1sLc12';
            if (props.labelPosition === "side") rules += ' CbRM95c12';
            else if (props.labelPosition === "top") rules += ' Cxaocre12';
            if (props.size === "XL") {
                rules += ' -_6BNtrc-e12';
                rules += ' vx12';
            } else if (props.size === "L") {
                rules += ' -_6BNtrc-d12';
                rules += ' vx12';
            } else if (props.size === "S") {
                rules += ' -_6BNtrc-b12';
                rules += ' vx12';
            } else if (props.size === "XS") {
                rules += ' -_6BNtrc-a12';
                rules += ' vx12';
            } else {
                rules += ' -_6BNtrc-c12';
                rules += ' vx12';
            }
            rules += ' ea12';
            rules += ' _Fd12';
            rules += ' _FezxGHba12';
            rules += ' _FnuYUweb12';
            if (props.size === "XL") rules += ' -BhX7R-Fz12';
            else if (props.size === "L") rules += ' -BhX7R-Fv12';
            else if (props.size === "S") rules += ' -BhX7R-Fp12';
            else if (props.size === "XS") rules += ' -BhX7R-Fn12';
            else rules += ' -BhX7R-Fx12';
            rules += ' -AJjOLd-UVkF0Db12';
            rules += ' qg12';
            rules += ' __ca12';
            return rules;
        }({
            size: size,
            labelPosition: labelPosition,
            isInForm: !!formContext
        }, props.styles),
        children: [
            /*#__PURE__*/ (0, $kY5I6$jsx)((0, $9afd80978c252040$export$1acdcf5a973a8414), {
                size: size,
                labelPosition: labelPosition,
                labelAlign: labelAlign,
                contextualHelp: props.contextualHelp,
                children: label
            }),
            /*#__PURE__*/ (0, $kY5I6$jsx)("div", {
                ref: containerRef,
                className: function anonymous(props) {
                    let rules = " ";
                    rules += ' zXcEWr12';
                    rules += ' yXcEWr12';
                    rules += ' BXcEWr12';
                    rules += ' AXcEWr12';
                    rules += ' Nb12';
                    if (props.isEmpty) rules += ' Iy12';
                    else rules += ' Ib12';
                    if (props.isEmpty) rules += ' Hy12';
                    else rules += ' Hs12';
                    rules += ' _Pc12';
                    return rules;
                }({
                    isEmpty: isEmpty
                }),
                children: /*#__PURE__*/ (0, $kY5I6$jsx)((0, $9b916426527cebe7$export$c24727297075ec6a).Provider, {
                    value: {
                        ...formContext,
                        size: size
                    },
                    children: /*#__PURE__*/ (0, $kY5I6$jsxs)((0, $kY5I6$Provider), {
                        values: [
                            [
                                (0, $kY5I6$TextContext),
                                undefined
                            ],
                            [
                                $1d63bfab43d9ffe1$export$5b07b5dd2cbd96e3,
                                {
                                    size: size,
                                    isEmphasized: isEmphasized
                                }
                            ]
                        ],
                        children: [
                            maxRows != null && /*#__PURE__*/ (0, $kY5I6$jsx)("div", {
                                // @ts-ignore
                                inert: (0, $kY5I6$inertValue)(true),
                                ref: hiddenTagsRef,
                                className: " sf12 _wb12 uk12 uch12 udi12 uea12 ugb12 uhd12 uje12 u2NhKxcl12 uic12 _Pa12 Wr12 _lr12 _6b12 _Nc12 Pc12 _Ia12",
                                children: allItems.map((item)=>{
                                    // pull off individual props as an allow list, don't want refs or other props getting through
                                    // eslint-disable-next-line @typescript-eslint/no-unused-vars
                                    let { ref: ref, ...itemProps } = item.props;
                                    return /*#__PURE__*/ (0, $kY5I6$jsx)("div", {
                                        style: itemProps.UNSAFE_style,
                                        className: itemProps.className({
                                            size: size,
                                            allowsRemoving: Boolean(onRemove)
                                        }),
                                        children: /*#__PURE__*/ (0, $kY5I6$jsx)($1d63bfab43d9ffe1$var$TagWrapper, {
                                            id: item.key,
                                            textValue: item.textValue,
                                            isInRealDOM: true,
                                            size: size,
                                            allowsRemoving: !!onRemove,
                                            ...itemProps,
                                            children: itemProps.children({
                                                size: size,
                                                allowsRemoving: Boolean(onRemove),
                                                isInCtx: true
                                            })
                                        }, item.key)
                                    }, item.key);
                                })
                            }),
                            /*#__PURE__*/ (0, $kY5I6$jsx)((0, $kY5I6$TagList), {
                                ref: tagsRef,
                                items: items,
                                renderEmptyState: renderEmptyState,
                                className: " sf12 Nb12 uk12 uch12 udi12 uea12 ugb12 uhd12 uje12 u2NhKxcl12 uic12 -_6BNtrc-c12 vx12 xb12 _xa12 _Fd12 _FezxGHba12 _FnuYUweb12 pt12",
                                children: (item)=>/*#__PURE__*/ (0, $kY5I6$jsx)($1d63bfab43d9ffe1$export$3288d34c523a1192, {
                                        ...item.props,
                                        id: item.key,
                                        textValue: item.textValue
                                    })
                            }),
                            !isEmpty && (showCollapseToggleButton || groupActionLabel) && /*#__PURE__*/ (0, $kY5I6$jsx)($1d63bfab43d9ffe1$var$ActionGroup, {
                                collection: collection,
                                "aria-label": props['aria-label'],
                                "aria-labelledby": props['aria-labelledby'],
                                actionsRef: actionsRef,
                                tagState: tagState,
                                size: size,
                                isCollapsed: isCollapsed,
                                handlePressCollapse: handlePressCollapse,
                                onGroupAction: onGroupAction,
                                groupActionLabel: groupActionLabel
                            })
                        ]
                    })
                })
            }),
            helpText
        ]
    });
}
function $1d63bfab43d9ffe1$var$ActionGroup(props) {
    let stringFormatter = (0, $kY5I6$useLocalizedStringFormatter)((0, ($parcel$interopDefault($kY5I6$intlStringsmjs))), '@react-spectrum/s2');
    let { actionsRef: actionsRef, tagState: tagState, size: size, isCollapsed: isCollapsed, handlePressCollapse: handlePressCollapse, onGroupAction: onGroupAction, groupActionLabel: groupActionLabel, collection: collection, // directly use aria-labelling from the TagGroup because we can't use the id from the TagList
    // and we can't supply an id to the TagList because it'll cause an issue where all the tag ids flip back
    // and forth with their prefix in an infinite loop
    'aria-label': ariaLabel, 'aria-labelledby': ariaLabelledBy } = props;
    let actionsId = (0, $kY5I6$useId)();
    // might need to localize the aria-label which concatenates with this label
    let actionGroupLabel = stringFormatter.format('tag.actions');
    return /*#__PURE__*/ (0, $kY5I6$jsxs)("div", {
        role: "group",
        ref: actionsRef,
        id: actionsId,
        "aria-label": ariaLabel ? `${ariaLabel} ${actionGroupLabel}` : actionGroupLabel,
        "aria-labelledby": ariaLabelledBy ? ariaLabelledBy : undefined,
        className: " sf12",
        children: [
            tagState.showCollapseButton && /*#__PURE__*/ (0, $kY5I6$jsx)((0, $da878a05ab4a403e$export$cfc7921d29ef7b80), {
                isQuiet: true,
                size: size,
                styles: " Js12 Gs12 Is12 Hs12",
                UNSAFE_style: {
                    display: 'inline-flex'
                },
                onPress: handlePressCollapse,
                children: isCollapsed ? stringFormatter.format('tag.showAllButtonLabel', {
                    tagCount: collection.size
                }) : stringFormatter.format('tag.hideButtonLabel')
            }),
            groupActionLabel && onGroupAction && /*#__PURE__*/ (0, $kY5I6$jsx)((0, $da878a05ab4a403e$export$cfc7921d29ef7b80), {
                isQuiet: true,
                size: size,
                styles: " Js12 Gs12 Is12 Hs12",
                UNSAFE_style: {
                    display: 'inline-flex'
                },
                onPress: ()=>onGroupAction?.(),
                children: groupActionLabel
            })
        ]
    });
}
const $1d63bfab43d9ffe1$var$tagStyles = function anonymous(props) {
    let rules = " ";
    if (props.isFocusVisible) rules += ' _Lf12';
    else rules += ' _Le12';
    rules += ' Oh12';
    rules += ' _Mc12';
    rules += ' _Kd12';
    if (props.size === "XL") {
        rules += ' uk12';
        rules += ' uch12';
        rules += ' udi12';
        rules += ' uea12';
        rules += ' ugb12';
        rules += ' uhd12';
        rules += ' uje12';
        rules += ' u2NhKxcl12';
        rules += ' uic12';
    } else if (props.size === "L") {
        rules += ' uk12';
        rules += ' uch12';
        rules += ' udi12';
        rules += ' uea12';
        rules += ' ugb12';
        rules += ' uhd12';
        rules += ' uje12';
        rules += ' u2NhKxcl12';
        rules += ' uic12';
    } else if (props.size === "S") {
        rules += ' uk12';
        rules += ' uch12';
        rules += ' udi12';
        rules += ' uea12';
        rules += ' ugb12';
        rules += ' uhd12';
        rules += ' uje12';
        rules += ' u2NhKxcl12';
        rules += ' uic12';
    } else if (props.size === "XS") {
        rules += ' uk12';
        rules += ' uch12';
        rules += ' udi12';
        rules += ' uea12';
        rules += ' ugb12';
        rules += ' uhd12';
        rules += ' uje12';
        rules += ' u2NhKxcl12';
        rules += ' uic12';
    } else {
        rules += ' uk12';
        rules += ' uch12';
        rules += ' udi12';
        rules += ' uea12';
        rules += ' ugb12';
        rules += ' uhd12';
        rules += ' uje12';
        rules += ' u2NhKxcl12';
        rules += ' uic12';
    }
    if (props.size === "XL") {
        rules += ' -_6BNtrc-e12';
        rules += ' vx12';
    } else if (props.size === "L") {
        rules += ' -_6BNtrc-d12';
        rules += ' vx12';
    } else if (props.size === "S") {
        rules += ' -_6BNtrc-b12';
        rules += ' vx12';
    } else if (props.size === "XS") {
        rules += ' -_6BNtrc-a12';
        rules += ' vx12';
    } else {
        rules += ' -_6BNtrc-c12';
        rules += ' vx12';
    }
    if (props.size === "XL") {
        rules += ' xb12';
        rules += ' _xa12';
    } else if (props.size === "L") {
        rules += ' xb12';
        rules += ' _xa12';
    } else if (props.size === "S") {
        rules += ' xb12';
        rules += ' _xa12';
    } else if (props.size === "XS") {
        rules += ' xb12';
        rules += ' _xa12';
    } else {
        rules += ' xb12';
        rules += ' _xa12';
    }
    if (props.size === "XL") {
        rules += ' _Fd12';
        rules += ' _FezxGHba12';
        rules += ' _FnuYUweb12';
    } else if (props.size === "L") {
        rules += ' _Fd12';
        rules += ' _FezxGHba12';
        rules += ' _FnuYUweb12';
    } else if (props.size === "S") {
        rules += ' _Fd12';
        rules += ' _FezxGHba12';
        rules += ' _FnuYUweb12';
    } else if (props.size === "XS") {
        rules += ' _Fd12';
        rules += ' _FezxGHba12';
        rules += ' _FnuYUweb12';
    } else {
        rules += ' _Fd12';
        rules += ' _FezxGHba12';
        rules += ' _FnuYUweb12';
    }
    if (props.isDisabled) rules += ' pp12';
    else if (props.isSelected) {
        if (props.isEmphasized) rules += ' px12';
        else rules += ' pr12';
    } else {
        if (props.isPressed) rules += ' po12';
        else if (props.isFocusVisible) rules += ' po12';
        else if (props.isHovered) rules += ' po12';
        else rules += ' pt12';
    }
    if (props.isDisabled) rules += ' plc12';
    else if (props.isSelected) rules += ' ple12';
    else rules += ' plb12';
    rules += ' sh12';
    rules += ' eb12';
    rules += ' _oa12';
    rules += ' Sv12';
    rules += ' SgLWx3bd12';
    if (props.allowsRemoving) rules += ' Rd12';
    else rules += ' Rv12';
    if (props.size === "XL") rules += ' Nl12';
    else if (props.size === "L") rules += ' Nj12';
    else if (props.size === "S") rules += ' Nf12';
    else if (props.size === "XS") rules += ' Ne12';
    else rules += ' Nk12';
    if (props.size === "XL") rules += ' -SFnbic-_JaP8ec12';
    else if (props.size === "L") rules += ' -SFnbic-_J0K2hn12';
    else if (props.size === "S") rules += ' -SFnbic-_JJOW22b12';
    else if (props.size === "XS") rules += ' -SFnbic-_JICefdd12';
    else rules += ' -SFnbic-_Jb12';
    rules += ' -Bu7z1c-ob12';
    rules += ' oj12';
    rules += ' nj12';
    rules += ' kj12';
    rules += ' jj12';
    rules += ' qc12';
    rules += ' qsd12';
    rules += ' -Qg41Lb-IAxCW0c12';
    rules += ' -Qg41Lb-gLWx3bIy12';
    rules += ' FRuFGYc12';
    rules += ' La12';
    rules += ' _5c12';
    rules += ' _Ca12';
    rules += ' Yd12';
    rules += ' Xb12';
    rules += ' _2b12';
    if (props.isDisabled) rules += ' gH12';
    else if (props.isSelected) {
        if (props.isEmphasized) {
            if (props.isFocusVisible) rules += ' gUgARdd12';
            else if (props.isPressed) rules += ' gUgARdd12';
            else if (props.isHovered) rules += ' gUgARdd12';
            else rules += ' g5qAiPc12';
        } else {
            if (props.isPressed) rules += ' gu12';
            else if (props.isFocusVisible) rules += ' gu12';
            else if (props.isHovered) rules += ' gu12';
            else rules += ' g012';
        }
    } else if (props.isFocusVisible) rules += ' gF12';
    else if (props.isHovered) rules += ' gF12';
    else rules += ' gH12';
    if (props.isSelected) rules += ' gle12';
    else rules += ' glb12';
    rules += ' _je12';
    rules += ' Js12';
    rules += ' Gs12';
    rules += ' Is12';
    rules += ' Hs12';
    if (props.isLink) rules += ' ry12';
    else rules += ' ri12';
    rules += ' -_8sjo0b-t5ZbAob12';
    if (props.size === "XL") rules += ' -F_-Fz12';
    else if (props.size === "L") rules += ' -F_-Fv12';
    else if (props.size === "S") rules += ' -F_-Fp12';
    else if (props.size === "XS") rules += ' -F_-Fn12';
    else rules += ' -F_-Fx12';
    return rules;
};
const $1d63bfab43d9ffe1$var$avatarSize = {
    S: 16,
    M: 20,
    L: 24
};
const $1d63bfab43d9ffe1$export$3288d34c523a1192 = /*#__PURE__*/ (0, $kY5I6$forwardRef)(function Tag({ children: children, textValue: textValue, ...props }, ref) {
    textValue ||= typeof children === 'string' ? children : undefined;
    let ctx = (0, $kY5I6$useSlottedContext)($1d63bfab43d9ffe1$export$5b07b5dd2cbd96e3);
    let isInRealDOM = Boolean(ctx?.size);
    let { size: size, isEmphasized: isEmphasized } = ctx ?? {};
    let domRef = (0, $kY5I6$useDOMRef)(ref);
    let backupRef = (0, $kY5I6$useRef)(null);
    domRef = domRef || backupRef;
    let isLink = props.href != null;
    return /*#__PURE__*/ (0, $kY5I6$jsx)((0, $kY5I6$Tag), {
        textValue: textValue,
        ...props,
        ref: domRef,
        style: (0, $10ea7662e51a285b$export$56e8cba416805d8d)(domRef),
        className: (renderProps)=>$1d63bfab43d9ffe1$var$tagStyles({
                size: size,
                isEmphasized: isEmphasized,
                isLink: isLink,
                ...renderProps
            }),
        children: (0, $kY5I6$composeRenderProps)(children, (children, renderProps)=>/*#__PURE__*/ (0, $kY5I6$jsx)($1d63bfab43d9ffe1$var$TagWrapper, {
                isInRealDOM: isInRealDOM,
                isEmphasized: isEmphasized,
                ...renderProps,
                children: typeof children === 'string' ? /*#__PURE__*/ (0, $kY5I6$jsx)((0, $8e847109a6ab556d$export$5f1af8db9871e1d6), {
                    children: children
                }) : children
            }))
    });
});
function $1d63bfab43d9ffe1$var$TagWrapper({ children: children, isDisabled: isDisabled, allowsRemoving: allowsRemoving, isInRealDOM: isInRealDOM, isEmphasized: isEmphasized, isSelected: isSelected }) {
    let { size: size = 'M' } = (0, $kY5I6$useSlottedContext)($1d63bfab43d9ffe1$export$5b07b5dd2cbd96e3) ?? {};
    return /*#__PURE__*/ (0, $kY5I6$jsxs)((0, $kY5I6$Provider), {
        values: [
            [
                (0, $kY5I6$ButtonContext),
                null
            ]
        ],
        children: [
            isInRealDOM && /*#__PURE__*/ (0, $kY5I6$jsx)("div", {
                className: " sd12 Na12 eb12 Uc12 Usd12 qc12 qsd12 _yb12 g912",
                children: /*#__PURE__*/ (0, $kY5I6$jsx)((0, $kY5I6$Provider), {
                    values: [
                        [
                            (0, $8e847109a6ab556d$export$9afb8bc826b033ea),
                            {
                                styles: " _Jb12 _Nc12 Pc12 _Yb12 _7c12"
                            }
                        ],
                        [
                            (0, $ac8c32e6775ddd1f$export$a49f528ae1a4d0ed),
                            {
                                render: (0, $1f4b04be3f24aae3$export$9d7e2342a7e53afa)({
                                    slot: 'icon',
                                    styles: " _Ja12"
                                }),
                                styles: " ZuUmpre12 FuUmpre12 I67logd12 _va12"
                            }
                        ],
                        [
                            (0, $3ffa2cd930156220$export$a20dad690e1279e2),
                            {
                                size: $1d63bfab43d9ffe1$var$avatarSize[size],
                                styles: " _Ja12"
                            }
                        ],
                        [
                            (0, $dbd6f0b2503b938c$export$8151eb379fcf2442),
                            {
                                styles: " ZuUmpre12 FuUmpre12 _va12 _Ja12 fa12 _Ha12 oa12 na12 ka12 ja12"
                            }
                        ]
                    ],
                    children: children
                })
            }),
            !isInRealDOM && children,
            allowsRemoving && isInRealDOM && /*#__PURE__*/ (0, $kY5I6$jsx)((0, $f6a62e6e68437458$export$13ec83e50bf04290), {
                slot: "remove",
                size: size,
                isStaticColor: isEmphasized && isSelected,
                isDisabled: isDisabled
            })
        ]
    });
}


export {$1d63bfab43d9ffe1$export$5b07b5dd2cbd96e3 as TagGroupContext, $1d63bfab43d9ffe1$export$67ea30858aaf75e3 as TagGroup, $1d63bfab43d9ffe1$export$3288d34c523a1192 as Tag};
//# sourceMappingURL=TagGroup.mjs.map
