import { p as t, H as n, c as r, h as e, t as i } from './p-BfLQgzDX.js';
import { c as a } from './p-D7YaJBkB.js';
import { g as o } from './p-Dpaq_7dX.js';
import { f as c, a as s } from './p-BiHzhysf.js';
import { r as u } from './p-_JFHEL-E.js';
import { d as l } from './p-BpML1w-i.js';
import { v as p } from './p-CK3_k8jD.js';
const d = [
    { code: 'USD', id: 'US', symbol: '$', name: 'US Dollar', decimalSeparator: '.', thousandsSeparator: ',' },
    { code: 'EUR', id: 'DE', symbol: '€', name: 'Euro', decimalSeparator: ',', thousandsSeparator: '.' },
    { code: 'GBP', id: 'GB', symbol: '£', name: 'British Pound', decimalSeparator: '.', thousandsSeparator: ',' },
    { code: 'TRY', id: 'TR', symbol: '₺', name: 'Turkish Lira', decimalSeparator: ',', thousandsSeparator: '.' },
    { code: 'JPY', id: 'JP', symbol: '¥', name: 'Japanese Yen', decimalSeparator: '.', thousandsSeparator: ',' },
    { code: 'CAD', id: 'CA', symbol: 'C$', name: 'Canadian Dollar', decimalSeparator: '.', thousandsSeparator: ',' },
    { code: 'AUD', id: 'AU', symbol: 'A$', name: 'Australian Dollar', decimalSeparator: '.', thousandsSeparator: ',' },
    { code: 'CHF', id: 'CH', symbol: 'Fr', name: 'Swiss Franc', decimalSeparator: '.', thousandsSeparator: ',' },
    { code: 'CNY', id: 'CN', symbol: '¥', name: 'Chinese Yuan', decimalSeparator: '.', thousandsSeparator: ',' },
    { code: 'SEK', id: 'SE', symbol: 'kr', name: 'Swedish Krona', decimalSeparator: ',', thousandsSeparator: ' ' },
  ],
  h = [',', '.', ' '],
  y = t => [',', '.'].find(n => n !== t),
  k = t => {
    if (t) {
      if (h.includes(t)) return t;
      console.warn(`TkCurrencyInput: Invalid separator '${t}'. Must be one of: ${h.join(', ')}`);
    }
  },
  b = (t, n, r, e, i) => {
    const a = k(t),
      o = k(n),
      c = k(r),
      s = k(e);
    return a && o && a === o
      ? (console.error(`TkCurrencyInput: Both separator props are set to '${a}' they cannot be the same.`), a)
      : c && s && c === s
        ? (console.error(`TkCurrencyInput: Both interface separator fields set to '${c}' they cannot be the same.`), c)
        : a || (o ? y(o) : c || (s ? y(s) : i));
  },
  m = t(
    class extends n {
      constructor(t) {
        (super(),
          !1 !== t && this.__registerHost(),
          (this.tkChange = r(this, 'tk-change', 5)),
          (this.tkBlur = r(this, 'tkBlur', 7)),
          (this.tkFocus = r(this, 'tkFocus', 7)),
          (this.uniqueId = p()),
          (this.displayValue = ''),
          (this.isDropdownOpen = !1),
          (this.currentNumericValue = 0),
          (this.value = 0),
          (this.disabled = !1),
          (this.invalid = !1),
          (this.readonly = !1),
          (this.size = 'base'),
          (this.showAsterisk = !1),
          (this.currencyDisabled = !1),
          (this.precision = 2),
          (this.defaultCurrency = 'TRY'),
          (this.allowNegative = !1),
          (this.hideFlag = !1),
          (this.allowEmptyValue = !1),
          (this.dropdownWidthMode = 'match-parent'),
          (this.closeDropdown = t => {
            var n;
            if (t.composedPath().includes(this.el) || !this.isDropdownOpen) return;
            const r = t.target;
            if (this.dropdownEl && this.dropdownEl.contains(r)) return;
            const e = null === (n = this.inputElement) || void 0 === n ? void 0 : n.closest('tk-currency-input');
            (e && e.contains(r)) || (this.isDropdownOpen = !1);
          }),
          (this.toggleDropdown = t => {
            (t.stopPropagation(), t.preventDefault(), this.disabled || this.readonly || this.currencyDisabled || (this.isDropdownOpen = !this.isDropdownOpen));
          }),
          (this.handleInput = t => {
            var n;
            const r = t.target,
              e = r.value,
              i = null !== (n = r.selectionStart) && void 0 !== n ? n : 0,
              a = this.getDecimalSeparator(),
              o = this.getThousandsSeparator();
            if (this.displayValue.includes(a) && !e.includes(a) && e === this.displayValue.replace(a, '')) {
              r.value = this.displayValue;
              const t = this.displayValue.indexOf(a);
              return void r.setSelectionRange(t, t);
            }
            const c = RegExp(`[0-9\\${a}\\${o}${this.allowNegative ? '\\-' : ''}]`);
            let s = '',
              u = !1;
            if (e.split(a).length > 2) {
              const t = e.indexOf(a),
                n = e.substring(0, t),
                r = this.displayValue.split(a);
              s = n + a + (r.length > 1 ? r[1] : '');
            } else
              for (let t = 0; t < e.length; t++) {
                const n = e[t];
                '-' === n && this.allowNegative && 0 === t && !u ? ((s += n), (u = !0)) : ('-' === n && this.allowNegative && u) || (c.test(n) && '-' !== n && (s += n));
              }
            if (this.precision >= 0) {
              const t = s.split(a);
              if (t.length > 1) {
                const n = t[1];
                n.length > this.precision && (s = t[0] + a + n.substring(0, this.precision));
              }
            }
            const l = this.parseFormattedValue(s);
            if ((this.allowEmptyValue && 0 === i) || null === l)
              return (
                (this.currentNumericValue = null),
                (this.displayValue = ''),
                (r.value = ''),
                void this.tkChange.emit({ value: null, currency: this.selectedCurrency, formattedValue: '' })
              );
            this.currentNumericValue = l;
            const p = this.formatCurrency(l);
            ((this.displayValue = p), (r.value = p));
            const d = this.calculateNewCursorPosition(e, p, i);
            (r.setSelectionRange(d, d), this.tkChange.emit({ value: l, currency: this.selectedCurrency, formattedValue: p }));
          }),
          (this.handleKeyDown = t => {
            const n = this.getDecimalSeparator();
            '.' === t.key && '.' !== n && t.preventDefault();
          }),
          (this.handleFocus = () => {
            this.tkFocus.emit();
          }),
          (this.handleBlur = () => {
            const t = this.inputElement;
            if (!t) return;
            const n = this.parseFormattedValue(t.value);
            if (((this.currentNumericValue = n), null === n)) ((t.value = ''), (this.displayValue = ''));
            else {
              const r = this.formatCurrency(n);
              ((t.value = r), (this.displayValue = r));
            }
            this.tkBlur.emit();
          }),
          (this.handleSelectCurrency = (t, n) => {
            (n.stopPropagation(), n.preventDefault());
            const r = this.getCurrencies().find(n => n.code.toUpperCase() === t.toUpperCase());
            r &&
              ((this.selectedCurrency = r),
              this.updateDisplayValue(),
              (this.isDropdownOpen = !1),
              this.inputElement && (this.inputElement.value = this.displayValue),
              this.tkChange.emit({ value: this.currentNumericValue, currency: this.selectedCurrency, formattedValue: this.displayValue }));
          }));
      }
      valueChanged() {
        this.value !== this.currentNumericValue && ((this.currentNumericValue = this.normalizeNumericValue(this.value)), this.updateDisplayValue());
      }
      disabledChanged(t) {
        t && (this.isDropdownOpen = !1);
      }
      defaultCurrencyChanged() {
        const t = this.getCurrencies().find(t => t.code.toUpperCase() === this.defaultCurrency.toUpperCase());
        t &&
          ((this.selectedCurrency = t),
          this.updateDisplayValue(),
          this.inputElement && (this.inputElement.value = this.displayValue),
          this.tkChange.emit({ value: this.currentNumericValue, currency: this.selectedCurrency, formattedValue: this.displayValue }));
      }
      componentWillLoad() {
        this.setSelectedCurrency(this.defaultCurrency);
      }
      componentDidUpdate() {
        var t, n, r;
        (this.updateDisplayValue(),
          this.isDropdownOpen
            ? (null === (t = this.cleanup) || void 0 === t || t.call(this), this.updatePosition())
            : (null === (n = this.cleanup) || void 0 === n || n.call(this), (this.cleanup = null), null === (r = this.dropdownEl) || void 0 === r || r.remove()));
      }
      connectedCallback() {
        document.addEventListener('click', this.closeDropdown);
      }
      disconnectedCallback() {
        var t;
        (null === (t = this.cleanup) || void 0 === t || t.call(this), (this.cleanup = null), document.removeEventListener('click', this.closeDropdown));
      }
      updatePosition() {
        const t = this.dropdownWidthMode,
          n = this.el.querySelector('.tk-currency-input-wrapper');
        this.cleanup = c(n, this.dropdownEl, void 0, {
          placement: 'bottom-start',
          size: {
            apply({ rects: n, elements: r }) {
              'match-parent' === t ? s(r.floating, { width: n.reference.width + 'px' }) : 'auto' !== t && t.length > 0 && s(r.floating, { width: t });
            },
          },
        });
      }
      getCurrencies() {
        return this.currencyList || d;
      }
      setSelectedCurrency(t) {
        const n = this.getCurrencies(),
          r = n.find(n => n.code.toUpperCase() === t.toUpperCase());
        ((this.selectedCurrency = r || n[0]), (this.currentNumericValue = this.normalizeNumericValue(this.value)), this.updateDisplayValue());
      }
      normalizeNumericValue(t) {
        return this.allowEmptyValue && null === t ? null : null != t ? t : 0;
      }
      updateDisplayValue() {
        this.displayValue = null == this.currentNumericValue || isNaN(this.currentNumericValue) ? '' : this.formatCurrency(this.currentNumericValue);
      }
      getDecimalSeparator() {
        var t, n;
        return b(
          this.decimalSeparator,
          this.thousandsSeparator,
          null === (t = this.selectedCurrency) || void 0 === t ? void 0 : t.decimalSeparator,
          null === (n = this.selectedCurrency) || void 0 === n ? void 0 : n.thousandsSeparator,
          '.',
        );
      }
      getThousandsSeparator() {
        var t, n;
        return b(
          this.thousandsSeparator,
          this.decimalSeparator,
          null === (t = this.selectedCurrency) || void 0 === t ? void 0 : t.thousandsSeparator,
          null === (n = this.selectedCurrency) || void 0 === n ? void 0 : n.decimalSeparator,
          ',',
        );
      }
      formatCurrency(t) {
        if (isNaN(t)) return '';
        const n = this.getDecimalSeparator(),
          r = this.getThousandsSeparator(),
          e = t < 0 || Object.is(t, -0),
          i = Number(Math.abs(t)).toFixed(this.precision),
          [a, o] = i.split('.');
        let c = a.replace(/\B(?=(\d{3})+(?!\d))/g, r);
        return (this.precision > 0 && o && (c += n + o), e && this.allowNegative && (c = '-' + c), c);
      }
      parseFormattedValue(t) {
        if (!t) return this.allowEmptyValue ? null : 0;
        const n = this.getDecimalSeparator(),
          r = this.getThousandsSeparator(),
          e = t.startsWith('-') && this.allowNegative;
        let i = t.replace('-', '');
        r && (i = i.replace(RegExp('\\' + r, 'g'), ''));
        const a = i.split(n);
        (a.length > 1 && (i = a[0] + '.' + a.slice(1).join('')), (i = i.replace(/[^0-9.]/g, '')));
        const o = parseFloat(i),
          c = isNaN(o) ? 0 : o;
        return e ? -c : c;
      }
      calculateNewCursorPosition(t, n, r) {
        const e = this.getDecimalSeparator(),
          i = t.indexOf(e),
          a = n.indexOf(e),
          o = -1 === a ? n.length : a,
          c = -1 === i ? t.length : i,
          s = r > c,
          u = ((t, n, r) => {
            let e = 0;
            for (let i = Math.min(n, r); i < Math.max(n, r); i++) t[i] >= '0' && t[i] <= '9' && e++;
            return e;
          })(t, r, c);
        if (0 === u) return s ? o + 1 : o;
        let l = 0;
        if (s) {
          for (let t = o + 1; t < n.length; t++) {
            if (l >= u) return t;
            n[t] >= '0' && n[t] <= '9' && l++;
          }
          return n.length;
        }
        for (let t = o - 1; t >= 0; t--) if ((n[t] >= '0' && n[t] <= '9' && l++, l > u)) return t + 1;
        return n.startsWith('-') ? 1 : 0;
      }
      renderLabel() {
        return this.label
          ? e(
              'label',
              { class: 'tk-currency-input-label', htmlFor: this.uniqueId },
              e('span', { class: 'tk-currency-input-label-title' }, this.label),
              this.showAsterisk && e('span', { class: 'tk-currency-input-label-asterisk' }, '*'),
            )
          : null;
      }
      renderCurrencyInput() {
        return e('input', {
          id: this.uniqueId,
          ref: t => (this.inputElement = t),
          type: 'text',
          class: 'tk-currency-input-input',
          autoComplete: 'off',
          value: this.displayValue,
          placeholder: this.placeholder,
          disabled: this.disabled,
          readonly: this.readonly,
          name: this.name,
          onInput: this.handleInput,
          onKeyDown: this.handleKeyDown,
          onFocus: this.handleFocus,
          onBlur: this.handleBlur,
        });
      }
      renderCurrencySelector() {
        return e(
          'div',
          { class: 'tk-currency-input-dropdown' },
          this.renderDropdownButton(),
          this.isDropdownOpen && e('div', { class: 'tk-currency-input-dropdown-menu', role: 'listbox', ref: t => (this.dropdownEl = t) }, this.renderCurrencyList()),
        );
      }
      getFlagClass(t) {
        return a('flag', (null == t ? void 0 : t.id) ? 'flag-' + (null == t ? void 0 : t.id.toLowerCase()) : 'flag-none');
      }
      renderDropdownButton() {
        var t;
        return e(
          'button',
          {
            'type': 'button',
            'class': 'tk-currency-input-dropdown-button',
            'onClick': t => this.toggleDropdown(t),
            'disabled': this.currencyDisabled || this.disabled,
            'aria-disabled': this.currencyDisabled || this.disabled,
          },
          e(
            'div',
            { class: 'tk-currency-input-dropdown-button-selected' },
            !this.hideFlag && this.renderFlag(this.selectedCurrency),
            e('span', { class: 'tk-currency-input-dropdown-button-currency-code' }, null === (t = this.selectedCurrency) || void 0 === t ? void 0 : t.code),
            !this.currencyDisabled && e('tk-icon', Object.assign({}, o('keyboard_arrow_down', { variant: null, size: 'large' }, 'rounded', 'span'))),
          ),
        );
      }
      renderCurrencyList() {
        const t = this.getCurrencies();
        return e(
          'ul',
          { class: 'tk-currency-input-dropdown-menu-list' },
          t.map(t =>
            e(
              'li',
              {
                'class': 'tk-currency-input-dropdown-menu-list-item',
                'key': t.code,
                'role': 'option',
                'onClick': n => this.handleSelectCurrency(t.code, n),
                'aria-selected': this.selectedCurrency.code === t.code,
              },
              !this.hideFlag && this.renderFlag(t),
              e('span', { class: 'tk-currency-input-dropdown-menu-list-country-label' }, t.symbol),
              e('span', { class: 'tk-currency-input-dropdown-menu-list-dial-id' }, t.name),
            ),
          ),
        );
      }
      renderFlag(t) {
        const n = this.getFlagClass(t);
        return (null == t ? void 0 : t.id)
          ? e('div', { 'class': n, 'aria-label': t.code + ' flag' })
          : e('div', { class: n }, e('tk-icon', Object.assign({}, o('close', { color: 'var(--static-white)' }))));
      }
      render() {
        return e(
          'div',
          {
            'key': '9719d00968adfba58e4f0eff8c1bbd5dbfcdddbc',
            'class': a('tk-currency-input-container', 'tk-currency-input-container-' + this.size),
            'aria-invalid': this.invalid,
            'aria-disabled': this.disabled,
            'aria-readonly': this.readonly,
          },
          this.renderLabel(),
          e('div', { key: '19750f8dd6ddde85b364da27c10fe501667c57c3', class: 'tk-currency-input-wrapper' }, this.renderCurrencyInput(), this.renderCurrencySelector()),
          u(this.hint, this.error, this.invalid),
        );
      }
      static get formAssociated() {
        return !0;
      }
      get el() {
        return this;
      }
      static get watchers() {
        return { value: [{ valueChanged: 0 }], disabled: [{ disabledChanged: 0 }], defaultCurrency: [{ defaultCurrencyChanged: 0 }] };
      }
      static get style() {
        return '@font-face{font-family:"Material Symbols Outlined";src:url("./assets/fonts/material-symbols/Material-Symbols-Outlined.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}.material-symbols-outlined{font-family:"Material Symbols Outlined";font-weight:normal;font-style:normal;font-size:24px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-feature-settings:"liga";-webkit-font-smoothing:antialiased}.material-symbols-outlined{font-variation-settings:"FILL" 0}.material-symbols-outlined.fill{font-variation-settings:"FILL" 1}@font-face{font-family:"Material Symbols Rounded";src:url("./assets/fonts/material-symbols/Material-Symbols-Rounded.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}.material-symbols-rounded{font-family:"Material Symbols Rounded";font-weight:normal;font-style:normal;font-size:24px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-feature-settings:"liga";-webkit-font-smoothing:antialiased}.material-symbols-rounded{font-variation-settings:"FILL" 0}.material-symbols-rounded.fill{font-variation-settings:"FILL" 1}@font-face{font-family:"Material Symbols Sharp";src:url("./assets/fonts/material-symbols/Material-Symbols-Sharp.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}.material-symbols-sharp{font-family:"Material Symbols Sharp";font-weight:normal;font-style:normal;font-size:24px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-feature-settings:"liga";-webkit-font-smoothing:antialiased}.material-symbols-sharp{font-variation-settings:"FILL" 0}.material-symbols-sharp.fill{font-variation-settings:"FILL" 1}:host{display:block;min-width:0}.tk-currency-input-container{display:flex;flex-direction:column;align-items:flex-start;color:var(--text-darkest);font-family:var(--family-body);gap:var(--input-external-label-small-container-gap);min-width:0}.tk-currency-input-container .tk-currency-input-label{font-weight:var(--weight-regular)}.tk-currency-input-container .tk-currency-input-label .tk-currency-input-label-title{color:var(--text-darkest)}.tk-currency-input-container .tk-currency-input-label .tk-currency-input-label-asterisk{color:var(--states-danger-base);font-size:var(--desktop-label-l-size);line-height:var(--line-height-xs-none);font-weight:var(--weight-light)}.tk-currency-input-container .tk-currency-input-wrapper{display:flex;align-items:center;gap:var(--input-external-label-small-container-gap);align-self:stretch;border-radius:var(--button-sizes-large-radius);border:var(--spacing-px) solid var(--border-light);background:var(--static-light);overflow:hidden}.tk-currency-input-container .tk-currency-input-wrapper:focus{border:var(--spacing-px) solid var(--states-info-base)}.tk-currency-input-container .tk-currency-input-wrapper:hover{background-color:var(--background-lightest)}.tk-currency-input-container .tk-currency-input-input{flex:1;min-width:0;border:none;background-color:transparent;outline:none}.tk-currency-input-container .tk-currency-input-input::placeholder{color:var(--text-sub-base)}.tk-currency-input-container .tk-currency-input-dropdown{flex-shrink:0}.tk-currency-input-container .tk-currency-input-dropdown .tk-currency-input-dropdown-button{display:flex;align-items:center;border:none;background-color:transparent;padding:0}.tk-currency-input-container .tk-currency-input-dropdown .tk-currency-input-dropdown-button:not([aria-disabled]){cursor:pointer}.tk-currency-input-container .tk-currency-input-dropdown .tk-currency-input-dropdown-button .tk-currency-input-dropdown-button-selected{display:flex;align-items:center;gap:var(--spacing-xs);padding-left:var(--spacing-m-base);border-left:var(--spacing-px) solid var(--border-light)}.tk-currency-input-container .tk-currency-input-dropdown .tk-currency-input-dropdown-menu{position:fixed;z-index:800;background:var(--static-light);border:var(--spacing-px) solid var(--border-light);border-radius:var(--button-sizes-large-radius);box-shadow:var(--effect-1-default-sm);display:flex;flex-direction:column;overflow:hidden}.tk-currency-input-container .tk-currency-input-dropdown .tk-currency-input-dropdown-menu .tk-currency-input-dropdown-menu-list{list-style:none;overflow-y:auto;margin:var(--spacing-m-base)}.tk-currency-input-container .tk-currency-input-dropdown .tk-currency-input-dropdown-menu .tk-currency-input-dropdown-menu-list::-webkit-scrollbar{width:4px;height:4px}.tk-currency-input-container .tk-currency-input-dropdown .tk-currency-input-dropdown-menu .tk-currency-input-dropdown-menu-list::-webkit-scrollbar-track{background:var(--background-lightest);border-radius:2px}.tk-currency-input-container .tk-currency-input-dropdown .tk-currency-input-dropdown-menu .tk-currency-input-dropdown-menu-list::-webkit-scrollbar-thumb{border-radius:3px;background:var(--secondary-sub-base)}.tk-currency-input-container .tk-currency-input-dropdown .tk-currency-input-dropdown-menu .tk-currency-input-dropdown-menu-list::-webkit-scrollbar-thumb:hover{background:var(--secondary-dark)}.tk-currency-input-container .tk-currency-input-dropdown .tk-currency-input-dropdown-menu .tk-currency-input-dropdown-menu-list::-webkit-scrollbar-corner{background:var(--background-lightest)}.tk-currency-input-container .tk-currency-input-dropdown .tk-currency-input-dropdown-menu .tk-currency-input-dropdown-menu-list .tk-currency-input-dropdown-menu-list-item{display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--input-external-label-base-input-v-padding) var(--spacing-4xl);cursor:pointer;transition:background-color 0.2s}.tk-currency-input-container .tk-currency-input-dropdown .tk-currency-input-dropdown-menu .tk-currency-input-dropdown-menu-list .tk-currency-input-dropdown-menu-list-item:hover{background-color:var(--background-lightest)}.tk-currency-input-container[aria-invalid] .tk-currency-input-wrapper{border-color:var(--states-danger-base)}.tk-currency-input-container[aria-disabled],.tk-currency-input-container[aria-readonly]{pointer-events:none}.tk-currency-input-container[aria-disabled] .tk-currency-input-wrapper,.tk-currency-input-container[aria-readonly] .tk-currency-input-wrapper{background-color:var(--background-lightest)}.tk-currency-input-container[aria-disabled] .tk-currency-input-label-title,.tk-currency-input-container[aria-disabled] .tk-currency-input-label-asterisk,.tk-currency-input-container[aria-disabled] .tk-currency-input-dropdown-button,.tk-currency-input-container[aria-readonly] .tk-currency-input-label-title,.tk-currency-input-container[aria-readonly] .tk-currency-input-label-asterisk,.tk-currency-input-container[aria-readonly] .tk-currency-input-dropdown-button{color:var(--text-sub-base)}.tk-currency-input-container[aria-disabled] .tk-currency-input-input{color:var(--text-sub-base)}.tk-currency-input-container.tk-currency-input-container-large .tk-currency-input-label{padding:var(--input-external-label-large-label-v-padding) var(--external-label-large-label-h-padding)}.tk-currency-input-container.tk-currency-input-container-large .tk-currency-input-label .tk-currency-input-label-title{font-size:var(--desktop-body-m-size);line-height:var(--desktop-body-m-line-height)}.tk-currency-input-container.tk-currency-input-container-large .tk-currency-input-wrapper{padding:var(--input-external-label-large-input-v-padding) var(--input-external-label-large-input-h-padding);gap:var(--input-external-label-large-input-gap);height:var(--spacing-12xl)}.tk-currency-input-container.tk-currency-input-container-large .tk-currency-input-wrapper .tk-currency-input-input,.tk-currency-input-container.tk-currency-input-container-large .tk-currency-input-wrapper .tk-currency-input-dropdown-button,.tk-currency-input-container.tk-currency-input-container-large .tk-currency-input-wrapper .tk-currency-input-dropdown-menu-list-item{font-size:var(--desktop-body-m-size);line-height:var(--desktop-body-m-line-height)}.tk-currency-input-container.tk-currency-input-container-large .tk-currency-input-dropdown-menu-list{max-height:280px}.tk-currency-input-container.tk-currency-input-container-base .tk-currency-input-label{padding:var(--input-external-label-base-label-v-padding) var(--input-external-label-base-label-h-padding)}.tk-currency-input-container.tk-currency-input-container-base .tk-currency-input-label .tk-currency-input-label-title{font-size:var(--desktop-body-s-size);line-height:var(--desktop-body-s-line-height)}.tk-currency-input-container.tk-currency-input-container-base .tk-currency-input-wrapper{padding:var(--input-external-label-base-input-v-padding) var(--input-external-label-base-input-h-padding);gap:var(--input-external-label-base-input-gap);height:var(--spacing-10xl)}.tk-currency-input-container.tk-currency-input-container-base .tk-currency-input-wrapper .tk-currency-input-input,.tk-currency-input-container.tk-currency-input-container-base .tk-currency-input-wrapper .tk-currency-input-dropdown-button,.tk-currency-input-container.tk-currency-input-container-base .tk-currency-input-wrapper .tk-currency-input-dropdown-menu-list-item{font-size:var(--desktop-body-s-size);line-height:var(--desktop-body-s-line-height)}.tk-currency-input-container.tk-currency-input-container-base .tk-currency-input-dropdown-menu-list{max-height:268px}.tk-currency-input-container.tk-currency-input-container-small .tk-currency-input-label{padding:var(--input-external-label-small-label-v-padding) var(--input-external-label-small-label-h-padding)}.tk-currency-input-container.tk-currency-input-container-small .tk-currency-input-label .tk-currency-input-label-title{font-size:var(--desktop-body-xs-size);line-height:var(--desktop-line-height-xs-normal)}.tk-currency-input-container.tk-currency-input-container-small .tk-currency-input-wrapper{padding:var(--input-external-label-small-input-v-padding) var(--input-external-label-small-input-h-padding);gap:var(--input-external-label-small-input-gap);height:var(--spacing-8xl)}.tk-currency-input-container.tk-currency-input-container-small .tk-currency-input-wrapper .tk-currency-input-input,.tk-currency-input-container.tk-currency-input-container-small .tk-currency-input-wrapper .tk-currency-input-dropdown-button,.tk-currency-input-container.tk-currency-input-container-small .tk-currency-input-wrapper .tk-currency-input-dropdown-menu-list-item{font-size:var(--desktop-body-xs-size);line-height:var(--desktop-line-height-xs-normal)}.tk-currency-input-container.tk-currency-input-container-small .tk-currency-input-dropdown-menu-list{max-height:256px}';
      }
    },
    [
      64,
      'tk-currency-input',
      {
        value: [2],
        currencyList: [16],
        placeholder: [1],
        disabled: [4],
        invalid: [4],
        readonly: [4],
        size: [1],
        showAsterisk: [4, 'show-asterisk'],
        currencyDisabled: [4, 'currency-disabled'],
        precision: [2],
        defaultCurrency: [1, 'default-currency'],
        allowNegative: [4, 'allow-negative'],
        decimalSeparator: [1, 'decimal-separator'],
        thousandsSeparator: [1, 'thousands-separator'],
        label: [1],
        name: [1],
        hint: [1],
        error: [1],
        hideFlag: [4, 'hide-flag'],
        allowEmptyValue: [4, 'allow-empty-value'],
        dropdownWidthMode: [1, 'dropdown-width-mode'],
        selectedCurrency: [32],
        displayValue: [32],
        isDropdownOpen: [32],
        currentNumericValue: [32],
      },
      void 0,
      { value: [{ valueChanged: 0 }], disabled: [{ disabledChanged: 0 }], defaultCurrency: [{ defaultCurrencyChanged: 0 }] },
    ],
  ),
  g = m,
  f = function () {
    'undefined' != typeof customElements &&
      ['tk-currency-input', 'tk-icon'].forEach(t => {
        switch (t) {
          case 'tk-currency-input':
            customElements.get(i(t)) || customElements.define(i(t), m);
            break;
          case 'tk-icon':
            customElements.get(i(t)) || l();
        }
      });
  };
export { g as TkCurrencyInput, f as defineCustomElement };
