{"version":3,"file":"vendor-DO5y68pu.js","sources":["../../node_modules/react/cjs/react.production.min.js","../../node_modules/react/index.js","../../node_modules/react/cjs/react-jsx-runtime.production.min.js","../../node_modules/react/jsx-runtime.js","../../node_modules/@chakra-ui/react/dist/esm/utils/cx.js","../../node_modules/@chakra-ui/react/dist/esm/create-context.js","../../node_modules/@chakra-ui/react/dist/esm/utils/call-all.js","../../node_modules/@chakra-ui/react/dist/esm/merge-props.js","../../node_modules/@chakra-ui/react/dist/esm/styled-system/empty.js","../../node_modules/@emotion/memoize/dist/emotion-memoize.esm.js","../../node_modules/@emotion/is-prop-valid/dist/emotion-is-prop-valid.esm.js","../../node_modules/@emotion/sheet/dist/emotion-sheet.esm.js","../../node_modules/stylis/src/Enum.js","../../node_modules/stylis/src/Utility.js","../../node_modules/stylis/src/Tokenizer.js","../../node_modules/stylis/src/Parser.js","../../node_modules/stylis/src/Serializer.js","../../node_modules/stylis/src/Middleware.js","../../node_modules/@emotion/cache/dist/emotion-cache.browser.esm.js","../../node_modules/@babel/runtime/helpers/esm/extends.js","../../node_modules/react-is/cjs/react-is.production.min.js","../../node_modules/react-is/index.js","../../node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js","../../node_modules/@emotion/utils/dist/emotion-utils.browser.esm.js","../../node_modules/@emotion/hash/dist/emotion-hash.esm.js","../../node_modules/@emotion/unitless/dist/emotion-unitless.esm.js","../../node_modules/@emotion/serialize/dist/emotion-serialize.esm.js","../../node_modules/@emotion/use-insertion-effect-with-fallbacks/dist/emotion-use-insertion-effect-with-fallbacks.browser.esm.js","../../node_modules/@emotion/react/dist/emotion-element-f0de968e.browser.esm.js","../../node_modules/@emotion/react/dist/emotion-react.browser.esm.js","../../node_modules/@chakra-ui/react/dist/esm/merge-refs.js","../../node_modules/@chakra-ui/react/dist/esm/utils/compact.js","../../node_modules/@chakra-ui/react/dist/esm/utils/interop.js","../../node_modules/@chakra-ui/react/dist/esm/styled-system/provider.js","../../node_modules/@chakra-ui/react/dist/esm/utils/split-props.js","../../node_modules/@chakra-ui/react/dist/esm/styled-system/use-resolved-props.js","../../node_modules/@chakra-ui/react/dist/esm/styled-system/factory.js","../../node_modules/@chakra-ui/react/dist/esm/styled-system/use-recipe.js","../../node_modules/@chakra-ui/react/dist/esm/styled-system/create-recipe-context.js","../../node_modules/@chakra-ui/react/dist/esm/components/grid/grid.js","../../node_modules/@chakra-ui/react/dist/esm/components/color-swatch/index.js","../../node_modules/@zag-js/dom-query/dist/index.mjs","../../node_modules/@zag-js/i18n-utils/dist/index.mjs","../../node_modules/@ark-ui/react/dist/utils/create-context.js","../../node_modules/@ark-ui/react/dist/providers/locale/use-locale-context.js","../../node_modules/@ark-ui/react/dist/components/format/format-byte.js","../../node_modules/@ark-ui/react/dist/components/format/format-number.js","../../node_modules/@chakra-ui/react/dist/esm/components/format/index.js","../../node_modules/@chakra-ui/react/dist/esm/components/theme.js","../../node_modules/@chakra-ui/react/dist/esm/hooks/use-callback-ref.js","../../node_modules/@chakra-ui/react/dist/esm/hooks/use-controllable-state.js","../../node_modules/@chakra-ui/react/dist/esm/hooks/use-disclosure.js","../../node_modules/@chakra-ui/react/dist/esm/hooks/use-media-query.js","../../node_modules/@chakra-ui/react/dist/esm/hooks/use-breakpoint.js","../../node_modules/@chakra-ui/react/dist/esm/styled-system/color-mix.js","../../node_modules/@chakra-ui/react/dist/esm/utils/clone.js","../../node_modules/@chakra-ui/react/dist/esm/utils/is.js","../../node_modules/@chakra-ui/react/dist/esm/utils/merge.js","../../node_modules/@chakra-ui/react/dist/esm/styled-system/config.js","../../node_modules/@chakra-ui/react/dist/esm/styled-system/css-var.js","../../node_modules/@chakra-ui/react/dist/esm/preset-base.js","../../node_modules/@pandacss/is-valid-prop/dist/index.mjs","../../node_modules/@chakra-ui/react/dist/esm/utils/walk-object.js","../../node_modules/@chakra-ui/react/dist/esm/utils/flatten.js","../../node_modules/@chakra-ui/react/dist/esm/utils/memo.js","../../node_modules/@chakra-ui/react/dist/esm/styled-system/unit-conversion.js","../../node_modules/@chakra-ui/react/dist/esm/styled-system/breakpoints.js","../../node_modules/@chakra-ui/react/dist/esm/styled-system/conditions.js","../../node_modules/@chakra-ui/react/dist/esm/styled-system/sort-at-params.js","../../node_modules/@chakra-ui/react/dist/esm/styled-system/sort-at-rules.js","../../node_modules/@chakra-ui/react/dist/esm/styled-system/css.js","../../node_modules/@chakra-ui/react/dist/esm/utils/omit.js","../../node_modules/@chakra-ui/react/dist/esm/utils/uniq.js","../../node_modules/@chakra-ui/react/dist/esm/styled-system/cva.js","../../node_modules/@chakra-ui/react/dist/esm/styled-system/layers.js","../../node_modules/@chakra-ui/react/dist/esm/styled-system/normalize.js","../../node_modules/@chakra-ui/react/dist/esm/styled-system/preflight.js","../../node_modules/@chakra-ui/react/dist/esm/styled-system/serialize.js","../../node_modules/@chakra-ui/react/dist/esm/styled-system/sva.js","../../node_modules/@chakra-ui/react/dist/esm/utils/create-props.js","../../node_modules/@chakra-ui/react/dist/esm/styled-system/esc.js","../../node_modules/@chakra-ui/react/dist/esm/styled-system/expand-reference.js","../../node_modules/@chakra-ui/react/dist/esm/styled-system/map-to-json.js","../../node_modules/@chakra-ui/react/dist/esm/styled-system/references.js","../../node_modules/@chakra-ui/react/dist/esm/styled-system/calc.js","../../node_modules/@chakra-ui/react/dist/esm/styled-system/token-middleware.js","../../node_modules/@chakra-ui/react/dist/esm/styled-system/token-transforms.js","../../node_modules/@chakra-ui/react/dist/esm/styled-system/token-dictionary.js","../../node_modules/@chakra-ui/react/dist/esm/styled-system/utility.js","../../node_modules/@chakra-ui/react/dist/esm/styled-system/system.js","../../node_modules/@chakra-ui/react/dist/esm/theme/breakpoints.js","../../node_modules/@chakra-ui/react/dist/esm/theme/global-css.js","../../node_modules/@chakra-ui/react/dist/esm/theme/layer-styles.js","../../node_modules/@chakra-ui/react/dist/esm/theme/motion-styles.js","../../node_modules/@chakra-ui/react/dist/esm/theme/recipes/badge.js","../../node_modules/@chakra-ui/react/dist/esm/theme/recipes/button.js","../../node_modules/@chakra-ui/react/dist/esm/theme/recipes/checkmark.js","../../node_modules/@chakra-ui/react/dist/esm/theme/recipes/code.js","../../node_modules/@chakra-ui/react/dist/esm/theme/recipes/color-swatch.js","../../node_modules/@chakra-ui/react/dist/esm/theme/recipes/container.js","../../node_modules/@chakra-ui/react/dist/esm/theme/recipes/heading.js","../../node_modules/@chakra-ui/react/dist/esm/theme/recipes/icon.js","../../node_modules/@chakra-ui/react/dist/esm/theme/recipes/input.js","../../node_modules/@chakra-ui/react/dist/esm/theme/recipes/input-addon.js","../../node_modules/@chakra-ui/react/dist/esm/theme/recipes/kbd.js","../../node_modules/@chakra-ui/react/dist/esm/theme/recipes/link.js","../../node_modules/@chakra-ui/react/dist/esm/theme/recipes/mark.js","../../node_modules/@chakra-ui/react/dist/esm/theme/recipes/radiomark.js","../../node_modules/@chakra-ui/react/dist/esm/theme/recipes/separator.js","../../node_modules/@chakra-ui/react/dist/esm/theme/recipes/skeleton.js","../../node_modules/@chakra-ui/react/dist/esm/theme/recipes/skip-nav-link.js","../../node_modules/@chakra-ui/react/dist/esm/theme/recipes/spinner.js","../../node_modules/@chakra-ui/react/dist/esm/theme/recipes/textarea.js","../../node_modules/@chakra-ui/react/dist/esm/theme/recipes.js","../../node_modules/@chakra-ui/react/dist/esm/theme/semantic-tokens/colors.js","../../node_modules/@chakra-ui/react/dist/esm/theme/semantic-tokens/radii.js","../../node_modules/@chakra-ui/react/dist/esm/theme/semantic-tokens/shadows.js","../../node_modules/@ark-ui/react/dist/components/accordion/use-accordion-context.js","../../node_modules/@ark-ui/react/dist/components/accordion/accordion-context.js","../../node_modules/@zag-js/anatomy/dist/index.mjs","../../node_modules/@zag-js/utils/dist/index.mjs","../../node_modules/proxy-compare/dist/index.js","../../node_modules/@zag-js/store/dist/index.mjs","../../node_modules/@zag-js/core/dist/index.mjs","../../node_modules/@zag-js/types/dist/index.mjs","../../node_modules/@zag-js/accordion/dist/index.mjs","../../node_modules/scheduler/cjs/scheduler.production.min.js","../../node_modules/scheduler/index.js","../../node_modules/react-dom/cjs/react-dom.production.min.js","../../node_modules/react-dom/index.js","../../node_modules/@zag-js/react/dist/index.mjs","../../node_modules/@ark-ui/react/dist/components/accordion/use-accordion-item-context.js","../../node_modules/@ark-ui/react/dist/utils/compose-refs.js","../../node_modules/@ark-ui/react/dist/components/factory.js","../../node_modules/@ark-ui/react/dist/utils/create-split-props.js","../../node_modules/@ark-ui/react/dist/components/collapsible/split-collapsible-props.js","../../node_modules/@zag-js/collapsible/dist/index.mjs","../../node_modules/@ark-ui/react/dist/providers/environment/use-environment-context.js","../../node_modules/@ark-ui/react/dist/utils/use-event.js","../../node_modules/@ark-ui/react/dist/components/collapsible/use-collapsible.js","../../node_modules/@ark-ui/react/dist/components/collapsible/use-collapsible-context.js","../../node_modules/@ark-ui/react/dist/components/collapsible/collapsible-root.js","../../node_modules/@zag-js/color-utils/dist/index.mjs","../../node_modules/@floating-ui/utils/dist/floating-ui.utils.mjs","../../node_modules/@floating-ui/core/dist/floating-ui.core.mjs","../../node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.mjs","../../node_modules/@floating-ui/dom/dist/floating-ui.dom.mjs","../../node_modules/@zag-js/popper/dist/index.mjs","../../node_modules/@zag-js/interact-outside/dist/index.mjs","../../node_modules/@zag-js/dismissable/dist/index.mjs","../../node_modules/@zag-js/form-utils/dist/index.mjs","../../node_modules/@zag-js/color-picker/dist/index.mjs","../../node_modules/@internationalized/date/dist/utils.mjs","../../node_modules/@internationalized/date/dist/GregorianCalendar.mjs","../../node_modules/@internationalized/date/dist/queries.mjs","../../node_modules/@internationalized/date/dist/conversion.mjs","../../node_modules/@internationalized/date/dist/manipulation.mjs","../../node_modules/@internationalized/date/dist/string.mjs","../../node_modules/@swc/helpers/esm/_check_private_redeclaration.js","../../node_modules/@swc/helpers/esm/_class_private_field_init.js","../../node_modules/@internationalized/date/dist/CalendarDate.mjs","../../node_modules/@internationalized/date/dist/DateFormatter.mjs","../../node_modules/@ark-ui/react/dist/utils/render-strategy.js","../../node_modules/@ark-ui/react/dist/components/accordion/use-accordion-item-props-context.js","../../node_modules/@ark-ui/react/dist/components/accordion/accordion-item.js","../../node_modules/@ark-ui/react/dist/components/collapsible/collapsible-content.js","../../node_modules/@ark-ui/react/dist/components/accordion/accordion-item-content.js","../../node_modules/@ark-ui/react/dist/components/accordion/accordion-item-context.js","../../node_modules/@ark-ui/react/dist/components/accordion/accordion-item-indicator.js","../../node_modules/@ark-ui/react/dist/components/accordion/accordion-item-trigger.js","../../node_modules/@ark-ui/react/dist/components/accordion/use-accordion.js","../../node_modules/@ark-ui/react/dist/components/accordion/accordion-root.js","../../node_modules/@ark-ui/react/dist/components/accordion/accordion-root-provider.js","../../node_modules/@zag-js/presence/dist/index.mjs","../../node_modules/@ark-ui/react/dist/components/presence/use-presence.js","../../node_modules/@ark-ui/react/dist/components/dialog/use-dialog-context.js","../../node_modules/@ark-ui/react/dist/components/dialog/dialog-backdrop.js","../../node_modules/@ark-ui/react/dist/components/dialog/dialog-close-trigger.js","../../node_modules/@ark-ui/react/dist/components/presence/use-presence-context.js","../../node_modules/@ark-ui/react/dist/components/dialog/dialog-content.js","../../node_modules/@ark-ui/react/dist/components/dialog/dialog-context.js","../../node_modules/@ark-ui/react/dist/components/dialog/dialog-description.js","../../node_modules/@ark-ui/react/dist/components/dialog/dialog-positioner.js","../../node_modules/@ark-ui/react/dist/components/presence/split-presence-props.js","../../node_modules/@zag-js/aria-hidden/dist/index.mjs","../../node_modules/@zag-js/focus-trap/dist/index.mjs","../../node_modules/@zag-js/remove-scroll/dist/index.mjs","../../node_modules/@zag-js/dialog/dist/index.mjs","../../node_modules/@ark-ui/react/dist/components/dialog/use-dialog.js","../../node_modules/@ark-ui/react/dist/components/dialog/dialog-root.js","../../node_modules/@ark-ui/react/dist/components/dialog/dialog-root-provider.js","../../node_modules/@ark-ui/react/dist/components/dialog/dialog-title.js","../../node_modules/@ark-ui/react/dist/components/dialog/dialog-trigger.js","../../node_modules/@ark-ui/react/dist/components/editable/use-editable-context.js","../../node_modules/@ark-ui/react/dist/components/editable/editable-area.js","../../node_modules/@ark-ui/react/dist/components/editable/editable-cancel-trigger.js","../../node_modules/@ark-ui/react/dist/components/editable/editable-context.js","../../node_modules/@ark-ui/react/dist/components/editable/editable-control.js","../../node_modules/@ark-ui/react/dist/components/editable/editable-edit-trigger.js","../../node_modules/@ark-ui/react/dist/components/field/use-field-context.js","../../node_modules/@ark-ui/react/dist/components/editable/editable-input.js","../../node_modules/@ark-ui/react/dist/components/editable/editable-preview.js","../../node_modules/@zag-js/editable/dist/index.mjs","../../node_modules/@ark-ui/react/dist/components/editable/use-editable.js","../../node_modules/@ark-ui/react/dist/components/editable/editable-root.js","../../node_modules/@ark-ui/react/dist/components/editable/editable-root-provider.js","../../node_modules/@ark-ui/react/dist/components/editable/editable-submit-trigger.js","../../node_modules/@ark-ui/react/dist/components/field/field-error-text.js","../../node_modules/@ark-ui/react/dist/components/field/field-helper-text.js","../../node_modules/@ark-ui/react/dist/components/field/field-input.js","../../node_modules/@ark-ui/react/dist/components/field/field-label.js","../../node_modules/@ark-ui/react/dist/utils/use-safe-layout-effect.js","../../node_modules/@ark-ui/react/dist/components/fieldset/use-fieldset-context.js","../../node_modules/@ark-ui/react/dist/components/field/field.anatomy.js","../../node_modules/@ark-ui/react/dist/components/field/use-field.js","../../node_modules/@ark-ui/react/dist/components/field/field-root.js","../../node_modules/@ark-ui/react/dist/components/field/field-select.js","../../node_modules/@zag-js/auto-resize/dist/index.mjs","../../node_modules/@ark-ui/react/dist/components/field/field-textarea.js","../../node_modules/@ark-ui/react/dist/components/fieldset/fieldset-context.js","../../node_modules/@ark-ui/react/dist/components/fieldset/fieldset-error-text.js","../../node_modules/@ark-ui/react/dist/components/fieldset/fieldset-helper-text.js","../../node_modules/@ark-ui/react/dist/components/fieldset/fieldset-legend.js","../../node_modules/@ark-ui/react/dist/components/fieldset/fieldset.anatomy.js","../../node_modules/@ark-ui/react/dist/components/fieldset/use-fieldset.js","../../node_modules/@ark-ui/react/dist/components/fieldset/fieldset-root.js","../../node_modules/@ark-ui/react/dist/components/file-upload/use-file-upload-context.js","../../node_modules/@ark-ui/react/dist/components/file-upload/file-upload-context.js","../../node_modules/@ark-ui/react/dist/components/file-upload/file-upload-dropzone.js","../../node_modules/@ark-ui/react/dist/components/file-upload/file-upload-hidden-input.js","../../node_modules/@ark-ui/react/dist/components/file-upload/use-file-upload-item-props-context.js","../../node_modules/@ark-ui/react/dist/components/file-upload/file-upload-item.js","../../node_modules/@ark-ui/react/dist/components/file-upload/file-upload-item-delete-trigger.js","../../node_modules/@ark-ui/react/dist/components/file-upload/file-upload-item-group.js","../../node_modules/@ark-ui/react/dist/components/file-upload/file-upload-item-name.js","../../node_modules/@ark-ui/react/dist/components/file-upload/file-upload-item-preview.js","../../node_modules/@ark-ui/react/dist/components/file-upload/file-upload-item-preview-image.js","../../node_modules/@ark-ui/react/dist/components/file-upload/file-upload-item-size-text.js","../../node_modules/@ark-ui/react/dist/components/file-upload/file-upload-label.js","../../node_modules/@zag-js/file-utils/dist/index.mjs","../../node_modules/@zag-js/file-upload/dist/index.mjs","../../node_modules/@ark-ui/react/dist/components/file-upload/use-file-upload.js","../../node_modules/@ark-ui/react/dist/components/file-upload/file-upload-root.js","../../node_modules/@ark-ui/react/dist/components/file-upload/file-upload-root-provider.js","../../node_modules/@ark-ui/react/dist/components/file-upload/file-upload-trigger.js","../../node_modules/@ark-ui/react/dist/components/menu/use-menu-context.js","../../node_modules/@ark-ui/react/dist/components/menu/menu-arrow.js","../../node_modules/@ark-ui/react/dist/components/menu/menu-arrow-tip.js","../../node_modules/@ark-ui/react/dist/components/menu/use-menu-item-context.js","../../node_modules/@ark-ui/react/dist/components/menu/use-menu-option-item-props-context.js","../../node_modules/@ark-ui/react/dist/components/menu/menu-checkbox-item.js","../../node_modules/@ark-ui/react/dist/components/menu/menu-content.js","../../node_modules/@ark-ui/react/dist/components/menu/menu-context.js","../../node_modules/@ark-ui/react/dist/components/menu/menu-context-trigger.js","../../node_modules/@ark-ui/react/dist/components/menu/menu-indicator.js","../../node_modules/@ark-ui/react/dist/components/menu/menu-item.js","../../node_modules/@ark-ui/react/dist/components/menu/menu-item-context.js","../../node_modules/@ark-ui/react/dist/components/menu/use-menu-item-group-context.js","../../node_modules/@ark-ui/react/dist/components/menu/menu-item-group.js","../../node_modules/@ark-ui/react/dist/components/menu/menu-item-group-label.js","../../node_modules/@ark-ui/react/dist/components/menu/menu-item-indicator.js","../../node_modules/@ark-ui/react/dist/components/menu/menu-item-text.js","../../node_modules/@ark-ui/react/dist/components/menu/menu-positioner.js","../../node_modules/@ark-ui/react/dist/components/menu/menu-radio-item.js","../../node_modules/@ark-ui/react/dist/components/menu/menu-radio-item-group.js","../../node_modules/@ark-ui/react/dist/utils/use-effect-once.js","../../node_modules/@zag-js/rect-utils/dist/index.mjs","../../node_modules/@zag-js/menu/dist/index.mjs","../../node_modules/@ark-ui/react/dist/components/menu/use-menu.js","../../node_modules/@ark-ui/react/dist/components/menu/use-menu-machine-context.js","../../node_modules/@ark-ui/react/dist/components/menu/use-menu-trigger-item-context.js","../../node_modules/@ark-ui/react/dist/components/menu/menu-root.js","../../node_modules/@ark-ui/react/dist/components/menu/menu-root-provider.js","../../node_modules/@ark-ui/react/dist/components/menu/menu-separator.js","../../node_modules/@ark-ui/react/dist/components/menu/menu-trigger.js","../../node_modules/@ark-ui/react/dist/components/menu/menu-trigger-item.js","../../node_modules/@ark-ui/react/dist/components/popover/use-popover-context.js","../../node_modules/@ark-ui/react/dist/components/popover/popover-anchor.js","../../node_modules/@ark-ui/react/dist/components/popover/popover-arrow.js","../../node_modules/@ark-ui/react/dist/components/popover/popover-arrow-tip.js","../../node_modules/@ark-ui/react/dist/components/popover/popover-close-trigger.js","../../node_modules/@ark-ui/react/dist/components/popover/popover-content.js","../../node_modules/@ark-ui/react/dist/components/popover/popover-context.js","../../node_modules/@ark-ui/react/dist/components/popover/popover-description.js","../../node_modules/@ark-ui/react/dist/components/popover/popover-indicator.js","../../node_modules/@ark-ui/react/dist/components/popover/popover-positioner.js","../../node_modules/@zag-js/popover/dist/index.mjs","../../node_modules/@ark-ui/react/dist/components/popover/use-popover.js","../../node_modules/@ark-ui/react/dist/components/popover/popover-root.js","../../node_modules/@ark-ui/react/dist/components/popover/popover-root-provider.js","../../node_modules/@ark-ui/react/dist/components/popover/popover-title.js","../../node_modules/@ark-ui/react/dist/components/popover/popover-trigger.js","../../node_modules/@ark-ui/react/dist/components/radio-group/use-radio-group-context.js","../../node_modules/@ark-ui/react/dist/components/radio-group/radio-group-context.js","../../node_modules/@ark-ui/react/dist/components/radio-group/use-radio-group-item-context.js","../../node_modules/@ark-ui/react/dist/components/radio-group/use-radio-group-item-props-context.js","../../node_modules/@ark-ui/react/dist/components/radio-group/radio-group-item.js","../../node_modules/@ark-ui/react/dist/components/radio-group/radio-group-item-context.js","../../node_modules/@ark-ui/react/dist/components/radio-group/radio-group-item-control.js","../../node_modules/@ark-ui/react/dist/components/radio-group/radio-group-item-hidden-input.js","../../node_modules/@ark-ui/react/dist/components/radio-group/radio-group-item-text.js","../../node_modules/@ark-ui/react/dist/components/radio-group/radio-group-label.js","../../node_modules/@zag-js/focus-visible/dist/index.mjs","../../node_modules/@zag-js/element-rect/dist/index.mjs","../../node_modules/@zag-js/radio-group/dist/index.mjs","../../node_modules/@ark-ui/react/dist/components/radio-group/use-radio-group.js","../../node_modules/@ark-ui/react/dist/components/radio-group/radio-group-root.js","../../node_modules/@ark-ui/react/dist/components/radio-group/radio-group-root-provider.js","../../node_modules/@ark-ui/react/dist/components/rating-group/use-rating-group-context.js","../../node_modules/@ark-ui/react/dist/components/rating-group/rating-group-context.js","../../node_modules/@ark-ui/react/dist/components/rating-group/rating-group-control.js","../../node_modules/@ark-ui/react/dist/components/rating-group/rating-group-hidden-input.js","../../node_modules/@ark-ui/react/dist/components/rating-group/use-rating-group-item-context.js","../../node_modules/@ark-ui/react/dist/components/rating-group/rating-group-item.js","../../node_modules/@ark-ui/react/dist/components/rating-group/rating-group-item-context.js","../../node_modules/@ark-ui/react/dist/components/rating-group/rating-group-label.js","../../node_modules/@zag-js/rating-group/dist/index.mjs","../../node_modules/@ark-ui/react/dist/components/rating-group/use-rating-group.js","../../node_modules/@ark-ui/react/dist/components/rating-group/rating-group-root.js","../../node_modules/@ark-ui/react/dist/components/rating-group/rating-group-root-provider.js","../../node_modules/@zag-js/collection/dist/index.mjs","../../node_modules/@ark-ui/react/dist/components/collection.js","../../node_modules/@ark-ui/react/dist/components/select/use-select-context.js","../../node_modules/@ark-ui/react/dist/components/select/select-clear-trigger.js","../../node_modules/@ark-ui/react/dist/components/select/select-content.js","../../node_modules/@ark-ui/react/dist/components/select/select-context.js","../../node_modules/@ark-ui/react/dist/components/select/select-control.js","../../node_modules/@ark-ui/react/dist/components/select/select-hidden-select.js","../../node_modules/@ark-ui/react/dist/components/select/select-indicator.js","../../node_modules/@ark-ui/react/dist/components/select/use-select-item-context.js","../../node_modules/@ark-ui/react/dist/components/select/use-select-item-props-context.js","../../node_modules/@ark-ui/react/dist/components/select/select-item.js","../../node_modules/@ark-ui/react/dist/components/select/use-select-item-group-props.js","../../node_modules/@ark-ui/react/dist/components/select/select-item-group.js","../../node_modules/@ark-ui/react/dist/components/select/select-item-group-label.js","../../node_modules/@ark-ui/react/dist/components/select/select-item-indicator.js","../../node_modules/@ark-ui/react/dist/components/select/select-item-text.js","../../node_modules/@ark-ui/react/dist/components/select/select-label.js","../../node_modules/@ark-ui/react/dist/components/select/select-positioner.js","../../node_modules/@zag-js/select/dist/index.mjs","../../node_modules/@ark-ui/react/dist/components/select/use-select.js","../../node_modules/@ark-ui/react/dist/components/select/select-root.js","../../node_modules/@ark-ui/react/dist/components/select/select-root-provider.js","../../node_modules/@ark-ui/react/dist/components/select/select-trigger.js","../../node_modules/@ark-ui/react/dist/components/select/select-value-text.js","../../node_modules/@ark-ui/react/dist/components/slider/use-slider-context.js","../../node_modules/@ark-ui/react/dist/components/slider/slider-context.js","../../node_modules/@ark-ui/react/dist/components/slider/slider-control.js","../../node_modules/@ark-ui/react/dist/components/slider/use-slider-thumb-props-context.js","../../node_modules/@ark-ui/react/dist/components/slider/slider-dragging-indicator.js","../../node_modules/@ark-ui/react/dist/components/slider/slider-hidden-input.js","../../node_modules/@ark-ui/react/dist/components/slider/slider-label.js","../../node_modules/@ark-ui/react/dist/components/slider/slider-marker.js","../../node_modules/@ark-ui/react/dist/components/slider/slider-marker-group.js","../../node_modules/@ark-ui/react/dist/components/slider/slider-range.js","../../node_modules/@zag-js/element-size/dist/index.mjs","../../node_modules/@zag-js/slider/dist/index.mjs","../../node_modules/@ark-ui/react/dist/components/slider/use-slider.js","../../node_modules/@ark-ui/react/dist/components/slider/slider-root.js","../../node_modules/@ark-ui/react/dist/components/slider/slider-root-provider.js","../../node_modules/@ark-ui/react/dist/components/slider/slider-thumb.js","../../node_modules/@ark-ui/react/dist/components/slider/slider-track.js","../../node_modules/@ark-ui/react/dist/components/slider/slider-value-text.js","../../node_modules/@ark-ui/react/dist/components/switch/use-switch-context.js","../../node_modules/@ark-ui/react/dist/components/switch/switch-context.js","../../node_modules/@ark-ui/react/dist/components/switch/switch-control.js","../../node_modules/@ark-ui/react/dist/components/switch/switch-hidden-input.js","../../node_modules/@ark-ui/react/dist/components/switch/switch-label.js","../../node_modules/@zag-js/switch/dist/index.mjs","../../node_modules/@ark-ui/react/dist/components/switch/use-switch.js","../../node_modules/@ark-ui/react/dist/components/switch/switch-root.js","../../node_modules/@ark-ui/react/dist/components/switch/switch-root-provider.js","../../node_modules/@ark-ui/react/dist/components/switch/switch-thumb.js","../../node_modules/@ark-ui/react/dist/components/avatar/use-avatar-context.js","../../node_modules/@ark-ui/react/dist/components/avatar/avatar-context.js","../../node_modules/@ark-ui/react/dist/components/avatar/avatar-fallback.js","../../node_modules/@ark-ui/react/dist/components/avatar/avatar-image.js","../../node_modules/@zag-js/avatar/dist/index.mjs","../../node_modules/@ark-ui/react/dist/components/avatar/use-avatar.js","../../node_modules/@ark-ui/react/dist/components/avatar/avatar-root.js","../../node_modules/@ark-ui/react/dist/components/avatar/avatar-root-provider.js","../../node_modules/@ark-ui/react/dist/components/checkbox/use-checkbox-context.js","../../node_modules/@ark-ui/react/dist/components/checkbox/checkbox-context.js","../../node_modules/@ark-ui/react/dist/components/checkbox/checkbox-control.js","../../node_modules/@zag-js/checkbox/dist/index.mjs","../../node_modules/@ark-ui/react/dist/components/checkbox/checkbox.anatomy.js","../../node_modules/@ark-ui/react/dist/utils/use-controllable-state.js","../../node_modules/@ark-ui/react/dist/components/checkbox/use-checkbox-group.js","../../node_modules/@ark-ui/react/dist/components/checkbox/use-checkbox-group-context.js","../../node_modules/@ark-ui/react/dist/components/checkbox/checkbox-group.js","../../node_modules/@ark-ui/react/dist/components/checkbox/checkbox-hidden-input.js","../../node_modules/@ark-ui/react/dist/components/checkbox/checkbox-label.js","../../node_modules/@ark-ui/react/dist/components/checkbox/use-checkbox.js","../../node_modules/@ark-ui/react/dist/components/checkbox/checkbox-root.js","../../node_modules/@ark-ui/react/dist/components/checkbox/checkbox-root-provider.js","../../node_modules/@ark-ui/react/dist/components/collapsible/collapsible-context.js","../../node_modules/@ark-ui/react/dist/components/collapsible/collapsible-root-provider.js","../../node_modules/@ark-ui/react/dist/components/collapsible/collapsible-trigger.js","../../node_modules/@ark-ui/react/dist/components/color-picker/use-color-picker-area-props-context.js","../../node_modules/@ark-ui/react/dist/components/color-picker/use-color-picker-context.js","../../node_modules/@ark-ui/react/dist/components/color-picker/color-picker-area.js","../../node_modules/@ark-ui/react/dist/components/color-picker/color-picker-area-background.js","../../node_modules/@ark-ui/react/dist/components/color-picker/color-picker-area-thumb.js","../../node_modules/@ark-ui/react/dist/components/color-picker/color-picker-channel-input.js","../../node_modules/@ark-ui/react/dist/components/color-picker/use-color-picker-channel-props-context.js","../../node_modules/@ark-ui/react/dist/components/color-picker/use-color-picker-format-context.js","../../node_modules/@ark-ui/react/dist/components/color-picker/color-picker-channel-slider.js","../../node_modules/@ark-ui/react/dist/components/color-picker/color-picker-channel-slider-label.js","../../node_modules/@ark-ui/react/dist/components/color-picker/color-picker-channel-slider-thumb.js","../../node_modules/@ark-ui/react/dist/components/color-picker/color-picker-channel-slider-track.js","../../node_modules/@ark-ui/react/dist/components/color-picker/color-picker-channel-slider-value-text.js","../../node_modules/@ark-ui/react/dist/components/color-picker/color-picker-content.js","../../node_modules/@ark-ui/react/dist/components/color-picker/color-picker-context.js","../../node_modules/@ark-ui/react/dist/components/color-picker/color-picker-control.js","../../node_modules/@ark-ui/react/dist/components/color-picker/color-picker-eye-dropper-trigger.js","../../node_modules/@ark-ui/react/dist/components/color-picker/color-picker-format-select.js","../../node_modules/@ark-ui/react/dist/components/color-picker/color-picker-format-trigger.js","../../node_modules/@ark-ui/react/dist/components/color-picker/color-picker-hidden-input.js","../../node_modules/@ark-ui/react/dist/components/color-picker/color-picker-label.js","../../node_modules/@ark-ui/react/dist/components/color-picker/color-picker-positioner.js","../../node_modules/@ark-ui/react/dist/components/color-picker/use-color-picker.js","../../node_modules/@ark-ui/react/dist/components/color-picker/color-picker-root.js","../../node_modules/@ark-ui/react/dist/components/color-picker/color-picker-root-provider.js","../../node_modules/@ark-ui/react/dist/components/color-picker/use-color-picker-swatch-props-context.js","../../node_modules/@ark-ui/react/dist/components/color-picker/color-picker-swatch.js","../../node_modules/@ark-ui/react/dist/components/color-picker/color-picker-swatch-group.js","../../node_modules/@ark-ui/react/dist/components/color-picker/color-picker-swatch-indicator.js","../../node_modules/@ark-ui/react/dist/components/color-picker/color-picker-swatch-trigger.js","../../node_modules/@ark-ui/react/dist/components/color-picker/color-picker-transparency-grid.js","../../node_modules/@ark-ui/react/dist/components/color-picker/color-picker-trigger.js","../../node_modules/@ark-ui/react/dist/components/color-picker/color-picker-value-swatch.js","../../node_modules/@ark-ui/react/dist/components/color-picker/color-picker-value-text.js","../../node_modules/@ark-ui/react/dist/components/color-picker/color-picker.anatomy.js","../../node_modules/@ark-ui/react/dist/components/color-picker/color-picker-view.js","../../node_modules/@ark-ui/react/dist/components/hover-card/use-hover-card-context.js","../../node_modules/@ark-ui/react/dist/components/hover-card/hover-card-arrow.js","../../node_modules/@ark-ui/react/dist/components/hover-card/hover-card-arrow-tip.js","../../node_modules/@ark-ui/react/dist/components/hover-card/hover-card-content.js","../../node_modules/@ark-ui/react/dist/components/hover-card/hover-card-context.js","../../node_modules/@ark-ui/react/dist/components/hover-card/hover-card-positioner.js","../../node_modules/@zag-js/hover-card/dist/index.mjs","../../node_modules/@ark-ui/react/dist/components/hover-card/use-hover-card.js","../../node_modules/@ark-ui/react/dist/components/hover-card/hover-card-root.js","../../node_modules/@ark-ui/react/dist/components/hover-card/hover-card-root-provider.js","../../node_modules/@ark-ui/react/dist/components/hover-card/hover-card-trigger.js","../../node_modules/@ark-ui/react/dist/components/number-input/use-number-input-context.js","../../node_modules/@ark-ui/react/dist/components/number-input/number-input-context.js","../../node_modules/@ark-ui/react/dist/components/number-input/number-input-control.js","../../node_modules/@ark-ui/react/dist/components/number-input/number-input-decrement-trigger.js","../../node_modules/@ark-ui/react/dist/components/number-input/number-input-increment-trigger.js","../../node_modules/@ark-ui/react/dist/components/number-input/number-input-input.js","../../node_modules/@ark-ui/react/dist/components/number-input/number-input-label.js","../../node_modules/@internationalized/number/dist/NumberFormatter.mjs","../../node_modules/@internationalized/number/dist/NumberParser.mjs","../../node_modules/@zag-js/number-input/dist/index.mjs","../../node_modules/@ark-ui/react/dist/components/number-input/use-number-input.js","../../node_modules/@ark-ui/react/dist/components/number-input/number-input-root.js","../../node_modules/@ark-ui/react/dist/components/number-input/number-input-root-provider.js","../../node_modules/@ark-ui/react/dist/components/number-input/number-input-scrubber.js","../../node_modules/@ark-ui/react/dist/components/number-input/number-input-value-text.js","../../node_modules/@ark-ui/react/dist/components/pin-input/use-pin-input-context.js","../../node_modules/@ark-ui/react/dist/components/pin-input/pin-input-context.js","../../node_modules/@ark-ui/react/dist/components/pin-input/pin-input-control.js","../../node_modules/@ark-ui/react/dist/components/pin-input/pin-input-hidden-input.js","../../node_modules/@ark-ui/react/dist/components/pin-input/pin-input-input.js","../../node_modules/@ark-ui/react/dist/components/pin-input/pin-input-label.js","../../node_modules/@zag-js/pin-input/dist/index.mjs","../../node_modules/@ark-ui/react/dist/components/pin-input/use-pin-input.js","../../node_modules/@ark-ui/react/dist/components/pin-input/pin-input-root.js","../../node_modules/@ark-ui/react/dist/components/pin-input/pin-input-root-provider.js","../../node_modules/@ark-ui/react/dist/components/progress/use-progress-context.js","../../node_modules/@ark-ui/react/dist/components/progress/progress-circle.js","../../node_modules/@ark-ui/react/dist/components/progress/progress-circle-range.js","../../node_modules/@ark-ui/react/dist/components/progress/progress-circle-track.js","../../node_modules/@ark-ui/react/dist/components/progress/progress-context.js","../../node_modules/@ark-ui/react/dist/components/progress/progress-label.js","../../node_modules/@ark-ui/react/dist/components/progress/progress-range.js","../../node_modules/@zag-js/progress/dist/index.mjs","../../node_modules/@ark-ui/react/dist/components/progress/use-progress.js","../../node_modules/@ark-ui/react/dist/components/progress/progress-root.js","../../node_modules/@ark-ui/react/dist/components/progress/progress-root-provider.js","../../node_modules/@ark-ui/react/dist/components/progress/progress-track.js","../../node_modules/@ark-ui/react/dist/components/progress/progress-value-text.js","../../node_modules/@zag-js/qr-code/dist/index.mjs","../../node_modules/@ark-ui/react/dist/components/segment-group/use-segment-group-context.js","../../node_modules/@ark-ui/react/dist/components/segment-group/segment-group-context.js","../../node_modules/@ark-ui/react/dist/components/segment-group/segment-group.anatomy.js","../../node_modules/@ark-ui/react/dist/components/segment-group/segment-group-indicator.js","../../node_modules/@ark-ui/react/dist/components/segment-group/use-segment-group-item-context.js","../../node_modules/@ark-ui/react/dist/components/segment-group/use-segment-group-item-props-context.js","../../node_modules/@ark-ui/react/dist/components/segment-group/segment-group-item.js","../../node_modules/@ark-ui/react/dist/components/segment-group/segment-group-item-context.js","../../node_modules/@ark-ui/react/dist/components/segment-group/segment-group-item-hidden-input.js","../../node_modules/@ark-ui/react/dist/components/segment-group/segment-group-item-text.js","../../node_modules/@ark-ui/react/dist/components/segment-group/use-segment-group.js","../../node_modules/@ark-ui/react/dist/components/segment-group/segment-group-root.js","../../node_modules/@ark-ui/react/dist/components/segment-group/segment-group-root-provider.js","../../node_modules/@ark-ui/react/dist/components/tooltip/use-tooltip-context.js","../../node_modules/@ark-ui/react/dist/components/tooltip/tooltip-arrow.js","../../node_modules/@ark-ui/react/dist/components/tooltip/tooltip-arrow-tip.js","../../node_modules/@ark-ui/react/dist/components/tooltip/tooltip-content.js","../../node_modules/@ark-ui/react/dist/components/tooltip/tooltip-context.js","../../node_modules/@ark-ui/react/dist/components/tooltip/tooltip-positioner.js","../../node_modules/@zag-js/tooltip/dist/index.mjs","../../node_modules/@ark-ui/react/dist/components/tooltip/use-tooltip.js","../../node_modules/@ark-ui/react/dist/components/tooltip/tooltip-root.js","../../node_modules/@ark-ui/react/dist/components/tooltip/tooltip-root-provider.js","../../node_modules/@ark-ui/react/dist/components/tooltip/tooltip-trigger.js","../../node_modules/@chakra-ui/react/dist/esm/anatomy.js","../../node_modules/@chakra-ui/react/dist/esm/theme/recipes/accordion.js","../../node_modules/@chakra-ui/react/dist/esm/theme/recipes/action-bar.js","../../node_modules/@chakra-ui/react/dist/esm/theme/recipes/alert.js","../../node_modules/@chakra-ui/react/dist/esm/theme/recipes/avatar.js","../../node_modules/@chakra-ui/react/dist/esm/theme/recipes/blockquote.js","../../node_modules/@chakra-ui/react/dist/esm/theme/recipes/breadcrumb.js","../../node_modules/@chakra-ui/react/dist/esm/theme/recipes/card.js","../../node_modules/@chakra-ui/react/dist/esm/theme/recipes/checkbox.js","../../node_modules/@chakra-ui/react/dist/esm/theme/recipes/checkbox-card.js","../../node_modules/@chakra-ui/react/dist/esm/theme/recipes/collapsible.js","../../node_modules/@chakra-ui/react/dist/esm/theme/recipes/color-picker.js","../../node_modules/@chakra-ui/react/dist/esm/theme/recipes/data-list.js","../../node_modules/@chakra-ui/react/dist/esm/theme/recipes/dialog.js","../../node_modules/@chakra-ui/react/dist/esm/theme/recipes/drawer.js","../../node_modules/@chakra-ui/react/dist/esm/theme/recipes/editable.js","../../node_modules/@chakra-ui/react/dist/esm/theme/recipes/empty-state.js","../../node_modules/@chakra-ui/react/dist/esm/theme/recipes/field.js","../../node_modules/@chakra-ui/react/dist/esm/theme/recipes/fieldset.js","../../node_modules/@chakra-ui/react/dist/esm/theme/recipes/file-upload.js","../../node_modules/@chakra-ui/react/dist/esm/theme/recipes/hover-card.js","../../node_modules/@chakra-ui/react/dist/esm/theme/recipes/list.js","../../node_modules/@chakra-ui/react/dist/esm/theme/recipes/menu.js","../../node_modules/@chakra-ui/react/dist/esm/theme/recipes/select.js","../../node_modules/@chakra-ui/react/dist/esm/theme/recipes/native-select.js","../../node_modules/@chakra-ui/react/dist/esm/utils/entries.js","../../node_modules/@chakra-ui/react/dist/esm/theme/recipes/number-input.js","../../node_modules/@chakra-ui/react/dist/esm/theme/recipes/pin-input.js","../../node_modules/@chakra-ui/react/dist/esm/theme/recipes/popover.js","../../node_modules/@chakra-ui/react/dist/esm/theme/recipes/progress.js","../../node_modules/@chakra-ui/react/dist/esm/theme/recipes/progress-circle.js","../../node_modules/@chakra-ui/react/dist/esm/theme/recipes/qr-code.js","../../node_modules/@chakra-ui/react/dist/esm/theme/recipes/radio-card.js","../../node_modules/@chakra-ui/react/dist/esm/theme/recipes/radio-group.js","../../node_modules/@chakra-ui/react/dist/esm/theme/recipes/rating-group.js","../../node_modules/@chakra-ui/react/dist/esm/theme/recipes/segment-group.js","../../node_modules/@chakra-ui/react/dist/esm/theme/recipes/slider.js","../../node_modules/@chakra-ui/react/dist/esm/theme/recipes/stat.js","../../node_modules/@chakra-ui/react/dist/esm/theme/recipes/status.js","../../node_modules/@chakra-ui/react/dist/esm/theme/recipes/steps.js","../../node_modules/@chakra-ui/react/dist/esm/theme/recipes/switch.js","../../node_modules/@chakra-ui/react/dist/esm/theme/recipes/table.js","../../node_modules/@chakra-ui/react/dist/esm/theme/recipes/tabs.js","../../node_modules/@chakra-ui/react/dist/esm/theme/recipes/tag.js","../../node_modules/@chakra-ui/react/dist/esm/theme/recipes/timeline.js","../../node_modules/@chakra-ui/react/dist/esm/theme/recipes/toast.js","../../node_modules/@chakra-ui/react/dist/esm/theme/recipes/tooltip.js","../../node_modules/@chakra-ui/react/dist/esm/theme/slot-recipes.js","../../node_modules/@chakra-ui/react/dist/esm/theme/text-styles.js","../../node_modules/@chakra-ui/react/dist/esm/theme/tokens/animations.js","../../node_modules/@chakra-ui/react/dist/esm/theme/tokens/aspect-ratios.js","../../node_modules/@chakra-ui/react/dist/esm/theme/tokens/blurs.js","../../node_modules/@chakra-ui/react/dist/esm/theme/tokens/borders.js","../../node_modules/@chakra-ui/react/dist/esm/theme/tokens/colors.js","../../node_modules/@chakra-ui/react/dist/esm/theme/tokens/cursor.js","../../node_modules/@chakra-ui/react/dist/esm/theme/tokens/durations.js","../../node_modules/@chakra-ui/react/dist/esm/theme/tokens/easings.js","../../node_modules/@chakra-ui/react/dist/esm/theme/tokens/font-sizes.js","../../node_modules/@chakra-ui/react/dist/esm/theme/tokens/font-weights.js","../../node_modules/@chakra-ui/react/dist/esm/theme/tokens/fonts.js","../../node_modules/@chakra-ui/react/dist/esm/theme/tokens/keyframes.js","../../node_modules/@chakra-ui/react/dist/esm/theme/tokens/letter-spacing.js","../../node_modules/@chakra-ui/react/dist/esm/theme/tokens/line-heights.js","../../node_modules/@chakra-ui/react/dist/esm/theme/tokens/radius.js","../../node_modules/@chakra-ui/react/dist/esm/theme/tokens/spacing.js","../../node_modules/@chakra-ui/react/dist/esm/theme/tokens/sizes.js","../../node_modules/@chakra-ui/react/dist/esm/theme/tokens/z-indices.js","../../node_modules/@chakra-ui/react/dist/esm/theme/index.js","../../node_modules/@chakra-ui/react/dist/esm/preset.js","../../node_modules/@chakra-ui/react/dist/esm/styled-system/use-slot-recipe.js","../../node_modules/@chakra-ui/react/dist/esm/styled-system/create-slot-recipe-context.js","../../node_modules/@chakra-ui/react/dist/esm/styled-system/recipe-props.js","../../node_modules/@chakra-ui/react/dist/esm/styled-system/use-token.js","../../node_modules/@chakra-ui/react/dist/esm/components/accordion/accordion.js","../../node_modules/@chakra-ui/react/dist/esm/components/action-bar/action-bar.js","../../node_modules/@chakra-ui/react/dist/esm/components/icons.js","../../node_modules/@chakra-ui/react/dist/esm/components/alert/alert.js","../../node_modules/@chakra-ui/react/dist/esm/components/aspect-ratio/aspect-ratio.js","../../node_modules/@chakra-ui/react/dist/esm/components/avatar/avatar.js","../../node_modules/@chakra-ui/react/dist/esm/components/badge/badge.js","../../node_modules/@chakra-ui/react/dist/esm/utils/unit.js","../../node_modules/@chakra-ui/react/dist/esm/components/bleed/bleed.js","../../node_modules/@chakra-ui/react/dist/esm/components/blockquote/blockquote.js","../../node_modules/@chakra-ui/react/dist/esm/components/box/box.js","../../node_modules/@chakra-ui/react/dist/esm/components/box/square.js","../../node_modules/@chakra-ui/react/dist/esm/components/box/circle.js","../../node_modules/@chakra-ui/react/dist/esm/components/box/span.js","../../node_modules/@chakra-ui/react/dist/esm/components/breadcrumb/breadcrumb.js","../../node_modules/@chakra-ui/react/dist/esm/components/button/button.js","../../node_modules/@chakra-ui/react/dist/esm/components/button/icon-button.js","../../node_modules/@chakra-ui/react/dist/esm/components/card/card.js","../../node_modules/@chakra-ui/react/dist/esm/components/center/center.js","../../node_modules/@chakra-ui/react/dist/esm/components/center/absolute-center.js","../../node_modules/@chakra-ui/react/dist/esm/utils/attr.js","../../node_modules/@chakra-ui/react/dist/esm/components/checkmark/checkmark.js","../../node_modules/@chakra-ui/react/dist/esm/components/checkbox/checkbox.js","../../node_modules/@chakra-ui/react/dist/esm/components/checkbox-card/checkbox-card.js","../../node_modules/@chakra-ui/react/dist/esm/components/show/show.js","../../node_modules/@chakra-ui/react/dist/esm/components/client-only/client-only.js","../../node_modules/@ark-ui/react/dist/components/clipboard/use-clipboard-context.js","../../node_modules/@ark-ui/react/dist/components/clipboard/clipboard-context.js","../../node_modules/@ark-ui/react/dist/components/clipboard/clipboard-control.js","../../node_modules/@ark-ui/react/dist/components/clipboard/clipboard-indicator.js","../../node_modules/@ark-ui/react/dist/components/clipboard/clipboard-input.js","../../node_modules/@ark-ui/react/dist/components/clipboard/clipboard-label.js","../../node_modules/@zag-js/clipboard/dist/index.mjs","../../node_modules/@ark-ui/react/dist/components/clipboard/use-clipboard.js","../../node_modules/@ark-ui/react/dist/components/clipboard/clipboard-root.js","../../node_modules/@ark-ui/react/dist/components/clipboard/clipboard-root-provider.js","../../node_modules/@ark-ui/react/dist/components/clipboard/clipboard-trigger.js","../../node_modules/@ark-ui/react/dist/components/clipboard/clipboard-value-text.js","../../node_modules/@chakra-ui/react/dist/esm/components/clipboard/clipboard.js","../../node_modules/@chakra-ui/react/dist/esm/components/code/code.js","../../node_modules/@chakra-ui/react/dist/esm/components/collapsible/collapsible.js","../../node_modules/@chakra-ui/react/dist/esm/components/color-picker/color-picker.js","../../node_modules/@chakra-ui/react/dist/esm/components/container/container.js","../../node_modules/@chakra-ui/react/dist/esm/components/data-list/data-list.js","../../node_modules/@chakra-ui/react/dist/esm/components/dialog/dialog.js","../../node_modules/@chakra-ui/react/dist/esm/components/drawer/drawer.js","../../node_modules/@chakra-ui/react/dist/esm/components/editable/editable.js","../../node_modules/@chakra-ui/react/dist/esm/components/empty-state/empty-state.js","../../node_modules/@ark-ui/react/dist/utils/run-if-fn.js","../../node_modules/@ark-ui/react/dist/providers/environment/environment-provider.js","../../node_modules/@chakra-ui/react/dist/esm/components/icon/icon.js","../../node_modules/@chakra-ui/react/dist/esm/components/icon/create-icon.js","../../node_modules/@chakra-ui/react/dist/esm/components/field/field.js","../../node_modules/@chakra-ui/react/dist/esm/components/fieldset/fieldset.js","../../node_modules/@chakra-ui/react/dist/esm/components/file-upload/file-upload.js","../../node_modules/@chakra-ui/react/dist/esm/components/flex/flex.js","../../node_modules/@chakra-ui/react/dist/esm/components/float/float.js","../../node_modules/@chakra-ui/react/dist/esm/components/for/for.js","../../node_modules/@chakra-ui/react/dist/esm/components/grid/grid-item.js","../../node_modules/@chakra-ui/react/dist/esm/components/grid/simple-grid.js","../../node_modules/@chakra-ui/react/dist/esm/components/group/group.js","../../node_modules/@zag-js/highlight-word/dist/index.mjs","../../node_modules/@ark-ui/react/dist/components/highlight/use-highlight.js","../../node_modules/@chakra-ui/react/dist/esm/components/typography/mark.js","../../node_modules/@chakra-ui/react/dist/esm/components/highlight/highlight.js","../../node_modules/@chakra-ui/react/dist/esm/components/hover-card/hover-card.js","../../node_modules/@chakra-ui/react/dist/esm/components/image/image.js","../../node_modules/@chakra-ui/react/dist/esm/components/input/input.js","../../node_modules/@chakra-ui/react/dist/esm/components/input/input-addon.js","../../node_modules/@chakra-ui/react/dist/esm/components/input/input-element.js","../../node_modules/@chakra-ui/react/dist/esm/components/kbd/kbd.js","../../node_modules/@chakra-ui/react/dist/esm/components/link/link.js","../../node_modules/@chakra-ui/react/dist/esm/components/link/link-box.js","../../node_modules/@chakra-ui/react/dist/esm/components/list/list.js","../../node_modules/@ark-ui/react/dist/providers/locale/locale-provider.js","../../node_modules/@chakra-ui/react/dist/esm/components/menu/menu.js","../../node_modules/@chakra-ui/react/dist/esm/components/native-select/native-select.js","../../node_modules/@chakra-ui/react/dist/esm/components/number-input/number-input.js","../../node_modules/@ark-ui/react/dist/components/pagination/use-pagination-context.js","../../node_modules/@ark-ui/react/dist/components/pagination/pagination-context.js","../../node_modules/@ark-ui/react/dist/components/pagination/pagination-ellipsis.js","../../node_modules/@ark-ui/react/dist/components/pagination/pagination-item.js","../../node_modules/@ark-ui/react/dist/components/pagination/pagination-next-trigger.js","../../node_modules/@ark-ui/react/dist/components/pagination/pagination-prev-trigger.js","../../node_modules/@zag-js/pagination/dist/index.mjs","../../node_modules/@ark-ui/react/dist/components/pagination/use-pagination.js","../../node_modules/@ark-ui/react/dist/components/pagination/pagination-root.js","../../node_modules/@ark-ui/react/dist/components/pagination/pagination-root-provider.js","../../node_modules/@chakra-ui/react/dist/esm/components/pagination/pagination.js","../../node_modules/@chakra-ui/react/dist/esm/components/pin-input/pin-input.js","../../node_modules/@chakra-ui/react/dist/esm/components/popover/popover.js","../../node_modules/@ark-ui/react/dist/components/portal/portal.js","../../node_modules/@chakra-ui/react/dist/esm/components/progress/progress.js","../../node_modules/@chakra-ui/react/dist/esm/components/progress-circle/progress-circle.js","../../node_modules/@chakra-ui/react/dist/esm/components/radiomark/radiomark.js","../../node_modules/@chakra-ui/react/dist/esm/components/radio-card/radio-card.js","../../node_modules/@chakra-ui/react/dist/esm/components/radio-group/radio-group.js","../../node_modules/@chakra-ui/react/dist/esm/components/rating-group/rating-group.js","../../node_modules/@chakra-ui/react/dist/esm/components/segment-group/segment-group.js","../../node_modules/@chakra-ui/react/dist/esm/components/select/select.js","../../node_modules/@chakra-ui/react/dist/esm/components/separator/separator.js","../../node_modules/@chakra-ui/react/dist/esm/components/skeleton/skeleton.js","../../node_modules/@chakra-ui/react/dist/esm/components/skip-nav/skip-nav-link.js","../../node_modules/@chakra-ui/react/dist/esm/components/skip-nav/skip-nav-content.js","../../node_modules/@chakra-ui/react/dist/esm/components/slider/slider.js","../../node_modules/@chakra-ui/react/dist/esm/components/spacer/spacer.js","../../node_modules/@chakra-ui/react/dist/esm/components/spinner/spinner.js","../../node_modules/@chakra-ui/react/dist/esm/components/stack/get-separator-style.js","../../node_modules/@chakra-ui/react/dist/esm/components/stack/stack.js","../../node_modules/@chakra-ui/react/dist/esm/components/stack/h-stack.js","../../node_modules/@chakra-ui/react/dist/esm/components/stack/v-stack.js","../../node_modules/@chakra-ui/react/dist/esm/components/stack/stack-separator.js","../../node_modules/@chakra-ui/react/dist/esm/components/stat/stat.js","../../node_modules/@chakra-ui/react/dist/esm/components/status/status.js","../../node_modules/@ark-ui/react/dist/components/steps/use-steps-context.js","../../node_modules/@ark-ui/react/dist/components/steps/steps-completed-content.js","../../node_modules/@ark-ui/react/dist/components/steps/steps-content.js","../../node_modules/@ark-ui/react/dist/components/steps/steps-context.js","../../node_modules/@ark-ui/react/dist/components/steps/use-steps-item-props-context.js","../../node_modules/@ark-ui/react/dist/components/steps/steps-indicator.js","../../node_modules/@ark-ui/react/dist/components/steps/use-steps-item-context.js","../../node_modules/@ark-ui/react/dist/components/steps/steps-item.js","../../node_modules/@ark-ui/react/dist/components/steps/steps-item-context.js","../../node_modules/@ark-ui/react/dist/components/steps/steps-list.js","../../node_modules/@ark-ui/react/dist/components/steps/steps-next-trigger.js","../../node_modules/@ark-ui/react/dist/components/steps/steps-prev-trigger.js","../../node_modules/@zag-js/steps/dist/index.mjs","../../node_modules/@ark-ui/react/dist/components/steps/use-steps.js","../../node_modules/@ark-ui/react/dist/components/steps/steps-root.js","../../node_modules/@ark-ui/react/dist/components/steps/steps-root-provider.js","../../node_modules/@ark-ui/react/dist/components/steps/steps-separator.js","../../node_modules/@ark-ui/react/dist/components/steps/steps-trigger.js","../../node_modules/@chakra-ui/react/dist/esm/components/steps/steps.js","../../node_modules/@chakra-ui/react/dist/esm/components/switch/switch.js","../../node_modules/@chakra-ui/react/dist/esm/components/table/table.js","../../node_modules/@ark-ui/react/dist/utils/use-debounce.js","../../node_modules/@ark-ui/react/dist/components/tabs/use-tabs-context.js","../../node_modules/@ark-ui/react/dist/components/tabs/tab-content.js","../../node_modules/@ark-ui/react/dist/components/tabs/tab-indicator.js","../../node_modules/@ark-ui/react/dist/components/tabs/tab-list.js","../../node_modules/@ark-ui/react/dist/components/tabs/tab-trigger.js","../../node_modules/@ark-ui/react/dist/components/tabs/tabs-context.js","../../node_modules/@zag-js/tabs/dist/index.mjs","../../node_modules/@ark-ui/react/dist/components/tabs/use-tabs.js","../../node_modules/@ark-ui/react/dist/components/tabs/tabs-root.js","../../node_modules/@ark-ui/react/dist/components/tabs/tabs-root-provider.js","../../node_modules/@chakra-ui/react/dist/esm/components/tabs/tabs.js","../../node_modules/@chakra-ui/react/dist/esm/components/tag/tag.js","../../node_modules/@chakra-ui/react/dist/esm/components/textarea/textarea.js","../../node_modules/@chakra-ui/react/dist/esm/components/timeline/timeline.js","../../node_modules/@zag-js/toast/dist/index.mjs","../../node_modules/@ark-ui/react/dist/components/toast/create-toaster.js","../../node_modules/@ark-ui/react/dist/components/toast/use-toast-context.js","../../node_modules/@ark-ui/react/dist/components/toast/toast-action-trigger.js","../../node_modules/@ark-ui/react/dist/components/toast/toast-close-trigger.js","../../node_modules/@ark-ui/react/dist/components/toast/toast-description.js","../../node_modules/@ark-ui/react/dist/components/toast/toast-root.js","../../node_modules/@ark-ui/react/dist/components/toast/toast-title.js","../../node_modules/@ark-ui/react/dist/components/toast/toaster.js","../../node_modules/@chakra-ui/react/dist/esm/components/toast/toast.js","../../node_modules/@chakra-ui/react/dist/esm/components/tooltip/tooltip.js","../../node_modules/@chakra-ui/react/dist/esm/components/typography/heading.js","../../node_modules/@chakra-ui/react/dist/esm/components/typography/text.js","../../node_modules/@chakra-ui/react/dist/esm/components/typography/em.js","../../node_modules/@chakra-ui/react/dist/esm/components/visually-hidden/visually-hidden.js","../../node_modules/react-icons/lib/iconContext.mjs","../../node_modules/react-icons/lib/iconBase.mjs","../../node_modules/react-icons/lu/index.mjs","../../node_modules/lodash.debounce/index.js","../../node_modules/usehooks-ts/dist/index.js","../../node_modules/react-icons/hi/index.mjs","../../node_modules/date-fns/constants.js","../../node_modules/date-fns/constructFrom.js","../../node_modules/date-fns/toDate.js","../../node_modules/date-fns/addDays.js","../../node_modules/date-fns/addMonths.js","../../node_modules/date-fns/_lib/defaultOptions.js","../../node_modules/date-fns/startOfWeek.js","../../node_modules/date-fns/startOfISOWeek.js","../../node_modules/date-fns/getISOWeekYear.js","../../node_modules/date-fns/_lib/getTimezoneOffsetInMilliseconds.js","../../node_modules/date-fns/_lib/normalizeDates.js","../../node_modules/date-fns/startOfDay.js","../../node_modules/date-fns/differenceInCalendarDays.js","../../node_modules/date-fns/startOfISOWeekYear.js","../../node_modules/date-fns/addWeeks.js","../../node_modules/date-fns/addYears.js","../../node_modules/date-fns/max.js","../../node_modules/date-fns/min.js","../../node_modules/date-fns/isSameDay.js","../../node_modules/date-fns/isDate.js","../../node_modules/date-fns/isValid.js","../../node_modules/date-fns/differenceInCalendarMonths.js","../../node_modules/date-fns/endOfMonth.js","../../node_modules/date-fns/_lib/normalizeInterval.js","../../node_modules/date-fns/eachMonthOfInterval.js","../../node_modules/date-fns/startOfMonth.js","../../node_modules/date-fns/endOfYear.js","../../node_modules/date-fns/startOfYear.js","../../node_modules/date-fns/endOfWeek.js","../../node_modules/date-fns/endOfISOWeek.js","../../node_modules/date-fns/locale/en-US/_lib/formatDistance.js","../../node_modules/date-fns/locale/_lib/buildFormatLongFn.js","../../node_modules/date-fns/locale/en-US/_lib/formatLong.js","../../node_modules/date-fns/locale/en-US/_lib/formatRelative.js","../../node_modules/date-fns/locale/_lib/buildLocalizeFn.js","../../node_modules/date-fns/locale/en-US/_lib/localize.js","../../node_modules/date-fns/locale/_lib/buildMatchFn.js","../../node_modules/date-fns/locale/_lib/buildMatchPatternFn.js","../../node_modules/date-fns/locale/en-US/_lib/match.js","../../node_modules/date-fns/locale/en-US.js","../../node_modules/date-fns/getDayOfYear.js","../../node_modules/date-fns/getISOWeek.js","../../node_modules/date-fns/getWeekYear.js","../../node_modules/date-fns/startOfWeekYear.js","../../node_modules/date-fns/getWeek.js","../../node_modules/date-fns/_lib/addLeadingZeros.js","../../node_modules/date-fns/_lib/format/lightFormatters.js","../../node_modules/date-fns/_lib/format/formatters.js","../../node_modules/date-fns/_lib/format/longFormatters.js","../../node_modules/date-fns/_lib/protectedTokens.js","../../node_modules/date-fns/format.js","../../node_modules/date-fns/getDaysInMonth.js","../../node_modules/date-fns/getDefaultOptions.js","../../node_modules/date-fns/getISODay.js","../../node_modules/date-fns/getMonth.js","../../node_modules/date-fns/getYear.js","../../node_modules/date-fns/isAfter.js","../../node_modules/date-fns/isBefore.js","../../node_modules/date-fns/transpose.js","../../node_modules/date-fns/parse/_lib/Setter.js","../../node_modules/date-fns/parse/_lib/Parser.js","../../node_modules/date-fns/parse/_lib/parsers/EraParser.js","../../node_modules/date-fns/parse/_lib/constants.js","../../node_modules/date-fns/parse/_lib/utils.js","../../node_modules/date-fns/parse/_lib/parsers/YearParser.js","../../node_modules/date-fns/parse/_lib/parsers/LocalWeekYearParser.js","../../node_modules/date-fns/parse/_lib/parsers/ISOWeekYearParser.js","../../node_modules/date-fns/parse/_lib/parsers/ExtendedYearParser.js","../../node_modules/date-fns/parse/_lib/parsers/QuarterParser.js","../../node_modules/date-fns/parse/_lib/parsers/StandAloneQuarterParser.js","../../node_modules/date-fns/parse/_lib/parsers/MonthParser.js","../../node_modules/date-fns/parse/_lib/parsers/StandAloneMonthParser.js","../../node_modules/date-fns/setWeek.js","../../node_modules/date-fns/parse/_lib/parsers/LocalWeekParser.js","../../node_modules/date-fns/setISOWeek.js","../../node_modules/date-fns/parse/_lib/parsers/ISOWeekParser.js","../../node_modules/date-fns/parse/_lib/parsers/DateParser.js","../../node_modules/date-fns/parse/_lib/parsers/DayOfYearParser.js","../../node_modules/date-fns/setDay.js","../../node_modules/date-fns/parse/_lib/parsers/DayParser.js","../../node_modules/date-fns/parse/_lib/parsers/LocalDayParser.js","../../node_modules/date-fns/parse/_lib/parsers/StandAloneLocalDayParser.js","../../node_modules/date-fns/setISODay.js","../../node_modules/date-fns/parse/_lib/parsers/ISODayParser.js","../../node_modules/date-fns/parse/_lib/parsers/AMPMParser.js","../../node_modules/date-fns/parse/_lib/parsers/AMPMMidnightParser.js","../../node_modules/date-fns/parse/_lib/parsers/DayPeriodParser.js","../../node_modules/date-fns/parse/_lib/parsers/Hour1to12Parser.js","../../node_modules/date-fns/parse/_lib/parsers/Hour0to23Parser.js","../../node_modules/date-fns/parse/_lib/parsers/Hour0To11Parser.js","../../node_modules/date-fns/parse/_lib/parsers/Hour1To24Parser.js","../../node_modules/date-fns/parse/_lib/parsers/MinuteParser.js","../../node_modules/date-fns/parse/_lib/parsers/SecondParser.js","../../node_modules/date-fns/parse/_lib/parsers/FractionOfSecondParser.js","../../node_modules/date-fns/parse/_lib/parsers/ISOTimezoneWithZParser.js","../../node_modules/date-fns/parse/_lib/parsers/ISOTimezoneParser.js","../../node_modules/date-fns/parse/_lib/parsers/TimestampSecondsParser.js","../../node_modules/date-fns/parse/_lib/parsers/TimestampMillisecondsParser.js","../../node_modules/date-fns/parse/_lib/parsers.js","../../node_modules/date-fns/parse.js","../../node_modules/date-fns/isSameMonth.js","../../node_modules/date-fns/isSameYear.js","../../node_modules/date-fns/setMonth.js","../../node_modules/date-fns/setYear.js","../../node_modules/date-fns/locale/nb/_lib/formatDistance.js","../../node_modules/date-fns/locale/nb/_lib/formatLong.js","../../node_modules/date-fns/locale/nb/_lib/formatRelative.js","../../node_modules/date-fns/locale/nb/_lib/localize.js","../../node_modules/date-fns/locale/nb/_lib/match.js","../../node_modules/date-fns/locale/nb.js","../../node_modules/react-day-picker/dist/esm/UI.js","../../node_modules/@date-fns/tz/tzOffset/index.js","../../node_modules/@date-fns/tz/date/mini.js","../../node_modules/@date-fns/tz/date/index.js","../../node_modules/react-day-picker/dist/esm/helpers/getBroadcastWeeksInMonth.js","../../node_modules/react-day-picker/dist/esm/helpers/startOfBroadcastWeek.js","../../node_modules/react-day-picker/dist/esm/helpers/endOfBroadcastWeek.js","../../node_modules/react-day-picker/dist/esm/classes/DateLib.js","../../node_modules/react-day-picker/dist/esm/helpers/getClassNamesForModifiers.js","../../node_modules/react-day-picker/dist/esm/components/Button.js","../../node_modules/react-day-picker/dist/esm/components/CaptionLabel.js","../../node_modules/react-day-picker/dist/esm/components/Chevron.js","../../node_modules/react-day-picker/dist/esm/components/Day.js","../../node_modules/react-day-picker/dist/esm/components/DayButton.js","../../node_modules/react-day-picker/dist/esm/components/Dropdown.js","../../node_modules/react-day-picker/dist/esm/components/DropdownNav.js","../../node_modules/react-day-picker/dist/esm/components/Footer.js","../../node_modules/react-day-picker/dist/esm/components/Month.js","../../node_modules/react-day-picker/dist/esm/components/MonthCaption.js","../../node_modules/react-day-picker/dist/esm/components/MonthGrid.js","../../node_modules/react-day-picker/dist/esm/components/Months.js","../../node_modules/react-day-picker/dist/esm/useDayPicker.js","../../node_modules/react-day-picker/dist/esm/components/MonthsDropdown.js","../../node_modules/react-day-picker/dist/esm/components/Nav.js","../../node_modules/react-day-picker/dist/esm/components/NextMonthButton.js","../../node_modules/react-day-picker/dist/esm/components/Option.js","../../node_modules/react-day-picker/dist/esm/components/PreviousMonthButton.js","../../node_modules/react-day-picker/dist/esm/components/Root.js","../../node_modules/react-day-picker/dist/esm/components/Select.js","../../node_modules/react-day-picker/dist/esm/components/Week.js","../../node_modules/react-day-picker/dist/esm/components/Weekday.js","../../node_modules/react-day-picker/dist/esm/components/Weekdays.js","../../node_modules/react-day-picker/dist/esm/components/WeekNumber.js","../../node_modules/react-day-picker/dist/esm/components/WeekNumberHeader.js","../../node_modules/react-day-picker/dist/esm/components/Weeks.js","../../node_modules/react-day-picker/dist/esm/components/YearsDropdown.js","../../node_modules/react-day-picker/dist/esm/helpers/getComponents.js","../../node_modules/react-day-picker/dist/esm/helpers/getDataAttributes.js","../../node_modules/react-day-picker/dist/esm/helpers/getDefaultClassNames.js","../../node_modules/react-day-picker/dist/esm/formatters/formatCaption.js","../../node_modules/react-day-picker/dist/esm/formatters/formatDay.js","../../node_modules/react-day-picker/dist/esm/formatters/formatMonthDropdown.js","../../node_modules/react-day-picker/dist/esm/formatters/formatWeekNumber.js","../../node_modules/react-day-picker/dist/esm/formatters/formatWeekNumberHeader.js","../../node_modules/react-day-picker/dist/esm/formatters/formatWeekdayName.js","../../node_modules/react-day-picker/dist/esm/formatters/formatYearDropdown.js","../../node_modules/react-day-picker/dist/esm/helpers/getFormatters.js","../../node_modules/react-day-picker/dist/esm/helpers/getMonthOptions.js","../../node_modules/react-day-picker/dist/esm/helpers/getStyleForModifiers.js","../../node_modules/react-day-picker/dist/esm/helpers/getWeekdays.js","../../node_modules/react-day-picker/dist/esm/helpers/getYearOptions.js","../../node_modules/react-day-picker/dist/esm/labels/labelGrid.js","../../node_modules/react-day-picker/dist/esm/labels/labelGridcell.js","../../node_modules/react-day-picker/dist/esm/labels/labelDayButton.js","../../node_modules/react-day-picker/dist/esm/labels/labelNav.js","../../node_modules/react-day-picker/dist/esm/labels/labelMonthDropdown.js","../../node_modules/react-day-picker/dist/esm/labels/labelNext.js","../../node_modules/react-day-picker/dist/esm/labels/labelPrevious.js","../../node_modules/react-day-picker/dist/esm/labels/labelWeekday.js","../../node_modules/react-day-picker/dist/esm/labels/labelWeekNumber.js","../../node_modules/react-day-picker/dist/esm/labels/labelWeekNumberHeader.js","../../node_modules/react-day-picker/dist/esm/labels/labelYearDropdown.js","../../node_modules/react-day-picker/dist/esm/helpers/getDates.js","../../node_modules/react-day-picker/dist/esm/helpers/getDays.js","../../node_modules/react-day-picker/dist/esm/helpers/getDisplayMonths.js","../../node_modules/react-day-picker/dist/esm/helpers/getInitialMonth.js","../../node_modules/react-day-picker/dist/esm/classes/CalendarDay.js","../../node_modules/react-day-picker/dist/esm/classes/CalendarMonth.js","../../node_modules/react-day-picker/dist/esm/classes/CalendarWeek.js","../../node_modules/react-day-picker/dist/esm/helpers/getMonths.js","../../node_modules/react-day-picker/dist/esm/helpers/getNavMonth.js","../../node_modules/react-day-picker/dist/esm/helpers/getNextMonth.js","../../node_modules/react-day-picker/dist/esm/helpers/getPreviousMonth.js","../../node_modules/react-day-picker/dist/esm/helpers/getWeeks.js","../../node_modules/react-day-picker/dist/esm/helpers/useControlledValue.js","../../node_modules/react-day-picker/dist/esm/useCalendar.js","../../node_modules/react-day-picker/dist/esm/helpers/calculateFocusTarget.js","../../node_modules/react-day-picker/dist/esm/utils/rangeIncludesDate.js","../../node_modules/react-day-picker/dist/esm/utils/typeguards.js","../../node_modules/react-day-picker/dist/esm/utils/dateMatchModifiers.js","../../node_modules/react-day-picker/dist/esm/helpers/getFocusableDate.js","../../node_modules/react-day-picker/dist/esm/helpers/getNextFocus.js","../../node_modules/react-day-picker/dist/esm/useFocus.js","../../node_modules/react-day-picker/dist/esm/useGetModifiers.js","../../node_modules/react-day-picker/dist/esm/selection/useMulti.js","../../node_modules/react-day-picker/dist/esm/utils/addToRange.js","../../node_modules/react-day-picker/dist/esm/utils/rangeContainsDayOfWeek.js","../../node_modules/react-day-picker/dist/esm/utils/rangeOverlaps.js","../../node_modules/react-day-picker/dist/esm/utils/rangeContainsModifiers.js","../../node_modules/react-day-picker/dist/esm/selection/useRange.js","../../node_modules/react-day-picker/dist/esm/selection/useSingle.js","../../node_modules/react-day-picker/dist/esm/useSelection.js","../../node_modules/react-day-picker/dist/esm/DayPicker.js","../../node_modules/react-icons/hi2/index.mjs","../../node_modules/next-themes/dist/index.mjs","../../node_modules/@babel/runtime/helpers/esm/typeof.js","../../node_modules/@babel/runtime/helpers/esm/toPrimitive.js","../../node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","../../node_modules/@babel/runtime/helpers/esm/defineProperty.js","../../node_modules/@babel/runtime/helpers/esm/objectSpread2.js","../../node_modules/@babel/runtime/helpers/esm/classCallCheck.js","../../node_modules/@babel/runtime/helpers/esm/createClass.js","../../node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","../../node_modules/@babel/runtime/helpers/esm/inherits.js","../../node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","../../node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js","../../node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","../../node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","../../node_modules/@babel/runtime/helpers/esm/createSuper.js","../../node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","../../node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","../../node_modules/@babel/runtime/helpers/esm/iterableToArray.js","../../node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","../../node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","../../node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","../../node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","../../node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","../../node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","../../node_modules/@babel/runtime/helpers/esm/slicedToArray.js","../../node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","../../node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","../../node_modules/@babel/runtime/helpers/esm/taggedTemplateLiteral.js","../../node_modules/use-isomorphic-layout-effect/dist/use-isomorphic-layout-effect.browser.esm.js","../../node_modules/react-select/dist/index-641ee5b8.esm.js","../../node_modules/memoize-one/dist/memoize-one.esm.js","../../node_modules/react-select/dist/Select-aab027f3.esm.js","../../node_modules/react-select/dist/useStateManager-7e1e8489.esm.js","../../node_modules/react-select/dist/useAsync-c64f5536.esm.js","../../node_modules/react-select/async/dist/react-select-async.esm.js","../../node_modules/@react-stately/utils/dist/useControlledState.mjs","../../node_modules/@react-stately/form/dist/useFormValidationState.mjs","../../node_modules/@react-stately/datepicker/dist/ar-AE.mjs","../../node_modules/@react-stately/datepicker/dist/bg-BG.mjs","../../node_modules/@react-stately/datepicker/dist/cs-CZ.mjs","../../node_modules/@react-stately/datepicker/dist/da-DK.mjs","../../node_modules/@react-stately/datepicker/dist/de-DE.mjs","../../node_modules/@react-stately/datepicker/dist/el-GR.mjs","../../node_modules/@react-stately/datepicker/dist/en-US.mjs","../../node_modules/@react-stately/datepicker/dist/es-ES.mjs","../../node_modules/@react-stately/datepicker/dist/et-EE.mjs","../../node_modules/@react-stately/datepicker/dist/fi-FI.mjs","../../node_modules/@react-stately/datepicker/dist/fr-FR.mjs","../../node_modules/@react-stately/datepicker/dist/he-IL.mjs","../../node_modules/@react-stately/datepicker/dist/hr-HR.mjs","../../node_modules/@react-stately/datepicker/dist/hu-HU.mjs","../../node_modules/@react-stately/datepicker/dist/it-IT.mjs","../../node_modules/@react-stately/datepicker/dist/ja-JP.mjs","../../node_modules/@react-stately/datepicker/dist/ko-KR.mjs","../../node_modules/@react-stately/datepicker/dist/lt-LT.mjs","../../node_modules/@react-stately/datepicker/dist/lv-LV.mjs","../../node_modules/@react-stately/datepicker/dist/nb-NO.mjs","../../node_modules/@react-stately/datepicker/dist/nl-NL.mjs","../../node_modules/@react-stately/datepicker/dist/pl-PL.mjs","../../node_modules/@react-stately/datepicker/dist/pt-BR.mjs","../../node_modules/@react-stately/datepicker/dist/pt-PT.mjs","../../node_modules/@react-stately/datepicker/dist/ro-RO.mjs","../../node_modules/@react-stately/datepicker/dist/ru-RU.mjs","../../node_modules/@react-stately/datepicker/dist/sk-SK.mjs","../../node_modules/@react-stately/datepicker/dist/sl-SI.mjs","../../node_modules/@react-stately/datepicker/dist/sr-SP.mjs","../../node_modules/@react-stately/datepicker/dist/sv-SE.mjs","../../node_modules/@react-stately/datepicker/dist/tr-TR.mjs","../../node_modules/@react-stately/datepicker/dist/uk-UA.mjs","../../node_modules/@react-stately/datepicker/dist/zh-CN.mjs","../../node_modules/@react-stately/datepicker/dist/zh-TW.mjs","../../node_modules/@react-stately/datepicker/dist/intlStrings.mjs","../../node_modules/@internationalized/string/dist/LocalizedStringDictionary.mjs","../../node_modules/@internationalized/string/dist/LocalizedStringFormatter.mjs","../../node_modules/@react-stately/datepicker/dist/utils.mjs","../../node_modules/@react-stately/datepicker/dist/placeholders.mjs","../../node_modules/@react-stately/datepicker/dist/useDateFieldState.mjs","../../node_modules/@react-stately/datepicker/dist/useTimeFieldState.mjs","../../node_modules/@react-aria/utils/dist/useLayoutEffect.mjs","../../node_modules/@react-aria/utils/dist/useEffectEvent.mjs","../../node_modules/@react-aria/utils/dist/useValueEffect.mjs","../../node_modules/@react-aria/ssr/dist/SSRProvider.mjs","../../node_modules/@react-aria/utils/dist/useId.mjs","../../node_modules/@react-aria/utils/dist/chain.mjs","../../node_modules/@react-aria/utils/dist/domHelpers.mjs","../../node_modules/clsx/dist/clsx.mjs","../../node_modules/@react-aria/utils/dist/mergeProps.mjs","../../node_modules/@react-aria/utils/dist/filterDOMProps.mjs","../../node_modules/@react-aria/utils/dist/focusWithoutScrolling.mjs","../../node_modules/@react-aria/utils/dist/platform.mjs","../../node_modules/@react-aria/utils/dist/openLink.mjs","../../node_modules/@react-aria/utils/dist/runAfterTransition.mjs","../../node_modules/@react-aria/utils/dist/useGlobalListeners.mjs","../../node_modules/@react-aria/utils/dist/useLabels.mjs","../../node_modules/@react-aria/utils/dist/useSyncRef.mjs","../../node_modules/@react-aria/utils/dist/isScrollable.mjs","../../node_modules/@react-aria/utils/dist/getScrollParent.mjs","../../node_modules/@react-aria/utils/dist/getScrollParents.mjs","../../node_modules/@react-aria/utils/dist/useDescription.mjs","../../node_modules/@react-aria/utils/dist/useEvent.mjs","../../node_modules/@react-aria/utils/dist/scrollIntoView.mjs","../../node_modules/@react-aria/utils/dist/isVirtualEvent.mjs","../../node_modules/@react-aria/utils/dist/useDeepMemo.mjs","../../node_modules/@react-aria/utils/dist/useFormReset.mjs","../../node_modules/@react-aria/interactions/dist/textSelection.mjs","../../node_modules/@react-aria/interactions/dist/context.mjs","../../node_modules/@swc/helpers/esm/_class_apply_descriptor_get.js","../../node_modules/@swc/helpers/esm/_class_extract_field_descriptor.js","../../node_modules/@swc/helpers/esm/_class_private_field_get.js","../../node_modules/@swc/helpers/esm/_class_apply_descriptor_set.js","../../node_modules/@swc/helpers/esm/_class_private_field_set.js","../../node_modules/@react-aria/interactions/dist/usePress.mjs","../../node_modules/@react-aria/interactions/dist/utils.mjs","../../node_modules/@react-aria/interactions/dist/useFocusVisible.mjs","../../node_modules/@react-aria/interactions/dist/useFocusWithin.mjs","../../node_modules/@react-aria/focus/dist/focusSafely.mjs","../../node_modules/@react-aria/focus/dist/isElementVisible.mjs","../../node_modules/@react-aria/focus/dist/FocusScope.mjs","../../node_modules/@react-aria/i18n/dist/utils.mjs","../../node_modules/@react-aria/i18n/dist/useDefaultLocale.mjs","../../node_modules/@react-aria/i18n/dist/context.mjs","../../node_modules/@react-aria/i18n/dist/useLocalizedStringFormatter.mjs","../../node_modules/@react-aria/i18n/dist/useDateFormatter.mjs","../../node_modules/@react-aria/i18n/dist/useCollator.mjs","../../node_modules/@react-aria/i18n/dist/useFilter.mjs","../../node_modules/@react-aria/live-announcer/dist/LiveAnnouncer.mjs","../../node_modules/@react-aria/form/dist/useFormValidation.mjs","../../node_modules/@react-aria/label/dist/useLabel.mjs","../../node_modules/@react-aria/label/dist/useField.mjs","../../node_modules/@react-aria/spinbutton/dist/ar-AE.mjs","../../node_modules/@react-aria/spinbutton/dist/bg-BG.mjs","../../node_modules/@react-aria/spinbutton/dist/cs-CZ.mjs","../../node_modules/@react-aria/spinbutton/dist/da-DK.mjs","../../node_modules/@react-aria/spinbutton/dist/de-DE.mjs","../../node_modules/@react-aria/spinbutton/dist/el-GR.mjs","../../node_modules/@react-aria/spinbutton/dist/en-US.mjs","../../node_modules/@react-aria/spinbutton/dist/es-ES.mjs","../../node_modules/@react-aria/spinbutton/dist/et-EE.mjs","../../node_modules/@react-aria/spinbutton/dist/fi-FI.mjs","../../node_modules/@react-aria/spinbutton/dist/fr-FR.mjs","../../node_modules/@react-aria/spinbutton/dist/he-IL.mjs","../../node_modules/@react-aria/spinbutton/dist/hr-HR.mjs","../../node_modules/@react-aria/spinbutton/dist/hu-HU.mjs","../../node_modules/@react-aria/spinbutton/dist/it-IT.mjs","../../node_modules/@react-aria/spinbutton/dist/ja-JP.mjs","../../node_modules/@react-aria/spinbutton/dist/ko-KR.mjs","../../node_modules/@react-aria/spinbutton/dist/lt-LT.mjs","../../node_modules/@react-aria/spinbutton/dist/lv-LV.mjs","../../node_modules/@react-aria/spinbutton/dist/nb-NO.mjs","../../node_modules/@react-aria/spinbutton/dist/nl-NL.mjs","../../node_modules/@react-aria/spinbutton/dist/pl-PL.mjs","../../node_modules/@react-aria/spinbutton/dist/pt-BR.mjs","../../node_modules/@react-aria/spinbutton/dist/pt-PT.mjs","../../node_modules/@react-aria/spinbutton/dist/ro-RO.mjs","../../node_modules/@react-aria/spinbutton/dist/ru-RU.mjs","../../node_modules/@react-aria/spinbutton/dist/sk-SK.mjs","../../node_modules/@react-aria/spinbutton/dist/sl-SI.mjs","../../node_modules/@react-aria/spinbutton/dist/sr-SP.mjs","../../node_modules/@react-aria/spinbutton/dist/sv-SE.mjs","../../node_modules/@react-aria/spinbutton/dist/tr-TR.mjs","../../node_modules/@react-aria/spinbutton/dist/uk-UA.mjs","../../node_modules/@react-aria/spinbutton/dist/zh-CN.mjs","../../node_modules/@react-aria/spinbutton/dist/zh-TW.mjs","../../node_modules/@react-aria/spinbutton/dist/intlStrings.mjs","../../node_modules/@react-aria/spinbutton/dist/useSpinButton.mjs","../../node_modules/@react-aria/datepicker/dist/ar-AE.mjs","../../node_modules/@react-aria/datepicker/dist/bg-BG.mjs","../../node_modules/@react-aria/datepicker/dist/cs-CZ.mjs","../../node_modules/@react-aria/datepicker/dist/da-DK.mjs","../../node_modules/@react-aria/datepicker/dist/de-DE.mjs","../../node_modules/@react-aria/datepicker/dist/el-GR.mjs","../../node_modules/@react-aria/datepicker/dist/en-US.mjs","../../node_modules/@react-aria/datepicker/dist/es-ES.mjs","../../node_modules/@react-aria/datepicker/dist/et-EE.mjs","../../node_modules/@react-aria/datepicker/dist/fi-FI.mjs","../../node_modules/@react-aria/datepicker/dist/fr-FR.mjs","../../node_modules/@react-aria/datepicker/dist/he-IL.mjs","../../node_modules/@react-aria/datepicker/dist/hr-HR.mjs","../../node_modules/@react-aria/datepicker/dist/hu-HU.mjs","../../node_modules/@react-aria/datepicker/dist/it-IT.mjs","../../node_modules/@react-aria/datepicker/dist/ja-JP.mjs","../../node_modules/@react-aria/datepicker/dist/ko-KR.mjs","../../node_modules/@react-aria/datepicker/dist/lt-LT.mjs","../../node_modules/@react-aria/datepicker/dist/lv-LV.mjs","../../node_modules/@react-aria/datepicker/dist/nb-NO.mjs","../../node_modules/@react-aria/datepicker/dist/nl-NL.mjs","../../node_modules/@react-aria/datepicker/dist/pl-PL.mjs","../../node_modules/@react-aria/datepicker/dist/pt-BR.mjs","../../node_modules/@react-aria/datepicker/dist/pt-PT.mjs","../../node_modules/@react-aria/datepicker/dist/ro-RO.mjs","../../node_modules/@react-aria/datepicker/dist/ru-RU.mjs","../../node_modules/@react-aria/datepicker/dist/sk-SK.mjs","../../node_modules/@react-aria/datepicker/dist/sl-SI.mjs","../../node_modules/@react-aria/datepicker/dist/sr-SP.mjs","../../node_modules/@react-aria/datepicker/dist/sv-SE.mjs","../../node_modules/@react-aria/datepicker/dist/tr-TR.mjs","../../node_modules/@react-aria/datepicker/dist/uk-UA.mjs","../../node_modules/@react-aria/datepicker/dist/zh-CN.mjs","../../node_modules/@react-aria/datepicker/dist/zh-TW.mjs","../../node_modules/@react-aria/datepicker/dist/intlStrings.mjs","../../node_modules/@react-aria/datepicker/dist/useDatePickerGroup.mjs","../../node_modules/@react-aria/datepicker/dist/useDateField.mjs","../../node_modules/@react-aria/datepicker/dist/useDisplayNames.mjs","../../node_modules/@react-aria/datepicker/dist/useDateSegment.mjs","../../node_modules/@kvib/react/dist/index.mjs","../../node_modules/posthog-js/dist/module.js","../../node_modules/posthog-js/react/dist/esm/index.js","../../node_modules/react-dom/client.js","../../node_modules/@tanstack/query-core/build/modern/subscribable.js","../../node_modules/@tanstack/query-core/build/modern/utils.js","../../node_modules/@tanstack/query-core/build/modern/focusManager.js","../../node_modules/@tanstack/query-core/build/modern/onlineManager.js","../../node_modules/@tanstack/query-core/build/modern/thenable.js","../../node_modules/@tanstack/query-core/build/modern/retryer.js","../../node_modules/@tanstack/query-core/build/modern/notifyManager.js","../../node_modules/@tanstack/query-core/build/modern/removable.js","../../node_modules/@tanstack/query-core/build/modern/query.js","../../node_modules/@tanstack/query-core/build/modern/queryCache.js","../../node_modules/@tanstack/query-core/build/modern/mutation.js","../../node_modules/@tanstack/query-core/build/modern/mutationCache.js","../../node_modules/@tanstack/query-core/build/modern/infiniteQueryBehavior.js","../../node_modules/@tanstack/query-core/build/modern/queryClient.js","../../node_modules/@tanstack/query-core/build/modern/queryObserver.js","../../node_modules/@tanstack/query-core/build/modern/queriesObserver.js","../../node_modules/@tanstack/query-core/build/modern/mutationObserver.js","../../node_modules/@tanstack/react-query/build/modern/QueryClientProvider.js","../../node_modules/@tanstack/react-query/build/modern/isRestoring.js","../../node_modules/@tanstack/react-query/build/modern/QueryErrorResetBoundary.js","../../node_modules/@tanstack/react-query/build/modern/utils.js","../../node_modules/@tanstack/react-query/build/modern/errorBoundaryUtils.js","../../node_modules/@tanstack/react-query/build/modern/suspense.js","../../node_modules/@tanstack/react-query/build/modern/useQueries.js","../../node_modules/@tanstack/react-query/build/modern/useBaseQuery.js","../../node_modules/@tanstack/react-query/build/modern/useQuery.js","../../node_modules/@tanstack/react-query/build/modern/useMutation.js","../../node_modules/@tanstack/react-query-devtools/build/modern/index.js","../../node_modules/i18next/dist/esm/i18next.js","../../node_modules/cookie/dist/index.js","../../node_modules/react-router/dist/development/chunk-HA7DTUK3.mjs","../../node_modules/@grafana/faro-core/dist/esm/utils/is.js","../../node_modules/@grafana/faro-core/dist/esm/utils/deepEqual.js","../../node_modules/@grafana/faro-core/dist/esm/utils/date.js","../../node_modules/@grafana/faro-core/dist/esm/utils/logLevels.js","../../node_modules/@grafana/faro-core/dist/esm/utils/noop.js","../../node_modules/@grafana/faro-core/dist/esm/utils/promiseBuffer.js","../../node_modules/@grafana/faro-core/dist/esm/utils/shortId.js","../../node_modules/@grafana/faro-core/dist/esm/globalObject/globalObject.js","../../node_modules/@grafana/faro-core/dist/esm/utils/sourceMaps.js","../../node_modules/@grafana/faro-core/dist/esm/utils/json.js","../../node_modules/@grafana/faro-core/dist/esm/transports/batchExecutor.js","../../node_modules/@grafana/faro-core/dist/esm/transports/const.js","../../node_modules/@grafana/faro-core/dist/esm/transports/initialize.js","../../node_modules/@grafana/faro-core/dist/esm/internalLogger/const.js","../../node_modules/@grafana/faro-core/dist/esm/unpatchedConsole/const.js","../../node_modules/@grafana/faro-core/dist/esm/unpatchedConsole/initialize.js","../../node_modules/@grafana/faro-core/dist/esm/internalLogger/createInternalLogger.js","../../node_modules/@grafana/faro-core/dist/esm/internalLogger/initialize.js","../../node_modules/@grafana/faro-core/dist/esm/extensions/baseExtension.js","../../node_modules/@grafana/faro-core/dist/esm/transports/base.js","../../node_modules/@grafana/faro-core/dist/esm/transports/registerInitial.js","../../node_modules/@grafana/faro-core/dist/esm/transports/utils.js","../../node_modules/@grafana/faro-core/dist/esm/api/events/initialize.js","../../node_modules/@grafana/faro-core/dist/esm/api/exceptions/const.js","../../node_modules/@grafana/faro-core/dist/esm/api/exceptions/initialize.js","../../node_modules/@grafana/faro-core/dist/esm/api/logs/const.js","../../node_modules/@grafana/faro-core/dist/esm/api/logs/initialize.js","../../node_modules/@grafana/faro-core/dist/esm/api/measurements/initialize.js","../../node_modules/@grafana/faro-core/dist/esm/api/meta/initialize.js","../../node_modules/@grafana/faro-core/dist/esm/api/traces/initialize.js","../../node_modules/@grafana/faro-core/dist/esm/api/initialize.js","../../node_modules/@grafana/faro-core/dist/esm/instrumentations/base.js","../../node_modules/@grafana/faro-core/dist/esm/instrumentations/initialize.js","../../node_modules/@grafana/faro-core/dist/esm/instrumentations/registerInitial.js","../../node_modules/@grafana/faro-core/dist/esm/metas/initialize.js","../../node_modules/@grafana/faro-core/dist/esm/version.js","../../node_modules/@grafana/faro-core/dist/esm/metas/registerInitial.js","../../node_modules/@grafana/faro-core/dist/esm/sdk/const.js","../../node_modules/@grafana/faro-core/dist/esm/sdk/faroGlobalObject.js","../../node_modules/@grafana/faro-core/dist/esm/sdk/internalFaroGlobalObject.js","../../node_modules/@grafana/faro-core/dist/esm/sdk/registerFaro.js","../../node_modules/@grafana/faro-core/dist/esm/initialize.js","../../node_modules/@grafana/faro-core/dist/esm/config/const.js","../../node_modules/@grafana/faro-core/dist/esm/semantic.js","../../node_modules/@grafana/faro-core/dist/esm/consts.js","../../node_modules/ua-parser-js/src/ua-parser.js","../../node_modules/@grafana/faro-web-sdk/dist/esm/metas/browser/meta.js","../../node_modules/@grafana/faro-web-sdk/dist/esm/metas/session/createSession.js","../../node_modules/@grafana/faro-web-sdk/dist/esm/utils/webStorage.js","../../node_modules/@grafana/faro-web-sdk/dist/esm/utils/throttle.js","../../node_modules/@grafana/faro-web-sdk/dist/esm/instrumentations/session/sessionManager/sessionConstants.js","../../node_modules/@grafana/faro-web-sdk/dist/esm/instrumentations/session/sessionManager/sampling.js","../../node_modules/@grafana/faro-web-sdk/dist/esm/instrumentations/session/sessionManager/sessionManagerUtils.js","../../node_modules/@grafana/faro-web-sdk/dist/esm/instrumentations/session/sessionManager/PersistentSessionsManager.js","../../node_modules/@grafana/faro-web-sdk/dist/esm/instrumentations/session/sessionManager/VolatileSessionManager.js","../../node_modules/@grafana/faro-web-sdk/dist/esm/instrumentations/session/sessionManager/getSessionManagerByConfig.js","../../node_modules/@grafana/faro-web-sdk/dist/esm/instrumentations/session/instrumentation.js","../../node_modules/@grafana/faro-web-sdk/dist/esm/instrumentations/errors/const.js","../../node_modules/@grafana/faro-web-sdk/dist/esm/instrumentations/errors/getValueAndTypeFromMessage.js","../../node_modules/@grafana/faro-web-sdk/dist/esm/instrumentations/errors/stackFrames/const.js","../../node_modules/@grafana/faro-web-sdk/dist/esm/instrumentations/errors/stackFrames/buildStackFrame.js","../../node_modules/@grafana/faro-web-sdk/dist/esm/instrumentations/errors/stackFrames/getDataFromSafariExtensions.js","../../node_modules/@grafana/faro-web-sdk/dist/esm/instrumentations/errors/stackFrames/getStackFramesFromError.js","../../node_modules/@grafana/faro-web-sdk/dist/esm/instrumentations/errors/stackFrames/parseStacktrace.js","../../node_modules/@grafana/faro-web-sdk/dist/esm/instrumentations/errors/getErrorDetails.js","../../node_modules/@grafana/faro-web-sdk/dist/esm/instrumentations/console/instrumentation.js","../../node_modules/@grafana/faro-web-sdk/dist/esm/instrumentations/errors/registerOnerror.js","../../node_modules/@grafana/faro-web-sdk/dist/esm/instrumentations/errors/registerOnunhandledrejection.js","../../node_modules/@grafana/faro-web-sdk/dist/esm/instrumentations/errors/instrumentation.js","../../node_modules/@grafana/faro-web-sdk/dist/esm/instrumentations/view/instrumentation.js","../../node_modules/web-vitals/dist/web-vitals.js","../../node_modules/@grafana/faro-web-sdk/dist/esm/instrumentations/webVitals/webVitalsBasic.js","../../node_modules/web-vitals/dist/web-vitals.attribution.js","../../node_modules/@grafana/faro-web-sdk/dist/esm/instrumentations/instrumentationConstants.js","../../node_modules/@grafana/faro-web-sdk/dist/esm/instrumentations/webVitals/webVitalsWithAttribution.js","../../node_modules/@grafana/faro-web-sdk/dist/esm/instrumentations/webVitals/instrumentation.js","../../node_modules/@grafana/faro-web-sdk/dist/esm/instrumentations/performance/performanceConstants.js","../../node_modules/@grafana/faro-web-sdk/dist/esm/instrumentations/performance/performanceUtils.js","../../node_modules/@grafana/faro-web-sdk/dist/esm/instrumentations/performance/navigation.js","../../node_modules/@grafana/faro-web-sdk/dist/esm/instrumentations/performance/resource.js","../../node_modules/@grafana/faro-web-sdk/dist/esm/instrumentations/performance/instrumentation.js","../../node_modules/@grafana/faro-web-sdk/dist/esm/config/getWebInstrumentations.js","../../node_modules/@grafana/faro-web-sdk/dist/esm/consts.js","../../node_modules/@grafana/faro-web-sdk/dist/esm/metas/k6/meta.js","../../node_modules/@grafana/faro-web-sdk/dist/esm/metas/page/meta.js","../../node_modules/@grafana/faro-web-sdk/dist/esm/transports/fetch/transport.js","../../node_modules/@grafana/faro-web-sdk/dist/esm/config/makeCoreConfig.js","../../node_modules/@grafana/faro-web-sdk/dist/esm/initialize.js","../../node_modules/@grafana/faro-react/dist/esm/dependencies.js","../../node_modules/@grafana/faro-react/dist/esm/utils/reactVersion.js","../../node_modules/@grafana/faro-react/dist/esm/router/types.js","../../node_modules/@grafana/faro-react/dist/esm/router/v4v5/activeEvent.js","../../node_modules/@grafana/faro-react/dist/esm/router/v4v5/routerDependencies.js","../../node_modules/@grafana/faro-react/dist/esm/router/v4v5/FaroRoute.js","../../node_modules/@grafana/faro-react/dist/esm/router/v4v5/initialize.js","../../node_modules/@grafana/faro-react/dist/esm/router/v6/routerDependencies.js","../../node_modules/@grafana/faro-react/dist/esm/router/v6/utils.js","../../node_modules/@grafana/faro-react/dist/esm/router/v6/FaroRoutes.js","../../node_modules/@grafana/faro-react/dist/esm/router/v6/initialize.js","../../node_modules/@grafana/faro-react/dist/esm/router/v6/withFaroRouterInstrumentation.js","../../node_modules/@grafana/faro-react/dist/esm/router/initialize.js","../../node_modules/@grafana/faro-react/dist/esm/instrumentation.js","../../node_modules/void-elements/index.js","../../node_modules/html-parse-stringify/dist/html-parse-stringify.module.js","../../node_modules/react-i18next/dist/es/utils.js","../../node_modules/react-i18next/dist/es/unescape.js","../../node_modules/react-i18next/dist/es/defaults.js","../../node_modules/react-i18next/dist/es/i18nInstance.js","../../node_modules/react-i18next/dist/es/TransWithoutContext.js","../../node_modules/react-i18next/dist/es/initReactI18next.js","../../node_modules/react-i18next/dist/es/context.js","../../node_modules/react-i18next/dist/es/Trans.js","../../node_modules/react-i18next/dist/es/useTranslation.js","../../node_modules/ol/CollectionEventType.js","../../node_modules/ol/ObjectEventType.js","../../node_modules/ol/events/EventType.js","../../node_modules/ol/Disposable.js","../../node_modules/ol/array.js","../../node_modules/ol/functions.js","../../node_modules/ol/obj.js","../../node_modules/ol/events/Event.js","../../node_modules/ol/events/Target.js","../../node_modules/ol/events.js","../../node_modules/ol/Observable.js","../../node_modules/ol/util.js","../../node_modules/ol/Object.js","../../node_modules/ol/Collection.js","../../node_modules/ol/asserts.js","../../node_modules/ol/Feature.js","../../node_modules/ol/extent/Relationship.js","../../node_modules/ol/extent.js","../../node_modules/ol/math.js","../../node_modules/ol/sphere.js","../../node_modules/ol/console.js","../../node_modules/ol/coordinate.js","../../node_modules/ol/proj/Units.js","../../node_modules/ol/proj/Projection.js","../../node_modules/ol/proj/epsg3857.js","../../node_modules/ol/proj/epsg4326.js","../../node_modules/ol/proj/projections.js","../../node_modules/ol/proj/transforms.js","../../node_modules/ol/proj/utm.js","../../node_modules/ol/proj.js","../../node_modules/ol/transform.js","../../node_modules/ol/geom/flat/transform.js","../../node_modules/ol/geom/Geometry.js","../../node_modules/ol/geom/SimpleGeometry.js","../../node_modules/ol/geom/flat/area.js","../../node_modules/ol/geom/flat/closest.js","../../node_modules/ol/geom/flat/deflate.js","../../node_modules/ol/geom/flat/inflate.js","../../node_modules/ol/geom/flat/simplify.js","../../node_modules/ol/geom/LinearRing.js","../../node_modules/ol/geom/Point.js","../../node_modules/ol/geom/flat/contains.js","../../node_modules/ol/geom/flat/interiorpoint.js","../../node_modules/ol/geom/flat/segments.js","../../node_modules/ol/geom/flat/intersectsextent.js","../../node_modules/ol/geom/flat/reverse.js","../../node_modules/ol/geom/flat/orient.js","../../node_modules/ol/geom/Polygon.js","../../node_modules/ol/geom/flat/interpolate.js","../../node_modules/ol/geom/flat/length.js","../../node_modules/ol/geom/LineString.js","../../node_modules/ol/render/EventType.js","../../node_modules/ol/has.js","../../node_modules/ol/ImageState.js","../../node_modules/color-parse/node_modules/color-name/index.js","../../node_modules/color-parse/index.js","../../node_modules/color-space/rgb.js","../../node_modules/color-space/hsl.js","../../node_modules/color-rgba/index.js","../../node_modules/color-space/xyz.js","../../node_modules/color-space/luv.js","../../node_modules/color-space/lchuv.js","../../node_modules/ol/color.js","../../node_modules/ol/dom.js","../../node_modules/ol/Image.js","../../node_modules/ol/style/IconImageCache.js","../../node_modules/ol/style/IconImage.js","../../node_modules/ol/colorlike.js","../../node_modules/ol/render/VectorContext.js","../../node_modules/ol/css.js","../../node_modules/ol/render/canvas.js","../../node_modules/ol/render/canvas/Immediate.js","../../node_modules/ol/renderer/vector.js","../../node_modules/ol/featureloader.js","../../node_modules/ol/loadingstrategy.js","../../node_modules/ol/geom/flat/center.js","../../node_modules/ol/geom/GeometryCollection.js","../../node_modules/ol/geom/MultiLineString.js","../../node_modules/ol/geom/MultiPoint.js","../../node_modules/ol/geom/MultiPolygon.js","../../node_modules/ol/render/Feature.js","../../node_modules/quickselect/index.js","../../node_modules/rbush/index.js","../../node_modules/ol/structs/RBush.js","../../node_modules/ol/source/Source.js","../../node_modules/ol/source/VectorEventType.js","../../node_modules/ol/source/Vector.js","../../node_modules/ol/style/Fill.js","../../node_modules/ol/style/Stroke.js","../../node_modules/ol/size.js","../../node_modules/ol/style/Image.js","../../node_modules/ol/style/RegularShape.js","../../node_modules/ol/style/Circle.js","../../node_modules/ol/style/Style.js","../../node_modules/ol/style/Text.js","../../node_modules/ol/ViewHint.js","../../node_modules/ol/render/canvas/Instruction.js","../../node_modules/ol/render/canvas/Builder.js","../../node_modules/ol/render/canvas/ImageBuilder.js","../../node_modules/ol/render/canvas/LineStringBuilder.js","../../node_modules/ol/render/canvas/PolygonBuilder.js","../../node_modules/ol/geom/flat/linechunk.js","../../node_modules/ol/geom/flat/straightchunk.js","../../node_modules/ol/render/canvas/TextBuilder.js","../../node_modules/ol/render/canvas/BuilderGroup.js","../../node_modules/ol/geom/flat/textpath.js","../../node_modules/ol/render/canvas/ZIndexContext.js","../../node_modules/ol/render/canvas/Executor.js","../../node_modules/ol/render/canvas/ExecutorGroup.js","../../node_modules/ol/style/Icon.js","../../node_modules/ol/render/canvas/hitdetect.js","../../node_modules/ol/render/Event.js","../../node_modules/ol/renderer/Layer.js","../../node_modules/ol/renderer/canvas/Layer.js","../../node_modules/ol/renderer/canvas/VectorLayer.js","../../node_modules/ol/expr/expression.js","../../node_modules/ol/expr/cpu.js","../../node_modules/ol/render/canvas/style.js","../../node_modules/ol/ViewProperty.js","../../node_modules/ol/centerconstraint.js","../../node_modules/ol/easing.js","../../node_modules/ol/resolutionconstraint.js","../../node_modules/ol/rotationconstraint.js","../../node_modules/ol/tilegrid/common.js","../../node_modules/ol/View.js","../../node_modules/ol/layer/Property.js","../../node_modules/ol/layer/Base.js","../../node_modules/ol/layer/Layer.js","../../node_modules/ol/layer/BaseVector.js","../../node_modules/ol/layer/Vector.js","../../node_modules/ol/TileState.js","../../node_modules/ol/Tile.js","../../node_modules/ol/ImageTile.js","../../node_modules/ol/Kinetic.js","../../node_modules/ol/MapEvent.js","../../node_modules/ol/MapBrowserEvent.js","../../node_modules/ol/MapBrowserEventType.js","../../node_modules/ol/pointer/EventType.js","../../node_modules/ol/MapBrowserEventHandler.js","../../node_modules/ol/MapEventType.js","../../node_modules/ol/MapProperty.js","../../node_modules/ol/structs/PriorityQueue.js","../../node_modules/ol/TileQueue.js","../../node_modules/ol/control/Control.js","../../node_modules/ol/control/Attribution.js","../../node_modules/ol/control/Rotate.js","../../node_modules/ol/control/Zoom.js","../../node_modules/ol/control/defaults.js","../../node_modules/ol/interaction/Property.js","../../node_modules/ol/interaction/Interaction.js","../../node_modules/ol/interaction/DoubleClickZoom.js","../../node_modules/ol/events/condition.js","../../node_modules/ol/interaction/Pointer.js","../../node_modules/ol/interaction/DragPan.js","../../node_modules/ol/interaction/DragRotate.js","../../node_modules/ol/render/Box.js","../../node_modules/ol/interaction/DragBox.js","../../node_modules/ol/interaction/DragZoom.js","../../node_modules/ol/events/Key.js","../../node_modules/ol/interaction/KeyboardPan.js","../../node_modules/ol/interaction/KeyboardZoom.js","../../node_modules/ol/interaction/MouseWheelZoom.js","../../node_modules/ol/interaction/PinchRotate.js","../../node_modules/ol/interaction/PinchZoom.js","../../node_modules/ol/interaction/defaults.js","../../node_modules/ol/layer/Group.js","../../node_modules/ol/renderer/Map.js","../../node_modules/ol/renderer/Composite.js","../../node_modules/ol/Map.js","../../node_modules/ol/TileRange.js","../../node_modules/ol/format/Feature.js","../../node_modules/ol/format/JSONFeature.js","../../node_modules/ol/format/GeoJSON.js","../../node_modules/ol/DataTile.js","../../node_modules/ol/reproj.js","../../node_modules/ol/reproj/Triangulation.js","../../node_modules/ol/reproj/common.js","../../node_modules/ol/reproj/Tile.js","../../node_modules/ol/structs/LRUCache.js","../../node_modules/ol/tilecoord.js","../../node_modules/ol/renderer/canvas/TileLayer.js","../../node_modules/ol/layer/TileProperty.js","../../node_modules/ol/layer/BaseTile.js","../../node_modules/ol/layer/Tile.js","../../node_modules/ol/tilegrid/TileGrid.js","../../node_modules/ol/tilegrid.js","../../node_modules/ol/uri.js","../../node_modules/ol/tileurlfunction.js","../../node_modules/ol/source/Tile.js","../../node_modules/ol/source/TileEventType.js","../../node_modules/ol/source/UrlTile.js","../../node_modules/ol/source/TileImage.js","../../node_modules/ol/source/XYZ.js","../../node_modules/zod/lib/index.mjs","../../node_modules/react-hook-form/dist/index.esm.mjs","../../node_modules/@hookform/resolvers/dist/resolvers.mjs","../../node_modules/@hookform/resolvers/zod/dist/zod.mjs"],"sourcesContent":["/**\n * @license React\n * react.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var l=Symbol.for(\"react.element\"),n=Symbol.for(\"react.portal\"),p=Symbol.for(\"react.fragment\"),q=Symbol.for(\"react.strict_mode\"),r=Symbol.for(\"react.profiler\"),t=Symbol.for(\"react.provider\"),u=Symbol.for(\"react.context\"),v=Symbol.for(\"react.forward_ref\"),w=Symbol.for(\"react.suspense\"),x=Symbol.for(\"react.memo\"),y=Symbol.for(\"react.lazy\"),z=Symbol.iterator;function A(a){if(null===a||\"object\"!==typeof a)return null;a=z&&a[z]||a[\"@@iterator\"];return\"function\"===typeof a?a:null}\nvar B={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},C=Object.assign,D={};function E(a,b,e){this.props=a;this.context=b;this.refs=D;this.updater=e||B}E.prototype.isReactComponent={};\nE.prototype.setState=function(a,b){if(\"object\"!==typeof a&&\"function\"!==typeof a&&null!=a)throw Error(\"setState(...): takes an object of state variables to update or a function which returns an object of state variables.\");this.updater.enqueueSetState(this,a,b,\"setState\")};E.prototype.forceUpdate=function(a){this.updater.enqueueForceUpdate(this,a,\"forceUpdate\")};function F(){}F.prototype=E.prototype;function G(a,b,e){this.props=a;this.context=b;this.refs=D;this.updater=e||B}var H=G.prototype=new F;\nH.constructor=G;C(H,E.prototype);H.isPureReactComponent=!0;var I=Array.isArray,J=Object.prototype.hasOwnProperty,K={current:null},L={key:!0,ref:!0,__self:!0,__source:!0};\nfunction M(a,b,e){var d,c={},k=null,h=null;if(null!=b)for(d in void 0!==b.ref&&(h=b.ref),void 0!==b.key&&(k=\"\"+b.key),b)J.call(b,d)&&!L.hasOwnProperty(d)&&(c[d]=b[d]);var g=arguments.length-2;if(1===g)c.children=e;else if(1 classNames.filter(Boolean).map((r) => r.trim()).join(\" \");\n\nexport { cx };\n","\"use strict\";\n\"use client\";\nimport { createContext as createContext$1, useContext } from 'react';\n\nfunction getErrorMessage(hook, provider) {\n return `${hook} returned \\`undefined\\`. Seems you forgot to wrap component within ${provider}`;\n}\nfunction createContext(options = {}) {\n const {\n name,\n strict = true,\n hookName = \"useContext\",\n providerName = \"Provider\",\n errorMessage,\n defaultValue\n } = options;\n const Context = createContext$1(defaultValue);\n Context.displayName = name;\n function useContext$1() {\n const context = useContext(Context);\n if (!context && strict) {\n const error = new Error(\n errorMessage ?? getErrorMessage(hookName, providerName)\n );\n error.name = \"ContextError\";\n Error.captureStackTrace?.(error, useContext$1);\n throw error;\n }\n return context;\n }\n return [Context.Provider, useContext$1, Context];\n}\n\nexport { createContext };\n","\"use strict\";\nfunction callAll(...fns) {\n return function mergedFn(...args) {\n fns.forEach((fn) => fn?.(...args));\n };\n}\n\nexport { callAll };\n","\"use strict\";\nimport { callAll } from './utils/call-all.js';\n\nconst clsx = (...args) => args.map((str) => str?.trim?.()).filter(Boolean).join(\" \");\nconst eventRegex = /^on[A-Z]/;\nfunction mergeProps(...args) {\n let result = {};\n for (let props of args) {\n for (let key in result) {\n if (eventRegex.test(key) && typeof result[key] === \"function\" && typeof props[key] === \"function\") {\n result[key] = callAll(result[key], props[key]);\n continue;\n }\n if (key === \"className\" || key === \"class\") {\n result[key] = clsx(result[key], props[key]);\n continue;\n }\n if (key === \"style\") {\n result[key] = Object.assign({}, result[key] ?? {}, props[key] ?? {});\n continue;\n }\n result[key] = props[key] !== void 0 ? props[key] : result[key];\n }\n for (let key in props) {\n if (result[key] === void 0) {\n result[key] = props[key];\n }\n }\n }\n return result;\n}\n\nexport { mergeProps };\n","\"use strict\";\nconst EMPTY_STYLES = Object.freeze({});\nconst EMPTY_SLOT_STYLES = Object.freeze(\n {}\n);\n\nexport { EMPTY_SLOT_STYLES, EMPTY_STYLES };\n","function memoize(fn) {\n var cache = Object.create(null);\n return function (arg) {\n if (cache[arg] === undefined) cache[arg] = fn(arg);\n return cache[arg];\n };\n}\n\nexport { memoize as default };\n","import memoize from '@emotion/memoize';\n\n// eslint-disable-next-line no-undef\nvar reactPropsRegex = /^((children|dangerouslySetInnerHTML|key|ref|autoFocus|defaultValue|defaultChecked|innerHTML|suppressContentEditableWarning|suppressHydrationWarning|valueLink|abbr|accept|acceptCharset|accessKey|action|allow|allowUserMedia|allowPaymentRequest|allowFullScreen|allowTransparency|alt|async|autoComplete|autoPlay|capture|cellPadding|cellSpacing|challenge|charSet|checked|cite|classID|className|cols|colSpan|content|contentEditable|contextMenu|controls|controlsList|coords|crossOrigin|data|dateTime|decoding|default|defer|dir|disabled|disablePictureInPicture|disableRemotePlayback|download|draggable|encType|enterKeyHint|fetchpriority|fetchPriority|form|formAction|formEncType|formMethod|formNoValidate|formTarget|frameBorder|headers|height|hidden|high|href|hrefLang|htmlFor|httpEquiv|id|inputMode|integrity|is|keyParams|keyType|kind|label|lang|list|loading|loop|low|marginHeight|marginWidth|max|maxLength|media|mediaGroup|method|min|minLength|multiple|muted|name|nonce|noValidate|open|optimum|pattern|placeholder|playsInline|poster|preload|profile|radioGroup|readOnly|referrerPolicy|rel|required|reversed|role|rows|rowSpan|sandbox|scope|scoped|scrolling|seamless|selected|shape|size|sizes|slot|span|spellCheck|src|srcDoc|srcLang|srcSet|start|step|style|summary|tabIndex|target|title|translate|type|useMap|value|width|wmode|wrap|about|datatype|inlist|prefix|property|resource|typeof|vocab|autoCapitalize|autoCorrect|autoSave|color|incremental|fallback|inert|itemProp|itemScope|itemType|itemID|itemRef|on|option|results|security|unselectable|accentHeight|accumulate|additive|alignmentBaseline|allowReorder|alphabetic|amplitude|arabicForm|ascent|attributeName|attributeType|autoReverse|azimuth|baseFrequency|baselineShift|baseProfile|bbox|begin|bias|by|calcMode|capHeight|clip|clipPathUnits|clipPath|clipRule|colorInterpolation|colorInterpolationFilters|colorProfile|colorRendering|contentScriptType|contentStyleType|cursor|cx|cy|d|decelerate|descent|diffuseConstant|direction|display|divisor|dominantBaseline|dur|dx|dy|edgeMode|elevation|enableBackground|end|exponent|externalResourcesRequired|fill|fillOpacity|fillRule|filter|filterRes|filterUnits|floodColor|floodOpacity|focusable|fontFamily|fontSize|fontSizeAdjust|fontStretch|fontStyle|fontVariant|fontWeight|format|from|fr|fx|fy|g1|g2|glyphName|glyphOrientationHorizontal|glyphOrientationVertical|glyphRef|gradientTransform|gradientUnits|hanging|horizAdvX|horizOriginX|ideographic|imageRendering|in|in2|intercept|k|k1|k2|k3|k4|kernelMatrix|kernelUnitLength|kerning|keyPoints|keySplines|keyTimes|lengthAdjust|letterSpacing|lightingColor|limitingConeAngle|local|markerEnd|markerMid|markerStart|markerHeight|markerUnits|markerWidth|mask|maskContentUnits|maskUnits|mathematical|mode|numOctaves|offset|opacity|operator|order|orient|orientation|origin|overflow|overlinePosition|overlineThickness|panose1|paintOrder|pathLength|patternContentUnits|patternTransform|patternUnits|pointerEvents|points|pointsAtX|pointsAtY|pointsAtZ|preserveAlpha|preserveAspectRatio|primitiveUnits|r|radius|refX|refY|renderingIntent|repeatCount|repeatDur|requiredExtensions|requiredFeatures|restart|result|rotate|rx|ry|scale|seed|shapeRendering|slope|spacing|specularConstant|specularExponent|speed|spreadMethod|startOffset|stdDeviation|stemh|stemv|stitchTiles|stopColor|stopOpacity|strikethroughPosition|strikethroughThickness|string|stroke|strokeDasharray|strokeDashoffset|strokeLinecap|strokeLinejoin|strokeMiterlimit|strokeOpacity|strokeWidth|surfaceScale|systemLanguage|tableValues|targetX|targetY|textAnchor|textDecoration|textRendering|textLength|to|transform|u1|u2|underlinePosition|underlineThickness|unicode|unicodeBidi|unicodeRange|unitsPerEm|vAlphabetic|vHanging|vIdeographic|vMathematical|values|vectorEffect|version|vertAdvY|vertOriginX|vertOriginY|viewBox|viewTarget|visibility|widths|wordSpacing|writingMode|x|xHeight|x1|x2|xChannelSelector|xlinkActuate|xlinkArcrole|xlinkHref|xlinkRole|xlinkShow|xlinkTitle|xlinkType|xmlBase|xmlns|xmlnsXlink|xmlLang|xmlSpace|y|y1|y2|yChannelSelector|z|zoomAndPan|for|class|autofocus)|(([Dd][Aa][Tt][Aa]|[Aa][Rr][Ii][Aa]|x)-.*))$/; // https://esbench.com/bench/5bfee68a4cd7e6009ef61d23\n\nvar isPropValid = /* #__PURE__ */memoize(function (prop) {\n return reactPropsRegex.test(prop) || prop.charCodeAt(0) === 111\n /* o */\n && prop.charCodeAt(1) === 110\n /* n */\n && prop.charCodeAt(2) < 91;\n}\n/* Z+1 */\n);\n\nexport { isPropValid as default };\n","var isDevelopment = false;\n\n/*\n\nBased off glamor's StyleSheet, thanks Sunil ❤️\n\nhigh performance StyleSheet for css-in-js systems\n\n- uses multiple style tags behind the scenes for millions of rules\n- uses `insertRule` for appending in production for *much* faster performance\n\n// usage\n\nimport { StyleSheet } from '@emotion/sheet'\n\nlet styleSheet = new StyleSheet({ key: '', container: document.head })\n\nstyleSheet.insert('#box { border: 1px solid red; }')\n- appends a css rule into the stylesheet\n\nstyleSheet.flush()\n- empties the stylesheet of all its contents\n\n*/\n\nfunction sheetForTag(tag) {\n if (tag.sheet) {\n return tag.sheet;\n } // this weirdness brought to you by firefox\n\n /* istanbul ignore next */\n\n\n for (var i = 0; i < document.styleSheets.length; i++) {\n if (document.styleSheets[i].ownerNode === tag) {\n return document.styleSheets[i];\n }\n } // this function should always return with a value\n // TS can't understand it though so we make it stop complaining here\n\n\n return undefined;\n}\n\nfunction createStyleElement(options) {\n var tag = document.createElement('style');\n tag.setAttribute('data-emotion', options.key);\n\n if (options.nonce !== undefined) {\n tag.setAttribute('nonce', options.nonce);\n }\n\n tag.appendChild(document.createTextNode(''));\n tag.setAttribute('data-s', '');\n return tag;\n}\n\nvar StyleSheet = /*#__PURE__*/function () {\n // Using Node instead of HTMLElement since container may be a ShadowRoot\n function StyleSheet(options) {\n var _this = this;\n\n this._insertTag = function (tag) {\n var before;\n\n if (_this.tags.length === 0) {\n if (_this.insertionPoint) {\n before = _this.insertionPoint.nextSibling;\n } else if (_this.prepend) {\n before = _this.container.firstChild;\n } else {\n before = _this.before;\n }\n } else {\n before = _this.tags[_this.tags.length - 1].nextSibling;\n }\n\n _this.container.insertBefore(tag, before);\n\n _this.tags.push(tag);\n };\n\n this.isSpeedy = options.speedy === undefined ? !isDevelopment : options.speedy;\n this.tags = [];\n this.ctr = 0;\n this.nonce = options.nonce; // key is the value of the data-emotion attribute, it's used to identify different sheets\n\n this.key = options.key;\n this.container = options.container;\n this.prepend = options.prepend;\n this.insertionPoint = options.insertionPoint;\n this.before = null;\n }\n\n var _proto = StyleSheet.prototype;\n\n _proto.hydrate = function hydrate(nodes) {\n nodes.forEach(this._insertTag);\n };\n\n _proto.insert = function insert(rule) {\n // the max length is how many rules we have per style tag, it's 65000 in speedy mode\n // it's 1 in dev because we insert source maps that map a single rule to a location\n // and you can only have one source map per style tag\n if (this.ctr % (this.isSpeedy ? 65000 : 1) === 0) {\n this._insertTag(createStyleElement(this));\n }\n\n var tag = this.tags[this.tags.length - 1];\n\n if (this.isSpeedy) {\n var sheet = sheetForTag(tag);\n\n try {\n // this is the ultrafast version, works across browsers\n // the big drawback is that the css won't be editable in devtools\n sheet.insertRule(rule, sheet.cssRules.length);\n } catch (e) {\n }\n } else {\n tag.appendChild(document.createTextNode(rule));\n }\n\n this.ctr++;\n };\n\n _proto.flush = function flush() {\n this.tags.forEach(function (tag) {\n var _tag$parentNode;\n\n return (_tag$parentNode = tag.parentNode) == null ? void 0 : _tag$parentNode.removeChild(tag);\n });\n this.tags = [];\n this.ctr = 0;\n };\n\n return StyleSheet;\n}();\n\nexport { StyleSheet };\n","export var MS = '-ms-'\nexport var MOZ = '-moz-'\nexport var WEBKIT = '-webkit-'\n\nexport var COMMENT = 'comm'\nexport var RULESET = 'rule'\nexport var DECLARATION = 'decl'\n\nexport var PAGE = '@page'\nexport var MEDIA = '@media'\nexport var IMPORT = '@import'\nexport var CHARSET = '@charset'\nexport var VIEWPORT = '@viewport'\nexport var SUPPORTS = '@supports'\nexport var DOCUMENT = '@document'\nexport var NAMESPACE = '@namespace'\nexport var KEYFRAMES = '@keyframes'\nexport var FONT_FACE = '@font-face'\nexport var COUNTER_STYLE = '@counter-style'\nexport var FONT_FEATURE_VALUES = '@font-feature-values'\nexport var LAYER = '@layer'\n","/**\n * @param {number}\n * @return {number}\n */\nexport var abs = Math.abs\n\n/**\n * @param {number}\n * @return {string}\n */\nexport var from = String.fromCharCode\n\n/**\n * @param {object}\n * @return {object}\n */\nexport var assign = Object.assign\n\n/**\n * @param {string} value\n * @param {number} length\n * @return {number}\n */\nexport function hash (value, length) {\n\treturn charat(value, 0) ^ 45 ? (((((((length << 2) ^ charat(value, 0)) << 2) ^ charat(value, 1)) << 2) ^ charat(value, 2)) << 2) ^ charat(value, 3) : 0\n}\n\n/**\n * @param {string} value\n * @return {string}\n */\nexport function trim (value) {\n\treturn value.trim()\n}\n\n/**\n * @param {string} value\n * @param {RegExp} pattern\n * @return {string?}\n */\nexport function match (value, pattern) {\n\treturn (value = pattern.exec(value)) ? value[0] : value\n}\n\n/**\n * @param {string} value\n * @param {(string|RegExp)} pattern\n * @param {string} replacement\n * @return {string}\n */\nexport function replace (value, pattern, replacement) {\n\treturn value.replace(pattern, replacement)\n}\n\n/**\n * @param {string} value\n * @param {string} search\n * @return {number}\n */\nexport function indexof (value, search) {\n\treturn value.indexOf(search)\n}\n\n/**\n * @param {string} value\n * @param {number} index\n * @return {number}\n */\nexport function charat (value, index) {\n\treturn value.charCodeAt(index) | 0\n}\n\n/**\n * @param {string} value\n * @param {number} begin\n * @param {number} end\n * @return {string}\n */\nexport function substr (value, begin, end) {\n\treturn value.slice(begin, end)\n}\n\n/**\n * @param {string} value\n * @return {number}\n */\nexport function strlen (value) {\n\treturn value.length\n}\n\n/**\n * @param {any[]} value\n * @return {number}\n */\nexport function sizeof (value) {\n\treturn value.length\n}\n\n/**\n * @param {any} value\n * @param {any[]} array\n * @return {any}\n */\nexport function append (value, array) {\n\treturn array.push(value), value\n}\n\n/**\n * @param {string[]} array\n * @param {function} callback\n * @return {string}\n */\nexport function combine (array, callback) {\n\treturn array.map(callback).join('')\n}\n","import {from, trim, charat, strlen, substr, append, assign} from './Utility.js'\n\nexport var line = 1\nexport var column = 1\nexport var length = 0\nexport var position = 0\nexport var character = 0\nexport var characters = ''\n\n/**\n * @param {string} value\n * @param {object | null} root\n * @param {object | null} parent\n * @param {string} type\n * @param {string[] | string} props\n * @param {object[] | string} children\n * @param {number} length\n */\nexport function node (value, root, parent, type, props, children, length) {\n\treturn {value: value, root: root, parent: parent, type: type, props: props, children: children, line: line, column: column, length: length, return: ''}\n}\n\n/**\n * @param {object} root\n * @param {object} props\n * @return {object}\n */\nexport function copy (root, props) {\n\treturn assign(node('', null, null, '', null, null, 0), root, {length: -root.length}, props)\n}\n\n/**\n * @return {number}\n */\nexport function char () {\n\treturn character\n}\n\n/**\n * @return {number}\n */\nexport function prev () {\n\tcharacter = position > 0 ? charat(characters, --position) : 0\n\n\tif (column--, character === 10)\n\t\tcolumn = 1, line--\n\n\treturn character\n}\n\n/**\n * @return {number}\n */\nexport function next () {\n\tcharacter = position < length ? charat(characters, position++) : 0\n\n\tif (column++, character === 10)\n\t\tcolumn = 1, line++\n\n\treturn character\n}\n\n/**\n * @return {number}\n */\nexport function peek () {\n\treturn charat(characters, position)\n}\n\n/**\n * @return {number}\n */\nexport function caret () {\n\treturn position\n}\n\n/**\n * @param {number} begin\n * @param {number} end\n * @return {string}\n */\nexport function slice (begin, end) {\n\treturn substr(characters, begin, end)\n}\n\n/**\n * @param {number} type\n * @return {number}\n */\nexport function token (type) {\n\tswitch (type) {\n\t\t// \\0 \\t \\n \\r \\s whitespace token\n\t\tcase 0: case 9: case 10: case 13: case 32:\n\t\t\treturn 5\n\t\t// ! + , / > @ ~ isolate token\n\t\tcase 33: case 43: case 44: case 47: case 62: case 64: case 126:\n\t\t// ; { } breakpoint token\n\t\tcase 59: case 123: case 125:\n\t\t\treturn 4\n\t\t// : accompanied token\n\t\tcase 58:\n\t\t\treturn 3\n\t\t// \" ' ( [ opening delimit token\n\t\tcase 34: case 39: case 40: case 91:\n\t\t\treturn 2\n\t\t// ) ] closing delimit token\n\t\tcase 41: case 93:\n\t\t\treturn 1\n\t}\n\n\treturn 0\n}\n\n/**\n * @param {string} value\n * @return {any[]}\n */\nexport function alloc (value) {\n\treturn line = column = 1, length = strlen(characters = value), position = 0, []\n}\n\n/**\n * @param {any} value\n * @return {any}\n */\nexport function dealloc (value) {\n\treturn characters = '', value\n}\n\n/**\n * @param {number} type\n * @return {string}\n */\nexport function delimit (type) {\n\treturn trim(slice(position - 1, delimiter(type === 91 ? type + 2 : type === 40 ? type + 1 : type)))\n}\n\n/**\n * @param {string} value\n * @return {string[]}\n */\nexport function tokenize (value) {\n\treturn dealloc(tokenizer(alloc(value)))\n}\n\n/**\n * @param {number} type\n * @return {string}\n */\nexport function whitespace (type) {\n\twhile (character = peek())\n\t\tif (character < 33)\n\t\t\tnext()\n\t\telse\n\t\t\tbreak\n\n\treturn token(type) > 2 || token(character) > 3 ? '' : ' '\n}\n\n/**\n * @param {string[]} children\n * @return {string[]}\n */\nexport function tokenizer (children) {\n\twhile (next())\n\t\tswitch (token(character)) {\n\t\t\tcase 0: append(identifier(position - 1), children)\n\t\t\t\tbreak\n\t\t\tcase 2: append(delimit(character), children)\n\t\t\t\tbreak\n\t\t\tdefault: append(from(character), children)\n\t\t}\n\n\treturn children\n}\n\n/**\n * @param {number} index\n * @param {number} count\n * @return {string}\n */\nexport function escaping (index, count) {\n\twhile (--count && next())\n\t\t// not 0-9 A-F a-f\n\t\tif (character < 48 || character > 102 || (character > 57 && character < 65) || (character > 70 && character < 97))\n\t\t\tbreak\n\n\treturn slice(index, caret() + (count < 6 && peek() == 32 && next() == 32))\n}\n\n/**\n * @param {number} type\n * @return {number}\n */\nexport function delimiter (type) {\n\twhile (next())\n\t\tswitch (character) {\n\t\t\t// ] ) \" '\n\t\t\tcase type:\n\t\t\t\treturn position\n\t\t\t// \" '\n\t\t\tcase 34: case 39:\n\t\t\t\tif (type !== 34 && type !== 39)\n\t\t\t\t\tdelimiter(character)\n\t\t\t\tbreak\n\t\t\t// (\n\t\t\tcase 40:\n\t\t\t\tif (type === 41)\n\t\t\t\t\tdelimiter(type)\n\t\t\t\tbreak\n\t\t\t// \\\n\t\t\tcase 92:\n\t\t\t\tnext()\n\t\t\t\tbreak\n\t\t}\n\n\treturn position\n}\n\n/**\n * @param {number} type\n * @param {number} index\n * @return {number}\n */\nexport function commenter (type, index) {\n\twhile (next())\n\t\t// //\n\t\tif (type + character === 47 + 10)\n\t\t\tbreak\n\t\t// /*\n\t\telse if (type + character === 42 + 42 && peek() === 47)\n\t\t\tbreak\n\n\treturn '/*' + slice(index, position - 1) + '*' + from(type === 47 ? type : next())\n}\n\n/**\n * @param {number} index\n * @return {string}\n */\nexport function identifier (index) {\n\twhile (!token(peek()))\n\t\tnext()\n\n\treturn slice(index, position)\n}\n","import {COMMENT, RULESET, DECLARATION} from './Enum.js'\nimport {abs, charat, trim, from, sizeof, strlen, substr, append, replace, indexof} from './Utility.js'\nimport {node, char, prev, next, peek, caret, alloc, dealloc, delimit, whitespace, escaping, identifier, commenter} from './Tokenizer.js'\n\n/**\n * @param {string} value\n * @return {object[]}\n */\nexport function compile (value) {\n\treturn dealloc(parse('', null, null, null, [''], value = alloc(value), 0, [0], value))\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {string[]} rule\n * @param {string[]} rules\n * @param {string[]} rulesets\n * @param {number[]} pseudo\n * @param {number[]} points\n * @param {string[]} declarations\n * @return {object}\n */\nexport function parse (value, root, parent, rule, rules, rulesets, pseudo, points, declarations) {\n\tvar index = 0\n\tvar offset = 0\n\tvar length = pseudo\n\tvar atrule = 0\n\tvar property = 0\n\tvar previous = 0\n\tvar variable = 1\n\tvar scanning = 1\n\tvar ampersand = 1\n\tvar character = 0\n\tvar type = ''\n\tvar props = rules\n\tvar children = rulesets\n\tvar reference = rule\n\tvar characters = type\n\n\twhile (scanning)\n\t\tswitch (previous = character, character = next()) {\n\t\t\t// (\n\t\t\tcase 40:\n\t\t\t\tif (previous != 108 && charat(characters, length - 1) == 58) {\n\t\t\t\t\tif (indexof(characters += replace(delimit(character), '&', '&\\f'), '&\\f') != -1)\n\t\t\t\t\t\tampersand = -1\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t// \" ' [\n\t\t\tcase 34: case 39: case 91:\n\t\t\t\tcharacters += delimit(character)\n\t\t\t\tbreak\n\t\t\t// \\t \\n \\r \\s\n\t\t\tcase 9: case 10: case 13: case 32:\n\t\t\t\tcharacters += whitespace(previous)\n\t\t\t\tbreak\n\t\t\t// \\\n\t\t\tcase 92:\n\t\t\t\tcharacters += escaping(caret() - 1, 7)\n\t\t\t\tcontinue\n\t\t\t// /\n\t\t\tcase 47:\n\t\t\t\tswitch (peek()) {\n\t\t\t\t\tcase 42: case 47:\n\t\t\t\t\t\tappend(comment(commenter(next(), caret()), root, parent), declarations)\n\t\t\t\t\t\tbreak\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tcharacters += '/'\n\t\t\t\t}\n\t\t\t\tbreak\n\t\t\t// {\n\t\t\tcase 123 * variable:\n\t\t\t\tpoints[index++] = strlen(characters) * ampersand\n\t\t\t// } ; \\0\n\t\t\tcase 125 * variable: case 59: case 0:\n\t\t\t\tswitch (character) {\n\t\t\t\t\t// \\0 }\n\t\t\t\t\tcase 0: case 125: scanning = 0\n\t\t\t\t\t// ;\n\t\t\t\t\tcase 59 + offset: if (ampersand == -1) characters = replace(characters, /\\f/g, '')\n\t\t\t\t\t\tif (property > 0 && (strlen(characters) - length))\n\t\t\t\t\t\t\tappend(property > 32 ? declaration(characters + ';', rule, parent, length - 1) : declaration(replace(characters, ' ', '') + ';', rule, parent, length - 2), declarations)\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// @ ;\n\t\t\t\t\tcase 59: characters += ';'\n\t\t\t\t\t// { rule/at-rule\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tappend(reference = ruleset(characters, root, parent, index, offset, rules, points, type, props = [], children = [], length), rulesets)\n\n\t\t\t\t\t\tif (character === 123)\n\t\t\t\t\t\t\tif (offset === 0)\n\t\t\t\t\t\t\t\tparse(characters, root, reference, reference, props, rulesets, length, points, children)\n\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t\tswitch (atrule === 99 && charat(characters, 3) === 110 ? 100 : atrule) {\n\t\t\t\t\t\t\t\t\t// d l m s\n\t\t\t\t\t\t\t\t\tcase 100: case 108: case 109: case 115:\n\t\t\t\t\t\t\t\t\t\tparse(value, reference, reference, rule && append(ruleset(value, reference, reference, 0, 0, rules, points, type, rules, props = [], length), children), rules, children, length, points, rule ? props : children)\n\t\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\t\t\tparse(characters, reference, reference, reference, [''], children, 0, points, children)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tindex = offset = property = 0, variable = ampersand = 1, type = characters = '', length = pseudo\n\t\t\t\tbreak\n\t\t\t// :\n\t\t\tcase 58:\n\t\t\t\tlength = 1 + strlen(characters), property = previous\n\t\t\tdefault:\n\t\t\t\tif (variable < 1)\n\t\t\t\t\tif (character == 123)\n\t\t\t\t\t\t--variable\n\t\t\t\t\telse if (character == 125 && variable++ == 0 && prev() == 125)\n\t\t\t\t\t\tcontinue\n\n\t\t\t\tswitch (characters += from(character), character * variable) {\n\t\t\t\t\t// &\n\t\t\t\t\tcase 38:\n\t\t\t\t\t\tampersand = offset > 0 ? 1 : (characters += '\\f', -1)\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// ,\n\t\t\t\t\tcase 44:\n\t\t\t\t\t\tpoints[index++] = (strlen(characters) - 1) * ampersand, ampersand = 1\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// @\n\t\t\t\t\tcase 64:\n\t\t\t\t\t\t// -\n\t\t\t\t\t\tif (peek() === 45)\n\t\t\t\t\t\t\tcharacters += delimit(next())\n\n\t\t\t\t\t\tatrule = peek(), offset = length = strlen(type = characters += identifier(caret())), character++\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// -\n\t\t\t\t\tcase 45:\n\t\t\t\t\t\tif (previous === 45 && strlen(characters) == 2)\n\t\t\t\t\t\t\tvariable = 0\n\t\t\t\t}\n\t\t}\n\n\treturn rulesets\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {number} index\n * @param {number} offset\n * @param {string[]} rules\n * @param {number[]} points\n * @param {string} type\n * @param {string[]} props\n * @param {string[]} children\n * @param {number} length\n * @return {object}\n */\nexport function ruleset (value, root, parent, index, offset, rules, points, type, props, children, length) {\n\tvar post = offset - 1\n\tvar rule = offset === 0 ? rules : ['']\n\tvar size = sizeof(rule)\n\n\tfor (var i = 0, j = 0, k = 0; i < index; ++i)\n\t\tfor (var x = 0, y = substr(value, post + 1, post = abs(j = points[i])), z = value; x < size; ++x)\n\t\t\tif (z = trim(j > 0 ? rule[x] + ' ' + y : replace(y, /&\\f/g, rule[x])))\n\t\t\t\tprops[k++] = z\n\n\treturn node(value, root, parent, offset === 0 ? RULESET : type, props, children, length)\n}\n\n/**\n * @param {number} value\n * @param {object} root\n * @param {object?} parent\n * @return {object}\n */\nexport function comment (value, root, parent) {\n\treturn node(value, root, parent, COMMENT, from(char()), substr(value, 2, -2), 0)\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {number} length\n * @return {object}\n */\nexport function declaration (value, root, parent, length) {\n\treturn node(value, root, parent, DECLARATION, substr(value, 0, length), substr(value, length + 1, -1), length)\n}\n","import {IMPORT, LAYER, COMMENT, RULESET, DECLARATION, KEYFRAMES} from './Enum.js'\nimport {strlen, sizeof} from './Utility.js'\n\n/**\n * @param {object[]} children\n * @param {function} callback\n * @return {string}\n */\nexport function serialize (children, callback) {\n\tvar output = ''\n\tvar length = sizeof(children)\n\n\tfor (var i = 0; i < length; i++)\n\t\toutput += callback(children[i], i, children, callback) || ''\n\n\treturn output\n}\n\n/**\n * @param {object} element\n * @param {number} index\n * @param {object[]} children\n * @param {function} callback\n * @return {string}\n */\nexport function stringify (element, index, children, callback) {\n\tswitch (element.type) {\n\t\tcase LAYER: if (element.children.length) break\n\t\tcase IMPORT: case DECLARATION: return element.return = element.return || element.value\n\t\tcase COMMENT: return ''\n\t\tcase KEYFRAMES: return element.return = element.value + '{' + serialize(element.children, callback) + '}'\n\t\tcase RULESET: element.value = element.props.join(',')\n\t}\n\n\treturn strlen(children = serialize(element.children, callback)) ? element.return = element.value + '{' + children + '}' : ''\n}\n","import {MS, MOZ, WEBKIT, RULESET, KEYFRAMES, DECLARATION} from './Enum.js'\nimport {match, charat, substr, strlen, sizeof, replace, combine} from './Utility.js'\nimport {copy, tokenize} from './Tokenizer.js'\nimport {serialize} from './Serializer.js'\nimport {prefix} from './Prefixer.js'\n\n/**\n * @param {function[]} collection\n * @return {function}\n */\nexport function middleware (collection) {\n\tvar length = sizeof(collection)\n\n\treturn function (element, index, children, callback) {\n\t\tvar output = ''\n\n\t\tfor (var i = 0; i < length; i++)\n\t\t\toutput += collection[i](element, index, children, callback) || ''\n\n\t\treturn output\n\t}\n}\n\n/**\n * @param {function} callback\n * @return {function}\n */\nexport function rulesheet (callback) {\n\treturn function (element) {\n\t\tif (!element.root)\n\t\t\tif (element = element.return)\n\t\t\t\tcallback(element)\n\t}\n}\n\n/**\n * @param {object} element\n * @param {number} index\n * @param {object[]} children\n * @param {function} callback\n */\nexport function prefixer (element, index, children, callback) {\n\tif (element.length > -1)\n\t\tif (!element.return)\n\t\t\tswitch (element.type) {\n\t\t\t\tcase DECLARATION: element.return = prefix(element.value, element.length, children)\n\t\t\t\t\treturn\n\t\t\t\tcase KEYFRAMES:\n\t\t\t\t\treturn serialize([copy(element, {value: replace(element.value, '@', '@' + WEBKIT)})], callback)\n\t\t\t\tcase RULESET:\n\t\t\t\t\tif (element.length)\n\t\t\t\t\t\treturn combine(element.props, function (value) {\n\t\t\t\t\t\t\tswitch (match(value, /(::plac\\w+|:read-\\w+)/)) {\n\t\t\t\t\t\t\t\t// :read-(only|write)\n\t\t\t\t\t\t\t\tcase ':read-only': case ':read-write':\n\t\t\t\t\t\t\t\t\treturn serialize([copy(element, {props: [replace(value, /:(read-\\w+)/, ':' + MOZ + '$1')]})], callback)\n\t\t\t\t\t\t\t\t// :placeholder\n\t\t\t\t\t\t\t\tcase '::placeholder':\n\t\t\t\t\t\t\t\t\treturn serialize([\n\t\t\t\t\t\t\t\t\t\tcopy(element, {props: [replace(value, /:(plac\\w+)/, ':' + WEBKIT + 'input-$1')]}),\n\t\t\t\t\t\t\t\t\t\tcopy(element, {props: [replace(value, /:(plac\\w+)/, ':' + MOZ + '$1')]}),\n\t\t\t\t\t\t\t\t\t\tcopy(element, {props: [replace(value, /:(plac\\w+)/, MS + 'input-$1')]})\n\t\t\t\t\t\t\t\t\t], callback)\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\treturn ''\n\t\t\t\t\t\t})\n\t\t\t}\n}\n\n/**\n * @param {object} element\n * @param {number} index\n * @param {object[]} children\n */\nexport function namespace (element) {\n\tswitch (element.type) {\n\t\tcase RULESET:\n\t\t\telement.props = element.props.map(function (value) {\n\t\t\t\treturn combine(tokenize(value), function (value, index, children) {\n\t\t\t\t\tswitch (charat(value, 0)) {\n\t\t\t\t\t\t// \\f\n\t\t\t\t\t\tcase 12:\n\t\t\t\t\t\t\treturn substr(value, 1, strlen(value))\n\t\t\t\t\t\t// \\0 ( + > ~\n\t\t\t\t\t\tcase 0: case 40: case 43: case 62: case 126:\n\t\t\t\t\t\t\treturn value\n\t\t\t\t\t\t// :\n\t\t\t\t\t\tcase 58:\n\t\t\t\t\t\t\tif (children[++index] === 'global')\n\t\t\t\t\t\t\t\tchildren[index] = '', children[++index] = '\\f' + substr(children[index], index = 1, -1)\n\t\t\t\t\t\t// \\s\n\t\t\t\t\t\tcase 32:\n\t\t\t\t\t\t\treturn index === 1 ? '' : value\n\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\tswitch (index) {\n\t\t\t\t\t\t\t\tcase 0: element = value\n\t\t\t\t\t\t\t\t\treturn sizeof(children) > 1 ? '' : value\n\t\t\t\t\t\t\t\tcase index = sizeof(children) - 1: case 2:\n\t\t\t\t\t\t\t\t\treturn index === 2 ? value + element + element : value + element\n\t\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\t\treturn value\n\t\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t})\n\t}\n}\n","import { StyleSheet } from '@emotion/sheet';\nimport { dealloc, alloc, next, token, from, peek, delimit, slice, position, RULESET, combine, match, serialize, copy, replace, WEBKIT, MOZ, MS, KEYFRAMES, DECLARATION, hash, charat, strlen, indexof, stringify, rulesheet, middleware, compile } from 'stylis';\nimport '@emotion/weak-memoize';\nimport '@emotion/memoize';\n\nvar identifierWithPointTracking = function identifierWithPointTracking(begin, points, index) {\n var previous = 0;\n var character = 0;\n\n while (true) {\n previous = character;\n character = peek(); // &\\f\n\n if (previous === 38 && character === 12) {\n points[index] = 1;\n }\n\n if (token(character)) {\n break;\n }\n\n next();\n }\n\n return slice(begin, position);\n};\n\nvar toRules = function toRules(parsed, points) {\n // pretend we've started with a comma\n var index = -1;\n var character = 44;\n\n do {\n switch (token(character)) {\n case 0:\n // &\\f\n if (character === 38 && peek() === 12) {\n // this is not 100% correct, we don't account for literal sequences here - like for example quoted strings\n // stylis inserts \\f after & to know when & where it should replace this sequence with the context selector\n // and when it should just concatenate the outer and inner selectors\n // it's very unlikely for this sequence to actually appear in a different context, so we just leverage this fact here\n points[index] = 1;\n }\n\n parsed[index] += identifierWithPointTracking(position - 1, points, index);\n break;\n\n case 2:\n parsed[index] += delimit(character);\n break;\n\n case 4:\n // comma\n if (character === 44) {\n // colon\n parsed[++index] = peek() === 58 ? '&\\f' : '';\n points[index] = parsed[index].length;\n break;\n }\n\n // fallthrough\n\n default:\n parsed[index] += from(character);\n }\n } while (character = next());\n\n return parsed;\n};\n\nvar getRules = function getRules(value, points) {\n return dealloc(toRules(alloc(value), points));\n}; // WeakSet would be more appropriate, but only WeakMap is supported in IE11\n\n\nvar fixedElements = /* #__PURE__ */new WeakMap();\nvar compat = function compat(element) {\n if (element.type !== 'rule' || !element.parent || // positive .length indicates that this rule contains pseudo\n // negative .length indicates that this rule has been already prefixed\n element.length < 1) {\n return;\n }\n\n var value = element.value;\n var parent = element.parent;\n var isImplicitRule = element.column === parent.column && element.line === parent.line;\n\n while (parent.type !== 'rule') {\n parent = parent.parent;\n if (!parent) return;\n } // short-circuit for the simplest case\n\n\n if (element.props.length === 1 && value.charCodeAt(0) !== 58\n /* colon */\n && !fixedElements.get(parent)) {\n return;\n } // if this is an implicitly inserted rule (the one eagerly inserted at the each new nested level)\n // then the props has already been manipulated beforehand as they that array is shared between it and its \"rule parent\"\n\n\n if (isImplicitRule) {\n return;\n }\n\n fixedElements.set(element, true);\n var points = [];\n var rules = getRules(value, points);\n var parentRules = parent.props;\n\n for (var i = 0, k = 0; i < rules.length; i++) {\n for (var j = 0; j < parentRules.length; j++, k++) {\n element.props[k] = points[i] ? rules[i].replace(/&\\f/g, parentRules[j]) : parentRules[j] + \" \" + rules[i];\n }\n }\n};\nvar removeLabel = function removeLabel(element) {\n if (element.type === 'decl') {\n var value = element.value;\n\n if ( // charcode for l\n value.charCodeAt(0) === 108 && // charcode for b\n value.charCodeAt(2) === 98) {\n // this ignores label\n element[\"return\"] = '';\n element.value = '';\n }\n }\n};\n\n/* eslint-disable no-fallthrough */\n\nfunction prefix(value, length) {\n switch (hash(value, length)) {\n // color-adjust\n case 5103:\n return WEBKIT + 'print-' + value + value;\n // animation, animation-(delay|direction|duration|fill-mode|iteration-count|name|play-state|timing-function)\n\n case 5737:\n case 4201:\n case 3177:\n case 3433:\n case 1641:\n case 4457:\n case 2921: // text-decoration, filter, clip-path, backface-visibility, column, box-decoration-break\n\n case 5572:\n case 6356:\n case 5844:\n case 3191:\n case 6645:\n case 3005: // mask, mask-image, mask-(mode|clip|size), mask-(repeat|origin), mask-position, mask-composite,\n\n case 6391:\n case 5879:\n case 5623:\n case 6135:\n case 4599:\n case 4855: // background-clip, columns, column-(count|fill|gap|rule|rule-color|rule-style|rule-width|span|width)\n\n case 4215:\n case 6389:\n case 5109:\n case 5365:\n case 5621:\n case 3829:\n return WEBKIT + value + value;\n // appearance, user-select, transform, hyphens, text-size-adjust\n\n case 5349:\n case 4246:\n case 4810:\n case 6968:\n case 2756:\n return WEBKIT + value + MOZ + value + MS + value + value;\n // flex, flex-direction\n\n case 6828:\n case 4268:\n return WEBKIT + value + MS + value + value;\n // order\n\n case 6165:\n return WEBKIT + value + MS + 'flex-' + value + value;\n // align-items\n\n case 5187:\n return WEBKIT + value + replace(value, /(\\w+).+(:[^]+)/, WEBKIT + 'box-$1$2' + MS + 'flex-$1$2') + value;\n // align-self\n\n case 5443:\n return WEBKIT + value + MS + 'flex-item-' + replace(value, /flex-|-self/, '') + value;\n // align-content\n\n case 4675:\n return WEBKIT + value + MS + 'flex-line-pack' + replace(value, /align-content|flex-|-self/, '') + value;\n // flex-shrink\n\n case 5548:\n return WEBKIT + value + MS + replace(value, 'shrink', 'negative') + value;\n // flex-basis\n\n case 5292:\n return WEBKIT + value + MS + replace(value, 'basis', 'preferred-size') + value;\n // flex-grow\n\n case 6060:\n return WEBKIT + 'box-' + replace(value, '-grow', '') + WEBKIT + value + MS + replace(value, 'grow', 'positive') + value;\n // transition\n\n case 4554:\n return WEBKIT + replace(value, /([^-])(transform)/g, '$1' + WEBKIT + '$2') + value;\n // cursor\n\n case 6187:\n return replace(replace(replace(value, /(zoom-|grab)/, WEBKIT + '$1'), /(image-set)/, WEBKIT + '$1'), value, '') + value;\n // background, background-image\n\n case 5495:\n case 3959:\n return replace(value, /(image-set\\([^]*)/, WEBKIT + '$1' + '$`$1');\n // justify-content\n\n case 4968:\n return replace(replace(value, /(.+:)(flex-)?(.*)/, WEBKIT + 'box-pack:$3' + MS + 'flex-pack:$3'), /s.+-b[^;]+/, 'justify') + WEBKIT + value + value;\n // (margin|padding)-inline-(start|end)\n\n case 4095:\n case 3583:\n case 4068:\n case 2532:\n return replace(value, /(.+)-inline(.+)/, WEBKIT + '$1$2') + value;\n // (min|max)?(width|height|inline-size|block-size)\n\n case 8116:\n case 7059:\n case 5753:\n case 5535:\n case 5445:\n case 5701:\n case 4933:\n case 4677:\n case 5533:\n case 5789:\n case 5021:\n case 4765:\n // stretch, max-content, min-content, fill-available\n if (strlen(value) - 1 - length > 6) switch (charat(value, length + 1)) {\n // (m)ax-content, (m)in-content\n case 109:\n // -\n if (charat(value, length + 4) !== 45) break;\n // (f)ill-available, (f)it-content\n\n case 102:\n return replace(value, /(.+:)(.+)-([^]+)/, '$1' + WEBKIT + '$2-$3' + '$1' + MOZ + (charat(value, length + 3) == 108 ? '$3' : '$2-$3')) + value;\n // (s)tretch\n\n case 115:\n return ~indexof(value, 'stretch') ? prefix(replace(value, 'stretch', 'fill-available'), length) + value : value;\n }\n break;\n // position: sticky\n\n case 4949:\n // (s)ticky?\n if (charat(value, length + 1) !== 115) break;\n // display: (flex|inline-flex)\n\n case 6444:\n switch (charat(value, strlen(value) - 3 - (~indexof(value, '!important') && 10))) {\n // stic(k)y\n case 107:\n return replace(value, ':', ':' + WEBKIT) + value;\n // (inline-)?fl(e)x\n\n case 101:\n return replace(value, /(.+:)([^;!]+)(;|!.+)?/, '$1' + WEBKIT + (charat(value, 14) === 45 ? 'inline-' : '') + 'box$3' + '$1' + WEBKIT + '$2$3' + '$1' + MS + '$2box$3') + value;\n }\n\n break;\n // writing-mode\n\n case 5936:\n switch (charat(value, length + 11)) {\n // vertical-l(r)\n case 114:\n return WEBKIT + value + MS + replace(value, /[svh]\\w+-[tblr]{2}/, 'tb') + value;\n // vertical-r(l)\n\n case 108:\n return WEBKIT + value + MS + replace(value, /[svh]\\w+-[tblr]{2}/, 'tb-rl') + value;\n // horizontal(-)tb\n\n case 45:\n return WEBKIT + value + MS + replace(value, /[svh]\\w+-[tblr]{2}/, 'lr') + value;\n }\n\n return WEBKIT + value + MS + value + value;\n }\n\n return value;\n}\n\nvar prefixer = function prefixer(element, index, children, callback) {\n if (element.length > -1) if (!element[\"return\"]) switch (element.type) {\n case DECLARATION:\n element[\"return\"] = prefix(element.value, element.length);\n break;\n\n case KEYFRAMES:\n return serialize([copy(element, {\n value: replace(element.value, '@', '@' + WEBKIT)\n })], callback);\n\n case RULESET:\n if (element.length) return combine(element.props, function (value) {\n switch (match(value, /(::plac\\w+|:read-\\w+)/)) {\n // :read-(only|write)\n case ':read-only':\n case ':read-write':\n return serialize([copy(element, {\n props: [replace(value, /:(read-\\w+)/, ':' + MOZ + '$1')]\n })], callback);\n // :placeholder\n\n case '::placeholder':\n return serialize([copy(element, {\n props: [replace(value, /:(plac\\w+)/, ':' + WEBKIT + 'input-$1')]\n }), copy(element, {\n props: [replace(value, /:(plac\\w+)/, ':' + MOZ + '$1')]\n }), copy(element, {\n props: [replace(value, /:(plac\\w+)/, MS + 'input-$1')]\n })], callback);\n }\n\n return '';\n });\n }\n};\n\nvar defaultStylisPlugins = [prefixer];\n\nvar createCache = function createCache(options) {\n var key = options.key;\n\n if (key === 'css') {\n var ssrStyles = document.querySelectorAll(\"style[data-emotion]:not([data-s])\"); // get SSRed styles out of the way of React's hydration\n // document.head is a safe place to move them to(though note document.head is not necessarily the last place they will be)\n // note this very very intentionally targets all style elements regardless of the key to ensure\n // that creating a cache works inside of render of a React component\n\n Array.prototype.forEach.call(ssrStyles, function (node) {\n // we want to only move elements which have a space in the data-emotion attribute value\n // because that indicates that it is an Emotion 11 server-side rendered style elements\n // while we will already ignore Emotion 11 client-side inserted styles because of the :not([data-s]) part in the selector\n // Emotion 10 client-side inserted styles did not have data-s (but importantly did not have a space in their data-emotion attributes)\n // so checking for the space ensures that loading Emotion 11 after Emotion 10 has inserted some styles\n // will not result in the Emotion 10 styles being destroyed\n var dataEmotionAttribute = node.getAttribute('data-emotion');\n\n if (dataEmotionAttribute.indexOf(' ') === -1) {\n return;\n }\n\n document.head.appendChild(node);\n node.setAttribute('data-s', '');\n });\n }\n\n var stylisPlugins = options.stylisPlugins || defaultStylisPlugins;\n\n var inserted = {};\n var container;\n var nodesToHydrate = [];\n\n {\n container = options.container || document.head;\n Array.prototype.forEach.call( // this means we will ignore elements which don't have a space in them which\n // means that the style elements we're looking at are only Emotion 11 server-rendered style elements\n document.querySelectorAll(\"style[data-emotion^=\\\"\" + key + \" \\\"]\"), function (node) {\n var attrib = node.getAttribute(\"data-emotion\").split(' ');\n\n for (var i = 1; i < attrib.length; i++) {\n inserted[attrib[i]] = true;\n }\n\n nodesToHydrate.push(node);\n });\n }\n\n var _insert;\n\n var omnipresentPlugins = [compat, removeLabel];\n\n {\n var currentSheet;\n var finalizingPlugins = [stringify, rulesheet(function (rule) {\n currentSheet.insert(rule);\n })];\n var serializer = middleware(omnipresentPlugins.concat(stylisPlugins, finalizingPlugins));\n\n var stylis = function stylis(styles) {\n return serialize(compile(styles), serializer);\n };\n\n _insert = function insert(selector, serialized, sheet, shouldCache) {\n currentSheet = sheet;\n\n stylis(selector ? selector + \"{\" + serialized.styles + \"}\" : serialized.styles);\n\n if (shouldCache) {\n cache.inserted[serialized.name] = true;\n }\n };\n }\n\n var cache = {\n key: key,\n sheet: new StyleSheet({\n key: key,\n container: container,\n nonce: options.nonce,\n speedy: options.speedy,\n prepend: options.prepend,\n insertionPoint: options.insertionPoint\n }),\n nonce: options.nonce,\n inserted: inserted,\n registered: {},\n insert: _insert\n };\n cache.sheet.hydrate(nodesToHydrate);\n return cache;\n};\n\nexport { createCache as default };\n","function _extends() {\n return _extends = Object.assign ? Object.assign.bind() : function (n) {\n for (var e = 1; e < arguments.length; e++) {\n var t = arguments[e];\n for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);\n }\n return n;\n }, _extends.apply(null, arguments);\n}\nexport { _extends as default };","/** @license React v16.13.1\n * react-is.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';var b=\"function\"===typeof Symbol&&Symbol.for,c=b?Symbol.for(\"react.element\"):60103,d=b?Symbol.for(\"react.portal\"):60106,e=b?Symbol.for(\"react.fragment\"):60107,f=b?Symbol.for(\"react.strict_mode\"):60108,g=b?Symbol.for(\"react.profiler\"):60114,h=b?Symbol.for(\"react.provider\"):60109,k=b?Symbol.for(\"react.context\"):60110,l=b?Symbol.for(\"react.async_mode\"):60111,m=b?Symbol.for(\"react.concurrent_mode\"):60111,n=b?Symbol.for(\"react.forward_ref\"):60112,p=b?Symbol.for(\"react.suspense\"):60113,q=b?\nSymbol.for(\"react.suspense_list\"):60120,r=b?Symbol.for(\"react.memo\"):60115,t=b?Symbol.for(\"react.lazy\"):60116,v=b?Symbol.for(\"react.block\"):60121,w=b?Symbol.for(\"react.fundamental\"):60117,x=b?Symbol.for(\"react.responder\"):60118,y=b?Symbol.for(\"react.scope\"):60119;\nfunction z(a){if(\"object\"===typeof a&&null!==a){var u=a.$$typeof;switch(u){case c:switch(a=a.type,a){case l:case m:case e:case g:case f:case p:return a;default:switch(a=a&&a.$$typeof,a){case k:case n:case t:case r:case h:return a;default:return u}}case d:return u}}}function A(a){return z(a)===m}exports.AsyncMode=l;exports.ConcurrentMode=m;exports.ContextConsumer=k;exports.ContextProvider=h;exports.Element=c;exports.ForwardRef=n;exports.Fragment=e;exports.Lazy=t;exports.Memo=r;exports.Portal=d;\nexports.Profiler=g;exports.StrictMode=f;exports.Suspense=p;exports.isAsyncMode=function(a){return A(a)||z(a)===l};exports.isConcurrentMode=A;exports.isContextConsumer=function(a){return z(a)===k};exports.isContextProvider=function(a){return z(a)===h};exports.isElement=function(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===c};exports.isForwardRef=function(a){return z(a)===n};exports.isFragment=function(a){return z(a)===e};exports.isLazy=function(a){return z(a)===t};\nexports.isMemo=function(a){return z(a)===r};exports.isPortal=function(a){return z(a)===d};exports.isProfiler=function(a){return z(a)===g};exports.isStrictMode=function(a){return z(a)===f};exports.isSuspense=function(a){return z(a)===p};\nexports.isValidElementType=function(a){return\"string\"===typeof a||\"function\"===typeof a||a===e||a===m||a===g||a===f||a===p||a===q||\"object\"===typeof a&&null!==a&&(a.$$typeof===t||a.$$typeof===r||a.$$typeof===h||a.$$typeof===k||a.$$typeof===n||a.$$typeof===w||a.$$typeof===x||a.$$typeof===y||a.$$typeof===v)};exports.typeOf=z;\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}\n","'use strict';\n\nvar reactIs = require('react-is');\n\n/**\n * Copyright 2015, Yahoo! Inc.\n * Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms.\n */\nvar REACT_STATICS = {\n childContextTypes: true,\n contextType: true,\n contextTypes: true,\n defaultProps: true,\n displayName: true,\n getDefaultProps: true,\n getDerivedStateFromError: true,\n getDerivedStateFromProps: true,\n mixins: true,\n propTypes: true,\n type: true\n};\nvar KNOWN_STATICS = {\n name: true,\n length: true,\n prototype: true,\n caller: true,\n callee: true,\n arguments: true,\n arity: true\n};\nvar FORWARD_REF_STATICS = {\n '$$typeof': true,\n render: true,\n defaultProps: true,\n displayName: true,\n propTypes: true\n};\nvar MEMO_STATICS = {\n '$$typeof': true,\n compare: true,\n defaultProps: true,\n displayName: true,\n propTypes: true,\n type: true\n};\nvar TYPE_STATICS = {};\nTYPE_STATICS[reactIs.ForwardRef] = FORWARD_REF_STATICS;\nTYPE_STATICS[reactIs.Memo] = MEMO_STATICS;\n\nfunction getStatics(component) {\n // React v16.11 and below\n if (reactIs.isMemo(component)) {\n return MEMO_STATICS;\n } // React v16.12 and above\n\n\n return TYPE_STATICS[component['$$typeof']] || REACT_STATICS;\n}\n\nvar defineProperty = Object.defineProperty;\nvar getOwnPropertyNames = Object.getOwnPropertyNames;\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar getPrototypeOf = Object.getPrototypeOf;\nvar objectPrototype = Object.prototype;\nfunction hoistNonReactStatics(targetComponent, sourceComponent, blacklist) {\n if (typeof sourceComponent !== 'string') {\n // don't hoist over string (html) components\n if (objectPrototype) {\n var inheritedComponent = getPrototypeOf(sourceComponent);\n\n if (inheritedComponent && inheritedComponent !== objectPrototype) {\n hoistNonReactStatics(targetComponent, inheritedComponent, blacklist);\n }\n }\n\n var keys = getOwnPropertyNames(sourceComponent);\n\n if (getOwnPropertySymbols) {\n keys = keys.concat(getOwnPropertySymbols(sourceComponent));\n }\n\n var targetStatics = getStatics(targetComponent);\n var sourceStatics = getStatics(sourceComponent);\n\n for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n\n if (!KNOWN_STATICS[key] && !(blacklist && blacklist[key]) && !(sourceStatics && sourceStatics[key]) && !(targetStatics && targetStatics[key])) {\n var descriptor = getOwnPropertyDescriptor(sourceComponent, key);\n\n try {\n // Avoid failures from read-only properties\n defineProperty(targetComponent, key, descriptor);\n } catch (e) {}\n }\n }\n }\n\n return targetComponent;\n}\n\nmodule.exports = hoistNonReactStatics;\n","var isBrowser = true;\n\nfunction getRegisteredStyles(registered, registeredStyles, classNames) {\n var rawClassName = '';\n classNames.split(' ').forEach(function (className) {\n if (registered[className] !== undefined) {\n registeredStyles.push(registered[className] + \";\");\n } else if (className) {\n rawClassName += className + \" \";\n }\n });\n return rawClassName;\n}\nvar registerStyles = function registerStyles(cache, serialized, isStringTag) {\n var className = cache.key + \"-\" + serialized.name;\n\n if ( // we only need to add the styles to the registered cache if the\n // class name could be used further down\n // the tree but if it's a string tag, we know it won't\n // so we don't have to add it to registered cache.\n // this improves memory usage since we can avoid storing the whole style string\n (isStringTag === false || // we need to always store it if we're in compat mode and\n // in node since emotion-server relies on whether a style is in\n // the registered cache to know whether a style is global or not\n // also, note that this check will be dead code eliminated in the browser\n isBrowser === false ) && cache.registered[className] === undefined) {\n cache.registered[className] = serialized.styles;\n }\n};\nvar insertStyles = function insertStyles(cache, serialized, isStringTag) {\n registerStyles(cache, serialized, isStringTag);\n var className = cache.key + \"-\" + serialized.name;\n\n if (cache.inserted[serialized.name] === undefined) {\n var current = serialized;\n\n do {\n cache.insert(serialized === current ? \".\" + className : '', current, cache.sheet, true);\n\n current = current.next;\n } while (current !== undefined);\n }\n};\n\nexport { getRegisteredStyles, insertStyles, registerStyles };\n","/* eslint-disable */\n// Inspired by https://github.com/garycourt/murmurhash-js\n// Ported from https://github.com/aappleby/smhasher/blob/61a0530f28277f2e850bfc39600ce61d02b518de/src/MurmurHash2.cpp#L37-L86\nfunction murmur2(str) {\n // 'm' and 'r' are mixing constants generated offline.\n // They're not really 'magic', they just happen to work well.\n // const m = 0x5bd1e995;\n // const r = 24;\n // Initialize the hash\n var h = 0; // Mix 4 bytes at a time into the hash\n\n var k,\n i = 0,\n len = str.length;\n\n for (; len >= 4; ++i, len -= 4) {\n k = str.charCodeAt(i) & 0xff | (str.charCodeAt(++i) & 0xff) << 8 | (str.charCodeAt(++i) & 0xff) << 16 | (str.charCodeAt(++i) & 0xff) << 24;\n k =\n /* Math.imul(k, m): */\n (k & 0xffff) * 0x5bd1e995 + ((k >>> 16) * 0xe995 << 16);\n k ^=\n /* k >>> r: */\n k >>> 24;\n h =\n /* Math.imul(k, m): */\n (k & 0xffff) * 0x5bd1e995 + ((k >>> 16) * 0xe995 << 16) ^\n /* Math.imul(h, m): */\n (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);\n } // Handle the last few bytes of the input array\n\n\n switch (len) {\n case 3:\n h ^= (str.charCodeAt(i + 2) & 0xff) << 16;\n\n case 2:\n h ^= (str.charCodeAt(i + 1) & 0xff) << 8;\n\n case 1:\n h ^= str.charCodeAt(i) & 0xff;\n h =\n /* Math.imul(h, m): */\n (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);\n } // Do a few final mixes of the hash to ensure the last few\n // bytes are well-incorporated.\n\n\n h ^= h >>> 13;\n h =\n /* Math.imul(h, m): */\n (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);\n return ((h ^ h >>> 15) >>> 0).toString(36);\n}\n\nexport { murmur2 as default };\n","var unitlessKeys = {\n animationIterationCount: 1,\n aspectRatio: 1,\n borderImageOutset: 1,\n borderImageSlice: 1,\n borderImageWidth: 1,\n boxFlex: 1,\n boxFlexGroup: 1,\n boxOrdinalGroup: 1,\n columnCount: 1,\n columns: 1,\n flex: 1,\n flexGrow: 1,\n flexPositive: 1,\n flexShrink: 1,\n flexNegative: 1,\n flexOrder: 1,\n gridRow: 1,\n gridRowEnd: 1,\n gridRowSpan: 1,\n gridRowStart: 1,\n gridColumn: 1,\n gridColumnEnd: 1,\n gridColumnSpan: 1,\n gridColumnStart: 1,\n msGridRow: 1,\n msGridRowSpan: 1,\n msGridColumn: 1,\n msGridColumnSpan: 1,\n fontWeight: 1,\n lineHeight: 1,\n opacity: 1,\n order: 1,\n orphans: 1,\n scale: 1,\n tabSize: 1,\n widows: 1,\n zIndex: 1,\n zoom: 1,\n WebkitLineClamp: 1,\n // SVG-related properties\n fillOpacity: 1,\n floodOpacity: 1,\n stopOpacity: 1,\n strokeDasharray: 1,\n strokeDashoffset: 1,\n strokeMiterlimit: 1,\n strokeOpacity: 1,\n strokeWidth: 1\n};\n\nexport { unitlessKeys as default };\n","import hashString from '@emotion/hash';\nimport unitless from '@emotion/unitless';\nimport memoize from '@emotion/memoize';\n\nvar isDevelopment = false;\n\nvar hyphenateRegex = /[A-Z]|^ms/g;\nvar animationRegex = /_EMO_([^_]+?)_([^]*?)_EMO_/g;\n\nvar isCustomProperty = function isCustomProperty(property) {\n return property.charCodeAt(1) === 45;\n};\n\nvar isProcessableValue = function isProcessableValue(value) {\n return value != null && typeof value !== 'boolean';\n};\n\nvar processStyleName = /* #__PURE__ */memoize(function (styleName) {\n return isCustomProperty(styleName) ? styleName : styleName.replace(hyphenateRegex, '-$&').toLowerCase();\n});\n\nvar processStyleValue = function processStyleValue(key, value) {\n switch (key) {\n case 'animation':\n case 'animationName':\n {\n if (typeof value === 'string') {\n return value.replace(animationRegex, function (match, p1, p2) {\n cursor = {\n name: p1,\n styles: p2,\n next: cursor\n };\n return p1;\n });\n }\n }\n }\n\n if (unitless[key] !== 1 && !isCustomProperty(key) && typeof value === 'number' && value !== 0) {\n return value + 'px';\n }\n\n return value;\n};\n\nvar noComponentSelectorMessage = 'Component selectors can only be used in conjunction with ' + '@emotion/babel-plugin, the swc Emotion plugin, or another Emotion-aware ' + 'compiler transform.';\n\nfunction handleInterpolation(mergedProps, registered, interpolation) {\n if (interpolation == null) {\n return '';\n }\n\n var componentSelector = interpolation;\n\n if (componentSelector.__emotion_styles !== undefined) {\n\n return componentSelector;\n }\n\n switch (typeof interpolation) {\n case 'boolean':\n {\n return '';\n }\n\n case 'object':\n {\n var keyframes = interpolation;\n\n if (keyframes.anim === 1) {\n cursor = {\n name: keyframes.name,\n styles: keyframes.styles,\n next: cursor\n };\n return keyframes.name;\n }\n\n var serializedStyles = interpolation;\n\n if (serializedStyles.styles !== undefined) {\n var next = serializedStyles.next;\n\n if (next !== undefined) {\n // not the most efficient thing ever but this is a pretty rare case\n // and there will be very few iterations of this generally\n while (next !== undefined) {\n cursor = {\n name: next.name,\n styles: next.styles,\n next: cursor\n };\n next = next.next;\n }\n }\n\n var styles = serializedStyles.styles + \";\";\n return styles;\n }\n\n return createStringFromObject(mergedProps, registered, interpolation);\n }\n\n case 'function':\n {\n if (mergedProps !== undefined) {\n var previousCursor = cursor;\n var result = interpolation(mergedProps);\n cursor = previousCursor;\n return handleInterpolation(mergedProps, registered, result);\n }\n\n break;\n }\n } // finalize string values (regular strings and functions interpolated into css calls)\n\n\n var asString = interpolation;\n\n if (registered == null) {\n return asString;\n }\n\n var cached = registered[asString];\n return cached !== undefined ? cached : asString;\n}\n\nfunction createStringFromObject(mergedProps, registered, obj) {\n var string = '';\n\n if (Array.isArray(obj)) {\n for (var i = 0; i < obj.length; i++) {\n string += handleInterpolation(mergedProps, registered, obj[i]) + \";\";\n }\n } else {\n for (var key in obj) {\n var value = obj[key];\n\n if (typeof value !== 'object') {\n var asString = value;\n\n if (registered != null && registered[asString] !== undefined) {\n string += key + \"{\" + registered[asString] + \"}\";\n } else if (isProcessableValue(asString)) {\n string += processStyleName(key) + \":\" + processStyleValue(key, asString) + \";\";\n }\n } else {\n if (key === 'NO_COMPONENT_SELECTOR' && isDevelopment) {\n throw new Error(noComponentSelectorMessage);\n }\n\n if (Array.isArray(value) && typeof value[0] === 'string' && (registered == null || registered[value[0]] === undefined)) {\n for (var _i = 0; _i < value.length; _i++) {\n if (isProcessableValue(value[_i])) {\n string += processStyleName(key) + \":\" + processStyleValue(key, value[_i]) + \";\";\n }\n }\n } else {\n var interpolated = handleInterpolation(mergedProps, registered, value);\n\n switch (key) {\n case 'animation':\n case 'animationName':\n {\n string += processStyleName(key) + \":\" + interpolated + \";\";\n break;\n }\n\n default:\n {\n\n string += key + \"{\" + interpolated + \"}\";\n }\n }\n }\n }\n }\n }\n\n return string;\n}\n\nvar labelPattern = /label:\\s*([^\\s;{]+)\\s*(;|$)/g; // this is the cursor for keyframes\n// keyframes are stored on the SerializedStyles object as a linked list\n\nvar cursor;\nfunction serializeStyles(args, registered, mergedProps) {\n if (args.length === 1 && typeof args[0] === 'object' && args[0] !== null && args[0].styles !== undefined) {\n return args[0];\n }\n\n var stringMode = true;\n var styles = '';\n cursor = undefined;\n var strings = args[0];\n\n if (strings == null || strings.raw === undefined) {\n stringMode = false;\n styles += handleInterpolation(mergedProps, registered, strings);\n } else {\n var asTemplateStringsArr = strings;\n\n styles += asTemplateStringsArr[0];\n } // we start at 1 since we've already handled the first arg\n\n\n for (var i = 1; i < args.length; i++) {\n styles += handleInterpolation(mergedProps, registered, args[i]);\n\n if (stringMode) {\n var templateStringsArr = strings;\n\n styles += templateStringsArr[i];\n }\n } // using a global regex with .exec is stateful so lastIndex has to be reset each time\n\n\n labelPattern.lastIndex = 0;\n var identifierName = '';\n var match; // https://esbench.com/bench/5b809c2cf2949800a0f61fb5\n\n while ((match = labelPattern.exec(styles)) !== null) {\n identifierName += '-' + match[1];\n }\n\n var name = hashString(styles) + identifierName;\n\n return {\n name: name,\n styles: styles,\n next: cursor\n };\n}\n\nexport { serializeStyles };\n","import * as React from 'react';\n\nvar syncFallback = function syncFallback(create) {\n return create();\n};\n\nvar useInsertionEffect = React['useInsertion' + 'Effect'] ? React['useInsertion' + 'Effect'] : false;\nvar useInsertionEffectAlwaysWithSyncFallback = useInsertionEffect || syncFallback;\nvar useInsertionEffectWithLayoutFallback = useInsertionEffect || React.useLayoutEffect;\n\nexport { useInsertionEffectAlwaysWithSyncFallback, useInsertionEffectWithLayoutFallback };\n","import * as React from 'react';\nimport { useContext, forwardRef } from 'react';\nimport createCache from '@emotion/cache';\nimport _extends from '@babel/runtime/helpers/esm/extends';\nimport weakMemoize from '@emotion/weak-memoize';\nimport hoistNonReactStatics from '../_isolated-hnrs/dist/emotion-react-_isolated-hnrs.browser.esm.js';\nimport { getRegisteredStyles, registerStyles, insertStyles } from '@emotion/utils';\nimport { serializeStyles } from '@emotion/serialize';\nimport { useInsertionEffectAlwaysWithSyncFallback } from '@emotion/use-insertion-effect-with-fallbacks';\n\nvar isDevelopment = false;\n\nvar EmotionCacheContext = /* #__PURE__ */React.createContext( // we're doing this to avoid preconstruct's dead code elimination in this one case\n// because this module is primarily intended for the browser and node\n// but it's also required in react native and similar environments sometimes\n// and we could have a special build just for that\n// but this is much easier and the native packages\n// might use a different theme context in the future anyway\ntypeof HTMLElement !== 'undefined' ? /* #__PURE__ */createCache({\n key: 'css'\n}) : null);\n\nvar CacheProvider = EmotionCacheContext.Provider;\nvar __unsafe_useEmotionCache = function useEmotionCache() {\n return useContext(EmotionCacheContext);\n};\n\nvar withEmotionCache = function withEmotionCache(func) {\n return /*#__PURE__*/forwardRef(function (props, ref) {\n // the cache will never be null in the browser\n var cache = useContext(EmotionCacheContext);\n return func(props, cache, ref);\n });\n};\n\nvar ThemeContext = /* #__PURE__ */React.createContext({});\n\nvar useTheme = function useTheme() {\n return React.useContext(ThemeContext);\n};\n\nvar getTheme = function getTheme(outerTheme, theme) {\n if (typeof theme === 'function') {\n var mergedTheme = theme(outerTheme);\n\n return mergedTheme;\n }\n\n return _extends({}, outerTheme, theme);\n};\n\nvar createCacheWithTheme = /* #__PURE__ */weakMemoize(function (outerTheme) {\n return weakMemoize(function (theme) {\n return getTheme(outerTheme, theme);\n });\n});\nvar ThemeProvider = function ThemeProvider(props) {\n var theme = React.useContext(ThemeContext);\n\n if (props.theme !== theme) {\n theme = createCacheWithTheme(theme)(props.theme);\n }\n\n return /*#__PURE__*/React.createElement(ThemeContext.Provider, {\n value: theme\n }, props.children);\n};\nfunction withTheme(Component) {\n var componentName = Component.displayName || Component.name || 'Component';\n var WithTheme = /*#__PURE__*/React.forwardRef(function render(props, ref) {\n var theme = React.useContext(ThemeContext);\n return /*#__PURE__*/React.createElement(Component, _extends({\n theme: theme,\n ref: ref\n }, props));\n });\n WithTheme.displayName = \"WithTheme(\" + componentName + \")\";\n return hoistNonReactStatics(WithTheme, Component);\n}\n\nvar hasOwn = {}.hasOwnProperty;\n\nvar typePropName = '__EMOTION_TYPE_PLEASE_DO_NOT_USE__';\nvar createEmotionProps = function createEmotionProps(type, props) {\n\n var newProps = {};\n\n for (var _key in props) {\n if (hasOwn.call(props, _key)) {\n newProps[_key] = props[_key];\n }\n }\n\n newProps[typePropName] = type; // Runtime labeling is an opt-in feature because:\n\n return newProps;\n};\n\nvar Insertion = function Insertion(_ref) {\n var cache = _ref.cache,\n serialized = _ref.serialized,\n isStringTag = _ref.isStringTag;\n registerStyles(cache, serialized, isStringTag);\n useInsertionEffectAlwaysWithSyncFallback(function () {\n return insertStyles(cache, serialized, isStringTag);\n });\n\n return null;\n};\n\nvar Emotion = /* #__PURE__ */withEmotionCache(function (props, cache, ref) {\n var cssProp = props.css; // so that using `css` from `emotion` and passing the result to the css prop works\n // not passing the registered cache to serializeStyles because it would\n // make certain babel optimisations not possible\n\n if (typeof cssProp === 'string' && cache.registered[cssProp] !== undefined) {\n cssProp = cache.registered[cssProp];\n }\n\n var WrappedComponent = props[typePropName];\n var registeredStyles = [cssProp];\n var className = '';\n\n if (typeof props.className === 'string') {\n className = getRegisteredStyles(cache.registered, registeredStyles, props.className);\n } else if (props.className != null) {\n className = props.className + \" \";\n }\n\n var serialized = serializeStyles(registeredStyles, undefined, React.useContext(ThemeContext));\n\n className += cache.key + \"-\" + serialized.name;\n var newProps = {};\n\n for (var _key2 in props) {\n if (hasOwn.call(props, _key2) && _key2 !== 'css' && _key2 !== typePropName && (!isDevelopment )) {\n newProps[_key2] = props[_key2];\n }\n }\n\n newProps.className = className;\n\n if (ref) {\n newProps.ref = ref;\n }\n\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Insertion, {\n cache: cache,\n serialized: serialized,\n isStringTag: typeof WrappedComponent === 'string'\n }), /*#__PURE__*/React.createElement(WrappedComponent, newProps));\n});\n\nvar Emotion$1 = Emotion;\n\nexport { CacheProvider as C, Emotion$1 as E, ThemeContext as T, __unsafe_useEmotionCache as _, ThemeProvider as a, withTheme as b, createEmotionProps as c, hasOwn as h, isDevelopment as i, useTheme as u, withEmotionCache as w };\n","import { h as hasOwn, E as Emotion, c as createEmotionProps, w as withEmotionCache, T as ThemeContext, i as isDevelopment } from './emotion-element-f0de968e.browser.esm.js';\nexport { C as CacheProvider, T as ThemeContext, a as ThemeProvider, _ as __unsafe_useEmotionCache, u as useTheme, w as withEmotionCache, b as withTheme } from './emotion-element-f0de968e.browser.esm.js';\nimport * as React from 'react';\nimport { insertStyles, registerStyles, getRegisteredStyles } from '@emotion/utils';\nimport { useInsertionEffectWithLayoutFallback, useInsertionEffectAlwaysWithSyncFallback } from '@emotion/use-insertion-effect-with-fallbacks';\nimport { serializeStyles } from '@emotion/serialize';\nimport '@emotion/cache';\nimport '@babel/runtime/helpers/extends';\nimport '@emotion/weak-memoize';\nimport '../_isolated-hnrs/dist/emotion-react-_isolated-hnrs.browser.esm.js';\nimport 'hoist-non-react-statics';\n\nvar jsx = function jsx(type, props) {\n // eslint-disable-next-line prefer-rest-params\n var args = arguments;\n\n if (props == null || !hasOwn.call(props, 'css')) {\n return React.createElement.apply(undefined, args);\n }\n\n var argsLength = args.length;\n var createElementArgArray = new Array(argsLength);\n createElementArgArray[0] = Emotion;\n createElementArgArray[1] = createEmotionProps(type, props);\n\n for (var i = 2; i < argsLength; i++) {\n createElementArgArray[i] = args[i];\n }\n\n return React.createElement.apply(null, createElementArgArray);\n};\n\n(function (_jsx) {\n var JSX;\n\n (function (_JSX) {})(JSX || (JSX = _jsx.JSX || (_jsx.JSX = {})));\n})(jsx || (jsx = {}));\n\n// initial render from browser, insertBefore context.sheet.tags[0] or if a style hasn't been inserted there yet, appendChild\n// initial client-side render from SSR, use place of hydrating tag\n\nvar Global = /* #__PURE__ */withEmotionCache(function (props, cache) {\n\n var styles = props.styles;\n var serialized = serializeStyles([styles], undefined, React.useContext(ThemeContext));\n // but it is based on a constant that will never change at runtime\n // it's effectively like having two implementations and switching them out\n // so it's not actually breaking anything\n\n\n var sheetRef = React.useRef();\n useInsertionEffectWithLayoutFallback(function () {\n var key = cache.key + \"-global\"; // use case of https://github.com/emotion-js/emotion/issues/2675\n\n var sheet = new cache.sheet.constructor({\n key: key,\n nonce: cache.sheet.nonce,\n container: cache.sheet.container,\n speedy: cache.sheet.isSpeedy\n });\n var rehydrating = false;\n var node = document.querySelector(\"style[data-emotion=\\\"\" + key + \" \" + serialized.name + \"\\\"]\");\n\n if (cache.sheet.tags.length) {\n sheet.before = cache.sheet.tags[0];\n }\n\n if (node !== null) {\n rehydrating = true; // clear the hash so this node won't be recognizable as rehydratable by other s\n\n node.setAttribute('data-emotion', key);\n sheet.hydrate([node]);\n }\n\n sheetRef.current = [sheet, rehydrating];\n return function () {\n sheet.flush();\n };\n }, [cache]);\n useInsertionEffectWithLayoutFallback(function () {\n var sheetRefCurrent = sheetRef.current;\n var sheet = sheetRefCurrent[0],\n rehydrating = sheetRefCurrent[1];\n\n if (rehydrating) {\n sheetRefCurrent[1] = false;\n return;\n }\n\n if (serialized.next !== undefined) {\n // insert keyframes\n insertStyles(cache, serialized.next, true);\n }\n\n if (sheet.tags.length) {\n // if this doesn't exist then it will be null so the style element will be appended\n var element = sheet.tags[sheet.tags.length - 1].nextElementSibling;\n sheet.before = element;\n sheet.flush();\n }\n\n cache.insert(\"\", serialized, sheet, false);\n }, [cache, serialized.name]);\n return null;\n});\n\nfunction css() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return serializeStyles(args);\n}\n\nfunction keyframes() {\n var insertable = css.apply(void 0, arguments);\n var name = \"animation-\" + insertable.name;\n return {\n name: name,\n styles: \"@keyframes \" + name + \"{\" + insertable.styles + \"}\",\n anim: 1,\n toString: function toString() {\n return \"_EMO_\" + this.name + \"_\" + this.styles + \"_EMO_\";\n }\n };\n}\n\nvar classnames = function classnames(args) {\n var len = args.length;\n var i = 0;\n var cls = '';\n\n for (; i < len; i++) {\n var arg = args[i];\n if (arg == null) continue;\n var toAdd = void 0;\n\n switch (typeof arg) {\n case 'boolean':\n break;\n\n case 'object':\n {\n if (Array.isArray(arg)) {\n toAdd = classnames(arg);\n } else {\n\n toAdd = '';\n\n for (var k in arg) {\n if (arg[k] && k) {\n toAdd && (toAdd += ' ');\n toAdd += k;\n }\n }\n }\n\n break;\n }\n\n default:\n {\n toAdd = arg;\n }\n }\n\n if (toAdd) {\n cls && (cls += ' ');\n cls += toAdd;\n }\n }\n\n return cls;\n};\n\nfunction merge(registered, css, className) {\n var registeredStyles = [];\n var rawClassName = getRegisteredStyles(registered, registeredStyles, className);\n\n if (registeredStyles.length < 2) {\n return className;\n }\n\n return rawClassName + css(registeredStyles);\n}\n\nvar Insertion = function Insertion(_ref) {\n var cache = _ref.cache,\n serializedArr = _ref.serializedArr;\n useInsertionEffectAlwaysWithSyncFallback(function () {\n\n for (var i = 0; i < serializedArr.length; i++) {\n insertStyles(cache, serializedArr[i], false);\n }\n });\n\n return null;\n};\n\nvar ClassNames = /* #__PURE__ */withEmotionCache(function (props, cache) {\n var hasRendered = false;\n var serializedArr = [];\n\n var css = function css() {\n if (hasRendered && isDevelopment) {\n throw new Error('css can only be used during render');\n }\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n var serialized = serializeStyles(args, cache.registered);\n serializedArr.push(serialized); // registration has to happen here as the result of this might get consumed by `cx`\n\n registerStyles(cache, serialized, false);\n return cache.key + \"-\" + serialized.name;\n };\n\n var cx = function cx() {\n if (hasRendered && isDevelopment) {\n throw new Error('cx can only be used during render');\n }\n\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n return merge(cache.registered, css, classnames(args));\n };\n\n var content = {\n css: css,\n cx: cx,\n theme: React.useContext(ThemeContext)\n };\n var ele = props.children(content);\n hasRendered = true;\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Insertion, {\n cache: cache,\n serializedArr: serializedArr\n }), ele);\n});\n\nexport { ClassNames, Global, jsx as createElement, css, jsx, keyframes };\n","\"use strict\";\nfunction assignRef(ref, value) {\n if (ref == null) return;\n if (typeof ref === \"function\") {\n ref(value);\n return;\n }\n try {\n ref.current = value;\n } catch (error) {\n throw new Error(`Cannot assign value '${value}' to ref '${ref}'`);\n }\n}\nfunction mergeRefs(...refs) {\n return (node) => {\n refs.forEach((ref) => {\n assignRef(ref, node);\n });\n };\n}\n\nexport { assignRef, mergeRefs };\n","\"use strict\";\nfunction compact(object) {\n const clone = Object.assign({}, object);\n for (let key in clone) {\n if (clone[key] === void 0) delete clone[key];\n }\n return clone;\n}\n\nexport { compact };\n","\"use strict\";\nfunction interopDefault(mod) {\n return mod.default || mod;\n}\n\nexport { interopDefault };\n","\"use strict\";\n\"use client\";\nimport { jsxs, jsx } from 'react/jsx-runtime';\nimport { Global } from '@emotion/react';\nimport { createContext } from '../create-context.js';\n\nconst [ChakraContextProvider, useChakraContext] = createContext({\n name: \"ChakraContext\",\n strict: true,\n providerName: \"\"\n});\nfunction ChakraProvider(props) {\n const { value: sys, children } = props;\n return /* @__PURE__ */ jsxs(ChakraContextProvider, { value: sys, children: [\n !sys._config.disableLayers && /* @__PURE__ */ jsx(Global, { styles: sys.layers.atRule }),\n /* @__PURE__ */ jsx(\n Global,\n {\n styles: [sys.getPreflightCss(), sys.getGlobalCss(), sys.getTokenCss()]\n }\n ),\n children\n ] });\n}\n\nexport { ChakraProvider, useChakraContext };\n","\"use strict\";\nconst splitProps = (props, keys) => {\n const descriptors = Object.getOwnPropertyDescriptors(props);\n const dKeys = Object.keys(descriptors);\n const split = (k) => {\n const clone = {};\n for (let i = 0; i < k.length; i++) {\n const key = k[i];\n if (descriptors[key]) {\n Object.defineProperty(clone, key, descriptors[key]);\n delete descriptors[key];\n }\n }\n return clone;\n };\n const fn = (key) => split(Array.isArray(key) ? key : dKeys.filter(key));\n return [keys].map(fn).concat(split(dKeys));\n};\nconst createSplitProps = (keys) => {\n return function split(props) {\n return splitProps(props, keys);\n };\n};\n\nexport { createSplitProps, splitProps };\n","\"use strict\";\nimport { useMemo } from 'react';\nimport { splitProps } from '../utils/split-props.js';\nimport { useChakraContext } from './provider.js';\n\nconst htmlProps = /* @__PURE__ */ new Set([\n \"htmlWidth\",\n \"htmlHeight\",\n \"htmlSize\",\n \"htmlTranslate\"\n]);\nfunction isHtmlProp(prop) {\n return typeof prop === \"string\" && htmlProps.has(prop);\n}\nfunction useResolvedProps(inProps, cvaRecipe, shouldForwardProps) {\n const { css, isValidProperty } = useChakraContext();\n const { children, ...props } = inProps;\n const result = useMemo(() => {\n const [forwardedProps, restProps_B] = splitProps(\n props,\n (key) => shouldForwardProps(key, cvaRecipe.variantKeys)\n );\n const [variantProps, restProps_C] = splitProps(\n restProps_B,\n cvaRecipe.variantKeys\n );\n const [styleProps, elementProps] = splitProps(restProps_C, isValidProperty);\n return {\n forwardedProps,\n variantProps,\n styleProps,\n elementProps\n };\n }, [cvaRecipe.variantKeys, shouldForwardProps, props, isValidProperty]);\n const { css: cssStyles, ...propStyles } = result.styleProps;\n const cvaStyles = useMemo(() => {\n const variantProps = { ...result.variantProps };\n if (!cvaRecipe.variantKeys.includes(\"colorPalette\")) {\n variantProps.colorPalette = props.colorPalette;\n }\n if (!cvaRecipe.variantKeys.includes(\"orientation\")) {\n variantProps.orientation = props.orientation;\n }\n return cvaRecipe(variantProps);\n }, [cvaRecipe, result.variantProps, props.colorPalette, props.orientation]);\n const styles = useMemo(() => {\n return css(cvaStyles, ...toArray(cssStyles), propStyles);\n }, [css, cvaStyles, cssStyles, propStyles]);\n return {\n styles,\n props: {\n ...result.forwardedProps,\n ...result.elementProps,\n children\n }\n };\n}\nconst toArray = (val) => {\n const res = Array.isArray(val) ? val : [val];\n return res.filter(Boolean).flat();\n};\n\nexport { isHtmlProp, useResolvedProps };\n","\"use strict\";\n\"use client\";\nimport { jsxs, jsx } from 'react/jsx-runtime';\nimport emotionIsPropValid from '@emotion/is-prop-valid';\nimport { withEmotionCache, ThemeContext } from '@emotion/react';\nimport { serializeStyles } from '@emotion/serialize';\nimport { useInsertionEffectAlwaysWithSyncFallback } from '@emotion/use-insertion-effect-with-fallbacks';\nimport { getRegisteredStyles, registerStyles, insertStyles } from '@emotion/utils';\nimport * as React from 'react';\nimport { mergeProps } from '../merge-props.js';\nimport { mergeRefs } from '../merge-refs.js';\nimport { compact } from '../utils/compact.js';\nimport { cx } from '../utils/cx.js';\nimport { interopDefault } from '../utils/interop.js';\nimport { useChakraContext } from './provider.js';\nimport { useResolvedProps, isHtmlProp } from './use-resolved-props.js';\n\nconst isPropValid = interopDefault(emotionIsPropValid);\nconst testOmitPropsOnStringTag = isPropValid;\nconst testOmitPropsOnComponent = (key) => key !== \"theme\";\nconst composeShouldForwardProps = (tag, options, isReal) => {\n let shouldForwardProp;\n if (options) {\n const optionsShouldForwardProp = options.shouldForwardProp;\n shouldForwardProp = tag.__emotion_forwardProp && optionsShouldForwardProp ? (propName) => tag.__emotion_forwardProp(propName) && optionsShouldForwardProp(propName) : optionsShouldForwardProp;\n }\n if (typeof shouldForwardProp !== \"function\" && isReal) {\n shouldForwardProp = tag.__emotion_forwardProp;\n }\n return shouldForwardProp;\n};\nlet isBrowser = typeof document !== \"undefined\";\nconst Insertion = ({ cache: cache2, serialized, isStringTag }) => {\n registerStyles(cache2, serialized, isStringTag);\n const rules = useInsertionEffectAlwaysWithSyncFallback(\n () => insertStyles(cache2, serialized, isStringTag)\n );\n if (!isBrowser && rules !== void 0) {\n let serializedNames = serialized.name;\n let next = serialized.next;\n while (next !== void 0) {\n serializedNames = cx(serializedNames, next.name);\n next = next.next;\n }\n return /* @__PURE__ */ jsx(\n \"style\",\n {\n ...{\n [`data-emotion`]: cx(cache2.key, serializedNames),\n dangerouslySetInnerHTML: { __html: rules },\n nonce: cache2.sheet.nonce\n }\n }\n );\n }\n return null;\n};\nconst createStyled = (tag, configOrCva = {}, options = {}) => {\n if (process.env.NODE_ENV !== \"production\") {\n if (tag === void 0) {\n throw new Error(\n \"You are trying to create a styled element with an undefined component.\\nYou may have forgotten to import it.\"\n );\n }\n }\n const isReal = tag.__emotion_real === tag;\n const baseTag = isReal && tag.__emotion_base || tag;\n let identifierName;\n let targetClassName;\n if (options !== void 0) {\n identifierName = options.label;\n targetClassName = options.target;\n }\n let styles = [];\n const Styled = withEmotionCache((inProps, cache2, ref) => {\n const { cva, isValidProperty } = useChakraContext();\n const cvaFn = configOrCva.__cva__ ? configOrCva : cva(configOrCva);\n const cvaRecipe = mergeCva(tag.__emotion_cva, cvaFn);\n const createShouldForwardProps = (props2) => {\n return (prop, variantKeys) => {\n if (props2.includes(prop)) return true;\n return !variantKeys?.includes(prop) && !isValidProperty(prop);\n };\n };\n if (!options.shouldForwardProp && options.forwardProps) {\n options.shouldForwardProp = createShouldForwardProps(options.forwardProps);\n }\n const fallbackShouldForwardProp = (prop, variantKeys) => {\n const emotionSfp = typeof tag === \"string\" && tag.charCodeAt(0) > 96 ? testOmitPropsOnStringTag : testOmitPropsOnComponent;\n const chakraSfp = !variantKeys?.includes(prop) && !isValidProperty(prop);\n return emotionSfp(prop) && chakraSfp;\n };\n const shouldForwardProp = composeShouldForwardProps(tag, options, isReal) || fallbackShouldForwardProp;\n const propsWithDefault = React.useMemo(\n () => Object.assign({}, options.defaultProps, compact(inProps)),\n [inProps]\n );\n const { props, styles: styleProps } = useResolvedProps(\n propsWithDefault,\n cvaRecipe,\n shouldForwardProp\n );\n let className = \"\";\n let classInterpolations = [styleProps];\n let mergedProps = props;\n if (props.theme == null) {\n mergedProps = {};\n for (let key in props) {\n mergedProps[key] = props[key];\n }\n mergedProps.theme = React.useContext(ThemeContext);\n }\n if (typeof props.className === \"string\") {\n className = getRegisteredStyles(\n cache2.registered,\n classInterpolations,\n props.className\n );\n } else if (props.className != null) {\n className = cx(className, props.className);\n }\n const serialized = serializeStyles(\n styles.concat(classInterpolations),\n cache2.registered,\n mergedProps\n );\n className = cx(className, `${cache2.key}-${serialized.name}`);\n if (targetClassName !== void 0) {\n className = cx(className, targetClassName);\n }\n const shouldUseAs = !shouldForwardProp(\"as\");\n let FinalTag = shouldUseAs && props.as || baseTag;\n let finalProps = {};\n for (let prop in props) {\n if (shouldUseAs && prop === \"as\") continue;\n if (isHtmlProp(prop)) {\n const nativeProp = prop.replace(\"html\", \"\").toLowerCase();\n finalProps[nativeProp] = props[prop];\n continue;\n }\n if (shouldForwardProp(prop)) {\n finalProps[prop] = props[prop];\n }\n }\n finalProps.className = className.trim();\n finalProps.ref = ref;\n const forwardAsChild = options.forwardAsChild || options.forwardProps?.includes(\"asChild\");\n if (props.asChild && !forwardAsChild) {\n const child = React.Children.only(props.children);\n FinalTag = child.type;\n finalProps.children = null;\n Reflect.deleteProperty(finalProps, \"asChild\");\n finalProps = mergeProps(finalProps, child.props);\n finalProps.ref = mergeRefs(ref, child.ref);\n }\n if (finalProps.as && forwardAsChild) {\n finalProps.as = void 0;\n return /* @__PURE__ */ jsxs(React.Fragment, { children: [\n /* @__PURE__ */ jsx(\n Insertion,\n {\n cache: cache2,\n serialized,\n isStringTag: typeof FinalTag === \"string\"\n }\n ),\n /* @__PURE__ */ jsx(FinalTag, { asChild: true, ...finalProps, children: /* @__PURE__ */ jsx(props.as, { children: finalProps.children }) })\n ] });\n }\n return /* @__PURE__ */ jsxs(React.Fragment, { children: [\n /* @__PURE__ */ jsx(\n Insertion,\n {\n cache: cache2,\n serialized,\n isStringTag: typeof FinalTag === \"string\"\n }\n ),\n /* @__PURE__ */ jsx(FinalTag, { ...finalProps })\n ] });\n });\n Styled.displayName = identifierName !== void 0 ? identifierName : `chakra(${typeof baseTag === \"string\" ? baseTag : baseTag.displayName || baseTag.name || \"Component\"})`;\n Styled.__emotion_real = Styled;\n Styled.__emotion_base = baseTag;\n Styled.__emotion_forwardProp = options.shouldForwardProp;\n Styled.__emotion_cva = configOrCva;\n Object.defineProperty(Styled, \"toString\", {\n value() {\n if (targetClassName === void 0 && process.env.NODE_ENV !== \"production\") {\n return \"NO_COMPONENT_SELECTOR\";\n }\n return `.${targetClassName}`;\n }\n });\n return Styled;\n};\nconst styledFn = createStyled.bind();\nconst cache = /* @__PURE__ */ new Map();\nconst chakraImpl = new Proxy(styledFn, {\n apply(_, __, args) {\n return styledFn(...args);\n },\n get(_, el) {\n if (!cache.has(el)) {\n cache.set(el, styledFn(el));\n }\n return cache.get(el);\n }\n});\nconst chakra = chakraImpl;\nconst mergeCva = (cvaA, cvaB) => {\n if (cvaA && !cvaB) return cvaA;\n if (!cvaA && cvaB) return cvaB;\n return cvaA.merge(cvaB);\n};\n\nexport { chakra };\n","\"use strict\";\n\"use client\";\nimport { useMemo } from 'react';\nimport { useChakraContext } from './provider.js';\n\nfunction useRecipe(options) {\n const { key, recipe: recipeProp } = options;\n const sys = useChakraContext();\n return useMemo(() => {\n const recipe = recipeProp || (key != null ? sys.getRecipe(key) : {});\n return sys.cva(structuredClone(recipe));\n }, [key, recipeProp, sys]);\n}\n\nexport { useRecipe };\n","\"use strict\";\n\"use client\";\nimport { jsx } from 'react/jsx-runtime';\nimport { forwardRef } from 'react';\nimport { createContext } from '../create-context.js';\nimport { mergeProps } from '../merge-props.js';\nimport { cx } from '../utils/cx.js';\nimport { EMPTY_STYLES } from './empty.js';\nimport { chakra } from './factory.js';\nimport { useRecipe } from './use-recipe.js';\n\nconst upperFirst = (str) => str.charAt(0).toUpperCase() + str.slice(1);\nfunction createRecipeContext(options) {\n const { key: recipeKey, recipe: recipeConfig } = options;\n const contextName = upperFirst(\n recipeKey || recipeConfig.className || \"Component\"\n );\n const [PropsProvider, usePropsContext] = createContext({\n strict: false,\n name: `${contextName}PropsContext`,\n providerName: `${contextName}PropsContext`\n });\n function useRecipeResult(props) {\n const { unstyled, ...restProps } = props;\n const recipe = useRecipe({\n key: recipeKey,\n recipe: restProps.recipe || recipeConfig\n });\n const [variantProps, otherProps] = recipe.splitVariantProps(restProps);\n const styles = unstyled ? EMPTY_STYLES : recipe(variantProps);\n return {\n styles,\n className: recipe.className,\n props: otherProps\n };\n }\n const withContext = (Component, options2) => {\n const SuperComponent = chakra(Component, {}, options2);\n const StyledComponent = forwardRef((inProps, ref) => {\n const props = mergeProps(usePropsContext(), inProps);\n const { styles, className, props: localProps } = useRecipeResult(props);\n return /* @__PURE__ */ jsx(\n SuperComponent,\n {\n ...localProps,\n ref,\n css: [styles, props.css],\n className: cx(className, props.className)\n }\n );\n });\n StyledComponent.displayName = Component.displayName || Component.name;\n return StyledComponent;\n };\n function withPropsProvider() {\n return PropsProvider;\n }\n return {\n withContext,\n PropsProvider,\n withPropsProvider,\n usePropsContext,\n useRecipeResult\n };\n}\n\nexport { createRecipeContext };\n","\"use strict\";\n\"use client\";\nimport { jsx } from 'react/jsx-runtime';\nimport { forwardRef } from 'react';\nimport { chakra } from '../../styled-system/factory.js';\n\nconst Grid = forwardRef(\n function Grid2(props, ref) {\n const {\n templateAreas,\n column,\n row,\n autoFlow,\n autoRows,\n templateRows,\n autoColumns,\n templateColumns,\n inline,\n ...rest\n } = props;\n return /* @__PURE__ */ jsx(\n chakra.div,\n {\n ...rest,\n ref,\n css: [\n {\n display: inline ? \"inline-grid\" : \"grid\",\n gridTemplateAreas: templateAreas,\n gridAutoColumns: autoColumns,\n gridColumn: column,\n gridRow: row,\n gridAutoFlow: autoFlow,\n gridAutoRows: autoRows,\n gridTemplateRows: templateRows,\n gridTemplateColumns: templateColumns\n },\n props.css\n ]\n }\n );\n }\n);\n\nexport { Grid };\n","\"use strict\";\n\"use client\";\nimport { jsx } from 'react/jsx-runtime';\nimport { forwardRef } from 'react';\nimport { cx } from '../../utils/cx.js';\nimport { createRecipeContext } from '../../styled-system/create-recipe-context.js';\nimport { chakra } from '../../styled-system/factory.js';\nimport { Grid } from '../grid/grid.js';\n\nconst { withPropsProvider, useRecipeResult } = createRecipeContext({\n key: \"colorSwatch\"\n});\nconst ColorSwatch = forwardRef(\n function ColorSwatch2(props, ref) {\n const { value, ...restProps } = props;\n const { styles, className, props: localProps } = useRecipeResult(restProps);\n return /* @__PURE__ */ jsx(\n chakra.span,\n {\n ...localProps,\n ref,\n \"data-value\": value,\n css: [styles, { \"--color\": value }, props.css],\n className: cx(className, props.className)\n }\n );\n }\n);\nconst ColorSwatchPropsProvider = withPropsProvider();\nconst ColorSwatchMix = (props) => {\n const { items, ...restProps } = props;\n if (items.length > 4) {\n throw new Error(\"ColorSwatchMix doesn't support more than 4 colors\");\n }\n const isThreeColors = items.length === 3;\n return /* @__PURE__ */ jsx(ColorSwatch, { overflow: \"hidden\", ...restProps, value: \"transparent\", children: /* @__PURE__ */ jsx(Grid, { templateColumns: \"var(--swatch-size) var(--swatch-size)\", children: items.map((item, index) => {\n const isLast = index === items.length - 1;\n return /* @__PURE__ */ jsx(\n ColorSwatch,\n {\n size: \"inherit\",\n rounded: \"none\",\n value: item,\n boxShadow: \"none\",\n gridColumn: isThreeColors && isLast ? \"span 2 / span 2\" : void 0,\n width: isThreeColors && isLast ? \"unset\" : void 0\n },\n item\n );\n }) }) });\n};\n\nexport { ColorSwatch, ColorSwatchMix, ColorSwatchPropsProvider };\n","// src/shared.ts\nvar clamp = (value) => Math.max(0, Math.min(1, value));\nvar wrap = (v, idx) => {\n return v.map((_, index) => v[(Math.max(idx, 0) + index) % v.length]);\n};\nvar pipe = (...fns) => (arg) => fns.reduce((acc, fn) => fn(acc), arg);\nvar noop = () => void 0;\nvar isObject = (v) => typeof v === \"object\" && v !== null;\nvar MAX_Z_INDEX = 2147483647;\nvar dataAttr = (guard) => guard ? \"\" : void 0;\nvar ariaAttr = (guard) => guard ? \"true\" : void 0;\n\n// src/node.ts\nvar ELEMENT_NODE = 1;\nvar DOCUMENT_NODE = 9;\nvar DOCUMENT_FRAGMENT_NODE = 11;\nvar isHTMLElement = (el) => isObject(el) && el.nodeType === ELEMENT_NODE && typeof el.nodeName === \"string\";\nvar isDocument = (el) => isObject(el) && el.nodeType === DOCUMENT_NODE;\nvar isWindow = (el) => isObject(el) && el === el.window;\nvar isVisualViewport = (el) => isObject(el) && el.constructor.name === \"VisualViewport\";\nvar getNodeName = (node) => {\n if (isHTMLElement(node)) return node.localName || \"\";\n return \"#document\";\n};\nfunction isRootElement(node) {\n return [\"html\", \"body\", \"#document\"].includes(getNodeName(node));\n}\nvar isNode = (el) => isObject(el) && el.nodeType !== void 0;\nvar isShadowRoot = (el) => isNode(el) && el.nodeType === DOCUMENT_FRAGMENT_NODE && \"host\" in el;\nvar isInputElement = (el) => isHTMLElement(el) && el.localName === \"input\";\nvar isAnchorElement = (el) => !!el?.matches(\"a[href]\");\nvar isElementVisible = (el) => {\n if (!isHTMLElement(el)) return false;\n return el.offsetWidth > 0 || el.offsetHeight > 0 || el.getClientRects().length > 0;\n};\nvar TEXTAREA_SELECT_REGEX = /(textarea|select)/;\nfunction isEditableElement(el) {\n if (el == null || !isHTMLElement(el)) return false;\n try {\n return isInputElement(el) && el.selectionStart != null || TEXTAREA_SELECT_REGEX.test(el.localName) || el.isContentEditable || el.getAttribute(\"contenteditable\") === \"true\" || el.getAttribute(\"contenteditable\") === \"\";\n } catch {\n return false;\n }\n}\nfunction contains(parent, child) {\n if (!parent || !child) return false;\n if (!isHTMLElement(parent) || !isHTMLElement(child)) return false;\n const rootNode = child.getRootNode?.();\n if (parent === child) return true;\n if (parent.contains(child)) return true;\n if (rootNode && isShadowRoot(rootNode)) {\n let next = child;\n while (next) {\n if (parent === next) return true;\n next = next.parentNode || next.host;\n }\n }\n return false;\n}\nfunction getDocument(el) {\n if (isDocument(el)) return el;\n if (isWindow(el)) return el.document;\n return el?.ownerDocument ?? document;\n}\nfunction getDocumentElement(el) {\n return getDocument(el).documentElement;\n}\nfunction getWindow(el) {\n if (isShadowRoot(el)) return getWindow(el.host);\n if (isDocument(el)) return el.defaultView ?? window;\n if (isHTMLElement(el)) return el.ownerDocument?.defaultView ?? window;\n return window;\n}\nfunction getActiveElement(rootNode) {\n let activeElement = rootNode.activeElement;\n while (activeElement?.shadowRoot) {\n const el = activeElement.shadowRoot.activeElement;\n if (el === activeElement) break;\n else activeElement = el;\n }\n return activeElement;\n}\nfunction getParentNode(node) {\n if (getNodeName(node) === \"html\") return node;\n const result = node.assignedSlot || node.parentNode || isShadowRoot(node) && node.host || getDocumentElement(node);\n return isShadowRoot(result) ? result.host : result;\n}\n\n// src/computed-style.ts\nvar styleCache = /* @__PURE__ */ new WeakMap();\nfunction getComputedStyle(el) {\n if (!styleCache.has(el)) {\n styleCache.set(el, getWindow(el).getComputedStyle(el));\n }\n return styleCache.get(el);\n}\n\n// src/data-url.ts\nfunction getDataUrl(svg, opts) {\n const { type, quality = 0.92, background } = opts;\n if (!svg) throw new Error(\"[zag-js > getDataUrl]: Could not find the svg element\");\n const win = getWindow(svg);\n const doc = win.document;\n const svgBounds = svg.getBoundingClientRect();\n const svgClone = svg.cloneNode(true);\n if (!svgClone.hasAttribute(\"viewBox\")) {\n svgClone.setAttribute(\"viewBox\", `0 0 ${svgBounds.width} ${svgBounds.height}`);\n }\n const serializer = new win.XMLSerializer();\n const source = '\\r\\n' + serializer.serializeToString(svgClone);\n const svgString = \"data:image/svg+xml;charset=utf-8,\" + encodeURIComponent(source);\n if (type === \"image/svg+xml\") {\n return Promise.resolve(svgString).then((str) => {\n svgClone.remove();\n return str;\n });\n }\n const dpr = win.devicePixelRatio || 1;\n const canvas = doc.createElement(\"canvas\");\n const image = new win.Image();\n image.src = svgString;\n canvas.width = svgBounds.width * dpr;\n canvas.height = svgBounds.height * dpr;\n const context = canvas.getContext(\"2d\");\n if (type === \"image/jpeg\" || background) {\n context.fillStyle = background || \"white\";\n context.fillRect(0, 0, canvas.width, canvas.height);\n }\n return new Promise((resolve) => {\n image.onload = () => {\n context?.drawImage(image, 0, 0, canvas.width, canvas.height);\n resolve(canvas.toDataURL(type, quality));\n svgClone.remove();\n };\n });\n}\n\n// src/platform.ts\nvar isDom = () => typeof document !== \"undefined\";\nfunction getPlatform() {\n const agent = navigator.userAgentData;\n return agent?.platform ?? navigator.platform;\n}\nfunction getUserAgent() {\n const ua2 = navigator.userAgentData;\n if (ua2 && Array.isArray(ua2.brands)) {\n return ua2.brands.map(({ brand, version }) => `${brand}/${version}`).join(\" \");\n }\n return navigator.userAgent;\n}\nvar pt = (v) => isDom() && v.test(getPlatform());\nvar ua = (v) => isDom() && v.test(getUserAgent());\nvar vn = (v) => isDom() && v.test(navigator.vendor);\nvar isTouchDevice = () => isDom() && !!navigator.maxTouchPoints;\nvar isMac = () => pt(/^Mac/);\nvar isSafari = () => isApple() && vn(/apple/i);\nvar isFirefox = () => ua(/firefox\\//i);\nvar isApple = () => pt(/mac|iphone|ipad|ipod/i);\nvar isIos = () => pt(/iP(hone|ad|od)|iOS/);\nvar isWebKit = () => ua(/AppleWebKit/);\nvar isAndroid = () => {\n const re = /android/i;\n return pt(re) || ua(re);\n};\n\n// src/event.ts\nfunction getBeforeInputValue(event) {\n const { selectionStart, selectionEnd, value } = event.currentTarget;\n return value.slice(0, selectionStart) + event.data + value.slice(selectionEnd);\n}\nfunction getComposedPath(event) {\n return event.composedPath?.() ?? event.nativeEvent?.composedPath?.();\n}\nfunction getEventTarget(event) {\n const composedPath = getComposedPath(event);\n return composedPath?.[0] ?? event.target;\n}\nvar isSelfTarget = (event) => {\n return contains(event.currentTarget, getEventTarget(event));\n};\nfunction isOpeningInNewTab(event) {\n const element = event.currentTarget;\n if (!element) return false;\n const isAppleDevice = isApple();\n if (isAppleDevice && !event.metaKey) return false;\n if (!isAppleDevice && !event.ctrlKey) return false;\n const localName = element.localName;\n if (localName === \"a\") return true;\n if (localName === \"button\" && element.type === \"submit\") return true;\n if (localName === \"input\" && element.type === \"submit\") return true;\n return false;\n}\nfunction isDownloadingEvent(event) {\n const element = event.currentTarget;\n if (!element) return false;\n const localName = element.localName;\n if (!event.altKey) return false;\n if (localName === \"a\") return true;\n if (localName === \"button\" && element.type === \"submit\") return true;\n if (localName === \"input\" && element.type === \"submit\") return true;\n return false;\n}\nfunction isComposingEvent(event) {\n return getNativeEvent(event).isComposing;\n}\nfunction isKeyboardClick(e) {\n return e.detail === 0 || e.clientX === 0 && e.clientY === 0;\n}\nfunction isPrintableKey(e) {\n return e.key.length === 1 && !e.ctrlKey && !e.metaKey;\n}\nfunction isVirtualPointerEvent(e) {\n return e.width === 0 && e.height === 0 || e.width === 1 && e.height === 1 && e.pressure === 0 && e.detail === 0 && e.pointerType === \"mouse\";\n}\nfunction isVirtualClick(e) {\n if (e.mozInputSource === 0 && e.isTrusted) return true;\n if (isAndroid() && e.pointerType) {\n return e.type === \"click\" && e.buttons === 1;\n }\n return e.detail === 0 && !e.pointerType;\n}\nvar isLeftClick = (e) => e.button === 0;\nvar isContextMenuEvent = (e) => {\n return e.button === 2 || isMac() && e.ctrlKey && e.button === 0;\n};\nvar isModifierKey = (e) => e.ctrlKey || e.altKey || e.metaKey;\nvar isTouchEvent = (event) => \"touches\" in event && event.touches.length > 0;\nvar keyMap = {\n Up: \"ArrowUp\",\n Down: \"ArrowDown\",\n Esc: \"Escape\",\n \" \": \"Space\",\n \",\": \"Comma\",\n Left: \"ArrowLeft\",\n Right: \"ArrowRight\"\n};\nvar rtlKeyMap = {\n ArrowLeft: \"ArrowRight\",\n ArrowRight: \"ArrowLeft\"\n};\nfunction getEventKey(event, options = {}) {\n const { dir = \"ltr\", orientation = \"horizontal\" } = options;\n let key = event.key;\n key = keyMap[key] ?? key;\n const isRtl = dir === \"rtl\" && orientation === \"horizontal\";\n if (isRtl && key in rtlKeyMap) key = rtlKeyMap[key];\n return key;\n}\nfunction getNativeEvent(event) {\n return event.nativeEvent ?? event;\n}\nvar pageKeys = /* @__PURE__ */ new Set([\"PageUp\", \"PageDown\"]);\nvar arrowKeys = /* @__PURE__ */ new Set([\"ArrowUp\", \"ArrowDown\", \"ArrowLeft\", \"ArrowRight\"]);\nfunction getEventStep(event) {\n if (event.ctrlKey || event.metaKey) {\n return 0.1;\n } else {\n const isPageKey = pageKeys.has(event.key);\n const isSkipKey = isPageKey || event.shiftKey && arrowKeys.has(event.key);\n return isSkipKey ? 10 : 1;\n }\n}\nfunction getEventPoint(event, type = \"client\") {\n const point = isTouchEvent(event) ? event.touches[0] || event.changedTouches[0] : event;\n return { x: point[`${type}X`], y: point[`${type}Y`] };\n}\nvar addDomEvent = (target, eventName, handler, options) => {\n const node = typeof target === \"function\" ? target() : target;\n node?.addEventListener(eventName, handler, options);\n return () => {\n node?.removeEventListener(eventName, handler, options);\n };\n};\n\n// src/tabbable.ts\nvar isFrame = (el) => isHTMLElement(el) && el.tagName === \"IFRAME\";\nvar hasTabIndex = (el) => !Number.isNaN(parseInt(el.getAttribute(\"tabindex\") || \"0\", 10));\nvar hasNegativeTabIndex = (el) => parseInt(el.getAttribute(\"tabindex\") || \"0\", 10) < 0;\nvar focusableSelector = \"input:not([type='hidden']):not([disabled]), select:not([disabled]), textarea:not([disabled]), a[href], button:not([disabled]), [tabindex], iframe, object, embed, area[href], audio[controls], video[controls], [contenteditable]:not([contenteditable='false']), details > summary:first-of-type\";\nvar getFocusables = (container, includeContainer = false) => {\n if (!container) return [];\n const elements = Array.from(container.querySelectorAll(focusableSelector));\n const include = includeContainer == true || includeContainer == \"if-empty\" && elements.length === 0;\n if (include && isHTMLElement(container) && isFocusable(container)) {\n elements.unshift(container);\n }\n const focusableElements = elements.filter(isFocusable);\n focusableElements.forEach((element, i) => {\n if (isFrame(element) && element.contentDocument) {\n const frameBody = element.contentDocument.body;\n focusableElements.splice(i, 1, ...getFocusables(frameBody));\n }\n });\n return focusableElements;\n};\nfunction isFocusable(element) {\n if (!element || element.closest(\"[inert]\")) return false;\n return element.matches(focusableSelector) && isElementVisible(element);\n}\nfunction getFirstFocusable(container, includeContainer) {\n const [first] = getFocusables(container, includeContainer);\n return first || null;\n}\nfunction getTabbables(container, includeContainer) {\n if (!container) return [];\n const elements = Array.from(container.querySelectorAll(focusableSelector));\n const tabbableElements = elements.filter(isTabbable);\n if (includeContainer && isTabbable(container)) {\n tabbableElements.unshift(container);\n }\n tabbableElements.forEach((element, i) => {\n if (isFrame(element) && element.contentDocument) {\n const frameBody = element.contentDocument.body;\n const allFrameTabbable = getTabbables(frameBody);\n tabbableElements.splice(i, 1, ...allFrameTabbable);\n }\n });\n if (!tabbableElements.length && includeContainer) {\n return elements;\n }\n return tabbableElements;\n}\nfunction isTabbable(el) {\n if (el != null && el.tabIndex > 0) return true;\n return isFocusable(el) && !hasNegativeTabIndex(el);\n}\nfunction getFirstTabbable(container, includeContainer) {\n const [first] = getTabbables(container, includeContainer);\n return first || null;\n}\nfunction getLastTabbable(container, includeContainer) {\n const elements = getTabbables(container, includeContainer);\n return elements[elements.length - 1] || null;\n}\nfunction getTabbableEdges(container, includeContainer) {\n const elements = getTabbables(container, includeContainer);\n const first = elements[0] || null;\n const last = elements[elements.length - 1] || null;\n return [first, last];\n}\nfunction getNextTabbable(container, current) {\n const tabbables = getTabbables(container);\n const doc = container?.ownerDocument || document;\n const currentElement = current ?? doc.activeElement;\n if (!currentElement) return null;\n const index = tabbables.indexOf(currentElement);\n return tabbables[index + 1] || null;\n}\nfunction getTabIndex(node) {\n if (node.tabIndex < 0) {\n if ((/^(audio|video|details)$/.test(node.localName) || isEditableElement(node)) && !hasTabIndex(node)) {\n return 0;\n }\n }\n return node.tabIndex;\n}\n\n// src/initial-focus.ts\nfunction getInitialFocus(options) {\n const { root, getInitialEl, filter, enabled = true } = options;\n if (!enabled) return;\n let node = null;\n node || (node = typeof getInitialEl === \"function\" ? getInitialEl() : getInitialEl);\n node || (node = root?.querySelector(\"[data-autofocus],[autofocus]\"));\n if (!node) {\n const tabbables = getTabbables(root);\n node = filter ? tabbables.filter(filter)[0] : tabbables[0];\n }\n return node || root || void 0;\n}\nfunction isValidTabEvent(event) {\n const container = event.currentTarget;\n if (!container) return false;\n const [firstTabbable, lastTabbable] = getTabbableEdges(container);\n const doc = container.ownerDocument || document;\n if (doc.activeElement === firstTabbable && event.shiftKey) return false;\n if (doc.activeElement === lastTabbable && !event.shiftKey) return false;\n if (!firstTabbable && !lastTabbable) return false;\n return true;\n}\n\n// src/raf.ts\nfunction nextTick(fn) {\n const set2 = /* @__PURE__ */ new Set();\n function raf2(fn2) {\n const id = globalThis.requestAnimationFrame(fn2);\n set2.add(() => globalThis.cancelAnimationFrame(id));\n }\n raf2(() => raf2(fn));\n return function cleanup() {\n set2.forEach((fn2) => fn2());\n };\n}\nfunction raf(fn) {\n const id = globalThis.requestAnimationFrame(fn);\n return () => {\n globalThis.cancelAnimationFrame(id);\n };\n}\nfunction queueBeforeEvent(el, type, cb) {\n const cancelTimer = raf(() => {\n el.removeEventListener(type, exec, true);\n cb();\n });\n const exec = () => {\n cancelTimer();\n cb();\n };\n el.addEventListener(type, exec, { once: true, capture: true });\n return cancelTimer;\n}\n\n// src/mutation-observer.ts\nfunction observeAttributesImpl(node, options) {\n if (!node) return;\n const { attributes, callback: fn } = options;\n const win = node.ownerDocument.defaultView || window;\n const obs = new win.MutationObserver((changes) => {\n for (const change of changes) {\n if (change.type === \"attributes\" && change.attributeName && attributes.includes(change.attributeName)) {\n fn(change);\n }\n }\n });\n obs.observe(node, { attributes: true, attributeFilter: attributes });\n return () => obs.disconnect();\n}\nfunction observeAttributes(nodeOrFn, options) {\n const { defer } = options;\n const func = defer ? raf : (v) => v();\n const cleanups2 = [];\n cleanups2.push(\n func(() => {\n const node = typeof nodeOrFn === \"function\" ? nodeOrFn() : nodeOrFn;\n cleanups2.push(observeAttributesImpl(node, options));\n })\n );\n return () => {\n cleanups2.forEach((fn) => fn?.());\n };\n}\nfunction observeChildrenImpl(node, options) {\n const { callback: fn } = options;\n if (!node) return;\n const win = node.ownerDocument.defaultView || window;\n const obs = new win.MutationObserver(fn);\n obs.observe(node, { childList: true, subtree: true });\n return () => obs.disconnect();\n}\nfunction observeChildren(nodeOrFn, options) {\n const { defer } = options;\n const func = defer ? raf : (v) => v();\n const cleanups2 = [];\n cleanups2.push(\n func(() => {\n const node = typeof nodeOrFn === \"function\" ? nodeOrFn() : nodeOrFn;\n cleanups2.push(observeChildrenImpl(node, options));\n })\n );\n return () => {\n cleanups2.forEach((fn) => fn?.());\n };\n}\n\n// src/navigate.ts\nfunction clickIfLink(el) {\n const click = () => el.click();\n if (isFirefox()) {\n queueBeforeEvent(el, \"keyup\", click);\n } else {\n queueMicrotask(click);\n }\n}\n\n// src/overflow.ts\nfunction getNearestOverflowAncestor(el) {\n const parentNode = getParentNode(el);\n if (isRootElement(parentNode)) return getDocument(parentNode).body;\n if (isHTMLElement(parentNode) && isOverflowElement(parentNode)) return parentNode;\n return getNearestOverflowAncestor(parentNode);\n}\nfunction getOverflowAncestors(el, list = []) {\n const scrollableAncestor = getNearestOverflowAncestor(el);\n const isBody = scrollableAncestor === el.ownerDocument.body;\n const win = getWindow(scrollableAncestor);\n if (isBody) {\n return list.concat(win, win.visualViewport || [], isOverflowElement(scrollableAncestor) ? scrollableAncestor : []);\n }\n return list.concat(scrollableAncestor, getOverflowAncestors(scrollableAncestor, []));\n}\nvar getElementRect = (el) => {\n if (isHTMLElement(el)) return el.getBoundingClientRect();\n if (isVisualViewport(el)) return { top: 0, left: 0, bottom: el.height, right: el.width };\n return { top: 0, left: 0, bottom: el.innerHeight, right: el.innerWidth };\n};\nfunction isInView(el, ancestor) {\n if (!isHTMLElement(el)) return true;\n const ancestorRect = getElementRect(ancestor);\n const elRect = el.getBoundingClientRect();\n return elRect.top >= ancestorRect.top && elRect.left >= ancestorRect.left && elRect.bottom <= ancestorRect.bottom && elRect.right <= ancestorRect.right;\n}\nvar OVERFLOW_RE = /auto|scroll|overlay|hidden|clip/;\nfunction isOverflowElement(el) {\n const win = getWindow(el);\n const { overflow, overflowX, overflowY, display } = win.getComputedStyle(el);\n return OVERFLOW_RE.test(overflow + overflowY + overflowX) && ![\"inline\", \"contents\"].includes(display);\n}\nfunction isScrollable(el) {\n return el.scrollHeight > el.clientHeight || el.scrollWidth > el.clientWidth;\n}\nfunction scrollIntoView(el, options) {\n const { rootEl, ...scrollOptions } = options || {};\n if (!el || !rootEl) return;\n if (!isOverflowElement(rootEl) || !isScrollable(rootEl)) return;\n el.scrollIntoView(scrollOptions);\n}\nfunction getScrollPosition(element) {\n if (isHTMLElement(element)) {\n return { scrollLeft: element.scrollLeft, scrollTop: element.scrollTop };\n }\n return { scrollLeft: element.scrollX, scrollTop: element.scrollY };\n}\n\n// src/point.ts\nfunction getRelativePoint(point, element) {\n const { left, top, width, height } = element.getBoundingClientRect();\n const offset = { x: point.x - left, y: point.y - top };\n const percent = { x: clamp(offset.x / width), y: clamp(offset.y / height) };\n function getPercentValue(options = {}) {\n const { dir = \"ltr\", orientation = \"horizontal\", inverted } = options;\n const invertX = typeof inverted === \"object\" ? inverted.x : inverted;\n const invertY = typeof inverted === \"object\" ? inverted.y : inverted;\n if (orientation === \"horizontal\") {\n return dir === \"rtl\" || invertX ? 1 - percent.x : percent.x;\n }\n return invertY ? 1 - percent.y : percent.y;\n }\n return { offset, percent, getPercentValue };\n}\n\n// src/pointer-lock.ts\nfunction requestPointerLock(doc, fn) {\n const body = doc.body;\n const supported = \"pointerLockElement\" in doc || \"mozPointerLockElement\" in doc;\n const isLocked = () => !!doc.pointerLockElement;\n function onPointerChange() {\n fn?.(isLocked());\n }\n function onPointerError(event) {\n if (isLocked()) fn?.(false);\n console.error(\"PointerLock error occurred:\", event);\n doc.exitPointerLock();\n }\n if (!supported) return;\n try {\n body.requestPointerLock();\n } catch {\n }\n const cleanup = [\n addDomEvent(doc, \"pointerlockchange\", onPointerChange, false),\n addDomEvent(doc, \"pointerlockerror\", onPointerError, false)\n ];\n return () => {\n cleanup.forEach((cleanup2) => cleanup2());\n doc.exitPointerLock();\n };\n}\n\n// src/text-selection.ts\nvar state = \"default\";\nvar userSelect = \"\";\nvar elementMap = /* @__PURE__ */ new WeakMap();\nfunction disableTextSelectionImpl(options = {}) {\n const { target, doc } = options;\n const docNode = doc ?? document;\n const rootEl = docNode.documentElement;\n if (isIos()) {\n if (state === \"default\") {\n userSelect = rootEl.style.webkitUserSelect;\n rootEl.style.webkitUserSelect = \"none\";\n }\n state = \"disabled\";\n } else if (target) {\n elementMap.set(target, target.style.userSelect);\n target.style.userSelect = \"none\";\n }\n return () => restoreTextSelection({ target, doc: docNode });\n}\nfunction restoreTextSelection(options = {}) {\n const { target, doc } = options;\n const docNode = doc ?? document;\n const rootEl = docNode.documentElement;\n if (isIos()) {\n if (state !== \"disabled\") return;\n state = \"restoring\";\n setTimeout(() => {\n nextTick(() => {\n if (state === \"restoring\") {\n if (rootEl.style.webkitUserSelect === \"none\") {\n rootEl.style.webkitUserSelect = userSelect || \"\";\n }\n userSelect = \"\";\n state = \"default\";\n }\n });\n }, 300);\n } else {\n if (target && elementMap.has(target)) {\n const prevUserSelect = elementMap.get(target);\n if (target.style.userSelect === \"none\") {\n target.style.userSelect = prevUserSelect ?? \"\";\n }\n if (target.getAttribute(\"style\") === \"\") {\n target.removeAttribute(\"style\");\n }\n elementMap.delete(target);\n }\n }\n}\nfunction disableTextSelection(options = {}) {\n const { defer, target, ...restOptions } = options;\n const func = defer ? raf : (v) => v();\n const cleanups2 = [];\n cleanups2.push(\n func(() => {\n const node = typeof target === \"function\" ? target() : target;\n cleanups2.push(disableTextSelectionImpl({ ...restOptions, target: node }));\n })\n );\n return () => {\n cleanups2.forEach((fn) => fn?.());\n };\n}\n\n// src/pointer-move.ts\nfunction trackPointerMove(doc, handlers) {\n const { onPointerMove, onPointerUp } = handlers;\n const handleMove = (event) => {\n const point = getEventPoint(event);\n const distance = Math.sqrt(point.x ** 2 + point.y ** 2);\n const moveBuffer = event.pointerType === \"touch\" ? 10 : 5;\n if (distance < moveBuffer) return;\n if (event.pointerType === \"mouse\" && event.button === 0) {\n onPointerUp();\n return;\n }\n onPointerMove({ point, event });\n };\n const cleanups2 = [\n addDomEvent(doc, \"pointermove\", handleMove, false),\n addDomEvent(doc, \"pointerup\", onPointerUp, false),\n addDomEvent(doc, \"pointercancel\", onPointerUp, false),\n addDomEvent(doc, \"contextmenu\", onPointerUp, false),\n disableTextSelection({ doc })\n ];\n return () => {\n cleanups2.forEach((cleanup) => cleanup());\n };\n}\n\n// src/press.ts\nfunction trackPress(options) {\n const {\n pointerNode,\n keyboardNode = pointerNode,\n onPress,\n onPressStart,\n onPressEnd,\n isValidKey = (e) => e.key === \"Enter\"\n } = options;\n if (!pointerNode) return noop;\n const win = getWindow(pointerNode);\n const doc = getDocument(pointerNode);\n let removeStartListeners = noop;\n let removeEndListeners = noop;\n let removeAccessibleListeners = noop;\n const getInfo = (event) => ({\n point: getEventPoint(event),\n event\n });\n function startPress(event) {\n onPressStart?.(getInfo(event));\n }\n function cancelPress(event) {\n onPressEnd?.(getInfo(event));\n }\n const startPointerPress = (startEvent) => {\n removeEndListeners();\n const endPointerPress = (endEvent) => {\n const target = getEventTarget(endEvent);\n if (contains(pointerNode, target)) {\n onPress?.(getInfo(endEvent));\n } else {\n onPressEnd?.(getInfo(endEvent));\n }\n };\n const removePointerUpListener = addDomEvent(win, \"pointerup\", endPointerPress, { passive: !onPress });\n const removePointerCancelListener = addDomEvent(win, \"pointercancel\", cancelPress, { passive: !onPressEnd });\n removeEndListeners = pipe(removePointerUpListener, removePointerCancelListener);\n if (doc.activeElement === keyboardNode && startEvent.pointerType === \"mouse\") {\n startEvent.preventDefault();\n }\n startPress(startEvent);\n };\n const removePointerListener = addDomEvent(pointerNode, \"pointerdown\", startPointerPress, { passive: !onPressStart });\n const removeFocusListener = addDomEvent(keyboardNode, \"focus\", startAccessiblePress);\n removeStartListeners = pipe(removePointerListener, removeFocusListener);\n function startAccessiblePress() {\n const handleKeydown = (keydownEvent) => {\n if (!isValidKey(keydownEvent)) return;\n const handleKeyup = (keyupEvent) => {\n if (!isValidKey(keyupEvent)) return;\n const evt2 = new win.PointerEvent(\"pointerup\");\n const info = getInfo(evt2);\n onPress?.(info);\n onPressEnd?.(info);\n };\n removeEndListeners();\n removeEndListeners = addDomEvent(keyboardNode, \"keyup\", handleKeyup);\n const evt = new win.PointerEvent(\"pointerdown\");\n startPress(evt);\n };\n const handleBlur = () => {\n const evt = new win.PointerEvent(\"pointercancel\");\n cancelPress(evt);\n };\n const removeKeydownListener = addDomEvent(keyboardNode, \"keydown\", handleKeydown);\n const removeBlurListener = addDomEvent(keyboardNode, \"blur\", handleBlur);\n removeAccessibleListeners = pipe(removeKeydownListener, removeBlurListener);\n }\n return () => {\n removeStartListeners();\n removeEndListeners();\n removeAccessibleListeners();\n };\n}\n\n// src/proxy-tab-focus.ts\nfunction proxyTabFocusImpl(container, options = {}) {\n const { triggerElement, onFocus } = options;\n const doc = container?.ownerDocument || document;\n const body = doc.body;\n function onKeyDown(event) {\n if (event.key !== \"Tab\") return;\n let elementToFocus = null;\n const [firstTabbable, lastTabbable] = getTabbableEdges(container, true);\n const noTabbableElements = !firstTabbable && !lastTabbable;\n if (event.shiftKey && (doc.activeElement === firstTabbable || noTabbableElements)) {\n elementToFocus = triggerElement;\n } else if (!event.shiftKey && doc.activeElement === triggerElement) {\n elementToFocus = firstTabbable;\n } else if (!event.shiftKey && (doc.activeElement === lastTabbable || noTabbableElements)) {\n elementToFocus = getNextTabbable(body, triggerElement);\n }\n if (!elementToFocus) return;\n event.preventDefault();\n if (typeof onFocus === \"function\") {\n onFocus(elementToFocus);\n } else {\n elementToFocus.focus();\n }\n }\n return addDomEvent(doc, \"keydown\", onKeyDown, true);\n}\nfunction proxyTabFocus(container, options) {\n const { defer, triggerElement, ...restOptions } = options;\n const func = defer ? raf : (v) => v();\n const cleanups2 = [];\n cleanups2.push(\n func(() => {\n const node = typeof container === \"function\" ? container() : container;\n const trigger = typeof triggerElement === \"function\" ? triggerElement() : triggerElement;\n cleanups2.push(proxyTabFocusImpl(node, { triggerElement: trigger, ...restOptions }));\n })\n );\n return () => {\n cleanups2.forEach((fn) => fn?.());\n };\n}\n\n// src/query.ts\nfunction queryAll(root, selector) {\n return Array.from(root?.querySelectorAll(selector) ?? []);\n}\nfunction query(root, selector) {\n return root?.querySelector(selector) ?? null;\n}\nvar defaultItemToId = (v) => v.id;\nfunction itemById(v, id, itemToId = defaultItemToId) {\n return v.find((item) => itemToId(item) === id);\n}\nfunction indexOfId(v, id, itemToId = defaultItemToId) {\n const item = itemById(v, id, itemToId);\n return item ? v.indexOf(item) : -1;\n}\nfunction nextById(v, id, loop = true) {\n let idx = indexOfId(v, id);\n idx = loop ? (idx + 1) % v.length : Math.min(idx + 1, v.length - 1);\n return v[idx];\n}\nfunction prevById(v, id, loop = true) {\n let idx = indexOfId(v, id);\n if (idx === -1) return loop ? v[v.length - 1] : null;\n idx = loop ? (idx - 1 + v.length) % v.length : Math.max(0, idx - 1);\n return v[idx];\n}\n\n// src/scope.ts\nfunction createScope(methods) {\n const dom = {\n getRootNode: (ctx) => ctx.getRootNode?.() ?? document,\n getDoc: (ctx) => getDocument(dom.getRootNode(ctx)),\n getWin: (ctx) => dom.getDoc(ctx).defaultView ?? window,\n getActiveElement: (ctx) => getActiveElement(dom.getRootNode(ctx)),\n isActiveElement: (ctx, elem) => elem === dom.getActiveElement(ctx),\n getById: (ctx, id) => dom.getRootNode(ctx).getElementById(id),\n setValue: (elem, value) => {\n if (elem == null || value == null) return;\n const valueAsString = value.toString();\n if (elem.value === valueAsString) return;\n elem.value = value.toString();\n }\n };\n return { ...dom, ...methods };\n}\n\n// src/searchable.ts\nvar sanitize = (str) => str.split(\"\").map((char) => {\n const code = char.charCodeAt(0);\n if (code > 0 && code < 128) return char;\n if (code >= 128 && code <= 255) return `/x${code.toString(16)}`.replace(\"/\", \"\\\\\");\n return \"\";\n}).join(\"\").trim();\nvar getValueText = (el) => {\n return sanitize(el.dataset?.valuetext ?? el.textContent ?? \"\");\n};\nvar match = (valueText, query2) => {\n return valueText.trim().toLowerCase().startsWith(query2.toLowerCase());\n};\nfunction getByText(v, text, currentId, itemToId = defaultItemToId) {\n const index = currentId ? indexOfId(v, currentId, itemToId) : -1;\n let items = currentId ? wrap(v, index) : v;\n const isSingleKey = text.length === 1;\n if (isSingleKey) {\n items = items.filter((item) => itemToId(item) !== currentId);\n }\n return items.find((item) => match(getValueText(item), text));\n}\n\n// src/set.ts\nvar cleanups = /* @__PURE__ */ new WeakMap();\nfunction set(element, key, setup) {\n if (!cleanups.has(element)) {\n cleanups.set(element, /* @__PURE__ */ new Map());\n }\n const elementCleanups = cleanups.get(element);\n const prevCleanup = elementCleanups.get(key);\n if (!prevCleanup) {\n elementCleanups.set(key, setup());\n return () => {\n elementCleanups.get(key)?.();\n elementCleanups.delete(key);\n };\n }\n const cleanup = setup();\n const nextCleanup = () => {\n cleanup();\n prevCleanup();\n elementCleanups.delete(key);\n };\n elementCleanups.set(key, nextCleanup);\n return () => {\n const isCurrent = elementCleanups.get(key) === nextCleanup;\n if (!isCurrent) return;\n cleanup();\n elementCleanups.set(key, prevCleanup);\n };\n}\nfunction setAttribute(element, attr, value) {\n const setup = () => {\n const previousValue = element.getAttribute(attr);\n element.setAttribute(attr, value);\n return () => {\n if (previousValue == null) {\n element.removeAttribute(attr);\n } else {\n element.setAttribute(attr, previousValue);\n }\n };\n };\n return set(element, attr, setup);\n}\nfunction setProperty(element, property, value) {\n const setup = () => {\n const exists = property in element;\n const previousValue = element[property];\n element[property] = value;\n return () => {\n if (!exists) {\n delete element[property];\n } else {\n element[property] = previousValue;\n }\n };\n };\n return set(element, property, setup);\n}\nfunction setStyle(element, style) {\n if (!element) return () => {\n };\n const setup = () => {\n const prevStyle = element.style.cssText;\n Object.assign(element.style, style);\n return () => {\n element.style.cssText = prevStyle;\n };\n };\n return set(element, \"style\", setup);\n}\n\n// src/typeahead.ts\nfunction getByTypeaheadImpl(baseItems, options) {\n const { state: state2, activeId, key, timeout = 350, itemToId } = options;\n const search = state2.keysSoFar + key;\n const isRepeated = search.length > 1 && Array.from(search).every((char) => char === search[0]);\n const query2 = isRepeated ? search[0] : search;\n let items = baseItems.slice();\n const next = getByText(items, query2, activeId, itemToId);\n function cleanup() {\n clearTimeout(state2.timer);\n state2.timer = -1;\n }\n function update(value) {\n state2.keysSoFar = value;\n cleanup();\n if (value !== \"\") {\n state2.timer = +setTimeout(() => {\n update(\"\");\n cleanup();\n }, timeout);\n }\n }\n update(search);\n return next;\n}\nvar getByTypeahead = /* @__PURE__ */ Object.assign(getByTypeaheadImpl, {\n defaultOptions: { keysSoFar: \"\", timer: -1 },\n isValidEvent: isValidTypeaheadEvent\n});\nfunction isValidTypeaheadEvent(event) {\n return event.key.length === 1 && !event.ctrlKey && !event.metaKey;\n}\n\n// src/visual-viewport.ts\nfunction trackVisualViewport(doc, fn) {\n const win = doc?.defaultView || window;\n const onResize = () => {\n fn?.(getViewportSize(win));\n };\n onResize();\n return addDomEvent(win.visualViewport ?? win, \"resize\", onResize);\n}\nfunction getViewportSize(win) {\n return {\n width: win.visualViewport?.width || win.innerWidth,\n height: win.visualViewport?.height || win.innerHeight\n };\n}\n\n// src/visually-hidden.ts\nvar visuallyHiddenStyle = {\n border: \"0\",\n clip: \"rect(0 0 0 0)\",\n height: \"1px\",\n margin: \"-1px\",\n overflow: \"hidden\",\n padding: \"0\",\n position: \"absolute\",\n width: \"1px\",\n whiteSpace: \"nowrap\",\n wordWrap: \"normal\"\n};\nfunction setVisuallyHidden(el) {\n Object.assign(el.style, visuallyHiddenStyle);\n}\n\n// src/wait-for.ts\nvar fps = 1e3 / 60;\nfunction waitForElement(query2, cb) {\n const el = query2();\n if (isHTMLElement(el) && el.isConnected) {\n cb(el);\n return () => void 0;\n } else {\n const timerId = setInterval(() => {\n const el2 = query2();\n if (isHTMLElement(el2) && el2.isConnected) {\n cb(el2);\n clearInterval(timerId);\n }\n }, fps);\n return () => clearInterval(timerId);\n }\n}\nfunction waitForElements(queries, cb) {\n const cleanups2 = [];\n queries?.forEach((query2) => {\n const clean = waitForElement(query2, cb);\n cleanups2.push(clean);\n });\n return () => {\n cleanups2.forEach((fn) => fn());\n };\n}\n\nexport { MAX_Z_INDEX, addDomEvent, ariaAttr, clickIfLink, contains, createScope, dataAttr, defaultItemToId, disableTextSelection, getActiveElement, getBeforeInputValue, getByText, getByTypeahead, getComputedStyle, getDataUrl, getDocument, getDocumentElement, getEventKey, getEventPoint, getEventStep, getEventTarget, getFirstFocusable, getFirstTabbable, getFocusables, getInitialFocus, getLastTabbable, getNativeEvent, getNearestOverflowAncestor, getNextTabbable, getNodeName, getOverflowAncestors, getParentNode, getPlatform, getRelativePoint, getScrollPosition, getTabIndex, getTabbableEdges, getTabbables, getUserAgent, getWindow, indexOfId, isAnchorElement, isAndroid, isApple, isComposingEvent, isContextMenuEvent, isDocument, isDom, isDownloadingEvent, isEditableElement, isElementVisible, isFirefox, isFocusable, isHTMLElement, isInView, isInputElement, isIos, isKeyboardClick, isLeftClick, isMac, isModifierKey, isNode, isOpeningInNewTab, isOverflowElement, isPrintableKey, isRootElement, isSafari, isSelfTarget, isShadowRoot, isTabbable, isTouchDevice, isTouchEvent, isValidTabEvent, isVirtualClick, isVirtualPointerEvent, isVisualViewport, isWebKit, isWindow, itemById, nextById, nextTick, observeAttributes, observeChildren, prevById, proxyTabFocus, query, queryAll, queueBeforeEvent, raf, requestPointerLock, restoreTextSelection, scrollIntoView, setAttribute, setProperty, setStyle, setVisuallyHidden, trackPointerMove, trackPress, trackVisualViewport, visuallyHiddenStyle, waitForElement, waitForElements };\n","import { getWindow } from '@zag-js/dom-query';\n\n// src/cache.ts\nfunction i18nCache(Ins) {\n const formatterCache = /* @__PURE__ */ new Map();\n return function create(locale, options) {\n const cacheKey = locale + (options ? Object.entries(options).sort((a, b) => a[0] < b[0] ? -1 : 1).join() : \"\");\n if (formatterCache.has(cacheKey)) {\n return formatterCache.get(cacheKey);\n }\n let formatter = new Ins(locale, options);\n formatterCache.set(cacheKey, formatter);\n return formatter;\n };\n}\n\n// src/filter.ts\nvar collatorCache = i18nCache(Intl.Collator);\nfunction filter(options) {\n const { locale, ...rest } = options || {};\n const collator = collatorCache(locale || \"en-US\", { usage: \"search\", ...rest });\n function normalize(string) {\n string = string.normalize(\"NFC\");\n if (collator.resolvedOptions().ignorePunctuation) {\n string = string.replace(/\\p{P}/gu, \"\");\n }\n return string;\n }\n function startsWith(string, substring) {\n if (substring.length === 0) return true;\n string = normalize(string);\n substring = normalize(substring);\n return collator.compare(string.slice(0, substring.length), substring) === 0;\n }\n function endsWith(string, substring) {\n if (substring.length === 0) return true;\n string = normalize(string);\n substring = normalize(substring);\n return collator.compare(string.slice(-substring.length), substring) === 0;\n }\n function contains(string, substring) {\n if (substring.length === 0) return true;\n string = normalize(string);\n substring = normalize(substring);\n let scan = 0;\n let sliceLen = substring.length;\n for (; scan + sliceLen <= string.length; scan++) {\n let slice = string.slice(scan, scan + sliceLen);\n if (collator.compare(substring, slice) === 0) {\n return true;\n }\n }\n return false;\n }\n return {\n startsWith,\n endsWith,\n contains\n };\n}\n\n// src/format-number.ts\nvar getNumberFormatter = i18nCache(Intl.NumberFormat);\nfunction formatNumber(v, locale, options = {}) {\n const formatter = getNumberFormatter(locale, options);\n return formatter.format(v);\n}\n\n// src/format-bytes.ts\nvar bitPrefixes = [\"\", \"kilo\", \"mega\", \"giga\", \"tera\"];\nvar bytePrefixes = [\"\", \"kilo\", \"mega\", \"giga\", \"tera\", \"peta\"];\nvar formatBytes = (bytes, locale = \"en-US\", options = {}) => {\n if (isNaN(bytes)) return \"\";\n if (bytes === 0) return \"0 B\";\n const { unit = \"byte\", unitDisplay = \"short\" } = options;\n const prefix = unit === \"bit\" ? bitPrefixes : bytePrefixes;\n const index = Math.max(0, Math.min(Math.floor(Math.log10(bytes) / 3), prefix.length - 1));\n const _unit = prefix[index] + unit;\n const _unitDisplay = unitDisplay || \"short\";\n const v = parseFloat((bytes / Math.pow(1e3, index)).toPrecision(3));\n return formatNumber(v, locale, {\n style: \"unit\",\n unit: _unit,\n unitDisplay: _unitDisplay\n });\n};\n\n// src/format-date.ts\nvar symbols = \"\\\\s|\\\\.|-|/|\\\\\\\\|,|\\\\$|\\\\!|\\\\?|:|;\";\nfunction createRegEx(sign) {\n return new RegExp(\"(^|>|\" + symbols + \")(\" + sign + \")($|<|\" + symbols + \")\", \"g\");\n}\nvar FORMATS = [\n \"G\",\n \"GG\",\n \"GGG\",\n \"GGGG\",\n \"GGGGG\",\n \"y\",\n \"yo\",\n \"yy\",\n \"yyy\",\n \"yyyy\",\n \"Y\",\n \"Yo\",\n \"YY\",\n \"YYY\",\n \"YYYY\",\n \"Q\",\n \"Qo\",\n \"QQ\",\n \"QQQ\",\n \"QQQQ\",\n \"QQQQQ\",\n \"M\",\n \"Mo\",\n \"MM\",\n \"MMM\",\n \"MMMM\",\n \"MMMMM\",\n \"E\",\n \"EE\",\n \"EEE\",\n \"EEEE\",\n \"EEEEE\",\n \"EEEEEE\",\n \"a\",\n \"aa\",\n \"aaa\",\n \"aaaa\",\n \"aaaaa\",\n \"d\",\n \"do\",\n \"dd\",\n \"D\",\n \"Do\",\n \"DD\",\n \"DDD\",\n \"w\",\n \"wo\",\n \"ww\",\n \"s\",\n \"so\",\n \"ss\",\n \"m\",\n \"mo\",\n \"mm\",\n \"h\",\n \"ho\",\n \"hh\",\n \"H\",\n \"Ho\",\n \"HH\",\n \"z\",\n \"zz\",\n \"zzz\",\n \"zzzz\",\n \"T\"\n];\nfunction ordinal(num) {\n const n = typeof num === \"string\" ? parseFloat(num) : num;\n let suffix = \"th\";\n if (n % 10 === 1 && n % 100 !== 11) {\n suffix = \"st\";\n } else if (n % 10 === 2 && n % 100 !== 12) {\n suffix = \"nd\";\n } else if (n % 10 === 3 && n % 100 !== 13) {\n suffix = \"rd\";\n }\n return `${n}${suffix}`;\n}\nfunction pad(num, length) {\n return String(num).padStart(length, \"0\");\n}\nfunction zone(str) {\n return str.split(/AM|PM/)[1].trim();\n}\nfunction getFormat(date, options) {\n const { locale, format, timeZone } = options;\n switch (format) {\n // era\n case \"G\":\n case \"GG\":\n case \"GGG\":\n return date.toLocaleString(locale, { era: \"short\" });\n case \"GGGG\":\n return date.toLocaleString(locale, { era: \"long\" });\n case \"GGGGG\":\n return date.toLocaleString(locale, { era: \"narrow\" });\n // year\n case \"y\":\n case \"Y\":\n return date.getFullYear();\n case \"yo\":\n case \"Yo\":\n return ordinal(date.toLocaleString(locale, { year: \"numeric\" }));\n case \"yy\":\n case \"YY\":\n return date.toLocaleString(locale, { year: \"2-digit\" });\n case \"yyy\":\n case \"YYY\":\n return date.toLocaleString(locale, { year: \"numeric\" }).padStart(3, \"0\");\n case \"yyyy\":\n case \"YYYY\":\n return date.toLocaleString(locale, { year: \"numeric\" }).padStart(4, \"0\");\n // quarter\n case \"Q\":\n case \"QQQQQ\":\n return Math.ceil((date.getMonth() + 1) / 3);\n case \"Qo\":\n return ordinal(Math.ceil((date.getMonth() + 1) / 3));\n case \"QQ\":\n return pad(Math.ceil((date.getMonth() + 1) / 3), 2);\n case \"QQQ\":\n return `Q${Math.ceil((date.getMonth() + 1) / 3)}`;\n case \"QQQQ\": {\n const base = ordinal(String(Math.ceil((date.getMonth() + 1) / 3)));\n return `${base} quarter`;\n }\n // month\n case \"M\":\n return date.getMonth() + 1;\n case \"Mo\":\n return ordinal(date.getMonth() + 1);\n case \"MM\":\n return date.toLocaleString(locale, { month: \"2-digit\" });\n case \"MMM\":\n return date.toLocaleString(locale, { month: \"short\" });\n case \"MMMM\":\n return date.toLocaleString(locale, { month: \"long\" });\n case \"MMMMM\":\n return date.toLocaleString(locale, { month: \"narrow\" });\n // week\n case \"w\":\n return Math.ceil(date.getDate() / 7);\n case \"wo\":\n return ordinal(Math.ceil(date.getDate() / 7));\n case \"ww\":\n return pad(Math.ceil(date.getDate() / 7), 2);\n // day\n case \"d\":\n case \"D\":\n return date.getDate();\n case \"do\":\n case \"Do\":\n return ordinal(date.getDate());\n case \"dd\":\n case \"DD\":\n return date.toLocaleString(locale, { day: \"2-digit\" });\n case \"DDD\":\n return pad(date.getDate(), 3);\n // weekday\n case \"E\":\n case \"EE\":\n case \"EEE\":\n return date.toLocaleString(locale, { weekday: \"short\" });\n case \"EEEE\":\n return date.toLocaleString(locale, { weekday: \"long\" });\n case \"EEEEE\":\n return date.toLocaleString(locale, { weekday: \"narrow\" });\n case \"EEEEEE\":\n return date.toLocaleString(locale, { weekday: \"short\" }).slice(0, 2);\n // hour\n case \"h\":\n return date.toLocaleString(locale, { hour: \"numeric\", hour12: true });\n case \"ho\":\n return ordinal(date.toLocaleString(locale, { hour: \"2-digit\", hour12: true }));\n case \"hh\":\n return date.toLocaleString(locale, { hour: \"2-digit\", hour12: true });\n case \"H\":\n return date.toLocaleString(locale, { hour: \"numeric\", hour12: false });\n case \"Ho\":\n return ordinal(+date.toLocaleString(locale, { hour: \"numeric\", hour12: false }));\n case \"HH\":\n return date.toLocaleString(locale, { hour: \"2-digit\", hour12: false });\n // minute\n case \"m\":\n return date.toLocaleString(locale, { minute: \"numeric\" });\n case \"mo\":\n return ordinal(date.toLocaleString(locale, { minute: \"numeric\" }));\n case \"mm\":\n return date.toLocaleString(locale, { minute: \"2-digit\" });\n // second\n case \"s\":\n return date.toLocaleString(locale, { second: \"numeric\" });\n case \"so\":\n return ordinal(date.toLocaleString(locale, { second: \"numeric\" }));\n case \"ss\":\n return date.toLocaleString(locale, { second: \"2-digit\" });\n // timestamp\n case \"T\":\n return date.getTime();\n // day period\n case \"a\":\n case \"aa\":\n case \"aaa\":\n return date.toLocaleString(locale, { hour: \"numeric\", hour12: true }).toLocaleUpperCase();\n case \"aaaa\":\n return date.toLocaleString(locale, { hour: \"numeric\", hour12: true }).toLocaleLowerCase();\n case \"aaaaa\":\n return date.toLocaleString(locale, { hour: \"numeric\", hour12: true }).charAt(0);\n // TODO:Revise this\n case \"z\":\n case \"zz\":\n case \"zzz\": {\n return zone(date.toLocaleString(locale, { timeZone, timeZoneName: \"shortOffset\" }));\n }\n case \"zzzz\":\n return zone(date.toLocaleString(locale, { timeZone, timeZoneName: \"longOffset\" }));\n default:\n throw new Error(`Unknown format: ${format}`);\n }\n}\nfunction formatDate(date, format, locale, timeZone) {\n let result = format;\n for (const key of FORMATS) {\n const res = getFormat(date, { locale, format: key, timeZone });\n result = result.replace(createRegEx(key), \"$1\" + res + \"$3\");\n }\n return result;\n}\n\n// src/format-list.ts\nvar getListFormatter = i18nCache(Intl.ListFormat);\nfunction formatList(list, locale, options = {}) {\n const formatter = getListFormatter(locale, options);\n return formatter.format(list);\n}\n\n// src/format-relative-time.ts\nvar getRelativeTimeFormatter = i18nCache(Intl.RelativeTimeFormat);\nfunction formatRelativeTime(value, locale, options = {}) {\n const rtf = getRelativeTimeFormatter(locale, options);\n const now = /* @__PURE__ */ new Date();\n const diff = getDistance(now, value);\n if (diff.years > 0) return rtf.format(diff.years * diff.sign, \"year\");\n if (diff.months > 0) return rtf.format(diff.months * diff.sign, \"month\");\n if (diff.weeks > 0) return rtf.format(diff.weeks * diff.sign, \"week\");\n if (diff.days > 0) return rtf.format(diff.days * diff.sign, \"day\");\n if (diff.hours > 0) return rtf.format(diff.hours * diff.sign, \"hour\");\n if (diff.minutes > 0) return rtf.format(diff.minutes * diff.sign, \"minute\");\n return rtf.format(diff.seconds * diff.sign, \"second\");\n}\nvar SECOND_TO_MS = 1e3;\nvar MINUTE_TO_MS = 1e3 * 60;\nvar HOUR_TO_MS = 1e3 * 60 * 60;\nvar DAY_TO_MS = 1e3 * 60 * 60 * 24;\nvar WEEK_TO_MS = 1e3 * 60 * 60 * 24 * 7;\nvar MONTH_TO_MS = 1e3 * 60 * 60 * 24 * 30;\nvar YEAR_TO_MS = 1e3 * 60 * 60 * 24 * 365;\nfunction getDistance(startDate, endDate) {\n const endTime = endDate.getTime();\n const startTime = startDate.getTime();\n const distance = Math.abs(endTime - startTime);\n return {\n sign: Math.sign(endTime - startTime),\n days: Math.floor(distance / DAY_TO_MS),\n hours: Math.floor(distance % DAY_TO_MS / HOUR_TO_MS),\n minutes: Math.floor(distance % HOUR_TO_MS / MINUTE_TO_MS),\n seconds: Math.floor(distance % MINUTE_TO_MS / SECOND_TO_MS),\n weeks: Math.floor(distance / WEEK_TO_MS),\n months: Math.floor(distance / MONTH_TO_MS),\n years: Math.floor(distance / YEAR_TO_MS)\n };\n}\n\n// src/is-rtl.ts\nvar RTL_SCRIPTS = /* @__PURE__ */ new Set([\n \"Avst\",\n \"Arab\",\n \"Armi\",\n \"Syrc\",\n \"Samr\",\n \"Mand\",\n \"Thaa\",\n \"Mend\",\n \"Nkoo\",\n \"Adlm\",\n \"Rohg\",\n \"Hebr\"\n]);\nvar RTL_LANGS = /* @__PURE__ */ new Set([\n \"ae\",\n \"ar\",\n \"arc\",\n \"bcc\",\n \"bqi\",\n \"ckb\",\n \"dv\",\n \"fa\",\n \"glk\",\n \"he\",\n \"ku\",\n \"mzn\",\n \"nqo\",\n \"pnb\",\n \"ps\",\n \"sd\",\n \"ug\",\n \"ur\",\n \"yi\"\n]);\nfunction isRTL(locale) {\n if (Intl.Locale) {\n const script = new Intl.Locale(locale).maximize().script ?? \"\";\n return RTL_SCRIPTS.has(script);\n }\n const lang = locale.split(\"-\")[0];\n return RTL_LANGS.has(lang);\n}\nfunction getLocaleDir(locale) {\n return isRTL(locale) ? \"rtl\" : \"ltr\";\n}\n\n// src/locale.ts\nfunction getDefaultLocale() {\n let locale = typeof navigator !== \"undefined\" && (navigator.language || navigator.userLanguage) || \"en-US\";\n return {\n locale,\n dir: isRTL(locale) ? \"rtl\" : \"ltr\"\n };\n}\nfunction trackLocale(options = {}) {\n const { getRootNode, onLocaleChange } = options;\n onLocaleChange?.(getDefaultLocale());\n const handleLocaleChange = () => {\n onLocaleChange?.(getDefaultLocale());\n };\n const win = getRootNode ? getWindow(getRootNode()) : window;\n win.addEventListener(\"languagechange\", handleLocaleChange);\n return () => {\n win.removeEventListener(\"languagechange\", handleLocaleChange);\n };\n}\n\nexport { filter, formatBytes, formatDate, formatList, formatNumber, formatRelativeTime, getDefaultLocale, getLocaleDir, isRTL, trackLocale };\n","'use client';\nimport { createContext as createContext$1, useContext } from 'react';\n\nfunction getErrorMessage(hook, provider) {\n return `${hook} returned \\`undefined\\`. Seems you forgot to wrap component within ${provider}`;\n}\nfunction createContext(options = {}) {\n const {\n name,\n strict = true,\n hookName = \"useContext\",\n providerName = \"Provider\",\n errorMessage,\n defaultValue\n } = options;\n const Context = createContext$1(defaultValue);\n Context.displayName = name;\n function useContext$1() {\n const context = useContext(Context);\n if (!context && strict) {\n const error = new Error(errorMessage ?? getErrorMessage(hookName, providerName));\n error.name = \"ContextError\";\n Error.captureStackTrace?.(error, useContext$1);\n throw error;\n }\n return context;\n }\n return [Context.Provider, useContext$1, Context];\n}\n\nexport { createContext };\n","'use client';\nimport { createContext } from '../../utils/create-context.js';\n\nconst [LocaleContextProvider, useLocaleContext] = createContext({\n name: \"LocaleContext\",\n hookName: \"useLocaleContext\",\n providerName: \"\",\n strict: false,\n defaultValue: { dir: \"ltr\", locale: \"en-US\" }\n});\n\nexport { LocaleContextProvider, useLocaleContext };\n","'use client';\nimport { jsx, Fragment } from 'react/jsx-runtime';\nimport { formatBytes } from '@zag-js/i18n-utils';\nimport { useMemo } from 'react';\nimport { useLocaleContext } from '../../providers/locale/use-locale-context.js';\n\nconst FormatByte = (props) => {\n const { value, ...intlOptions } = props;\n const { locale } = useLocaleContext();\n const text = useMemo(() => formatBytes(value, locale, intlOptions), [value, locale, intlOptions]);\n return /* @__PURE__ */ jsx(Fragment, { children: text });\n};\nFormatByte.displayName = \"FormatByte\";\n\nexport { FormatByte };\n","'use client';\nimport { jsx, Fragment } from 'react/jsx-runtime';\nimport { formatNumber } from '@zag-js/i18n-utils';\nimport { useMemo } from 'react';\nimport { useLocaleContext } from '../../providers/locale/use-locale-context.js';\n\nconst FormatNumber = (props) => {\n const { value, ...intlOptions } = props;\n const { locale } = useLocaleContext();\n const text = useMemo(() => formatNumber(value, locale, intlOptions), [value, locale, intlOptions]);\n return /* @__PURE__ */ jsx(Fragment, { children: text });\n};\nFormatNumber.displayName = \"FormatNumber\";\n\nexport { FormatNumber };\n","\"use strict\";\nimport { Format } from '@ark-ui/react/format';\n\nconst FormatNumber = Format.Number;\nconst FormatByte = Format.Byte;\n\nexport { FormatByte, FormatNumber };\n","\"use strict\";\n\"use client\";\nimport { jsx } from 'react/jsx-runtime';\nimport { forwardRef } from 'react';\nimport { cx } from '../utils/cx.js';\nimport { chakra } from '../styled-system/factory.js';\n\nconst Theme = forwardRef(\n function Theme2(props, ref) {\n const {\n appearance,\n style,\n className,\n hasBackground = true,\n ...rest\n } = props;\n return /* @__PURE__ */ jsx(\n chakra.div,\n {\n color: \"fg\",\n bg: hasBackground ? \"bg\" : void 0,\n colorPalette: \"gray\",\n ...rest,\n className: cx(\"chakra-theme\", appearance, className),\n style: { ...style, colorScheme: appearance },\n ref\n }\n );\n }\n);\n\nexport { Theme };\n","\"use strict\";\n\"use client\";\nimport { useRef, useInsertionEffect, useCallback } from 'react';\n\nfunction useCallbackRef(callback, deps = []) {\n const callbackRef = useRef(() => {\n throw new Error(\"Cannot call an event handler while rendering.\");\n });\n useInsertionEffect(() => {\n callbackRef.current = callback;\n });\n return useCallback((...args) => callbackRef.current?.(...args), deps);\n}\n\nexport { useCallbackRef };\n","\"use strict\";\n\"use client\";\nimport { useMemo, useState } from 'react';\nimport { useCallbackRef } from './use-callback-ref.js';\n\nfunction useControllableProp(prop, state) {\n const controlled = typeof prop !== \"undefined\";\n const value = controlled ? prop : state;\n return useMemo(() => [controlled, value], [controlled, value]);\n}\nfunction useControllableState(props) {\n const {\n value: valueProp,\n defaultValue,\n onChange,\n shouldUpdate = (prev, next) => prev !== next\n } = props;\n const onChangeProp = useCallbackRef(onChange);\n const shouldUpdateProp = useCallbackRef(shouldUpdate);\n const [uncontrolledState, setUncontrolledState] = useState(defaultValue);\n const controlled = valueProp !== void 0;\n const value = controlled ? valueProp : uncontrolledState;\n const setValue = useCallbackRef(\n (next) => {\n const setter = next;\n const nextValue = typeof next === \"function\" ? setter(value) : next;\n if (!shouldUpdateProp(value, nextValue)) {\n return;\n }\n if (!controlled) {\n setUncontrolledState(nextValue);\n }\n onChangeProp(nextValue);\n },\n [controlled, onChangeProp, value, shouldUpdateProp]\n );\n return [value, setValue];\n}\n\nexport { useControllableProp, useControllableState };\n","\"use strict\";\n\"use client\";\nimport { useState, useCallback } from 'react';\nimport { useCallbackRef } from './use-callback-ref.js';\n\nfunction useDisclosure(props = {}) {\n const { onClose: onCloseProp, onOpen: onOpenProp, open: openProp } = props;\n const handleOpen = useCallbackRef(onOpenProp);\n const handleClose = useCallbackRef(onCloseProp);\n const [openState, setopen] = useState(props.defaultOpen || false);\n const open = openProp !== void 0 ? openProp : openState;\n const isControlled = openProp !== void 0;\n const onClose = useCallback(() => {\n if (!isControlled) {\n setopen(false);\n }\n handleClose?.();\n }, [isControlled, handleClose]);\n const onOpen = useCallback(() => {\n if (!isControlled) {\n setopen(true);\n }\n handleOpen?.();\n }, [isControlled, handleOpen]);\n const onToggle = useCallback(() => {\n if (open) {\n onClose();\n } else {\n onOpen();\n }\n }, [open, onOpen, onClose]);\n return {\n open,\n onOpen,\n onClose,\n onToggle\n };\n}\n\nexport { useDisclosure };\n","\"use strict\";\n\"use client\";\nimport { useState, useEffect } from 'react';\nimport { useCallbackRef } from './use-callback-ref.js';\n\nfunction listen(query, callback) {\n try {\n query.addEventListener(\"change\", callback);\n return () => query.removeEventListener(\"change\", callback);\n } catch (e) {\n query.addListener(callback);\n return () => query.removeListener(callback);\n }\n}\nfunction useMediaQuery(query, options) {\n const { fallback: _fallback, ssr = true, getWindow } = options;\n const getWin = useCallbackRef(getWindow);\n const queries = Array.isArray(query) ? query : [query];\n const fallback = _fallback?.filter((v) => v != null);\n const [value, setValue] = useState(() => {\n return queries.map((query2, index) => {\n if (!ssr) {\n const { media, matches } = (getWindow?.() ?? window).matchMedia(query2);\n return { media, matches };\n }\n return { media: query2, matches: !!fallback[index] };\n });\n });\n useEffect(() => {\n const win = getWin() ?? window;\n setValue((prev) => {\n const current = queries.map((query2) => {\n const { media, matches } = win.matchMedia(query2);\n return { media, matches };\n });\n return prev.every(\n (v, i) => v.matches === current[i].matches && v.media === current[i].media\n ) ? prev : current;\n });\n const mql = queries.map((query2) => win.matchMedia(query2));\n const handler = (evt) => {\n setValue((prev) => {\n return prev.slice().map((item) => {\n if (item.media === evt.media) return { ...item, matches: evt.matches };\n return item;\n });\n });\n };\n const cleanups = mql.map((v) => listen(v, handler));\n return () => cleanups.forEach((fn) => fn());\n }, [getWin]);\n return value.map((item) => item.matches);\n}\n\nexport { useMediaQuery };\n","\"use strict\";\n\"use client\";\nimport { useChakraContext } from '../styled-system/provider.js';\nimport { useMediaQuery } from './use-media-query.js';\n\nfunction useBreakpoint(options = {}) {\n options.fallback || (options.fallback = \"base\");\n const sys = useChakraContext();\n let fallbackPassed = false;\n const allBreakpoints = sys.breakpoints.values;\n const breakpoints = allBreakpoints.map(({ min, name: breakpoint }) => {\n const item = {\n breakpoint,\n query: `(min-width: ${min})`,\n fallback: !fallbackPassed\n };\n if (breakpoint === options.fallback) {\n fallbackPassed = true;\n }\n return item;\n }).filter(({ breakpoint }) => !!options.breakpoints?.includes(breakpoint));\n const fallback = breakpoints.map(({ fallback: fallback2 }) => fallback2);\n const values = useMediaQuery(\n breakpoints.map((bp) => bp.query),\n { fallback, ssr: options.ssr }\n );\n const index = values.lastIndexOf(true);\n return breakpoints[index]?.breakpoint ?? options.fallback;\n}\nfunction useBreakpointValue(value, opts) {\n const sys = useChakraContext();\n const normalized = sys.normalizeValue(value);\n const breakpoint = useBreakpoint({\n breakpoints: Object.keys(normalized),\n ...opts\n });\n return normalized[breakpoint];\n}\n\nexport { useBreakpoint, useBreakpointValue };\n","\"use strict\";\nconst colorMix = (value, token) => {\n if (!value || typeof value !== \"string\") {\n return { invalid: true, value };\n }\n const [rawColor, rawOpacity] = value.split(\"/\");\n if (!rawColor || !rawOpacity || rawColor === \"currentBg\") {\n return { invalid: true, value: rawColor };\n }\n const colorToken = token(`colors.${rawColor}`);\n const opacityToken = token.raw(`opacity.${rawOpacity}`)?.value;\n if (!opacityToken && isNaN(Number(rawOpacity))) {\n return { invalid: true, value: rawColor };\n }\n const percent = opacityToken ? Number(opacityToken) * 100 + \"%\" : `${rawOpacity}%`;\n const color = colorToken ?? rawColor;\n return {\n invalid: false,\n color,\n value: `color-mix(in srgb, ${color} ${percent}, transparent)`\n };\n};\nconst createColorMixTransform = (prop) => (value, args) => {\n const mix = args.utils.colorMix(value);\n if (mix.invalid) return { [prop]: value };\n const cssVar = \"--mix-\" + prop;\n return {\n [cssVar]: mix.value,\n [prop]: `var(${cssVar}, ${mix.color})`\n };\n};\n\nexport { colorMix, createColorMixTransform };\n","\"use strict\";\nfunction clone(obj) {\n if (obj === null || typeof obj !== \"object\") return obj;\n if (Array.isArray(obj)) return obj.map((prop) => clone(prop));\n const _clone = Object.create(Object.getPrototypeOf(obj));\n for (const key of Object.keys(obj)) {\n _clone[key] = clone(obj[key]);\n }\n return _clone;\n}\n\nexport { clone };\n","\"use strict\";\nconst isObject = (v) => v != null && typeof v === \"object\" && !Array.isArray(v);\nconst isCssVar = (v) => /^var\\(--.+\\)$/.test(v);\nconst isString = (v) => typeof v === \"string\";\nconst isFunction = (v) => typeof v === \"function\";\n\nexport { isCssVar, isFunction, isObject, isString };\n","\"use strict\";\nimport { isObject } from './is.js';\n\nfunction merge(target, source) {\n if (source == null) return target;\n for (const key of Object.keys(source)) {\n if (source[key] === void 0 || key === \"__proto__\") continue;\n if (!isObject(target[key]) && isObject(source[key])) {\n Object.assign(target, { [key]: source[key] });\n } else if (target[key] && isObject(source[key])) {\n merge(target[key], source[key]);\n } else if (Array.isArray(source[key]) && Array.isArray(target[key])) {\n let i = 0;\n for (; i < source[key].length; i++) {\n if (isObject(target[key][i]) && isObject(source[key][i])) {\n merge(target[key][i], source[key][i]);\n } else {\n target[key][i] = source[key][i];\n }\n }\n } else {\n Object.assign(target, { [key]: source[key] });\n }\n }\n return target;\n}\nfunction mergeWith(target, ...sources) {\n for (const source of sources) {\n merge(target, source);\n }\n return target;\n}\n\nexport { mergeWith };\n","\"use strict\";\nimport { clone } from '../utils/clone.js';\nimport { mergeWith } from '../utils/merge.js';\n\nconst defineConditions = (v) => v;\nconst defineRecipe = (v) => v;\nconst defineSlotRecipe = (v) => v;\nconst defineKeyframes = (v) => v;\nconst defineGlobalStyles = (v) => v;\nconst defineStyle = (v) => v;\nconst defineTextStyles = (v) => v;\nconst defineAnimationStyles = (v) => v;\nconst defineLayerStyles = (v) => v;\nfunction createProxy() {\n const identity = (v) => v;\n return new Proxy(identity, {\n get() {\n return identity;\n }\n });\n}\nconst defineTokens = /* @__PURE__ */ createProxy();\nconst defineSemanticTokens = /* @__PURE__ */ createProxy();\nconst defineConfig = (v) => v;\nconst mergeConfigs = (...configs) => {\n return mergeWith({}, ...configs.map(clone));\n};\n\nexport { defineAnimationStyles, defineConditions, defineConfig, defineGlobalStyles, defineKeyframes, defineLayerStyles, defineRecipe, defineSemanticTokens, defineSlotRecipe, defineStyle, defineTextStyles, defineTokens, mergeConfigs };\n","\"use strict\";\nconst escRegex = /[^a-zA-Z0-9_\\u0081-\\uffff-]/g;\nfunction esc(string) {\n return `${string}`.replace(escRegex, (s) => `\\\\${s}`);\n}\nconst dashCaseRegex = /[A-Z]/g;\nfunction dashCase(string) {\n return string.replace(dashCaseRegex, (match) => `-${match.toLowerCase()}`);\n}\nfunction cssVar(name, options = {}) {\n const { fallback = \"\", prefix = \"\" } = options;\n const variable = dashCase([\"-\", prefix, esc(name)].filter(Boolean).join(\"-\"));\n return {\n var: variable,\n ref: `var(${variable}${fallback ? `, ${fallback}` : \"\"})`\n };\n}\n\nexport { cssVar };\n","\"use strict\";\nimport { createColorMixTransform } from './styled-system/color-mix.js';\nimport { defineConditions, defineConfig } from './styled-system/config.js';\nimport { cssVar } from './styled-system/css-var.js';\n\nconst isCssVar = (v) => /^var\\(--.+\\)$/.test(v);\nconst wrap = (str, v) => v != null ? `${str}(${v})` : v;\nconst deg = (v) => {\n if (isCssVar(v) || v == null) return v;\n const unitless = typeof v === \"string\" && !v.endsWith(\"deg\");\n return typeof v === \"number\" || unitless ? `${v}deg` : v;\n};\nconst createFocusRing = (selector) => {\n return {\n values: [\"outside\", \"inside\", \"mixed\", \"none\"],\n transform(value, { token }) {\n const focusRingColor = token(\"colors.colorPalette.focusRing\");\n const styles = {\n inside: {\n \"--focus-ring-color\": focusRingColor,\n [selector]: {\n outlineOffset: \"0px\",\n outlineWidth: \"var(--focus-ring-width, 1px)\",\n outlineColor: \"var(--focus-ring-color)\",\n outlineStyle: \"var(--focus-ring-style, solid)\",\n borderColor: \"var(--focus-ring-color)\"\n }\n },\n outside: {\n \"--focus-ring-color\": focusRingColor,\n [selector]: {\n outlineWidth: \"var(--focus-ring-width, 2px)\",\n outlineOffset: \"var(--focus-ring-offset, 2px)\",\n outlineStyle: \"var(--focus-ring-style, solid)\",\n outlineColor: \"var(--focus-ring-color)\"\n }\n },\n mixed: {\n \"--focus-ring-color\": focusRingColor,\n [selector]: {\n outlineWidth: \"var(--focus-ring-width, 3px)\",\n outlineStyle: \"var(--focus-ring-style, solid)\",\n outlineColor: \"color-mix(in srgb, var(--focus-ring-color), transparent 60%)\",\n borderColor: \"var(--focus-ring-color)\"\n }\n },\n none: {\n \"--focus-ring-color\": focusRingColor,\n [selector]: {\n outline: \"none\"\n }\n }\n };\n return styles[value] ?? {};\n }\n };\n};\nconst divideColor = createColorMixTransform(\"borderColor\");\nconst createTransition = (value) => {\n return {\n transition: value,\n transitionTimingFunction: \"cubic-bezier(0.4, 0, 0.2, 1)\",\n transitionDuration: \"150ms\"\n };\n};\nconst defaultConditions = defineConditions({\n hover: [\n \"@media (hover: hover)\",\n \"&:is(:hover, [data-hover]):not(:disabled, [data-disabled])\"\n ],\n active: \"&:is(:active, [data-active]):not(:disabled, [data-disabled], [data-state=open])\",\n focus: \"&:is(:focus, [data-focus])\",\n focusWithin: \"&:is(:focus-within, [data-focus-within])\",\n focusVisible: \"&:is(:focus-visible, [data-focus-visible])\",\n disabled: \"&:is(:disabled, [disabled], [data-disabled], [aria-disabled=true])\",\n visited: \"&:visited\",\n target: \"&:target\",\n readOnly: \"&:is([data-readonly], [aria-readonly=true], [readonly])\",\n readWrite: \"&:read-write\",\n empty: \"&:is(:empty, [data-empty])\",\n checked: \"&:is(:checked, [data-checked], [aria-checked=true], [data-state=checked])\",\n enabled: \"&:enabled\",\n expanded: \"&:is([aria-expanded=true], [data-expanded], [data-state=expanded])\",\n highlighted: \"&[data-highlighted]\",\n complete: \"&[data-complete]\",\n incomplete: \"&[data-incomplete]\",\n dragging: \"&[data-dragging]\",\n before: \"&::before\",\n after: \"&::after\",\n firstLetter: \"&::first-letter\",\n firstLine: \"&::first-line\",\n marker: \"&::marker\",\n selection: \"&::selection\",\n file: \"&::file-selector-button\",\n backdrop: \"&::backdrop\",\n first: \"&:first-of-type\",\n last: \"&:last-of-type\",\n notFirst: \"&:not(:first-of-type)\",\n notLast: \"&:not(:last-of-type)\",\n only: \"&:only-child\",\n even: \"&:nth-of-type(even)\",\n odd: \"&:nth-of-type(odd)\",\n peerFocus: \".peer:is(:focus, [data-focus]) ~ &\",\n peerHover: \".peer:is(:hover, [data-hover]):not(:disabled, [data-disabled]) ~ &\",\n peerActive: \".peer:is(:active, [data-active]):not(:disabled, [data-disabled]) ~ &\",\n peerFocusWithin: \".peer:focus-within ~ &\",\n peerFocusVisible: \".peer:is(:focus-visible, [data-focus-visible]) ~ &\",\n peerDisabled: \".peer:is(:disabled, [disabled], [data-disabled]) ~ &\",\n peerChecked: \".peer:is(:checked, [data-checked], [aria-checked=true], [data-state=checked]) ~ &\",\n peerInvalid: \".peer:is(:invalid, [data-invalid], [aria-invalid=true]) ~ &\",\n peerExpanded: \".peer:is([aria-expanded=true], [data-expanded], [data-state=expanded]) ~ &\",\n peerPlaceholderShown: \".peer:placeholder-shown ~ &\",\n groupFocus: \".group:is(:focus, [data-focus]) &\",\n groupHover: \".group:is(:hover, [data-hover]):not(:disabled, [data-disabled]) &\",\n groupActive: \".group:is(:active, [data-active]):not(:disabled, [data-disabled]) &\",\n groupFocusWithin: \".group:focus-within &\",\n groupFocusVisible: \".group:is(:focus-visible, [data-focus-visible]) &\",\n groupDisabled: \".group:is(:disabled, [disabled], [data-disabled]) &\",\n groupChecked: \".group:is(:checked, [data-checked], [aria-checked=true], [data-state=checked]) &\",\n groupExpanded: \".group:is([aria-expanded=true], [data-expanded], [data-state=expanded]) &\",\n groupInvalid: \".group:invalid &\",\n indeterminate: \"&:is(:indeterminate, [data-indeterminate], [aria-checked=mixed], [data-state=indeterminate])\",\n required: \"&:is([data-required], [aria-required=true])\",\n valid: \"&:is([data-valid], [data-state=valid])\",\n invalid: \"&:is([data-invalid], [aria-invalid=true], [data-state=invalid])\",\n autofill: \"&:autofill\",\n inRange: \"&:is(:in-range, [data-in-range])\",\n outOfRange: \"&:is(:out-of-range, [data-outside-range])\",\n placeholder: \"&::placeholder, &[data-placeholder]\",\n placeholderShown: \"&:is(:placeholder-shown, [data-placeholder-shown])\",\n pressed: \"&:is([aria-pressed=true], [data-pressed])\",\n selected: \"&:is([aria-selected=true], [data-selected])\",\n grabbed: \"&:is([aria-grabbed=true], [data-grabbed])\",\n underValue: \"&[data-state=under-value]\",\n overValue: \"&[data-state=over-value]\",\n atValue: \"&[data-state=at-value]\",\n default: \"&:default\",\n optional: \"&:optional\",\n open: \"&:is([open], [data-open], [data-state=open])\",\n closed: \"&:is([closed], [data-closed], [data-state=closed])\",\n fullscreen: \"&is(:fullscreen, [data-fullscreen])\",\n loading: \"&:is([data-loading], [aria-busy=true])\",\n hidden: \"&:is([hidden], [data-hidden])\",\n current: \"&[data-current]\",\n currentPage: \"&[aria-current=page]\",\n currentStep: \"&[aria-current=step]\",\n today: \"&[data-today]\",\n unavailable: \"&[data-unavailable]\",\n rangeStart: \"&[data-range-start]\",\n rangeEnd: \"&[data-range-end]\",\n now: \"&[data-now]\",\n topmost: \"&[data-topmost]\",\n motionReduce: \"@media (prefers-reduced-motion: reduce)\",\n motionSafe: \"@media (prefers-reduced-motion: no-preference)\",\n print: \"@media print\",\n landscape: \"@media (orientation: landscape)\",\n portrait: \"@media (orientation: portrait)\",\n dark: \".dark &, .dark .chakra-theme:not(.light) &\",\n light: \":root &, .light &\",\n osDark: \"@media (prefers-color-scheme: dark)\",\n osLight: \"@media (prefers-color-scheme: light)\",\n highContrast: \"@media (forced-colors: active)\",\n lessContrast: \"@media (prefers-contrast: less)\",\n moreContrast: \"@media (prefers-contrast: more)\",\n ltr: \"[dir=ltr] &\",\n rtl: \"[dir=rtl] &\",\n scrollbar: \"&::-webkit-scrollbar\",\n scrollbarThumb: \"&::-webkit-scrollbar-thumb\",\n scrollbarTrack: \"&::-webkit-scrollbar-track\",\n horizontal: \"&[data-orientation=horizontal]\",\n vertical: \"&[data-orientation=vertical]\",\n icon: \"& :where(svg)\",\n starting: \"@starting-style\"\n});\nconst currentBgVar = cssVar(\"bg-currentcolor\");\nconst isCurrentBgVar = (value) => value === currentBgVar.ref || value === \"currentBg\";\nconst colorValues = (theme) => ({\n ...theme(\"colors\"),\n currentBg: currentBgVar\n});\nconst defaultBaseConfig = defineConfig({\n conditions: defaultConditions,\n utilities: {\n // background\n background: {\n values: colorValues,\n shorthand: [\"bg\"],\n transform(value, args) {\n if (isCurrentBgVar(args.raw)) return { background: currentBgVar.ref };\n const styleObj = createColorMixTransform(\"background\")(value, args);\n return { ...styleObj, [currentBgVar.var]: styleObj?.background };\n }\n },\n backgroundColor: {\n values: colorValues,\n shorthand: [\"bgColor\"],\n transform(value, args) {\n if (isCurrentBgVar(args.raw))\n return { backgroundColor: currentBgVar.ref };\n const styleObj = createColorMixTransform(\"backgroundColor\")(value, args);\n return {\n ...styleObj,\n [currentBgVar.var]: styleObj?.backgroundColor\n };\n }\n },\n backgroundSize: { shorthand: [\"bgSize\"] },\n backgroundPosition: { shorthand: [\"bgPos\"] },\n backgroundRepeat: { shorthand: [\"bgRepeat\"] },\n backgroundAttachment: { shorthand: [\"bgAttachment\"] },\n backgroundClip: {\n shorthand: [\"bgClip\"],\n values: [\"text\"],\n transform(value) {\n return value === \"text\" ? { color: \"transparent\", backgroundClip: \"text\" } : { backgroundClip: value };\n }\n },\n backgroundGradient: {\n shorthand: [\"bgGradient\"],\n values(theme) {\n return {\n ...theme(\"gradients\"),\n \"to-t\": \"linear-gradient(to top, var(--gradient))\",\n \"to-tr\": \"linear-gradient(to top right, var(--gradient))\",\n \"to-r\": \"linear-gradient(to right, var(--gradient))\",\n \"to-br\": \"linear-gradient(to bottom right, var(--gradient))\",\n \"to-b\": \"linear-gradient(to bottom, var(--gradient))\",\n \"to-bl\": \"linear-gradient(to bottom left, var(--gradient))\",\n \"to-l\": \"linear-gradient(to left, var(--gradient))\",\n \"to-tl\": \"linear-gradient(to top left, var(--gradient))\"\n };\n },\n transform(value) {\n return {\n \"--gradient-stops\": \"var(--gradient-from), var(--gradient-to)\",\n \"--gradient\": \"var(--gradient-via-stops, var(--gradient-stops))\",\n backgroundImage: value\n };\n }\n },\n gradientFrom: {\n values: colorValues,\n transform: createColorMixTransform(\"--gradient-from\")\n },\n gradientTo: {\n values: colorValues,\n transform: createColorMixTransform(\"--gradient-to\")\n },\n gradientVia: {\n values: colorValues,\n transform(value, args) {\n const styles = createColorMixTransform(\"--gradient-via\")(value, args);\n return {\n ...styles,\n \"--gradient-via-stops\": \"var(--gradient-from), var(--gradient-via), var(--gradient-to)\"\n };\n }\n },\n backgroundImage: { values: \"gradients\", shorthand: [\"bgImg\", \"bgImage\"] },\n // border\n border: { values: \"borders\" },\n borderTop: { values: \"borders\" },\n borderLeft: { values: \"borders\" },\n borderBlockStart: { values: \"borders\" },\n borderRight: { values: \"borders\" },\n borderInlineEnd: { values: \"borders\" },\n borderBottom: { values: \"borders\" },\n borderBlockEnd: { values: \"borders\" },\n borderInlineStart: { values: \"borders\", shorthand: [\"borderStart\"] },\n borderInline: { values: \"borders\", shorthand: [\"borderX\"] },\n borderBlock: { values: \"borders\", shorthand: [\"borderY\"] },\n // border colors\n borderColor: {\n values: colorValues,\n transform: createColorMixTransform(\"borderColor\")\n },\n borderTopColor: {\n values: colorValues,\n transform: createColorMixTransform(\"borderTopColor\")\n },\n borderBlockStartColor: {\n values: colorValues,\n transform: createColorMixTransform(\"borderBlockStartColor\")\n },\n borderBottomColor: {\n values: colorValues,\n transform: createColorMixTransform(\"borderBottomColor\")\n },\n borderBlockEndColor: {\n values: colorValues,\n transform: createColorMixTransform(\"borderBlockEndColor\")\n },\n borderLeftColor: {\n values: colorValues,\n transform: createColorMixTransform(\"borderLeftColor\")\n },\n borderInlineStartColor: {\n values: colorValues,\n shorthand: [\"borderStartColor\"],\n transform: createColorMixTransform(\"borderInlineStartColor\")\n },\n borderRightColor: {\n values: colorValues,\n transform: createColorMixTransform(\"borderRightColor\")\n },\n borderInlineEndColor: {\n values: colorValues,\n shorthand: [\"borderEndColor\"],\n transform: createColorMixTransform(\"borderInlineEndColor\")\n },\n // border styles\n borderStyle: { values: \"borderStyles\" },\n borderTopStyle: { values: \"borderStyles\" },\n borderBlockStartStyle: { values: \"borderStyles\" },\n borderBottomStyle: { values: \"borderStyles\" },\n borderBlockEndStyle: {\n values: \"borderStyles\"\n },\n borderInlineStartStyle: {\n values: \"borderStyles\",\n shorthand: [\"borderStartStyle\"]\n },\n borderInlineEndStyle: {\n values: \"borderStyles\",\n shorthand: [\"borderEndStyle\"]\n },\n borderLeftStyle: { values: \"borderStyles\" },\n borderRightStyle: { values: \"borderStyles\" },\n // border radius\n borderRadius: { values: \"radii\", shorthand: [\"rounded\"] },\n borderTopLeftRadius: { values: \"radii\", shorthand: [\"roundedTopLeft\"] },\n borderStartStartRadius: {\n values: \"radii\",\n shorthand: [\"roundedStartStart\", \"borderTopStartRadius\"]\n },\n borderEndStartRadius: {\n values: \"radii\",\n shorthand: [\"roundedEndStart\", \"borderBottomStartRadius\"]\n },\n borderTopRightRadius: {\n values: \"radii\",\n shorthand: [\"roundedTopRight\"]\n },\n borderStartEndRadius: {\n values: \"radii\",\n shorthand: [\"roundedStartEnd\", \"borderTopEndRadius\"]\n },\n borderEndEndRadius: {\n values: \"radii\",\n shorthand: [\"roundedEndEnd\", \"borderBottomEndRadius\"]\n },\n borderBottomLeftRadius: {\n values: \"radii\",\n shorthand: [\"roundedBottomLeft\"]\n },\n borderBottomRightRadius: {\n values: \"radii\",\n shorthand: [\"roundedBottomRight\"]\n },\n borderInlineStartRadius: {\n values: \"radii\",\n property: \"borderRadius\",\n shorthand: [\"roundedStart\", \"borderStartRadius\"],\n transform: (value) => ({\n borderStartStartRadius: value,\n borderEndStartRadius: value\n })\n },\n borderInlineEndRadius: {\n values: \"radii\",\n property: \"borderRadius\",\n shorthand: [\"roundedEnd\", \"borderEndRadius\"],\n transform: (value) => ({\n borderStartEndRadius: value,\n borderEndEndRadius: value\n })\n },\n borderTopRadius: {\n values: \"radii\",\n property: \"borderRadius\",\n shorthand: [\"roundedTop\"],\n transform: (value) => ({\n borderTopLeftRadius: value,\n borderTopRightRadius: value\n })\n },\n borderBottomRadius: {\n values: \"radii\",\n property: \"borderRadius\",\n shorthand: [\"roundedBottom\"],\n transform: (value) => ({\n borderBottomLeftRadius: value,\n borderBottomRightRadius: value\n })\n },\n borderLeftRadius: {\n values: \"radii\",\n property: \"borderRadius\",\n shorthand: [\"roundedLeft\"],\n transform: (value) => ({\n borderTopLeftRadius: value,\n borderBottomLeftRadius: value\n })\n },\n borderRightRadius: {\n values: \"radii\",\n property: \"borderRadius\",\n shorthand: [\"roundedRight\"],\n transform: (value) => ({\n borderTopRightRadius: value,\n borderBottomRightRadius: value\n })\n },\n borderWidth: { values: \"borderWidths\" },\n borderBlockStartWidth: { values: \"borderWidths\" },\n borderTopWidth: { values: \"borderWidths\" },\n borderBottomWidth: { values: \"borderWidths\" },\n borderBlockEndWidth: { values: \"borderWidths\" },\n borderRightWidth: { values: \"borderWidths\" },\n borderInlineWidth: {\n values: \"borderWidths\",\n shorthand: [\"borderXWidth\"]\n },\n borderInlineStartWidth: {\n values: \"borderWidths\",\n shorthand: [\"borderStartWidth\"]\n },\n borderInlineEndWidth: {\n values: \"borderWidths\",\n shorthand: [\"borderEndWidth\"]\n },\n borderLeftWidth: { values: \"borderWidths\" },\n borderBlockWidth: {\n values: \"borderWidths\",\n shorthand: [\"borderYWidth\"]\n },\n // colors\n color: {\n values: colorValues,\n transform: createColorMixTransform(\"color\")\n },\n fill: {\n values: colorValues,\n transform: createColorMixTransform(\"fill\")\n },\n stroke: {\n values: colorValues,\n transform: createColorMixTransform(\"stroke\")\n },\n accentColor: {\n values: colorValues,\n transform: createColorMixTransform(\"accentColor\")\n },\n // divide\n divideX: {\n values: { type: \"string\" },\n transform(value) {\n return {\n \"& > :not(style, [hidden]) ~ :not(style, [hidden])\": {\n borderInlineStartWidth: value,\n borderInlineEndWidth: \"0px\"\n }\n };\n }\n },\n divideY: {\n values: { type: \"string\" },\n transform(value) {\n return {\n \"& > :not(style, [hidden]) ~ :not(style, [hidden])\": {\n borderTopWidth: value,\n borderBottomWidth: \"0px\"\n }\n };\n }\n },\n divideColor: {\n values: colorValues,\n transform(value, args) {\n return {\n \"& > :not(style, [hidden]) ~ :not(style, [hidden])\": divideColor(\n value,\n args\n )\n };\n }\n },\n divideStyle: {\n property: \"borderStyle\",\n transform(value) {\n return {\n \"& > :not(style, [hidden]) ~ :not(style, [hidden])\": {\n borderStyle: value\n }\n };\n }\n },\n // effects\n boxShadow: { values: \"shadows\", shorthand: [\"shadow\"] },\n boxShadowColor: {\n values: colorValues,\n transform: createColorMixTransform(\"--shadow-color\"),\n shorthand: [\"shadowColor\"]\n },\n mixBlendMode: { shorthand: [\"blendMode\"] },\n backgroundBlendMode: { shorthand: [\"bgBlendMode\"] },\n opacity: { values: \"opacity\" },\n // filters\n filter: {\n transform(v) {\n if (v !== \"auto\") {\n return { filter: v };\n }\n return {\n filter: `var(--blur) var(--brightness) var(--contrast) var(--grayscale) var(--hue-rotate) var(--invert) var(--saturate) var(--sepia) var(--drop-shadow)`\n };\n }\n },\n blur: {\n values: \"blurs\",\n transform: (v) => ({ \"--blur\": wrap(\"blur\", v) })\n },\n brightness: {\n transform: (v) => ({ \"--brightness\": wrap(\"brightness\", v) })\n },\n contrast: {\n transform: (v) => ({ \"--contrast\": wrap(\"contrast\", v) })\n },\n grayscale: {\n transform: (v) => ({ \"--grayscale\": wrap(\"grayscale\", v) })\n },\n hueRotate: {\n transform: (v) => ({ \"--hue-rotate\": wrap(\"hue-rotate\", deg(v)) })\n },\n invert: { transform: (v) => ({ \"--invert\": wrap(\"invert\", v) }) },\n saturate: {\n transform: (v) => ({ \"--saturate\": wrap(\"saturate\", v) })\n },\n sepia: { transform: (v) => ({ \"--sepia\": wrap(\"sepia\", v) }) },\n dropShadow: {\n transform: (v) => ({ \"--drop-shadow\": wrap(\"drop-shadow\", v) })\n },\n // backdrop filters\n backdropFilter: {\n transform(v) {\n if (v !== \"auto\") {\n return { backdropFilter: v };\n }\n return {\n backdropFilter: `var(--backdrop-blur) var(--backdrop-brightness) var(--backdrop-contrast) var(--backdrop-grayscale) var(--backdrop-hue-rotate) var(--backdrop-invert) var(--backdrop-opacity) var(--backdrop-saturate) var(--backdrop-sepia)`\n };\n }\n },\n backdropBlur: {\n values: \"blurs\",\n transform: (v) => ({ \"--backdrop-blur\": wrap(\"blur\", v) })\n },\n backdropBrightness: {\n transform: (v) => ({\n \"--backdrop-brightness\": wrap(\"brightness\", v)\n })\n },\n backdropContrast: {\n transform: (v) => ({ \"--backdrop-contrast\": wrap(\"contrast\", v) })\n },\n backdropGrayscale: {\n transform: (v) => ({\n \"--backdrop-grayscale\": wrap(\"grayscale\", v)\n })\n },\n backdropHueRotate: {\n transform: (v) => ({\n \"--backdrop-hue-rotate\": wrap(\"hue-rotate\", deg(v))\n })\n },\n backdropInvert: {\n transform: (v) => ({ \"--backdrop-invert\": wrap(\"invert\", v) })\n },\n backdropOpacity: {\n transform: (v) => ({ \"--backdrop-opacity\": wrap(\"opacity\", v) })\n },\n backdropSaturate: {\n transform: (v) => ({ \"--backdrop-saturate\": wrap(\"saturate\", v) })\n },\n backdropSepia: {\n transform: (v) => ({ \"--backdrop-sepia\": wrap(\"sepia\", v) })\n },\n // flexbox\n flexBasis: { values: \"sizes\" },\n gap: { values: \"spacing\" },\n rowGap: { values: \"spacing\", shorthand: [\"gapY\"] },\n columnGap: { values: \"spacing\", shorthand: [\"gapX\"] },\n flexDirection: { shorthand: [\"flexDir\"] },\n // grid\n gridGap: { values: \"spacing\" },\n gridColumnGap: { values: \"spacing\" },\n gridRowGap: { values: \"spacing\" },\n // interactivity\n outlineColor: {\n values: colorValues,\n transform: createColorMixTransform(\"outlineColor\")\n },\n focusRing: createFocusRing(\"&:is(:focus, [data-focus])\"),\n focusVisibleRing: createFocusRing(\n \"&:is(:focus-visible, [data-focus-visible])\"\n ),\n focusRingColor: {\n values: colorValues,\n transform: createColorMixTransform(\"--focus-ring-color\")\n },\n focusRingOffset: {\n values: \"spacing\",\n transform: (v) => ({ \"--focus-ring-offset\": v })\n },\n focusRingWidth: {\n values: \"borderWidths\",\n property: \"outlineWidth\",\n transform: (v) => ({ \"--focus-ring-width\": v })\n },\n focusRingStyle: {\n values: \"borderStyles\",\n property: \"outlineStyle\",\n transform: (v) => ({ \"--focus-ring-style\": v })\n },\n // layout\n aspectRatio: { values: \"aspectRatios\" },\n width: { values: \"sizes\", shorthand: [\"w\"] },\n inlineSize: { values: \"sizes\" },\n height: { values: \"sizes\", shorthand: [\"h\"] },\n blockSize: { values: \"sizes\" },\n boxSize: {\n values: \"sizes\",\n property: \"width\",\n transform: (v) => ({ width: v, height: v })\n },\n minWidth: { values: \"sizes\", shorthand: [\"minW\"] },\n minInlineSize: { values: \"sizes\" },\n minHeight: { values: \"sizes\", shorthand: [\"minH\"] },\n minBlockSize: { values: \"sizes\" },\n maxWidth: { values: \"sizes\", shorthand: [\"maxW\"] },\n maxInlineSize: { values: \"sizes\" },\n maxHeight: { values: \"sizes\", shorthand: [\"maxH\"] },\n maxBlockSize: { values: \"sizes\" },\n hideFrom: {\n values: \"breakpoints\",\n //@ts-ignore\n transform: (value, { raw, token }) => {\n const bp = token.raw(`breakpoints.${raw}`);\n const media = bp ? `@breakpoint ${raw}` : `@media screen and (min-width: ${value})`;\n return {\n [media]: { display: \"none\" }\n };\n }\n },\n hideBelow: {\n values: \"breakpoints\",\n //@ts-ignore\n transform(value, { raw, token }) {\n const bp = token.raw(`breakpoints.${raw}`);\n const media = bp ? `@breakpoint ${raw}Down` : `@media screen and (max-width: ${value})`;\n return {\n [media]: {\n display: \"none\"\n }\n };\n }\n },\n // scroll\n overscrollBehavior: { shorthand: [\"overscroll\"] },\n overscrollBehaviorX: { shorthand: [\"overscrollX\"] },\n overscrollBehaviorY: { shorthand: [\"overscrollY\"] },\n scrollbar: {\n values: [\"visible\", \"hidden\"],\n transform(v) {\n switch (v) {\n case \"visible\":\n return {\n msOverflowStyle: \"auto\",\n scrollbarWidth: \"auto\",\n \"&::-webkit-scrollbar\": { display: \"block\" }\n };\n case \"hidden\":\n return {\n msOverflowStyle: \"none\",\n scrollbarWidth: \"none\",\n \"&::-webkit-scrollbar\": { display: \"none\" }\n };\n default:\n return {};\n }\n }\n },\n scrollbarColor: {\n values: colorValues,\n transform: createColorMixTransform(\"scrollbarColor\")\n },\n scrollbarGutter: { values: \"spacing\" },\n scrollbarWidth: { values: \"sizes\" },\n // scroll margin\n scrollMargin: { values: \"spacing\" },\n scrollMarginTop: { values: \"spacing\" },\n scrollMarginBottom: { values: \"spacing\" },\n scrollMarginLeft: { values: \"spacing\" },\n scrollMarginRight: { values: \"spacing\" },\n scrollMarginX: {\n values: \"spacing\",\n transform: (v) => ({ scrollMarginLeft: v, scrollMarginRight: v })\n },\n scrollMarginY: {\n values: \"spacing\",\n transform: (v) => ({ scrollMarginTop: v, scrollMarginBottom: v })\n },\n // scroll padding\n scrollPadding: { values: \"spacing\" },\n scrollPaddingTop: { values: \"spacing\" },\n scrollPaddingBottom: { values: \"spacing\" },\n scrollPaddingLeft: { values: \"spacing\" },\n scrollPaddingRight: { values: \"spacing\" },\n scrollPaddingInline: { values: \"spacing\", shorthand: [\"scrollPaddingX\"] },\n scrollPaddingBlock: { values: \"spacing\", shorthand: [\"scrollPaddingY\"] },\n // scroll snap\n scrollSnapType: {\n values: {\n none: \"none\",\n x: \"x var(--scroll-snap-strictness)\",\n y: \"y var(--scroll-snap-strictness)\",\n both: \"both var(--scroll-snap-strictness)\"\n }\n },\n scrollSnapStrictness: {\n values: [\"mandatory\", \"proximity\"],\n transform: (v) => ({ \"--scroll-snap-strictness\": v })\n },\n scrollSnapMargin: { values: \"spacing\" },\n scrollSnapMarginTop: { values: \"spacing\" },\n scrollSnapMarginBottom: { values: \"spacing\" },\n scrollSnapMarginLeft: { values: \"spacing\" },\n scrollSnapMarginRight: { values: \"spacing\" },\n // list\n listStylePosition: { shorthand: [\"listStylePos\"] },\n listStyleImage: { shorthand: [\"listStyleImg\"] },\n // position\n position: { shorthand: [\"pos\"] },\n zIndex: { values: \"zIndex\" },\n inset: { values: \"spacing\" },\n insetInline: { values: \"spacing\", shorthand: [\"insetX\"] },\n insetBlock: { values: \"spacing\", shorthand: [\"insetY\"] },\n top: { values: \"spacing\" },\n insetBlockStart: { values: \"spacing\" },\n bottom: { values: \"spacing\" },\n insetBlockEnd: { values: \"spacing\" },\n left: { values: \"spacing\" },\n right: { values: \"spacing\" },\n insetInlineStart: {\n values: \"spacing\",\n shorthand: [\"insetStart\"]\n },\n insetInlineEnd: {\n values: \"spacing\",\n shorthand: [\"insetEnd\"]\n },\n // shadow / ring\n ring: {\n transform(value) {\n return {\n \"--ring-offset-shadow\": `var(--ring-inset) 0 0 0 var(--ring-offset-width) var(--ring-offset-color)`,\n \"--ring-shadow\": `var(--ring-inset) 0 0 0 calc(var(--ring-width) + var(--ring-offset-width)) var(--ring-color)`,\n \"--ring-width\": value,\n boxShadow: \"var(--ring-offset-shadow), var(--ring-shadow), var(--shadow, 0 0 #0000)\"\n };\n }\n },\n ringColor: {\n values: colorValues,\n transform: createColorMixTransform(\"--ring-color\")\n },\n ringOffset: {\n transform: (value) => ({ \"--ring-offset-width\": value })\n },\n ringOffsetColor: {\n values: colorValues,\n transform: createColorMixTransform(\"--ring-offset-color\")\n },\n ringInset: {\n transform: (v) => ({ \"--ring-inset\": v })\n },\n // margin\n margin: { values: \"spacing\", shorthand: [\"m\"] },\n marginTop: { values: \"spacing\", shorthand: [\"mt\"] },\n marginBlockStart: { values: \"spacing\", shorthand: [\"mt\"] },\n marginRight: { values: \"spacing\", shorthand: [\"mr\"] },\n marginBottom: { values: \"spacing\", shorthand: [\"mb\"] },\n marginBlockEnd: { values: \"spacing\" },\n marginLeft: { values: \"spacing\", shorthand: [\"ml\"] },\n marginInlineStart: { values: \"spacing\", shorthand: [\"ms\", \"marginStart\"] },\n marginInlineEnd: { values: \"spacing\", shorthand: [\"me\", \"marginEnd\"] },\n marginInline: { values: \"spacing\", shorthand: [\"mx\", \"marginX\"] },\n marginBlock: { values: \"spacing\", shorthand: [\"my\", \"marginY\"] },\n // padding\n padding: { values: \"spacing\", shorthand: [\"p\"] },\n paddingTop: { values: \"spacing\", shorthand: [\"pt\"] },\n paddingRight: { values: \"spacing\", shorthand: [\"pr\"] },\n paddingBottom: { values: \"spacing\", shorthand: [\"pb\"] },\n paddingBlockStart: { values: \"spacing\" },\n paddingBlockEnd: { values: \"spacing\" },\n paddingLeft: { values: \"spacing\", shorthand: [\"pl\"] },\n paddingInlineStart: {\n values: \"spacing\",\n shorthand: [\"ps\", \"paddingStart\"]\n },\n paddingInlineEnd: { values: \"spacing\", shorthand: [\"pe\", \"paddingEnd\"] },\n paddingInline: { values: \"spacing\", shorthand: [\"px\", \"paddingX\"] },\n paddingBlock: { values: \"spacing\", shorthand: [\"py\", \"paddingY\"] },\n // text decoration\n textDecoration: { shorthand: [\"textDecor\"] },\n textDecorationColor: {\n values: colorValues,\n transform: createColorMixTransform(\"textDecorationColor\")\n },\n textShadow: { values: \"shadows\" },\n // transform\n transform: {\n transform: (value) => {\n let v = value;\n if (value === \"auto\") {\n v = `translateX(var(--translate-x, 0)) translateY(var(--translate-y, 0)) rotate(var(--rotate, 0)) scaleX(var(--scale-x, 1)) scaleY(var(--scale-y, 1)) skewX(var(--skew-x, 0)) skewY(var(--skew-y, 0))`;\n }\n if (value === \"auto-gpu\") {\n v = `translate3d(var(--translate-x, 0), var(--translate-y, 0), 0) rotate(var(--rotate, 0)) scaleX(var(--scale-x, 1)) scaleY(var(--scale-y, 1)) skewX(var(--skew-x, 0)) skewY(var(--skew-y, 0))`;\n }\n return { transform: v };\n }\n },\n skewX: { transform: (v) => ({ \"--skew-x\": deg(v) }) },\n skewY: { transform: (v) => ({ \"--skew-y\": deg(v) }) },\n scaleX: { transform: (v) => ({ \"--scale-x\": v }) },\n scaleY: { transform: (v) => ({ \"--scale-y\": v }) },\n scale: {\n transform(value) {\n if (value !== \"auto\") return { scale: value };\n return {\n scale: `var(--scale-x, 1) var(--scale-y, 1)`\n };\n }\n },\n spaceXReverse: {\n values: { type: \"boolean\" },\n transform(value) {\n return {\n \"& > :not(style, [hidden]) ~ :not(style, [hidden])\": {\n \"--space-x-reverse\": value ? \"1\" : void 0\n }\n };\n }\n },\n spaceX: {\n property: \"marginInlineStart\",\n values: \"spacing\",\n transform: (v) => ({\n \"& > :not(style, [hidden]) ~ :not(style, [hidden])\": {\n \"--space-x-reverse\": \"0\",\n marginInlineStart: `calc(${v} * calc(1 - var(--space-x-reverse)))`,\n marginInlineEnd: `calc(${v} * var(--space-x-reverse))`\n }\n })\n },\n spaceYReverse: {\n values: { type: \"boolean\" },\n transform(value) {\n return {\n \"& > :not(style, [hidden]) ~ :not(style, [hidden])\": {\n \"--space-y-reverse\": value ? \"1\" : void 0\n }\n };\n }\n },\n spaceY: {\n property: \"marginTop\",\n values: \"spacing\",\n transform: (v) => ({\n \"& > :not(style, [hidden]) ~ :not(style, [hidden])\": {\n \"--space-y-reverse\": \"0\",\n marginTop: `calc(${v} * calc(1 - var(--space-y-reverse)))`,\n marginBottom: `calc(${v} * var(--space-y-reverse))`\n }\n })\n },\n rotate: {\n transform(value) {\n if (value !== \"auto\") return { rotate: deg(value) };\n return {\n rotate: `var(--rotate-x, 0) var(--rotate-y, 0) var(--rotate-z, 0)`\n };\n }\n },\n rotateX: {\n transform(value) {\n return { \"--rotate-x\": deg(value) };\n }\n },\n rotateY: {\n transform(value) {\n return { \"--rotate-y\": deg(value) };\n }\n },\n // transform / translate\n translate: {\n transform(value) {\n if (value !== \"auto\") return { translate: value };\n return {\n translate: `var(--translate-x) var(--translate-y)`\n };\n }\n },\n translateX: {\n values: \"spacing\",\n transform: (v) => ({ \"--translate-x\": v })\n },\n translateY: {\n values: \"spacing\",\n transform: (v) => ({ \"--translate-y\": v })\n },\n // transition\n transition: {\n values: [\n \"all\",\n \"common\",\n \"colors\",\n \"opacity\",\n \"position\",\n \"backgrounds\",\n \"size\",\n \"shadow\",\n \"transform\"\n ],\n transform(value) {\n switch (value) {\n case \"all\":\n return createTransition(\"all\");\n case \"position\":\n return createTransition(\n \"left, right, top, bottom, inset-inline, inset-block\"\n );\n case \"colors\":\n return createTransition(\n \"color, background-color, border-color, text-decoration-color, fill, stroke\"\n );\n case \"opacity\":\n return createTransition(\"opacity\");\n case \"shadow\":\n return createTransition(\"box-shadow\");\n case \"transform\":\n return createTransition(\"transform\");\n case \"size\":\n return createTransition(\"width, height\");\n case \"backgrounds\":\n return createTransition(\n \"background, background-color, background-image, background-position\"\n );\n case \"common\":\n return createTransition(\n \"color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter\"\n );\n default:\n return { transition: value };\n }\n }\n },\n transitionDuration: { values: \"durations\" },\n transitionProperty: {\n values: {\n common: \"background-color, border-color, color, fill, stroke, opacity, box-shadow, translate, transform\",\n colors: \"background-color, border-color, color, fill, stroke\",\n size: \"width, height\",\n position: \"left, right, top, bottom, inset-inline, inset-block\",\n background: \"background, background-color, background-image, background-position\"\n }\n },\n transitionTimingFunction: { values: \"easings\" },\n // animation\n animation: { values: \"animations\" },\n animationDuration: { values: \"durations\" },\n animationDelay: { values: \"durations\" },\n animationTimingFunction: { values: \"easings\" },\n // typography\n fontFamily: { values: \"fonts\" },\n fontSize: { values: \"fontSizes\" },\n fontWeight: { values: \"fontWeights\" },\n lineHeight: { values: \"lineHeights\" },\n letterSpacing: { values: \"letterSpacings\" },\n textIndent: { values: \"spacing\" },\n truncate: {\n values: { type: \"boolean\" },\n transform(value) {\n if (value === true) {\n return {\n overflow: \"hidden\",\n textOverflow: \"ellipsis\",\n whiteSpace: \"nowrap\"\n };\n }\n return {};\n }\n },\n lineClamp: {\n transform(value) {\n if (value === \"none\") {\n return {\n WebkitLineClamp: \"unset\"\n };\n }\n return {\n overflow: \"hidden\",\n display: \"-webkit-box\",\n WebkitLineClamp: value,\n WebkitBoxOrient: \"vertical\",\n textWrap: \"wrap\"\n };\n }\n },\n // helpers\n srOnly: {\n values: { type: \"boolean\" },\n transform(value) {\n return srMapping[value] || {};\n }\n },\n debug: {\n values: { type: \"boolean\" },\n transform(value) {\n if (!value) return {};\n return {\n outline: \"1px solid blue !important\",\n \"& > *\": {\n outline: \"1px solid red !important\"\n }\n };\n }\n },\n caretColor: {\n values: colorValues,\n transform: createColorMixTransform(\"caretColor\")\n },\n cursor: { values: \"cursor\" }\n }\n});\nconst srMapping = {\n true: {\n position: \"absolute\",\n width: \"1px\",\n height: \"1px\",\n padding: \"0\",\n margin: \"-1px\",\n overflow: \"hidden\",\n clip: \"rect(0, 0, 0, 0)\",\n whiteSpace: \"nowrap\",\n borderWidth: \"0\"\n },\n false: {\n position: \"static\",\n width: \"auto\",\n height: \"auto\",\n padding: \"0\",\n margin: \"0\",\n overflow: \"visible\",\n clip: \"auto\",\n whiteSpace: \"normal\"\n }\n};\n\nexport { defaultBaseConfig, defaultConditions };\n","// src/index.ts\nvar userGeneratedStr = \"\";\nvar userGenerated = userGeneratedStr.split(\",\");\nvar cssPropertiesStr = \"WebkitAppearance,WebkitBorderBefore,WebkitBorderBeforeColor,WebkitBorderBeforeStyle,WebkitBorderBeforeWidth,WebkitBoxReflect,WebkitLineClamp,WebkitMask,WebkitMaskAttachment,WebkitMaskClip,WebkitMaskComposite,WebkitMaskImage,WebkitMaskOrigin,WebkitMaskPosition,WebkitMaskPositionX,WebkitMaskPositionY,WebkitMaskRepeat,WebkitMaskRepeatX,WebkitMaskRepeatY,WebkitMaskSize,WebkitOverflowScrolling,WebkitTapHighlightColor,WebkitTextFillColor,WebkitTextStroke,WebkitTextStrokeColor,WebkitTextStrokeWidth,WebkitTouchCallout,WebkitUserModify,accentColor,alignContent,alignItems,alignSelf,alignTracks,all,animation,animationComposition,animationDelay,animationDirection,animationDuration,animationFillMode,animationIterationCount,animationName,animationPlayState,animationRange,animationRangeEnd,animationRangeStart,animationTimingFunction,animationTimeline,appearance,aspectRatio,azimuth,backdropFilter,backfaceVisibility,background,backgroundAttachment,backgroundBlendMode,backgroundClip,backgroundColor,backgroundImage,backgroundOrigin,backgroundPosition,backgroundPositionX,backgroundPositionY,backgroundRepeat,backgroundSize,blockSize,border,borderBlock,borderBlockColor,borderBlockStyle,borderBlockWidth,borderBlockEnd,borderBlockEndColor,borderBlockEndStyle,borderBlockEndWidth,borderBlockStart,borderBlockStartColor,borderBlockStartStyle,borderBlockStartWidth,borderBottom,borderBottomColor,borderBottomLeftRadius,borderBottomRightRadius,borderBottomStyle,borderBottomWidth,borderCollapse,borderColor,borderEndEndRadius,borderEndStartRadius,borderImage,borderImageOutset,borderImageRepeat,borderImageSlice,borderImageSource,borderImageWidth,borderInline,borderInlineEnd,borderInlineColor,borderInlineStyle,borderInlineWidth,borderInlineEndColor,borderInlineEndStyle,borderInlineEndWidth,borderInlineStart,borderInlineStartColor,borderInlineStartStyle,borderInlineStartWidth,borderLeft,borderLeftColor,borderLeftStyle,borderLeftWidth,borderRadius,borderRight,borderRightColor,borderRightStyle,borderRightWidth,borderSpacing,borderStartEndRadius,borderStartStartRadius,borderStyle,borderTop,borderTopColor,borderTopLeftRadius,borderTopRightRadius,borderTopStyle,borderTopWidth,borderWidth,bottom,boxAlign,boxDecorationBreak,boxDirection,boxFlex,boxFlexGroup,boxLines,boxOrdinalGroup,boxOrient,boxPack,boxShadow,boxSizing,breakAfter,breakBefore,breakInside,captionSide,caret,caretColor,caretShape,clear,clip,clipPath,color,colorScheme,columnCount,columnFill,columnGap,columnRule,columnRuleColor,columnRuleStyle,columnRuleWidth,columnSpan,columnWidth,columns,contain,containIntrinsicSize,containIntrinsicBlockSize,containIntrinsicHeight,containIntrinsicInlineSize,containIntrinsicWidth,container,containerName,containerType,content,contentVisibility,counterIncrement,counterReset,counterSet,cursor,direction,display,emptyCells,filter,flex,flexBasis,flexDirection,flexFlow,flexGrow,flexShrink,flexWrap,float,font,fontFamily,fontFeatureSettings,fontKerning,fontLanguageOverride,fontOpticalSizing,fontPalette,fontVariationSettings,fontSize,fontSizeAdjust,fontSmooth,fontStretch,fontStyle,fontSynthesis,fontSynthesisPosition,fontSynthesisSmallCaps,fontSynthesisStyle,fontSynthesisWeight,fontVariant,fontVariantAlternates,fontVariantCaps,fontVariantEastAsian,fontVariantEmoji,fontVariantLigatures,fontVariantNumeric,fontVariantPosition,fontWeight,forcedColorAdjust,gap,grid,gridArea,gridAutoColumns,gridAutoFlow,gridAutoRows,gridColumn,gridColumnEnd,gridColumnGap,gridColumnStart,gridGap,gridRow,gridRowEnd,gridRowGap,gridRowStart,gridTemplate,gridTemplateAreas,gridTemplateColumns,gridTemplateRows,hangingPunctuation,height,hyphenateCharacter,hyphenateLimitChars,hyphens,imageOrientation,imageRendering,imageResolution,imeMode,initialLetter,initialLetterAlign,inlineSize,inputSecurity,inset,insetBlock,insetBlockEnd,insetBlockStart,insetInline,insetInlineEnd,insetInlineStart,isolation,justifyContent,justifyItems,justifySelf,justifyTracks,left,letterSpacing,lineBreak,lineClamp,lineHeight,lineHeightStep,listStyle,listStyleImage,listStylePosition,listStyleType,margin,marginBlock,marginBlockEnd,marginBlockStart,marginBottom,marginInline,marginInlineEnd,marginInlineStart,marginLeft,marginRight,marginTop,marginTrim,mask,maskBorder,maskBorderMode,maskBorderOutset,maskBorderRepeat,maskBorderSlice,maskBorderSource,maskBorderWidth,maskClip,maskComposite,maskImage,maskMode,maskOrigin,maskPosition,maskRepeat,maskSize,maskType,masonryAutoFlow,mathDepth,mathShift,mathStyle,maxBlockSize,maxHeight,maxInlineSize,maxLines,maxWidth,minBlockSize,minHeight,minInlineSize,minWidth,mixBlendMode,objectFit,objectPosition,offset,offsetAnchor,offsetDistance,offsetPath,offsetPosition,offsetRotate,opacity,order,orphans,outline,outlineColor,outlineOffset,outlineStyle,outlineWidth,overflow,overflowAnchor,overflowBlock,overflowClipBox,overflowClipMargin,overflowInline,overflowWrap,overflowX,overflowY,overlay,overscrollBehavior,overscrollBehaviorBlock,overscrollBehaviorInline,overscrollBehaviorX,overscrollBehaviorY,padding,paddingBlock,paddingBlockEnd,paddingBlockStart,paddingBottom,paddingInline,paddingInlineEnd,paddingInlineStart,paddingLeft,paddingRight,paddingTop,page,pageBreakAfter,pageBreakBefore,pageBreakInside,paintOrder,perspective,perspectiveOrigin,placeContent,placeItems,placeSelf,pointerEvents,position,printColorAdjust,quotes,resize,right,rotate,rowGap,rubyAlign,rubyMerge,rubyPosition,scale,scrollbarColor,scrollbarGutter,scrollbarWidth,scrollBehavior,scrollMargin,scrollMarginBlock,scrollMarginBlockStart,scrollMarginBlockEnd,scrollMarginBottom,scrollMarginInline,scrollMarginInlineStart,scrollMarginInlineEnd,scrollMarginLeft,scrollMarginRight,scrollMarginTop,scrollPadding,scrollPaddingBlock,scrollPaddingBlockStart,scrollPaddingBlockEnd,scrollPaddingBottom,scrollPaddingInline,scrollPaddingInlineStart,scrollPaddingInlineEnd,scrollPaddingLeft,scrollPaddingRight,scrollPaddingTop,scrollSnapAlign,scrollSnapCoordinate,scrollSnapDestination,scrollSnapPointsX,scrollSnapPointsY,scrollSnapStop,scrollSnapType,scrollSnapTypeX,scrollSnapTypeY,scrollTimeline,scrollTimelineAxis,scrollTimelineName,shapeImageThreshold,shapeMargin,shapeOutside,tabSize,tableLayout,textAlign,textAlignLast,textCombineUpright,textDecoration,textDecorationColor,textDecorationLine,textDecorationSkip,textDecorationSkipInk,textDecorationStyle,textDecorationThickness,textEmphasis,textEmphasisColor,textEmphasisPosition,textEmphasisStyle,textIndent,textJustify,textOrientation,textOverflow,textRendering,textShadow,textSizeAdjust,textTransform,textUnderlineOffset,textUnderlinePosition,textWrap,timelineScope,top,touchAction,transform,transformBox,transformOrigin,transformStyle,transition,transitionBehavior,transitionDelay,transitionDuration,transitionProperty,transitionTimingFunction,translate,unicodeBidi,userSelect,verticalAlign,viewTimeline,viewTimelineAxis,viewTimelineInset,viewTimelineName,viewTransitionName,visibility,whiteSpace,whiteSpaceCollapse,widows,width,willChange,wordBreak,wordSpacing,wordWrap,writingMode,zIndex,zoom,alignmentBaseline,baselineShift,clipRule,colorInterpolation,colorRendering,dominantBaseline,fill,fillOpacity,fillRule,floodColor,floodOpacity,glyphOrientationVertical,lightingColor,marker,markerEnd,markerMid,markerStart,shapeRendering,stopColor,stopOpacity,stroke,strokeDasharray,strokeDashoffset,strokeLinecap,strokeLinejoin,strokeMiterlimit,strokeOpacity,strokeWidth,textAnchor,vectorEffect\";\nvar allCssProperties = cssPropertiesStr.split(\",\").concat(userGenerated);\nvar properties = new Map(allCssProperties.map((prop) => [prop, true]));\nfunction memo(fn) {\n const cache = /* @__PURE__ */ Object.create(null);\n return (arg) => {\n if (cache[arg] === void 0)\n cache[arg] = fn(arg);\n return cache[arg];\n };\n}\nvar cssPropertySelectorRegex = /&|@/;\nvar isCssProperty = /* @__PURE__ */ memo((prop) => {\n return properties.has(prop) || prop.startsWith(\"--\") || cssPropertySelectorRegex.test(prop);\n});\nexport {\n allCssProperties,\n isCssProperty\n};\n","\"use strict\";\nimport { isObject } from './is.js';\n\nconst isNotNullish = (element) => element != null;\nfunction walkObject(target, predicate, options = {}) {\n const { stop, getKey } = options;\n function inner(value, path = []) {\n if (isObject(value) || Array.isArray(value)) {\n const result = {};\n for (const [prop, child] of Object.entries(value)) {\n const key = getKey?.(prop, child) ?? prop;\n const childPath = [...path, key];\n if (stop?.(value, childPath)) {\n return predicate(value, path);\n }\n const next = inner(child, childPath);\n if (isNotNullish(next)) {\n result[key] = next;\n }\n }\n return result;\n }\n return predicate(value, path);\n }\n return inner(target);\n}\nfunction mapObject(obj, fn) {\n if (Array.isArray(obj)) return obj.map((value) => fn(value));\n if (!isObject(obj)) {\n if (obj !== null && obj !== void 0) return fn(obj);\n else return obj;\n }\n return walkObject(obj, (value) => fn(value));\n}\n\nexport { mapObject, walkObject };\n","\"use strict\";\nimport { walkObject } from './walk-object.js';\n\nfunction flatten(values, stop) {\n const result = {};\n walkObject(\n values,\n (token, paths) => {\n if (token) {\n result[paths.join(\".\")] = token.value;\n }\n },\n { stop }\n );\n return result;\n}\n\nexport { flatten };\n","\"use strict\";\nconst memo = (fn) => {\n const cache = /* @__PURE__ */ Object.create(null);\n function get(...args) {\n const key = JSON.stringify(args);\n if (cache[key] === void 0) cache[key] = fn(...args);\n return cache[key];\n }\n return get;\n};\n\nexport { memo };\n","\"use strict\";\nconst BASE_FONT_SIZE = 16;\nconst UNIT_PX = \"px\";\nconst UNIT_EM = \"em\";\nconst UNIT_REM = \"rem\";\nfunction getUnit(value = \"\") {\n const DIGIT_REGEX = new RegExp(String.raw`-?\\d+(?:\\.\\d+|\\d*)`);\n const UNIT_REGEX = new RegExp(`${UNIT_PX}|${UNIT_EM}|${UNIT_REM}`);\n const unit = value.match(\n new RegExp(`${DIGIT_REGEX.source}(${UNIT_REGEX.source})`)\n );\n return unit?.[1];\n}\nfunction toPx(value = \"\") {\n if (typeof value === \"number\") {\n return `${value}px`;\n }\n const unit = getUnit(value);\n if (!unit) return value;\n if (unit === UNIT_PX) {\n return value;\n }\n if (unit === UNIT_EM || unit === UNIT_REM) {\n return `${parseFloat(value) * BASE_FONT_SIZE}${UNIT_PX}`;\n }\n}\nfunction toEm(value = \"\", fontSize = BASE_FONT_SIZE) {\n const unit = getUnit(value);\n if (!unit) return value;\n if (unit === UNIT_EM) {\n return value;\n }\n if (unit === UNIT_PX) {\n return `${parseFloat(value) / fontSize}${UNIT_EM}`;\n }\n if (unit === UNIT_REM) {\n return `${parseFloat(value) * BASE_FONT_SIZE / fontSize}${UNIT_EM}`;\n }\n}\nfunction toRem(value = \"\") {\n const unit = getUnit(value);\n if (!unit) return value;\n if (unit === UNIT_REM) {\n return value;\n }\n if (unit === UNIT_EM) {\n return `${parseFloat(value)}${UNIT_REM}`;\n }\n if (unit === UNIT_PX) {\n return `${parseFloat(value) / BASE_FONT_SIZE}${UNIT_REM}`;\n }\n}\n\nexport { getUnit, toEm, toPx, toRem };\n","\"use strict\";\nimport { toRem, toPx } from './unit-conversion.js';\n\nconst capitalize = (str) => str.charAt(0).toUpperCase() + str.slice(1);\nfunction createBreakpoints(breakpoints) {\n const sorted = sort(breakpoints);\n const values = Object.fromEntries(sorted);\n function get(name) {\n return values[name];\n }\n function only(name) {\n return build(get(name));\n }\n function getRanges() {\n const breakpoints2 = Object.keys(values);\n const permuations = getPermutations(breakpoints2);\n const results = breakpoints2.flatMap((name) => {\n const value = get(name);\n const down2 = [\n `${name}Down`,\n build({ max: adjust(value.min) })\n ];\n const up2 = [name, build({ min: value.min })];\n const _only = [`${name}Only`, only(name)];\n return [up2, _only, down2];\n }).filter(([, value]) => value !== \"\").concat(\n permuations.map(([min, max]) => {\n const minValue = get(min);\n const maxValue = get(max);\n return [\n `${min}To${capitalize(max)}`,\n build({ min: minValue.min, max: adjust(maxValue.min) })\n ];\n })\n );\n return Object.fromEntries(results);\n }\n function toConditions() {\n const ranges = getRanges();\n return Object.fromEntries(Object.entries(ranges));\n }\n const conditions = toConditions();\n const getCondition = (key) => {\n return conditions[key];\n };\n function keys() {\n return [\"base\", ...Object.keys(values)];\n }\n function up(name) {\n return build({ min: get(name).min });\n }\n function down(name) {\n return build({ max: adjust(get(name).min) });\n }\n return {\n values: Object.values(values),\n only,\n keys,\n conditions,\n getCondition,\n up,\n down\n };\n}\nfunction adjust(value) {\n const computedMax = parseFloat(toPx(value) ?? \"\") - 0.04;\n return toRem(`${computedMax}px`);\n}\nfunction sort(breakpoints) {\n const entries = Object.entries(breakpoints).sort(([, minA], [, minB]) => {\n return parseInt(minA, 10) < parseInt(minB, 10) ? -1 : 1;\n });\n return entries.map(([name, min], index, entries2) => {\n let max = null;\n if (index <= entries2.length - 1) {\n max = entries2[index + 1]?.[1];\n }\n if (max != null) {\n max = adjust(max);\n }\n return [name, { name, min: toRem(min), max }];\n });\n}\nfunction getPermutations(values) {\n const result = [];\n values.forEach((current, index) => {\n let idx = index;\n idx++;\n let next = values[idx];\n while (next) {\n result.push([current, next]);\n idx++;\n next = values[idx];\n }\n });\n return result;\n}\nfunction build({ min, max }) {\n if (min == null && max == null) return \"\";\n return [\n \"@media screen\",\n min && `(min-width: ${min})`,\n max && `(max-width: ${max})`\n ].filter(Boolean).join(\" and \");\n}\n\nexport { createBreakpoints };\n","\"use strict\";\nconst mapEntries = (obj, fn) => {\n return Object.fromEntries(\n Object.entries(obj).map(([key, value]) => fn(key, value))\n );\n};\nconst createConditions = (options) => {\n const { breakpoints, conditions: conds = {} } = options;\n const conditions = mapEntries(conds, (key, value) => [`_${key}`, value]);\n const values = Object.assign({}, conditions, breakpoints.conditions);\n function keys() {\n return Object.keys(values);\n }\n function has(key) {\n return keys().includes(key) || /^@|&|&$/.test(key) || key.startsWith(\"_\");\n }\n function sort(paths) {\n return paths.filter((v) => v !== \"base\").sort((a, b) => {\n const aa = has(a);\n const bb = has(b);\n if (aa && !bb) return 1;\n if (!aa && bb) return -1;\n return 0;\n });\n }\n function expandAtRule(key) {\n if (!key.startsWith(\"@breakpoint\")) return key;\n return breakpoints.getCondition(key.replace(\"@breakpoint \", \"\"));\n }\n function resolve(key) {\n return Reflect.get(values, key) || key;\n }\n return {\n keys,\n sort,\n has,\n resolve,\n breakpoints: breakpoints.keys(),\n expandAtRule\n };\n};\n\nexport { createConditions };\n","\"use strict\";\nimport { memo } from '../utils/memo.js';\n\nconst createMediaQueryRegex = (dimension) => ({\n minMax: new RegExp(\n `(!?\\\\(\\\\s*min(-device-)?-${dimension})(.|\n)+\\\\(\\\\s*max(-device)?-${dimension}`,\n \"i\"\n ),\n min: new RegExp(`\\\\(\\\\s*min(-device)?-${dimension}`, \"i\"),\n maxMin: new RegExp(\n `(!?\\\\(\\\\s*max(-device)?-${dimension})(.|\n)+\\\\(\\\\s*min(-device)?-${dimension}`,\n \"i\"\n ),\n max: new RegExp(`\\\\(\\\\s*max(-device)?-${dimension}`, \"i\")\n});\nconst widthRegex = createMediaQueryRegex(\"width\");\nconst heightRegex = createMediaQueryRegex(\"height\");\nconst createQueryTester = (regexSet) => ({\n isMin: _testQuery(regexSet.minMax, regexSet.maxMin, regexSet.min),\n isMax: _testQuery(regexSet.maxMin, regexSet.minMax, regexSet.max)\n});\nconst { isMin: isMinWidth, isMax: isMaxWidth } = createQueryTester(widthRegex);\nconst { isMin: isMinHeight, isMax: isMaxHeight } = createQueryTester(heightRegex);\nconst isPrint = /print/i;\nconst isPrintOnly = /^print$/i;\nconst isLength = /(-?\\d*\\.?\\d+)(ch|em|ex|px|rem)/;\nconst lengthExec = /(\\d)/;\nconst maxValue = Number.MAX_VALUE;\nconst multipliers = { ch: 8.8984375, em: 16, rem: 16, ex: 8.296875, px: 1 };\nfunction getQueryLength(query) {\n const length = isLength.exec(query) || (isMinWidth(query) || isMinHeight(query) ? lengthExec.exec(query) : null);\n if (!length) return maxValue;\n if (length[0] === \"0\") return 0;\n const number = parseFloat(length[1]);\n const unit = length[2];\n return number * (multipliers[unit] || 1);\n}\nfunction _testQuery(doubleTestTrue, doubleTestFalse, singleTest) {\n return (query) => doubleTestTrue.test(query) || !doubleTestFalse.test(query) && singleTest.test(query);\n}\nfunction _testIsPrint(a, b) {\n const isPrintA = isPrint.test(a), isPrintOnlyA = isPrintOnly.test(a);\n const isPrintB = isPrint.test(b), isPrintOnlyB = isPrintOnly.test(b);\n if (isPrintA && isPrintB) {\n if (!isPrintOnlyA && isPrintOnlyB) return 1;\n if (isPrintOnlyA && !isPrintOnlyB) return -1;\n return a.localeCompare(b);\n }\n return isPrintA ? 1 : isPrintB ? -1 : null;\n}\nconst sortAtParams = memo((a, b) => {\n const testIsPrint = _testIsPrint(a, b);\n if (testIsPrint !== null) return testIsPrint;\n const minA = isMinWidth(a) || isMinHeight(a), maxA = isMaxWidth(a) || isMaxHeight(a);\n const minB = isMinWidth(b) || isMinHeight(b), maxB = isMaxWidth(b) || isMaxHeight(b);\n if (minA && maxB) return -1;\n if (maxA && minB) return 1;\n const lengthA = getQueryLength(a), lengthB = getQueryLength(b);\n if (lengthA === maxValue && lengthB === maxValue) return a.localeCompare(b);\n if (lengthA === maxValue) return 1;\n if (lengthB === maxValue) return -1;\n if (lengthA !== lengthB) {\n return lengthA > lengthB ? maxA ? -1 : 1 : maxA ? 1 : -1;\n }\n return a.localeCompare(b);\n});\n\nexport { sortAtParams };\n","\"use strict\";\nimport { isObject } from '../utils/is.js';\nimport { sortAtParams } from './sort-at-params.js';\n\nfunction sortQueries(queries) {\n return queries.sort(([a], [b]) => sortAtParams(a, b));\n}\nfunction sortAtRules(obj) {\n const mediaQueries = [];\n const containerQueries = [];\n const rest = {};\n for (const [key, value] of Object.entries(obj)) {\n if (key.startsWith(\"@media\")) {\n mediaQueries.push([key, value]);\n } else if (key.startsWith(\"@container\")) {\n containerQueries.push([key, value]);\n } else if (isObject(value)) {\n rest[key] = sortAtRules(value);\n } else {\n rest[key] = value;\n }\n }\n const sortedMediaQueries = sortQueries(mediaQueries);\n const sortedContainerQueries = sortQueries(containerQueries);\n return {\n ...rest,\n ...Object.fromEntries(sortedMediaQueries),\n ...Object.fromEntries(sortedContainerQueries)\n };\n}\n\nexport { sortAtRules };\n","\"use strict\";\nimport { compact } from '../utils/compact.js';\nimport { isString, isObject } from '../utils/is.js';\nimport { memo } from '../utils/memo.js';\nimport { mergeWith } from '../utils/merge.js';\nimport { walkObject } from '../utils/walk-object.js';\nimport { sortAtRules } from './sort-at-rules.js';\n\nconst importantRegex = /\\s*!(important)?/i;\nconst isImportant = (v) => isString(v) ? importantRegex.test(v) : false;\nconst withoutImportant = (v) => isString(v) ? v.replace(importantRegex, \"\").trim() : v;\nfunction createCssFn(context) {\n const { transform, conditions, normalize } = context;\n const mergeFn = mergeCss(context);\n return memo((...styleArgs) => {\n const styles = mergeFn(...styleArgs);\n const normalized = normalize(styles);\n const result = /* @__PURE__ */ Object.create(null);\n walkObject(normalized, (value, paths) => {\n const important = isImportant(value);\n if (value == null) return;\n const [prop, ...selectors] = conditions.sort(paths).map(conditions.resolve);\n if (important) {\n value = withoutImportant(value);\n }\n let transformed = transform(prop, value) ?? /* @__PURE__ */ Object.create(null);\n transformed = walkObject(\n transformed,\n (v) => isString(v) && important ? `${v} !important` : v,\n { getKey: (prop2) => conditions.expandAtRule(prop2) }\n );\n mergeByPath(result, selectors.flat(), transformed);\n });\n return sortAtRules(result);\n });\n}\nfunction mergeByPath(target, paths, value) {\n let acc = target;\n for (const path of paths) {\n if (!path) continue;\n if (!acc[path]) acc[path] = /* @__PURE__ */ Object.create(null);\n acc = acc[path];\n }\n mergeWith(acc, value);\n}\nfunction compactFn(...styles) {\n return styles.filter(\n (style) => isObject(style) && Object.keys(compact(style)).length > 0\n );\n}\nfunction mergeCss(ctx) {\n function resolve(styles) {\n const comp = compactFn(...styles);\n if (comp.length === 1) return comp;\n return comp.map((style) => ctx.normalize(style));\n }\n return memo((...styles) => {\n return mergeWith({}, ...resolve(styles));\n });\n}\n\nexport { createCssFn };\n","\"use strict\";\nfunction omit(object, keysToOmit = []) {\n const clone = Object.assign({}, object);\n for (const key of keysToOmit) {\n if (key in clone) {\n delete clone[key];\n }\n }\n return clone;\n}\n\nexport { omit };\n","\"use strict\";\nconst uniq = (...items) => {\n const _items = items.filter(Boolean);\n return Array.from(new Set(_items));\n};\n\nexport { uniq };\n","\"use strict\";\nimport { compact } from '../utils/compact.js';\nimport { cx } from '../utils/cx.js';\nimport { mergeWith } from '../utils/merge.js';\nimport { omit } from '../utils/omit.js';\nimport { splitProps } from '../utils/split-props.js';\nimport { uniq } from '../utils/uniq.js';\nimport { createCssFn } from './css.js';\n\nconst defaults = (conf) => ({\n base: {},\n variants: {},\n defaultVariants: {},\n compoundVariants: [],\n ...conf\n});\nfunction createRecipeFn(options) {\n const { css, conditions, normalize, layers } = options;\n function cva(config = {}) {\n const { base, variants, defaultVariants, compoundVariants } = defaults(config);\n const getVariantCss = createCssFn({\n conditions,\n normalize,\n transform(prop, value) {\n return variants[prop]?.[value];\n }\n });\n const resolve = (props = {}) => {\n const variantSelections = normalize({\n ...defaultVariants,\n ...compact(props)\n });\n let variantCss = { ...base };\n mergeWith(variantCss, getVariantCss(variantSelections));\n const compoundVariantCss = getCompoundVariantCss(\n compoundVariants,\n variantSelections\n );\n return layers.wrap(\"recipes\", css(variantCss, compoundVariantCss));\n };\n const variantKeys = Object.keys(variants);\n const splitVariantProps = (props) => {\n const restProps = omit(props, [\"recipe\"]);\n const [recipeProps, localProps] = splitProps(restProps, variantKeys);\n if (!variantKeys.includes(\"colorPalette\")) {\n recipeProps.colorPalette = props.colorPalette || defaultVariants.colorPalette;\n }\n if (variantKeys.includes(\"orientation\")) {\n localProps.orientation = props.orientation;\n }\n return [recipeProps, localProps];\n };\n const variantMap = Object.fromEntries(\n Object.entries(variants).map(([key, value]) => [\n key,\n Object.keys(value)\n ])\n );\n const cvaFn = (props) => css(resolve(props));\n return Object.assign(cvaFn, {\n className: config.className,\n __cva__: true,\n variantMap,\n variantKeys,\n raw: resolve,\n config,\n splitVariantProps,\n merge(other) {\n return cva(mergeCva(options)(this, other));\n }\n });\n }\n function getCompoundVariantCss(cvs, vm) {\n let result = {};\n cvs.forEach((cv) => {\n const isMatching = Object.entries(cv).every(([key, value]) => {\n if (key === \"css\") return true;\n const values = Array.isArray(value) ? value : [value];\n return values.some((value2) => vm[key] === value2);\n });\n if (isMatching) {\n result = css(result, cv.css);\n }\n });\n return result;\n }\n return cva;\n}\nfunction mergeCva(opts) {\n const { css } = opts;\n return function mergeCva2(cvaA, cvaB) {\n const override = defaults(cvaB.config);\n const variantKeys = uniq(cvaA.variantKeys, Object.keys(cvaB.variants));\n const base = css(cvaA.base, override.base);\n const variants = Object.fromEntries(\n variantKeys.map((key) => [\n key,\n css(cvaA.config.variants[key], override.variants[key])\n ])\n );\n const defaultVariants = mergeWith(\n cvaA.config.defaultVariants,\n override.defaultVariants\n );\n const compoundVariants = [\n ...cvaA.compoundVariants,\n ...override.compoundVariants\n ];\n const className = cx(cvaA.className, cvaB.className);\n return {\n className,\n base,\n variants,\n defaultVariants,\n compoundVariants\n };\n };\n}\n\nexport { createRecipeFn };\n","\"use strict\";\nconst defaultLayers = {\n reset: \"reset\",\n base: \"base\",\n tokens: \"tokens\",\n recipes: \"recipes\"\n};\nconst layerOrder = {\n reset: 0,\n base: 1,\n tokens: 2,\n recipes: 3\n};\nfunction createLayers(config) {\n const layers = config.layers ?? defaultLayers;\n const values = Object.values(layers);\n const names = values.sort((a, b) => layerOrder[a] - layerOrder[b]);\n return {\n names,\n atRule: `@layer ${names.join(\", \")};`,\n wrap(layer, styles) {\n if (config.disableLayers) return styles;\n const params = layers[layer];\n return { [`@layer ${params}`]: styles };\n }\n };\n}\n\nexport { createLayers };\n","\"use strict\";\nimport { walkObject } from '../utils/walk-object.js';\n\nfunction createNormalizeFn(context) {\n const { utility, normalize } = context;\n const { hasShorthand, resolveShorthand } = utility;\n return function(styles) {\n return walkObject(styles, normalize, {\n stop: (value) => Array.isArray(value),\n getKey: hasShorthand ? resolveShorthand : void 0\n });\n };\n}\n\nexport { createNormalizeFn };\n","\"use strict\";\nimport { isObject } from '../utils/is.js';\n\nfunction createPreflight(options) {\n const { preflight } = options;\n if (!preflight) return {};\n const { scope = \"\", level = \"parent\" } = isObject(preflight) ? preflight : {};\n let selector = \"\";\n if (scope && level === \"parent\") {\n selector = `${scope} `;\n } else if (scope && level === \"element\") {\n selector = `&${scope}`;\n }\n const scoped = {\n \"*\": {\n margin: \"0px\",\n padding: \"0px\",\n font: \"inherit\",\n wordWrap: \"break-word\",\n WebkitTapHighlightColor: \"transparent\"\n },\n \"*, *::before, *::after, *::backdrop\": {\n boxSizing: \"border-box\",\n borderWidth: \"0px\",\n borderStyle: \"solid\",\n borderColor: \"var(--global-color-border, currentColor)\"\n },\n hr: {\n height: \"0px\",\n color: \"inherit\",\n borderTopWidth: \"1px\"\n },\n body: {\n minHeight: \"100dvh\",\n position: \"relative\"\n },\n img: {\n borderStyle: \"none\"\n },\n \"img, svg, video, canvas, audio, iframe, embed, object\": {\n display: \"block\",\n verticalAlign: \"middle\"\n },\n iframe: { border: \"none\" },\n \"img, video\": { maxWidth: \"100%\", height: \"auto\" },\n \"p, h1, h2, h3, h4, h5, h6\": { overflowWrap: \"break-word\" },\n \"ol, ul\": { listStyle: \"none\" },\n \"code, kbd, pre, samp\": { fontSize: \"1em\" },\n \"button, [type='button'], [type='reset'], [type='submit']\": {\n WebkitAppearance: \"button\",\n backgroundColor: \"transparent\",\n backgroundImage: \"none\"\n },\n \"button, input, optgroup, select, textarea\": { color: \"inherit\" },\n \"button, select\": { textTransform: \"none\" },\n table: {\n textIndent: \"0px\",\n borderColor: \"inherit\",\n borderCollapse: \"collapse\"\n },\n \"*::placeholder\": {\n opacity: \"unset\",\n color: \"#9ca3af\",\n userSelect: \"none\"\n },\n textarea: {\n resize: \"vertical\"\n },\n summary: {\n display: \"list-item\"\n },\n small: {\n fontSize: \"80%\"\n },\n \"sub, sup\": {\n fontSize: \"75%\",\n lineHeight: 0,\n position: \"relative\",\n verticalAlign: \"baseline\"\n },\n sub: {\n bottom: \"-0.25em\"\n },\n sup: {\n top: \"-0.5em\"\n },\n dialog: {\n padding: \"0px\"\n },\n a: {\n color: \"inherit\",\n textDecoration: \"inherit\"\n },\n \"abbr:where([title])\": {\n textDecoration: \"underline dotted\"\n },\n \"b, strong\": {\n fontWeight: \"bolder\"\n },\n \"code, kbd, samp, pre\": {\n fontSize: \"1em\",\n \"--font-mono-fallback\": \"ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New'\",\n fontFamily: \"var(--global-font-mono, var(--font-mono-fallback))\"\n },\n 'input[type=\"text\"], input[type=\"email\"], input[type=\"search\"], input[type=\"password\"]': {\n WebkitAppearance: \"none\",\n MozAppearance: \"none\"\n },\n \"input[type='search']\": {\n WebkitAppearance: \"textfield\",\n outlineOffset: \"-2px\"\n },\n \"::-webkit-search-decoration, ::-webkit-search-cancel-button\": {\n WebkitAppearance: \"none\"\n },\n \"::-webkit-file-upload-button\": {\n WebkitAppearance: \"button\",\n font: \"inherit\"\n },\n 'input[type=\"number\"]::-webkit-inner-spin-button, input[type=\"number\"]::-webkit-outer-spin-button': {\n height: \"auto\"\n },\n \"input[type='number']\": {\n MozAppearance: \"textfield\"\n },\n \":-moz-ui-invalid\": {\n boxShadow: \"none\"\n },\n \":-moz-focusring\": {\n outline: \"auto\"\n },\n \"[hidden]:where(:not([hidden='until-found']))\": {\n display: \"none !important\"\n }\n };\n const preflightCss = {\n [scope || \"html\"]: {\n lineHeight: 1.5,\n \"--font-fallback\": \"ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans', sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji'\",\n WebkitTextSizeAdjust: \"100%\",\n WebkitFontSmoothing: \"antialiased\",\n MozOsxFontSmoothing: \"grayscale\",\n textRendering: \"optimizeLegibility\",\n touchAction: \"manipulation\",\n MozTabSize: \"4\",\n tabSize: \"4\",\n fontFamily: \"var(--global-font-body, var(--font-fallback))\"\n }\n };\n if (level === \"element\") {\n const modified = Object.entries(scoped).reduce((acc, [k, v]) => {\n acc[k] = { [selector]: v };\n return acc;\n }, {});\n Object.assign(preflightCss, modified);\n } else if (selector) {\n preflightCss[selector] = scoped;\n } else {\n Object.assign(preflightCss, scoped);\n }\n return preflightCss;\n}\n\nexport { createPreflight };\n","\"use strict\";\nimport { isObject } from '../utils/is.js';\nimport { walkObject } from '../utils/walk-object.js';\n\nfunction createSerializeFn(options) {\n const { conditions, isValidProperty } = options;\n return function serialize(styles) {\n return walkObject(styles, (value) => value, {\n getKey: (prop, value) => {\n if (!isObject(value)) return prop;\n if (!conditions.has(prop) && !isValidProperty(prop)) {\n return parseSelectors(prop).map((s) => \"&\" + s).join(\", \");\n }\n return prop;\n }\n });\n };\n}\nfunction parseSelectors(selector) {\n const result = [];\n let parenCount = 0;\n let currentSelector = \"\";\n let inEscape = false;\n for (let i = 0; i < selector.length; i++) {\n const char = selector[i];\n if (char === \"\\\\\" && !inEscape) {\n inEscape = true;\n currentSelector += char;\n continue;\n }\n if (inEscape) {\n inEscape = false;\n currentSelector += char;\n continue;\n }\n if (char === \"(\") {\n parenCount++;\n } else if (char === \")\") {\n parenCount--;\n }\n if (char === \",\" && parenCount === 0) {\n result.push(currentSelector.trim());\n currentSelector = \"\";\n } else {\n currentSelector += char;\n }\n }\n if (currentSelector) {\n result.push(currentSelector.trim());\n }\n return result;\n}\n\nexport { createSerializeFn };\n","\"use strict\";\nimport { omit } from '../utils/omit.js';\nimport { splitProps } from '../utils/split-props.js';\n\nconst getSlotRecipes = (config = {}) => {\n const init = (slot) => ({\n base: config.base?.[slot] ?? {},\n variants: {},\n defaultVariants: config.defaultVariants ?? {},\n compoundVariants: config.compoundVariants ? getSlotCompoundVariant(config.compoundVariants, slot) : []\n });\n const slots = config.slots ?? [];\n const entries = slots.map((slot) => [slot, init(slot)]);\n for (const [variantsKey, variantsSpec] of Object.entries(\n config.variants ?? {}\n )) {\n for (const [variantKey, variantSpec] of Object.entries(\n variantsSpec\n )) {\n entries.forEach(([slot, slotRecipe]) => {\n var _a;\n (_a = slotRecipe.variants)[variantsKey] ?? (_a[variantsKey] = {});\n slotRecipe.variants[variantsKey][variantKey] = variantSpec[slot] ?? {};\n });\n }\n }\n return Object.fromEntries(entries);\n};\nconst getSlotCompoundVariant = (compoundVariants, slotName) => compoundVariants.filter((compoundVariant) => compoundVariant.css[slotName]).map((compoundVariant) => ({\n ...compoundVariant,\n css: compoundVariant.css[slotName]\n}));\nfunction createSlotRecipeFn(options) {\n const { cva } = options;\n return function sva(config = {}) {\n const slots = Object.entries(getSlotRecipes(config)).map(\n ([slot, slotCva]) => [slot, cva(slotCva)]\n );\n function svaFn(props) {\n const result = slots.map(([slot, cvaFn]) => [slot, cvaFn(props)]);\n return Object.fromEntries(result);\n }\n const variants = config.variants ?? {};\n const variantKeys = Object.keys(variants);\n function splitVariantProps(props) {\n const restProps = omit(props, [\"recipe\"]);\n const [recipeProps, localProps] = splitProps(restProps, variantKeys);\n if (!variantKeys.includes(\"colorPalette\")) {\n recipeProps.colorPalette = props.colorPalette || config.defaultVariants?.colorPalette;\n }\n if (variantKeys.includes(\"orientation\")) {\n localProps.orientation = props.orientation;\n }\n return [recipeProps, localProps];\n }\n const variantMap = Object.fromEntries(\n Object.entries(variants).map(([key, value]) => [key, Object.keys(value)])\n );\n let classNameMap = {};\n if (config.className) {\n classNameMap = Object.fromEntries(\n config.slots.map((slot) => [\n slot,\n `${config.className}__${slot}`\n ])\n );\n }\n return Object.assign(svaFn, {\n variantMap,\n variantKeys,\n splitVariantProps,\n classNameMap\n });\n };\n}\n\nexport { createSlotRecipeFn, getSlotCompoundVariant };\n","\"use strict\";\nconst createProps = () => (props) => Array.from(new Set(props));\n\nexport { createProps };\n","\"use strict\";\nconst rcssescape = /([\\0-\\x1f\\x7f]|^-?\\d)|^-$|^-|[^\\x80-\\uFFFF\\w-]/g;\nconst fcssescape = function(ch, asCodePoint) {\n if (!asCodePoint) return \"\\\\\" + ch;\n if (ch === \"\\0\") return \"\\uFFFD\";\n if (ch === \"-\" && ch.length === 1) return \"\\\\-\";\n return ch.slice(0, -1) + \"\\\\\" + ch.charCodeAt(ch.length - 1).toString(16);\n};\nconst esc = (sel) => {\n return (sel + \"\").replace(rcssescape, fcssescape);\n};\n\nexport { esc };\n","\"use strict\";\nimport { esc } from './esc.js';\n\nconst expandTokenReferences = (str, resolve) => {\n let expanded = \"\";\n let index = 0;\n let state = \"char\";\n let tokenPath = \"\";\n let fallback = \"\";\n const currentStates = [];\n while (index < str.length) {\n const char = str[index];\n if (char === \"{\") {\n const endIndex = str.indexOf(\"}\", index);\n if (endIndex === -1) {\n break;\n }\n const path = str.slice(index + 1, endIndex);\n const resolved = resolve(path);\n expanded += resolved ?? path;\n index = endIndex + 1;\n continue;\n }\n if (state === \"token\") {\n if (char === \",\") {\n if (str[index] === \"\") {\n index++;\n }\n state = \"fallback\";\n currentStates.push(state);\n const resolved = resolve(tokenPath);\n if (resolved?.endsWith(\")\")) {\n expanded += resolved.slice(0, -1);\n }\n tokenPath = \"\";\n fallback = \"\";\n continue;\n }\n }\n if (state === \"fallback\") {\n const nextFallback = fallback + char;\n if (nextFallback === \", var(\") {\n const innerEndIndex = cssVarParser(str.slice(index + 1));\n const endIndex = innerEndIndex + index + 1;\n const cssVar = str.slice(index + 1, endIndex);\n if (endIndex === -1) {\n break;\n }\n expanded += \", var(\" + cssVar + \")\";\n index = endIndex + 1;\n state = currentStates.pop() ?? state;\n fallback = \"\";\n continue;\n }\n }\n if (state === \"token\" || state === \"fallback\") {\n index++;\n if (char === \")\") {\n state = currentStates.pop() ?? state ?? \"char\";\n fallback += char;\n const resolved = tokenPath ? resolve(tokenPath) ?? esc(tokenPath) : tokenPath;\n if (fallback) {\n fallback = fallback.slice(1).trim();\n if (!fallback.startsWith(\"token(\") && fallback.endsWith(\")\")) {\n fallback = fallback.slice(0, -1);\n }\n if (fallback.includes(\"token(\")) {\n const parsed = expandTokenReferences(fallback, resolve);\n if (parsed) {\n fallback = parsed.slice(0, -1);\n }\n } else if (fallback) {\n const resolvedFallback = resolve(fallback);\n if (resolvedFallback) {\n fallback = resolvedFallback;\n }\n }\n }\n const lastChar = expanded.at(-1);\n if (fallback) {\n if (lastChar?.trim()) {\n expanded += resolved.slice(0, -1) + (\", \" + fallback + \")\");\n } else {\n expanded += fallback;\n }\n } else {\n expanded += resolved || \")\";\n }\n tokenPath = \"\";\n fallback = \"\";\n state = \"char\";\n continue;\n }\n if (state === \"token\") {\n tokenPath += char;\n }\n if (state === \"fallback\") {\n fallback += char;\n }\n continue;\n }\n const tokenIndex = str.indexOf(\"token(\", index);\n if (tokenIndex !== -1) {\n const innerTokenIndex = tokenIndex + \"token(\".length;\n expanded += str.slice(index, tokenIndex);\n index = innerTokenIndex;\n state = \"token\";\n currentStates.push(state);\n continue;\n }\n expanded += char;\n index++;\n }\n return expanded;\n};\nconst cssVarParser = (str) => {\n let index = 0;\n const openedParenthesises = [\"(\"];\n while (index < str.length) {\n const char = str[index];\n if (char === \"(\") {\n openedParenthesises.push(char);\n } else if (char === \")\") {\n openedParenthesises.pop();\n if (openedParenthesises.length === 0) {\n return index;\n }\n }\n index++;\n }\n return index;\n};\n\nexport { expandTokenReferences };\n","\"use strict\";\nfunction mapToJson(map) {\n const obj = {};\n map.forEach((value, key) => {\n if (value instanceof Map) {\n obj[key] = Object.fromEntries(value);\n } else {\n obj[key] = value;\n }\n });\n return obj;\n}\n\nexport { mapToJson };\n","\"use strict\";\nimport { isString } from '../utils/is.js';\n\nconst REFERENCE_REGEX = /({([^}]*)})/g;\nconst CURLY_REGEX = /[{}]/g;\nconst TOKEN_PATH_REGEX = /\\w+\\.\\w+/;\nconst getReferences = (value) => {\n if (!isString(value)) return [];\n const matches = value.match(REFERENCE_REGEX);\n if (!matches) return [];\n return matches.map((match) => match.replace(CURLY_REGEX, \"\")).map((value2) => value2.trim());\n};\nconst hasReference = (value) => REFERENCE_REGEX.test(value);\nfunction expandReferences(token) {\n if (!token.extensions?.references) {\n return token.extensions?.cssVar?.ref ?? token.value;\n }\n const references = token.extensions.references ?? {};\n token.value = Object.keys(references).reduce((valueStr, key) => {\n const referenceToken = references[key];\n if (referenceToken.extensions.conditions) {\n return valueStr;\n }\n const value = expandReferences(referenceToken);\n return valueStr.replace(`{${key}}`, value);\n }, token.value);\n delete token.extensions.references;\n return token.value;\n}\n\nexport { TOKEN_PATH_REGEX, expandReferences, getReferences, hasReference };\n","\"use strict\";\nimport { isObject } from '../utils/is.js';\n\nfunction resolveReference(operand) {\n if (isObject(operand) && operand.reference) {\n return operand.reference;\n }\n return String(operand);\n}\nconst toExpression = (operator, ...operands) => operands.map(resolveReference).join(` ${operator} `).replace(/calc/g, \"\");\nconst add = (...operands) => `calc(${toExpression(\"+\", ...operands)})`;\nconst subtract = (...operands) => `calc(${toExpression(\"-\", ...operands)})`;\nconst multiply = (...operands) => `calc(${toExpression(\"*\", ...operands)})`;\nconst divide = (...operands) => `calc(${toExpression(\"/\", ...operands)})`;\nconst negate = (x) => {\n const value = resolveReference(x);\n if (value != null && !Number.isNaN(parseFloat(value))) {\n return String(value).startsWith(\"-\") ? String(value).slice(1) : `-${value}`;\n }\n return multiply(value, -1);\n};\nconst calc = Object.assign(\n (x) => ({\n add: (...operands) => calc(add(x, ...operands)),\n subtract: (...operands) => calc(subtract(x, ...operands)),\n multiply: (...operands) => calc(multiply(x, ...operands)),\n divide: (...operands) => calc(divide(x, ...operands)),\n negate: () => calc(negate(x)),\n toString: () => x.toString()\n }),\n {\n add,\n subtract,\n multiply,\n divide,\n negate\n }\n);\n\nexport { calc };\n","\"use strict\";\nimport { isString } from '../utils/is.js';\nimport { calc } from './calc.js';\nimport { toPx } from './unit-conversion.js';\n\nconst addNegativeTokens = {\n enforce: \"pre\",\n transform(dictionary) {\n const { prefix, allTokens, formatCssVar, formatTokenName, registerToken } = dictionary;\n const tokens = allTokens.filter(\n ({ extensions }) => extensions.category === \"spacing\"\n );\n tokens.forEach((token) => {\n const originalPath = token.path.slice();\n const originalVar = formatCssVar(originalPath, prefix);\n if (isString(token.value) && token.value === \"0rem\") {\n return;\n }\n const nextToken = structuredClone(token);\n Object.assign(nextToken.extensions, {\n negative: true,\n prop: `-${token.extensions.prop}`,\n originalPath\n });\n nextToken.value = calc.negate(originalVar.ref);\n const lastPath = nextToken.path[nextToken.path.length - 1];\n if (lastPath != null) {\n nextToken.path[nextToken.path.length - 1] = `-${lastPath}`;\n }\n if (nextToken.path) {\n nextToken.name = formatTokenName(nextToken.path);\n }\n registerToken(nextToken);\n });\n }\n};\nconst units = /* @__PURE__ */ new Set([\n \"spacing\",\n \"sizes\",\n \"borderWidths\",\n \"fontSizes\",\n \"radii\"\n]);\nconst addPixelUnit = {\n enforce: \"post\",\n transform(dictionary) {\n const tokens = dictionary.allTokens.filter((token) => {\n return units.has(token.extensions.category) && !token.extensions.negative;\n });\n tokens.forEach((token) => {\n Object.assign(token.extensions, {\n pixelValue: toPx(token.value)\n });\n });\n }\n};\nconst addVirtualPalette = {\n enforce: \"post\",\n transform(dictionary) {\n const { allTokens, registerToken, formatTokenName } = dictionary;\n const tokens = allTokens.filter(\n ({ extensions }) => extensions.category === \"colors\"\n );\n const keys = /* @__PURE__ */ new Map();\n const colorPalettes = /* @__PURE__ */ new Map();\n tokens.forEach((token) => {\n const { colorPalette } = token.extensions;\n if (!colorPalette) return;\n colorPalette.keys.forEach((keyPath) => {\n keys.set(formatTokenName(keyPath), keyPath);\n });\n colorPalette.roots.forEach((colorPaletteRoot) => {\n const name = formatTokenName(colorPaletteRoot);\n const colorPaletteList = colorPalettes.get(name) || [];\n colorPaletteList.push(token);\n colorPalettes.set(name, colorPaletteList);\n if (token.extensions.default && colorPaletteRoot.length === 1) {\n const keyPath = colorPalette.keys[0]?.filter(Boolean);\n if (!keyPath.length) return;\n const path = colorPaletteRoot.concat(keyPath);\n keys.set(formatTokenName(path), []);\n }\n });\n });\n keys.forEach((segments) => {\n const path = [\"colors\", \"colorPalette\", ...segments].filter(Boolean);\n const name = formatTokenName(path);\n const prop = formatTokenName(path.slice(1));\n const token = {\n name,\n value: name,\n originalValue: name,\n path,\n extensions: {\n condition: \"base\",\n originalPath: path,\n category: \"colors\",\n prop,\n virtual: true\n }\n };\n registerToken(token, \"pre\");\n });\n }\n};\nconst removeEmptyTokens = {\n enforce: \"post\",\n transform(dictionary) {\n dictionary.allTokens = dictionary.allTokens.filter(\n (token) => token.value !== \"\"\n );\n }\n};\nconst tokenMiddlewares = [\n addNegativeTokens,\n addVirtualPalette,\n addPixelUnit,\n removeEmptyTokens\n];\n\nexport { addNegativeTokens, addPixelUnit, addVirtualPalette, removeEmptyTokens, tokenMiddlewares };\n","\"use strict\";\nimport { getReferences } from './references.js';\n\nconst addCssVariables = {\n type: \"extensions\",\n enforce: \"pre\",\n name: \"tokens/css-var\",\n transform(token, dictionary) {\n const { prefix, formatCssVar } = dictionary;\n const { negative, originalPath } = token.extensions;\n const path = negative ? originalPath : token.path;\n return {\n cssVar: formatCssVar(path.filter(Boolean), prefix)\n };\n }\n};\nconst addConditionalCssVariables = {\n enforce: \"post\",\n type: \"value\",\n name: \"tokens/conditionals\",\n transform(token, dictionary) {\n const { prefix, formatCssVar } = dictionary;\n const refs = getReferences(token.value);\n if (!refs.length) return token.value;\n refs.forEach((ref) => {\n const variable = formatCssVar(ref.split(\".\"), prefix);\n token.value = token.value.replace(`{${variable.ref}}`, variable);\n });\n return token.value;\n }\n};\nconst addColorPalette = {\n type: \"extensions\",\n enforce: \"pre\",\n name: \"tokens/colors/colorPalette\",\n match(token) {\n return token.extensions.category === \"colors\" && !token.extensions.virtual;\n },\n transform(token, dict) {\n let path = token.path.slice();\n path.pop();\n path.shift();\n if (path.length === 0) {\n const newPath = [...token.path];\n newPath.shift();\n path = newPath;\n }\n if (path.length === 0) {\n return {};\n }\n const roots = path.reduce((acc, _, i, arr) => {\n const next = arr.slice(0, i + 1);\n acc.push(next);\n return acc;\n }, []);\n const root = path[0];\n const value = dict.formatTokenName(path);\n const keys = token.path.slice(token.path.indexOf(root) + 1).reduce((acc, _, i, arr) => {\n acc.push(arr.slice(i));\n return acc;\n }, []);\n if (keys.length === 0) {\n keys.push([\"\"]);\n }\n return {\n colorPalette: { value, roots, keys }\n };\n }\n};\nconst tokenTransforms = [\n addCssVariables,\n addConditionalCssVariables,\n addColorPalette\n];\n\nexport { addColorPalette, addConditionalCssVariables, addCssVariables, tokenTransforms };\n","\"use strict\";\nimport { compact } from '../utils/compact.js';\nimport { createProps } from '../utils/create-props.js';\nimport { isString, isObject, isFunction } from '../utils/is.js';\nimport { memo } from '../utils/memo.js';\nimport { mapObject, walkObject } from '../utils/walk-object.js';\nimport { cssVar } from './css-var.js';\nimport { esc } from './esc.js';\nimport { expandTokenReferences } from './expand-reference.js';\nimport { mapToJson } from './map-to-json.js';\nimport { TOKEN_PATH_REGEX, hasReference, expandReferences, getReferences } from './references.js';\nimport { tokenMiddlewares } from './token-middleware.js';\nimport { tokenTransforms } from './token-transforms.js';\n\nconst isToken = (value) => {\n return isObject(value) && Object.prototype.hasOwnProperty.call(value, \"value\");\n};\nfunction expandBreakpoints(breakpoints) {\n if (!breakpoints) return { breakpoints: {}, sizes: {} };\n return {\n breakpoints: mapObject(breakpoints, (value) => ({ value })),\n sizes: Object.fromEntries(\n Object.entries(breakpoints).map(([key, value]) => [\n `breakpoint-${key}`,\n { value }\n ])\n )\n };\n}\nfunction createTokenDictionary(options) {\n const {\n prefix = \"\",\n tokens = {},\n semanticTokens = {},\n breakpoints = {}\n } = options;\n const formatTokenName = (path) => path.join(\".\");\n const formatCssVar = (path, prefix2) => cssVar(path.join(\"-\"), { prefix: prefix2 });\n const allTokens = [];\n const tokenNameMap = /* @__PURE__ */ new Map();\n const conditionMap = /* @__PURE__ */ new Map();\n const cssVarMap = /* @__PURE__ */ new Map();\n const colorPaletteMap = /* @__PURE__ */ new Map();\n const flatMap = /* @__PURE__ */ new Map();\n const byCategory = /* @__PURE__ */ new Map();\n const categoryMap = /* @__PURE__ */ new Map();\n const transforms = /* @__PURE__ */ new Map();\n const middlewares = [];\n function registerToken(token, phase) {\n allTokens.push(token);\n tokenNameMap.set(token.name, token);\n if (phase) {\n transforms.forEach((fn) => {\n if (fn.enforce === phase) transformToken(fn, token);\n });\n }\n }\n const breakpointTokens = expandBreakpoints(breakpoints);\n const computedTokens = compact({\n ...tokens,\n breakpoints: breakpointTokens.breakpoints,\n sizes: {\n ...tokens.sizes,\n ...breakpointTokens.sizes\n }\n });\n function registerTokens() {\n walkObject(\n computedTokens,\n (entry, path) => {\n const isDefault = path.includes(\"DEFAULT\");\n path = filterDefault(path);\n const category = path[0];\n const name = formatTokenName(path);\n const t = isString(entry) ? { value: entry } : entry;\n const token = {\n value: t.value,\n originalValue: t.value,\n name,\n path,\n extensions: {\n condition: \"base\",\n originalPath: path,\n category,\n prop: formatTokenName(path.slice(1))\n }\n };\n if (isDefault) {\n token.extensions.default = true;\n }\n registerToken(token);\n },\n { stop: isToken }\n );\n walkObject(\n semanticTokens,\n (entry, path) => {\n const isDefault = path.includes(\"DEFAULT\");\n path = filterBaseCondition(filterDefault(path));\n const category = path[0];\n const name = formatTokenName(path);\n const t = isString(entry.value) ? { value: { base: entry.value } } : entry;\n const token = {\n value: t.value.base || \"\",\n originalValue: t.value.base || \"\",\n name,\n path,\n extensions: {\n originalPath: path,\n category,\n conditions: t.value,\n condition: \"base\",\n prop: formatTokenName(path.slice(1))\n }\n };\n if (isDefault) {\n token.extensions.default = true;\n }\n registerToken(token);\n },\n { stop: isToken }\n );\n }\n function getByName(name) {\n return tokenNameMap.get(name);\n }\n function buildConditionMap(token) {\n const { condition } = token.extensions;\n if (!condition) return;\n if (!conditionMap.has(condition)) {\n conditionMap.set(condition, /* @__PURE__ */ new Set());\n }\n conditionMap.get(condition).add(token);\n }\n function buildCategoryMap(token) {\n const { category, prop } = token.extensions;\n if (!category) return;\n if (!categoryMap.has(category)) {\n categoryMap.set(category, /* @__PURE__ */ new Map());\n }\n categoryMap.get(category).set(prop, token);\n }\n function buildCssVars(token) {\n const { condition, negative, virtual, cssVar: cssVar2 } = token.extensions;\n if (negative || virtual || !condition || !cssVar2) return;\n if (!cssVarMap.has(condition)) {\n cssVarMap.set(condition, /* @__PURE__ */ new Map());\n }\n cssVarMap.get(condition).set(cssVar2.var, token.value);\n }\n function buildFlatMap(token) {\n const { category, prop, cssVar: cssVar2, negative } = token.extensions;\n if (!category) return;\n if (!byCategory.has(category)) {\n byCategory.set(category, /* @__PURE__ */ new Map());\n }\n const value = negative ? token.extensions.conditions ? token.originalValue : token.value : cssVar2.ref;\n byCategory.get(category).set(prop, value);\n flatMap.set([category, prop].join(\".\"), value);\n }\n function buildColorPalette(token) {\n const { colorPalette, virtual, default: isDefault } = token.extensions;\n if (!colorPalette || virtual) return;\n colorPalette.roots.forEach((root) => {\n const name = formatTokenName(root);\n if (!colorPaletteMap.has(name)) {\n colorPaletteMap.set(name, /* @__PURE__ */ new Map());\n }\n const virtualPath = replaceRootWithColorPalette(\n [...token.path],\n [...root]\n );\n const virtualName = formatTokenName(virtualPath);\n const virtualToken = getByName(virtualName);\n if (!virtualToken || !virtualToken.extensions.cssVar) return;\n const { var: virtualVar } = virtualToken.extensions.cssVar;\n colorPaletteMap.get(name).set(virtualVar, token.extensions.cssVar.ref);\n if (isDefault && root.length === 1) {\n const colorPaletteName = formatTokenName([\"colors\", \"colorPalette\"]);\n const colorPaletteToken = getByName(colorPaletteName);\n if (!colorPaletteToken) return;\n const name2 = formatTokenName(token.path);\n const virtualToken2 = getByName(name2);\n if (!virtualToken2) return;\n const keyPath = colorPalette.keys[0]?.filter(Boolean);\n if (!keyPath.length) return;\n const computedName = formatTokenName(root.concat(keyPath));\n if (!colorPaletteMap.has(computedName)) {\n colorPaletteMap.set(computedName, /* @__PURE__ */ new Map());\n }\n colorPaletteMap.get(computedName).set(\n colorPaletteToken.extensions.cssVar.var,\n virtualToken2.extensions.cssVar.ref\n );\n }\n });\n }\n let byCategoryJson = {};\n function setupViews() {\n allTokens.forEach((token) => {\n buildConditionMap(token);\n buildCategoryMap(token);\n buildCssVars(token);\n buildFlatMap(token);\n buildColorPalette(token);\n });\n byCategoryJson = mapToJson(byCategory);\n }\n const colorMix = (value, tokenFn) => {\n if (!value || typeof value !== \"string\") return { invalid: true, value };\n const [colorPath, rawOpacity] = value.split(\"/\");\n if (!colorPath || !rawOpacity) {\n return { invalid: true, value: colorPath };\n }\n const colorToken = tokenFn(colorPath);\n const opacityToken = getByName(`opacity.${rawOpacity}`)?.value;\n if (!opacityToken && isNaN(Number(rawOpacity))) {\n return { invalid: true, value: colorPath };\n }\n const percent = opacityToken ? Number(opacityToken) * 100 + \"%\" : `${rawOpacity}%`;\n const color = colorToken ?? colorPath;\n return {\n invalid: false,\n color,\n value: `color-mix(in srgb, ${color} ${percent}, transparent)`\n };\n };\n const getVar = memo((value, fallback) => {\n return flatMap.get(value) ?? fallback;\n });\n const getCategoryValues = memo((category) => {\n return byCategoryJson[category] || null;\n });\n const expandReferenceInValue = memo((value) => {\n return expandTokenReferences(value, (path) => {\n if (!path) return;\n if (path.includes(\"/\")) {\n const mix = colorMix(path, (v) => getVar(v));\n if (mix.invalid) {\n throw new Error(\"Invalid color mix at \" + path + \": \" + mix.value);\n }\n return mix.value;\n }\n const resolved = getVar(path);\n if (resolved) return resolved;\n return TOKEN_PATH_REGEX.test(path) ? esc(path) : path;\n });\n });\n const dictionary = {\n prefix,\n allTokens,\n tokenMap: tokenNameMap,\n registerToken,\n getByName,\n formatTokenName,\n formatCssVar,\n flatMap,\n cssVarMap,\n categoryMap,\n colorPaletteMap,\n getVar,\n getCategoryValues,\n expandReferenceInValue\n };\n function registerTransform(...fns) {\n fns.forEach((fn) => {\n transforms.set(fn.name, fn);\n });\n }\n function registerMiddleware(...fns) {\n middlewares.push(...fns);\n }\n function transformToken(transform, token) {\n if (token.extensions.references) return;\n if (isFunction(transform.match) && !transform.match(token)) return;\n const fn = (v) => transform.transform(v, dictionary);\n const transformed = fn(token);\n switch (true) {\n case transform.type === \"extensions\":\n Object.assign(token.extensions, transformed);\n break;\n case transform.type === \"value\":\n token.value = transformed;\n break;\n default:\n token[transform.type] = transformed;\n break;\n }\n }\n function applyMiddlewares(enforce) {\n middlewares.forEach((middleware) => {\n if (middleware.enforce === enforce) {\n middleware.transform(dictionary);\n }\n });\n }\n function applyTransforms(enforce) {\n transforms.forEach((transform) => {\n if (transform.enforce === enforce) {\n allTokens.forEach((token) => {\n transformToken(transform, token);\n });\n }\n });\n }\n function addConditionalTokens() {\n allTokens.forEach((token) => {\n const tokens2 = getConditionalTokens(token);\n if (!tokens2 || tokens2.length === 0) return;\n tokens2.forEach((token2) => {\n registerToken(token2);\n });\n });\n }\n function getTokenReferences(value) {\n const refs = getReferences(value);\n return refs.map((ref) => getByName(ref)).filter(Boolean);\n }\n function addReferences() {\n allTokens.forEach((token) => {\n if (!hasReference(token.value)) return;\n const references = getTokenReferences(token.value);\n token.extensions.references = references.reduce((acc, ref) => {\n acc[ref.name] = ref;\n return acc;\n }, {});\n });\n }\n function expandTokenReferences$1() {\n allTokens.forEach((token) => {\n expandReferences(token);\n });\n }\n function build() {\n applyMiddlewares(\"pre\");\n applyTransforms(\"pre\");\n addConditionalTokens();\n addReferences();\n expandTokenReferences$1();\n applyMiddlewares(\"post\");\n applyTransforms(\"post\");\n setupViews();\n }\n registerTokens();\n registerTransform(...tokenTransforms);\n registerMiddleware(...tokenMiddlewares);\n build();\n return dictionary;\n}\nfunction filterDefault(path) {\n if (path[0] === \"DEFAULT\") return path;\n return path.filter((item) => item !== \"DEFAULT\");\n}\nfunction filterBaseCondition(path) {\n return path.filter((item) => item !== \"base\");\n}\nfunction getConditionalTokens(token) {\n if (!token.extensions.conditions) return;\n const { conditions } = token.extensions;\n const tokens = [];\n walkObject(conditions, (value, path) => {\n const nextPath = filterBaseCondition(path);\n if (!nextPath.length) return;\n const nextToken = structuredClone(token);\n nextToken.value = value;\n nextToken.extensions.condition = nextPath.join(\":\");\n tokens.push(nextToken);\n });\n return tokens;\n}\nfunction replaceRootWithColorPalette(path, roots) {\n const startIndex = path.findIndex(\n (_, index) => roots.every(\n (rootElement, rootIndex) => path[index + rootIndex] === rootElement\n )\n );\n if (startIndex === -1) {\n return path;\n }\n path.splice(startIndex, roots.length);\n path.splice(startIndex, 0, \"colorPalette\");\n return path;\n}\nconst tokenCategories = createProps()([\n \"aspectRatios\",\n \"zIndex\",\n \"opacity\",\n \"colors\",\n \"fonts\",\n \"fontSizes\",\n \"fontWeights\",\n \"lineHeights\",\n \"letterSpacings\",\n \"sizes\",\n \"shadows\",\n \"spacing\",\n \"radii\",\n \"cursor\",\n \"borders\",\n \"borderWidths\",\n \"borderStyles\",\n \"durations\",\n \"easings\",\n \"animations\",\n \"blurs\",\n \"gradients\",\n \"breakpoints\",\n \"assets\"\n]);\n\nexport { createTokenDictionary, tokenCategories };\n","\"use strict\";\nimport { isString, isFunction } from '../utils/is.js';\nimport { memo } from '../utils/memo.js';\nimport { colorMix } from './color-mix.js';\nimport { mapToJson } from './map-to-json.js';\n\nfunction normalize(config) {\n return config;\n}\nfunction normalizeConfig(config) {\n return Object.fromEntries(\n Object.entries(config).map(([property, propertyConfig]) => {\n return [property, normalize(propertyConfig)];\n })\n );\n}\nfunction createUtility(options) {\n const configs = normalizeConfig(options.config);\n const tokens = options.tokens;\n const shorthands = /* @__PURE__ */ new Map();\n const propValues = /* @__PURE__ */ new Map();\n function register(property, config) {\n configs[property] = normalize(config);\n assignProperty(property, config);\n }\n const assignProperty = (property, config) => {\n const values = getPropertyValues(config);\n if (!values) return;\n propValues.set(property, values);\n assignPropertyType(property, config);\n };\n const assignProperties = () => {\n for (const [prop, config] of Object.entries(configs)) {\n if (!config) continue;\n assignProperty(prop, config);\n }\n };\n const assignShorthands = () => {\n for (const [property, config] of Object.entries(configs)) {\n const { shorthand } = config ?? {};\n if (!shorthand) continue;\n const values = Array.isArray(shorthand) ? shorthand : [shorthand];\n values.forEach((name) => shorthands.set(name, property));\n }\n };\n const assignColorPaletteProperty = () => {\n const values = mapToJson(tokens.colorPaletteMap);\n register(\"colorPalette\", {\n values: Object.keys(values),\n transform: memo((value) => values[value])\n });\n };\n const propTypes = /* @__PURE__ */ new Map();\n const assignPropertyType = (property, config) => {\n if (!config) return;\n const values = getPropertyValues(config, (key) => `type:Tokens[\"${key}\"]`);\n if (typeof values === \"object\" && values.type) {\n propTypes.set(property, /* @__PURE__ */ new Set([`type:${values.type}`]));\n return;\n }\n if (values) {\n const keys2 = new Set(Object.keys(values));\n propTypes.set(property, keys2);\n }\n const set = propTypes.get(property) ?? /* @__PURE__ */ new Set();\n if (config.property) {\n propTypes.set(property, set.add(`CssProperties[\"${config.property}\"]`));\n }\n };\n const assignPropertyTypes = () => {\n for (const [property, propertyConfig] of Object.entries(configs)) {\n if (!propertyConfig) continue;\n assignPropertyType(property, propertyConfig);\n }\n };\n const addPropertyType = (property, type) => {\n const set = propTypes.get(property) ?? /* @__PURE__ */ new Set();\n propTypes.set(property, /* @__PURE__ */ new Set([...set, ...type]));\n };\n const getTypes = () => {\n const map = /* @__PURE__ */ new Map();\n for (const [prop, values] of propTypes.entries()) {\n if (values.size === 0) {\n map.set(prop, [\"string\"]);\n continue;\n }\n const typeValues = Array.from(values).map((key) => {\n if (key.startsWith(\"CssProperties\")) return key;\n if (key.startsWith(\"type:\")) return key.replace(\"type:\", \"\");\n return JSON.stringify(key);\n });\n map.set(prop, typeValues);\n }\n return map;\n };\n const getPropertyValues = (config, resolveFn) => {\n const { values } = config;\n const fn = (key) => {\n const value = resolveFn?.(key);\n return value ? { [value]: value } : void 0;\n };\n if (isString(values)) {\n return fn?.(values) ?? tokens.getCategoryValues(values) ?? {};\n }\n if (Array.isArray(values)) {\n return values.reduce((result, value) => {\n result[value] = value;\n return result;\n }, {});\n }\n if (isFunction(values)) {\n return values(resolveFn ? fn : tokens.getCategoryValues);\n }\n return values;\n };\n const defaultTransform = memo((prop, value) => {\n return {\n [prop]: prop.startsWith(\"--\") ? tokens.getVar(value, value) : value\n };\n });\n const tokenFn = Object.assign(tokens.getVar, {\n raw: (path) => tokens.getByName(path)\n });\n const transform = memo((prop, raw) => {\n const key = resolveShorthand(prop);\n if (isString(raw) && !raw.includes(\"_EMO_\")) {\n raw = tokens.expandReferenceInValue(raw);\n }\n const config = configs[key];\n if (!config) {\n return defaultTransform(key, raw);\n }\n const value = propValues.get(key)?.[raw];\n if (!config.transform) {\n return defaultTransform(prop, value ?? raw);\n }\n const _colorMix = (value2) => colorMix(value2, tokenFn);\n return config.transform(value ?? raw, {\n raw,\n token: tokenFn,\n utils: { colorMix: _colorMix }\n });\n });\n function build() {\n assignShorthands();\n assignColorPaletteProperty();\n assignProperties();\n assignPropertyTypes();\n }\n build();\n const hasShorthand = shorthands.size > 0;\n const resolveShorthand = memo((prop) => {\n return shorthands.get(prop) ?? prop;\n });\n const keys = () => {\n return [...Array.from(shorthands.keys()), ...Object.keys(configs)];\n };\n const instance = {\n keys,\n hasShorthand,\n transform,\n shorthands,\n resolveShorthand,\n register,\n getTypes,\n addPropertyType\n };\n return instance;\n}\n\nexport { createUtility };\n","\"use strict\";\nimport { isCssProperty } from '@pandacss/is-valid-prop';\nimport { compact } from '../utils/compact.js';\nimport { flatten } from '../utils/flatten.js';\nimport { isObject } from '../utils/is.js';\nimport { memo } from '../utils/memo.js';\nimport { mergeWith } from '../utils/merge.js';\nimport { splitProps } from '../utils/split-props.js';\nimport { createBreakpoints } from './breakpoints.js';\nimport { createConditions } from './conditions.js';\nimport { mergeConfigs } from './config.js';\nimport { createCssFn } from './css.js';\nimport { createRecipeFn } from './cva.js';\nimport { createLayers } from './layers.js';\nimport { createNormalizeFn } from './normalize.js';\nimport { createPreflight } from './preflight.js';\nimport { createSerializeFn } from './serialize.js';\nimport { createSlotRecipeFn } from './sva.js';\nimport { createTokenDictionary } from './token-dictionary.js';\nimport { createUtility } from './utility.js';\n\nfunction createSystem(...configs) {\n const config = mergeConfigs(...configs);\n const {\n theme = {},\n utilities = {},\n globalCss = {},\n cssVarsRoot = \":where(:root, :host)\",\n cssVarsPrefix = \"chakra\",\n preflight\n } = config;\n const layers = createLayers(config);\n const tokens = createTokenDictionary({\n breakpoints: theme.breakpoints,\n tokens: theme.tokens,\n semanticTokens: theme.semanticTokens,\n prefix: cssVarsPrefix\n });\n const breakpoints = createBreakpoints(theme.breakpoints ?? {});\n const conditions = createConditions({\n conditions: config.conditions ?? {},\n breakpoints\n });\n const utility = createUtility({\n config: utilities,\n tokens\n });\n function assignComposition() {\n const { textStyles, layerStyles, animationStyles } = theme;\n const compositions = compact({\n textStyle: textStyles,\n layerStyle: layerStyles,\n animationStyle: animationStyles\n });\n for (const [key, values] of Object.entries(compositions)) {\n const flatValues = flatten(\n values ?? {},\n (v) => isObject(v) && \"value\" in v\n );\n utility.register(key, {\n values: Object.keys(flatValues),\n transform(value) {\n return css(flatValues[value]);\n }\n });\n }\n }\n assignComposition();\n utility.addPropertyType(\"animationName\", Object.keys(theme.keyframes ?? {}));\n const properties = /* @__PURE__ */ new Set([\"css\", ...utility.keys(), ...conditions.keys()]);\n const isValidProperty = memo(\n (prop) => properties.has(prop) || isCssProperty(prop)\n );\n const normalizeValue = (value) => {\n if (Array.isArray(value)) {\n return value.reduce((acc, current, index) => {\n const key = conditions.breakpoints[index];\n if (current != null) acc[key] = current;\n return acc;\n }, {});\n }\n return value;\n };\n const normalizeFn = createNormalizeFn({\n utility,\n normalize: normalizeValue\n });\n const serialize = createSerializeFn({\n conditions,\n isValidProperty\n });\n const css = createCssFn({\n transform: utility.transform,\n conditions,\n normalize: normalizeFn\n });\n const cva = createRecipeFn({\n css,\n conditions,\n normalize: normalizeFn,\n layers\n });\n const sva = createSlotRecipeFn({ cva });\n function getTokenCss() {\n const result = {};\n for (const [key, values] of tokens.cssVarMap.entries()) {\n const varsObj = Object.fromEntries(values);\n if (Object.keys(varsObj).length === 0) continue;\n const selector = key === \"base\" ? cssVarsRoot : conditions.resolve(key);\n const cssObject = css(serialize({ [selector]: varsObj }));\n mergeWith(result, cssObject);\n }\n return layers.wrap(\"tokens\", result);\n }\n function getGlobalCss() {\n const keyframes = Object.fromEntries(\n Object.entries(theme.keyframes ?? {}).map(([key, value]) => [\n `@keyframes ${key}`,\n value\n ])\n );\n const result = Object.assign({}, keyframes, css(serialize(globalCss)));\n return layers.wrap(\"base\", result);\n }\n function splitCssProps(props) {\n return splitProps(props, isValidProperty);\n }\n function getPreflightCss() {\n const result = createPreflight({ preflight });\n return layers.wrap(\"reset\", result);\n }\n const tokenMap = getTokenMap(tokens);\n const tokenFn = (path, fallback) => {\n return tokenMap.get(path)?.value || fallback;\n };\n tokenFn.var = (path, fallback) => {\n return tokenMap.get(path)?.variable || fallback;\n };\n function getRecipe(key, fallback) {\n return theme.recipes?.[key] ?? fallback;\n }\n function getSlotRecipe(key, fallback) {\n return theme.slotRecipes?.[key] ?? fallback;\n }\n function isRecipe(key) {\n return Object.hasOwnProperty.call(theme.recipes ?? {}, key);\n }\n function isSlotRecipe(key) {\n return Object.hasOwnProperty.call(theme.slotRecipes ?? {}, key);\n }\n function hasRecipe(key) {\n return isRecipe(key) || isSlotRecipe(key);\n }\n return {\n $$chakra: true,\n _config: config,\n breakpoints,\n tokens,\n conditions,\n utility,\n token: tokenFn,\n properties,\n layers,\n isValidProperty,\n splitCssProps,\n normalizeValue,\n getTokenCss,\n getGlobalCss,\n getPreflightCss,\n css,\n cva,\n sva,\n getRecipe,\n getSlotRecipe,\n hasRecipe,\n isRecipe,\n isSlotRecipe\n };\n}\nfunction getTokenMap(tokens) {\n const map = /* @__PURE__ */ new Map();\n tokens.allTokens.forEach((token) => {\n const { cssVar, virtual, conditions } = token.extensions;\n const value = !!conditions || virtual ? cssVar.ref : token.value;\n map.set(token.name, { value, variable: cssVar.ref });\n });\n return map;\n}\nconst isValidSystem = (mod) => {\n return isObject(mod) && !!Reflect.get(mod, \"$$chakra\");\n};\n\nexport { createSystem, isValidSystem };\n","\"use strict\";\nconst breakpoints = {\n sm: \"480px\",\n md: \"768px\",\n lg: \"1024px\",\n xl: \"1280px\",\n \"2xl\": \"1536px\"\n};\n\nexport { breakpoints };\n","\"use strict\";\nimport { defineGlobalStyles } from '../styled-system/config.js';\n\nconst empty = \"var(--chakra-empty,/*!*/ /*!*/)\";\nconst globalCss = defineGlobalStyles({\n \"*\": {\n fontFeatureSettings: '\"cv11\"',\n \"--ring-inset\": empty,\n \"--ring-offset-width\": \"0px\",\n \"--ring-offset-color\": \"#fff\",\n \"--ring-color\": \"rgba(66, 153, 225, 0.6)\",\n \"--ring-offset-shadow\": \"0 0 #0000\",\n \"--ring-shadow\": \"0 0 #0000\",\n ...Object.fromEntries(\n [\n \"brightness\",\n \"contrast\",\n \"grayscale\",\n \"hue-rotate\",\n \"invert\",\n \"saturate\",\n \"sepia\",\n \"drop-shadow\"\n ].map((prop) => [`--${prop}`, empty])\n ),\n ...Object.fromEntries(\n [\n \"blur\",\n \"brightness\",\n \"contrast\",\n \"grayscale\",\n \"hue-rotate\",\n \"invert\",\n \"opacity\",\n \"saturate\",\n \"sepia\"\n ].map((prop) => [`--backdrop-${prop}`, empty])\n ),\n \"--global-font-mono\": \"fonts.mono\",\n \"--global-font-body\": \"fonts.body\",\n \"--global-color-border\": \"colors.border\"\n },\n html: {\n color: \"fg\",\n bg: \"bg\",\n lineHeight: \"1.5\",\n colorPalette: \"gray\"\n },\n \"*::placeholder\": {\n color: \"fg.muted/80\"\n },\n \"*::selection\": {\n bg: \"colorPalette.muted/80\"\n }\n});\n\nexport { globalCss };\n","\"use strict\";\nimport { defineLayerStyles } from '../styled-system/config.js';\n\nconst layerStyles = defineLayerStyles({\n // fill: some background color + color combination\n \"fill.muted\": {\n value: {\n background: \"colorPalette.muted\",\n color: \"colorPalette.fg\"\n }\n },\n \"fill.subtle\": {\n value: {\n background: \"colorPalette.subtle\",\n color: \"colorPalette.fg\"\n }\n },\n \"fill.surface\": {\n value: {\n background: \"colorPalette.subtle\",\n color: \"colorPalette.fg\",\n boxShadow: \"0 0 0px 1px var(--shadow-color)\",\n boxShadowColor: \"colorPalette.muted\"\n }\n },\n \"fill.solid\": {\n value: {\n background: \"colorPalette.solid\",\n color: \"colorPalette.contrast\"\n }\n },\n // outline: some border color + color combination\n \"outline.subtle\": {\n value: {\n color: \"colorPalette.fg\",\n boxShadow: \"inset 0 0 0px 1px var(--shadow-color)\",\n boxShadowColor: \"colorPalette.subtle\"\n }\n },\n \"outline.solid\": {\n value: {\n borderWidth: \"1px\",\n borderColor: \"colorPalette.solid\",\n color: \"colorPalette.fg\"\n }\n },\n // indicator: floating border color or left/bottom border\n \"indicator.bottom\": {\n value: {\n position: \"relative\",\n \"--indicator-color-fallback\": \"colors.colorPalette.solid\",\n _before: {\n content: `\"\"`,\n position: \"absolute\",\n bottom: \"var(--indicator-offset-y, 0)\",\n insetInline: \"var(--indicator-offset-x, 0)\",\n height: \"var(--indicator-thickness, 2px)\",\n background: \"var(--indicator-color, var(--indicator-color-fallback))\"\n }\n }\n },\n \"indicator.top\": {\n value: {\n position: \"relative\",\n \"--indicator-color-fallback\": \"colors.colorPalette.solid\",\n _before: {\n content: `\"\"`,\n position: \"absolute\",\n top: \"var(--indicator-offset-y, 0)\",\n insetInline: \"var(--indicator-offset-x, 0)\",\n height: \"var(--indicator-thickness, 2px)\",\n background: \"var(--indicator-color, var(--indicator-color-fallback))\"\n }\n }\n },\n \"indicator.start\": {\n value: {\n position: \"relative\",\n \"--indicator-color-fallback\": \"colors.colorPalette.solid\",\n _before: {\n content: `\"\"`,\n position: \"absolute\",\n insetInlineStart: \"var(--indicator-offset-x, 0)\",\n insetBlock: \"var(--indicator-offset-y, 0)\",\n width: \"var(--indicator-thickness, 2px)\",\n background: \"var(--indicator-color, var(--indicator-color-fallback))\"\n }\n }\n },\n \"indicator.end\": {\n value: {\n position: \"relative\",\n \"--indicator-color-fallback\": \"colors.colorPalette.solid\",\n _before: {\n content: `\"\"`,\n position: \"absolute\",\n insetInlineEnd: \"var(--indicator-offset-x, 0)\",\n insetBlock: \"var(--indicator-offset-y, 0)\",\n width: \"var(--indicator-thickness, 2px)\",\n background: \"var(--indicator-color, var(--indicator-color-fallback))\"\n }\n }\n },\n disabled: {\n value: {\n opacity: \"0.5\",\n cursor: \"not-allowed\"\n }\n },\n none: {\n value: {}\n }\n});\n\nexport { layerStyles };\n","\"use strict\";\nimport { defineAnimationStyles } from '../styled-system/config.js';\n\nconst animationStyles = defineAnimationStyles({\n \"slide-fade-in\": {\n value: {\n transformOrigin: \"var(--transform-origin)\",\n \"&[data-placement^=top]\": {\n animationName: \"slide-from-bottom, fade-in\"\n },\n \"&[data-placement^=bottom]\": {\n animationName: \"slide-from-top, fade-in\"\n },\n \"&[data-placement^=left]\": {\n animationName: \"slide-from-right, fade-in\"\n },\n \"&[data-placement^=right]\": {\n animationName: \"slide-from-left, fade-in\"\n }\n }\n },\n \"slide-fade-out\": {\n value: {\n transformOrigin: \"var(--transform-origin)\",\n \"&[data-placement^=top]\": {\n animationName: \"slide-to-bottom, fade-out\"\n },\n \"&[data-placement^=bottom]\": {\n animationName: \"slide-to-top, fade-out\"\n },\n \"&[data-placement^=left]\": {\n animationName: \"slide-to-right, fade-out\"\n },\n \"&[data-placement^=right]\": {\n animationName: \"slide-to-left, fade-out\"\n }\n }\n },\n \"scale-fade-in\": {\n value: {\n transformOrigin: \"var(--transform-origin)\",\n animationName: \"scale-in, fade-in\"\n }\n },\n \"scale-fade-out\": {\n value: {\n transformOrigin: \"var(--transform-origin)\",\n animationName: \"scale-out, fade-out\"\n }\n }\n});\n\nexport { animationStyles };\n","\"use strict\";\nimport { defineRecipe } from '../../styled-system/config.js';\n\nconst badgeRecipe = defineRecipe({\n className: \"chakra-badge\",\n base: {\n display: \"inline-flex\",\n alignItems: \"center\",\n borderRadius: \"l2\",\n gap: \"1\",\n fontWeight: \"medium\",\n fontVariantNumeric: \"tabular-nums\",\n whiteSpace: \"nowrap\",\n userSelect: \"none\"\n },\n variants: {\n variant: {\n solid: {\n bg: \"colorPalette.solid\",\n color: \"colorPalette.contrast\"\n },\n subtle: {\n bg: \"colorPalette.subtle\",\n color: \"colorPalette.fg\"\n },\n outline: {\n color: \"colorPalette.fg\",\n shadow: \"inset 0 0 0px 1px var(--shadow-color)\",\n shadowColor: \"colorPalette.muted\"\n },\n surface: {\n bg: \"colorPalette.subtle\",\n color: \"colorPalette.fg\",\n shadow: \"inset 0 0 0px 1px var(--shadow-color)\",\n shadowColor: \"colorPalette.muted\"\n },\n plain: {\n color: \"colorPalette.fg\"\n }\n },\n size: {\n xs: {\n textStyle: \"2xs\",\n px: \"1\",\n minH: \"4\"\n },\n sm: {\n textStyle: \"xs\",\n px: \"1.5\",\n minH: \"5\"\n },\n md: {\n textStyle: \"sm\",\n px: \"2\",\n minH: \"6\"\n },\n lg: {\n textStyle: \"sm\",\n px: \"2.5\",\n minH: \"7\"\n }\n }\n },\n defaultVariants: {\n variant: \"subtle\",\n size: \"sm\"\n }\n});\n\nexport { badgeRecipe };\n","\"use strict\";\nimport { defineRecipe } from '../../styled-system/config.js';\n\nconst buttonRecipe = defineRecipe({\n className: \"chakra-button\",\n base: {\n display: \"inline-flex\",\n appearance: \"none\",\n alignItems: \"center\",\n justifyContent: \"center\",\n userSelect: \"none\",\n position: \"relative\",\n borderRadius: \"l2\",\n whiteSpace: \"nowrap\",\n verticalAlign: \"middle\",\n borderWidth: \"1px\",\n borderColor: \"transparent\",\n cursor: \"button\",\n flexShrink: \"0\",\n outline: \"0\",\n lineHeight: \"1.2\",\n isolation: \"isolate\",\n fontWeight: \"medium\",\n transitionProperty: \"common\",\n transitionDuration: \"moderate\",\n focusVisibleRing: \"outside\",\n _disabled: {\n layerStyle: \"disabled\"\n },\n _icon: {\n flexShrink: \"0\"\n }\n },\n variants: {\n size: {\n \"2xs\": {\n h: \"6\",\n minW: \"6\",\n textStyle: \"xs\",\n px: \"2\",\n gap: \"1\",\n _icon: {\n width: \"3.5\",\n height: \"3.5\"\n }\n },\n xs: {\n h: \"8\",\n minW: \"8\",\n textStyle: \"xs\",\n px: \"2.5\",\n gap: \"1\",\n _icon: {\n width: \"4\",\n height: \"4\"\n }\n },\n sm: {\n h: \"9\",\n minW: \"9\",\n px: \"3.5\",\n textStyle: \"sm\",\n gap: \"2\",\n _icon: {\n width: \"4\",\n height: \"4\"\n }\n },\n md: {\n h: \"10\",\n minW: \"10\",\n textStyle: \"sm\",\n px: \"4\",\n gap: \"2\",\n _icon: {\n width: \"5\",\n height: \"5\"\n }\n },\n lg: {\n h: \"11\",\n minW: \"11\",\n textStyle: \"md\",\n px: \"5\",\n gap: \"3\",\n _icon: {\n width: \"5\",\n height: \"5\"\n }\n },\n xl: {\n h: \"12\",\n minW: \"12\",\n textStyle: \"md\",\n px: \"5\",\n gap: \"2.5\",\n _icon: {\n width: \"5\",\n height: \"5\"\n }\n },\n \"2xl\": {\n h: \"16\",\n minW: \"16\",\n textStyle: \"lg\",\n px: \"7\",\n gap: \"3\",\n _icon: {\n width: \"6\",\n height: \"6\"\n }\n }\n },\n variant: {\n solid: {\n bg: \"colorPalette.solid\",\n color: \"colorPalette.contrast\",\n _hover: {\n bg: \"colorPalette.solid/90\"\n },\n _expanded: {\n bg: \"colorPalette.solid/90\"\n }\n },\n subtle: {\n bg: \"colorPalette.subtle\",\n color: \"colorPalette.fg\",\n _hover: {\n bg: \"colorPalette.muted\"\n },\n _expanded: {\n bg: \"colorPalette.muted\"\n }\n },\n surface: {\n bg: \"colorPalette.subtle\",\n color: \"colorPalette.fg\",\n shadow: \"0 0 0px 1px var(--shadow-color)\",\n shadowColor: \"colorPalette.muted\",\n _hover: {\n bg: \"colorPalette.muted\"\n },\n _expanded: {\n bg: \"colorPalette.muted\"\n }\n },\n outline: {\n borderWidth: \"1px\",\n borderColor: \"colorPalette.muted\",\n color: \"colorPalette.fg\",\n _hover: {\n bg: \"colorPalette.subtle\"\n },\n _expanded: {\n bg: \"colorPalette.subtle\"\n }\n },\n ghost: {\n color: \"colorPalette.fg\",\n _hover: {\n bg: \"colorPalette.subtle\"\n },\n _expanded: {\n bg: \"colorPalette.subtle\"\n }\n },\n plain: {\n color: \"colorPalette.fg\"\n }\n }\n },\n defaultVariants: {\n size: \"md\",\n variant: \"solid\"\n }\n});\n\nexport { buttonRecipe };\n","\"use strict\";\nimport { defineRecipe } from '../../styled-system/config.js';\n\nconst checkmarkRecipe = defineRecipe({\n className: \"chakra-checkmark\",\n base: {\n display: \"inline-flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n flexShrink: \"0\",\n color: \"white\",\n borderWidth: \"1px\",\n borderColor: \"transparent\",\n borderRadius: \"l1\",\n focusVisibleRing: \"outside\",\n _icon: {\n boxSize: \"full\"\n },\n _invalid: {\n colorPalette: \"red\",\n borderColor: \"border.error\"\n },\n _disabled: {\n opacity: \"0.5\"\n }\n },\n variants: {\n size: {\n xs: {\n boxSize: \"3\"\n },\n sm: {\n boxSize: \"4\"\n },\n md: {\n boxSize: \"5\",\n p: \"0.5\"\n },\n lg: {\n boxSize: \"6\",\n p: \"0.5\"\n }\n },\n variant: {\n solid: {\n borderColor: \"border\",\n \"&:is([data-state=checked], [data-state=indeterminate])\": {\n bg: \"colorPalette.solid\",\n color: \"colorPalette.contrast\",\n borderColor: \"colorPalette.solid\"\n }\n },\n outline: {\n borderColor: \"border\",\n \"&:is([data-state=checked], [data-state=indeterminate])\": {\n color: \"colorPalette.fg\",\n borderColor: \"colorPalette.solid\"\n }\n },\n subtle: {\n bg: \"colorPalette.muted\",\n borderColor: \"colorPalette.muted\",\n \"&:is([data-state=checked], [data-state=indeterminate])\": {\n color: \"colorPalette.fg\"\n }\n },\n plain: {\n \"&:is([data-state=checked], [data-state=indeterminate])\": {\n color: \"colorPalette.fg\"\n }\n },\n inverted: {\n borderColor: \"border\",\n color: \"colorPalette.fg\",\n \"&:is([data-state=checked], [data-state=indeterminate])\": {\n borderColor: \"colorPalette.solid\"\n }\n }\n }\n },\n defaultVariants: {\n variant: \"solid\",\n size: \"md\"\n }\n});\n\nexport { checkmarkRecipe };\n","\"use strict\";\nimport { defineRecipe } from '../../styled-system/config.js';\nimport { badgeRecipe } from './badge.js';\n\nconst { variants, defaultVariants } = badgeRecipe;\nconst codeRecipe = defineRecipe({\n className: \"chakra-code\",\n base: {\n fontFamily: \"mono\",\n alignItems: \"center\",\n display: \"inline-flex\",\n borderRadius: \"l2\"\n },\n variants,\n defaultVariants\n});\n\nexport { codeRecipe };\n","\"use strict\";\nimport { defineRecipe } from '../../styled-system/config.js';\n\nconst colorSwatchRecipe = defineRecipe({\n className: \"color-swatch\",\n base: {\n boxSize: \"var(--swatch-size)\",\n shadow: \"inset 0 0 0 1px rgba(0, 0, 0, 0.1)\",\n \"--checker-size\": \"8px\",\n \"--checker-bg\": \"colors.bg\",\n \"--checker-fg\": \"colors.bg.emphasized\",\n background: \"linear-gradient(var(--color), var(--color)), repeating-conic-gradient(var(--checker-fg) 0%, var(--checker-fg) 25%, var(--checker-bg) 0%, var(--checker-bg) 50%) 0% 50% / var(--checker-size) var(--checker-size) !important\",\n display: \"inline-flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n flexShrink: \"0\"\n },\n variants: {\n size: {\n \"2xs\": { \"--swatch-size\": \"sizes.3.5\" },\n xs: { \"--swatch-size\": \"sizes.4\" },\n sm: { \"--swatch-size\": \"sizes.4.5\" },\n md: { \"--swatch-size\": \"sizes.5\" },\n lg: { \"--swatch-size\": \"sizes.6\" },\n xl: { \"--swatch-size\": \"sizes.7\" },\n \"2xl\": { \"--swatch-size\": \"sizes.8\" },\n inherit: { \"--swatch-size\": \"inherit\" },\n full: { \"--swatch-size\": \"100%\" }\n },\n shape: {\n square: { borderRadius: \"none\" },\n circle: { borderRadius: \"full\" },\n rounded: { borderRadius: \"l1\" }\n }\n },\n defaultVariants: {\n size: \"md\",\n shape: \"rounded\"\n }\n});\n\nexport { colorSwatchRecipe };\n","\"use strict\";\nimport { defineRecipe } from '../../styled-system/config.js';\n\nconst containerRecipe = defineRecipe({\n className: \"chakra-container\",\n base: {\n position: \"relative\",\n maxWidth: \"8xl\",\n w: \"100%\",\n mx: \"auto\",\n px: { base: \"4\", md: \"6\", lg: \"8\" }\n },\n variants: {\n centerContent: {\n true: {\n display: \"flex\",\n flexDirection: \"column\",\n alignItems: \"center\"\n }\n },\n fluid: {\n true: {\n maxWidth: \"full\"\n }\n }\n }\n});\n\nexport { containerRecipe };\n","\"use strict\";\nimport { defineRecipe } from '../../styled-system/config.js';\n\nconst headingRecipe = defineRecipe({\n className: \"chakra-heading\",\n base: {\n fontFamily: \"heading\",\n fontWeight: \"semibold\"\n },\n variants: {\n size: {\n xs: { textStyle: \"xs\" },\n sm: { textStyle: \"sm\" },\n md: { textStyle: \"md\" },\n lg: { textStyle: \"lg\" },\n xl: { textStyle: \"xl\" },\n \"2xl\": { textStyle: \"2xl\" },\n \"3xl\": { textStyle: \"3xl\" },\n \"4xl\": { textStyle: \"4xl\" },\n \"5xl\": { textStyle: \"5xl\" },\n \"6xl\": { textStyle: \"6xl\" },\n \"7xl\": { textStyle: \"7xl\" }\n }\n },\n defaultVariants: {\n size: \"xl\"\n }\n});\n\nexport { headingRecipe };\n","\"use strict\";\nimport { defineRecipe } from '../../styled-system/config.js';\n\nconst iconRecipe = defineRecipe({\n className: \"chakra-icon\",\n base: {\n display: \"inline-block\",\n lineHeight: \"1em\",\n flexShrink: \"0\",\n color: \"currentcolor\",\n verticalAlign: \"middle\",\n width: \"var(--icon-size)\",\n height: \"var(--icon-size)\"\n },\n variants: {\n size: {\n inherit: { \"--icon-size\": \"1em\" },\n xs: { \"--icon-size\": \"sizes.3\" },\n sm: { \"--icon-size\": \"sizes.4\" },\n md: { \"--icon-size\": \"sizes.5\" },\n lg: { \"--icon-size\": \"sizes.6\" },\n xl: { \"--icon-size\": \"sizes.7\" },\n \"2xl\": { \"--icon-size\": \"sizes.8\" }\n }\n },\n defaultVariants: {\n size: \"inherit\"\n }\n});\n\nexport { iconRecipe };\n","\"use strict\";\nimport { defineRecipe } from '../../styled-system/config.js';\n\nconst inputRecipe = defineRecipe({\n className: \"chakra-input\",\n base: {\n width: \"100%\",\n minWidth: \"0\",\n outline: \"0\",\n position: \"relative\",\n appearance: \"none\",\n textAlign: \"start\",\n borderRadius: \"l2\",\n _disabled: {\n layerStyle: \"disabled\"\n },\n height: \"var(--input-height)\",\n minW: \"var(--input-height)\",\n \"--focus-color\": \"colors.colorPalette.focusRing\",\n \"--error-color\": \"colors.border.error\",\n _invalid: {\n focusRingColor: \"var(--error-color)\",\n borderColor: \"var(--error-color)\"\n }\n },\n variants: {\n size: {\n \"2xs\": {\n textStyle: \"xs\",\n px: \"2\",\n \"--input-height\": \"sizes.7\"\n },\n xs: {\n textStyle: \"xs\",\n px: \"2\",\n \"--input-height\": \"sizes.8\"\n },\n sm: {\n textStyle: \"sm\",\n px: \"2.5\",\n \"--input-height\": \"sizes.9\"\n },\n md: {\n textStyle: \"sm\",\n px: \"3\",\n \"--input-height\": \"sizes.10\"\n },\n lg: {\n textStyle: \"md\",\n px: \"4\",\n \"--input-height\": \"sizes.11\"\n },\n xl: {\n textStyle: \"md\",\n px: \"4.5\",\n \"--input-height\": \"sizes.12\"\n },\n \"2xl\": {\n textStyle: \"lg\",\n px: \"5\",\n \"--input-height\": \"sizes.16\"\n }\n },\n variant: {\n outline: {\n bg: \"transparent\",\n borderWidth: \"1px\",\n borderColor: \"border\",\n focusVisibleRing: \"inside\"\n },\n subtle: {\n borderWidth: \"1px\",\n borderColor: \"transparent\",\n bg: \"bg.muted\",\n focusVisibleRing: \"inside\"\n },\n flushed: {\n bg: \"transparent\",\n borderBottomWidth: \"1px\",\n borderBottomColor: \"border\",\n borderRadius: \"0\",\n px: \"0\",\n _focusVisible: {\n borderColor: \"var(--focus-color)\",\n boxShadow: \"0px 1px 0px 0px var(--focus-color)\"\n }\n }\n }\n },\n defaultVariants: {\n size: \"md\",\n variant: \"outline\"\n }\n});\n\nexport { inputRecipe };\n","\"use strict\";\nimport { defineRecipe } from '../../styled-system/config.js';\nimport { inputRecipe } from './input.js';\n\nconst inputAddonRecipe = defineRecipe({\n className: \"chakra-input-addon\",\n base: {\n flex: \"0 0 auto\",\n width: \"auto\",\n display: \"flex\",\n alignItems: \"center\",\n whiteSpace: \"nowrap\",\n alignSelf: \"stretch\",\n borderRadius: \"l2\"\n },\n variants: {\n size: inputRecipe.variants.size,\n variant: {\n outline: {\n borderWidth: \"1px\",\n borderColor: \"border\",\n bg: \"bg.muted\"\n },\n subtle: {\n borderWidth: \"1px\",\n borderColor: \"transparent\",\n bg: \"bg.emphasized\"\n },\n flushed: {\n borderBottom: \"1px solid\",\n borderColor: \"inherit\",\n borderRadius: \"0\",\n px: \"0\",\n bg: \"transparent\"\n }\n }\n },\n defaultVariants: {\n size: \"md\",\n variant: \"outline\"\n }\n});\n\nexport { inputAddonRecipe };\n","\"use strict\";\nimport { defineRecipe } from '../../styled-system/config.js';\n\nconst kbdRecipe = defineRecipe({\n className: \"chakra-kbd\",\n base: {\n display: \"inline-flex\",\n alignItems: \"center\",\n fontWeight: \"medium\",\n fontFamily: \"mono\",\n flexShrink: \"0\",\n whiteSpace: \"nowrap\",\n wordSpacing: \"-0.5em\",\n userSelect: \"none\",\n px: \"1\",\n borderRadius: \"l2\"\n },\n variants: {\n variant: {\n raised: {\n bg: \"colorPalette.subtle\",\n color: \"colorPalette.fg\",\n borderWidth: \"1px\",\n borderBottomWidth: \"2px\",\n borderColor: \"colorPalette.muted\"\n },\n outline: {\n borderWidth: \"1px\",\n color: \"colorPalette.fg\"\n },\n subtle: {\n bg: \"colorPalette.muted\",\n color: \"colorPalette.fg\"\n },\n plain: {\n color: \"colorPalette.fg\"\n }\n },\n size: {\n sm: {\n textStyle: \"xs\",\n height: \"4.5\"\n },\n md: {\n textStyle: \"sm\",\n height: \"5\"\n },\n lg: {\n textStyle: \"md\",\n height: \"6\"\n }\n }\n },\n defaultVariants: {\n size: \"md\",\n variant: \"raised\"\n }\n});\n\nexport { kbdRecipe };\n","\"use strict\";\nimport { defineRecipe } from '../../styled-system/config.js';\n\nconst linkRecipe = defineRecipe({\n className: \"chakra-link\",\n base: {\n display: \"inline-flex\",\n alignItems: \"center\",\n outline: \"none\",\n gap: \"1.5\",\n cursor: \"pointer\",\n borderRadius: \"l1\",\n focusRing: \"outside\"\n },\n variants: {\n variant: {\n underline: {\n color: \"colorPalette.fg\",\n textDecoration: \"underline\",\n textUnderlineOffset: \"3px\",\n textDecorationColor: \"currentColor/20\"\n },\n plain: {\n color: \"colorPalette.fg\",\n _hover: {\n textDecoration: \"underline\",\n textUnderlineOffset: \"3px\",\n textDecorationColor: \"currentColor/20\"\n }\n }\n }\n },\n defaultVariants: {\n variant: \"plain\"\n }\n});\n\nexport { linkRecipe };\n","\"use strict\";\nimport { defineRecipe } from '../../styled-system/config.js';\n\nconst markRecipe = defineRecipe({\n className: \"chakra-mark\",\n base: {\n bg: \"transparent\",\n color: \"inherit\",\n whiteSpace: \"nowrap\"\n },\n variants: {\n variant: {\n subtle: {\n bg: \"colorPalette.subtle\",\n color: \"inherit\"\n },\n solid: {\n bg: \"colorPalette.solid\",\n color: \"colorPalette.contrast\"\n },\n text: {\n fontWeight: \"medium\"\n },\n plain: {}\n }\n }\n});\n\nexport { markRecipe };\n","\"use strict\";\nimport { defineRecipe } from '../../styled-system/config.js';\n\nconst radiomarkRecipe = defineRecipe({\n className: \"chakra-radiomark\",\n base: {\n display: \"inline-flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n flexShrink: 0,\n verticalAlign: \"top\",\n color: \"white\",\n borderWidth: \"1px\",\n borderColor: \"transparent\",\n borderRadius: \"full\",\n cursor: \"radio\",\n _focusVisible: {\n outline: \"2px solid\",\n outlineColor: \"colorPalette.focusRing\",\n outlineOffset: \"2px\"\n },\n _invalid: {\n colorPalette: \"red\",\n borderColor: \"red.500\"\n },\n _disabled: {\n opacity: \"0.5\",\n cursor: \"disabled\"\n },\n \"& .dot\": {\n height: \"100%\",\n width: \"100%\",\n borderRadius: \"full\",\n bg: \"currentColor\",\n scale: \"0.4\"\n }\n },\n variants: {\n variant: {\n solid: {\n borderWidth: \"1px\",\n borderColor: \"border\",\n _checked: {\n bg: \"colorPalette.solid\",\n color: \"colorPalette.contrast\",\n borderColor: \"colorPalette.solid\"\n }\n },\n subtle: {\n borderWidth: \"1px\",\n bg: \"colorPalette.muted\",\n borderColor: \"colorPalette.muted\",\n color: \"transparent\",\n _checked: {\n color: \"colorPalette.fg\"\n }\n },\n outline: {\n borderWidth: \"1px\",\n borderColor: \"inherit\",\n _checked: {\n color: \"colorPalette.fg\",\n borderColor: \"colorPalette.solid\"\n },\n \"& .dot\": {\n scale: \"0.6\"\n }\n },\n inverted: {\n bg: \"bg\",\n borderWidth: \"1px\",\n borderColor: \"inherit\",\n _checked: {\n color: \"colorPalette.solid\",\n borderColor: \"currentcolor\"\n }\n }\n },\n size: {\n xs: {\n boxSize: \"3\"\n },\n sm: {\n boxSize: \"4\"\n },\n md: {\n boxSize: \"5\"\n },\n lg: {\n boxSize: \"6\"\n }\n }\n },\n defaultVariants: {\n variant: \"solid\",\n size: \"md\"\n }\n});\n\nexport { radiomarkRecipe };\n","\"use strict\";\nimport { defineRecipe } from '../../styled-system/config.js';\n\nconst separatorRecipe = defineRecipe({\n className: \"chakra-separator\",\n base: {\n display: \"block\",\n borderColor: \"border\"\n },\n variants: {\n variant: {\n solid: {\n borderStyle: \"solid\"\n },\n dashed: {\n borderStyle: \"dashed\"\n },\n dotted: {\n borderStyle: \"dotted\"\n }\n },\n orientation: {\n vertical: {\n height: \"100%\",\n borderInlineStartWidth: \"var(--separator-thickness)\"\n },\n horizontal: {\n width: \"100%\",\n borderTopWidth: \"var(--separator-thickness)\"\n }\n },\n size: {\n xs: {\n \"--separator-thickness\": \"0.5px\"\n },\n sm: {\n \"--separator-thickness\": \"1px\"\n },\n md: {\n \"--separator-thickness\": \"2px\"\n },\n lg: {\n \"--separator-thickness\": \"3px\"\n }\n }\n },\n defaultVariants: {\n size: \"sm\",\n variant: \"solid\",\n orientation: \"horizontal\"\n }\n});\n\nexport { separatorRecipe };\n","\"use strict\";\nimport { defineRecipe } from '../../styled-system/config.js';\n\nconst skeletonRecipe = defineRecipe({\n className: \"chakra-skeleton\",\n base: {},\n variants: {\n loading: {\n true: {\n borderRadius: \"l2\",\n boxShadow: \"none\",\n backgroundClip: \"padding-box\",\n cursor: \"default\",\n color: \"transparent\",\n pointerEvents: \"none\",\n userSelect: \"none\",\n flexShrink: \"0\",\n \"&::before, &::after, *\": {\n visibility: \"hidden\"\n }\n },\n false: {\n background: \"unset\",\n animation: \"fade-in var(--fade-duration, 0.1s) ease-out !important\"\n }\n },\n variant: {\n pulse: {\n background: \"bg.emphasized\",\n animation: \"pulse\",\n animationDuration: \"var(--duration, 1.2s)\"\n },\n shine: {\n \"--animate-from\": \"200%\",\n \"--animate-to\": \"-200%\",\n \"--start-color\": \"colors.bg.muted\",\n \"--end-color\": \"colors.bg.emphasized\",\n backgroundImage: \"linear-gradient(270deg,var(--start-color),var(--end-color),var(--end-color),var(--start-color))\",\n backgroundSize: \"400% 100%\",\n animation: \"bg-position var(--duration, 5s) ease-in-out infinite\"\n },\n none: {\n animation: \"none\"\n }\n }\n },\n defaultVariants: {\n variant: \"pulse\",\n loading: true\n }\n});\n\nexport { skeletonRecipe };\n","\"use strict\";\nimport { defineRecipe } from '../../styled-system/config.js';\n\nconst skipNavLinkRecipe = defineRecipe({\n className: \"chakra-skip-nav\",\n base: {\n display: \"inline-flex\",\n bg: \"bg.panel\",\n padding: \"2.5\",\n borderRadius: \"l2\",\n fontWeight: \"semibold\",\n focusVisibleRing: \"outside\",\n textStyle: \"sm\",\n // visually hidden\n userSelect: \"none\",\n border: \"0\",\n height: \"1px\",\n width: \"1px\",\n margin: \"-1px\",\n outline: \"0\",\n overflow: \"hidden\",\n position: \"absolute\",\n clip: \"rect(0 0 0 0)\",\n _focusVisible: {\n clip: \"auto\",\n width: \"auto\",\n height: \"auto\",\n position: \"fixed\",\n top: \"6\",\n insetStart: \"6\"\n }\n }\n});\n\nexport { skipNavLinkRecipe };\n","\"use strict\";\nimport { defineRecipe } from '../../styled-system/config.js';\n\nconst spinnerRecipe = defineRecipe({\n className: \"chakra-spinner\",\n base: {\n display: \"inline-block\",\n borderColor: \"currentColor\",\n borderStyle: \"solid\",\n borderWidth: \"2px\",\n borderRadius: \"full\",\n width: \"var(--spinner-size)\",\n height: \"var(--spinner-size)\",\n animation: \"spin\",\n animationDuration: \"slowest\",\n \"--spinner-track-color\": \"transparent\",\n borderBottomColor: \"var(--spinner-track-color)\",\n borderInlineStartColor: \"var(--spinner-track-color)\"\n },\n variants: {\n size: {\n inherit: { \"--spinner-size\": \"1em\" },\n xs: { \"--spinner-size\": \"sizes.3\" },\n sm: { \"--spinner-size\": \"sizes.4\" },\n md: { \"--spinner-size\": \"sizes.5\" },\n lg: { \"--spinner-size\": \"sizes.8\" },\n xl: { \"--spinner-size\": \"sizes.10\" }\n }\n },\n defaultVariants: {\n size: \"md\"\n }\n});\n\nexport { spinnerRecipe };\n","\"use strict\";\nimport { defineRecipe } from '../../styled-system/config.js';\n\nconst textareaRecipe = defineRecipe({\n className: \"chakra-textarea\",\n base: {\n width: \"100%\",\n minWidth: \"0\",\n outline: \"0\",\n position: \"relative\",\n appearance: \"none\",\n textAlign: \"start\",\n borderRadius: \"l2\",\n _disabled: {\n layerStyle: \"disabled\"\n },\n \"--focus-color\": \"colors.colorPalette.focusRing\",\n \"--error-color\": \"colors.border.error\",\n _invalid: {\n focusRingColor: \"var(--error-color)\",\n borderColor: \"var(--error-color)\"\n }\n },\n variants: {\n size: {\n xs: {\n textStyle: \"xs\",\n px: \"2\",\n py: \"1.5\",\n scrollPaddingBottom: \"1.5\"\n },\n sm: {\n textStyle: \"sm\",\n px: \"2.5\",\n py: \"2\",\n scrollPaddingBottom: \"2\"\n },\n md: {\n textStyle: \"sm\",\n px: \"3\",\n py: \"2\",\n scrollPaddingBottom: \"2\"\n },\n lg: {\n textStyle: \"md\",\n px: \"4\",\n py: \"3\",\n scrollPaddingBottom: \"3\"\n },\n xl: {\n textStyle: \"md\",\n px: \"4.5\",\n py: \"3.5\",\n scrollPaddingBottom: \"3.5\"\n }\n },\n variant: {\n outline: {\n bg: \"transparent\",\n borderWidth: \"1px\",\n borderColor: \"border\",\n focusVisibleRing: \"inside\"\n },\n subtle: {\n borderWidth: \"1px\",\n borderColor: \"transparent\",\n bg: \"bg.muted\",\n focusVisibleRing: \"inside\"\n },\n flushed: {\n bg: \"transparent\",\n borderBottomWidth: \"1px\",\n borderBottomColor: \"border\",\n borderRadius: \"0\",\n px: \"0\",\n _focusVisible: {\n borderColor: \"var(--focus-color)\",\n boxShadow: \"0px 1px 0px 0px var(--focus-color)\"\n }\n }\n }\n },\n defaultVariants: {\n size: \"md\",\n variant: \"outline\"\n }\n});\n\nexport { textareaRecipe };\n","\"use strict\";\nimport { badgeRecipe } from './recipes/badge.js';\nimport { buttonRecipe } from './recipes/button.js';\nimport { checkmarkRecipe } from './recipes/checkmark.js';\nimport { codeRecipe } from './recipes/code.js';\nimport { colorSwatchRecipe } from './recipes/color-swatch.js';\nimport { containerRecipe } from './recipes/container.js';\nimport { headingRecipe } from './recipes/heading.js';\nimport { iconRecipe } from './recipes/icon.js';\nimport { inputRecipe } from './recipes/input.js';\nimport { inputAddonRecipe } from './recipes/input-addon.js';\nimport { kbdRecipe } from './recipes/kbd.js';\nimport { linkRecipe } from './recipes/link.js';\nimport { markRecipe } from './recipes/mark.js';\nimport { radiomarkRecipe } from './recipes/radiomark.js';\nimport { separatorRecipe } from './recipes/separator.js';\nimport { skeletonRecipe } from './recipes/skeleton.js';\nimport { skipNavLinkRecipe } from './recipes/skip-nav-link.js';\nimport { spinnerRecipe } from './recipes/spinner.js';\nimport { textareaRecipe } from './recipes/textarea.js';\n\nconst recipes = {\n badge: badgeRecipe,\n button: buttonRecipe,\n code: codeRecipe,\n container: containerRecipe,\n heading: headingRecipe,\n input: inputRecipe,\n inputAddon: inputAddonRecipe,\n kbd: kbdRecipe,\n link: linkRecipe,\n mark: markRecipe,\n separator: separatorRecipe,\n skeleton: skeletonRecipe,\n skipNavLink: skipNavLinkRecipe,\n spinner: spinnerRecipe,\n textarea: textareaRecipe,\n icon: iconRecipe,\n checkmark: checkmarkRecipe,\n radiomark: radiomarkRecipe,\n colorSwatch: colorSwatchRecipe\n};\n\nexport { recipes };\n","\"use strict\";\nimport { defineSemanticTokens } from '../../styled-system/config.js';\n\nconst semanticColors = defineSemanticTokens.colors({\n bg: {\n DEFAULT: {\n value: { _light: \"{colors.white}\", _dark: \"{colors.black}\" }\n },\n subtle: {\n value: { _light: \"{colors.gray.50}\", _dark: \"{colors.gray.950}\" }\n },\n muted: {\n value: { _light: \"{colors.gray.100}\", _dark: \"{colors.gray.900}\" }\n },\n emphasized: {\n value: { _light: \"{colors.gray.200}\", _dark: \"{colors.gray.800}\" }\n },\n inverted: {\n value: { _light: \"{colors.black}\", _dark: \"{colors.white}\" }\n },\n panel: {\n value: { _light: \"{colors.white}\", _dark: \"{colors.gray.950}\" }\n },\n error: {\n value: { _light: \"{colors.red.50}\", _dark: \"{colors.red.950}\" }\n },\n warning: {\n value: { _light: \"{colors.orange.50}\", _dark: \"{colors.orange.950}\" }\n },\n success: {\n value: { _light: \"{colors.green.50}\", _dark: \"{colors.green.950}\" }\n },\n info: {\n value: { _light: \"{colors.blue.50}\", _dark: \"{colors.blue.950}\" }\n }\n },\n fg: {\n DEFAULT: {\n value: { _light: \"{colors.black}\", _dark: \"{colors.gray.50}\" }\n },\n muted: {\n value: { _light: \"{colors.gray.600}\", _dark: \"{colors.gray.400}\" }\n },\n subtle: {\n value: { _light: \"{colors.gray.400}\", _dark: \"{colors.gray.500}\" }\n },\n inverted: {\n value: { _light: \"{colors.gray.50}\", _dark: \"{colors.black}\" }\n },\n error: {\n value: { _light: \"{colors.red.500}\", _dark: \"{colors.red.400}\" }\n },\n warning: {\n value: { _light: \"{colors.orange.600}\", _dark: \"{colors.orange.300}\" }\n },\n success: {\n value: { _light: \"{colors.green.600}\", _dark: \"{colors.green.300}\" }\n },\n info: {\n value: { _light: \"{colors.blue.600}\", _dark: \"{colors.blue.300}\" }\n }\n },\n border: {\n DEFAULT: {\n value: { _light: \"{colors.gray.200}\", _dark: \"{colors.gray.800}\" }\n },\n muted: {\n value: { _light: \"{colors.gray.100}\", _dark: \"{colors.gray.900}\" }\n },\n subtle: {\n value: { _light: \"{colors.gray.50}\", _dark: \"{colors.gray.950}\" }\n },\n emphasized: {\n value: { _light: \"{colors.gray.300}\", _dark: \"{colors.gray.700}\" }\n },\n inverted: {\n value: { _light: \"{colors.gray.800}\", _dark: \"{colors.gray.200}\" }\n },\n error: {\n value: { _light: \"{colors.red.500}\", _dark: \"{colors.red.400}\" }\n },\n warning: {\n value: { _light: \"{colors.orange.500}\", _dark: \"{colors.orange.400}\" }\n },\n success: {\n value: { _light: \"{colors.green.500}\", _dark: \"{colors.green.400}\" }\n },\n info: {\n value: { _light: \"{colors.blue.500}\", _dark: \"{colors.blue.400}\" }\n }\n },\n gray: {\n contrast: {\n value: { _light: \"{colors.white}\", _dark: \"{colors.black}\" }\n },\n fg: {\n value: { _light: \"{colors.gray.800}\", _dark: \"{colors.gray.200}\" }\n },\n subtle: {\n value: { _light: \"{colors.gray.100}\", _dark: \"{colors.gray.900}\" }\n },\n muted: {\n value: { _light: \"{colors.gray.200}\", _dark: \"{colors.gray.800}\" }\n },\n emphasized: {\n value: { _light: \"{colors.gray.300}\", _dark: \"{colors.gray.700}\" }\n },\n solid: {\n value: { _light: \"{colors.gray.900}\", _dark: \"{colors.white}\" }\n },\n focusRing: {\n value: { _light: \"{colors.gray.800}\", _dark: \"{colors.gray.200}\" }\n }\n },\n red: {\n contrast: {\n value: { _light: \"white\", _dark: \"white\" }\n },\n fg: {\n value: { _light: \"{colors.red.700}\", _dark: \"{colors.red.300}\" }\n },\n subtle: {\n value: { _light: \"{colors.red.100}\", _dark: \"{colors.red.900}\" }\n },\n muted: {\n value: { _light: \"{colors.red.200}\", _dark: \"{colors.red.800}\" }\n },\n emphasized: {\n value: { _light: \"{colors.red.300}\", _dark: \"{colors.red.700}\" }\n },\n solid: {\n value: { _light: \"{colors.red.600}\", _dark: \"{colors.red.600}\" }\n },\n focusRing: {\n value: { _light: \"{colors.red.600}\", _dark: \"{colors.red.600}\" }\n }\n },\n orange: {\n contrast: {\n value: { _light: \"white\", _dark: \"black\" }\n },\n fg: {\n value: { _light: \"{colors.orange.700}\", _dark: \"{colors.orange.300}\" }\n },\n subtle: {\n value: { _light: \"{colors.orange.100}\", _dark: \"{colors.orange.900}\" }\n },\n muted: {\n value: { _light: \"{colors.orange.200}\", _dark: \"{colors.orange.800}\" }\n },\n emphasized: {\n value: { _light: \"{colors.orange.300}\", _dark: \"{colors.orange.700}\" }\n },\n solid: {\n value: { _light: \"{colors.orange.600}\", _dark: \"{colors.orange.500}\" }\n },\n focusRing: {\n value: { _light: \"{colors.orange.600}\", _dark: \"{colors.orange.500}\" }\n }\n },\n green: {\n contrast: {\n value: { _light: \"white\", _dark: \"white\" }\n },\n fg: {\n value: { _light: \"{colors.green.700}\", _dark: \"{colors.green.300}\" }\n },\n subtle: {\n value: { _light: \"{colors.green.100}\", _dark: \"{colors.green.900}\" }\n },\n muted: {\n value: { _light: \"{colors.green.200}\", _dark: \"{colors.green.800}\" }\n },\n emphasized: {\n value: { _light: \"{colors.green.300}\", _dark: \"{colors.green.700}\" }\n },\n solid: {\n value: { _light: \"{colors.green.600}\", _dark: \"{colors.green.600}\" }\n },\n focusRing: {\n value: { _light: \"{colors.green.600}\", _dark: \"{colors.green.600}\" }\n }\n },\n blue: {\n contrast: {\n value: { _light: \"white\", _dark: \"white\" }\n },\n fg: {\n value: { _light: \"{colors.blue.700}\", _dark: \"{colors.blue.300}\" }\n },\n subtle: {\n value: { _light: \"{colors.blue.100}\", _dark: \"{colors.blue.900}\" }\n },\n muted: {\n value: { _light: \"{colors.blue.200}\", _dark: \"{colors.blue.800}\" }\n },\n emphasized: {\n value: { _light: \"{colors.blue.300}\", _dark: \"{colors.blue.700}\" }\n },\n solid: {\n value: { _light: \"{colors.blue.600}\", _dark: \"{colors.blue.600}\" }\n },\n focusRing: {\n value: { _light: \"{colors.blue.600}\", _dark: \"{colors.blue.600}\" }\n }\n },\n yellow: {\n contrast: {\n value: { _light: \"black\", _dark: \"black\" }\n },\n fg: {\n value: { _light: \"{colors.yellow.800}\", _dark: \"{colors.yellow.300}\" }\n },\n subtle: {\n value: { _light: \"{colors.yellow.100}\", _dark: \"{colors.yellow.900}\" }\n },\n muted: {\n value: { _light: \"{colors.yellow.200}\", _dark: \"{colors.yellow.800}\" }\n },\n emphasized: {\n value: { _light: \"{colors.yellow.300}\", _dark: \"{colors.yellow.700}\" }\n },\n solid: {\n value: { _light: \"{colors.yellow.300}\", _dark: \"{colors.yellow.300}\" }\n },\n focusRing: {\n value: { _light: \"{colors.yellow.300}\", _dark: \"{colors.yellow.300}\" }\n }\n },\n teal: {\n contrast: {\n value: { _light: \"white\", _dark: \"white\" }\n },\n fg: {\n value: { _light: \"{colors.teal.700}\", _dark: \"{colors.teal.300}\" }\n },\n subtle: {\n value: { _light: \"{colors.teal.100}\", _dark: \"{colors.teal.900}\" }\n },\n muted: {\n value: { _light: \"{colors.teal.200}\", _dark: \"{colors.teal.800}\" }\n },\n emphasized: {\n value: { _light: \"{colors.teal.300}\", _dark: \"{colors.teal.700}\" }\n },\n solid: {\n value: { _light: \"{colors.teal.600}\", _dark: \"{colors.teal.600}\" }\n },\n focusRing: {\n value: { _light: \"{colors.teal.600}\", _dark: \"{colors.teal.600}\" }\n }\n },\n purple: {\n contrast: {\n value: { _light: \"white\", _dark: \"white\" }\n },\n fg: {\n value: { _light: \"{colors.purple.700}\", _dark: \"{colors.purple.300}\" }\n },\n subtle: {\n value: { _light: \"{colors.purple.100}\", _dark: \"{colors.purple.900}\" }\n },\n muted: {\n value: { _light: \"{colors.purple.200}\", _dark: \"{colors.purple.800}\" }\n },\n emphasized: {\n value: { _light: \"{colors.purple.300}\", _dark: \"{colors.purple.700}\" }\n },\n solid: {\n value: { _light: \"{colors.purple.600}\", _dark: \"{colors.purple.600}\" }\n },\n focusRing: {\n value: { _light: \"{colors.purple.600}\", _dark: \"{colors.purple.600}\" }\n }\n },\n pink: {\n contrast: {\n value: { _light: \"white\", _dark: \"white\" }\n },\n fg: {\n value: { _light: \"{colors.pink.700}\", _dark: \"{colors.pink.300}\" }\n },\n subtle: {\n value: { _light: \"{colors.pink.100}\", _dark: \"{colors.pink.900}\" }\n },\n muted: {\n value: { _light: \"{colors.pink.200}\", _dark: \"{colors.pink.800}\" }\n },\n emphasized: {\n value: { _light: \"{colors.pink.300}\", _dark: \"{colors.pink.700}\" }\n },\n solid: {\n value: { _light: \"{colors.pink.600}\", _dark: \"{colors.pink.600}\" }\n },\n focusRing: {\n value: { _light: \"{colors.pink.600}\", _dark: \"{colors.pink.600}\" }\n }\n },\n cyan: {\n contrast: {\n value: { _light: \"white\", _dark: \"white\" }\n },\n fg: {\n value: { _light: \"{colors.cyan.700}\", _dark: \"{colors.cyan.300}\" }\n },\n subtle: {\n value: { _light: \"{colors.cyan.100}\", _dark: \"{colors.cyan.900}\" }\n },\n muted: {\n value: { _light: \"{colors.cyan.200}\", _dark: \"{colors.cyan.800}\" }\n },\n emphasized: {\n value: { _light: \"{colors.cyan.300}\", _dark: \"{colors.cyan.700}\" }\n },\n solid: {\n value: { _light: \"{colors.cyan.600}\", _dark: \"{colors.cyan.600}\" }\n },\n focusRing: {\n value: { _light: \"{colors.cyan.600}\", _dark: \"{colors.cyan.600}\" }\n }\n }\n});\n\nexport { semanticColors };\n","\"use strict\";\nimport { defineSemanticTokens } from '../../styled-system/config.js';\n\nconst semanticRadii = defineSemanticTokens.radii({\n l1: { value: \"{radii.xs}\" },\n l2: { value: \"{radii.sm}\" },\n l3: { value: \"{radii.md}\" }\n});\n\nexport { semanticRadii };\n","\"use strict\";\nimport { defineSemanticTokens } from '../../styled-system/config.js';\n\nconst semanticShadows = defineSemanticTokens.shadows({\n xs: {\n value: {\n _light: \"0px 1px 2px {colors.gray.900/10}, 0px 0px 1px {colors.gray.900/20}\",\n _dark: \"0px 1px 1px {black/64}, 0px 0px 1px inset {colors.gray.300/20}\"\n }\n },\n sm: {\n value: {\n _light: \"0px 2px 4px {colors.gray.900/10}, 0px 0px 1px {colors.gray.900/30}\",\n _dark: \"0px 2px 4px {black/64}, 0px 0px 1px inset {colors.gray.300/30}\"\n }\n },\n md: {\n value: {\n _light: \"0px 4px 8px {colors.gray.900/10}, 0px 0px 1px {colors.gray.900/30}\",\n _dark: \"0px 4px 8px {black/64}, 0px 0px 1px inset {colors.gray.300/30}\"\n }\n },\n lg: {\n value: {\n _light: \"0px 8px 16px {colors.gray.900/10}, 0px 0px 1px {colors.gray.900/30}\",\n _dark: \"0px 8px 16px {black/64}, 0px 0px 1px inset {colors.gray.300/30}\"\n }\n },\n xl: {\n value: {\n _light: \"0px 16px 24px {colors.gray.900/10}, 0px 0px 1px {colors.gray.900/30}\",\n _dark: \"0px 16px 24px {black/64}, 0px 0px 1px inset {colors.gray.300/30}\"\n }\n },\n \"2xl\": {\n value: {\n _light: \"0px 24px 40px {colors.gray.900/16}, 0px 0px 1px {colors.gray.900/30}\",\n _dark: \"0px 24px 40px {black/64}, 0px 0px 1px inset {colors.gray.300/30}\"\n }\n },\n inner: {\n value: {\n _light: \"inset 0 2px 4px 0 {black/5}\",\n _dark: \"inset 0 2px 4px 0 black\"\n }\n },\n inset: {\n value: {\n _light: \"inset 0 0 0 1px {black/5}\",\n _dark: \"inset 0 0 0 1px {colors.gray.300/5}\"\n }\n }\n});\n\nexport { semanticShadows };\n","'use client';\nimport { createContext } from '../../utils/create-context.js';\n\nconst [AccordionProvider, useAccordionContext] = createContext({\n name: \"AccordionContext\",\n hookName: \"useAccordionContext\",\n providerName: \"\"\n});\n\nexport { AccordionProvider, useAccordionContext };\n","'use client';\nimport { useAccordionContext } from './use-accordion-context.js';\n\nconst AccordionContext = (props) => props.children(useAccordionContext());\n\nexport { AccordionContext };\n","// src/create-anatomy.ts\nvar createAnatomy = (name, parts = []) => ({\n parts: (...values) => {\n if (isEmpty(parts)) {\n return createAnatomy(name, values);\n }\n throw new Error(\"createAnatomy().parts(...) should only be called once. Did you mean to use .extendWith(...) ?\");\n },\n extendWith: (...values) => createAnatomy(name, [...parts, ...values]),\n rename: (newName) => createAnatomy(newName, parts),\n keys: () => parts,\n build: () => [...new Set(parts)].reduce(\n (prev, part) => Object.assign(prev, {\n [part]: {\n selector: [\n `&[data-scope=\"${toKebabCase(name)}\"][data-part=\"${toKebabCase(part)}\"]`,\n `& [data-scope=\"${toKebabCase(name)}\"][data-part=\"${toKebabCase(part)}\"]`\n ].join(\", \"),\n attrs: { \"data-scope\": toKebabCase(name), \"data-part\": toKebabCase(part) }\n }\n }),\n {}\n )\n});\nvar toKebabCase = (value) => value.replace(/([A-Z])([A-Z])/g, \"$1-$2\").replace(/([a-z])([A-Z])/g, \"$1-$2\").replace(/[\\s_]+/g, \"-\").toLowerCase();\nvar isEmpty = (v) => v.length === 0;\n\nexport { createAnatomy };\n","// src/array.ts\nfunction toArray(v) {\n if (!v) return [];\n return Array.isArray(v) ? v : [v];\n}\nvar fromLength = (length) => Array.from(Array(length).keys());\nvar first = (v) => v[0];\nvar last = (v) => v[v.length - 1];\nvar isEmpty = (v) => v.length === 0;\nvar has = (v, t) => v.indexOf(t) !== -1;\nvar add = (v, ...items) => v.concat(items);\nvar remove = (v, ...items) => v.filter((t) => !items.includes(t));\nvar removeAt = (v, i) => v.filter((_, idx) => idx !== i);\nvar insertAt = (v, i, ...items) => [...v.slice(0, i), ...items, ...v.slice(i)];\nvar uniq = (v) => Array.from(new Set(v));\nvar addOrRemove = (v, item) => {\n if (has(v, item)) return remove(v, item);\n return add(v, item);\n};\nfunction clear(v) {\n while (v.length > 0) v.pop();\n return v;\n}\nfunction nextIndex(v, idx, opts = {}) {\n const { step = 1, loop = true } = opts;\n const next2 = idx + step;\n const len = v.length;\n const last2 = len - 1;\n if (idx === -1) return step > 0 ? 0 : last2;\n if (next2 < 0) return loop ? last2 : 0;\n if (next2 >= len) return loop ? 0 : idx > len ? len : idx;\n return next2;\n}\nfunction next(v, idx, opts = {}) {\n return v[nextIndex(v, idx, opts)];\n}\nfunction prevIndex(v, idx, opts = {}) {\n const { step = 1, loop = true } = opts;\n return nextIndex(v, idx, { step: -step, loop });\n}\nfunction prev(v, index, opts = {}) {\n return v[prevIndex(v, index, opts)];\n}\nvar chunk = (v, size) => {\n const res = [];\n return v.reduce((rows, value, index) => {\n if (index % size === 0) rows.push([value]);\n else last(rows)?.push(value);\n return rows;\n }, res);\n};\n\n// src/equal.ts\nvar isArrayLike = (value) => value?.constructor.name === \"Array\";\nvar isArrayEqual = (a, b) => {\n if (a.length !== b.length) return false;\n for (let i = 0; i < a.length; i++) {\n if (!isEqual(a[i], b[i])) return false;\n }\n return true;\n};\nvar isEqual = (a, b) => {\n if (Object.is(a, b)) return true;\n if (a == null && b != null || a != null && b == null) return false;\n if (typeof a?.isEqual === \"function\" && typeof b?.isEqual === \"function\") {\n return a.isEqual(b);\n }\n if (typeof a === \"function\" && typeof b === \"function\") {\n return a.toString() === b.toString();\n }\n if (isArrayLike(a) && isArrayLike(b)) {\n return isArrayEqual(Array.from(a), Array.from(b));\n }\n if (!(typeof a === \"object\") || !(typeof b === \"object\")) return false;\n const keys = Object.keys(b ?? /* @__PURE__ */ Object.create(null));\n const length = keys.length;\n for (let i = 0; i < length; i++) {\n const hasKey = Reflect.has(a, keys[i]);\n if (!hasKey) return false;\n }\n for (let i = 0; i < length; i++) {\n const key = keys[i];\n if (!isEqual(a[key], b[key])) return false;\n }\n return true;\n};\n\n// src/functions.ts\nvar runIfFn = (v, ...a) => {\n const res = typeof v === \"function\" ? v(...a) : v;\n return res ?? void 0;\n};\nvar cast = (v) => v;\nvar noop = () => {\n};\nvar callAll = (...fns) => (...a) => {\n fns.forEach(function(fn) {\n fn?.(...a);\n });\n};\nvar uuid = /* @__PURE__ */ (() => {\n let id = 0;\n return () => {\n id++;\n return id.toString(36);\n };\n})();\nfunction match(key, record, ...args) {\n if (key in record) {\n const fn = record[key];\n return typeof fn === \"function\" ? fn(...args) : fn;\n }\n const error = new Error(`No matching key: ${JSON.stringify(key)} in ${JSON.stringify(Object.keys(record))}`);\n Error.captureStackTrace?.(error, match);\n throw error;\n}\nvar tryCatch = (fn, fallback) => {\n try {\n return fn();\n } catch (error) {\n if (error instanceof Error) {\n Error.captureStackTrace?.(error, tryCatch);\n }\n return fallback?.();\n }\n};\n\n// src/guard.ts\nvar isDev = () => process.env.NODE_ENV !== \"production\";\nvar isArray = (v) => Array.isArray(v);\nvar isBoolean = (v) => v === true || v === false;\nvar isObjectLike = (v) => v != null && typeof v === \"object\";\nvar isObject = (v) => isObjectLike(v) && !isArray(v);\nvar isNumber = (v) => typeof v === \"number\" && !Number.isNaN(v);\nvar isString = (v) => typeof v === \"string\";\nvar isFunction = (v) => typeof v === \"function\";\nvar isNull = (v) => v == null;\nvar hasProp = (obj, prop) => Object.prototype.hasOwnProperty.call(obj, prop);\nvar baseGetTag = (v) => Object.prototype.toString.call(v);\nvar fnToString = Function.prototype.toString;\nvar objectCtorString = fnToString.call(Object);\nvar isPlainObject = (v) => {\n if (!isObjectLike(v) || baseGetTag(v) != \"[object Object]\") return false;\n const proto = Object.getPrototypeOf(v);\n if (proto === null) return true;\n const Ctor = hasProp(proto, \"constructor\") && proto.constructor;\n return typeof Ctor == \"function\" && Ctor instanceof Ctor && fnToString.call(Ctor) == objectCtorString;\n};\n\n// src/number.ts\nvar { floor, abs, round, min, max, pow, sign } = Math;\nvar isNaN = (v) => Number.isNaN(v);\nvar nan = (v) => isNaN(v) ? 0 : v;\nvar mod = (v, m) => (v % m + m) % m;\nvar wrap = (v, vmax) => (v % vmax + vmax) % vmax;\nvar getMinValueAtIndex = (i, v, vmin) => i === 0 ? vmin : v[i - 1];\nvar getMaxValueAtIndex = (i, v, vmax) => i === v.length - 1 ? vmax : v[i + 1];\nvar isValueAtMax = (v, vmax) => nan(v) >= vmax;\nvar isValueAtMin = (v, vmin) => nan(v) <= vmin;\nvar isValueWithinRange = (v, vmin, vmax) => nan(v) >= vmin && nan(v) <= vmax;\nvar roundValue = (v, vmin, step) => round((nan(v) - vmin) / step) * step + vmin;\nvar clampValue = (v, vmin, vmax) => min(max(nan(v), vmin), vmax);\nvar clampPercent = (v) => clampValue(v, 0, 1);\nvar getValuePercent = (v, vmin, vmax) => (nan(v) - vmin) / (vmax - vmin);\nvar getPercentValue = (p, vmin, vmax, step) => clampValue(roundValue(p * (vmax - vmin) + vmin, vmin, step), vmin, vmax);\nvar roundToStepPrecision = (v, step) => {\n let rv = v;\n let ss = step.toString();\n let pi = ss.indexOf(\".\");\n let p = pi >= 0 ? ss.length - pi : 0;\n if (p > 0) {\n let pw = pow(10, p);\n rv = round(rv * pw) / pw;\n }\n return rv;\n};\nvar roundToDpr = (v, dpr) => typeof dpr === \"number\" ? floor(v * dpr + 0.5) / dpr : round(v);\nvar snapValueToStep = (v, vmin, vmax, step) => {\n vmin = Number(vmin);\n vmax = Number(vmax);\n let remainder = (v - (isNaN(vmin) ? 0 : vmin)) % step;\n let sv = roundToStepPrecision(\n abs(remainder) * 2 >= step ? v + sign(remainder) * (step - abs(remainder)) : v - remainder,\n step\n );\n if (!isNaN(vmin)) {\n if (sv < vmin) {\n sv = vmin;\n } else if (!isNaN(vmax) && sv > vmax) {\n sv = vmin + floor(roundToStepPrecision((vmax - vmin) / step, step)) * step;\n }\n } else if (!isNaN(vmax) && sv > vmax) {\n sv = vmin + floor(roundToStepPrecision((vmax - vmin) / step, step)) * step;\n }\n return roundToStepPrecision(sv, step);\n};\nvar setValueAtIndex = (vs, i, v) => {\n if (vs[i] === v) return vs;\n return [...vs.slice(0, i), v, ...vs.slice(i + 1)];\n};\nfunction getValueSetterAtIndex(index, ctx) {\n const minValueAtIndex = getMinValueAtIndex(index, ctx.values, ctx.min);\n const maxValueAtIndex = getMaxValueAtIndex(index, ctx.values, ctx.max);\n let nextValues = ctx.values.slice();\n return function setValue(value) {\n let nextValue = snapValueToStep(value, minValueAtIndex, maxValueAtIndex, ctx.step);\n nextValues = setValueAtIndex(nextValues, index, value);\n nextValues[index] = nextValue;\n return nextValues;\n };\n}\nfunction getNextStepValue(index, ctx) {\n const nextValue = ctx.values[index] + ctx.step;\n return getValueSetterAtIndex(index, ctx)(nextValue);\n}\nfunction getPreviousStepValue(index, ctx) {\n const nextValue = ctx.values[index] - ctx.step;\n return getValueSetterAtIndex(index, ctx)(nextValue);\n}\nvar getClosestValueIndex = (vs, t) => {\n let i = vs.findIndex((v) => t - v < 0);\n if (i === 0) return i;\n if (i === -1) return vs.length - 1;\n let vLeft = vs[i - 1];\n let vRight = vs[i];\n if (abs(vLeft - t) < abs(vRight - t)) return i - 1;\n return i;\n};\nvar getClosestValue = (vs, t) => vs[getClosestValueIndex(vs, t)];\nvar getValueRanges = (vs, vmin, vmax, gap) => vs.map((v, i) => ({\n min: i === 0 ? vmin : vs[i - 1] + gap,\n max: i === vs.length - 1 ? vmax : vs[i + 1] - gap,\n value: v\n}));\nvar getValueTransformer = (va, vb) => {\n const [a, b] = va;\n const [c, d] = vb;\n return (v) => a === b || c === d ? c : c + (d - c) / (b - a) * (v - a);\n};\nvar toFixedNumber = (v, d = 0, b = 10) => {\n const pow2 = Math.pow(b, d);\n return round(v * pow2) / pow2;\n};\nvar countDecimals = (value) => {\n if (!Number.isFinite(value)) return 0;\n let e = 1, p = 0;\n while (Math.round(value * e) / e !== value) {\n e *= 10;\n p += 1;\n }\n return p;\n};\nvar decimalOp = (a, op, b) => {\n let result = op === \"+\" ? a + b : a - b;\n if (a % 1 !== 0 || b % 1 !== 0) {\n const multiplier = 10 ** Math.max(countDecimals(a), countDecimals(b));\n a = Math.round(a * multiplier);\n b = Math.round(b * multiplier);\n result = op === \"+\" ? a + b : a - b;\n result /= multiplier;\n }\n return result;\n};\nvar incrementValue = (v, s) => decimalOp(nan(v), \"+\", s);\nvar decrementValue = (v, s) => decimalOp(nan(v), \"-\", s);\n\n// src/object.ts\nfunction compact(obj) {\n if (!isPlainObject2(obj) || obj === void 0) return obj;\n const keys = Reflect.ownKeys(obj).filter((key) => typeof key === \"string\");\n const filtered = {};\n for (const key of keys) {\n const value = obj[key];\n if (value !== void 0) {\n filtered[key] = compact(value);\n }\n }\n return filtered;\n}\nvar json = (v) => JSON.parse(JSON.stringify(v));\nvar isPlainObject2 = (v) => {\n return v && typeof v === \"object\" && v.constructor === Object;\n};\nfunction pick(obj, keys) {\n const filtered = {};\n for (const key of keys) {\n const value = obj[key];\n if (value !== void 0) {\n filtered[key] = value;\n }\n }\n return filtered;\n}\nfunction splitProps(props, keys) {\n const rest = {};\n const result = {};\n const keySet = new Set(keys);\n for (const key in props) {\n if (keySet.has(key)) {\n result[key] = props[key];\n } else {\n rest[key] = props[key];\n }\n }\n return [result, rest];\n}\nvar createSplitProps = (keys) => {\n return function split(props) {\n return splitProps(props, keys);\n };\n};\nfunction omit(obj, keys) {\n return createSplitProps(keys)(obj)[1];\n}\n\n// src/warning.ts\nfunction warn(...a) {\n const m = a.length === 1 ? a[0] : a[1];\n const c = a.length === 2 ? a[0] : true;\n if (c && process.env.NODE_ENV !== \"production\") {\n console.warn(m);\n }\n}\nfunction invariant(...a) {\n const m = a.length === 1 ? a[0] : a[1];\n const c = a.length === 2 ? a[0] : true;\n if (c && process.env.NODE_ENV !== \"production\") {\n throw new Error(m);\n }\n}\n\nexport { add, addOrRemove, callAll, cast, chunk, clampPercent, clampValue, clear, compact, createSplitProps, decrementValue, first, fromLength, getClosestValue, getClosestValueIndex, getMaxValueAtIndex, getMinValueAtIndex, getNextStepValue, getPercentValue, getPreviousStepValue, getValuePercent, getValueRanges, getValueSetterAtIndex, getValueTransformer, has, hasProp, incrementValue, insertAt, invariant, isArray, isBoolean, isDev, isEmpty, isEqual, isFunction, isNaN, isNull, isNumber, isObject, isObjectLike, isPlainObject, isString, isValueAtMax, isValueAtMin, isValueWithinRange, json, last, match, mod, nan, next, nextIndex, noop, omit, pick, prev, prevIndex, remove, removeAt, roundToDpr, roundToStepPrecision, roundValue, runIfFn, setValueAtIndex, snapValueToStep, splitProps, toArray, toFixedNumber, tryCatch, uniq, uuid, warn, wrap };\n","/* eslint @typescript-eslint/no-explicit-any: off */\n// symbols\nconst TRACK_MEMO_SYMBOL = Symbol();\nconst GET_ORIGINAL_SYMBOL = Symbol();\n// properties\nconst AFFECTED_PROPERTY = 'a';\nconst IS_TARGET_COPIED_PROPERTY = 'f';\nconst PROXY_PROPERTY = 'p';\nconst PROXY_CACHE_PROPERTY = 'c';\nconst TARGET_CACHE_PROPERTY = 't';\nconst HAS_KEY_PROPERTY = 'h';\nconst ALL_OWN_KEYS_PROPERTY = 'w';\nconst HAS_OWN_KEY_PROPERTY = 'o';\nconst KEYS_PROPERTY = 'k';\n// function to create a new bare proxy\nlet newProxy = (target, handler) => new Proxy(target, handler);\n// get object prototype\nconst getProto = Object.getPrototypeOf;\nconst objectsToTrack = new WeakMap();\n// check if obj is a plain object or an array\nconst isObjectToTrack = (obj) => obj &&\n (objectsToTrack.has(obj)\n ? objectsToTrack.get(obj)\n : getProto(obj) === Object.prototype || getProto(obj) === Array.prototype);\n// check if it is object\nconst isObject = (x) => typeof x === 'object' && x !== null;\n// Properties that are both non-configurable and non-writable will break\n// the proxy get trap when we try to return a recursive/child compare proxy\n// from them. We can avoid this by making a copy of the target object with\n// all descriptors marked as configurable, see `copyTargetObject`.\n// See: https://github.com/dai-shi/proxy-compare/pull/8\nconst needsToCopyTargetObject = (obj) => Object.values(Object.getOwnPropertyDescriptors(obj)).some((descriptor) => !descriptor.configurable && !descriptor.writable);\n// Make a copy with all descriptors marked as configurable.\nconst copyTargetObject = (obj) => {\n if (Array.isArray(obj)) {\n // Arrays need a special way to copy\n return Array.from(obj);\n }\n // For non-array objects, we create a new object keeping the prototype\n // with changing all configurable options (otherwise, proxies will complain)\n const descriptors = Object.getOwnPropertyDescriptors(obj);\n Object.values(descriptors).forEach((desc) => {\n desc.configurable = true;\n });\n return Object.create(getProto(obj), descriptors);\n};\nconst createProxyHandler = (origObj, isTargetCopied) => {\n const state = {\n [IS_TARGET_COPIED_PROPERTY]: isTargetCopied,\n };\n let trackObject = false; // for trackMemo\n const recordUsage = (type, key) => {\n if (!trackObject) {\n let used = state[AFFECTED_PROPERTY].get(origObj);\n if (!used) {\n used = {};\n state[AFFECTED_PROPERTY].set(origObj, used);\n }\n if (type === ALL_OWN_KEYS_PROPERTY) {\n used[ALL_OWN_KEYS_PROPERTY] = true;\n }\n else {\n let set = used[type];\n if (!set) {\n set = new Set();\n used[type] = set;\n }\n set.add(key);\n }\n }\n };\n const recordObjectAsUsed = () => {\n trackObject = true;\n state[AFFECTED_PROPERTY].delete(origObj);\n };\n const handler = {\n get(target, key) {\n if (key === GET_ORIGINAL_SYMBOL) {\n return origObj;\n }\n recordUsage(KEYS_PROPERTY, key);\n return createProxy(Reflect.get(target, key), state[AFFECTED_PROPERTY], state[PROXY_CACHE_PROPERTY], state[TARGET_CACHE_PROPERTY]);\n },\n has(target, key) {\n if (key === TRACK_MEMO_SYMBOL) {\n recordObjectAsUsed();\n return true;\n }\n recordUsage(HAS_KEY_PROPERTY, key);\n return Reflect.has(target, key);\n },\n getOwnPropertyDescriptor(target, key) {\n recordUsage(HAS_OWN_KEY_PROPERTY, key);\n return Reflect.getOwnPropertyDescriptor(target, key);\n },\n ownKeys(target) {\n recordUsage(ALL_OWN_KEYS_PROPERTY);\n return Reflect.ownKeys(target);\n },\n };\n if (isTargetCopied) {\n handler.set = handler.deleteProperty = () => false;\n }\n return [handler, state];\n};\nconst getOriginalObject = (obj) => \n// unwrap proxy\nobj[GET_ORIGINAL_SYMBOL] ||\n // otherwise\n obj;\n/**\n * Create a proxy.\n *\n * This function will create a proxy at top level and proxy nested objects as you access them,\n * in order to keep track of which properties were accessed via get/has proxy handlers:\n *\n * NOTE: Printing of WeakMap is hard to inspect and not very readable\n * for this purpose you can use the `affectedToPathList` helper.\n *\n * @param {object} obj - Object that will be wrapped on the proxy.\n * @param {WeakMap} affected -\n * WeakMap that will hold the tracking of which properties in the proxied object were accessed.\n * @param {WeakMap} [proxyCache] -\n * WeakMap that will help keep referential identity for proxies.\n * @returns {Proxy} - Object wrapped in a proxy.\n *\n * @example\n * import { createProxy } from 'proxy-compare';\n *\n * const original = { a: \"1\", c: \"2\", d: { e: \"3\" } };\n * const affected = new WeakMap();\n * const proxy = createProxy(original, affected);\n *\n * proxy.a // Will mark as used and track its value.\n * // This will update the affected WeakMap with original as key\n * // and a Set with \"a\"\n *\n * proxy.d // Will mark \"d\" as accessed to track and proxy itself ({ e: \"3\" }).\n * // This will update the affected WeakMap with original as key\n * // and a Set with \"d\"\n */\nexport const createProxy = (obj, affected, proxyCache, targetCache) => {\n if (!isObjectToTrack(obj))\n return obj;\n let targetAndCopied = targetCache && targetCache.get(obj);\n if (!targetAndCopied) {\n const target = getOriginalObject(obj);\n if (needsToCopyTargetObject(target)) {\n targetAndCopied = [target, copyTargetObject(target)];\n }\n else {\n targetAndCopied = [target];\n }\n targetCache === null || targetCache === void 0 ? void 0 : targetCache.set(obj, targetAndCopied);\n }\n const [target, copiedTarget] = targetAndCopied;\n let handlerAndState = proxyCache && proxyCache.get(target);\n if (!handlerAndState ||\n handlerAndState[1][IS_TARGET_COPIED_PROPERTY] !== !!copiedTarget) {\n handlerAndState = createProxyHandler(target, !!copiedTarget);\n handlerAndState[1][PROXY_PROPERTY] = newProxy(copiedTarget || target, handlerAndState[0]);\n if (proxyCache) {\n proxyCache.set(target, handlerAndState);\n }\n }\n handlerAndState[1][AFFECTED_PROPERTY] = affected;\n handlerAndState[1][PROXY_CACHE_PROPERTY] = proxyCache;\n handlerAndState[1][TARGET_CACHE_PROPERTY] = targetCache;\n return handlerAndState[1][PROXY_PROPERTY];\n};\nconst isAllOwnKeysChanged = (prevObj, nextObj) => {\n const prevKeys = Reflect.ownKeys(prevObj);\n const nextKeys = Reflect.ownKeys(nextObj);\n return (prevKeys.length !== nextKeys.length ||\n prevKeys.some((k, i) => k !== nextKeys[i]));\n};\n/**\n * Compare changes on objects.\n *\n * This will compare the affected properties on tracked objects inside the proxy\n * to check if there were any changes made to it,\n * by default if no property was accessed on the proxy it will attempt to do a\n * reference equality check for the objects provided (Object.is(a, b)). If you access a property\n * on the proxy, then isChanged will only compare the affected properties.\n *\n * @param {object} prevObj - The previous object to compare.\n * @param {object} nextObj - Object to compare with the previous one.\n * @param {WeakMap} affected -\n * WeakMap that holds the tracking of which properties in the proxied object were accessed.\n * @param {WeakMap} [cache] -\n * WeakMap that holds a cache of the comparisons for better performance with repetitive comparisons,\n * and to avoid infinite loop with circular structures.\n * @returns {boolean} - Boolean indicating if the affected property on the object has changed.\n *\n * @example\n * import { createProxy, isChanged } from 'proxy-compare';\n *\n * const obj = { a: \"1\", c: \"2\", d: { e: \"3\" } };\n * const affected = new WeakMap();\n *\n * const proxy = createProxy(obj, affected);\n *\n * proxy.a\n *\n * isChanged(obj, { a: \"1\" }, affected) // false\n *\n * proxy.a = \"2\"\n *\n * isChanged(obj, { a: \"1\" }, affected) // true\n */\nexport const isChanged = (prevObj, nextObj, affected, cache, // for object with cycles\nisEqual = Object.is) => {\n if (isEqual(prevObj, nextObj)) {\n return false;\n }\n if (!isObject(prevObj) || !isObject(nextObj))\n return true;\n const used = affected.get(getOriginalObject(prevObj));\n if (!used)\n return true;\n if (cache) {\n const hit = cache.get(prevObj);\n if (hit === nextObj) {\n return false;\n }\n // for object with cycles\n cache.set(prevObj, nextObj);\n }\n let changed = null;\n for (const key of used[HAS_KEY_PROPERTY] || []) {\n changed = Reflect.has(prevObj, key) !== Reflect.has(nextObj, key);\n if (changed)\n return changed;\n }\n if (used[ALL_OWN_KEYS_PROPERTY] === true) {\n changed = isAllOwnKeysChanged(prevObj, nextObj);\n if (changed)\n return changed;\n }\n else {\n for (const key of used[HAS_OWN_KEY_PROPERTY] || []) {\n const hasPrev = !!Reflect.getOwnPropertyDescriptor(prevObj, key);\n const hasNext = !!Reflect.getOwnPropertyDescriptor(nextObj, key);\n changed = hasPrev !== hasNext;\n if (changed)\n return changed;\n }\n }\n for (const key of used[KEYS_PROPERTY] || []) {\n changed = isChanged(prevObj[key], nextObj[key], affected, cache, isEqual);\n if (changed)\n return changed;\n }\n if (changed === null)\n throw new Error('invalid used');\n return changed;\n};\n// explicitly track object with memo\nexport const trackMemo = (obj) => {\n if (isObjectToTrack(obj)) {\n return TRACK_MEMO_SYMBOL in obj;\n }\n return false;\n};\n/**\n * Unwrap proxy to get the original object.\n *\n * Used to retrieve the original object used to create the proxy instance with `createProxy`.\n *\n * @param {Proxy} obj - The proxy wrapper of the originial object.\n * @returns {object | null} - Return either the unwrapped object if exists.\n *\n * @example\n * import { createProxy, getUntracked } from 'proxy-compare';\n *\n * const original = { a: \"1\", c: \"2\", d: { e: \"3\" } };\n * const affected = new WeakMap();\n *\n * const proxy = createProxy(original, affected);\n * const originalFromProxy = getUntracked(proxy)\n *\n * Object.is(original, originalFromProxy) // true\n * isChanged(original, originalFromProxy, affected) // false\n */\nexport const getUntracked = (obj) => {\n if (isObjectToTrack(obj)) {\n return obj[GET_ORIGINAL_SYMBOL] || null;\n }\n return null;\n};\n/**\n * Mark object to be tracked.\n *\n * This function marks an object that will be passed into `createProxy`\n * as marked to track or not. By default only Array and Object are marked to track,\n * so this is useful for example to mark a class instance to track or to mark a object\n * to be untracked when creating your proxy.\n *\n * @param obj - Object to mark as tracked or not.\n * @param mark - Boolean indicating whether you want to track this object or not.\n * @returns - No return.\n *\n * @example\n * import { createProxy, markToTrack, isChanged } from 'proxy-compare';\n *\n * const nested = { e: \"3\" }\n *\n * markToTrack(nested, false)\n *\n * const original = { a: \"1\", c: \"2\", d: nested };\n * const affected = new WeakMap();\n *\n * const proxy = createProxy(original, affected);\n *\n * proxy.d.e\n *\n * isChanged(original, { d: { e: \"3\" } }, affected) // true\n */\nexport const markToTrack = (obj, mark = true) => {\n objectsToTrack.set(obj, mark);\n};\n/**\n * Convert `affected` to path list\n *\n * `affected` is a weak map which is not printable.\n * This function is can convert it to printable path list.\n * It's for debugging purpose.\n *\n * @param obj - An object that is used with `createProxy`.\n * @param affected - A weak map that is used with `createProxy`.\n * @param onlyWithValues - An optional boolean to exclude object getters.\n * @returns - An array of paths.\n */\nexport const affectedToPathList = (obj, affected, onlyWithValues) => {\n const list = [];\n const seen = new WeakSet();\n const walk = (x, path) => {\n var _a, _b, _c;\n if (seen.has(x)) {\n // for object with cycles\n return;\n }\n if (isObject(x)) {\n seen.add(x);\n }\n const used = isObject(x) && affected.get(getOriginalObject(x));\n if (used) {\n (_a = used[HAS_KEY_PROPERTY]) === null || _a === void 0 ? void 0 : _a.forEach((key) => {\n const segment = `:has(${String(key)})`;\n list.push(path ? [...path, segment] : [segment]);\n });\n if (used[ALL_OWN_KEYS_PROPERTY] === true) {\n const segment = ':ownKeys';\n list.push(path ? [...path, segment] : [segment]);\n }\n else {\n (_b = used[HAS_OWN_KEY_PROPERTY]) === null || _b === void 0 ? void 0 : _b.forEach((key) => {\n const segment = `:hasOwn(${String(key)})`;\n list.push(path ? [...path, segment] : [segment]);\n });\n }\n (_c = used[KEYS_PROPERTY]) === null || _c === void 0 ? void 0 : _c.forEach((key) => {\n if (!onlyWithValues ||\n 'value' in (Object.getOwnPropertyDescriptor(x, key) || {})) {\n walk(x[key], path ? [...path, key] : [key]);\n }\n });\n }\n else if (path) {\n list.push(path);\n }\n };\n walk(obj);\n return list;\n};\n/**\n * replace newProxy function.\n *\n * This can be used if you want to use proxy-polyfill.\n * Note that proxy-polyfill can't polyfill everything.\n * Use it at your own risk.\n */\nexport const replaceNewProxy = (fn) => {\n newProxy = fn;\n};\n","import { markToTrack, getUntracked } from 'proxy-compare';\n\n// src/global.ts\nfunction glob() {\n if (typeof globalThis !== \"undefined\") return globalThis;\n if (typeof self !== \"undefined\") return self;\n if (typeof window !== \"undefined\") return window;\n if (typeof global !== \"undefined\") return global;\n}\nfunction globalRef(key, value) {\n const g = glob();\n if (!g) return value();\n g[key] || (g[key] = value());\n return g[key];\n}\nvar refSet = globalRef(\"__zag__refSet\", () => /* @__PURE__ */ new WeakSet());\n\n// src/utils.ts\nvar isReactElement = (x) => typeof x === \"object\" && x !== null && \"$$typeof\" in x && \"props\" in x;\nvar isVueElement = (x) => typeof x === \"object\" && x !== null && \"__v_isVNode\" in x;\nvar isDOMElement = (x) => typeof x === \"object\" && x !== null && \"nodeType\" in x && typeof x.nodeName === \"string\";\nvar isElement = (x) => isReactElement(x) || isVueElement(x) || isDOMElement(x);\nvar isObject = (x) => x !== null && typeof x === \"object\";\nvar canProxy = (x) => isObject(x) && !refSet.has(x) && (Array.isArray(x) || !(Symbol.iterator in x)) && !isElement(x) && !(x instanceof WeakMap) && !(x instanceof WeakSet) && !(x instanceof Error) && !(x instanceof Number) && !(x instanceof Date) && !(x instanceof String) && !(x instanceof RegExp) && !(x instanceof ArrayBuffer) && !(x instanceof Promise);\nvar isDev = () => process.env.NODE_ENV !== \"production\";\n\n// src/clone.ts\nfunction set(obj, key, val) {\n if (typeof val.value === \"object\" && !canProxy(val.value)) val.value = clone(val.value);\n if (!val.enumerable || val.get || val.set || !val.configurable || !val.writable || key === \"__proto__\") {\n Object.defineProperty(obj, key, val);\n } else obj[key] = val.value;\n}\nfunction clone(x) {\n if (typeof x !== \"object\") return x;\n var i = 0, k, list, tmp, str = Object.prototype.toString.call(x);\n if (str === \"[object Object]\") {\n tmp = Object.create(Object.getPrototypeOf(x) || null);\n } else if (str === \"[object Array]\") {\n tmp = Array(x.length);\n } else if (str === \"[object Set]\") {\n tmp = /* @__PURE__ */ new Set();\n x.forEach(function(val) {\n tmp.add(clone(val));\n });\n } else if (str === \"[object Map]\") {\n tmp = /* @__PURE__ */ new Map();\n x.forEach(function(val, key) {\n tmp.set(clone(key), clone(val));\n });\n } else if (str === \"[object Date]\") {\n tmp = /* @__PURE__ */ new Date(+x);\n } else if (str === \"[object RegExp]\") {\n tmp = new RegExp(x.source, x.flags);\n } else if (str === \"[object DataView]\") {\n tmp = new x.constructor(clone(x.buffer));\n } else if (str === \"[object ArrayBuffer]\") {\n tmp = x.slice(0);\n } else if (str === \"[object Blob]\") {\n tmp = x.slice();\n } else if (str.slice(-6) === \"Array]\") {\n tmp = new x.constructor(x);\n }\n if (tmp) {\n for (list = Object.getOwnPropertySymbols(x); i < list.length; i++) {\n set(tmp, list[i], Object.getOwnPropertyDescriptor(x, list[i]));\n }\n for (i = 0, list = Object.getOwnPropertyNames(x); i < list.length; i++) {\n if (Object.hasOwnProperty.call(tmp, k = list[i]) && tmp[k] === x[k]) continue;\n set(tmp, k, Object.getOwnPropertyDescriptor(x, k));\n }\n }\n return tmp || x;\n}\nvar proxyStateMap = globalRef(\"__zag__proxyStateMap\", () => /* @__PURE__ */ new WeakMap());\nvar buildProxyFunction = (objectIs = Object.is, newProxy = (target, handler) => new Proxy(target, handler), snapCache = /* @__PURE__ */ new WeakMap(), createSnapshot = (target, version) => {\n const cache = snapCache.get(target);\n if (cache?.[0] === version) {\n return cache[1];\n }\n const snap = Array.isArray(target) ? [] : Object.create(Object.getPrototypeOf(target));\n markToTrack(snap, true);\n snapCache.set(target, [version, snap]);\n Reflect.ownKeys(target).forEach((key) => {\n const value = Reflect.get(target, key);\n if (refSet.has(value)) {\n markToTrack(value, false);\n snap[key] = value;\n } else if (proxyStateMap.has(value)) {\n snap[key] = snapshot(value);\n } else {\n snap[key] = value;\n }\n });\n return Object.freeze(snap);\n}, proxyCache = /* @__PURE__ */ new WeakMap(), versionHolder = [1, 1], proxyFunction2 = (initialObject) => {\n if (!isObject(initialObject)) {\n throw new Error(\"object required\");\n }\n const found = proxyCache.get(initialObject);\n if (found) {\n return found;\n }\n let version = versionHolder[0];\n const listeners = /* @__PURE__ */ new Set();\n const notifyUpdate = (op, nextVersion = ++versionHolder[0]) => {\n if (version !== nextVersion) {\n version = nextVersion;\n listeners.forEach((listener) => listener(op, nextVersion));\n }\n };\n let checkVersion = versionHolder[1];\n const ensureVersion = (nextCheckVersion = ++versionHolder[1]) => {\n if (checkVersion !== nextCheckVersion && !listeners.size) {\n checkVersion = nextCheckVersion;\n propProxyStates.forEach(([propProxyState]) => {\n const propVersion = propProxyState[1](nextCheckVersion);\n if (propVersion > version) {\n version = propVersion;\n }\n });\n }\n return version;\n };\n const createPropListener = (prop) => (op, nextVersion) => {\n const newOp = [...op];\n newOp[1] = [prop, ...newOp[1]];\n notifyUpdate(newOp, nextVersion);\n };\n const propProxyStates = /* @__PURE__ */ new Map();\n const addPropListener = (prop, propProxyState) => {\n if (isDev() && propProxyStates.has(prop)) {\n throw new Error(\"prop listener already exists\");\n }\n if (listeners.size) {\n const remove = propProxyState[3](createPropListener(prop));\n propProxyStates.set(prop, [propProxyState, remove]);\n } else {\n propProxyStates.set(prop, [propProxyState]);\n }\n };\n const removePropListener = (prop) => {\n const entry = propProxyStates.get(prop);\n if (entry) {\n propProxyStates.delete(prop);\n entry[1]?.();\n }\n };\n const addListener = (listener) => {\n listeners.add(listener);\n if (listeners.size === 1) {\n propProxyStates.forEach(([propProxyState, prevRemove], prop) => {\n if (isDev() && prevRemove) {\n throw new Error(\"remove already exists\");\n }\n const remove = propProxyState[3](createPropListener(prop));\n propProxyStates.set(prop, [propProxyState, remove]);\n });\n }\n const removeListener = () => {\n listeners.delete(listener);\n if (listeners.size === 0) {\n propProxyStates.forEach(([propProxyState, remove], prop) => {\n if (remove) {\n remove();\n propProxyStates.set(prop, [propProxyState]);\n }\n });\n }\n };\n return removeListener;\n };\n const baseObject = Array.isArray(initialObject) ? [] : Object.create(Object.getPrototypeOf(initialObject));\n const handler = {\n deleteProperty(target, prop) {\n const prevValue = Reflect.get(target, prop);\n removePropListener(prop);\n const deleted = Reflect.deleteProperty(target, prop);\n if (deleted) {\n notifyUpdate([\"delete\", [prop], prevValue]);\n }\n return deleted;\n },\n set(target, prop, value, receiver) {\n const hasPrevValue = Reflect.has(target, prop);\n const prevValue = Reflect.get(target, prop, receiver);\n if (hasPrevValue && (objectIs(prevValue, value) || proxyCache.has(value) && objectIs(prevValue, proxyCache.get(value)))) {\n return true;\n }\n removePropListener(prop);\n if (isObject(value)) {\n value = getUntracked(value) || value;\n }\n let nextValue = value;\n if (Object.getOwnPropertyDescriptor(target, prop)?.set) ; else {\n if (!proxyStateMap.has(value) && canProxy(value)) {\n nextValue = proxy(value);\n }\n const childProxyState = !refSet.has(nextValue) && proxyStateMap.get(nextValue);\n if (childProxyState) {\n addPropListener(prop, childProxyState);\n }\n }\n Reflect.set(target, prop, nextValue, receiver);\n notifyUpdate([\"set\", [prop], value, prevValue]);\n return true;\n }\n };\n const proxyObject = newProxy(baseObject, handler);\n proxyCache.set(initialObject, proxyObject);\n const proxyState = [baseObject, ensureVersion, createSnapshot, addListener];\n proxyStateMap.set(proxyObject, proxyState);\n Reflect.ownKeys(initialObject).forEach((key) => {\n const desc = Object.getOwnPropertyDescriptor(initialObject, key);\n if (desc.get || desc.set) {\n Object.defineProperty(baseObject, key, desc);\n } else {\n proxyObject[key] = initialObject[key];\n }\n });\n return proxyObject;\n}) => [\n // public functions\n proxyFunction2,\n // shared state\n proxyStateMap,\n refSet,\n // internal things\n objectIs,\n newProxy,\n canProxy,\n snapCache,\n createSnapshot,\n proxyCache,\n versionHolder\n];\nvar [proxyFunction] = buildProxyFunction();\nfunction proxy(initialObject = {}) {\n return proxyFunction(initialObject);\n}\nfunction subscribe(proxyObject, callback, notifyInSync) {\n const proxyState = proxyStateMap.get(proxyObject);\n if (isDev() && !proxyState) {\n console.warn(\"Please use proxy object\");\n }\n let promise;\n const ops = [];\n const addListener = proxyState[3];\n let isListenerActive = false;\n const listener = (op) => {\n ops.push(op);\n if (notifyInSync) {\n callback(ops.splice(0));\n return;\n }\n if (!promise) {\n promise = Promise.resolve().then(() => {\n promise = void 0;\n if (isListenerActive) {\n callback(ops.splice(0));\n }\n });\n }\n };\n const removeListener = addListener(listener);\n isListenerActive = true;\n return () => {\n isListenerActive = false;\n removeListener();\n };\n}\nfunction snapshot(proxyObject) {\n const proxyState = proxyStateMap.get(proxyObject);\n if (isDev() && !proxyState) {\n console.warn(\"Please use proxy object\");\n }\n const [target, ensureVersion, createSnapshot] = proxyState;\n return createSnapshot(target, ensureVersion());\n}\nfunction ref(obj) {\n refSet.add(obj);\n return obj;\n}\n\n// src/proxy-computed.ts\nfunction proxyWithComputed(initialObject, computedFns) {\n const keys = Object.keys(computedFns);\n keys.forEach((key) => {\n if (Object.getOwnPropertyDescriptor(initialObject, key)) {\n throw new Error(\"object property already defined\");\n }\n const computedFn = computedFns[key];\n const { get, set: set2 } = typeof computedFn === \"function\" ? { get: computedFn } : computedFn;\n const desc = {};\n desc.get = () => get(snapshot(proxyObject));\n if (set2) {\n desc.set = (newValue) => set2(proxyObject, newValue);\n }\n Object.defineProperty(initialObject, key, desc);\n });\n const proxyObject = proxy(initialObject);\n return proxyObject;\n}\n\nexport { clone, globalRef, proxy, proxyWithComputed, ref, snapshot, subscribe };\n","import { clone, snapshot, proxy, proxyWithComputed, subscribe, ref } from '@zag-js/store';\nexport { proxy, ref, snapshot, subscribe } from '@zag-js/store';\nimport { compact, isPlainObject, uuid, cast, callAll, isString, isFunction, noop, isObject, runIfFn, invariant, clear, isArray, hasProp, warn, isDev, isNumber } from '@zag-js/utils';\n\nvar __defProp = Object.defineProperty;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== \"symbol\" ? key + \"\" : key, value);\nfunction deepMerge(source, ...objects) {\n for (const obj of objects) {\n const target = compact(obj);\n for (const key in target) {\n if (isPlainObject(obj[key])) {\n if (!source[key]) {\n source[key] = {};\n }\n deepMerge(source[key], obj[key]);\n } else {\n source[key] = obj[key];\n }\n }\n }\n return source;\n}\nfunction toEvent(event) {\n const obj = isString(event) ? { type: event } : event;\n return obj;\n}\nfunction toArray(value) {\n if (!value) return [];\n return isArray(value) ? value.slice() : [value];\n}\nfunction isGuardHelper(value) {\n return isObject(value) && value.predicate != null;\n}\n\n// src/guard-utils.ts\nvar Truthy = () => true;\nfunction exec(guardMap, ctx, event, meta) {\n return (guard) => {\n if (isString(guard)) {\n return !!guardMap[guard]?.(ctx, event, meta);\n }\n if (isFunction(guard)) {\n return guard(ctx, event, meta);\n }\n return guard.predicate(guardMap)(ctx, event, meta);\n };\n}\nfunction or(...conditions) {\n return {\n predicate: (guardMap) => (ctx, event, meta) => conditions.map(exec(guardMap, ctx, event, meta)).some(Boolean)\n };\n}\nfunction and(...conditions) {\n return {\n predicate: (guardMap) => (ctx, event, meta) => conditions.map(exec(guardMap, ctx, event, meta)).every(Boolean)\n };\n}\nfunction not(condition) {\n return {\n predicate: (guardMap) => (ctx, event, meta) => {\n return !exec(guardMap, ctx, event, meta)(condition);\n }\n };\n}\nfunction stateIn(...values) {\n return (_ctx, _evt, meta) => meta.state.matches(...values);\n}\nvar guards = { or, and, not, stateIn };\nfunction choose(actions) {\n return {\n predicate: (guardMap) => (ctx, event, meta) => actions.find((def) => {\n const guard = def.guard ?? Truthy;\n return exec(guardMap, ctx, event, meta)(guard);\n })?.actions\n };\n}\nfunction determineGuardFn(guard, guardMap) {\n guard = guard ?? Truthy;\n return (context, event, meta) => {\n if (isString(guard)) {\n const value = guardMap[guard];\n return isFunction(value) ? value(context, event, meta) : value;\n }\n if (isGuardHelper(guard)) {\n return guard.predicate(guardMap)(context, event, meta);\n }\n return guard?.(context, event, meta);\n };\n}\nfunction determineActionsFn(values, guardMap) {\n return (context, event, meta) => {\n if (isGuardHelper(values)) {\n return values.predicate(guardMap)(context, event, meta);\n }\n return values;\n };\n}\nfunction createProxy(config) {\n const computedContext = config.computed ?? cast({});\n const initialContext = config.context ?? cast({});\n const initialTags = config.initial ? config.states?.[config.initial]?.tags : [];\n const state = proxy({\n value: config.initial ?? \"\",\n previousValue: \"\",\n event: cast({}),\n previousEvent: cast({}),\n context: proxyWithComputed(initialContext, computedContext),\n done: false,\n tags: initialTags ?? [],\n hasTag(tag) {\n return this.tags.includes(tag);\n },\n matches(...value) {\n return value.includes(this.value);\n },\n can(event) {\n return cast(this).nextEvents.includes(event);\n },\n get nextEvents() {\n const stateEvents = config.states?.[this.value]?.[\"on\"] ?? {};\n const globalEvents = config?.on ?? {};\n return Object.keys({ ...stateEvents, ...globalEvents });\n },\n get changed() {\n if (this.event.value === \"machine.init\" /* Init */ || !this.previousValue) return false;\n return this.value !== this.previousValue;\n }\n });\n return cast(state);\n}\nfunction determineDelayFn(delay, delaysMap) {\n return (context, event) => {\n if (isNumber(delay)) return delay;\n if (isFunction(delay)) {\n return delay(context, event);\n }\n if (isString(delay)) {\n const value = Number.parseFloat(delay);\n if (!Number.isNaN(value)) {\n return value;\n }\n if (delaysMap) {\n const valueOrFn = delaysMap?.[delay];\n invariant(\n valueOrFn == null,\n `[@zag-js/core > determine-delay] Cannot determine delay for \\`${delay}\\`. It doesn't exist in \\`options.delays\\``\n );\n return isFunction(valueOrFn) ? valueOrFn(context, event) : valueOrFn;\n }\n }\n };\n}\nfunction toTarget(target) {\n return isString(target) ? { target } : target;\n}\nfunction determineTransitionFn(transitions, guardMap) {\n return (context, event, meta) => {\n return toArray(transitions).map(toTarget).find((transition) => {\n const determineGuard = determineGuardFn(transition.guard, guardMap);\n const guard = determineGuard(context, event, meta);\n return guard ?? transition.target ?? transition.actions;\n });\n };\n}\n\n// src/machine.ts\nvar Machine = class {\n // Let's get started!\n constructor(config, options) {\n __publicField(this, \"status\", \"Not Started\" /* NotStarted */);\n __publicField(this, \"state\");\n __publicField(this, \"initialState\");\n __publicField(this, \"initialContext\");\n __publicField(this, \"id\");\n __publicField(this, \"type\", \"machine\" /* Machine */);\n // Cleanup function map (per state)\n __publicField(this, \"activityEvents\", /* @__PURE__ */ new Map());\n __publicField(this, \"delayedEvents\", /* @__PURE__ */ new Map());\n // state update listeners the user can opt-in for\n __publicField(this, \"stateListeners\", /* @__PURE__ */ new Set());\n __publicField(this, \"doneListeners\", /* @__PURE__ */ new Set());\n __publicField(this, \"contextWatchers\", /* @__PURE__ */ new Set());\n // Cleanup functions (for `subscribe`)\n __publicField(this, \"removeStateListener\", noop);\n // For Parent <==> Spawned Actor relationship\n __publicField(this, \"parent\");\n __publicField(this, \"children\", /* @__PURE__ */ new Map());\n // A map of guard, action, delay implementations\n __publicField(this, \"guardMap\");\n __publicField(this, \"actionMap\");\n __publicField(this, \"delayMap\");\n __publicField(this, \"activityMap\");\n __publicField(this, \"sync\");\n __publicField(this, \"options\");\n __publicField(this, \"config\");\n // created actions\n __publicField(this, \"_created\", () => {\n if (!this.config.created) return;\n const event = toEvent(\"machine.created\" /* Created */);\n this.executeActions(this.config.created, event);\n });\n // Starts the interpreted machine.\n __publicField(this, \"start\", (init) => {\n this.state.value = \"\";\n this.state.tags = [];\n if (this.status === \"Running\" /* Running */) {\n return this;\n }\n this.status = \"Running\" /* Running */;\n this.removeStateListener = subscribe(\n this.state,\n () => {\n this.stateListeners.forEach((listener) => {\n listener(this.stateSnapshot);\n });\n },\n this.sync\n );\n this.setupContextWatchers();\n this.executeActivities(toEvent(\"machine.start\" /* Start */), toArray(this.config.activities), \"machine.start\" /* Start */);\n this.executeActions(this.config.entry, toEvent(\"machine.start\" /* Start */));\n const event = toEvent(\"machine.init\" /* Init */);\n const target = isObject(init) ? init.value : init;\n const context = isObject(init) ? init.context : void 0;\n if (context) {\n this.setContext(context);\n }\n const transition = {\n target: target ?? this.config.initial\n };\n const next = this.getNextStateInfo(transition, event);\n this.initialState = next;\n this.performStateChangeEffects(this.state.value, next, event);\n return this;\n });\n __publicField(this, \"setupContextWatchers\", () => {\n const { watch } = this.config;\n if (!watch) return;\n let prev = snapshot(this.state.context);\n const cleanup = subscribe(this.state.context, () => {\n const next = snapshot(this.state.context);\n for (const [key, fn] of Object.entries(watch)) {\n const isEqual = this.options.compareFns?.[key] ?? Object.is;\n if (isEqual(prev[key], next[key])) continue;\n this.executeActions(fn, this.state.event);\n }\n prev = next;\n });\n this.contextWatchers.add(cleanup);\n });\n // Stops the interpreted machine\n __publicField(this, \"stop\", () => {\n if (this.status === \"Stopped\" /* Stopped */) return;\n this.performExitEffects(this.state.value, toEvent(\"machine.stop\" /* Stop */));\n this.executeActions(this.config.exit, toEvent(\"machine.stop\" /* Stop */));\n this.setState(\"\");\n this.setEvent(\"machine.stop\" /* Stop */);\n this.stopStateListeners();\n this.stopChildren();\n this.stopActivities();\n this.stopDelayedEvents();\n this.stopContextWatchers();\n this.status = \"Stopped\" /* Stopped */;\n return this;\n });\n __publicField(this, \"stopStateListeners\", () => {\n this.removeStateListener();\n this.stateListeners.clear();\n });\n __publicField(this, \"stopContextWatchers\", () => {\n this.contextWatchers.forEach((fn) => fn());\n this.contextWatchers.clear();\n });\n __publicField(this, \"stopDelayedEvents\", () => {\n this.delayedEvents.forEach((state) => {\n state.forEach((stop) => stop());\n });\n this.delayedEvents.clear();\n });\n // Cleanup running activities (e.g `setInterval`, invoked callbacks, promises)\n __publicField(this, \"stopActivities\", (state) => {\n if (state) {\n this.activityEvents.get(state)?.forEach((stop) => stop());\n this.activityEvents.get(state)?.clear();\n this.activityEvents.delete(state);\n } else {\n this.activityEvents.forEach((state2) => {\n state2.forEach((stop) => stop());\n state2.clear();\n });\n this.activityEvents.clear();\n }\n });\n /**\n * Function to send event to spawned child machine or actor\n */\n __publicField(this, \"sendChild\", (evt, to) => {\n const event = toEvent(evt);\n const id = runIfFn(to, this.contextSnapshot);\n const child = this.children.get(id);\n if (!child) {\n invariant(`[@zag-js/core] Cannot send '${event.type}' event to unknown child`);\n }\n child.send(event);\n });\n /**\n * Function to stop a running child machine or actor\n */\n __publicField(this, \"stopChild\", (id) => {\n if (!this.children.has(id)) {\n invariant(`[@zag-js/core > stop-child] Cannot stop unknown child ${id}`);\n }\n this.children.get(id).stop();\n this.children.delete(id);\n });\n __publicField(this, \"removeChild\", (id) => {\n this.children.delete(id);\n });\n // Stop and delete spawned actors\n __publicField(this, \"stopChildren\", () => {\n this.children.forEach((child) => child.stop());\n this.children.clear();\n });\n __publicField(this, \"setParent\", (parent) => {\n this.parent = parent;\n });\n __publicField(this, \"spawn\", (src, id) => {\n const actor = runIfFn(src);\n if (id) actor.id = id;\n actor.type = \"machine.actor\" /* Actor */;\n actor.setParent(this);\n this.children.set(actor.id, cast(actor));\n actor.onDone(() => {\n this.removeChild(actor.id);\n }).start();\n return cast(ref(actor));\n });\n __publicField(this, \"stopActivity\", (key) => {\n if (!this.state.value) return;\n const cleanups = this.activityEvents.get(this.state.value);\n cleanups?.get(key)?.();\n cleanups?.delete(key);\n });\n __publicField(this, \"addActivityCleanup\", (state, key, cleanup) => {\n if (!state) return;\n if (!this.activityEvents.has(state)) {\n this.activityEvents.set(state, /* @__PURE__ */ new Map([[key, cleanup]]));\n } else {\n this.activityEvents.get(state)?.set(key, cleanup);\n }\n });\n __publicField(this, \"setState\", (target) => {\n this.state.previousValue = this.state.value;\n this.state.value = target;\n const stateNode = this.getStateNode(target);\n if (target == null) {\n clear(this.state.tags);\n } else {\n this.state.tags = toArray(stateNode?.tags);\n }\n });\n /**\n * To used within side effects for React or Vue to update context\n */\n __publicField(this, \"setContext\", (context) => {\n if (!context) return;\n deepMerge(this.state.context, compact(context));\n });\n __publicField(this, \"setOptions\", (options) => {\n const opts = compact(options);\n this.actionMap = { ...this.actionMap, ...opts.actions };\n this.delayMap = { ...this.delayMap, ...opts.delays };\n this.activityMap = { ...this.activityMap, ...opts.activities };\n this.guardMap = { ...this.guardMap, ...opts.guards };\n });\n __publicField(this, \"getStateNode\", (state) => {\n if (!state) return;\n return this.config.states?.[state];\n });\n __publicField(this, \"getNextStateInfo\", (transitions, event) => {\n const transition = this.determineTransition(transitions, event);\n const isTargetless = !transition?.target;\n const target = transition?.target ?? this.state.value;\n const changed = this.state.value !== target;\n const stateNode = this.getStateNode(target);\n const reenter = !isTargetless && !changed && !transition?.internal;\n const info = {\n reenter,\n transition,\n stateNode,\n target,\n changed\n };\n this.log(\"NextState:\", `[${event.type}]`, this.state.value, \"---->\", info.target);\n return info;\n });\n __publicField(this, \"getAfterActions\", (transition, delay) => {\n let id;\n const current = this.state.value;\n return {\n entry: () => {\n id = globalThis.setTimeout(() => {\n const next = this.getNextStateInfo(transition, this.state.event);\n this.performStateChangeEffects(current, next, this.state.event);\n }, delay);\n },\n exit: () => {\n globalThis.clearTimeout(id);\n }\n };\n });\n /**\n * All `after` events leverage `setTimeout` and `clearTimeout`,\n * we invoke the `clearTimeout` on exit and `setTimeout` on entry.\n *\n * To achieve this, we split the `after` definition into `entry` and `exit`\n * functions and append them to the state's `entry` and `exit` actions\n */\n __publicField(this, \"getDelayedEventActions\", (state) => {\n const stateNode = this.getStateNode(state);\n const event = this.state.event;\n if (!stateNode || !stateNode.after) return;\n const entries = [];\n const exits = [];\n if (isArray(stateNode.after)) {\n const transition = this.determineTransition(stateNode.after, event);\n if (!transition) return;\n if (!hasProp(transition, \"delay\")) {\n throw new Error(`[@zag-js/core > after] Delay is required for after transition: ${JSON.stringify(transition)}`);\n }\n const determineDelay = determineDelayFn(transition.delay, this.delayMap);\n const __delay = determineDelay(this.contextSnapshot, event);\n const actions = this.getAfterActions(transition, __delay);\n entries.push(actions.entry);\n exits.push(actions.exit);\n return { entries, exits };\n }\n if (isObject(stateNode.after)) {\n for (const delay in stateNode.after) {\n const transition = stateNode.after[delay];\n const determineDelay = determineDelayFn(delay, this.delayMap);\n const __delay = determineDelay(this.contextSnapshot, event);\n const actions = this.getAfterActions(transition, __delay);\n entries.push(actions.entry);\n exits.push(actions.exit);\n }\n }\n return { entries, exits };\n });\n /**\n * Function to executes defined actions. It can accept actions as string\n * (referencing `options.actions`) or actual functions.\n */\n __publicField(this, \"executeActions\", (actions, event) => {\n const pickedActions = determineActionsFn(actions, this.guardMap)(this.contextSnapshot, event, this.guardMeta);\n for (const action of toArray(pickedActions)) {\n const fn = isString(action) ? this.actionMap?.[action] : action;\n warn(\n isString(action) && !fn,\n `[@zag-js/core > execute-actions] No implementation found for action: \\`${action}\\``\n );\n fn?.(this.state.context, event, this.meta);\n }\n });\n /**\n * Function to execute running activities and registers\n * their cleanup function internally (to be called later on when we exit the state)\n */\n __publicField(this, \"executeActivities\", (event, activities, state) => {\n for (const activity of activities) {\n const fn = isString(activity) ? this.activityMap?.[activity] : activity;\n if (!fn) {\n warn(`[@zag-js/core > execute-activity] No implementation found for activity: \\`${activity}\\``);\n continue;\n }\n const cleanup = fn(this.state.context, event, this.meta);\n if (cleanup) {\n const key = isString(activity) ? activity : activity.name || uuid();\n this.addActivityCleanup(state ?? this.state.value, key, cleanup);\n }\n }\n });\n /**\n * Normalizes the `every` definition to transition. `every` can be:\n * - An array of possible actions to run (we need to pick the first match based on guard)\n * - An object of intervals and actions\n */\n __publicField(this, \"createEveryActivities\", (every, callbackfn) => {\n if (!every) return;\n if (isArray(every)) {\n const picked = toArray(every).find((transition) => {\n const delayOrFn = transition.delay;\n const determineDelay2 = determineDelayFn(delayOrFn, this.delayMap);\n const delay2 = determineDelay2(this.contextSnapshot, this.state.event);\n const determineGuard = determineGuardFn(transition.guard, this.guardMap);\n const guard = determineGuard(this.contextSnapshot, this.state.event, this.guardMeta);\n return guard ?? delay2 != null;\n });\n if (!picked) return;\n const determineDelay = determineDelayFn(picked.delay, this.delayMap);\n const delay = determineDelay(this.contextSnapshot, this.state.event);\n const activity = () => {\n const id = globalThis.setInterval(() => {\n this.executeActions(picked.actions, this.state.event);\n }, delay);\n return () => {\n globalThis.clearInterval(id);\n };\n };\n callbackfn(activity);\n } else {\n for (const interval in every) {\n const actions = every?.[interval];\n const determineDelay = determineDelayFn(interval, this.delayMap);\n const delay = determineDelay(this.contextSnapshot, this.state.event);\n const activity = () => {\n const id = globalThis.setInterval(() => {\n this.executeActions(actions, this.state.event);\n }, delay);\n return () => {\n globalThis.clearInterval(id);\n };\n };\n callbackfn(activity);\n }\n }\n });\n __publicField(this, \"setEvent\", (event) => {\n this.state.previousEvent = this.state.event;\n this.state.event = ref(toEvent(event));\n });\n __publicField(this, \"performExitEffects\", (current, event) => {\n const currentState = this.state.value;\n if (currentState === \"\") return;\n const stateNode = current ? this.getStateNode(current) : void 0;\n this.stopActivities(currentState);\n const _exit = determineActionsFn(stateNode?.exit, this.guardMap)(this.contextSnapshot, event, this.guardMeta);\n const exitActions = toArray(_exit);\n const afterExitActions = this.delayedEvents.get(currentState);\n if (afterExitActions) {\n exitActions.push(...afterExitActions);\n }\n this.executeActions(exitActions, event);\n this.delayedEvents.delete(currentState);\n });\n __publicField(this, \"performEntryEffects\", (next, event) => {\n const stateNode = this.getStateNode(next);\n const activities = toArray(stateNode?.activities);\n this.createEveryActivities(stateNode?.every, (activity) => {\n activities.unshift(activity);\n });\n if (activities.length > 0) {\n this.executeActivities(event, activities);\n }\n const pickedActions = determineActionsFn(stateNode?.entry, this.guardMap)(\n this.contextSnapshot,\n event,\n this.guardMeta\n );\n const entryActions = toArray(pickedActions);\n const afterActions = this.getDelayedEventActions(next);\n if (stateNode?.after && afterActions) {\n this.delayedEvents.set(next, afterActions?.exits);\n entryActions.push(...afterActions.entries);\n }\n this.executeActions(entryActions, event);\n if (stateNode?.type === \"final\") {\n this.state.done = true;\n this.doneListeners.forEach((listener) => {\n listener(this.stateSnapshot);\n });\n this.stop();\n }\n });\n __publicField(this, \"performTransitionEffects\", (transitions, event) => {\n const transition = this.determineTransition(transitions, event);\n this.executeActions(transition?.actions, event);\n });\n /**\n * Performs all the requires side-effects or reactions when\n * we move from state A => state B.\n *\n * The Effect order:\n * Exit actions (current state) => Transition actions => Go to state => Entry actions (next state)\n */\n __publicField(this, \"performStateChangeEffects\", (current, next, event) => {\n this.setEvent(event);\n const changed = next.changed || next.reenter;\n if (changed) {\n this.performExitEffects(current, event);\n }\n this.performTransitionEffects(next.transition, event);\n this.setState(next.target);\n if (changed) {\n this.performEntryEffects(next.target, event);\n }\n });\n __publicField(this, \"determineTransition\", (transition, event) => {\n const fn = determineTransitionFn(transition, this.guardMap);\n return fn?.(this.contextSnapshot, event, this.guardMeta);\n });\n /**\n * Function to send event to parent machine from spawned child\n */\n __publicField(this, \"sendParent\", (evt) => {\n if (!this.parent) {\n invariant(\"[@zag-js/core > send-parent] Cannot send event to an unknown parent\");\n }\n const event = toEvent(evt);\n this.parent?.send(event);\n });\n __publicField(this, \"log\", (...args) => {\n if (isDev() && this.options.debug) {\n console.log(...args);\n }\n });\n /**\n * Function to send an event to current machine\n */\n __publicField(this, \"send\", (evt) => {\n const event = toEvent(evt);\n this.transition(this.state.value, event);\n });\n __publicField(this, \"transition\", (state, evt) => {\n const stateNode = isString(state) ? this.getStateNode(state) : state?.stateNode;\n const event = toEvent(evt);\n if (!stateNode && !this.config.on) {\n const msg = this.status === \"Stopped\" /* Stopped */ ? \"[@zag-js/core > transition] Cannot transition a stopped machine\" : `[@zag-js/core > transition] State does not have a definition for \\`state\\`: ${state}, \\`event\\`: ${event.type}`;\n warn(msg);\n return;\n }\n const transitions = (\n // @ts-expect-error - Fix this\n stateNode?.on?.[event.type] ?? this.config.on?.[event.type]\n );\n const next = this.getNextStateInfo(transitions, event);\n this.performStateChangeEffects(this.state.value, next, event);\n return next.stateNode;\n });\n __publicField(this, \"subscribe\", (listener) => {\n this.stateListeners.add(listener);\n if (this.status === \"Running\" /* Running */) {\n listener(this.stateSnapshot);\n }\n return () => {\n this.stateListeners.delete(listener);\n };\n });\n __publicField(this, \"onDone\", (listener) => {\n this.doneListeners.add(listener);\n return this;\n });\n __publicField(this, \"onTransition\", (listener) => {\n this.stateListeners.add(listener);\n if (this.status === \"Running\" /* Running */) {\n listener(this.stateSnapshot);\n }\n return this;\n });\n this.config = clone(config);\n this.options = clone(options ?? {});\n this.id = this.config.id ?? `machine-${uuid()}`;\n this.guardMap = this.options?.guards ?? {};\n this.actionMap = this.options?.actions ?? {};\n this.delayMap = this.options?.delays ?? {};\n this.activityMap = this.options?.activities ?? {};\n this.sync = this.options?.sync ?? false;\n this.state = createProxy(this.config);\n this.initialContext = snapshot(this.state.context);\n }\n // immutable state value\n get stateSnapshot() {\n return cast(snapshot(this.state));\n }\n getState() {\n return this.stateSnapshot;\n }\n // immutable context value\n get contextSnapshot() {\n return this.stateSnapshot.context;\n }\n /**\n * A reference to the instance methods of the machine.\n * Useful when spawning child machines and managing the communication between them.\n */\n get self() {\n const self = this;\n return {\n id: this.id,\n send: this.send.bind(this),\n sendParent: this.sendParent.bind(this),\n sendChild: this.sendChild.bind(this),\n stop: this.stop.bind(this),\n stopChild: this.stopChild.bind(this),\n spawn: this.spawn.bind(this),\n stopActivity: this.stopActivity.bind(this),\n get state() {\n return self.stateSnapshot;\n },\n get initialContext() {\n return self.initialContext;\n },\n get initialState() {\n return self.initialState?.target ?? \"\";\n }\n };\n }\n get meta() {\n return {\n state: this.stateSnapshot,\n guards: this.guardMap,\n send: this.send.bind(this),\n self: this.self,\n initialContext: this.initialContext,\n initialState: this.initialState?.target ?? \"\",\n getState: () => this.stateSnapshot,\n getAction: (key) => this.actionMap[key],\n getGuard: (key) => this.guardMap[key]\n };\n }\n get guardMeta() {\n return {\n state: this.stateSnapshot\n };\n }\n get [Symbol.toStringTag]() {\n return \"Machine\";\n }\n getHydrationState() {\n const state = this.getState();\n return {\n value: state.value,\n tags: state.tags\n };\n }\n};\nvar createMachine = (config, options) => new Machine(config, options);\nvar isMachine = (value) => {\n return value instanceof Machine || value?.type === \"machine\" /* Machine */;\n};\nvar clsx = (...args) => args.map((str) => str?.trim?.()).filter(Boolean).join(\" \");\nvar CSS_REGEX = /((?:--)?(?:\\w+-?)+)\\s*:\\s*([^;]*)/g;\nvar serialize = (style) => {\n const res = {};\n let match;\n while (match = CSS_REGEX.exec(style)) {\n res[match[1]] = match[2];\n }\n return res;\n};\nvar css = (a, b) => {\n if (isString(a)) {\n if (isString(b)) return `${a};${b}`;\n a = serialize(a);\n } else if (isString(b)) {\n b = serialize(b);\n }\n return Object.assign({}, a ?? {}, b ?? {});\n};\nfunction mergeProps(...args) {\n let result = {};\n for (let props of args) {\n for (let key in result) {\n if (key.startsWith(\"on\") && typeof result[key] === \"function\" && typeof props[key] === \"function\") {\n result[key] = callAll(props[key], result[key]);\n continue;\n }\n if (key === \"className\" || key === \"class\") {\n result[key] = clsx(result[key], props[key]);\n continue;\n }\n if (key === \"style\") {\n result[key] = css(result[key], props[key]);\n continue;\n }\n result[key] = props[key] !== void 0 ? props[key] : result[key];\n }\n for (let key in props) {\n if (result[key] === void 0) {\n result[key] = props[key];\n }\n }\n }\n return result;\n}\n\nexport { Machine, choose, createMachine, deepMerge, guards, isMachine, mergeProps };\n","// src/prop-types.ts\nfunction createNormalizer(fn) {\n return new Proxy({}, {\n get() {\n return fn;\n }\n });\n}\n\n// src/create-props.ts\nvar createProps = () => (props) => Array.from(new Set(props));\n\nexport { createNormalizer, createProps };\n","import { createAnatomy } from '@zag-js/anatomy';\nimport { createScope, queryAll, nextById, prevById, dataAttr, isSafari, getEventKey } from '@zag-js/dom-query';\nimport { first, last, createSplitProps, compact, remove, add, warn, isEqual } from '@zag-js/utils';\nimport { createMachine, guards } from '@zag-js/core';\nimport { createProps } from '@zag-js/types';\n\n// src/accordion.anatomy.ts\nvar anatomy = createAnatomy(\"accordion\").parts(\"root\", \"item\", \"itemTrigger\", \"itemContent\", \"itemIndicator\");\nvar parts = anatomy.build();\nvar dom = createScope({\n getRootId: (ctx) => ctx.ids?.root ?? `accordion:${ctx.id}`,\n getItemId: (ctx, value) => ctx.ids?.item?.(value) ?? `accordion:${ctx.id}:item:${value}`,\n getItemContentId: (ctx, value) => ctx.ids?.itemContent?.(value) ?? `accordion:${ctx.id}:content:${value}`,\n getItemTriggerId: (ctx, value) => ctx.ids?.itemTrigger?.(value) ?? `accordion:${ctx.id}:trigger:${value}`,\n getRootEl: (ctx) => dom.getById(ctx, dom.getRootId(ctx)),\n getTriggerEls: (ctx) => {\n const ownerId = CSS.escape(dom.getRootId(ctx));\n const selector = `[aria-controls][data-ownedby='${ownerId}']:not([disabled])`;\n return queryAll(dom.getRootEl(ctx), selector);\n },\n getFirstTriggerEl: (ctx) => first(dom.getTriggerEls(ctx)),\n getLastTriggerEl: (ctx) => last(dom.getTriggerEls(ctx)),\n getNextTriggerEl: (ctx, id) => nextById(dom.getTriggerEls(ctx), dom.getItemTriggerId(ctx, id)),\n getPrevTriggerEl: (ctx, id) => prevById(dom.getTriggerEls(ctx), dom.getItemTriggerId(ctx, id))\n});\n\n// src/accordion.connect.ts\nfunction connect(state, send, normalize) {\n const focusedValue = state.context.focusedValue;\n const value = state.context.value;\n const multiple = state.context.multiple;\n function setValue(value2) {\n let nextValue = value2;\n if (multiple && nextValue.length > 1) {\n nextValue = [nextValue[0]];\n }\n send({ type: \"VALUE.SET\", value: nextValue });\n }\n function getItemState(props2) {\n return {\n expanded: value.includes(props2.value),\n focused: focusedValue === props2.value,\n disabled: Boolean(props2.disabled ?? state.context.disabled)\n };\n }\n return {\n focusedValue,\n value,\n setValue,\n getItemState,\n getRootProps() {\n return normalize.element({\n ...parts.root.attrs,\n dir: state.context.dir,\n id: dom.getRootId(state.context),\n \"data-orientation\": state.context.orientation\n });\n },\n getItemProps(props2) {\n const itemState = getItemState(props2);\n return normalize.element({\n ...parts.item.attrs,\n dir: state.context.dir,\n id: dom.getItemId(state.context, props2.value),\n \"data-state\": itemState.expanded ? \"open\" : \"closed\",\n \"data-focus\": dataAttr(itemState.focused),\n \"data-disabled\": dataAttr(itemState.disabled),\n \"data-orientation\": state.context.orientation\n });\n },\n getItemContentProps(props2) {\n const itemState = getItemState(props2);\n return normalize.element({\n ...parts.itemContent.attrs,\n dir: state.context.dir,\n role: \"region\",\n id: dom.getItemContentId(state.context, props2.value),\n \"aria-labelledby\": dom.getItemTriggerId(state.context, props2.value),\n hidden: !itemState.expanded,\n \"data-state\": itemState.expanded ? \"open\" : \"closed\",\n \"data-disabled\": dataAttr(itemState.disabled),\n \"data-focus\": dataAttr(itemState.focused),\n \"data-orientation\": state.context.orientation\n });\n },\n getItemIndicatorProps(props2) {\n const itemState = getItemState(props2);\n return normalize.element({\n ...parts.itemIndicator.attrs,\n dir: state.context.dir,\n \"aria-hidden\": true,\n \"data-state\": itemState.expanded ? \"open\" : \"closed\",\n \"data-disabled\": dataAttr(itemState.disabled),\n \"data-focus\": dataAttr(itemState.focused),\n \"data-orientation\": state.context.orientation\n });\n },\n getItemTriggerProps(props2) {\n const { value: value2 } = props2;\n const itemState = getItemState(props2);\n return normalize.button({\n ...parts.itemTrigger.attrs,\n type: \"button\",\n dir: state.context.dir,\n id: dom.getItemTriggerId(state.context, value2),\n \"aria-controls\": dom.getItemContentId(state.context, value2),\n \"aria-expanded\": itemState.expanded,\n disabled: itemState.disabled,\n \"data-orientation\": state.context.orientation,\n \"aria-disabled\": itemState.disabled,\n \"data-state\": itemState.expanded ? \"open\" : \"closed\",\n \"data-ownedby\": dom.getRootId(state.context),\n onFocus() {\n if (itemState.disabled) return;\n send({ type: \"TRIGGER.FOCUS\", value: value2 });\n },\n onBlur() {\n if (itemState.disabled) return;\n send(\"TRIGGER.BLUR\");\n },\n onClick(event) {\n if (itemState.disabled) return;\n if (isSafari()) {\n event.currentTarget.focus();\n }\n send({ type: \"TRIGGER.CLICK\", value: value2 });\n },\n onKeyDown(event) {\n if (event.defaultPrevented) return;\n if (itemState.disabled) return;\n const keyMap = {\n ArrowDown() {\n if (state.context.isHorizontal) return;\n send({ type: \"GOTO.NEXT\", value: value2 });\n },\n ArrowUp() {\n if (state.context.isHorizontal) return;\n send({ type: \"GOTO.PREV\", value: value2 });\n },\n ArrowRight() {\n if (!state.context.isHorizontal) return;\n send({ type: \"GOTO.NEXT\", value: value2 });\n },\n ArrowLeft() {\n if (!state.context.isHorizontal) return;\n send({ type: \"GOTO.PREV\", value: value2 });\n },\n Home() {\n send({ type: \"GOTO.FIRST\", value: value2 });\n },\n End() {\n send({ type: \"GOTO.LAST\", value: value2 });\n }\n };\n const key = getEventKey(event, {\n dir: state.context.dir,\n orientation: state.context.orientation\n });\n const exec = keyMap[key];\n if (exec) {\n exec(event);\n event.preventDefault();\n }\n }\n });\n }\n };\n}\nvar { and, not } = guards;\nfunction machine(userContext) {\n const ctx = compact(userContext);\n return createMachine(\n {\n id: \"accordion\",\n initial: \"idle\",\n context: {\n focusedValue: null,\n value: [],\n collapsible: false,\n multiple: false,\n orientation: \"vertical\",\n ...ctx\n },\n watch: {\n value: \"coarseValue\",\n multiple: \"coarseValue\"\n },\n created: \"coarseValue\",\n computed: {\n isHorizontal: (ctx2) => ctx2.orientation === \"horizontal\"\n },\n on: {\n \"VALUE.SET\": {\n actions: [\"setValue\"]\n }\n },\n states: {\n idle: {\n on: {\n \"TRIGGER.FOCUS\": {\n target: \"focused\",\n actions: \"setFocusedValue\"\n }\n }\n },\n focused: {\n on: {\n \"GOTO.NEXT\": {\n actions: \"focusNextTrigger\"\n },\n \"GOTO.PREV\": {\n actions: \"focusPrevTrigger\"\n },\n \"TRIGGER.CLICK\": [\n {\n guard: and(\"isExpanded\", \"canToggle\"),\n actions: [\"collapse\"]\n },\n {\n guard: not(\"isExpanded\"),\n actions: [\"expand\"]\n }\n ],\n \"GOTO.FIRST\": {\n actions: \"focusFirstTrigger\"\n },\n \"GOTO.LAST\": {\n actions: \"focusLastTrigger\"\n },\n \"TRIGGER.BLUR\": {\n target: \"idle\",\n actions: \"clearFocusedValue\"\n }\n }\n }\n }\n },\n {\n guards: {\n canToggle: (ctx2) => !!ctx2.collapsible || !!ctx2.multiple,\n isExpanded: (ctx2, evt) => ctx2.value.includes(evt.value)\n },\n actions: {\n collapse(ctx2, evt) {\n const next = ctx2.multiple ? remove(ctx2.value, evt.value) : [];\n set.value(ctx2, ctx2.multiple ? next : []);\n },\n expand(ctx2, evt) {\n const next = ctx2.multiple ? add(ctx2.value, evt.value) : [evt.value];\n set.value(ctx2, next);\n },\n focusFirstTrigger(ctx2) {\n dom.getFirstTriggerEl(ctx2)?.focus();\n },\n focusLastTrigger(ctx2) {\n dom.getLastTriggerEl(ctx2)?.focus();\n },\n focusNextTrigger(ctx2) {\n if (!ctx2.focusedValue) return;\n const triggerEl = dom.getNextTriggerEl(ctx2, ctx2.focusedValue);\n triggerEl?.focus();\n },\n focusPrevTrigger(ctx2) {\n if (!ctx2.focusedValue) return;\n const triggerEl = dom.getPrevTriggerEl(ctx2, ctx2.focusedValue);\n triggerEl?.focus();\n },\n setFocusedValue(ctx2, evt) {\n set.focusedValue(ctx2, evt.value);\n },\n clearFocusedValue(ctx2) {\n set.focusedValue(ctx2, null);\n },\n setValue(ctx2, evt) {\n set.value(ctx2, evt.value);\n },\n coarseValue(ctx2) {\n if (!ctx2.multiple && ctx2.value.length > 1) {\n warn(`The value of accordion should be a single value when multiple is false.`);\n ctx2.value = [ctx2.value[0]];\n }\n }\n }\n }\n );\n}\nvar invoke = {\n change(ctx) {\n ctx.onValueChange?.({ value: Array.from(ctx.value) });\n },\n focusChange(ctx) {\n ctx.onFocusChange?.({ value: ctx.focusedValue });\n }\n};\nvar set = {\n value(ctx, value) {\n if (isEqual(ctx.value, value)) return;\n ctx.value = value;\n invoke.change(ctx);\n },\n focusedValue(ctx, value) {\n if (isEqual(ctx.focusedValue, value)) return;\n ctx.focusedValue = value;\n invoke.focusChange(ctx);\n }\n};\nvar props = createProps()([\n \"collapsible\",\n \"dir\",\n \"disabled\",\n \"getRootNode\",\n \"id\",\n \"ids\",\n \"multiple\",\n \"onFocusChange\",\n \"onValueChange\",\n \"orientation\",\n \"value\"\n]);\nvar splitProps = createSplitProps(props);\nvar itemProps = createProps()([\"value\", \"disabled\"]);\nvar splitItemProps = createSplitProps(itemProps);\n\nexport { anatomy, connect, itemProps, machine, props, splitItemProps, splitProps };\n","/**\n * @license React\n * scheduler.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';function f(a,b){var c=a.length;a.push(b);a:for(;0>>1,e=a[d];if(0>>1;dg(C,c))ng(x,C)?(a[d]=x,a[n]=c,d=n):(a[d]=C,a[m]=c,d=m);else if(ng(x,c))a[d]=x,a[n]=c,d=n;else break a}}return b}\nfunction g(a,b){var c=a.sortIndex-b.sortIndex;return 0!==c?c:a.id-b.id}if(\"object\"===typeof performance&&\"function\"===typeof performance.now){var l=performance;exports.unstable_now=function(){return l.now()}}else{var p=Date,q=p.now();exports.unstable_now=function(){return p.now()-q}}var r=[],t=[],u=1,v=null,y=3,z=!1,A=!1,B=!1,D=\"function\"===typeof setTimeout?setTimeout:null,E=\"function\"===typeof clearTimeout?clearTimeout:null,F=\"undefined\"!==typeof setImmediate?setImmediate:null;\n\"undefined\"!==typeof navigator&&void 0!==navigator.scheduling&&void 0!==navigator.scheduling.isInputPending&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function G(a){for(var b=h(t);null!==b;){if(null===b.callback)k(t);else if(b.startTime<=a)k(t),b.sortIndex=b.expirationTime,f(r,b);else break;b=h(t)}}function H(a){B=!1;G(a);if(!A)if(null!==h(r))A=!0,I(J);else{var b=h(t);null!==b&&K(H,b.startTime-a)}}\nfunction J(a,b){A=!1;B&&(B=!1,E(L),L=-1);z=!0;var c=y;try{G(b);for(v=h(r);null!==v&&(!(v.expirationTime>b)||a&&!M());){var d=v.callback;if(\"function\"===typeof d){v.callback=null;y=v.priorityLevel;var e=d(v.expirationTime<=b);b=exports.unstable_now();\"function\"===typeof e?v.callback=e:v===h(r)&&k(r);G(b)}else k(r);v=h(r)}if(null!==v)var w=!0;else{var m=h(t);null!==m&&K(H,m.startTime-b);w=!1}return w}finally{v=null,y=c,z=!1}}var N=!1,O=null,L=-1,P=5,Q=-1;\nfunction M(){return exports.unstable_now()-Qa||125d?(a.sortIndex=c,f(t,a),null===h(r)&&a===h(t)&&(B?(E(L),L=-1):B=!0,K(H,c-d))):(a.sortIndex=e,f(r,a),A||z||(A=!0,I(J)));return a};\nexports.unstable_shouldYield=M;exports.unstable_wrapCallback=function(a){var b=y;return function(){var c=y;y=b;try{return a.apply(this,arguments)}finally{y=c}}};\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/scheduler.production.min.js');\n} else {\n module.exports = require('./cjs/scheduler.development.js');\n}\n","/**\n * @license React\n * react-dom.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n/*\n Modernizr 3.0.0pre (Custom Build) | MIT\n*/\n'use strict';var aa=require(\"react\"),ca=require(\"scheduler\");function p(a){for(var b=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+a,c=1;cb}return!1}function v(a,b,c,d,e,f,g){this.acceptsBooleans=2===b||3===b||4===b;this.attributeName=d;this.attributeNamespace=e;this.mustUseProperty=c;this.propertyName=a;this.type=b;this.sanitizeURL=f;this.removeEmptyString=g}var z={};\n\"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style\".split(\" \").forEach(function(a){z[a]=new v(a,0,!1,a,null,!1,!1)});[[\"acceptCharset\",\"accept-charset\"],[\"className\",\"class\"],[\"htmlFor\",\"for\"],[\"httpEquiv\",\"http-equiv\"]].forEach(function(a){var b=a[0];z[b]=new v(b,1,!1,a[1],null,!1,!1)});[\"contentEditable\",\"draggable\",\"spellCheck\",\"value\"].forEach(function(a){z[a]=new v(a,2,!1,a.toLowerCase(),null,!1,!1)});\n[\"autoReverse\",\"externalResourcesRequired\",\"focusable\",\"preserveAlpha\"].forEach(function(a){z[a]=new v(a,2,!1,a,null,!1,!1)});\"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope\".split(\" \").forEach(function(a){z[a]=new v(a,3,!1,a.toLowerCase(),null,!1,!1)});\n[\"checked\",\"multiple\",\"muted\",\"selected\"].forEach(function(a){z[a]=new v(a,3,!0,a,null,!1,!1)});[\"capture\",\"download\"].forEach(function(a){z[a]=new v(a,4,!1,a,null,!1,!1)});[\"cols\",\"rows\",\"size\",\"span\"].forEach(function(a){z[a]=new v(a,6,!1,a,null,!1,!1)});[\"rowSpan\",\"start\"].forEach(function(a){z[a]=new v(a,5,!1,a.toLowerCase(),null,!1,!1)});var ra=/[\\-:]([a-z])/g;function sa(a){return a[1].toUpperCase()}\n\"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height\".split(\" \").forEach(function(a){var b=a.replace(ra,\nsa);z[b]=new v(b,1,!1,a,null,!1,!1)});\"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type\".split(\" \").forEach(function(a){var b=a.replace(ra,sa);z[b]=new v(b,1,!1,a,\"http://www.w3.org/1999/xlink\",!1,!1)});[\"xml:base\",\"xml:lang\",\"xml:space\"].forEach(function(a){var b=a.replace(ra,sa);z[b]=new v(b,1,!1,a,\"http://www.w3.org/XML/1998/namespace\",!1,!1)});[\"tabIndex\",\"crossOrigin\"].forEach(function(a){z[a]=new v(a,1,!1,a.toLowerCase(),null,!1,!1)});\nz.xlinkHref=new v(\"xlinkHref\",1,!1,\"xlink:href\",\"http://www.w3.org/1999/xlink\",!0,!1);[\"src\",\"href\",\"action\",\"formAction\"].forEach(function(a){z[a]=new v(a,1,!1,a.toLowerCase(),null,!0,!0)});\nfunction ta(a,b,c,d){var e=z.hasOwnProperty(b)?z[b]:null;if(null!==e?0!==e.type:d||!(2h||e[g]!==f[h]){var k=\"\\n\"+e[g].replace(\" at new \",\" at \");a.displayName&&k.includes(\"\")&&(k=k.replace(\"\",a.displayName));return k}while(1<=g&&0<=h)}break}}}finally{Na=!1,Error.prepareStackTrace=c}return(a=a?a.displayName||a.name:\"\")?Ma(a):\"\"}\nfunction Pa(a){switch(a.tag){case 5:return Ma(a.type);case 16:return Ma(\"Lazy\");case 13:return Ma(\"Suspense\");case 19:return Ma(\"SuspenseList\");case 0:case 2:case 15:return a=Oa(a.type,!1),a;case 11:return a=Oa(a.type.render,!1),a;case 1:return a=Oa(a.type,!0),a;default:return\"\"}}\nfunction Qa(a){if(null==a)return null;if(\"function\"===typeof a)return a.displayName||a.name||null;if(\"string\"===typeof a)return a;switch(a){case ya:return\"Fragment\";case wa:return\"Portal\";case Aa:return\"Profiler\";case za:return\"StrictMode\";case Ea:return\"Suspense\";case Fa:return\"SuspenseList\"}if(\"object\"===typeof a)switch(a.$$typeof){case Ca:return(a.displayName||\"Context\")+\".Consumer\";case Ba:return(a._context.displayName||\"Context\")+\".Provider\";case Da:var b=a.render;a=a.displayName;a||(a=b.displayName||\nb.name||\"\",a=\"\"!==a?\"ForwardRef(\"+a+\")\":\"ForwardRef\");return a;case Ga:return b=a.displayName||null,null!==b?b:Qa(a.type)||\"Memo\";case Ha:b=a._payload;a=a._init;try{return Qa(a(b))}catch(c){}}return null}\nfunction Ra(a){var b=a.type;switch(a.tag){case 24:return\"Cache\";case 9:return(b.displayName||\"Context\")+\".Consumer\";case 10:return(b._context.displayName||\"Context\")+\".Provider\";case 18:return\"DehydratedFragment\";case 11:return a=b.render,a=a.displayName||a.name||\"\",b.displayName||(\"\"!==a?\"ForwardRef(\"+a+\")\":\"ForwardRef\");case 7:return\"Fragment\";case 5:return b;case 4:return\"Portal\";case 3:return\"Root\";case 6:return\"Text\";case 16:return Qa(b);case 8:return b===za?\"StrictMode\":\"Mode\";case 22:return\"Offscreen\";\ncase 12:return\"Profiler\";case 21:return\"Scope\";case 13:return\"Suspense\";case 19:return\"SuspenseList\";case 25:return\"TracingMarker\";case 1:case 0:case 17:case 2:case 14:case 15:if(\"function\"===typeof b)return b.displayName||b.name||null;if(\"string\"===typeof b)return b}return null}function Sa(a){switch(typeof a){case \"boolean\":case \"number\":case \"string\":case \"undefined\":return a;case \"object\":return a;default:return\"\"}}\nfunction Ta(a){var b=a.type;return(a=a.nodeName)&&\"input\"===a.toLowerCase()&&(\"checkbox\"===b||\"radio\"===b)}\nfunction Ua(a){var b=Ta(a)?\"checked\":\"value\",c=Object.getOwnPropertyDescriptor(a.constructor.prototype,b),d=\"\"+a[b];if(!a.hasOwnProperty(b)&&\"undefined\"!==typeof c&&\"function\"===typeof c.get&&\"function\"===typeof c.set){var e=c.get,f=c.set;Object.defineProperty(a,b,{configurable:!0,get:function(){return e.call(this)},set:function(a){d=\"\"+a;f.call(this,a)}});Object.defineProperty(a,b,{enumerable:c.enumerable});return{getValue:function(){return d},setValue:function(a){d=\"\"+a},stopTracking:function(){a._valueTracker=\nnull;delete a[b]}}}}function Va(a){a._valueTracker||(a._valueTracker=Ua(a))}function Wa(a){if(!a)return!1;var b=a._valueTracker;if(!b)return!0;var c=b.getValue();var d=\"\";a&&(d=Ta(a)?a.checked?\"true\":\"false\":a.value);a=d;return a!==c?(b.setValue(a),!0):!1}function Xa(a){a=a||(\"undefined\"!==typeof document?document:void 0);if(\"undefined\"===typeof a)return null;try{return a.activeElement||a.body}catch(b){return a.body}}\nfunction Ya(a,b){var c=b.checked;return A({},b,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=c?c:a._wrapperState.initialChecked})}function Za(a,b){var c=null==b.defaultValue?\"\":b.defaultValue,d=null!=b.checked?b.checked:b.defaultChecked;c=Sa(null!=b.value?b.value:c);a._wrapperState={initialChecked:d,initialValue:c,controlled:\"checkbox\"===b.type||\"radio\"===b.type?null!=b.checked:null!=b.value}}function ab(a,b){b=b.checked;null!=b&&ta(a,\"checked\",b,!1)}\nfunction bb(a,b){ab(a,b);var c=Sa(b.value),d=b.type;if(null!=c)if(\"number\"===d){if(0===c&&\"\"===a.value||a.value!=c)a.value=\"\"+c}else a.value!==\"\"+c&&(a.value=\"\"+c);else if(\"submit\"===d||\"reset\"===d){a.removeAttribute(\"value\");return}b.hasOwnProperty(\"value\")?cb(a,b.type,c):b.hasOwnProperty(\"defaultValue\")&&cb(a,b.type,Sa(b.defaultValue));null==b.checked&&null!=b.defaultChecked&&(a.defaultChecked=!!b.defaultChecked)}\nfunction db(a,b,c){if(b.hasOwnProperty(\"value\")||b.hasOwnProperty(\"defaultValue\")){var d=b.type;if(!(\"submit\"!==d&&\"reset\"!==d||void 0!==b.value&&null!==b.value))return;b=\"\"+a._wrapperState.initialValue;c||b===a.value||(a.value=b);a.defaultValue=b}c=a.name;\"\"!==c&&(a.name=\"\");a.defaultChecked=!!a._wrapperState.initialChecked;\"\"!==c&&(a.name=c)}\nfunction cb(a,b,c){if(\"number\"!==b||Xa(a.ownerDocument)!==a)null==c?a.defaultValue=\"\"+a._wrapperState.initialValue:a.defaultValue!==\"\"+c&&(a.defaultValue=\"\"+c)}var eb=Array.isArray;\nfunction fb(a,b,c,d){a=a.options;if(b){b={};for(var e=0;e\"+b.valueOf().toString()+\"\";for(b=mb.firstChild;a.firstChild;)a.removeChild(a.firstChild);for(;b.firstChild;)a.appendChild(b.firstChild)}});\nfunction ob(a,b){if(b){var c=a.firstChild;if(c&&c===a.lastChild&&3===c.nodeType){c.nodeValue=b;return}}a.textContent=b}\nvar pb={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,\nzoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},qb=[\"Webkit\",\"ms\",\"Moz\",\"O\"];Object.keys(pb).forEach(function(a){qb.forEach(function(b){b=b+a.charAt(0).toUpperCase()+a.substring(1);pb[b]=pb[a]})});function rb(a,b,c){return null==b||\"boolean\"===typeof b||\"\"===b?\"\":c||\"number\"!==typeof b||0===b||pb.hasOwnProperty(a)&&pb[a]?(\"\"+b).trim():b+\"px\"}\nfunction sb(a,b){a=a.style;for(var c in b)if(b.hasOwnProperty(c)){var d=0===c.indexOf(\"--\"),e=rb(c,b[c],d);\"float\"===c&&(c=\"cssFloat\");d?a.setProperty(c,e):a[c]=e}}var tb=A({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});\nfunction ub(a,b){if(b){if(tb[a]&&(null!=b.children||null!=b.dangerouslySetInnerHTML))throw Error(p(137,a));if(null!=b.dangerouslySetInnerHTML){if(null!=b.children)throw Error(p(60));if(\"object\"!==typeof b.dangerouslySetInnerHTML||!(\"__html\"in b.dangerouslySetInnerHTML))throw Error(p(61));}if(null!=b.style&&\"object\"!==typeof b.style)throw Error(p(62));}}\nfunction vb(a,b){if(-1===a.indexOf(\"-\"))return\"string\"===typeof b.is;switch(a){case \"annotation-xml\":case \"color-profile\":case \"font-face\":case \"font-face-src\":case \"font-face-uri\":case \"font-face-format\":case \"font-face-name\":case \"missing-glyph\":return!1;default:return!0}}var wb=null;function xb(a){a=a.target||a.srcElement||window;a.correspondingUseElement&&(a=a.correspondingUseElement);return 3===a.nodeType?a.parentNode:a}var yb=null,zb=null,Ab=null;\nfunction Bb(a){if(a=Cb(a)){if(\"function\"!==typeof yb)throw Error(p(280));var b=a.stateNode;b&&(b=Db(b),yb(a.stateNode,a.type,b))}}function Eb(a){zb?Ab?Ab.push(a):Ab=[a]:zb=a}function Fb(){if(zb){var a=zb,b=Ab;Ab=zb=null;Bb(a);if(b)for(a=0;a>>=0;return 0===a?32:31-(pc(a)/qc|0)|0}var rc=64,sc=4194304;\nfunction tc(a){switch(a&-a){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return a&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return a&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;\ndefault:return a}}function uc(a,b){var c=a.pendingLanes;if(0===c)return 0;var d=0,e=a.suspendedLanes,f=a.pingedLanes,g=c&268435455;if(0!==g){var h=g&~e;0!==h?d=tc(h):(f&=g,0!==f&&(d=tc(f)))}else g=c&~e,0!==g?d=tc(g):0!==f&&(d=tc(f));if(0===d)return 0;if(0!==b&&b!==d&&0===(b&e)&&(e=d&-d,f=b&-b,e>=f||16===e&&0!==(f&4194240)))return b;0!==(d&4)&&(d|=c&16);b=a.entangledLanes;if(0!==b)for(a=a.entanglements,b&=d;0c;c++)b.push(a);return b}\nfunction Ac(a,b,c){a.pendingLanes|=b;536870912!==b&&(a.suspendedLanes=0,a.pingedLanes=0);a=a.eventTimes;b=31-oc(b);a[b]=c}function Bc(a,b){var c=a.pendingLanes&~b;a.pendingLanes=b;a.suspendedLanes=0;a.pingedLanes=0;a.expiredLanes&=b;a.mutableReadLanes&=b;a.entangledLanes&=b;b=a.entanglements;var d=a.eventTimes;for(a=a.expirationTimes;0=be),ee=String.fromCharCode(32),fe=!1;\nfunction ge(a,b){switch(a){case \"keyup\":return-1!==$d.indexOf(b.keyCode);case \"keydown\":return 229!==b.keyCode;case \"keypress\":case \"mousedown\":case \"focusout\":return!0;default:return!1}}function he(a){a=a.detail;return\"object\"===typeof a&&\"data\"in a?a.data:null}var ie=!1;function je(a,b){switch(a){case \"compositionend\":return he(b);case \"keypress\":if(32!==b.which)return null;fe=!0;return ee;case \"textInput\":return a=b.data,a===ee&&fe?null:a;default:return null}}\nfunction ke(a,b){if(ie)return\"compositionend\"===a||!ae&&ge(a,b)?(a=nd(),md=ld=kd=null,ie=!1,a):null;switch(a){case \"paste\":return null;case \"keypress\":if(!(b.ctrlKey||b.altKey||b.metaKey)||b.ctrlKey&&b.altKey){if(b.char&&1=b)return{node:c,offset:b-a};a=d}a:{for(;c;){if(c.nextSibling){c=c.nextSibling;break a}c=c.parentNode}c=void 0}c=Je(c)}}function Le(a,b){return a&&b?a===b?!0:a&&3===a.nodeType?!1:b&&3===b.nodeType?Le(a,b.parentNode):\"contains\"in a?a.contains(b):a.compareDocumentPosition?!!(a.compareDocumentPosition(b)&16):!1:!1}\nfunction Me(){for(var a=window,b=Xa();b instanceof a.HTMLIFrameElement;){try{var c=\"string\"===typeof b.contentWindow.location.href}catch(d){c=!1}if(c)a=b.contentWindow;else break;b=Xa(a.document)}return b}function Ne(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return b&&(\"input\"===b&&(\"text\"===a.type||\"search\"===a.type||\"tel\"===a.type||\"url\"===a.type||\"password\"===a.type)||\"textarea\"===b||\"true\"===a.contentEditable)}\nfunction Oe(a){var b=Me(),c=a.focusedElem,d=a.selectionRange;if(b!==c&&c&&c.ownerDocument&&Le(c.ownerDocument.documentElement,c)){if(null!==d&&Ne(c))if(b=d.start,a=d.end,void 0===a&&(a=b),\"selectionStart\"in c)c.selectionStart=b,c.selectionEnd=Math.min(a,c.value.length);else if(a=(b=c.ownerDocument||document)&&b.defaultView||window,a.getSelection){a=a.getSelection();var e=c.textContent.length,f=Math.min(d.start,e);d=void 0===d.end?f:Math.min(d.end,e);!a.extend&&f>d&&(e=d,d=f,f=e);e=Ke(c,f);var g=Ke(c,\nd);e&&g&&(1!==a.rangeCount||a.anchorNode!==e.node||a.anchorOffset!==e.offset||a.focusNode!==g.node||a.focusOffset!==g.offset)&&(b=b.createRange(),b.setStart(e.node,e.offset),a.removeAllRanges(),f>d?(a.addRange(b),a.extend(g.node,g.offset)):(b.setEnd(g.node,g.offset),a.addRange(b)))}b=[];for(a=c;a=a.parentNode;)1===a.nodeType&&b.push({element:a,left:a.scrollLeft,top:a.scrollTop});\"function\"===typeof c.focus&&c.focus();for(c=0;c=document.documentMode,Qe=null,Re=null,Se=null,Te=!1;\nfunction Ue(a,b,c){var d=c.window===c?c.document:9===c.nodeType?c:c.ownerDocument;Te||null==Qe||Qe!==Xa(d)||(d=Qe,\"selectionStart\"in d&&Ne(d)?d={start:d.selectionStart,end:d.selectionEnd}:(d=(d.ownerDocument&&d.ownerDocument.defaultView||window).getSelection(),d={anchorNode:d.anchorNode,anchorOffset:d.anchorOffset,focusNode:d.focusNode,focusOffset:d.focusOffset}),Se&&Ie(Se,d)||(Se=d,d=oe(Re,\"onSelect\"),0Tf||(a.current=Sf[Tf],Sf[Tf]=null,Tf--)}function G(a,b){Tf++;Sf[Tf]=a.current;a.current=b}var Vf={},H=Uf(Vf),Wf=Uf(!1),Xf=Vf;function Yf(a,b){var c=a.type.contextTypes;if(!c)return Vf;var d=a.stateNode;if(d&&d.__reactInternalMemoizedUnmaskedChildContext===b)return d.__reactInternalMemoizedMaskedChildContext;var e={},f;for(f in c)e[f]=b[f];d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=b,a.__reactInternalMemoizedMaskedChildContext=e);return e}\nfunction Zf(a){a=a.childContextTypes;return null!==a&&void 0!==a}function $f(){E(Wf);E(H)}function ag(a,b,c){if(H.current!==Vf)throw Error(p(168));G(H,b);G(Wf,c)}function bg(a,b,c){var d=a.stateNode;b=b.childContextTypes;if(\"function\"!==typeof d.getChildContext)return c;d=d.getChildContext();for(var e in d)if(!(e in b))throw Error(p(108,Ra(a)||\"Unknown\",e));return A({},c,d)}\nfunction cg(a){a=(a=a.stateNode)&&a.__reactInternalMemoizedMergedChildContext||Vf;Xf=H.current;G(H,a);G(Wf,Wf.current);return!0}function dg(a,b,c){var d=a.stateNode;if(!d)throw Error(p(169));c?(a=bg(a,b,Xf),d.__reactInternalMemoizedMergedChildContext=a,E(Wf),E(H),G(H,a)):E(Wf);G(Wf,c)}var eg=null,fg=!1,gg=!1;function hg(a){null===eg?eg=[a]:eg.push(a)}function ig(a){fg=!0;hg(a)}\nfunction jg(){if(!gg&&null!==eg){gg=!0;var a=0,b=C;try{var c=eg;for(C=1;a>=g;e-=g;rg=1<<32-oc(b)+e|c<w?(x=u,u=null):x=u.sibling;var n=r(e,u,h[w],k);if(null===n){null===u&&(u=x);break}a&&u&&null===n.alternate&&b(e,u);g=f(n,g,w);null===m?l=n:m.sibling=n;m=n;u=x}if(w===h.length)return c(e,u),I&&tg(e,w),l;if(null===u){for(;ww?(x=m,m=null):x=m.sibling;var t=r(e,m,n.value,k);if(null===t){null===m&&(m=x);break}a&&m&&null===t.alternate&&b(e,m);g=f(t,g,w);null===u?l=t:u.sibling=t;u=t;m=x}if(n.done)return c(e,\nm),I&&tg(e,w),l;if(null===m){for(;!n.done;w++,n=h.next())n=q(e,n.value,k),null!==n&&(g=f(n,g,w),null===u?l=n:u.sibling=n,u=n);I&&tg(e,w);return l}for(m=d(e,m);!n.done;w++,n=h.next())n=y(m,e,w,n.value,k),null!==n&&(a&&null!==n.alternate&&m.delete(null===n.key?w:n.key),g=f(n,g,w),null===u?l=n:u.sibling=n,u=n);a&&m.forEach(function(a){return b(e,a)});I&&tg(e,w);return l}function J(a,d,f,h){\"object\"===typeof f&&null!==f&&f.type===ya&&null===f.key&&(f=f.props.children);if(\"object\"===typeof f&&null!==f){switch(f.$$typeof){case va:a:{for(var k=\nf.key,l=d;null!==l;){if(l.key===k){k=f.type;if(k===ya){if(7===l.tag){c(a,l.sibling);d=e(l,f.props.children);d.return=a;a=d;break a}}else if(l.elementType===k||\"object\"===typeof k&&null!==k&&k.$$typeof===Ha&&Ng(k)===l.type){c(a,l.sibling);d=e(l,f.props);d.ref=Lg(a,l,f);d.return=a;a=d;break a}c(a,l);break}else b(a,l);l=l.sibling}f.type===ya?(d=Tg(f.props.children,a.mode,h,f.key),d.return=a,a=d):(h=Rg(f.type,f.key,f.props,null,a.mode,h),h.ref=Lg(a,d,f),h.return=a,a=h)}return g(a);case wa:a:{for(l=f.key;null!==\nd;){if(d.key===l)if(4===d.tag&&d.stateNode.containerInfo===f.containerInfo&&d.stateNode.implementation===f.implementation){c(a,d.sibling);d=e(d,f.children||[]);d.return=a;a=d;break a}else{c(a,d);break}else b(a,d);d=d.sibling}d=Sg(f,a.mode,h);d.return=a;a=d}return g(a);case Ha:return l=f._init,J(a,d,l(f._payload),h)}if(eb(f))return n(a,d,f,h);if(Ka(f))return t(a,d,f,h);Mg(a,f)}return\"string\"===typeof f&&\"\"!==f||\"number\"===typeof f?(f=\"\"+f,null!==d&&6===d.tag?(c(a,d.sibling),d=e(d,f),d.return=a,a=d):\n(c(a,d),d=Qg(f,a.mode,h),d.return=a,a=d),g(a)):c(a,d)}return J}var Ug=Og(!0),Vg=Og(!1),Wg=Uf(null),Xg=null,Yg=null,Zg=null;function $g(){Zg=Yg=Xg=null}function ah(a){var b=Wg.current;E(Wg);a._currentValue=b}function bh(a,b,c){for(;null!==a;){var d=a.alternate;(a.childLanes&b)!==b?(a.childLanes|=b,null!==d&&(d.childLanes|=b)):null!==d&&(d.childLanes&b)!==b&&(d.childLanes|=b);if(a===c)break;a=a.return}}\nfunction ch(a,b){Xg=a;Zg=Yg=null;a=a.dependencies;null!==a&&null!==a.firstContext&&(0!==(a.lanes&b)&&(dh=!0),a.firstContext=null)}function eh(a){var b=a._currentValue;if(Zg!==a)if(a={context:a,memoizedValue:b,next:null},null===Yg){if(null===Xg)throw Error(p(308));Yg=a;Xg.dependencies={lanes:0,firstContext:a}}else Yg=Yg.next=a;return b}var fh=null;function gh(a){null===fh?fh=[a]:fh.push(a)}\nfunction hh(a,b,c,d){var e=b.interleaved;null===e?(c.next=c,gh(b)):(c.next=e.next,e.next=c);b.interleaved=c;return ih(a,d)}function ih(a,b){a.lanes|=b;var c=a.alternate;null!==c&&(c.lanes|=b);c=a;for(a=a.return;null!==a;)a.childLanes|=b,c=a.alternate,null!==c&&(c.childLanes|=b),c=a,a=a.return;return 3===c.tag?c.stateNode:null}var jh=!1;function kh(a){a.updateQueue={baseState:a.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}\nfunction lh(a,b){a=a.updateQueue;b.updateQueue===a&&(b.updateQueue={baseState:a.baseState,firstBaseUpdate:a.firstBaseUpdate,lastBaseUpdate:a.lastBaseUpdate,shared:a.shared,effects:a.effects})}function mh(a,b){return{eventTime:a,lane:b,tag:0,payload:null,callback:null,next:null}}\nfunction nh(a,b,c){var d=a.updateQueue;if(null===d)return null;d=d.shared;if(0!==(K&2)){var e=d.pending;null===e?b.next=b:(b.next=e.next,e.next=b);d.pending=b;return ih(a,c)}e=d.interleaved;null===e?(b.next=b,gh(d)):(b.next=e.next,e.next=b);d.interleaved=b;return ih(a,c)}function oh(a,b,c){b=b.updateQueue;if(null!==b&&(b=b.shared,0!==(c&4194240))){var d=b.lanes;d&=a.pendingLanes;c|=d;b.lanes=c;Cc(a,c)}}\nfunction ph(a,b){var c=a.updateQueue,d=a.alternate;if(null!==d&&(d=d.updateQueue,c===d)){var e=null,f=null;c=c.firstBaseUpdate;if(null!==c){do{var g={eventTime:c.eventTime,lane:c.lane,tag:c.tag,payload:c.payload,callback:c.callback,next:null};null===f?e=f=g:f=f.next=g;c=c.next}while(null!==c);null===f?e=f=b:f=f.next=b}else e=f=b;c={baseState:d.baseState,firstBaseUpdate:e,lastBaseUpdate:f,shared:d.shared,effects:d.effects};a.updateQueue=c;return}a=c.lastBaseUpdate;null===a?c.firstBaseUpdate=b:a.next=\nb;c.lastBaseUpdate=b}\nfunction qh(a,b,c,d){var e=a.updateQueue;jh=!1;var f=e.firstBaseUpdate,g=e.lastBaseUpdate,h=e.shared.pending;if(null!==h){e.shared.pending=null;var k=h,l=k.next;k.next=null;null===g?f=l:g.next=l;g=k;var m=a.alternate;null!==m&&(m=m.updateQueue,h=m.lastBaseUpdate,h!==g&&(null===h?m.firstBaseUpdate=l:h.next=l,m.lastBaseUpdate=k))}if(null!==f){var q=e.baseState;g=0;m=l=k=null;h=f;do{var r=h.lane,y=h.eventTime;if((d&r)===r){null!==m&&(m=m.next={eventTime:y,lane:0,tag:h.tag,payload:h.payload,callback:h.callback,\nnext:null});a:{var n=a,t=h;r=b;y=c;switch(t.tag){case 1:n=t.payload;if(\"function\"===typeof n){q=n.call(y,q,r);break a}q=n;break a;case 3:n.flags=n.flags&-65537|128;case 0:n=t.payload;r=\"function\"===typeof n?n.call(y,q,r):n;if(null===r||void 0===r)break a;q=A({},q,r);break a;case 2:jh=!0}}null!==h.callback&&0!==h.lane&&(a.flags|=64,r=e.effects,null===r?e.effects=[h]:r.push(h))}else y={eventTime:y,lane:r,tag:h.tag,payload:h.payload,callback:h.callback,next:null},null===m?(l=m=y,k=q):m=m.next=y,g|=r;\nh=h.next;if(null===h)if(h=e.shared.pending,null===h)break;else r=h,h=r.next,r.next=null,e.lastBaseUpdate=r,e.shared.pending=null}while(1);null===m&&(k=q);e.baseState=k;e.firstBaseUpdate=l;e.lastBaseUpdate=m;b=e.shared.interleaved;if(null!==b){e=b;do g|=e.lane,e=e.next;while(e!==b)}else null===f&&(e.shared.lanes=0);rh|=g;a.lanes=g;a.memoizedState=q}}\nfunction sh(a,b,c){a=b.effects;b.effects=null;if(null!==a)for(b=0;bc?c:4;a(!0);var d=Gh.transition;Gh.transition={};try{a(!1),b()}finally{C=c,Gh.transition=d}}function wi(){return Uh().memoizedState}\nfunction xi(a,b,c){var d=yi(a);c={lane:d,action:c,hasEagerState:!1,eagerState:null,next:null};if(zi(a))Ai(b,c);else if(c=hh(a,b,c,d),null!==c){var e=R();gi(c,a,d,e);Bi(c,b,d)}}\nfunction ii(a,b,c){var d=yi(a),e={lane:d,action:c,hasEagerState:!1,eagerState:null,next:null};if(zi(a))Ai(b,e);else{var f=a.alternate;if(0===a.lanes&&(null===f||0===f.lanes)&&(f=b.lastRenderedReducer,null!==f))try{var g=b.lastRenderedState,h=f(g,c);e.hasEagerState=!0;e.eagerState=h;if(He(h,g)){var k=b.interleaved;null===k?(e.next=e,gh(b)):(e.next=k.next,k.next=e);b.interleaved=e;return}}catch(l){}finally{}c=hh(a,b,e,d);null!==c&&(e=R(),gi(c,a,d,e),Bi(c,b,d))}}\nfunction zi(a){var b=a.alternate;return a===M||null!==b&&b===M}function Ai(a,b){Jh=Ih=!0;var c=a.pending;null===c?b.next=b:(b.next=c.next,c.next=b);a.pending=b}function Bi(a,b,c){if(0!==(c&4194240)){var d=b.lanes;d&=a.pendingLanes;c|=d;b.lanes=c;Cc(a,c)}}\nvar Rh={readContext:eh,useCallback:P,useContext:P,useEffect:P,useImperativeHandle:P,useInsertionEffect:P,useLayoutEffect:P,useMemo:P,useReducer:P,useRef:P,useState:P,useDebugValue:P,useDeferredValue:P,useTransition:P,useMutableSource:P,useSyncExternalStore:P,useId:P,unstable_isNewReconciler:!1},Oh={readContext:eh,useCallback:function(a,b){Th().memoizedState=[a,void 0===b?null:b];return a},useContext:eh,useEffect:mi,useImperativeHandle:function(a,b,c){c=null!==c&&void 0!==c?c.concat([a]):null;return ki(4194308,\n4,pi.bind(null,b,a),c)},useLayoutEffect:function(a,b){return ki(4194308,4,a,b)},useInsertionEffect:function(a,b){return ki(4,2,a,b)},useMemo:function(a,b){var c=Th();b=void 0===b?null:b;a=a();c.memoizedState=[a,b];return a},useReducer:function(a,b,c){var d=Th();b=void 0!==c?c(b):b;d.memoizedState=d.baseState=b;a={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:a,lastRenderedState:b};d.queue=a;a=a.dispatch=xi.bind(null,M,a);return[d.memoizedState,a]},useRef:function(a){var b=\nTh();a={current:a};return b.memoizedState=a},useState:hi,useDebugValue:ri,useDeferredValue:function(a){return Th().memoizedState=a},useTransition:function(){var a=hi(!1),b=a[0];a=vi.bind(null,a[1]);Th().memoizedState=a;return[b,a]},useMutableSource:function(){},useSyncExternalStore:function(a,b,c){var d=M,e=Th();if(I){if(void 0===c)throw Error(p(407));c=c()}else{c=b();if(null===Q)throw Error(p(349));0!==(Hh&30)||di(d,b,c)}e.memoizedState=c;var f={value:c,getSnapshot:b};e.queue=f;mi(ai.bind(null,d,\nf,a),[a]);d.flags|=2048;bi(9,ci.bind(null,d,f,c,b),void 0,null);return c},useId:function(){var a=Th(),b=Q.identifierPrefix;if(I){var c=sg;var d=rg;c=(d&~(1<<32-oc(d)-1)).toString(32)+c;b=\":\"+b+\"R\"+c;c=Kh++;0\\x3c/script>\",a=a.removeChild(a.firstChild)):\n\"string\"===typeof d.is?a=g.createElement(c,{is:d.is}):(a=g.createElement(c),\"select\"===c&&(g=a,d.multiple?g.multiple=!0:d.size&&(g.size=d.size))):a=g.createElementNS(a,c);a[Of]=b;a[Pf]=d;zj(a,b,!1,!1);b.stateNode=a;a:{g=vb(c,d);switch(c){case \"dialog\":D(\"cancel\",a);D(\"close\",a);e=d;break;case \"iframe\":case \"object\":case \"embed\":D(\"load\",a);e=d;break;case \"video\":case \"audio\":for(e=0;eGj&&(b.flags|=128,d=!0,Dj(f,!1),b.lanes=4194304)}else{if(!d)if(a=Ch(g),null!==a){if(b.flags|=128,d=!0,c=a.updateQueue,null!==c&&(b.updateQueue=c,b.flags|=4),Dj(f,!0),null===f.tail&&\"hidden\"===f.tailMode&&!g.alternate&&!I)return S(b),null}else 2*B()-f.renderingStartTime>Gj&&1073741824!==c&&(b.flags|=128,d=!0,Dj(f,!1),b.lanes=4194304);f.isBackwards?(g.sibling=b.child,b.child=g):(c=f.last,null!==c?c.sibling=g:b.child=g,f.last=g)}if(null!==f.tail)return b=f.tail,f.rendering=\nb,f.tail=b.sibling,f.renderingStartTime=B(),b.sibling=null,c=L.current,G(L,d?c&1|2:c&1),b;S(b);return null;case 22:case 23:return Hj(),d=null!==b.memoizedState,null!==a&&null!==a.memoizedState!==d&&(b.flags|=8192),d&&0!==(b.mode&1)?0!==(fj&1073741824)&&(S(b),b.subtreeFlags&6&&(b.flags|=8192)):S(b),null;case 24:return null;case 25:return null}throw Error(p(156,b.tag));}\nfunction Ij(a,b){wg(b);switch(b.tag){case 1:return Zf(b.type)&&$f(),a=b.flags,a&65536?(b.flags=a&-65537|128,b):null;case 3:return zh(),E(Wf),E(H),Eh(),a=b.flags,0!==(a&65536)&&0===(a&128)?(b.flags=a&-65537|128,b):null;case 5:return Bh(b),null;case 13:E(L);a=b.memoizedState;if(null!==a&&null!==a.dehydrated){if(null===b.alternate)throw Error(p(340));Ig()}a=b.flags;return a&65536?(b.flags=a&-65537|128,b):null;case 19:return E(L),null;case 4:return zh(),null;case 10:return ah(b.type._context),null;case 22:case 23:return Hj(),\nnull;case 24:return null;default:return null}}var Jj=!1,U=!1,Kj=\"function\"===typeof WeakSet?WeakSet:Set,V=null;function Lj(a,b){var c=a.ref;if(null!==c)if(\"function\"===typeof c)try{c(null)}catch(d){W(a,b,d)}else c.current=null}function Mj(a,b,c){try{c()}catch(d){W(a,b,d)}}var Nj=!1;\nfunction Oj(a,b){Cf=dd;a=Me();if(Ne(a)){if(\"selectionStart\"in a)var c={start:a.selectionStart,end:a.selectionEnd};else a:{c=(c=a.ownerDocument)&&c.defaultView||window;var d=c.getSelection&&c.getSelection();if(d&&0!==d.rangeCount){c=d.anchorNode;var e=d.anchorOffset,f=d.focusNode;d=d.focusOffset;try{c.nodeType,f.nodeType}catch(F){c=null;break a}var g=0,h=-1,k=-1,l=0,m=0,q=a,r=null;b:for(;;){for(var y;;){q!==c||0!==e&&3!==q.nodeType||(h=g+e);q!==f||0!==d&&3!==q.nodeType||(k=g+d);3===q.nodeType&&(g+=\nq.nodeValue.length);if(null===(y=q.firstChild))break;r=q;q=y}for(;;){if(q===a)break b;r===c&&++l===e&&(h=g);r===f&&++m===d&&(k=g);if(null!==(y=q.nextSibling))break;q=r;r=q.parentNode}q=y}c=-1===h||-1===k?null:{start:h,end:k}}else c=null}c=c||{start:0,end:0}}else c=null;Df={focusedElem:a,selectionRange:c};dd=!1;for(V=b;null!==V;)if(b=V,a=b.child,0!==(b.subtreeFlags&1028)&&null!==a)a.return=b,V=a;else for(;null!==V;){b=V;try{var n=b.alternate;if(0!==(b.flags&1024))switch(b.tag){case 0:case 11:case 15:break;\ncase 1:if(null!==n){var t=n.memoizedProps,J=n.memoizedState,x=b.stateNode,w=x.getSnapshotBeforeUpdate(b.elementType===b.type?t:Ci(b.type,t),J);x.__reactInternalSnapshotBeforeUpdate=w}break;case 3:var u=b.stateNode.containerInfo;1===u.nodeType?u.textContent=\"\":9===u.nodeType&&u.documentElement&&u.removeChild(u.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(p(163));}}catch(F){W(b,b.return,F)}a=b.sibling;if(null!==a){a.return=b.return;V=a;break}V=b.return}n=Nj;Nj=!1;return n}\nfunction Pj(a,b,c){var d=b.updateQueue;d=null!==d?d.lastEffect:null;if(null!==d){var e=d=d.next;do{if((e.tag&a)===a){var f=e.destroy;e.destroy=void 0;void 0!==f&&Mj(b,c,f)}e=e.next}while(e!==d)}}function Qj(a,b){b=b.updateQueue;b=null!==b?b.lastEffect:null;if(null!==b){var c=b=b.next;do{if((c.tag&a)===a){var d=c.create;c.destroy=d()}c=c.next}while(c!==b)}}function Rj(a){var b=a.ref;if(null!==b){var c=a.stateNode;switch(a.tag){case 5:a=c;break;default:a=c}\"function\"===typeof b?b(a):b.current=a}}\nfunction Sj(a){var b=a.alternate;null!==b&&(a.alternate=null,Sj(b));a.child=null;a.deletions=null;a.sibling=null;5===a.tag&&(b=a.stateNode,null!==b&&(delete b[Of],delete b[Pf],delete b[of],delete b[Qf],delete b[Rf]));a.stateNode=null;a.return=null;a.dependencies=null;a.memoizedProps=null;a.memoizedState=null;a.pendingProps=null;a.stateNode=null;a.updateQueue=null}function Tj(a){return 5===a.tag||3===a.tag||4===a.tag}\nfunction Uj(a){a:for(;;){for(;null===a.sibling;){if(null===a.return||Tj(a.return))return null;a=a.return}a.sibling.return=a.return;for(a=a.sibling;5!==a.tag&&6!==a.tag&&18!==a.tag;){if(a.flags&2)continue a;if(null===a.child||4===a.tag)continue a;else a.child.return=a,a=a.child}if(!(a.flags&2))return a.stateNode}}\nfunction Vj(a,b,c){var d=a.tag;if(5===d||6===d)a=a.stateNode,b?8===c.nodeType?c.parentNode.insertBefore(a,b):c.insertBefore(a,b):(8===c.nodeType?(b=c.parentNode,b.insertBefore(a,c)):(b=c,b.appendChild(a)),c=c._reactRootContainer,null!==c&&void 0!==c||null!==b.onclick||(b.onclick=Bf));else if(4!==d&&(a=a.child,null!==a))for(Vj(a,b,c),a=a.sibling;null!==a;)Vj(a,b,c),a=a.sibling}\nfunction Wj(a,b,c){var d=a.tag;if(5===d||6===d)a=a.stateNode,b?c.insertBefore(a,b):c.appendChild(a);else if(4!==d&&(a=a.child,null!==a))for(Wj(a,b,c),a=a.sibling;null!==a;)Wj(a,b,c),a=a.sibling}var X=null,Xj=!1;function Yj(a,b,c){for(c=c.child;null!==c;)Zj(a,b,c),c=c.sibling}\nfunction Zj(a,b,c){if(lc&&\"function\"===typeof lc.onCommitFiberUnmount)try{lc.onCommitFiberUnmount(kc,c)}catch(h){}switch(c.tag){case 5:U||Lj(c,b);case 6:var d=X,e=Xj;X=null;Yj(a,b,c);X=d;Xj=e;null!==X&&(Xj?(a=X,c=c.stateNode,8===a.nodeType?a.parentNode.removeChild(c):a.removeChild(c)):X.removeChild(c.stateNode));break;case 18:null!==X&&(Xj?(a=X,c=c.stateNode,8===a.nodeType?Kf(a.parentNode,c):1===a.nodeType&&Kf(a,c),bd(a)):Kf(X,c.stateNode));break;case 4:d=X;e=Xj;X=c.stateNode.containerInfo;Xj=!0;\nYj(a,b,c);X=d;Xj=e;break;case 0:case 11:case 14:case 15:if(!U&&(d=c.updateQueue,null!==d&&(d=d.lastEffect,null!==d))){e=d=d.next;do{var f=e,g=f.destroy;f=f.tag;void 0!==g&&(0!==(f&2)?Mj(c,b,g):0!==(f&4)&&Mj(c,b,g));e=e.next}while(e!==d)}Yj(a,b,c);break;case 1:if(!U&&(Lj(c,b),d=c.stateNode,\"function\"===typeof d.componentWillUnmount))try{d.props=c.memoizedProps,d.state=c.memoizedState,d.componentWillUnmount()}catch(h){W(c,b,h)}Yj(a,b,c);break;case 21:Yj(a,b,c);break;case 22:c.mode&1?(U=(d=U)||null!==\nc.memoizedState,Yj(a,b,c),U=d):Yj(a,b,c);break;default:Yj(a,b,c)}}function ak(a){var b=a.updateQueue;if(null!==b){a.updateQueue=null;var c=a.stateNode;null===c&&(c=a.stateNode=new Kj);b.forEach(function(b){var d=bk.bind(null,a,b);c.has(b)||(c.add(b),b.then(d,d))})}}\nfunction ck(a,b){var c=b.deletions;if(null!==c)for(var d=0;de&&(e=g);d&=~f}d=e;d=B()-d;d=(120>d?120:480>d?480:1080>d?1080:1920>d?1920:3E3>d?3E3:4320>d?4320:1960*lk(d/1960))-d;if(10a?16:a;if(null===wk)var d=!1;else{a=wk;wk=null;xk=0;if(0!==(K&6))throw Error(p(331));var e=K;K|=4;for(V=a.current;null!==V;){var f=V,g=f.child;if(0!==(V.flags&16)){var h=f.deletions;if(null!==h){for(var k=0;kB()-fk?Kk(a,0):rk|=c);Dk(a,b)}function Yk(a,b){0===b&&(0===(a.mode&1)?b=1:(b=sc,sc<<=1,0===(sc&130023424)&&(sc=4194304)));var c=R();a=ih(a,b);null!==a&&(Ac(a,b,c),Dk(a,c))}function uj(a){var b=a.memoizedState,c=0;null!==b&&(c=b.retryLane);Yk(a,c)}\nfunction bk(a,b){var c=0;switch(a.tag){case 13:var d=a.stateNode;var e=a.memoizedState;null!==e&&(c=e.retryLane);break;case 19:d=a.stateNode;break;default:throw Error(p(314));}null!==d&&d.delete(b);Yk(a,c)}var Vk;\nVk=function(a,b,c){if(null!==a)if(a.memoizedProps!==b.pendingProps||Wf.current)dh=!0;else{if(0===(a.lanes&c)&&0===(b.flags&128))return dh=!1,yj(a,b,c);dh=0!==(a.flags&131072)?!0:!1}else dh=!1,I&&0!==(b.flags&1048576)&&ug(b,ng,b.index);b.lanes=0;switch(b.tag){case 2:var d=b.type;ij(a,b);a=b.pendingProps;var e=Yf(b,H.current);ch(b,c);e=Nh(null,b,d,a,e,c);var f=Sh();b.flags|=1;\"object\"===typeof e&&null!==e&&\"function\"===typeof e.render&&void 0===e.$$typeof?(b.tag=1,b.memoizedState=null,b.updateQueue=\nnull,Zf(d)?(f=!0,cg(b)):f=!1,b.memoizedState=null!==e.state&&void 0!==e.state?e.state:null,kh(b),e.updater=Ei,b.stateNode=e,e._reactInternals=b,Ii(b,d,a,c),b=jj(null,b,d,!0,f,c)):(b.tag=0,I&&f&&vg(b),Xi(null,b,e,c),b=b.child);return b;case 16:d=b.elementType;a:{ij(a,b);a=b.pendingProps;e=d._init;d=e(d._payload);b.type=d;e=b.tag=Zk(d);a=Ci(d,a);switch(e){case 0:b=cj(null,b,d,a,c);break a;case 1:b=hj(null,b,d,a,c);break a;case 11:b=Yi(null,b,d,a,c);break a;case 14:b=$i(null,b,d,Ci(d.type,a),c);break a}throw Error(p(306,\nd,\"\"));}return b;case 0:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Ci(d,e),cj(a,b,d,e,c);case 1:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Ci(d,e),hj(a,b,d,e,c);case 3:a:{kj(b);if(null===a)throw Error(p(387));d=b.pendingProps;f=b.memoizedState;e=f.element;lh(a,b);qh(b,d,null,c);var g=b.memoizedState;d=g.element;if(f.isDehydrated)if(f={element:d,isDehydrated:!1,cache:g.cache,pendingSuspenseBoundaries:g.pendingSuspenseBoundaries,transitions:g.transitions},b.updateQueue.baseState=\nf,b.memoizedState=f,b.flags&256){e=Ji(Error(p(423)),b);b=lj(a,b,d,c,e);break a}else if(d!==e){e=Ji(Error(p(424)),b);b=lj(a,b,d,c,e);break a}else for(yg=Lf(b.stateNode.containerInfo.firstChild),xg=b,I=!0,zg=null,c=Vg(b,null,d,c),b.child=c;c;)c.flags=c.flags&-3|4096,c=c.sibling;else{Ig();if(d===e){b=Zi(a,b,c);break a}Xi(a,b,d,c)}b=b.child}return b;case 5:return Ah(b),null===a&&Eg(b),d=b.type,e=b.pendingProps,f=null!==a?a.memoizedProps:null,g=e.children,Ef(d,e)?g=null:null!==f&&Ef(d,f)&&(b.flags|=32),\ngj(a,b),Xi(a,b,g,c),b.child;case 6:return null===a&&Eg(b),null;case 13:return oj(a,b,c);case 4:return yh(b,b.stateNode.containerInfo),d=b.pendingProps,null===a?b.child=Ug(b,null,d,c):Xi(a,b,d,c),b.child;case 11:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Ci(d,e),Yi(a,b,d,e,c);case 7:return Xi(a,b,b.pendingProps,c),b.child;case 8:return Xi(a,b,b.pendingProps.children,c),b.child;case 12:return Xi(a,b,b.pendingProps.children,c),b.child;case 10:a:{d=b.type._context;e=b.pendingProps;f=b.memoizedProps;\ng=e.value;G(Wg,d._currentValue);d._currentValue=g;if(null!==f)if(He(f.value,g)){if(f.children===e.children&&!Wf.current){b=Zi(a,b,c);break a}}else for(f=b.child,null!==f&&(f.return=b);null!==f;){var h=f.dependencies;if(null!==h){g=f.child;for(var k=h.firstContext;null!==k;){if(k.context===d){if(1===f.tag){k=mh(-1,c&-c);k.tag=2;var l=f.updateQueue;if(null!==l){l=l.shared;var m=l.pending;null===m?k.next=k:(k.next=m.next,m.next=k);l.pending=k}}f.lanes|=c;k=f.alternate;null!==k&&(k.lanes|=c);bh(f.return,\nc,b);h.lanes|=c;break}k=k.next}}else if(10===f.tag)g=f.type===b.type?null:f.child;else if(18===f.tag){g=f.return;if(null===g)throw Error(p(341));g.lanes|=c;h=g.alternate;null!==h&&(h.lanes|=c);bh(g,c,b);g=f.sibling}else g=f.child;if(null!==g)g.return=f;else for(g=f;null!==g;){if(g===b){g=null;break}f=g.sibling;if(null!==f){f.return=g.return;g=f;break}g=g.return}f=g}Xi(a,b,e.children,c);b=b.child}return b;case 9:return e=b.type,d=b.pendingProps.children,ch(b,c),e=eh(e),d=d(e),b.flags|=1,Xi(a,b,d,c),\nb.child;case 14:return d=b.type,e=Ci(d,b.pendingProps),e=Ci(d.type,e),$i(a,b,d,e,c);case 15:return bj(a,b,b.type,b.pendingProps,c);case 17:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Ci(d,e),ij(a,b),b.tag=1,Zf(d)?(a=!0,cg(b)):a=!1,ch(b,c),Gi(b,d,e),Ii(b,d,e,c),jj(null,b,d,!0,a,c);case 19:return xj(a,b,c);case 22:return dj(a,b,c)}throw Error(p(156,b.tag));};function Fk(a,b){return ac(a,b)}\nfunction $k(a,b,c,d){this.tag=a;this.key=c;this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null;this.index=0;this.ref=null;this.pendingProps=b;this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null;this.mode=d;this.subtreeFlags=this.flags=0;this.deletions=null;this.childLanes=this.lanes=0;this.alternate=null}function Bg(a,b,c,d){return new $k(a,b,c,d)}function aj(a){a=a.prototype;return!(!a||!a.isReactComponent)}\nfunction Zk(a){if(\"function\"===typeof a)return aj(a)?1:0;if(void 0!==a&&null!==a){a=a.$$typeof;if(a===Da)return 11;if(a===Ga)return 14}return 2}\nfunction Pg(a,b){var c=a.alternate;null===c?(c=Bg(a.tag,b,a.key,a.mode),c.elementType=a.elementType,c.type=a.type,c.stateNode=a.stateNode,c.alternate=a,a.alternate=c):(c.pendingProps=b,c.type=a.type,c.flags=0,c.subtreeFlags=0,c.deletions=null);c.flags=a.flags&14680064;c.childLanes=a.childLanes;c.lanes=a.lanes;c.child=a.child;c.memoizedProps=a.memoizedProps;c.memoizedState=a.memoizedState;c.updateQueue=a.updateQueue;b=a.dependencies;c.dependencies=null===b?null:{lanes:b.lanes,firstContext:b.firstContext};\nc.sibling=a.sibling;c.index=a.index;c.ref=a.ref;return c}\nfunction Rg(a,b,c,d,e,f){var g=2;d=a;if(\"function\"===typeof a)aj(a)&&(g=1);else if(\"string\"===typeof a)g=5;else a:switch(a){case ya:return Tg(c.children,e,f,b);case za:g=8;e|=8;break;case Aa:return a=Bg(12,c,b,e|2),a.elementType=Aa,a.lanes=f,a;case Ea:return a=Bg(13,c,b,e),a.elementType=Ea,a.lanes=f,a;case Fa:return a=Bg(19,c,b,e),a.elementType=Fa,a.lanes=f,a;case Ia:return pj(c,e,f,b);default:if(\"object\"===typeof a&&null!==a)switch(a.$$typeof){case Ba:g=10;break a;case Ca:g=9;break a;case Da:g=11;\nbreak a;case Ga:g=14;break a;case Ha:g=16;d=null;break a}throw Error(p(130,null==a?a:typeof a,\"\"));}b=Bg(g,c,b,e);b.elementType=a;b.type=d;b.lanes=f;return b}function Tg(a,b,c,d){a=Bg(7,a,d,b);a.lanes=c;return a}function pj(a,b,c,d){a=Bg(22,a,d,b);a.elementType=Ia;a.lanes=c;a.stateNode={isHidden:!1};return a}function Qg(a,b,c){a=Bg(6,a,null,b);a.lanes=c;return a}\nfunction Sg(a,b,c){b=Bg(4,null!==a.children?a.children:[],a.key,b);b.lanes=c;b.stateNode={containerInfo:a.containerInfo,pendingChildren:null,implementation:a.implementation};return b}\nfunction al(a,b,c,d,e){this.tag=b;this.containerInfo=a;this.finishedWork=this.pingCache=this.current=this.pendingChildren=null;this.timeoutHandle=-1;this.callbackNode=this.pendingContext=this.context=null;this.callbackPriority=0;this.eventTimes=zc(0);this.expirationTimes=zc(-1);this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0;this.entanglements=zc(0);this.identifierPrefix=d;this.onRecoverableError=e;this.mutableSourceEagerHydrationData=\nnull}function bl(a,b,c,d,e,f,g,h,k){a=new al(a,b,c,h,k);1===b?(b=1,!0===f&&(b|=8)):b=0;f=Bg(3,null,null,b);a.current=f;f.stateNode=a;f.memoizedState={element:d,isDehydrated:c,cache:null,transitions:null,pendingSuspenseBoundaries:null};kh(f);return a}function cl(a,b,c){var d=3 v);\nvar Portal = (props) => {\n const { children, container, disabled, getRootNode } = props;\n const isServer = typeof window === \"undefined\";\n if (isServer || disabled) return /* @__PURE__ */ jsx(Fragment, { children });\n const doc = getRootNode?.().ownerDocument ?? document;\n const mountNode = container?.current ?? doc.body;\n return /* @__PURE__ */ jsx(Fragment, { children: Children.map(children, (child) => createPortal(child, mountNode)) });\n};\n\n// ../../utilities/core/src/equal.ts\nvar isArrayLike = (value) => value?.constructor.name === \"Array\";\nvar isArrayEqual = (a, b) => {\n if (a.length !== b.length) return false;\n for (let i = 0; i < a.length; i++) {\n if (!isEqual(a[i], b[i])) return false;\n }\n return true;\n};\nvar isEqual = (a, b) => {\n if (Object.is(a, b)) return true;\n if (a == null && b != null || a != null && b == null) return false;\n if (typeof a?.isEqual === \"function\" && typeof b?.isEqual === \"function\") {\n return a.isEqual(b);\n }\n if (typeof a === \"function\" && typeof b === \"function\") {\n return a.toString() === b.toString();\n }\n if (isArrayLike(a) && isArrayLike(b)) {\n return isArrayEqual(Array.from(a), Array.from(b));\n }\n if (!(typeof a === \"object\") || !(typeof b === \"object\")) return false;\n const keys = Object.keys(b ?? /* @__PURE__ */ Object.create(null));\n const length = keys.length;\n for (let i = 0; i < length; i++) {\n const hasKey = Reflect.has(a, keys[i]);\n if (!hasKey) return false;\n }\n for (let i = 0; i < length; i++) {\n const key = keys[i];\n if (!isEqual(a[key], b[key])) return false;\n }\n return true;\n};\n\n// ../../utilities/core/src/guard.ts\nvar isDev = () => process.env.NODE_ENV !== \"production\";\nvar fnToString = Function.prototype.toString;\nfnToString.call(Object);\n\n// ../../utilities/core/src/object.ts\nfunction compact(obj) {\n if (!isPlainObject(obj) || obj === void 0) return obj;\n const keys = Reflect.ownKeys(obj).filter((key) => typeof key === \"string\");\n const filtered = {};\n for (const key of keys) {\n const value = obj[key];\n if (value !== void 0) {\n filtered[key] = compact(value);\n }\n }\n return filtered;\n}\nvar isPlainObject = (v) => {\n return v && typeof v === \"object\" && v.constructor === Object;\n};\nfunction useUpdateEffect(callback, deps) {\n const render = useRef(false);\n const effect = useRef(false);\n useEffect(() => {\n const mounted = render.current;\n const run = mounted && effect.current;\n if (run) {\n return callback();\n }\n effect.current = true;\n }, deps);\n useEffect(() => {\n render.current = true;\n return () => {\n render.current = false;\n };\n }, []);\n}\n\n// src/use-snapshot.ts\nvar targetCache = globalRef(\"__zag__targetCache\", () => /* @__PURE__ */ new WeakMap());\nfunction useSnapshot(service, options) {\n const { actions, context, sync: notifyInSync } = options ?? {};\n const lastSnapshot = useRef(void 0);\n const lastAffected = useRef(void 0);\n const currSnapshot = useSyncExternalStore(\n useCallback((callback) => subscribe(service.state, callback, notifyInSync), [notifyInSync]),\n () => {\n const nextSnapshot = snapshot(service.state);\n try {\n if (lastSnapshot.current && lastAffected.current && !isChanged(lastSnapshot.current, nextSnapshot, lastAffected.current, /* @__PURE__ */ new WeakMap())) {\n return lastSnapshot.current;\n }\n } catch {\n }\n return nextSnapshot;\n },\n () => snapshot(service.state)\n );\n service.setOptions({ actions });\n const ctx = useMemo(() => compact(context ?? {}), [context]);\n useUpdateEffect(() => {\n const entries = Object.entries(ctx);\n const previousCtx = service.contextSnapshot ?? {};\n const equality = entries.map(([key, value]) => ({\n key,\n curr: value,\n prev: previousCtx[key],\n equal: isEqual(previousCtx[key], value)\n }));\n const allEqual = equality.every(({ equal }) => equal);\n if (!allEqual) {\n service.setContext(ctx);\n }\n }, [ctx]);\n const currAffected = /* @__PURE__ */ new WeakMap();\n useEffect(() => {\n lastSnapshot.current = currSnapshot;\n lastAffected.current = currAffected;\n });\n const proxyCache = useMemo(() => /* @__PURE__ */ new WeakMap(), []);\n return createProxy(currSnapshot, currAffected, proxyCache, targetCache);\n}\n\n// src/use-actor.ts\nfunction useActor(service) {\n const state = useSnapshot(service);\n return [state, service.send];\n}\nfunction useConstant(fn) {\n const ref = useRef(void 0);\n if (!ref.current) ref.current = { v: fn() };\n return ref.current.v;\n}\nvar useSafeLayoutEffect = typeof document !== \"undefined\" ? useLayoutEffect : useEffect;\n\n// src/use-service.ts\nfunction useService(machine, options) {\n const { state: hydratedState, context } = options ?? {};\n const service = useConstant(() => {\n const instance = typeof machine === \"function\" ? machine() : machine;\n if (context) instance.setContext(context);\n instance._created();\n return instance;\n });\n const snapshotRef = useRef(void 0);\n useSafeLayoutEffect(() => {\n const stateInit = hydratedState ?? snapshotRef.current;\n service.start(stateInit);\n return () => {\n if (isDev()) {\n snapshotRef.current = service.getHydrationState();\n }\n service.stop();\n };\n }, []);\n return service;\n}\n\n// src/use-machine.ts\nfunction useMachine(machine, options) {\n const service = useService(machine, options);\n const state = useSnapshot(service, options);\n return [state, service.send, service];\n}\n\nexport { Portal, normalizeProps, useActor, useMachine };\n","'use client';\nimport { createContext } from '../../utils/create-context.js';\n\nconst [AccordionItemProvider, useAccordionItemContext] = createContext({\n name: \"AccordionItemContext\",\n hookName: \"useAccordionItemContext\",\n providerName: \"\"\n});\n\nexport { AccordionItemProvider, useAccordionItemContext };\n","function setRef(ref, value) {\n if (typeof ref === \"function\") {\n ref(value);\n } else if (ref !== null && ref !== void 0) {\n ref.current = value;\n }\n}\nfunction composeRefs(...refs) {\n return (node) => {\n for (const ref of refs) {\n setRef(ref, node);\n }\n };\n}\n\nexport { composeRefs };\n","import { mergeProps } from '@zag-js/core';\nimport { memo, forwardRef, createElement, Children, isValidElement, cloneElement } from 'react';\nimport { composeRefs } from '../utils/compose-refs.js';\n\nfunction getRef(element) {\n let getter = Object.getOwnPropertyDescriptor(element.props, \"ref\")?.get;\n let mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n if (mayWarn) {\n return element.ref;\n }\n getter = Object.getOwnPropertyDescriptor(element, \"ref\")?.get;\n mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n if (mayWarn) {\n return element.props.ref;\n }\n return element.props.ref || element.ref;\n}\nconst withAsChild = (Component) => {\n const Comp = memo(\n forwardRef((props, ref) => {\n const { asChild, children, ...restProps } = props;\n if (!asChild) {\n return createElement(Component, { ...restProps, ref }, children);\n }\n const onlyChild = Children.only(children);\n if (!isValidElement(onlyChild)) {\n return null;\n }\n const childRef = getRef(onlyChild);\n return cloneElement(onlyChild, {\n ...mergeProps(restProps, onlyChild.props),\n ref: ref ? composeRefs(ref, childRef) : childRef\n });\n })\n );\n Comp.displayName = Component.displayName || Component.name;\n return Comp;\n};\nconst jsxFactory = () => {\n const cache = /* @__PURE__ */ new Map();\n return new Proxy(withAsChild, {\n apply(_target, _thisArg, argArray) {\n return withAsChild(argArray[0]);\n },\n get(_, element) {\n const asElement = element;\n if (!cache.has(asElement)) {\n cache.set(asElement, withAsChild(asElement));\n }\n return cache.get(asElement);\n }\n });\n};\nconst ark = jsxFactory();\n\nexport { ark, jsxFactory };\n","'use client';\nconst createSplitProps = () => (props, keys) => keys.reduce(\n (previousValue, currentValue) => {\n const [target, source] = previousValue;\n const key = currentValue;\n if (source[key] !== void 0) {\n target[key] = source[key];\n }\n delete source[key];\n return [target, source];\n },\n [{}, { ...props }]\n);\n\nexport { createSplitProps };\n","'use client';\nimport { createSplitProps } from '../../utils/create-split-props.js';\n\nconst splitCollapsibleProps = (props) => createSplitProps()(props, [\n \"defaultOpen\",\n \"disabled\",\n \"id\",\n \"ids\",\n \"lazyMount\",\n \"onExitComplete\",\n \"onOpenChange\",\n \"open\",\n \"unmountOnExit\"\n]);\n\nexport { splitCollapsibleProps };\n","import { createAnatomy } from '@zag-js/anatomy';\nimport { createScope, dataAttr, raf, getComputedStyle, getEventTarget } from '@zag-js/dom-query';\nimport { createMachine, ref } from '@zag-js/core';\nimport { createSplitProps, compact } from '@zag-js/utils';\nimport { createProps } from '@zag-js/types';\n\n// src/collapsible.anatomy.ts\nvar anatomy = createAnatomy(\"collapsible\").parts(\"root\", \"trigger\", \"content\");\nvar parts = anatomy.build();\nvar dom = createScope({\n getRootId: (ctx) => ctx.ids?.root ?? `collapsible:${ctx.id}`,\n getContentId: (ctx) => ctx.ids?.content ?? `collapsible:${ctx.id}:content`,\n getTriggerId: (ctx) => ctx.ids?.trigger ?? `collapsible:${ctx.id}:trigger`,\n getRootEl: (ctx) => dom.getById(ctx, dom.getRootId(ctx)),\n getContentEl: (ctx) => dom.getById(ctx, dom.getContentId(ctx)),\n getTriggerEl: (ctx) => dom.getById(ctx, dom.getTriggerId(ctx))\n});\n\n// src/collapsible.connect.ts\nfunction connect(state, send, normalize) {\n const visible = state.matches(\"open\", \"closing\");\n const open = state.matches(\"open\");\n const height = state.context.height;\n const width = state.context.width;\n const disabled = !!state.context.disabled;\n const skip = !state.context.initial && open;\n return {\n disabled,\n visible,\n open,\n measureSize() {\n send(\"SIZE.MEASURE\");\n },\n setOpen(nextOpen) {\n if (nextOpen === open) return;\n send(nextOpen ? \"OPEN\" : \"CLOSE\");\n },\n getRootProps() {\n return normalize.element({\n ...parts.root.attrs,\n \"data-state\": open ? \"open\" : \"closed\",\n dir: state.context.dir,\n id: dom.getRootId(state.context)\n });\n },\n getContentProps() {\n return normalize.element({\n ...parts.content.attrs,\n \"data-collapsible\": \"\",\n \"data-state\": skip ? void 0 : open ? \"open\" : \"closed\",\n id: dom.getContentId(state.context),\n \"data-disabled\": dataAttr(disabled),\n hidden: !visible,\n style: {\n \"--height\": height != null ? `${height}px` : void 0,\n \"--width\": width != null ? `${width}px` : void 0\n }\n });\n },\n getTriggerProps() {\n return normalize.element({\n ...parts.trigger.attrs,\n id: dom.getTriggerId(state.context),\n dir: state.context.dir,\n type: \"button\",\n \"data-state\": open ? \"open\" : \"closed\",\n \"data-disabled\": dataAttr(disabled),\n \"aria-controls\": dom.getContentId(state.context),\n \"aria-expanded\": visible || false,\n onClick(event) {\n if (event.defaultPrevented) return;\n if (disabled) return;\n send({ type: open ? \"CLOSE\" : \"OPEN\", src: \"trigger.click\" });\n }\n });\n }\n };\n}\nfunction machine(userContext) {\n const ctx = compact(userContext);\n return createMachine(\n {\n id: \"collapsible\",\n initial: ctx.open ? \"open\" : \"closed\",\n context: {\n ...ctx,\n height: 0,\n width: 0,\n initial: false,\n stylesRef: null,\n unmountAnimationName: null\n },\n watch: {\n open: [\"setInitial\", \"computeSize\", \"toggleVisibility\"]\n },\n exit: [\"clearInitial\", \"cleanupNode\"],\n states: {\n closed: {\n tags: [\"closed\"],\n on: {\n \"CONTROLLED.OPEN\": \"open\",\n OPEN: [\n {\n guard: \"isOpenControlled\",\n actions: [\"invokeOnOpen\"]\n },\n {\n target: \"open\",\n actions: [\"setInitial\", \"computeSize\", \"invokeOnOpen\"]\n }\n ]\n }\n },\n closing: {\n tags: [\"open\"],\n activities: [\"trackExitAnimation\"],\n on: {\n \"CONTROLLED.CLOSE\": \"closed\",\n \"CONTROLLED.OPEN\": \"open\",\n OPEN: [\n {\n guard: \"isOpenControlled\",\n actions: [\"invokeOnOpen\"]\n },\n {\n target: \"open\",\n actions: [\"setInitial\", \"invokeOnOpen\"]\n }\n ],\n CLOSE: [\n {\n guard: \"isOpenControlled\",\n actions: [\"invokeOnExitComplete\"]\n },\n {\n target: \"closed\",\n actions: [\"setInitial\", \"computeSize\", \"invokeOnExitComplete\"]\n }\n ],\n \"ANIMATION.END\": {\n target: \"closed\",\n actions: [\"invokeOnExitComplete\", \"clearInitial\"]\n }\n }\n },\n open: {\n tags: [\"open\"],\n activities: [\"trackEnterAnimation\"],\n on: {\n \"CONTROLLED.CLOSE\": \"closing\",\n CLOSE: [\n {\n guard: \"isOpenControlled\",\n actions: [\"invokeOnClose\"]\n },\n {\n target: \"closing\",\n actions: [\"setInitial\", \"computeSize\", \"invokeOnClose\"]\n }\n ],\n \"SIZE.MEASURE\": {\n actions: [\"measureSize\"]\n },\n \"ANIMATION.END\": {\n actions: [\"clearInitial\"]\n }\n }\n }\n }\n },\n {\n guards: {\n isOpenControlled: (ctx2) => !!ctx2[\"open.controlled\"]\n },\n activities: {\n trackEnterAnimation(ctx2, _evt, { send }) {\n let cleanup;\n const rafCleanup = raf(() => {\n const contentEl = dom.getContentEl(ctx2);\n if (!contentEl) return;\n const animationName = getComputedStyle(contentEl).animationName;\n const hasNoAnimation = !animationName || animationName === \"none\";\n if (hasNoAnimation) {\n send({ type: \"ANIMATION.END\" });\n return;\n }\n const onEnd = (event) => {\n const target = getEventTarget(event);\n if (target === contentEl) {\n send({ type: \"ANIMATION.END\" });\n }\n };\n contentEl.addEventListener(\"animationend\", onEnd);\n cleanup = () => {\n contentEl.removeEventListener(\"animationend\", onEnd);\n };\n });\n return () => {\n rafCleanup();\n cleanup?.();\n };\n },\n trackExitAnimation(ctx2, _evt, { send }) {\n let cleanup;\n const rafCleanup = raf(() => {\n const contentEl = dom.getContentEl(ctx2);\n if (!contentEl) return;\n const animationName = getComputedStyle(contentEl).animationName;\n const hasNoAnimation = !animationName || animationName === \"none\";\n if (hasNoAnimation) {\n send({ type: \"ANIMATION.END\" });\n return;\n }\n const onEnd = (event) => {\n const win = contentEl.ownerDocument.defaultView || window;\n const animationName2 = win.getComputedStyle(contentEl).animationName;\n const target = getEventTarget(event);\n if (target === contentEl && animationName2 === ctx2.unmountAnimationName) {\n send({ type: \"ANIMATION.END\" });\n }\n };\n contentEl.addEventListener(\"animationend\", onEnd);\n cleanup = () => {\n contentEl.removeEventListener(\"animationend\", onEnd);\n };\n });\n return () => {\n rafCleanup();\n cleanup?.();\n };\n }\n },\n actions: {\n setInitial(ctx2) {\n ctx2.initial = true;\n },\n clearInitial(ctx2) {\n raf(() => {\n ctx2.initial = false;\n });\n },\n cleanupNode(ctx2) {\n ctx2.stylesRef = null;\n },\n measureSize(ctx2) {\n const contentEl = dom.getContentEl(ctx2);\n if (!contentEl) return;\n const { height, width } = contentEl.getBoundingClientRect();\n ctx2.height = height;\n ctx2.width = width;\n },\n computeSize(ctx2, evt) {\n ctx2._rafCleanup?.();\n ctx2._rafCleanup = raf(() => {\n const contentEl = dom.getContentEl(ctx2);\n if (!contentEl) return;\n ctx2.stylesRef || (ctx2.stylesRef = ref({\n animationName: contentEl.style.animationName,\n animationDuration: contentEl.style.animationDuration\n }));\n if (evt.type === \"CLOSE\" || !ctx2.open) {\n const win = contentEl.ownerDocument.defaultView || window;\n ctx2.unmountAnimationName = win.getComputedStyle(contentEl).animationName;\n }\n const hidden = contentEl.hidden;\n contentEl.style.animationName = \"none\";\n contentEl.style.animationDuration = \"0s\";\n contentEl.hidden = false;\n const rect = contentEl.getBoundingClientRect();\n ctx2.height = rect.height;\n ctx2.width = rect.width;\n if (ctx2.initial) {\n contentEl.style.animationName = ctx2.stylesRef.animationName;\n contentEl.style.animationDuration = ctx2.stylesRef.animationDuration;\n }\n contentEl.hidden = hidden;\n });\n },\n invokeOnOpen: (ctx2) => {\n ctx2.onOpenChange?.({ open: true });\n },\n invokeOnClose: (ctx2) => {\n ctx2.onOpenChange?.({ open: false });\n },\n invokeOnExitComplete(ctx2) {\n ctx2.onExitComplete?.();\n },\n toggleVisibility: (ctx2, _evt, { send }) => {\n send({ type: ctx2.open ? \"CONTROLLED.OPEN\" : \"CONTROLLED.CLOSE\" });\n }\n }\n }\n );\n}\nvar props = createProps()([\n \"dir\",\n \"disabled\",\n \"getRootNode\",\n \"id\",\n \"ids\",\n \"onExitComplete\",\n \"onOpenChange\",\n \"open.controlled\",\n \"open\"\n]);\nvar splitProps = createSplitProps(props);\n\nexport { anatomy, connect, machine, props, splitProps };\n","'use client';\nimport { createContext } from '../../utils/create-context.js';\n\nconst [EnvironmentContextProvider, useEnvironmentContext] = createContext({\n name: \"EnvironmentContext\",\n hookName: \"useEnvironmentContext\",\n providerName: \"\",\n strict: false,\n defaultValue: {\n getRootNode: () => document,\n getDocument: () => document,\n getWindow: () => window\n }\n});\n\nexport { EnvironmentContextProvider, useEnvironmentContext };\n","'use client';\nimport { useCallback, useRef } from 'react';\n\nfunction useEvent(callback, opts = {}) {\n const { sync = false } = opts;\n const callbackRef = useLatestRef(callback);\n return useCallback(\n // biome-ignore lint/suspicious/noExplicitAny: \n (...args) => {\n if (sync) return queueMicrotask(() => callbackRef.current?.(...args));\n return callbackRef.current?.(...args);\n },\n [sync, callbackRef]\n );\n}\nfunction useLatestRef(value) {\n const ref = useRef(value);\n ref.current = value;\n return ref;\n}\n\nexport { useEvent };\n","'use client';\nimport * as collapsible from '@zag-js/collapsible';\nimport { useMachine, normalizeProps } from '@zag-js/react';\nimport { useRef, useId } from 'react';\nimport { useEnvironmentContext } from '../../providers/environment/use-environment-context.js';\nimport { useLocaleContext } from '../../providers/locale/use-locale-context.js';\nimport { useEvent } from '../../utils/use-event.js';\n\nconst useCollapsible = (props = {}) => {\n const { lazyMount, unmountOnExit, ...collapsibleProps } = props;\n const wasVisible = useRef(false);\n const { dir } = useLocaleContext();\n const { getRootNode } = useEnvironmentContext();\n const initialContext = {\n id: useId(),\n dir,\n getRootNode,\n open: props.defaultOpen,\n \"open.controlled\": props.open !== void 0,\n ...collapsibleProps\n };\n const context = {\n ...initialContext,\n open: props.open,\n onOpenChange: useEvent(props.onOpenChange, { sync: true })\n };\n const [state, send] = useMachine(collapsible.machine(initialContext), { context });\n const api = collapsible.connect(state, send, normalizeProps);\n if (api.visible) {\n wasVisible.current = true;\n }\n const isUnmounted = !api.visible && !wasVisible.current && lazyMount || unmountOnExit && !api.visible && wasVisible.current;\n return { ...api, isUnmounted };\n};\n\nexport { useCollapsible };\n","'use client';\nimport { createContext } from '../../utils/create-context.js';\n\nconst [CollapsibleProvider, useCollapsibleContext] = createContext({\n name: \"CollapsibleContext\",\n hookName: \"useCollapsibleContext\",\n providerName: \"\"\n});\n\nexport { CollapsibleProvider, useCollapsibleContext };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { ark } from '../factory.js';\nimport { splitCollapsibleProps } from './split-collapsible-props.js';\nimport { useCollapsible } from './use-collapsible.js';\nimport { CollapsibleProvider } from './use-collapsible-context.js';\n\nconst CollapsibleRoot = forwardRef((props, ref) => {\n const [useCollapsibleProps, localProps] = splitCollapsibleProps(props);\n const collapsible = useCollapsible(useCollapsibleProps);\n const mergedProps = mergeProps(collapsible.getRootProps(), localProps);\n return /* @__PURE__ */ jsx(CollapsibleProvider, { value: collapsible, children: /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref }) });\n});\nCollapsibleRoot.displayName = \"CollapsibleRoot\";\n\nexport { CollapsibleRoot };\n","import { getValuePercent, getPercentValue, snapValueToStep, clampValue, toFixedNumber, mod } from '@zag-js/utils';\n\nvar __defProp = Object.defineProperty;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __publicField = (obj, key, value) => __defNormalProp(obj, key + \"\" , value);\n\n// src/color-format-gradient.ts\nvar generateRGB_R = (orientation, dir, zValue) => {\n const maskImage = `linear-gradient(to ${orientation[Number(!dir)]}, transparent, #000)`;\n const result = {\n areaStyles: {\n backgroundImage: `linear-gradient(to ${orientation[Number(dir)]},rgb(${zValue},0,0),rgb(${zValue},255,0))`\n },\n areaGradientStyles: {\n backgroundImage: `linear-gradient(to ${orientation[Number(dir)]},rgb(${zValue},0,255),rgb(${zValue},255,255))`,\n WebkitMaskImage: maskImage,\n maskImage\n }\n };\n return result;\n};\nvar generateRGB_G = (orientation, dir, zValue) => {\n const maskImage = `linear-gradient(to ${orientation[Number(!dir)]}, transparent, #000)`;\n const result = {\n areaStyles: {\n backgroundImage: `linear-gradient(to ${orientation[Number(dir)]},rgb(0,${zValue},0),rgb(255,${zValue},0))`\n },\n areaGradientStyles: {\n backgroundImage: `linear-gradient(to ${orientation[Number(dir)]},rgb(0,${zValue},255),rgb(255,${zValue},255))`,\n WebkitMaskImage: maskImage,\n maskImage\n }\n };\n return result;\n};\nvar generateRGB_B = (orientation, dir, zValue) => {\n const maskImage = `linear-gradient(to ${orientation[Number(!dir)]}, transparent, #000)`;\n const result = {\n areaStyles: {\n backgroundImage: `linear-gradient(to ${orientation[Number(dir)]},rgb(0,0,${zValue}),rgb(255,0,${zValue}))`\n },\n areaGradientStyles: {\n backgroundImage: `linear-gradient(to ${orientation[Number(dir)]},rgb(0,255,${zValue}),rgb(255,255,${zValue}))`,\n WebkitMaskImage: maskImage,\n maskImage\n }\n };\n return result;\n};\nvar generateHSL_H = (orientation, dir, zValue) => {\n const result = {\n areaStyles: {},\n areaGradientStyles: {\n background: [\n `linear-gradient(to ${orientation[Number(dir)]}, hsla(0,0%,0%,1) 0%, hsla(0,0%,0%,0) 50%, hsla(0,0%,100%,0) 50%, hsla(0,0%,100%,1) 100%)`,\n `linear-gradient(to ${orientation[Number(!dir)]},hsl(0,0%,50%),hsla(0,0%,50%,0))`,\n `hsl(${zValue}, 100%, 50%)`\n ].join(\",\")\n }\n };\n return result;\n};\nvar generateHSL_S = (orientation, dir, alphaValue) => {\n const result = {\n areaStyles: {},\n areaGradientStyles: {\n background: [\n `linear-gradient(to ${orientation[Number(!dir)]}, hsla(0,0%,0%,${alphaValue}) 0%, hsla(0,0%,0%,0) 50%, hsla(0,0%,100%,0) 50%, hsla(0,0%,100%,${alphaValue}) 100%)`,\n `linear-gradient(to ${orientation[Number(dir)]},hsla(0,100%,50%,${alphaValue}),hsla(60,100%,50%,${alphaValue}),hsla(120,100%,50%,${alphaValue}),hsla(180,100%,50%,${alphaValue}),hsla(240,100%,50%,${alphaValue}),hsla(300,100%,50%,${alphaValue}),hsla(359,100%,50%,${alphaValue}))`,\n \"hsl(0, 0%, 50%)\"\n ].join(\",\")\n }\n };\n return result;\n};\nvar generateHSL_L = (orientation, dir, zValue) => {\n const result = {\n areaStyles: {},\n areaGradientStyles: {\n backgroundImage: [\n `linear-gradient(to ${orientation[Number(!dir)]},hsl(0,0%,${zValue}%),hsla(0,0%,${zValue}%,0))`,\n `linear-gradient(to ${orientation[Number(dir)]},hsl(0,100%,${zValue}%),hsl(60,100%,${zValue}%),hsl(120,100%,${zValue}%),hsl(180,100%,${zValue}%),hsl(240,100%,${zValue}%),hsl(300,100%,${zValue}%),hsl(360,100%,${zValue}%))`\n ].join(\",\")\n }\n };\n return result;\n};\nvar generateHSB_H = (orientation, dir, zValue) => {\n const result = {\n areaStyles: {},\n areaGradientStyles: {\n background: [\n `linear-gradient(to ${orientation[Number(dir)]},hsl(0,0%,0%),hsla(0,0%,0%,0))`,\n `linear-gradient(to ${orientation[Number(!dir)]},hsl(0,0%,100%),hsla(0,0%,100%,0))`,\n `hsl(${zValue}, 100%, 50%)`\n ].join(\",\")\n }\n };\n return result;\n};\nvar generateHSB_S = (orientation, dir, alphaValue) => {\n const result = {\n areaStyles: {},\n areaGradientStyles: {\n background: [\n `linear-gradient(to ${orientation[Number(!dir)]},hsla(0,0%,0%,${alphaValue}),hsla(0,0%,0%,0))`,\n `linear-gradient(to ${orientation[Number(dir)]},hsla(0,100%,50%,${alphaValue}),hsla(60,100%,50%,${alphaValue}),hsla(120,100%,50%,${alphaValue}),hsla(180,100%,50%,${alphaValue}),hsla(240,100%,50%,${alphaValue}),hsla(300,100%,50%,${alphaValue}),hsla(359,100%,50%,${alphaValue}))`,\n `linear-gradient(to ${orientation[Number(!dir)]},hsl(0,0%,0%),hsl(0,0%,100%))`\n ].join(\",\")\n }\n };\n return result;\n};\nvar generateHSB_B = (orientation, dir, alphaValue) => {\n const result = {\n areaStyles: {},\n areaGradientStyles: {\n background: [\n `linear-gradient(to ${orientation[Number(!dir)]},hsla(0,0%,100%,${alphaValue}),hsla(0,0%,100%,0))`,\n `linear-gradient(to ${orientation[Number(dir)]},hsla(0,100%,50%,${alphaValue}),hsla(60,100%,50%,${alphaValue}),hsla(120,100%,50%,${alphaValue}),hsla(180,100%,50%,${alphaValue}),hsla(240,100%,50%,${alphaValue}),hsla(300,100%,50%,${alphaValue}),hsla(359,100%,50%,${alphaValue}))`,\n \"#000\"\n ].join(\",\")\n }\n };\n return result;\n};\n\n// src/area-gradient.ts\nfunction getColorAreaGradient(color, options) {\n const { xChannel, yChannel, dir: dirProp = \"ltr\" } = options;\n const { zChannel } = color.getColorAxes({ xChannel, yChannel });\n const zValue = color.getChannelValue(zChannel);\n const { minValue: zMin, maxValue: zMax } = color.getChannelRange(zChannel);\n const orientation = [\"top\", dirProp === \"rtl\" ? \"left\" : \"right\"];\n let dir = false;\n let background = { areaStyles: {}, areaGradientStyles: {} };\n let alphaValue = (zValue - zMin) / (zMax - zMin);\n let isHSL = color.getFormat() === \"hsla\";\n switch (zChannel) {\n case \"red\": {\n dir = xChannel === \"green\";\n background = generateRGB_R(orientation, dir, zValue);\n break;\n }\n case \"green\": {\n dir = xChannel === \"red\";\n background = generateRGB_G(orientation, dir, zValue);\n break;\n }\n case \"blue\": {\n dir = xChannel === \"red\";\n background = generateRGB_B(orientation, dir, zValue);\n break;\n }\n case \"hue\": {\n dir = xChannel !== \"saturation\";\n if (isHSL) {\n background = generateHSL_H(orientation, dir, zValue);\n } else {\n background = generateHSB_H(orientation, dir, zValue);\n }\n break;\n }\n case \"saturation\": {\n dir = xChannel === \"hue\";\n if (isHSL) {\n background = generateHSL_S(orientation, dir, alphaValue);\n } else {\n background = generateHSB_S(orientation, dir, alphaValue);\n }\n break;\n }\n case \"brightness\": {\n dir = xChannel === \"hue\";\n background = generateHSB_B(orientation, dir, alphaValue);\n break;\n }\n case \"lightness\": {\n dir = xChannel === \"hue\";\n background = generateHSL_L(orientation, dir, zValue);\n break;\n }\n }\n return background;\n}\nvar isEqualObject = (a, b) => {\n if (Object.keys(a).length !== Object.keys(b).length) return false;\n for (let key in a) if (a[key] !== b[key]) return false;\n return true;\n};\nvar Color = class {\n toHexInt() {\n return this.toFormat(\"rgba\").toHexInt();\n }\n getChannelValue(channel) {\n if (channel in this) return this[channel];\n throw new Error(\"Unsupported color channel: \" + channel);\n }\n getChannelValuePercent(channel, valueToCheck) {\n const value = valueToCheck ?? this.getChannelValue(channel);\n const { minValue, maxValue } = this.getChannelRange(channel);\n return getValuePercent(value, minValue, maxValue);\n }\n getChannelPercentValue(channel, percentToCheck) {\n const { minValue, maxValue, step } = this.getChannelRange(channel);\n const percentValue = getPercentValue(percentToCheck, minValue, maxValue, step);\n return snapValueToStep(percentValue, minValue, maxValue, step);\n }\n withChannelValue(channel, value) {\n const { minValue, maxValue } = this.getChannelRange(channel);\n if (channel in this) {\n let clone = this.clone();\n clone[channel] = clampValue(value, minValue, maxValue);\n return clone;\n }\n throw new Error(\"Unsupported color channel: \" + channel);\n }\n getColorAxes(xyChannels) {\n let { xChannel, yChannel } = xyChannels;\n let xCh = xChannel || this.getChannels().find((c) => c !== yChannel);\n let yCh = yChannel || this.getChannels().find((c) => c !== xCh);\n let zCh = this.getChannels().find((c) => c !== xCh && c !== yCh);\n return { xChannel: xCh, yChannel: yCh, zChannel: zCh };\n }\n incrementChannel(channel, stepSize) {\n const { minValue, maxValue, step } = this.getChannelRange(channel);\n const value = snapValueToStep(\n clampValue(this.getChannelValue(channel) + stepSize, minValue, maxValue),\n minValue,\n maxValue,\n step\n );\n return this.withChannelValue(channel, value);\n }\n decrementChannel(channel, stepSize) {\n return this.incrementChannel(channel, -stepSize);\n }\n isEqual(color) {\n const isSame = isEqualObject(this.toJSON(), color.toJSON());\n return isSame && this.getChannelValue(\"alpha\") === color.getChannelValue(\"alpha\");\n }\n};\nvar _RGBColor = class _RGBColor extends Color {\n constructor(red, green, blue, alpha) {\n super();\n this.red = red;\n this.green = green;\n this.blue = blue;\n this.alpha = alpha;\n }\n static parse(value) {\n let colors = [];\n if (/^#[\\da-f]+$/i.test(value) && [4, 5, 7, 9].includes(value.length)) {\n const values = (value.length < 6 ? value.replace(/[^#]/gi, \"$&$&\") : value).slice(1).split(\"\");\n while (values.length > 0) {\n colors.push(parseInt(values.splice(0, 2).join(\"\"), 16));\n }\n colors[3] = colors[3] !== void 0 ? colors[3] / 255 : void 0;\n }\n const match = value.match(/^rgba?\\((.*)\\)$/);\n if (match?.[1]) {\n colors = match[1].split(\",\").map((value2) => Number(value2.trim())).map((num, i) => clampValue(num, 0, i < 3 ? 255 : 1));\n }\n return colors.length < 3 ? void 0 : new _RGBColor(colors[0], colors[1], colors[2], colors[3] ?? 1);\n }\n toString(format) {\n switch (format) {\n case \"hex\":\n return \"#\" + (this.red.toString(16).padStart(2, \"0\") + this.green.toString(16).padStart(2, \"0\") + this.blue.toString(16).padStart(2, \"0\")).toUpperCase();\n case \"hexa\":\n return \"#\" + (this.red.toString(16).padStart(2, \"0\") + this.green.toString(16).padStart(2, \"0\") + this.blue.toString(16).padStart(2, \"0\") + Math.round(this.alpha * 255).toString(16).padStart(2, \"0\")).toUpperCase();\n case \"rgb\":\n return `rgb(${this.red}, ${this.green}, ${this.blue})`;\n case \"css\":\n case \"rgba\":\n return `rgba(${this.red}, ${this.green}, ${this.blue}, ${this.alpha})`;\n case \"hsl\":\n return this.toHSL().toString(\"hsl\");\n case \"hsb\":\n return this.toHSB().toString(\"hsb\");\n default:\n return this.toFormat(format).toString(format);\n }\n }\n toFormat(format) {\n switch (format) {\n case \"rgba\":\n return this;\n case \"hsba\":\n return this.toHSB();\n case \"hsla\":\n return this.toHSL();\n default:\n throw new Error(\"Unsupported color conversion: rgb -> \" + format);\n }\n }\n toHexInt() {\n return this.red << 16 | this.green << 8 | this.blue;\n }\n /**\n * Converts an RGB color value to HSB.\n * Conversion formula adapted from https://en.wikipedia.org/wiki/HSL_and_HSV#From_RGB.\n * @returns An HSBColor object.\n */\n toHSB() {\n const red = this.red / 255;\n const green = this.green / 255;\n const blue = this.blue / 255;\n const min = Math.min(red, green, blue);\n const brightness = Math.max(red, green, blue);\n const chroma = brightness - min;\n const saturation = brightness === 0 ? 0 : chroma / brightness;\n let hue = 0;\n if (chroma !== 0) {\n switch (brightness) {\n case red:\n hue = (green - blue) / chroma + (green < blue ? 6 : 0);\n break;\n case green:\n hue = (blue - red) / chroma + 2;\n break;\n case blue:\n hue = (red - green) / chroma + 4;\n break;\n }\n hue /= 6;\n }\n return new HSBColor(\n toFixedNumber(hue * 360, 2),\n toFixedNumber(saturation * 100, 2),\n toFixedNumber(brightness * 100, 2),\n toFixedNumber(this.alpha, 2)\n );\n }\n /**\n * Converts an RGB color value to HSL.\n * Conversion formula adapted from https://en.wikipedia.org/wiki/HSL_and_HSV#From_RGB.\n * @returns An HSLColor object.\n */\n toHSL() {\n const red = this.red / 255;\n const green = this.green / 255;\n const blue = this.blue / 255;\n const min = Math.min(red, green, blue);\n const max = Math.max(red, green, blue);\n const lightness = (max + min) / 2;\n const chroma = max - min;\n let hue = -1;\n let saturation = -1;\n if (chroma === 0) {\n hue = saturation = 0;\n } else {\n saturation = chroma / (lightness < 0.5 ? max + min : 2 - max - min);\n switch (max) {\n case red:\n hue = (green - blue) / chroma + (green < blue ? 6 : 0);\n break;\n case green:\n hue = (blue - red) / chroma + 2;\n break;\n case blue:\n hue = (red - green) / chroma + 4;\n break;\n }\n hue /= 6;\n }\n return new HSLColor(\n toFixedNumber(hue * 360, 2),\n toFixedNumber(saturation * 100, 2),\n toFixedNumber(lightness * 100, 2),\n toFixedNumber(this.alpha, 2)\n );\n }\n clone() {\n return new _RGBColor(this.red, this.green, this.blue, this.alpha);\n }\n getChannelFormatOptions(channel) {\n switch (channel) {\n case \"red\":\n case \"green\":\n case \"blue\":\n return { style: \"decimal\" };\n case \"alpha\":\n return { style: \"percent\" };\n default:\n throw new Error(\"Unknown color channel: \" + channel);\n }\n }\n formatChannelValue(channel, locale) {\n let options = this.getChannelFormatOptions(channel);\n let value = this.getChannelValue(channel);\n return new Intl.NumberFormat(locale, options).format(value);\n }\n getChannelRange(channel) {\n switch (channel) {\n case \"red\":\n case \"green\":\n case \"blue\":\n return { minValue: 0, maxValue: 255, step: 1, pageSize: 17 };\n case \"alpha\":\n return { minValue: 0, maxValue: 1, step: 0.01, pageSize: 0.1 };\n default:\n throw new Error(\"Unknown color channel: \" + channel);\n }\n }\n toJSON() {\n return { r: this.red, g: this.green, b: this.blue, a: this.alpha };\n }\n getFormat() {\n return \"rgba\";\n }\n getChannels() {\n return _RGBColor.colorChannels;\n }\n};\n__publicField(_RGBColor, \"colorChannels\", [\"red\", \"green\", \"blue\"]);\nvar RGBColor = _RGBColor;\n\n// src/hsl-color.ts\nvar HSL_REGEX = /hsl\\(([-+]?\\d+(?:.\\d+)?\\s*,\\s*[-+]?\\d+(?:.\\d+)?%\\s*,\\s*[-+]?\\d+(?:.\\d+)?%)\\)|hsla\\(([-+]?\\d+(?:.\\d+)?\\s*,\\s*[-+]?\\d+(?:.\\d+)?%\\s*,\\s*[-+]?\\d+(?:.\\d+)?%\\s*,\\s*[-+]?\\d(.\\d+)?)\\)/;\nvar _HSLColor = class _HSLColor extends Color {\n constructor(hue, saturation, lightness, alpha) {\n super();\n this.hue = hue;\n this.saturation = saturation;\n this.lightness = lightness;\n this.alpha = alpha;\n }\n static parse(value) {\n let m;\n if (m = value.match(HSL_REGEX)) {\n const [h, s, l, a] = (m[1] ?? m[2]).split(\",\").map((n) => Number(n.trim().replace(\"%\", \"\")));\n return new _HSLColor(mod(h, 360), clampValue(s, 0, 100), clampValue(l, 0, 100), clampValue(a ?? 1, 0, 1));\n }\n }\n toString(format) {\n switch (format) {\n case \"hex\":\n return this.toRGB().toString(\"hex\");\n case \"hexa\":\n return this.toRGB().toString(\"hexa\");\n case \"hsl\":\n return `hsl(${this.hue}, ${toFixedNumber(this.saturation, 2)}%, ${toFixedNumber(this.lightness, 2)}%)`;\n case \"css\":\n case \"hsla\":\n return `hsla(${this.hue}, ${toFixedNumber(this.saturation, 2)}%, ${toFixedNumber(this.lightness, 2)}%, ${this.alpha})`;\n case \"hsb\":\n return this.toHSB().toString(\"hsb\");\n case \"rgb\":\n return this.toRGB().toString(\"rgb\");\n default:\n return this.toFormat(format).toString(format);\n }\n }\n toFormat(format) {\n switch (format) {\n case \"hsla\":\n return this;\n case \"hsba\":\n return this.toHSB();\n case \"rgba\":\n return this.toRGB();\n default:\n throw new Error(\"Unsupported color conversion: hsl -> \" + format);\n }\n }\n /**\n * Converts a HSL color to HSB.\n * Conversion formula adapted from https://en.wikipedia.org/wiki/HSL_and_HSV#HSL_to_HSV.\n * @returns An HSBColor object.\n */\n toHSB() {\n let saturation = this.saturation / 100;\n let lightness = this.lightness / 100;\n let brightness = lightness + saturation * Math.min(lightness, 1 - lightness);\n saturation = brightness === 0 ? 0 : 2 * (1 - lightness / brightness);\n return new HSBColor(\n toFixedNumber(this.hue, 2),\n toFixedNumber(saturation * 100, 2),\n toFixedNumber(brightness * 100, 2),\n toFixedNumber(this.alpha, 2)\n );\n }\n /**\n * Converts a HSL color to RGB.\n * Conversion formula adapted from https://en.wikipedia.org/wiki/HSL_and_HSV#HSL_to_RGB_alternative.\n * @returns An RGBColor object.\n */\n toRGB() {\n let hue = this.hue;\n let saturation = this.saturation / 100;\n let lightness = this.lightness / 100;\n let a = saturation * Math.min(lightness, 1 - lightness);\n let fn = (n, k = (n + hue / 30) % 12) => lightness - a * Math.max(Math.min(k - 3, 9 - k, 1), -1);\n return new RGBColor(\n Math.round(fn(0) * 255),\n Math.round(fn(8) * 255),\n Math.round(fn(4) * 255),\n toFixedNumber(this.alpha, 2)\n );\n }\n clone() {\n return new _HSLColor(this.hue, this.saturation, this.lightness, this.alpha);\n }\n getChannelFormatOptions(channel) {\n switch (channel) {\n case \"hue\":\n return { style: \"unit\", unit: \"degree\", unitDisplay: \"narrow\" };\n case \"saturation\":\n case \"lightness\":\n case \"alpha\":\n return { style: \"percent\" };\n default:\n throw new Error(\"Unknown color channel: \" + channel);\n }\n }\n formatChannelValue(channel, locale) {\n let options = this.getChannelFormatOptions(channel);\n let value = this.getChannelValue(channel);\n if (channel === \"saturation\" || channel === \"lightness\") {\n value /= 100;\n }\n return new Intl.NumberFormat(locale, options).format(value);\n }\n getChannelRange(channel) {\n switch (channel) {\n case \"hue\":\n return { minValue: 0, maxValue: 360, step: 1, pageSize: 15 };\n case \"saturation\":\n case \"lightness\":\n return { minValue: 0, maxValue: 100, step: 1, pageSize: 10 };\n case \"alpha\":\n return { minValue: 0, maxValue: 1, step: 0.01, pageSize: 0.1 };\n default:\n throw new Error(\"Unknown color channel: \" + channel);\n }\n }\n toJSON() {\n return { h: this.hue, s: this.saturation, l: this.lightness, a: this.alpha };\n }\n getFormat() {\n return \"hsla\";\n }\n getChannels() {\n return _HSLColor.colorChannels;\n }\n};\n__publicField(_HSLColor, \"colorChannels\", [\"hue\", \"saturation\", \"lightness\"]);\nvar HSLColor = _HSLColor;\n\n// src/hsb-color.ts\nvar HSB_REGEX = /hsb\\(([-+]?\\d+(?:.\\d+)?\\s*,\\s*[-+]?\\d+(?:.\\d+)?%\\s*,\\s*[-+]?\\d+(?:.\\d+)?%)\\)|hsba\\(([-+]?\\d+(?:.\\d+)?\\s*,\\s*[-+]?\\d+(?:.\\d+)?%\\s*,\\s*[-+]?\\d+(?:.\\d+)?%\\s*,\\s*[-+]?\\d(.\\d+)?)\\)/;\nvar _HSBColor = class _HSBColor extends Color {\n constructor(hue, saturation, brightness, alpha) {\n super();\n this.hue = hue;\n this.saturation = saturation;\n this.brightness = brightness;\n this.alpha = alpha;\n }\n static parse(value) {\n let m;\n if (m = value.match(HSB_REGEX)) {\n const [h, s, b, a] = (m[1] ?? m[2]).split(\",\").map((n) => Number(n.trim().replace(\"%\", \"\")));\n return new _HSBColor(mod(h, 360), clampValue(s, 0, 100), clampValue(b, 0, 100), clampValue(a ?? 1, 0, 1));\n }\n }\n toString(format) {\n switch (format) {\n case \"css\":\n return this.toHSL().toString(\"css\");\n case \"hex\":\n return this.toRGB().toString(\"hex\");\n case \"hexa\":\n return this.toRGB().toString(\"hexa\");\n case \"hsb\":\n return `hsb(${this.hue}, ${toFixedNumber(this.saturation, 2)}%, ${toFixedNumber(this.brightness, 2)}%)`;\n case \"hsba\":\n return `hsba(${this.hue}, ${toFixedNumber(this.saturation, 2)}%, ${toFixedNumber(this.brightness, 2)}%, ${this.alpha})`;\n case \"hsl\":\n return this.toHSL().toString(\"hsl\");\n case \"rgb\":\n return this.toRGB().toString(\"rgb\");\n default:\n return this.toFormat(format).toString(format);\n }\n }\n toFormat(format) {\n switch (format) {\n case \"hsba\":\n return this;\n case \"hsla\":\n return this.toHSL();\n case \"rgba\":\n return this.toRGB();\n default:\n throw new Error(\"Unsupported color conversion: hsb -> \" + format);\n }\n }\n /**\n * Converts a HSB color to HSL.\n * Conversion formula adapted from https://en.wikipedia.org/wiki/HSL_and_HSV#HSV_to_HSL.\n * @returns An HSLColor object.\n */\n toHSL() {\n let saturation = this.saturation / 100;\n let brightness = this.brightness / 100;\n let lightness = brightness * (1 - saturation / 2);\n saturation = lightness === 0 || lightness === 1 ? 0 : (brightness - lightness) / Math.min(lightness, 1 - lightness);\n return new HSLColor(\n toFixedNumber(this.hue, 2),\n toFixedNumber(saturation * 100, 2),\n toFixedNumber(lightness * 100, 2),\n toFixedNumber(this.alpha, 2)\n );\n }\n /**\n * Converts a HSV color value to RGB.\n * Conversion formula adapted from https://en.wikipedia.org/wiki/HSL_and_HSV#HSV_to_RGB_alternative.\n * @returns An RGBColor object.\n */\n toRGB() {\n let hue = this.hue;\n let saturation = this.saturation / 100;\n let brightness = this.brightness / 100;\n let fn = (n, k = (n + hue / 60) % 6) => brightness - saturation * brightness * Math.max(Math.min(k, 4 - k, 1), 0);\n return new RGBColor(\n Math.round(fn(5) * 255),\n Math.round(fn(3) * 255),\n Math.round(fn(1) * 255),\n toFixedNumber(this.alpha, 2)\n );\n }\n clone() {\n return new _HSBColor(this.hue, this.saturation, this.brightness, this.alpha);\n }\n getChannelFormatOptions(channel) {\n switch (channel) {\n case \"hue\":\n return { style: \"unit\", unit: \"degree\", unitDisplay: \"narrow\" };\n case \"saturation\":\n case \"brightness\":\n case \"alpha\":\n return { style: \"percent\" };\n default:\n throw new Error(\"Unknown color channel: \" + channel);\n }\n }\n formatChannelValue(channel, locale) {\n let options = this.getChannelFormatOptions(channel);\n let value = this.getChannelValue(channel);\n if (channel === \"saturation\" || channel === \"brightness\") {\n value /= 100;\n }\n return new Intl.NumberFormat(locale, options).format(value);\n }\n getChannelRange(channel) {\n switch (channel) {\n case \"hue\":\n return { minValue: 0, maxValue: 360, step: 1, pageSize: 15 };\n case \"saturation\":\n case \"brightness\":\n return { minValue: 0, maxValue: 100, step: 1, pageSize: 10 };\n case \"alpha\":\n return { minValue: 0, maxValue: 1, step: 0.01, pageSize: 0.1 };\n default:\n throw new Error(\"Unknown color channel: \" + channel);\n }\n }\n toJSON() {\n return { h: this.hue, s: this.saturation, b: this.brightness, a: this.alpha };\n }\n getFormat() {\n return \"hsba\";\n }\n getChannels() {\n return _HSBColor.colorChannels;\n }\n};\n__publicField(_HSBColor, \"colorChannels\", [\"hue\", \"saturation\", \"brightness\"]);\nvar HSBColor = _HSBColor;\n\n// src/native-color.ts\nvar nativeColors = \"aliceblue:f0f8ff,antiquewhite:faebd7,aqua:00ffff,aquamarine:7fffd4,azure:f0ffff,beige:f5f5dc,bisque:ffe4c4,black:000000,blanchedalmond:ffebcd,blue:0000ff,blueviolet:8a2be2,brown:a52a2a,burlywood:deb887,cadetblue:5f9ea0,chartreuse:7fff00,chocolate:d2691e,coral:ff7f50,cornflowerblue:6495ed,cornsilk:fff8dc,crimson:dc143c,cyan:00ffff,darkblue:00008b,darkcyan:008b8b,darkgoldenrod:b8860b,darkgray:a9a9a9,darkgreen:006400,darkkhaki:bdb76b,darkmagenta:8b008b,darkolivegreen:556b2f,darkorange:ff8c00,darkorchid:9932cc,darkred:8b0000,darksalmon:e9967a,darkseagreen:8fbc8f,darkslateblue:483d8b,darkslategray:2f4f4f,darkturquoise:00ced1,darkviolet:9400d3,deeppink:ff1493,deepskyblue:00bfff,dimgray:696969,dodgerblue:1e90ff,firebrick:b22222,floralwhite:fffaf0,forestgreen:228b22,fuchsia:ff00ff,gainsboro:dcdcdc,ghostwhite:f8f8ff,gold:ffd700,goldenrod:daa520,gray:808080,green:008000,greenyellow:adff2f,honeydew:f0fff0,hotpink:ff69b4,indianred:cd5c5c,indigo:4b0082,ivory:fffff0,khaki:f0e68c,lavender:e6e6fa,lavenderblush:fff0f5,lawngreen:7cfc00,lemonchiffon:fffacd,lightblue:add8e6,lightcoral:f08080,lightcyan:e0ffff,lightgoldenrodyellow:fafad2,lightgrey:d3d3d3,lightgreen:90ee90,lightpink:ffb6c1,lightsalmon:ffa07a,lightseagreen:20b2aa,lightskyblue:87cefa,lightslategray:778899,lightsteelblue:b0c4de,lightyellow:ffffe0,lime:00ff00,limegreen:32cd32,linen:faf0e6,magenta:ff00ff,maroon:800000,mediumaquamarine:66cdaa,mediumblue:0000cd,mediumorchid:ba55d3,mediumpurple:9370d8,mediumseagreen:3cb371,mediumslateblue:7b68ee,mediumspringgreen:00fa9a,mediumturquoise:48d1cc,mediumvioletred:c71585,midnightblue:191970,mintcream:f5fffa,mistyrose:ffe4e1,moccasin:ffe4b5,navajowhite:ffdead,navy:000080,oldlace:fdf5e6,olive:808000,olivedrab:6b8e23,orange:ffa500,orangered:ff4500,orchid:da70d6,palegoldenrod:eee8aa,palegreen:98fb98,paleturquoise:afeeee,palevioletred:d87093,papayawhip:ffefd5,peachpuff:ffdab9,peru:cd853f,pink:ffc0cb,plum:dda0dd,powderblue:b0e0e6,purple:800080,rebeccapurple:663399,red:ff0000,rosybrown:bc8f8f,royalblue:4169e1,saddlebrown:8b4513,salmon:fa8072,sandybrown:f4a460,seagreen:2e8b57,seashell:fff5ee,sienna:a0522d,silver:c0c0c0,skyblue:87ceeb,slateblue:6a5acd,slategray:708090,snow:fffafa,springgreen:00ff7f,steelblue:4682b4,tan:d2b48c,teal:008080,thistle:d8bfd8,tomato:ff6347,turquoise:40e0d0,violet:ee82ee,wheat:f5deb3,white:ffffff,whitesmoke:f5f5f5,yellow:ffff00,yellowgreen:9acd32\";\nvar makeMap = (str) => {\n const map = /* @__PURE__ */ new Map();\n const list = str.split(\",\");\n for (let i = 0; i < list.length; i++) {\n const [key, val] = list[i].split(\":\");\n map.set(key, `#${val}`);\n if (key.includes(\"gray\")) map.set(key.replace(\"gray\", \"grey\"), `#${val}`);\n }\n return map;\n};\nvar nativeColorMap = makeMap(nativeColors);\n\n// src/parse-color.ts\nvar parseColor = (value) => {\n if (nativeColorMap.has(value)) {\n return parseColor(nativeColorMap.get(value));\n }\n const result = RGBColor.parse(value) || HSBColor.parse(value) || HSLColor.parse(value);\n if (!result) {\n const error = new Error(\"Invalid color value: \" + value);\n Error.captureStackTrace?.(error, parseColor);\n throw error;\n }\n return result;\n};\nvar normalizeColor = (v) => {\n return typeof v === \"string\" ? parseColor(v) : v;\n};\n\nexport { Color, getColorAreaGradient, normalizeColor, parseColor };\n","/**\n * Custom positioning reference element.\n * @see https://floating-ui.com/docs/virtual-elements\n */\n\nconst sides = ['top', 'right', 'bottom', 'left'];\nconst alignments = ['start', 'end'];\nconst placements = /*#__PURE__*/sides.reduce((acc, side) => acc.concat(side, side + \"-\" + alignments[0], side + \"-\" + alignments[1]), []);\nconst min = Math.min;\nconst max = Math.max;\nconst round = Math.round;\nconst floor = Math.floor;\nconst createCoords = v => ({\n x: v,\n y: v\n});\nconst oppositeSideMap = {\n left: 'right',\n right: 'left',\n bottom: 'top',\n top: 'bottom'\n};\nconst oppositeAlignmentMap = {\n start: 'end',\n end: 'start'\n};\nfunction clamp(start, value, end) {\n return max(start, min(value, end));\n}\nfunction evaluate(value, param) {\n return typeof value === 'function' ? value(param) : value;\n}\nfunction getSide(placement) {\n return placement.split('-')[0];\n}\nfunction getAlignment(placement) {\n return placement.split('-')[1];\n}\nfunction getOppositeAxis(axis) {\n return axis === 'x' ? 'y' : 'x';\n}\nfunction getAxisLength(axis) {\n return axis === 'y' ? 'height' : 'width';\n}\nfunction getSideAxis(placement) {\n return ['top', 'bottom'].includes(getSide(placement)) ? 'y' : 'x';\n}\nfunction getAlignmentAxis(placement) {\n return getOppositeAxis(getSideAxis(placement));\n}\nfunction getAlignmentSides(placement, rects, rtl) {\n if (rtl === void 0) {\n rtl = false;\n }\n const alignment = getAlignment(placement);\n const alignmentAxis = getAlignmentAxis(placement);\n const length = getAxisLength(alignmentAxis);\n let mainAlignmentSide = alignmentAxis === 'x' ? alignment === (rtl ? 'end' : 'start') ? 'right' : 'left' : alignment === 'start' ? 'bottom' : 'top';\n if (rects.reference[length] > rects.floating[length]) {\n mainAlignmentSide = getOppositePlacement(mainAlignmentSide);\n }\n return [mainAlignmentSide, getOppositePlacement(mainAlignmentSide)];\n}\nfunction getExpandedPlacements(placement) {\n const oppositePlacement = getOppositePlacement(placement);\n return [getOppositeAlignmentPlacement(placement), oppositePlacement, getOppositeAlignmentPlacement(oppositePlacement)];\n}\nfunction getOppositeAlignmentPlacement(placement) {\n return placement.replace(/start|end/g, alignment => oppositeAlignmentMap[alignment]);\n}\nfunction getSideList(side, isStart, rtl) {\n const lr = ['left', 'right'];\n const rl = ['right', 'left'];\n const tb = ['top', 'bottom'];\n const bt = ['bottom', 'top'];\n switch (side) {\n case 'top':\n case 'bottom':\n if (rtl) return isStart ? rl : lr;\n return isStart ? lr : rl;\n case 'left':\n case 'right':\n return isStart ? tb : bt;\n default:\n return [];\n }\n}\nfunction getOppositeAxisPlacements(placement, flipAlignment, direction, rtl) {\n const alignment = getAlignment(placement);\n let list = getSideList(getSide(placement), direction === 'start', rtl);\n if (alignment) {\n list = list.map(side => side + \"-\" + alignment);\n if (flipAlignment) {\n list = list.concat(list.map(getOppositeAlignmentPlacement));\n }\n }\n return list;\n}\nfunction getOppositePlacement(placement) {\n return placement.replace(/left|right|bottom|top/g, side => oppositeSideMap[side]);\n}\nfunction expandPaddingObject(padding) {\n return {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n ...padding\n };\n}\nfunction getPaddingObject(padding) {\n return typeof padding !== 'number' ? expandPaddingObject(padding) : {\n top: padding,\n right: padding,\n bottom: padding,\n left: padding\n };\n}\nfunction rectToClientRect(rect) {\n const {\n x,\n y,\n width,\n height\n } = rect;\n return {\n width,\n height,\n top: y,\n left: x,\n right: x + width,\n bottom: y + height,\n x,\n y\n };\n}\n\nexport { alignments, clamp, createCoords, evaluate, expandPaddingObject, floor, getAlignment, getAlignmentAxis, getAlignmentSides, getAxisLength, getExpandedPlacements, getOppositeAlignmentPlacement, getOppositeAxis, getOppositeAxisPlacements, getOppositePlacement, getPaddingObject, getSide, getSideAxis, max, min, placements, rectToClientRect, round, sides };\n","import { getSideAxis, getAlignmentAxis, getAxisLength, getSide, getAlignment, evaluate, getPaddingObject, rectToClientRect, min, clamp, placements, getAlignmentSides, getOppositeAlignmentPlacement, getOppositePlacement, getExpandedPlacements, getOppositeAxisPlacements, sides, max, getOppositeAxis } from '@floating-ui/utils';\nexport { rectToClientRect } from '@floating-ui/utils';\n\nfunction computeCoordsFromPlacement(_ref, placement, rtl) {\n let {\n reference,\n floating\n } = _ref;\n const sideAxis = getSideAxis(placement);\n const alignmentAxis = getAlignmentAxis(placement);\n const alignLength = getAxisLength(alignmentAxis);\n const side = getSide(placement);\n const isVertical = sideAxis === 'y';\n const commonX = reference.x + reference.width / 2 - floating.width / 2;\n const commonY = reference.y + reference.height / 2 - floating.height / 2;\n const commonAlign = reference[alignLength] / 2 - floating[alignLength] / 2;\n let coords;\n switch (side) {\n case 'top':\n coords = {\n x: commonX,\n y: reference.y - floating.height\n };\n break;\n case 'bottom':\n coords = {\n x: commonX,\n y: reference.y + reference.height\n };\n break;\n case 'right':\n coords = {\n x: reference.x + reference.width,\n y: commonY\n };\n break;\n case 'left':\n coords = {\n x: reference.x - floating.width,\n y: commonY\n };\n break;\n default:\n coords = {\n x: reference.x,\n y: reference.y\n };\n }\n switch (getAlignment(placement)) {\n case 'start':\n coords[alignmentAxis] -= commonAlign * (rtl && isVertical ? -1 : 1);\n break;\n case 'end':\n coords[alignmentAxis] += commonAlign * (rtl && isVertical ? -1 : 1);\n break;\n }\n return coords;\n}\n\n/**\n * Computes the `x` and `y` coordinates that will place the floating element\n * next to a given reference element.\n *\n * This export does not have any `platform` interface logic. You will need to\n * write one for the platform you are using Floating UI with.\n */\nconst computePosition = async (reference, floating, config) => {\n const {\n placement = 'bottom',\n strategy = 'absolute',\n middleware = [],\n platform\n } = config;\n const validMiddleware = middleware.filter(Boolean);\n const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(floating));\n let rects = await platform.getElementRects({\n reference,\n floating,\n strategy\n });\n let {\n x,\n y\n } = computeCoordsFromPlacement(rects, placement, rtl);\n let statefulPlacement = placement;\n let middlewareData = {};\n let resetCount = 0;\n for (let i = 0; i < validMiddleware.length; i++) {\n const {\n name,\n fn\n } = validMiddleware[i];\n const {\n x: nextX,\n y: nextY,\n data,\n reset\n } = await fn({\n x,\n y,\n initialPlacement: placement,\n placement: statefulPlacement,\n strategy,\n middlewareData,\n rects,\n platform,\n elements: {\n reference,\n floating\n }\n });\n x = nextX != null ? nextX : x;\n y = nextY != null ? nextY : y;\n middlewareData = {\n ...middlewareData,\n [name]: {\n ...middlewareData[name],\n ...data\n }\n };\n if (reset && resetCount <= 50) {\n resetCount++;\n if (typeof reset === 'object') {\n if (reset.placement) {\n statefulPlacement = reset.placement;\n }\n if (reset.rects) {\n rects = reset.rects === true ? await platform.getElementRects({\n reference,\n floating,\n strategy\n }) : reset.rects;\n }\n ({\n x,\n y\n } = computeCoordsFromPlacement(rects, statefulPlacement, rtl));\n }\n i = -1;\n }\n }\n return {\n x,\n y,\n placement: statefulPlacement,\n strategy,\n middlewareData\n };\n};\n\n/**\n * Resolves with an object of overflow side offsets that determine how much the\n * element is overflowing a given clipping boundary on each side.\n * - positive = overflowing the boundary by that number of pixels\n * - negative = how many pixels left before it will overflow\n * - 0 = lies flush with the boundary\n * @see https://floating-ui.com/docs/detectOverflow\n */\nasync function detectOverflow(state, options) {\n var _await$platform$isEle;\n if (options === void 0) {\n options = {};\n }\n const {\n x,\n y,\n platform,\n rects,\n elements,\n strategy\n } = state;\n const {\n boundary = 'clippingAncestors',\n rootBoundary = 'viewport',\n elementContext = 'floating',\n altBoundary = false,\n padding = 0\n } = evaluate(options, state);\n const paddingObject = getPaddingObject(padding);\n const altContext = elementContext === 'floating' ? 'reference' : 'floating';\n const element = elements[altBoundary ? altContext : elementContext];\n const clippingClientRect = rectToClientRect(await platform.getClippingRect({\n element: ((_await$platform$isEle = await (platform.isElement == null ? void 0 : platform.isElement(element))) != null ? _await$platform$isEle : true) ? element : element.contextElement || (await (platform.getDocumentElement == null ? void 0 : platform.getDocumentElement(elements.floating))),\n boundary,\n rootBoundary,\n strategy\n }));\n const rect = elementContext === 'floating' ? {\n x,\n y,\n width: rects.floating.width,\n height: rects.floating.height\n } : rects.reference;\n const offsetParent = await (platform.getOffsetParent == null ? void 0 : platform.getOffsetParent(elements.floating));\n const offsetScale = (await (platform.isElement == null ? void 0 : platform.isElement(offsetParent))) ? (await (platform.getScale == null ? void 0 : platform.getScale(offsetParent))) || {\n x: 1,\n y: 1\n } : {\n x: 1,\n y: 1\n };\n const elementClientRect = rectToClientRect(platform.convertOffsetParentRelativeRectToViewportRelativeRect ? await platform.convertOffsetParentRelativeRectToViewportRelativeRect({\n elements,\n rect,\n offsetParent,\n strategy\n }) : rect);\n return {\n top: (clippingClientRect.top - elementClientRect.top + paddingObject.top) / offsetScale.y,\n bottom: (elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom) / offsetScale.y,\n left: (clippingClientRect.left - elementClientRect.left + paddingObject.left) / offsetScale.x,\n right: (elementClientRect.right - clippingClientRect.right + paddingObject.right) / offsetScale.x\n };\n}\n\n/**\n * Provides data to position an inner element of the floating element so that it\n * appears centered to the reference element.\n * @see https://floating-ui.com/docs/arrow\n */\nconst arrow = options => ({\n name: 'arrow',\n options,\n async fn(state) {\n const {\n x,\n y,\n placement,\n rects,\n platform,\n elements,\n middlewareData\n } = state;\n // Since `element` is required, we don't Partial<> the type.\n const {\n element,\n padding = 0\n } = evaluate(options, state) || {};\n if (element == null) {\n return {};\n }\n const paddingObject = getPaddingObject(padding);\n const coords = {\n x,\n y\n };\n const axis = getAlignmentAxis(placement);\n const length = getAxisLength(axis);\n const arrowDimensions = await platform.getDimensions(element);\n const isYAxis = axis === 'y';\n const minProp = isYAxis ? 'top' : 'left';\n const maxProp = isYAxis ? 'bottom' : 'right';\n const clientProp = isYAxis ? 'clientHeight' : 'clientWidth';\n const endDiff = rects.reference[length] + rects.reference[axis] - coords[axis] - rects.floating[length];\n const startDiff = coords[axis] - rects.reference[axis];\n const arrowOffsetParent = await (platform.getOffsetParent == null ? void 0 : platform.getOffsetParent(element));\n let clientSize = arrowOffsetParent ? arrowOffsetParent[clientProp] : 0;\n\n // DOM platform can return `window` as the `offsetParent`.\n if (!clientSize || !(await (platform.isElement == null ? void 0 : platform.isElement(arrowOffsetParent)))) {\n clientSize = elements.floating[clientProp] || rects.floating[length];\n }\n const centerToReference = endDiff / 2 - startDiff / 2;\n\n // If the padding is large enough that it causes the arrow to no longer be\n // centered, modify the padding so that it is centered.\n const largestPossiblePadding = clientSize / 2 - arrowDimensions[length] / 2 - 1;\n const minPadding = min(paddingObject[minProp], largestPossiblePadding);\n const maxPadding = min(paddingObject[maxProp], largestPossiblePadding);\n\n // Make sure the arrow doesn't overflow the floating element if the center\n // point is outside the floating element's bounds.\n const min$1 = minPadding;\n const max = clientSize - arrowDimensions[length] - maxPadding;\n const center = clientSize / 2 - arrowDimensions[length] / 2 + centerToReference;\n const offset = clamp(min$1, center, max);\n\n // If the reference is small enough that the arrow's padding causes it to\n // to point to nothing for an aligned placement, adjust the offset of the\n // floating element itself. To ensure `shift()` continues to take action,\n // a single reset is performed when this is true.\n const shouldAddOffset = !middlewareData.arrow && getAlignment(placement) != null && center !== offset && rects.reference[length] / 2 - (center < min$1 ? minPadding : maxPadding) - arrowDimensions[length] / 2 < 0;\n const alignmentOffset = shouldAddOffset ? center < min$1 ? center - min$1 : center - max : 0;\n return {\n [axis]: coords[axis] + alignmentOffset,\n data: {\n [axis]: offset,\n centerOffset: center - offset - alignmentOffset,\n ...(shouldAddOffset && {\n alignmentOffset\n })\n },\n reset: shouldAddOffset\n };\n }\n});\n\nfunction getPlacementList(alignment, autoAlignment, allowedPlacements) {\n const allowedPlacementsSortedByAlignment = alignment ? [...allowedPlacements.filter(placement => getAlignment(placement) === alignment), ...allowedPlacements.filter(placement => getAlignment(placement) !== alignment)] : allowedPlacements.filter(placement => getSide(placement) === placement);\n return allowedPlacementsSortedByAlignment.filter(placement => {\n if (alignment) {\n return getAlignment(placement) === alignment || (autoAlignment ? getOppositeAlignmentPlacement(placement) !== placement : false);\n }\n return true;\n });\n}\n/**\n * Optimizes the visibility of the floating element by choosing the placement\n * that has the most space available automatically, without needing to specify a\n * preferred placement. Alternative to `flip`.\n * @see https://floating-ui.com/docs/autoPlacement\n */\nconst autoPlacement = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'autoPlacement',\n options,\n async fn(state) {\n var _middlewareData$autoP, _middlewareData$autoP2, _placementsThatFitOnE;\n const {\n rects,\n middlewareData,\n placement,\n platform,\n elements\n } = state;\n const {\n crossAxis = false,\n alignment,\n allowedPlacements = placements,\n autoAlignment = true,\n ...detectOverflowOptions\n } = evaluate(options, state);\n const placements$1 = alignment !== undefined || allowedPlacements === placements ? getPlacementList(alignment || null, autoAlignment, allowedPlacements) : allowedPlacements;\n const overflow = await detectOverflow(state, detectOverflowOptions);\n const currentIndex = ((_middlewareData$autoP = middlewareData.autoPlacement) == null ? void 0 : _middlewareData$autoP.index) || 0;\n const currentPlacement = placements$1[currentIndex];\n if (currentPlacement == null) {\n return {};\n }\n const alignmentSides = getAlignmentSides(currentPlacement, rects, await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating)));\n\n // Make `computeCoords` start from the right place.\n if (placement !== currentPlacement) {\n return {\n reset: {\n placement: placements$1[0]\n }\n };\n }\n const currentOverflows = [overflow[getSide(currentPlacement)], overflow[alignmentSides[0]], overflow[alignmentSides[1]]];\n const allOverflows = [...(((_middlewareData$autoP2 = middlewareData.autoPlacement) == null ? void 0 : _middlewareData$autoP2.overflows) || []), {\n placement: currentPlacement,\n overflows: currentOverflows\n }];\n const nextPlacement = placements$1[currentIndex + 1];\n\n // There are more placements to check.\n if (nextPlacement) {\n return {\n data: {\n index: currentIndex + 1,\n overflows: allOverflows\n },\n reset: {\n placement: nextPlacement\n }\n };\n }\n const placementsSortedByMostSpace = allOverflows.map(d => {\n const alignment = getAlignment(d.placement);\n return [d.placement, alignment && crossAxis ?\n // Check along the mainAxis and main crossAxis side.\n d.overflows.slice(0, 2).reduce((acc, v) => acc + v, 0) :\n // Check only the mainAxis.\n d.overflows[0], d.overflows];\n }).sort((a, b) => a[1] - b[1]);\n const placementsThatFitOnEachSide = placementsSortedByMostSpace.filter(d => d[2].slice(0,\n // Aligned placements should not check their opposite crossAxis\n // side.\n getAlignment(d[0]) ? 2 : 3).every(v => v <= 0));\n const resetPlacement = ((_placementsThatFitOnE = placementsThatFitOnEachSide[0]) == null ? void 0 : _placementsThatFitOnE[0]) || placementsSortedByMostSpace[0][0];\n if (resetPlacement !== placement) {\n return {\n data: {\n index: currentIndex + 1,\n overflows: allOverflows\n },\n reset: {\n placement: resetPlacement\n }\n };\n }\n return {};\n }\n };\n};\n\n/**\n * Optimizes the visibility of the floating element by flipping the `placement`\n * in order to keep it in view when the preferred placement(s) will overflow the\n * clipping boundary. Alternative to `autoPlacement`.\n * @see https://floating-ui.com/docs/flip\n */\nconst flip = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'flip',\n options,\n async fn(state) {\n var _middlewareData$arrow, _middlewareData$flip;\n const {\n placement,\n middlewareData,\n rects,\n initialPlacement,\n platform,\n elements\n } = state;\n const {\n mainAxis: checkMainAxis = true,\n crossAxis: checkCrossAxis = true,\n fallbackPlacements: specifiedFallbackPlacements,\n fallbackStrategy = 'bestFit',\n fallbackAxisSideDirection = 'none',\n flipAlignment = true,\n ...detectOverflowOptions\n } = evaluate(options, state);\n\n // If a reset by the arrow was caused due to an alignment offset being\n // added, we should skip any logic now since `flip()` has already done its\n // work.\n // https://github.com/floating-ui/floating-ui/issues/2549#issuecomment-1719601643\n if ((_middlewareData$arrow = middlewareData.arrow) != null && _middlewareData$arrow.alignmentOffset) {\n return {};\n }\n const side = getSide(placement);\n const initialSideAxis = getSideAxis(initialPlacement);\n const isBasePlacement = getSide(initialPlacement) === initialPlacement;\n const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating));\n const fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipAlignment ? [getOppositePlacement(initialPlacement)] : getExpandedPlacements(initialPlacement));\n const hasFallbackAxisSideDirection = fallbackAxisSideDirection !== 'none';\n if (!specifiedFallbackPlacements && hasFallbackAxisSideDirection) {\n fallbackPlacements.push(...getOppositeAxisPlacements(initialPlacement, flipAlignment, fallbackAxisSideDirection, rtl));\n }\n const placements = [initialPlacement, ...fallbackPlacements];\n const overflow = await detectOverflow(state, detectOverflowOptions);\n const overflows = [];\n let overflowsData = ((_middlewareData$flip = middlewareData.flip) == null ? void 0 : _middlewareData$flip.overflows) || [];\n if (checkMainAxis) {\n overflows.push(overflow[side]);\n }\n if (checkCrossAxis) {\n const sides = getAlignmentSides(placement, rects, rtl);\n overflows.push(overflow[sides[0]], overflow[sides[1]]);\n }\n overflowsData = [...overflowsData, {\n placement,\n overflows\n }];\n\n // One or more sides is overflowing.\n if (!overflows.every(side => side <= 0)) {\n var _middlewareData$flip2, _overflowsData$filter;\n const nextIndex = (((_middlewareData$flip2 = middlewareData.flip) == null ? void 0 : _middlewareData$flip2.index) || 0) + 1;\n const nextPlacement = placements[nextIndex];\n if (nextPlacement) {\n // Try next placement and re-run the lifecycle.\n return {\n data: {\n index: nextIndex,\n overflows: overflowsData\n },\n reset: {\n placement: nextPlacement\n }\n };\n }\n\n // First, find the candidates that fit on the mainAxis side of overflow,\n // then find the placement that fits the best on the main crossAxis side.\n let resetPlacement = (_overflowsData$filter = overflowsData.filter(d => d.overflows[0] <= 0).sort((a, b) => a.overflows[1] - b.overflows[1])[0]) == null ? void 0 : _overflowsData$filter.placement;\n\n // Otherwise fallback.\n if (!resetPlacement) {\n switch (fallbackStrategy) {\n case 'bestFit':\n {\n var _overflowsData$filter2;\n const placement = (_overflowsData$filter2 = overflowsData.filter(d => {\n if (hasFallbackAxisSideDirection) {\n const currentSideAxis = getSideAxis(d.placement);\n return currentSideAxis === initialSideAxis ||\n // Create a bias to the `y` side axis due to horizontal\n // reading directions favoring greater width.\n currentSideAxis === 'y';\n }\n return true;\n }).map(d => [d.placement, d.overflows.filter(overflow => overflow > 0).reduce((acc, overflow) => acc + overflow, 0)]).sort((a, b) => a[1] - b[1])[0]) == null ? void 0 : _overflowsData$filter2[0];\n if (placement) {\n resetPlacement = placement;\n }\n break;\n }\n case 'initialPlacement':\n resetPlacement = initialPlacement;\n break;\n }\n }\n if (placement !== resetPlacement) {\n return {\n reset: {\n placement: resetPlacement\n }\n };\n }\n }\n return {};\n }\n };\n};\n\nfunction getSideOffsets(overflow, rect) {\n return {\n top: overflow.top - rect.height,\n right: overflow.right - rect.width,\n bottom: overflow.bottom - rect.height,\n left: overflow.left - rect.width\n };\n}\nfunction isAnySideFullyClipped(overflow) {\n return sides.some(side => overflow[side] >= 0);\n}\n/**\n * Provides data to hide the floating element in applicable situations, such as\n * when it is not in the same clipping context as the reference element.\n * @see https://floating-ui.com/docs/hide\n */\nconst hide = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'hide',\n options,\n async fn(state) {\n const {\n rects\n } = state;\n const {\n strategy = 'referenceHidden',\n ...detectOverflowOptions\n } = evaluate(options, state);\n switch (strategy) {\n case 'referenceHidden':\n {\n const overflow = await detectOverflow(state, {\n ...detectOverflowOptions,\n elementContext: 'reference'\n });\n const offsets = getSideOffsets(overflow, rects.reference);\n return {\n data: {\n referenceHiddenOffsets: offsets,\n referenceHidden: isAnySideFullyClipped(offsets)\n }\n };\n }\n case 'escaped':\n {\n const overflow = await detectOverflow(state, {\n ...detectOverflowOptions,\n altBoundary: true\n });\n const offsets = getSideOffsets(overflow, rects.floating);\n return {\n data: {\n escapedOffsets: offsets,\n escaped: isAnySideFullyClipped(offsets)\n }\n };\n }\n default:\n {\n return {};\n }\n }\n }\n };\n};\n\nfunction getBoundingRect(rects) {\n const minX = min(...rects.map(rect => rect.left));\n const minY = min(...rects.map(rect => rect.top));\n const maxX = max(...rects.map(rect => rect.right));\n const maxY = max(...rects.map(rect => rect.bottom));\n return {\n x: minX,\n y: minY,\n width: maxX - minX,\n height: maxY - minY\n };\n}\nfunction getRectsByLine(rects) {\n const sortedRects = rects.slice().sort((a, b) => a.y - b.y);\n const groups = [];\n let prevRect = null;\n for (let i = 0; i < sortedRects.length; i++) {\n const rect = sortedRects[i];\n if (!prevRect || rect.y - prevRect.y > prevRect.height / 2) {\n groups.push([rect]);\n } else {\n groups[groups.length - 1].push(rect);\n }\n prevRect = rect;\n }\n return groups.map(rect => rectToClientRect(getBoundingRect(rect)));\n}\n/**\n * Provides improved positioning for inline reference elements that can span\n * over multiple lines, such as hyperlinks or range selections.\n * @see https://floating-ui.com/docs/inline\n */\nconst inline = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'inline',\n options,\n async fn(state) {\n const {\n placement,\n elements,\n rects,\n platform,\n strategy\n } = state;\n // A MouseEvent's client{X,Y} coords can be up to 2 pixels off a\n // ClientRect's bounds, despite the event listener being triggered. A\n // padding of 2 seems to handle this issue.\n const {\n padding = 2,\n x,\n y\n } = evaluate(options, state);\n const nativeClientRects = Array.from((await (platform.getClientRects == null ? void 0 : platform.getClientRects(elements.reference))) || []);\n const clientRects = getRectsByLine(nativeClientRects);\n const fallback = rectToClientRect(getBoundingRect(nativeClientRects));\n const paddingObject = getPaddingObject(padding);\n function getBoundingClientRect() {\n // There are two rects and they are disjoined.\n if (clientRects.length === 2 && clientRects[0].left > clientRects[1].right && x != null && y != null) {\n // Find the first rect in which the point is fully inside.\n return clientRects.find(rect => x > rect.left - paddingObject.left && x < rect.right + paddingObject.right && y > rect.top - paddingObject.top && y < rect.bottom + paddingObject.bottom) || fallback;\n }\n\n // There are 2 or more connected rects.\n if (clientRects.length >= 2) {\n if (getSideAxis(placement) === 'y') {\n const firstRect = clientRects[0];\n const lastRect = clientRects[clientRects.length - 1];\n const isTop = getSide(placement) === 'top';\n const top = firstRect.top;\n const bottom = lastRect.bottom;\n const left = isTop ? firstRect.left : lastRect.left;\n const right = isTop ? firstRect.right : lastRect.right;\n const width = right - left;\n const height = bottom - top;\n return {\n top,\n bottom,\n left,\n right,\n width,\n height,\n x: left,\n y: top\n };\n }\n const isLeftSide = getSide(placement) === 'left';\n const maxRight = max(...clientRects.map(rect => rect.right));\n const minLeft = min(...clientRects.map(rect => rect.left));\n const measureRects = clientRects.filter(rect => isLeftSide ? rect.left === minLeft : rect.right === maxRight);\n const top = measureRects[0].top;\n const bottom = measureRects[measureRects.length - 1].bottom;\n const left = minLeft;\n const right = maxRight;\n const width = right - left;\n const height = bottom - top;\n return {\n top,\n bottom,\n left,\n right,\n width,\n height,\n x: left,\n y: top\n };\n }\n return fallback;\n }\n const resetRects = await platform.getElementRects({\n reference: {\n getBoundingClientRect\n },\n floating: elements.floating,\n strategy\n });\n if (rects.reference.x !== resetRects.reference.x || rects.reference.y !== resetRects.reference.y || rects.reference.width !== resetRects.reference.width || rects.reference.height !== resetRects.reference.height) {\n return {\n reset: {\n rects: resetRects\n }\n };\n }\n return {};\n }\n };\n};\n\n// For type backwards-compatibility, the `OffsetOptions` type was also\n// Derivable.\n\nasync function convertValueToCoords(state, options) {\n const {\n placement,\n platform,\n elements\n } = state;\n const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating));\n const side = getSide(placement);\n const alignment = getAlignment(placement);\n const isVertical = getSideAxis(placement) === 'y';\n const mainAxisMulti = ['left', 'top'].includes(side) ? -1 : 1;\n const crossAxisMulti = rtl && isVertical ? -1 : 1;\n const rawValue = evaluate(options, state);\n\n // eslint-disable-next-line prefer-const\n let {\n mainAxis,\n crossAxis,\n alignmentAxis\n } = typeof rawValue === 'number' ? {\n mainAxis: rawValue,\n crossAxis: 0,\n alignmentAxis: null\n } : {\n mainAxis: rawValue.mainAxis || 0,\n crossAxis: rawValue.crossAxis || 0,\n alignmentAxis: rawValue.alignmentAxis\n };\n if (alignment && typeof alignmentAxis === 'number') {\n crossAxis = alignment === 'end' ? alignmentAxis * -1 : alignmentAxis;\n }\n return isVertical ? {\n x: crossAxis * crossAxisMulti,\n y: mainAxis * mainAxisMulti\n } : {\n x: mainAxis * mainAxisMulti,\n y: crossAxis * crossAxisMulti\n };\n}\n\n/**\n * Modifies the placement by translating the floating element along the\n * specified axes.\n * A number (shorthand for `mainAxis` or distance), or an axes configuration\n * object may be passed.\n * @see https://floating-ui.com/docs/offset\n */\nconst offset = function (options) {\n if (options === void 0) {\n options = 0;\n }\n return {\n name: 'offset',\n options,\n async fn(state) {\n var _middlewareData$offse, _middlewareData$arrow;\n const {\n x,\n y,\n placement,\n middlewareData\n } = state;\n const diffCoords = await convertValueToCoords(state, options);\n\n // If the placement is the same and the arrow caused an alignment offset\n // then we don't need to change the positioning coordinates.\n if (placement === ((_middlewareData$offse = middlewareData.offset) == null ? void 0 : _middlewareData$offse.placement) && (_middlewareData$arrow = middlewareData.arrow) != null && _middlewareData$arrow.alignmentOffset) {\n return {};\n }\n return {\n x: x + diffCoords.x,\n y: y + diffCoords.y,\n data: {\n ...diffCoords,\n placement\n }\n };\n }\n };\n};\n\n/**\n * Optimizes the visibility of the floating element by shifting it in order to\n * keep it in view when it will overflow the clipping boundary.\n * @see https://floating-ui.com/docs/shift\n */\nconst shift = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'shift',\n options,\n async fn(state) {\n const {\n x,\n y,\n placement\n } = state;\n const {\n mainAxis: checkMainAxis = true,\n crossAxis: checkCrossAxis = false,\n limiter = {\n fn: _ref => {\n let {\n x,\n y\n } = _ref;\n return {\n x,\n y\n };\n }\n },\n ...detectOverflowOptions\n } = evaluate(options, state);\n const coords = {\n x,\n y\n };\n const overflow = await detectOverflow(state, detectOverflowOptions);\n const crossAxis = getSideAxis(getSide(placement));\n const mainAxis = getOppositeAxis(crossAxis);\n let mainAxisCoord = coords[mainAxis];\n let crossAxisCoord = coords[crossAxis];\n if (checkMainAxis) {\n const minSide = mainAxis === 'y' ? 'top' : 'left';\n const maxSide = mainAxis === 'y' ? 'bottom' : 'right';\n const min = mainAxisCoord + overflow[minSide];\n const max = mainAxisCoord - overflow[maxSide];\n mainAxisCoord = clamp(min, mainAxisCoord, max);\n }\n if (checkCrossAxis) {\n const minSide = crossAxis === 'y' ? 'top' : 'left';\n const maxSide = crossAxis === 'y' ? 'bottom' : 'right';\n const min = crossAxisCoord + overflow[minSide];\n const max = crossAxisCoord - overflow[maxSide];\n crossAxisCoord = clamp(min, crossAxisCoord, max);\n }\n const limitedCoords = limiter.fn({\n ...state,\n [mainAxis]: mainAxisCoord,\n [crossAxis]: crossAxisCoord\n });\n return {\n ...limitedCoords,\n data: {\n x: limitedCoords.x - x,\n y: limitedCoords.y - y,\n enabled: {\n [mainAxis]: checkMainAxis,\n [crossAxis]: checkCrossAxis\n }\n }\n };\n }\n };\n};\n/**\n * Built-in `limiter` that will stop `shift()` at a certain point.\n */\nconst limitShift = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n options,\n fn(state) {\n const {\n x,\n y,\n placement,\n rects,\n middlewareData\n } = state;\n const {\n offset = 0,\n mainAxis: checkMainAxis = true,\n crossAxis: checkCrossAxis = true\n } = evaluate(options, state);\n const coords = {\n x,\n y\n };\n const crossAxis = getSideAxis(placement);\n const mainAxis = getOppositeAxis(crossAxis);\n let mainAxisCoord = coords[mainAxis];\n let crossAxisCoord = coords[crossAxis];\n const rawOffset = evaluate(offset, state);\n const computedOffset = typeof rawOffset === 'number' ? {\n mainAxis: rawOffset,\n crossAxis: 0\n } : {\n mainAxis: 0,\n crossAxis: 0,\n ...rawOffset\n };\n if (checkMainAxis) {\n const len = mainAxis === 'y' ? 'height' : 'width';\n const limitMin = rects.reference[mainAxis] - rects.floating[len] + computedOffset.mainAxis;\n const limitMax = rects.reference[mainAxis] + rects.reference[len] - computedOffset.mainAxis;\n if (mainAxisCoord < limitMin) {\n mainAxisCoord = limitMin;\n } else if (mainAxisCoord > limitMax) {\n mainAxisCoord = limitMax;\n }\n }\n if (checkCrossAxis) {\n var _middlewareData$offse, _middlewareData$offse2;\n const len = mainAxis === 'y' ? 'width' : 'height';\n const isOriginSide = ['top', 'left'].includes(getSide(placement));\n const limitMin = rects.reference[crossAxis] - rects.floating[len] + (isOriginSide ? ((_middlewareData$offse = middlewareData.offset) == null ? void 0 : _middlewareData$offse[crossAxis]) || 0 : 0) + (isOriginSide ? 0 : computedOffset.crossAxis);\n const limitMax = rects.reference[crossAxis] + rects.reference[len] + (isOriginSide ? 0 : ((_middlewareData$offse2 = middlewareData.offset) == null ? void 0 : _middlewareData$offse2[crossAxis]) || 0) - (isOriginSide ? computedOffset.crossAxis : 0);\n if (crossAxisCoord < limitMin) {\n crossAxisCoord = limitMin;\n } else if (crossAxisCoord > limitMax) {\n crossAxisCoord = limitMax;\n }\n }\n return {\n [mainAxis]: mainAxisCoord,\n [crossAxis]: crossAxisCoord\n };\n }\n };\n};\n\n/**\n * Provides data that allows you to change the size of the floating element —\n * for instance, prevent it from overflowing the clipping boundary or match the\n * width of the reference element.\n * @see https://floating-ui.com/docs/size\n */\nconst size = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'size',\n options,\n async fn(state) {\n var _state$middlewareData, _state$middlewareData2;\n const {\n placement,\n rects,\n platform,\n elements\n } = state;\n const {\n apply = () => {},\n ...detectOverflowOptions\n } = evaluate(options, state);\n const overflow = await detectOverflow(state, detectOverflowOptions);\n const side = getSide(placement);\n const alignment = getAlignment(placement);\n const isYAxis = getSideAxis(placement) === 'y';\n const {\n width,\n height\n } = rects.floating;\n let heightSide;\n let widthSide;\n if (side === 'top' || side === 'bottom') {\n heightSide = side;\n widthSide = alignment === ((await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating))) ? 'start' : 'end') ? 'left' : 'right';\n } else {\n widthSide = side;\n heightSide = alignment === 'end' ? 'top' : 'bottom';\n }\n const maximumClippingHeight = height - overflow.top - overflow.bottom;\n const maximumClippingWidth = width - overflow.left - overflow.right;\n const overflowAvailableHeight = min(height - overflow[heightSide], maximumClippingHeight);\n const overflowAvailableWidth = min(width - overflow[widthSide], maximumClippingWidth);\n const noShift = !state.middlewareData.shift;\n let availableHeight = overflowAvailableHeight;\n let availableWidth = overflowAvailableWidth;\n if ((_state$middlewareData = state.middlewareData.shift) != null && _state$middlewareData.enabled.x) {\n availableWidth = maximumClippingWidth;\n }\n if ((_state$middlewareData2 = state.middlewareData.shift) != null && _state$middlewareData2.enabled.y) {\n availableHeight = maximumClippingHeight;\n }\n if (noShift && !alignment) {\n const xMin = max(overflow.left, 0);\n const xMax = max(overflow.right, 0);\n const yMin = max(overflow.top, 0);\n const yMax = max(overflow.bottom, 0);\n if (isYAxis) {\n availableWidth = width - 2 * (xMin !== 0 || xMax !== 0 ? xMin + xMax : max(overflow.left, overflow.right));\n } else {\n availableHeight = height - 2 * (yMin !== 0 || yMax !== 0 ? yMin + yMax : max(overflow.top, overflow.bottom));\n }\n }\n await apply({\n ...state,\n availableWidth,\n availableHeight\n });\n const nextDimensions = await platform.getDimensions(elements.floating);\n if (width !== nextDimensions.width || height !== nextDimensions.height) {\n return {\n reset: {\n rects: true\n }\n };\n }\n return {};\n }\n };\n};\n\nexport { arrow, autoPlacement, computePosition, detectOverflow, flip, hide, inline, limitShift, offset, shift, size };\n","function hasWindow() {\n return typeof window !== 'undefined';\n}\nfunction getNodeName(node) {\n if (isNode(node)) {\n return (node.nodeName || '').toLowerCase();\n }\n // Mocked nodes in testing environments may not be instances of Node. By\n // returning `#document` an infinite loop won't occur.\n // https://github.com/floating-ui/floating-ui/issues/2317\n return '#document';\n}\nfunction getWindow(node) {\n var _node$ownerDocument;\n return (node == null || (_node$ownerDocument = node.ownerDocument) == null ? void 0 : _node$ownerDocument.defaultView) || window;\n}\nfunction getDocumentElement(node) {\n var _ref;\n return (_ref = (isNode(node) ? node.ownerDocument : node.document) || window.document) == null ? void 0 : _ref.documentElement;\n}\nfunction isNode(value) {\n if (!hasWindow()) {\n return false;\n }\n return value instanceof Node || value instanceof getWindow(value).Node;\n}\nfunction isElement(value) {\n if (!hasWindow()) {\n return false;\n }\n return value instanceof Element || value instanceof getWindow(value).Element;\n}\nfunction isHTMLElement(value) {\n if (!hasWindow()) {\n return false;\n }\n return value instanceof HTMLElement || value instanceof getWindow(value).HTMLElement;\n}\nfunction isShadowRoot(value) {\n if (!hasWindow() || typeof ShadowRoot === 'undefined') {\n return false;\n }\n return value instanceof ShadowRoot || value instanceof getWindow(value).ShadowRoot;\n}\nfunction isOverflowElement(element) {\n const {\n overflow,\n overflowX,\n overflowY,\n display\n } = getComputedStyle(element);\n return /auto|scroll|overlay|hidden|clip/.test(overflow + overflowY + overflowX) && !['inline', 'contents'].includes(display);\n}\nfunction isTableElement(element) {\n return ['table', 'td', 'th'].includes(getNodeName(element));\n}\nfunction isTopLayer(element) {\n return [':popover-open', ':modal'].some(selector => {\n try {\n return element.matches(selector);\n } catch (e) {\n return false;\n }\n });\n}\nfunction isContainingBlock(elementOrCss) {\n const webkit = isWebKit();\n const css = isElement(elementOrCss) ? getComputedStyle(elementOrCss) : elementOrCss;\n\n // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n return css.transform !== 'none' || css.perspective !== 'none' || (css.containerType ? css.containerType !== 'normal' : false) || !webkit && (css.backdropFilter ? css.backdropFilter !== 'none' : false) || !webkit && (css.filter ? css.filter !== 'none' : false) || ['transform', 'perspective', 'filter'].some(value => (css.willChange || '').includes(value)) || ['paint', 'layout', 'strict', 'content'].some(value => (css.contain || '').includes(value));\n}\nfunction getContainingBlock(element) {\n let currentNode = getParentNode(element);\n while (isHTMLElement(currentNode) && !isLastTraversableNode(currentNode)) {\n if (isContainingBlock(currentNode)) {\n return currentNode;\n } else if (isTopLayer(currentNode)) {\n return null;\n }\n currentNode = getParentNode(currentNode);\n }\n return null;\n}\nfunction isWebKit() {\n if (typeof CSS === 'undefined' || !CSS.supports) return false;\n return CSS.supports('-webkit-backdrop-filter', 'none');\n}\nfunction isLastTraversableNode(node) {\n return ['html', 'body', '#document'].includes(getNodeName(node));\n}\nfunction getComputedStyle(element) {\n return getWindow(element).getComputedStyle(element);\n}\nfunction getNodeScroll(element) {\n if (isElement(element)) {\n return {\n scrollLeft: element.scrollLeft,\n scrollTop: element.scrollTop\n };\n }\n return {\n scrollLeft: element.scrollX,\n scrollTop: element.scrollY\n };\n}\nfunction getParentNode(node) {\n if (getNodeName(node) === 'html') {\n return node;\n }\n const result =\n // Step into the shadow DOM of the parent of a slotted node.\n node.assignedSlot ||\n // DOM Element detected.\n node.parentNode ||\n // ShadowRoot detected.\n isShadowRoot(node) && node.host ||\n // Fallback.\n getDocumentElement(node);\n return isShadowRoot(result) ? result.host : result;\n}\nfunction getNearestOverflowAncestor(node) {\n const parentNode = getParentNode(node);\n if (isLastTraversableNode(parentNode)) {\n return node.ownerDocument ? node.ownerDocument.body : node.body;\n }\n if (isHTMLElement(parentNode) && isOverflowElement(parentNode)) {\n return parentNode;\n }\n return getNearestOverflowAncestor(parentNode);\n}\nfunction getOverflowAncestors(node, list, traverseIframes) {\n var _node$ownerDocument2;\n if (list === void 0) {\n list = [];\n }\n if (traverseIframes === void 0) {\n traverseIframes = true;\n }\n const scrollableAncestor = getNearestOverflowAncestor(node);\n const isBody = scrollableAncestor === ((_node$ownerDocument2 = node.ownerDocument) == null ? void 0 : _node$ownerDocument2.body);\n const win = getWindow(scrollableAncestor);\n if (isBody) {\n const frameElement = getFrameElement(win);\n return list.concat(win, win.visualViewport || [], isOverflowElement(scrollableAncestor) ? scrollableAncestor : [], frameElement && traverseIframes ? getOverflowAncestors(frameElement) : []);\n }\n return list.concat(scrollableAncestor, getOverflowAncestors(scrollableAncestor, [], traverseIframes));\n}\nfunction getFrameElement(win) {\n return win.parent && Object.getPrototypeOf(win.parent) ? win.frameElement : null;\n}\n\nexport { getComputedStyle, getContainingBlock, getDocumentElement, getFrameElement, getNearestOverflowAncestor, getNodeName, getNodeScroll, getOverflowAncestors, getParentNode, getWindow, isContainingBlock, isElement, isHTMLElement, isLastTraversableNode, isNode, isOverflowElement, isShadowRoot, isTableElement, isTopLayer, isWebKit };\n","import { rectToClientRect, detectOverflow as detectOverflow$1, offset as offset$1, autoPlacement as autoPlacement$1, shift as shift$1, flip as flip$1, size as size$1, hide as hide$1, arrow as arrow$1, inline as inline$1, limitShift as limitShift$1, computePosition as computePosition$1 } from '@floating-ui/core';\nimport { round, createCoords, max, min, floor } from '@floating-ui/utils';\nimport { getComputedStyle, isHTMLElement, isElement, getWindow, isWebKit, getFrameElement, getNodeScroll, getDocumentElement, isTopLayer, getNodeName, isOverflowElement, getOverflowAncestors, getParentNode, isLastTraversableNode, isContainingBlock, isTableElement, getContainingBlock } from '@floating-ui/utils/dom';\nexport { getOverflowAncestors } from '@floating-ui/utils/dom';\n\nfunction getCssDimensions(element) {\n const css = getComputedStyle(element);\n // In testing environments, the `width` and `height` properties are empty\n // strings for SVG elements, returning NaN. Fallback to `0` in this case.\n let width = parseFloat(css.width) || 0;\n let height = parseFloat(css.height) || 0;\n const hasOffset = isHTMLElement(element);\n const offsetWidth = hasOffset ? element.offsetWidth : width;\n const offsetHeight = hasOffset ? element.offsetHeight : height;\n const shouldFallback = round(width) !== offsetWidth || round(height) !== offsetHeight;\n if (shouldFallback) {\n width = offsetWidth;\n height = offsetHeight;\n }\n return {\n width,\n height,\n $: shouldFallback\n };\n}\n\nfunction unwrapElement(element) {\n return !isElement(element) ? element.contextElement : element;\n}\n\nfunction getScale(element) {\n const domElement = unwrapElement(element);\n if (!isHTMLElement(domElement)) {\n return createCoords(1);\n }\n const rect = domElement.getBoundingClientRect();\n const {\n width,\n height,\n $\n } = getCssDimensions(domElement);\n let x = ($ ? round(rect.width) : rect.width) / width;\n let y = ($ ? round(rect.height) : rect.height) / height;\n\n // 0, NaN, or Infinity should always fallback to 1.\n\n if (!x || !Number.isFinite(x)) {\n x = 1;\n }\n if (!y || !Number.isFinite(y)) {\n y = 1;\n }\n return {\n x,\n y\n };\n}\n\nconst noOffsets = /*#__PURE__*/createCoords(0);\nfunction getVisualOffsets(element) {\n const win = getWindow(element);\n if (!isWebKit() || !win.visualViewport) {\n return noOffsets;\n }\n return {\n x: win.visualViewport.offsetLeft,\n y: win.visualViewport.offsetTop\n };\n}\nfunction shouldAddVisualOffsets(element, isFixed, floatingOffsetParent) {\n if (isFixed === void 0) {\n isFixed = false;\n }\n if (!floatingOffsetParent || isFixed && floatingOffsetParent !== getWindow(element)) {\n return false;\n }\n return isFixed;\n}\n\nfunction getBoundingClientRect(element, includeScale, isFixedStrategy, offsetParent) {\n if (includeScale === void 0) {\n includeScale = false;\n }\n if (isFixedStrategy === void 0) {\n isFixedStrategy = false;\n }\n const clientRect = element.getBoundingClientRect();\n const domElement = unwrapElement(element);\n let scale = createCoords(1);\n if (includeScale) {\n if (offsetParent) {\n if (isElement(offsetParent)) {\n scale = getScale(offsetParent);\n }\n } else {\n scale = getScale(element);\n }\n }\n const visualOffsets = shouldAddVisualOffsets(domElement, isFixedStrategy, offsetParent) ? getVisualOffsets(domElement) : createCoords(0);\n let x = (clientRect.left + visualOffsets.x) / scale.x;\n let y = (clientRect.top + visualOffsets.y) / scale.y;\n let width = clientRect.width / scale.x;\n let height = clientRect.height / scale.y;\n if (domElement) {\n const win = getWindow(domElement);\n const offsetWin = offsetParent && isElement(offsetParent) ? getWindow(offsetParent) : offsetParent;\n let currentWin = win;\n let currentIFrame = getFrameElement(currentWin);\n while (currentIFrame && offsetParent && offsetWin !== currentWin) {\n const iframeScale = getScale(currentIFrame);\n const iframeRect = currentIFrame.getBoundingClientRect();\n const css = getComputedStyle(currentIFrame);\n const left = iframeRect.left + (currentIFrame.clientLeft + parseFloat(css.paddingLeft)) * iframeScale.x;\n const top = iframeRect.top + (currentIFrame.clientTop + parseFloat(css.paddingTop)) * iframeScale.y;\n x *= iframeScale.x;\n y *= iframeScale.y;\n width *= iframeScale.x;\n height *= iframeScale.y;\n x += left;\n y += top;\n currentWin = getWindow(currentIFrame);\n currentIFrame = getFrameElement(currentWin);\n }\n }\n return rectToClientRect({\n width,\n height,\n x,\n y\n });\n}\n\n// If has a CSS width greater than the viewport, then this will be\n// incorrect for RTL.\nfunction getWindowScrollBarX(element, rect) {\n const leftScroll = getNodeScroll(element).scrollLeft;\n if (!rect) {\n return getBoundingClientRect(getDocumentElement(element)).left + leftScroll;\n }\n return rect.left + leftScroll;\n}\n\nfunction getHTMLOffset(documentElement, scroll, ignoreScrollbarX) {\n if (ignoreScrollbarX === void 0) {\n ignoreScrollbarX = false;\n }\n const htmlRect = documentElement.getBoundingClientRect();\n const x = htmlRect.left + scroll.scrollLeft - (ignoreScrollbarX ? 0 :\n // RTL scrollbar.\n getWindowScrollBarX(documentElement, htmlRect));\n const y = htmlRect.top + scroll.scrollTop;\n return {\n x,\n y\n };\n}\n\nfunction convertOffsetParentRelativeRectToViewportRelativeRect(_ref) {\n let {\n elements,\n rect,\n offsetParent,\n strategy\n } = _ref;\n const isFixed = strategy === 'fixed';\n const documentElement = getDocumentElement(offsetParent);\n const topLayer = elements ? isTopLayer(elements.floating) : false;\n if (offsetParent === documentElement || topLayer && isFixed) {\n return rect;\n }\n let scroll = {\n scrollLeft: 0,\n scrollTop: 0\n };\n let scale = createCoords(1);\n const offsets = createCoords(0);\n const isOffsetParentAnElement = isHTMLElement(offsetParent);\n if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n if (getNodeName(offsetParent) !== 'body' || isOverflowElement(documentElement)) {\n scroll = getNodeScroll(offsetParent);\n }\n if (isHTMLElement(offsetParent)) {\n const offsetRect = getBoundingClientRect(offsetParent);\n scale = getScale(offsetParent);\n offsets.x = offsetRect.x + offsetParent.clientLeft;\n offsets.y = offsetRect.y + offsetParent.clientTop;\n }\n }\n const htmlOffset = documentElement && !isOffsetParentAnElement && !isFixed ? getHTMLOffset(documentElement, scroll, true) : createCoords(0);\n return {\n width: rect.width * scale.x,\n height: rect.height * scale.y,\n x: rect.x * scale.x - scroll.scrollLeft * scale.x + offsets.x + htmlOffset.x,\n y: rect.y * scale.y - scroll.scrollTop * scale.y + offsets.y + htmlOffset.y\n };\n}\n\nfunction getClientRects(element) {\n return Array.from(element.getClientRects());\n}\n\n// Gets the entire size of the scrollable document area, even extending outside\n// of the `` and `` rect bounds if horizontally scrollable.\nfunction getDocumentRect(element) {\n const html = getDocumentElement(element);\n const scroll = getNodeScroll(element);\n const body = element.ownerDocument.body;\n const width = max(html.scrollWidth, html.clientWidth, body.scrollWidth, body.clientWidth);\n const height = max(html.scrollHeight, html.clientHeight, body.scrollHeight, body.clientHeight);\n let x = -scroll.scrollLeft + getWindowScrollBarX(element);\n const y = -scroll.scrollTop;\n if (getComputedStyle(body).direction === 'rtl') {\n x += max(html.clientWidth, body.clientWidth) - width;\n }\n return {\n width,\n height,\n x,\n y\n };\n}\n\nfunction getViewportRect(element, strategy) {\n const win = getWindow(element);\n const html = getDocumentElement(element);\n const visualViewport = win.visualViewport;\n let width = html.clientWidth;\n let height = html.clientHeight;\n let x = 0;\n let y = 0;\n if (visualViewport) {\n width = visualViewport.width;\n height = visualViewport.height;\n const visualViewportBased = isWebKit();\n if (!visualViewportBased || visualViewportBased && strategy === 'fixed') {\n x = visualViewport.offsetLeft;\n y = visualViewport.offsetTop;\n }\n }\n return {\n width,\n height,\n x,\n y\n };\n}\n\n// Returns the inner client rect, subtracting scrollbars if present.\nfunction getInnerBoundingClientRect(element, strategy) {\n const clientRect = getBoundingClientRect(element, true, strategy === 'fixed');\n const top = clientRect.top + element.clientTop;\n const left = clientRect.left + element.clientLeft;\n const scale = isHTMLElement(element) ? getScale(element) : createCoords(1);\n const width = element.clientWidth * scale.x;\n const height = element.clientHeight * scale.y;\n const x = left * scale.x;\n const y = top * scale.y;\n return {\n width,\n height,\n x,\n y\n };\n}\nfunction getClientRectFromClippingAncestor(element, clippingAncestor, strategy) {\n let rect;\n if (clippingAncestor === 'viewport') {\n rect = getViewportRect(element, strategy);\n } else if (clippingAncestor === 'document') {\n rect = getDocumentRect(getDocumentElement(element));\n } else if (isElement(clippingAncestor)) {\n rect = getInnerBoundingClientRect(clippingAncestor, strategy);\n } else {\n const visualOffsets = getVisualOffsets(element);\n rect = {\n x: clippingAncestor.x - visualOffsets.x,\n y: clippingAncestor.y - visualOffsets.y,\n width: clippingAncestor.width,\n height: clippingAncestor.height\n };\n }\n return rectToClientRect(rect);\n}\nfunction hasFixedPositionAncestor(element, stopNode) {\n const parentNode = getParentNode(element);\n if (parentNode === stopNode || !isElement(parentNode) || isLastTraversableNode(parentNode)) {\n return false;\n }\n return getComputedStyle(parentNode).position === 'fixed' || hasFixedPositionAncestor(parentNode, stopNode);\n}\n\n// A \"clipping ancestor\" is an `overflow` element with the characteristic of\n// clipping (or hiding) child elements. This returns all clipping ancestors\n// of the given element up the tree.\nfunction getClippingElementAncestors(element, cache) {\n const cachedResult = cache.get(element);\n if (cachedResult) {\n return cachedResult;\n }\n let result = getOverflowAncestors(element, [], false).filter(el => isElement(el) && getNodeName(el) !== 'body');\n let currentContainingBlockComputedStyle = null;\n const elementIsFixed = getComputedStyle(element).position === 'fixed';\n let currentNode = elementIsFixed ? getParentNode(element) : element;\n\n // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n while (isElement(currentNode) && !isLastTraversableNode(currentNode)) {\n const computedStyle = getComputedStyle(currentNode);\n const currentNodeIsContaining = isContainingBlock(currentNode);\n if (!currentNodeIsContaining && computedStyle.position === 'fixed') {\n currentContainingBlockComputedStyle = null;\n }\n const shouldDropCurrentNode = elementIsFixed ? !currentNodeIsContaining && !currentContainingBlockComputedStyle : !currentNodeIsContaining && computedStyle.position === 'static' && !!currentContainingBlockComputedStyle && ['absolute', 'fixed'].includes(currentContainingBlockComputedStyle.position) || isOverflowElement(currentNode) && !currentNodeIsContaining && hasFixedPositionAncestor(element, currentNode);\n if (shouldDropCurrentNode) {\n // Drop non-containing blocks.\n result = result.filter(ancestor => ancestor !== currentNode);\n } else {\n // Record last containing block for next iteration.\n currentContainingBlockComputedStyle = computedStyle;\n }\n currentNode = getParentNode(currentNode);\n }\n cache.set(element, result);\n return result;\n}\n\n// Gets the maximum area that the element is visible in due to any number of\n// clipping ancestors.\nfunction getClippingRect(_ref) {\n let {\n element,\n boundary,\n rootBoundary,\n strategy\n } = _ref;\n const elementClippingAncestors = boundary === 'clippingAncestors' ? isTopLayer(element) ? [] : getClippingElementAncestors(element, this._c) : [].concat(boundary);\n const clippingAncestors = [...elementClippingAncestors, rootBoundary];\n const firstClippingAncestor = clippingAncestors[0];\n const clippingRect = clippingAncestors.reduce((accRect, clippingAncestor) => {\n const rect = getClientRectFromClippingAncestor(element, clippingAncestor, strategy);\n accRect.top = max(rect.top, accRect.top);\n accRect.right = min(rect.right, accRect.right);\n accRect.bottom = min(rect.bottom, accRect.bottom);\n accRect.left = max(rect.left, accRect.left);\n return accRect;\n }, getClientRectFromClippingAncestor(element, firstClippingAncestor, strategy));\n return {\n width: clippingRect.right - clippingRect.left,\n height: clippingRect.bottom - clippingRect.top,\n x: clippingRect.left,\n y: clippingRect.top\n };\n}\n\nfunction getDimensions(element) {\n const {\n width,\n height\n } = getCssDimensions(element);\n return {\n width,\n height\n };\n}\n\nfunction getRectRelativeToOffsetParent(element, offsetParent, strategy) {\n const isOffsetParentAnElement = isHTMLElement(offsetParent);\n const documentElement = getDocumentElement(offsetParent);\n const isFixed = strategy === 'fixed';\n const rect = getBoundingClientRect(element, true, isFixed, offsetParent);\n let scroll = {\n scrollLeft: 0,\n scrollTop: 0\n };\n const offsets = createCoords(0);\n if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n if (getNodeName(offsetParent) !== 'body' || isOverflowElement(documentElement)) {\n scroll = getNodeScroll(offsetParent);\n }\n if (isOffsetParentAnElement) {\n const offsetRect = getBoundingClientRect(offsetParent, true, isFixed, offsetParent);\n offsets.x = offsetRect.x + offsetParent.clientLeft;\n offsets.y = offsetRect.y + offsetParent.clientTop;\n } else if (documentElement) {\n // If the scrollbar appears on the left (e.g. RTL systems). Use\n // Firefox with layout.scrollbar.side = 3 in about:config to test this.\n offsets.x = getWindowScrollBarX(documentElement);\n }\n }\n const htmlOffset = documentElement && !isOffsetParentAnElement && !isFixed ? getHTMLOffset(documentElement, scroll) : createCoords(0);\n const x = rect.left + scroll.scrollLeft - offsets.x - htmlOffset.x;\n const y = rect.top + scroll.scrollTop - offsets.y - htmlOffset.y;\n return {\n x,\n y,\n width: rect.width,\n height: rect.height\n };\n}\n\nfunction isStaticPositioned(element) {\n return getComputedStyle(element).position === 'static';\n}\n\nfunction getTrueOffsetParent(element, polyfill) {\n if (!isHTMLElement(element) || getComputedStyle(element).position === 'fixed') {\n return null;\n }\n if (polyfill) {\n return polyfill(element);\n }\n let rawOffsetParent = element.offsetParent;\n\n // Firefox returns the element as the offsetParent if it's non-static,\n // while Chrome and Safari return the element. The element must\n // be used to perform the correct calculations even if the element is\n // non-static.\n if (getDocumentElement(element) === rawOffsetParent) {\n rawOffsetParent = rawOffsetParent.ownerDocument.body;\n }\n return rawOffsetParent;\n}\n\n// Gets the closest ancestor positioned element. Handles some edge cases,\n// such as table ancestors and cross browser bugs.\nfunction getOffsetParent(element, polyfill) {\n const win = getWindow(element);\n if (isTopLayer(element)) {\n return win;\n }\n if (!isHTMLElement(element)) {\n let svgOffsetParent = getParentNode(element);\n while (svgOffsetParent && !isLastTraversableNode(svgOffsetParent)) {\n if (isElement(svgOffsetParent) && !isStaticPositioned(svgOffsetParent)) {\n return svgOffsetParent;\n }\n svgOffsetParent = getParentNode(svgOffsetParent);\n }\n return win;\n }\n let offsetParent = getTrueOffsetParent(element, polyfill);\n while (offsetParent && isTableElement(offsetParent) && isStaticPositioned(offsetParent)) {\n offsetParent = getTrueOffsetParent(offsetParent, polyfill);\n }\n if (offsetParent && isLastTraversableNode(offsetParent) && isStaticPositioned(offsetParent) && !isContainingBlock(offsetParent)) {\n return win;\n }\n return offsetParent || getContainingBlock(element) || win;\n}\n\nconst getElementRects = async function (data) {\n const getOffsetParentFn = this.getOffsetParent || getOffsetParent;\n const getDimensionsFn = this.getDimensions;\n const floatingDimensions = await getDimensionsFn(data.floating);\n return {\n reference: getRectRelativeToOffsetParent(data.reference, await getOffsetParentFn(data.floating), data.strategy),\n floating: {\n x: 0,\n y: 0,\n width: floatingDimensions.width,\n height: floatingDimensions.height\n }\n };\n};\n\nfunction isRTL(element) {\n return getComputedStyle(element).direction === 'rtl';\n}\n\nconst platform = {\n convertOffsetParentRelativeRectToViewportRelativeRect,\n getDocumentElement,\n getClippingRect,\n getOffsetParent,\n getElementRects,\n getClientRects,\n getDimensions,\n getScale,\n isElement,\n isRTL\n};\n\n// https://samthor.au/2021/observing-dom/\nfunction observeMove(element, onMove) {\n let io = null;\n let timeoutId;\n const root = getDocumentElement(element);\n function cleanup() {\n var _io;\n clearTimeout(timeoutId);\n (_io = io) == null || _io.disconnect();\n io = null;\n }\n function refresh(skip, threshold) {\n if (skip === void 0) {\n skip = false;\n }\n if (threshold === void 0) {\n threshold = 1;\n }\n cleanup();\n const {\n left,\n top,\n width,\n height\n } = element.getBoundingClientRect();\n if (!skip) {\n onMove();\n }\n if (!width || !height) {\n return;\n }\n const insetTop = floor(top);\n const insetRight = floor(root.clientWidth - (left + width));\n const insetBottom = floor(root.clientHeight - (top + height));\n const insetLeft = floor(left);\n const rootMargin = -insetTop + \"px \" + -insetRight + \"px \" + -insetBottom + \"px \" + -insetLeft + \"px\";\n const options = {\n rootMargin,\n threshold: max(0, min(1, threshold)) || 1\n };\n let isFirstUpdate = true;\n function handleObserve(entries) {\n const ratio = entries[0].intersectionRatio;\n if (ratio !== threshold) {\n if (!isFirstUpdate) {\n return refresh();\n }\n if (!ratio) {\n // If the reference is clipped, the ratio is 0. Throttle the refresh\n // to prevent an infinite loop of updates.\n timeoutId = setTimeout(() => {\n refresh(false, 1e-7);\n }, 1000);\n } else {\n refresh(false, ratio);\n }\n }\n isFirstUpdate = false;\n }\n\n // Older browsers don't support a `document` as the root and will throw an\n // error.\n try {\n io = new IntersectionObserver(handleObserve, {\n ...options,\n // Handle