{"version":3,"file":"TextInput-1tiHRv4V.js","sources":["../../../components/planner/app/javascript/mixins/computedStyle.js","../../../app/javascript/components/shared/TextInput.vue"],"sourcesContent":["export default {\n  computed: {\n    computedStyle() {\n      return (theme, element) => {\n        if (theme[element].reference && theme.textPresets) {\n          return theme.textPresets.find(\n            preset => preset.id === theme[element].reference\n          );\n        }\n        return theme[element];\n      };\n    }\n  }\n};\n","<template>\n  <div\n    :class=\"{ 'has-errors': hasErrors }\"\n    class=\"form-input text-input\">\n    <label\n      v-if=\"label.length\"\n      :for=\"inputId\"\n      :class=\"theme ? null : labelClass\"\n      class=\"mb-2 control-label flex items-baseline\"\n      data-element=\"labelStyles\"\n      :style=\"labelStyles\">\n      <span v-html=\"label\"></span>\n      <span\n        v-if=\"required\"\n        class=\"text-red\">\n        *\n      </span>\n      <a\n        v-if=\"type === 'password'\"\n        class=\"underline typeset-8 cursor-pointer space-between ml-auto\"\n        @click=\"showHidePassword\">\n        {{\n          showingPassword\n            ? t(\"login-modal.form.hide-password\")\n            : t(\"login-modal.form.show-password\")\n        }}\n      </a>\n    </label>\n    <div class=\"flex relative\">\n      <input\n        :id=\"inputId\"\n        ref=\"input\"\n        data-element=\"textInput\"\n        :data-cy=\"inputId\"\n        :style=\"textInputTheme\"\n        :value=\"modelValue\"\n        :placeholder=\"placeholder\"\n        :type=\"dynamicFieldType\"\n        :min=\"minimumAttr\"\n        :max=\"maximumAttr\"\n        :maxlength=\"maxLength\"\n        :class=\"[\n          theme ? 'themed-text-input' : 'form-control',\n          { uppercase, bordered }\n        ]\"\n        :inputmode=\"inputmode\"\n        :autocorrect=\"autocorrect\"\n        :autocomplete=\"autocomplete\"\n        :autocapitalize=\"autocapitalize\"\n        :step=\"step\"\n        @keypress=\"onlyNumber\"\n        @blur=\"$emit('blur')\"\n        @paste=\"checkPreventPaste\"\n        @input=\"handleInput($event.target.value)\" />\n      <fade-transition>\n        <div\n          v-if=\"status === 'success'\"\n          class=\"absolute right-3 top-3\">\n          <svg-icon\n            class=\"text-green\"\n            width=\"16px\"\n            height=\"16px\"\n            name=\"tick\" />\n        </div>\n        <div\n          v-else-if=\"status === 'error'\"\n          class=\"absolute right-3 top-3\">\n          <svg-icon\n            class=\"text-red\"\n            width=\"16px\"\n            height=\"16px\"\n            name=\"cross\" />\n        </div>\n        <div\n          v-else-if=\"status === 'loading'\"\n          class=\"loading\">\n          <svg\n            xmlns=\"http://www.w3.org/2000/svg\"\n            xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n            class=\"absolute right-3 top-3\"\n            width=\"20px\"\n            height=\"20px\"\n            viewBox=\"0 0 10 10\"\n            preserveAspectRatio=\"xMidYMid\">\n            <circle\n              cx=\"5\"\n              cy=\"5\"\n              fill=\"none\"\n              stroke=\"#1e2525\"\n              stroke-width=\"1\"\n              r=\"3\"\n              stroke-dasharray=\"14.137166941154069 6.71238898038469\">\n              <animateTransform\n                attributeName=\"transform\"\n                type=\"rotate\"\n                repeatCount=\"indefinite\"\n                dur=\"1s\"\n                values=\"0 5 5;360 5 5\"\n                keyTimes=\"0;1\" />\n            </circle>\n          </svg>\n        </div>\n      </fade-transition>\n    </div>\n    <div\n      v-if=\"hasErrors && !hideErrorMessage\"\n      data-cy=\"input-error-message\"\n      class=\"error-box mt-2\">\n      {{ inputErrors.join(\", \") }}\n    </div>\n    <slide-transition>\n      <p\n        v-if=\"explanation.length\"\n        class=\"typeset-8 my-3\">\n        {{ explanation }}\n      </p>\n    </slide-transition>\n  </div>\n</template>\n\n<script>\nimport SlideTransition from \"@/app/javascript/components/transitions/SlideTransition.vue\";\nimport FadeTransition from \"@/app/javascript/components/transitions/FadeTransition.vue\";\nimport SvgIcon from \"@/app/javascript/components/shared/SvgIcon.vue\";\nimport computedStyle from \"@/components/planner/app/javascript/mixins/computedStyle\";\n\nexport default {\n  name: \"TextInput\",\n  components: {\n    SlideTransition,\n    FadeTransition,\n    SvgIcon\n  },\n  mixins: [computedStyle],\n  props: {\n    theme: {\n      type: Object,\n      default: () => {}\n    },\n    modelValue: {\n      type: [String, Number],\n      default: \"\"\n    },\n    label: {\n      type: String,\n      default: \"\"\n    },\n    required: {\n      type: Boolean,\n      default: false\n    },\n    placeholder: {\n      type: String,\n      default: \"\"\n    },\n    type: {\n      type: String,\n      default: \"text\"\n    },\n    min: {\n      type: [String, Number],\n      default: \"2014-01-01\",\n      required: false\n    },\n    max: {\n      type: [String, Number],\n      default: new Date().toISOString().slice(0, 10),\n      required: false\n    },\n    inputId: {\n      type: String,\n      required: true,\n      default: \"\"\n    },\n    errors: {\n      type: Array,\n      default: () => []\n    },\n    explanation: {\n      type: String,\n      default: \"\"\n    },\n    labelClass: {\n      type: String,\n      required: false,\n      default: \"typeset-6\"\n    },\n    maxLength: {\n      type: Number,\n      required: false,\n      default: null\n    },\n    pattern: {\n      type: RegExp,\n      required: false,\n      default: null\n    },\n    preventPaste: {\n      type: Boolean,\n      required: false,\n      default: false\n    },\n    inputmode: {\n      type: String,\n      default: null\n    },\n    status: {\n      type: String,\n      default: null,\n      validator: value => [\"error\", \"success\", \"loading\", null].includes(value)\n    },\n    loading: {\n      type: Boolean,\n      default: false\n    },\n    success: {\n      type: Boolean,\n      default: false\n    },\n    autocapitalize: {\n      type: String,\n      default: null,\n      required: false\n    },\n    autocorrect: {\n      type: String,\n      default: null,\n      required: false\n    },\n    autocomplete: {\n      type: String,\n      default: null,\n      required: false\n    },\n    step: {\n      type: Number,\n      default: 1,\n      required: false\n    },\n    uppercase: {\n      type: Boolean,\n      default: false\n    },\n    bordered: {\n      type: Boolean,\n      default: false\n    },\n    numberOnlyInput: {\n      type: Boolean,\n      default: false\n    },\n    hideErrorMessage: {\n      type: Boolean,\n      default: false\n    }\n  },\n  emits: [\"update:modelValue\", \"errored-pattern\", \"blur\"],\n  data() {\n    return {\n      showingPassword: false\n    };\n  },\n  computed: {\n    dynamicFieldType() {\n      if (this.type === \"password\") {\n        return this.showingPassword ? \"text\" : \"password\";\n      }\n      return this.type;\n    },\n    textInputTheme() {\n      if (this.theme) {\n        return {\n          borderRadius: this.theme.textInput.borderRadius,\n          borderWidth: this.theme.textInput.borderWidth,\n          fontFamily: this.theme.textInput.fontFamily,\n          outline: this.theme.textInput.outline,\n          letterSpacing: this.theme.textInput.letterSpacing,\n          \"--text-input-color\": this.theme.textInput.color,\n          \"--text-input-hover-color\": this.theme.textInput.hover.color,\n          \"--text-input-focus-color\": this.theme.textInput.focus.color,\n          \"--text-input-background-color\": this.theme.textInput.backgroundColor,\n          \"--text-input-hover-background-color\":\n            this.theme.textInput.hover.backgroundColor,\n          \"--text-input-focus-background-color\":\n            this.theme.textInput.focus.backgroundColor,\n          \"--text-input-border-color\": this.theme.textInput.borderColor,\n          \"--text-input-hover-border-color\":\n            this.theme.textInput.hover.borderColor,\n          \"--text-input-focus-border-color\":\n            this.theme.textInput.focus.borderColor,\n          \"--text-input-box-shadow\": this.theme.textInput.boxShadow,\n          \"--text-input-hover-box-shadow\": this.theme.textInput.hover.boxShadow,\n          \"--text-input-focus-box-shadow\": this.theme.textInput.focus.boxShadow,\n          \"--text-input-placeholder-color\":\n            this.theme.textInput.placeholder.color\n        };\n      }\n      return null;\n    },\n    labelStyles() {\n      if (this.theme) {\n        return this.computedStyle(this.theme, \"labelStyles\");\n      }\n      return null;\n    },\n    inputErrors() {\n      return this.errors || [];\n    },\n    hasErrors() {\n      return this.inputErrors.length > 0;\n    },\n    minimumAttr() {\n      if (this.type === \"date\" || this.type === \"number\") {\n        return this.min;\n      }\n\n      return \"\";\n    },\n    maximumAttr() {\n      if (this.type === \"date\" || this.type === \"number\") {\n        return this.max;\n      }\n\n      return \"\";\n    }\n  },\n  methods: {\n    onlyNumber(event) {\n      if (!this.numberOnlyInput) return;\n      const char = String.fromCharCode(event.keyCode);\n      if (!/[0-9]/.test(char)) {\n        event.preventDefault();\n      }\n    },\n    handleInput(value) {\n      if (value.length && this.pattern && !this.pattern.test(value)) {\n        if (this.pattern.test(value.toUpperCase())) {\n          this.$refs.input.value = value.toUpperCase();\n          this.$emit(\"update:modelValue\", value.toUpperCase());\n        } else {\n          this.$emit(\"errored-pattern\");\n        }\n      } else if (this.type === \"number\") {\n        this.$emit(\"update:modelValue\", parseFloat(value));\n      } else {\n        this.$emit(\"update:modelValue\", value);\n      }\n    },\n    checkPreventPaste(e) {\n      if (this.preventPaste) {\n        e.preventDefault();\n      }\n    },\n    focus() {\n      this.$refs.input.focus();\n    },\n    showHidePassword() {\n      this.showingPassword = !this.showingPassword;\n      return this.showingPassword;\n    }\n  }\n};\n</script>\n\n<style lang=\"scss\" scoped>\n.themed-text-input {\n  // Set some defaults, in case these aren't set in the custom theme.\n  --text-input-color: #343434;\n  --text-input-hover-color: #343434;\n  --text-input-focus-color: #343434;\n  --text-input-background-color: #efefef;\n  --text-input-border-color: #efefef;\n  --text-input-hover-background-color: #ffffff;\n  --text-input-hover-border-color: #121212;\n  --text-input-font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\",\n    Roboto, Arial, sans-serif;\n  --text-input-box-shadow: inset 0 2px 4px 0 rgba(0, 37, 84, 0.08);\n\n  color: var(--text-input-color);\n  background-color: var(--text-input-background-color);\n  border-color: var(--text-input-border-color);\n  box-shadow: var(--text-input-box-shadow);\n\n  // Interaction styles (hover/focus) must use css variables\n  &:hover {\n    color: var(--text-input-hover-color);\n    background-color: var(--text-input-hover-background-color);\n    border-color: var(--text-input-hover-border-color);\n    box-shadow: var(--text-input-hover-box-shadow);\n  }\n\n  &:focus {\n    color: var(--text-input-focus-color);\n    background-color: var(--text-input-focus-background-color);\n    border-color: var(--text-input-focus-border-color);\n    box-shadow: var(--text-input-focus-box-shadow);\n  }\n\n  &::placeholder {\n    color: var(--text-input-placeholder-color);\n  }\n}\n</style>\n"],"names":["computedStyle","theme","element","preset","_sfc_main","SlideTransition","FadeTransition","SvgIcon","value","event","char","e","_hoisted_1","_hoisted_2","_hoisted_4","_hoisted_5","_createElementBlock","_normalizeClass","$options","$props","_normalizeStyle","_createElementVNode","_hoisted_3","_createCommentVNode","args","$data","_ctx","$event","_createVNode","_component_fade_transition","_withCtx","_openBlock","_hoisted_6","_component_svg_icon","_hoisted_7","_hoisted_8","_cache","_hoisted_9","_toDisplayString","_component_slide_transition","_hoisted_10"],"mappings":"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"}