var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
  return c > 3 && r && Object.defineProperty(target, key, r), r;
};
import { Component, Host, Prop, h, Element, Event, Watch, State } from '@stencil/core';
import { sanitizeVegaComponent } from '../../utils/component';
import { InjectVegaGlobalSlimmer, InjectVegaSlimmer, methodPlaceholder, } from 'vega-slimmer/core';
import { VegaInputNumericRenderer } from './slimmers/renderers/vega-input-numeric-renderer';
import { VegaComponentUsageRuntimeMetricsSlimmer } from '../../helpers/slimmers/component-usage-runtime-metrics';
import { VegaChange } from '../../helpers/event-manager/event-id/vega-event-id';
import { ChildNodesEventPreventSlimmer } from '../../helpers/event-manager/slimmers/child-nodes-event-prevent-slimmer';
import { createEventEmitSlimmer, } from '../../helpers/event-manager/slimmers/event-emit-slimmer';
import { VegaInputNumericValueController } from './slimmers/controllers/vega-input-numeric-value-controller';
import { VegaInputNumericKeyboardController } from './slimmers/controllers/vega-input-numeric-keyboard-controller';
import { FormFieldControllerSlimmer } from '../../helpers/slimmers/form-field-controller-slimmer';
import { RequiredFieldRule } from '../../helpers/validator/rules/required-field-rule';
import { createSubStateNotifySlimmer } from '../../helpers/slimmers/sub-state/sub-state-notify-slimmer';
import { MinNumberRule } from '../../helpers/validator/rules/min-number-rule';
import { MaxNumberRule } from '../../helpers/validator/rules/max-number-rule';
/**
 * @vegaVersion 2.29.0
 */
export class VegaInputNumeric {
  constructor() {
    this.globalSlimmers = {};
    this.valueController = new VegaInputNumericValueController();
    this.keyboardController = new VegaInputNumericKeyboardController();
    this.renderer = new VegaInputNumericRenderer();
    this.changeEventEmitter = createEventEmitSlimmer(VegaInputNumeric, VegaChange);
    this.inputEventPrevent = new ChildNodesEventPreventSlimmer([VegaChange], () => this.host, { useCapture: true });
    this.formFieldController = new FormFieldControllerSlimmer({
      propertyRules: [
        {
          propertyName: 'required',
          ruleFactory: (isRequired) => (isRequired ? new RequiredFieldRule() : null),
        },
        {
          propertyName: 'min',
          ruleFactory: (min) => typeof min === 'number' ? new MinNumberRule({ minValue: min }) : null,
        },
        {
          propertyName: 'max',
          ruleFactory: (max) => typeof max === 'number' ? new MaxNumberRule({ maxValue: max }) : null,
        },
      ],
      validationRulesName: 'validationRules',
      inputContainerGetter: () => this.renderer.getContainerRef(),
      touchableAreaGetter: () => [this.renderer.getInputRef()],
      defaultValue: '',
      attributeGetter: (propertyName) => this[propertyName],
    });
    this.prefixTextNotifySlimmer = createSubStateNotifySlimmer(VegaInputNumeric, 'prefixText', 'watchPrefixText');
    this.suffixTextNotifySlimmer = createSubStateNotifySlimmer(VegaInputNumeric, 'suffixText', 'watchSuffixText');
    this.isCompactInputWidthNotifySlimmer = createSubStateNotifySlimmer(VegaInputNumeric, 'isCompactInputWidth');
    this.vegaComponentUsageRuntimeMetricsSlimmer = new VegaComponentUsageRuntimeMetricsSlimmer();
    this.isCompactInputWidth = true;
    /**
     * Text displayed before (to the left of) the numeric value inside the input
     * field. Use this to provide contextual information such as a currency
     * symbol (e.g., `'$'`) or unit prefix.
     *
     * @default ''
     * @vegaVersion 2.29.0
     */
    this.prefixText = '';
    /**
     * The current value of the numeric input field, represented as a string.
     *
     * This property is mutable and will be updated when the user types or uses
     * keyboard increment/decrement actions. It can also be set externally to
     * pre-populate or reset the field. When `thousandComma` is enabled, the
     * display is formatted with separators but the underlying value remains
     * unformatted. Changes to this property trigger the `vegaChange` event.
     *
     * @default ''
     * @vegaVersion 2.29.0
     */
    /* eslint-disable-next-line @stencil/strict-mutable */
    this.value = '';
    /**
     * Controls the visual size of the numeric input field.
     *
     * - `'medium'` — Standard height, suitable for most form layouts.
     * - `'small'` — Compact height, useful for dense UIs or inline editing.
     *
     * @default 'medium'
     * @vegaVersion 2.29.0
     */
    this.size = 'medium';
    /**
     * When `true`, the numeric input automatically formats the displayed value
     * with thousand separators (commas) as the user types (e.g., `1,000,000`).
     * The underlying `value` property remains an unformatted numeric string.
     *
     * @default false
     * @vegaVersion 2.29.0
     */
    this.thousandComma = false;
    /**
     * When `true`, restricts user input to whole numbers only — decimal points
     * and fractional digits are rejected. Useful for fields like quantity,
     * count, or age.
     *
     * @default false
     * @vegaVersion 2.29.0
     */
    this.integerOnly = false;
    /**
     * Specifies whether the numeric input field is disabled. When `true`, the
     * field is non-interactive — the user cannot type, focus, or use keyboard
     * controls to change the value.
     *
     * @default false
     * @vegaVersion 2.29.0
     */
    this.disabled = false;
    /**
     * The step value used when the user presses the `ArrowUp` or `ArrowDown`
     * key to increment or decrement the value. This controls fine-grained
     * adjustments to the numeric input.
     *
     * For larger jumps, see `majorIncrement` (activated with `Shift` + arrow
     * keys).
     *
     * @default 1
     * @vegaVersion 2.29.0
     */
    this.minorIncrement = 1;
    /**
     * The step value used when the user presses `Shift` + `ArrowUp` or
     * `Shift` + `ArrowDown` to increment or decrement the value by a larger
     * amount. This enables quick coarse-grained adjustments.
     *
     * For smaller steps, see `minorIncrement`.
     *
     * @default 10
     * @vegaVersion 2.29.0
     */
    this.majorIncrement = 10;
    /**
     * Specifies the visible label text rendered above the numeric input.
     * The label identifies the purpose of the field and serves as the
     * accessible name for screen readers.
     *
     * @default ''
     * @vegaVersion 2.29.0
     */
    this.label = '';
    /**
     * An array of custom validation rules applied to the numeric input in
     * addition to the built-in rules (`RequiredFieldRule`, `MinNumberRule`,
     * `MaxNumberRule`). Each rule must implement the `FormFieldValidationRule`
     * interface.
     *
     * Rules are evaluated in order when `autoValidation` is enabled or when
     * validation is triggered programmatically.
     *
     * @default []
     * @vegaVersion 2.29.0
     */
    this.validationRules = [];
    /**
     * Reflects the current validation status of the numeric input.
     *
     * - `true` — the field value passes all validation rules.
     * - `false` — one or more validation rules have failed.
     * - `null` — the field has not been validated yet (initial state).
     *
     * This property is mutable: it is updated automatically when
     * `autoValidation` is enabled, but can also be set manually to override
     * the validation state.
     *
     * @default null
     * @vegaVersion 2.29.0
     */
    /* eslint-disable-next-line @stencil/strict-mutable */
    this.isValid = null;
    /**
     * Determines whether the numeric input should be validated automatically as
     * the user interacts with it. When `true`, validation rules (including
     * `required`, `min`, `max`, and custom `validationRules`) are evaluated
     * and the `isValid` property is updated accordingly.
     *
     * Set to `false` to handle validation manually.
     *
     * @default true
     * @vegaVersion 2.29.0
     */
    this.autoValidation = true;
    /**
     * Controls whether a clear (×) icon button is shown inside the input field
     * when a value is present. Clicking the button resets the value to an empty
     * string and triggers the `vegaChange` event.
     *
     * @default true
     * @vegaVersion 2.53.0
     */
    this.showClearIcon = true;
    /**
     * Sets the minimum allowable value for the numeric input. When set, the
     * built-in `MinNumberRule` is applied during validation. Values below this
     * threshold will cause validation to fail.
     *
     * Set to `null` to remove the lower bound.
     *
     * @default null
     * @vegaVersion 2.63.0
     */
    this.min = null;
    /**
     * Sets the maximum allowable value for the numeric input. When set, the
     * built-in `MaxNumberRule` is applied during validation. Values above this
     * threshold will cause validation to fail.
     *
     * Set to `null` to remove the upper bound.
     *
     * @default null
     * @vegaVersion 2.63.0
     */
    this.max = null;
  }
  watchPrefixText() {
    methodPlaceholder();
  }
  watchSuffixText() {
    methodPlaceholder();
  }
  watchValue() {
    methodPlaceholder();
  }
  watchValidationRules() {
    methodPlaceholder();
  }
  render() {
    return sanitizeVegaComponent(h(Host, null, this.renderer.render()), this.host);
  }
  static get is() { return "vega-input-numeric"; }
  static get encapsulation() { return "shadow"; }
  static get originalStyleUrls() { return {
    "$": ["vega-input-numeric.scss"]
  }; }
  static get styleUrls() { return {
    "$": ["vega-input-numeric.css"]
  }; }
  static get properties() { return {
    "prefixText": {
      "type": "string",
      "mutable": false,
      "complexType": {
        "original": "string",
        "resolved": "string",
        "references": {}
      },
      "required": false,
      "optional": false,
      "docs": {
        "tags": [{
            "name": "default",
            "text": "''"
          }, {
            "name": "vegaVersion",
            "text": "2.29.0"
          }],
        "text": "Text displayed before (to the left of) the numeric value inside the input\nfield. Use this to provide contextual information such as a currency\nsymbol (e.g., `'$'`) or unit prefix."
      },
      "attribute": "prefix-text",
      "reflect": false,
      "defaultValue": "''"
    },
    "suffixText": {
      "type": "string",
      "mutable": false,
      "complexType": {
        "original": "string",
        "resolved": "string",
        "references": {}
      },
      "required": false,
      "optional": false,
      "docs": {
        "tags": [{
            "name": "default",
            "text": "undefined"
          }, {
            "name": "vegaVersion",
            "text": "2.29.0"
          }],
        "text": "Text displayed after (to the right of) the numeric value inside the input\nfield. Use this to provide contextual information such as a unit suffix\n(e.g., `'%'`, `'kg'`, `'USD'`)."
      },
      "attribute": "suffix-text",
      "reflect": false
    },
    "prefixIcon": {
      "type": "string",
      "mutable": false,
      "complexType": {
        "original": "string",
        "resolved": "string",
        "references": {}
      },
      "required": false,
      "optional": false,
      "docs": {
        "tags": [{
            "name": "default",
            "text": "undefined"
          }, {
            "name": "vegaVersion",
            "text": "2.29.0"
          }],
        "text": "Name of a Vega icon rendered before (to the left of) the input field,\nproviding additional visual context. The icon is purely decorative and\ndoes not affect the input value."
      },
      "attribute": "prefix-icon",
      "reflect": false
    },
    "value": {
      "type": "string",
      "mutable": true,
      "complexType": {
        "original": "string",
        "resolved": "string",
        "references": {}
      },
      "required": false,
      "optional": false,
      "docs": {
        "tags": [{
            "name": "default",
            "text": "''"
          }, {
            "name": "vegaVersion",
            "text": "2.29.0"
          }],
        "text": "The current value of the numeric input field, represented as a string.\n\nThis property is mutable and will be updated when the user types or uses\nkeyboard increment/decrement actions. It can also be set externally to\npre-populate or reset the field. When `thousandComma` is enabled, the\ndisplay is formatted with separators but the underlying value remains\nunformatted. Changes to this property trigger the `vegaChange` event."
      },
      "attribute": "value",
      "reflect": false,
      "defaultValue": "''"
    },
    "size": {
      "type": "string",
      "mutable": false,
      "complexType": {
        "original": "'medium' | 'small'",
        "resolved": "\"medium\" | \"small\"",
        "references": {}
      },
      "required": false,
      "optional": false,
      "docs": {
        "tags": [{
            "name": "default",
            "text": "'medium'"
          }, {
            "name": "vegaVersion",
            "text": "2.29.0"
          }],
        "text": "Controls the visual size of the numeric input field.\n\n- `'medium'` \u2014 Standard height, suitable for most form layouts.\n- `'small'` \u2014 Compact height, useful for dense UIs or inline editing."
      },
      "attribute": "size",
      "reflect": false,
      "defaultValue": "'medium'"
    },
    "placeholder": {
      "type": "string",
      "mutable": false,
      "complexType": {
        "original": "string",
        "resolved": "string",
        "references": {}
      },
      "required": false,
      "optional": false,
      "docs": {
        "tags": [{
            "name": "default",
            "text": "undefined"
          }, {
            "name": "vegaVersion",
            "text": "2.29.0"
          }],
        "text": "Specifies placeholder text displayed inside the input field when it is\nempty. The placeholder disappears once the user begins typing and is\ntypically used to indicate the expected format (e.g., `'0.00'`)."
      },
      "attribute": "placeholder",
      "reflect": false
    },
    "thousandComma": {
      "type": "boolean",
      "mutable": false,
      "complexType": {
        "original": "boolean",
        "resolved": "boolean",
        "references": {}
      },
      "required": false,
      "optional": false,
      "docs": {
        "tags": [{
            "name": "default",
            "text": "false"
          }, {
            "name": "vegaVersion",
            "text": "2.29.0"
          }],
        "text": "When `true`, the numeric input automatically formats the displayed value\nwith thousand separators (commas) as the user types (e.g., `1,000,000`).\nThe underlying `value` property remains an unformatted numeric string."
      },
      "attribute": "thousand-comma",
      "reflect": false,
      "defaultValue": "false"
    },
    "integerOnly": {
      "type": "boolean",
      "mutable": false,
      "complexType": {
        "original": "boolean",
        "resolved": "boolean",
        "references": {}
      },
      "required": false,
      "optional": false,
      "docs": {
        "tags": [{
            "name": "default",
            "text": "false"
          }, {
            "name": "vegaVersion",
            "text": "2.29.0"
          }],
        "text": "When `true`, restricts user input to whole numbers only \u2014 decimal points\nand fractional digits are rejected. Useful for fields like quantity,\ncount, or age."
      },
      "attribute": "integer-only",
      "reflect": false,
      "defaultValue": "false"
    },
    "disabled": {
      "type": "boolean",
      "mutable": false,
      "complexType": {
        "original": "boolean",
        "resolved": "boolean",
        "references": {}
      },
      "required": false,
      "optional": false,
      "docs": {
        "tags": [{
            "name": "default",
            "text": "false"
          }, {
            "name": "vegaVersion",
            "text": "2.29.0"
          }],
        "text": "Specifies whether the numeric input field is disabled. When `true`, the\nfield is non-interactive \u2014 the user cannot type, focus, or use keyboard\ncontrols to change the value."
      },
      "attribute": "disabled",
      "reflect": false,
      "defaultValue": "false"
    },
    "minorIncrement": {
      "type": "number",
      "mutable": false,
      "complexType": {
        "original": "number",
        "resolved": "number",
        "references": {}
      },
      "required": false,
      "optional": false,
      "docs": {
        "tags": [{
            "name": "default",
            "text": "1"
          }, {
            "name": "vegaVersion",
            "text": "2.29.0"
          }],
        "text": "The step value used when the user presses the `ArrowUp` or `ArrowDown`\nkey to increment or decrement the value. This controls fine-grained\nadjustments to the numeric input.\n\nFor larger jumps, see `majorIncrement` (activated with `Shift` + arrow\nkeys)."
      },
      "attribute": "minor-increment",
      "reflect": false,
      "defaultValue": "1"
    },
    "majorIncrement": {
      "type": "number",
      "mutable": false,
      "complexType": {
        "original": "number",
        "resolved": "number",
        "references": {}
      },
      "required": false,
      "optional": false,
      "docs": {
        "tags": [{
            "name": "default",
            "text": "10"
          }, {
            "name": "vegaVersion",
            "text": "2.29.0"
          }],
        "text": "The step value used when the user presses `Shift` + `ArrowUp` or\n`Shift` + `ArrowDown` to increment or decrement the value by a larger\namount. This enables quick coarse-grained adjustments.\n\nFor smaller steps, see `minorIncrement`."
      },
      "attribute": "major-increment",
      "reflect": false,
      "defaultValue": "10"
    },
    "label": {
      "type": "string",
      "mutable": false,
      "complexType": {
        "original": "string",
        "resolved": "string",
        "references": {}
      },
      "required": false,
      "optional": false,
      "docs": {
        "tags": [{
            "name": "default",
            "text": "''"
          }, {
            "name": "vegaVersion",
            "text": "2.29.0"
          }],
        "text": "Specifies the visible label text rendered above the numeric input.\nThe label identifies the purpose of the field and serves as the\naccessible name for screen readers."
      },
      "attribute": "label",
      "reflect": false,
      "defaultValue": "''"
    },
    "hint": {
      "type": "string",
      "mutable": false,
      "complexType": {
        "original": "string",
        "resolved": "string",
        "references": {}
      },
      "required": false,
      "optional": false,
      "docs": {
        "tags": [{
            "name": "default",
            "text": "undefined"
          }, {
            "name": "vegaVersion",
            "text": "2.29.0"
          }],
        "text": "Supplementary helper message displayed below the input field that\nassists users in understanding the expected value or range. Visible\nat all times (not just on focus)."
      },
      "attribute": "hint",
      "reflect": false
    },
    "required": {
      "type": "boolean",
      "mutable": false,
      "complexType": {
        "original": "boolean",
        "resolved": "boolean",
        "references": {}
      },
      "required": false,
      "optional": false,
      "docs": {
        "tags": [{
            "name": "default",
            "text": "undefined"
          }, {
            "name": "vegaVersion",
            "text": "2.29.0"
          }],
        "text": "Determines whether the numeric input field must have a value before the\nform can be submitted. When `true`, the built-in `RequiredFieldRule` is\napplied during validation and a required indicator is shown on the label."
      },
      "attribute": "required",
      "reflect": false
    },
    "validationRules": {
      "type": "unknown",
      "mutable": false,
      "complexType": {
        "original": "FormFieldValidationRule<unknown>[]",
        "resolved": "FormFieldValidationRule<unknown>[]",
        "references": {
          "FormFieldValidationRule": {
            "location": "import",
            "path": "../../types/components.type"
          }
        }
      },
      "required": false,
      "optional": false,
      "docs": {
        "tags": [{
            "name": "default",
            "text": "[]"
          }, {
            "name": "vegaVersion",
            "text": "2.29.0"
          }],
        "text": "An array of custom validation rules applied to the numeric input in\naddition to the built-in rules (`RequiredFieldRule`, `MinNumberRule`,\n`MaxNumberRule`). Each rule must implement the `FormFieldValidationRule`\ninterface.\n\nRules are evaluated in order when `autoValidation` is enabled or when\nvalidation is triggered programmatically."
      },
      "defaultValue": "[]"
    },
    "isValid": {
      "type": "boolean",
      "mutable": true,
      "complexType": {
        "original": "boolean",
        "resolved": "boolean",
        "references": {}
      },
      "required": false,
      "optional": false,
      "docs": {
        "tags": [{
            "name": "default",
            "text": "null"
          }, {
            "name": "vegaVersion",
            "text": "2.29.0"
          }],
        "text": "Reflects the current validation status of the numeric input.\n\n- `true` \u2014 the field value passes all validation rules.\n- `false` \u2014 one or more validation rules have failed.\n- `null` \u2014 the field has not been validated yet (initial state).\n\nThis property is mutable: it is updated automatically when\n`autoValidation` is enabled, but can also be set manually to override\nthe validation state."
      },
      "attribute": "is-valid",
      "reflect": true,
      "defaultValue": "null"
    },
    "autoValidation": {
      "type": "boolean",
      "mutable": false,
      "complexType": {
        "original": "boolean",
        "resolved": "boolean",
        "references": {}
      },
      "required": false,
      "optional": false,
      "docs": {
        "tags": [{
            "name": "default",
            "text": "true"
          }, {
            "name": "vegaVersion",
            "text": "2.29.0"
          }],
        "text": "Determines whether the numeric input should be validated automatically as\nthe user interacts with it. When `true`, validation rules (including\n`required`, `min`, `max`, and custom `validationRules`) are evaluated\nand the `isValid` property is updated accordingly.\n\nSet to `false` to handle validation manually."
      },
      "attribute": "auto-validation",
      "reflect": true,
      "defaultValue": "true"
    },
    "showClearIcon": {
      "type": "boolean",
      "mutable": false,
      "complexType": {
        "original": "boolean",
        "resolved": "boolean",
        "references": {}
      },
      "required": false,
      "optional": false,
      "docs": {
        "tags": [{
            "name": "default",
            "text": "true"
          }, {
            "name": "vegaVersion",
            "text": "2.53.0"
          }],
        "text": "Controls whether a clear (\u00D7) icon button is shown inside the input field\nwhen a value is present. Clicking the button resets the value to an empty\nstring and triggers the `vegaChange` event."
      },
      "attribute": "show-clear-icon",
      "reflect": false,
      "defaultValue": "true"
    },
    "min": {
      "type": "number",
      "mutable": false,
      "complexType": {
        "original": "number | null",
        "resolved": "number",
        "references": {}
      },
      "required": false,
      "optional": false,
      "docs": {
        "tags": [{
            "name": "default",
            "text": "null"
          }, {
            "name": "vegaVersion",
            "text": "2.63.0"
          }],
        "text": "Sets the minimum allowable value for the numeric input. When set, the\nbuilt-in `MinNumberRule` is applied during validation. Values below this\nthreshold will cause validation to fail.\n\nSet to `null` to remove the lower bound."
      },
      "attribute": "min",
      "reflect": true,
      "defaultValue": "null"
    },
    "max": {
      "type": "number",
      "mutable": false,
      "complexType": {
        "original": "number | null",
        "resolved": "number",
        "references": {}
      },
      "required": false,
      "optional": false,
      "docs": {
        "tags": [{
            "name": "default",
            "text": "null"
          }, {
            "name": "vegaVersion",
            "text": "2.63.0"
          }],
        "text": "Sets the maximum allowable value for the numeric input. When set, the\nbuilt-in `MaxNumberRule` is applied during validation. Values above this\nthreshold will cause validation to fail.\n\nSet to `null` to remove the upper bound."
      },
      "attribute": "max",
      "reflect": true,
      "defaultValue": "null"
    }
  }; }
  static get states() { return {
    "isCompactInputWidth": {}
  }; }
  static get events() { return [{
      "method": "vegaChange",
      "name": "vegaChange",
      "bubbles": true,
      "cancelable": true,
      "composed": true,
      "docs": {
        "tags": [{
            "name": "eventDetail",
            "text": "number"
          }, {
            "name": "vegaVersion",
            "text": "2.29.0"
          }],
        "text": "Fires whenever the numeric input's value changes \u2014 including typing,\nkeyboard increment/decrement, clearing, and programmatic updates.\n\nThe event detail contains the new numeric value (`number`), or `NaN`\nwhen the field is empty."
      },
      "complexType": {
        "original": "number",
        "resolved": "number",
        "references": {}
      }
    }, {
      "method": "change",
      "name": "change",
      "bubbles": true,
      "cancelable": true,
      "composed": true,
      "docs": {
        "tags": [{
            "name": "eventDetail",
            "text": "number"
          }, {
            "name": "eventSemantics",
            "text": "namespace:native"
          }, {
            "name": "vegaVersion",
            "text": "2.29.0"
          }],
        "text": "Native-equivalent mirror of `vegaChange`. Fires with the same payload\nand at the same time, allowing consumers to listen using the standard\n`change` event name."
      },
      "complexType": {
        "original": "number",
        "resolved": "number",
        "references": {}
      }
    }]; }
  static get elementRef() { return "host"; }
  static get watchers() { return [{
      "propName": "prefixText",
      "methodName": "watchPrefixText"
    }, {
      "propName": "suffixText",
      "methodName": "watchSuffixText"
    }, {
      "propName": "value",
      "methodName": "watchValue"
    }, {
      "propName": "validationRules",
      "methodName": "watchValidationRules"
    }]; }
}
__decorate([
  InjectVegaGlobalSlimmer()
], VegaInputNumeric.prototype, "globalSlimmers", void 0);
__decorate([
  InjectVegaSlimmer()
], VegaInputNumeric.prototype, "valueController", void 0);
__decorate([
  InjectVegaSlimmer()
], VegaInputNumeric.prototype, "keyboardController", void 0);
__decorate([
  InjectVegaSlimmer()
], VegaInputNumeric.prototype, "renderer", void 0);
__decorate([
  InjectVegaSlimmer()
], VegaInputNumeric.prototype, "changeEventEmitter", void 0);
__decorate([
  InjectVegaSlimmer()
], VegaInputNumeric.prototype, "inputEventPrevent", void 0);
__decorate([
  InjectVegaSlimmer()
], VegaInputNumeric.prototype, "formFieldController", void 0);
__decorate([
  InjectVegaSlimmer()
], VegaInputNumeric.prototype, "prefixTextNotifySlimmer", void 0);
__decorate([
  InjectVegaSlimmer()
], VegaInputNumeric.prototype, "suffixTextNotifySlimmer", void 0);
__decorate([
  InjectVegaSlimmer()
], VegaInputNumeric.prototype, "isCompactInputWidthNotifySlimmer", void 0);
__decorate([
  InjectVegaSlimmer()
], VegaInputNumeric.prototype, "vegaComponentUsageRuntimeMetricsSlimmer", void 0);
