{"version":3,"file":"ClassicCheckbox-BHKCPtLR.mjs","names":[],"sources":["../src/components/form/ClassicCheckbox.vue","../src/components/form/ClassicCheckbox.vue"],"sourcesContent":["<!--\n  Simple component to display a checkbox\n  Use `v-model:text-init` to bind the value.\n\n  **Slots:**\n    `after-label` : A slot to display additional elements after the label\n-->\n<template>\n  <div class=\"d-flex flex-nowrap align-items-center octopus-form-item\">\n    <div :class=\"isSwitch ? 'octopus-form-switch me-2' : ''\">\n      <input\n        :id=\"computedIdCheckbox\"\n        :checked=\"textInit\"\n        type=\"checkbox\"\n        :disabled=\"isDisabled\"\n        :title=\"displayLabel ? '' : label\"\n        :data-selenium=\"selenium\"\n        :tabindex=\"isSwitch ? '-1' : '0'\"\n        @input=\"emit('update:textInit', !textInit)\"\n        @click=\"emitClickAction\"\n      >\n      <button\n        v-if=\"isSwitch\"\n        class=\"slider btn-transparent\"\n        :title=\"label\"\n        :disabled=\"isDisabled\"\n        @click=\"clickSlider\"\n        @keydown.space.prevent=\"clickSlider\"\n      />\n    </div>\n    <label\n      class=\"c-hand\"\n      :class=\"[classLabel, displayLabel ? '' : 'd-none', isDisabled ? 'disabled' : '']\"\n      :for=\"isSwitch ? undefined : computedIdCheckbox\"\n      @click=\"clickSlider\"\n    >\n      {{ label }}\n\n      <slot name=\"after-label\" />\n    </label>\n  </div>\n</template>\n\n<script setup lang=\"ts\">\nimport { computed, getCurrentInstance } from 'vue';\n\n//Props \nconst props = defineProps({\n  /** The ID for the checkbox input */\n  idCheckbox: { default: \"\", type: String },\n  /** The label to display with the checkbox */\n  label: { default: \"\", type: String },\n  /** Disables input */\n  isDisabled: { default: false, type: Boolean },\n  /** The value of the checkbox */\n  textInit: { default: false, type: Boolean },\n  /** If true, displays a switch instead of a checkbox */\n  isSwitch: { default: false, type: Boolean },\n  displayLabel: { default: true, type: Boolean },\n  classLabel: { default: \"\", type: String },\n  selenium: { default: \"\", type: String },\n})\n\n//Emits\nconst emit = defineEmits([\"update:textInit\", \"clickAction\"]);\n\n// Computed\nconst computedIdCheckbox = computed(() => {\n  return props.idCheckbox || 'checkbox-' + getCurrentInstance()?.uid;\n});\n\n//Methods\nfunction emitClickAction(): void {\n  emit(\"clickAction\");\n}\nfunction clickSlider() {\n  if (!props.isDisabled && props.isSwitch) {\n    emit(\"update:textInit\", !props.textInit);\n    emitClickAction();\n  }\n}\n</script>\n\n<style lang=\"scss\">\n.octopus-app {\n\n  label.disabled {\n    color: var(--octopus-text-disabled);\n    cursor: default;\n  }\n\n  .octopus-form-switch {\n    position: relative;\n    display: inline-block;\n    width: 2rem;\n    height: 1rem;\n\n    input {\n      opacity: 0;\n      width: 0;\n      height: 0;\n    }\n\n    .slider {\n      position: absolute;\n      cursor: pointer;\n      inset: 0;\n      background-color: var(--octopus-secondary-darker);\n      transition: 0.4s;\n      border-radius: 1rem;\n    }\n\n    .slider::before {\n      position: absolute;\n      content: \"\";\n      height: 0.8rem;\n      width: 0.8rem;\n      left: 2px;\n      bottom: 2px;\n      background-color: white;\n      transition: 0.4s;\n      border-radius: 50%;\n    }\n\n    .slider:disabled::before {\n      background-color: var(--octopus-text-disabled);\n      opacity: 0.6;\n    }\n\n    input:checked + .slider {\n      background-color: var(--octopus-primary);\n    }\n\n    input:focus + .slider {\n      box-shadow: 0 0 1px var(--octopus-primary);\n    }\n\n    input:checked + .slider::before {\n      transform: translateX(1rem);\n    }\n\n    input:disabled + .slider {\n      cursor: default;\n      background-color: var(--octopus-secondary-darker);\n    }\n  }\n}\n</style>\n","<!--\n  Simple component to display a checkbox\n  Use `v-model:text-init` to bind the value.\n\n  **Slots:**\n    `after-label` : A slot to display additional elements after the label\n-->\n<template>\n  <div class=\"d-flex flex-nowrap align-items-center octopus-form-item\">\n    <div :class=\"isSwitch ? 'octopus-form-switch me-2' : ''\">\n      <input\n        :id=\"computedIdCheckbox\"\n        :checked=\"textInit\"\n        type=\"checkbox\"\n        :disabled=\"isDisabled\"\n        :title=\"displayLabel ? '' : label\"\n        :data-selenium=\"selenium\"\n        :tabindex=\"isSwitch ? '-1' : '0'\"\n        @input=\"emit('update:textInit', !textInit)\"\n        @click=\"emitClickAction\"\n      >\n      <button\n        v-if=\"isSwitch\"\n        class=\"slider btn-transparent\"\n        :title=\"label\"\n        :disabled=\"isDisabled\"\n        @click=\"clickSlider\"\n        @keydown.space.prevent=\"clickSlider\"\n      />\n    </div>\n    <label\n      class=\"c-hand\"\n      :class=\"[classLabel, displayLabel ? '' : 'd-none', isDisabled ? 'disabled' : '']\"\n      :for=\"isSwitch ? undefined : computedIdCheckbox\"\n      @click=\"clickSlider\"\n    >\n      {{ label }}\n\n      <slot name=\"after-label\" />\n    </label>\n  </div>\n</template>\n\n<script setup lang=\"ts\">\nimport { computed, getCurrentInstance } from 'vue';\n\n//Props \nconst props = defineProps({\n  /** The ID for the checkbox input */\n  idCheckbox: { default: \"\", type: String },\n  /** The label to display with the checkbox */\n  label: { default: \"\", type: String },\n  /** Disables input */\n  isDisabled: { default: false, type: Boolean },\n  /** The value of the checkbox */\n  textInit: { default: false, type: Boolean },\n  /** If true, displays a switch instead of a checkbox */\n  isSwitch: { default: false, type: Boolean },\n  displayLabel: { default: true, type: Boolean },\n  classLabel: { default: \"\", type: String },\n  selenium: { default: \"\", type: String },\n})\n\n//Emits\nconst emit = defineEmits([\"update:textInit\", \"clickAction\"]);\n\n// Computed\nconst computedIdCheckbox = computed(() => {\n  return props.idCheckbox || 'checkbox-' + getCurrentInstance()?.uid;\n});\n\n//Methods\nfunction emitClickAction(): void {\n  emit(\"clickAction\");\n}\nfunction clickSlider() {\n  if (!props.isDisabled && props.isSwitch) {\n    emit(\"update:textInit\", !props.textInit);\n    emitClickAction();\n  }\n}\n</script>\n\n<style lang=\"scss\">\n.octopus-app {\n\n  label.disabled {\n    color: var(--octopus-text-disabled);\n    cursor: default;\n  }\n\n  .octopus-form-switch {\n    position: relative;\n    display: inline-block;\n    width: 2rem;\n    height: 1rem;\n\n    input {\n      opacity: 0;\n      width: 0;\n      height: 0;\n    }\n\n    .slider {\n      position: absolute;\n      cursor: pointer;\n      inset: 0;\n      background-color: var(--octopus-secondary-darker);\n      transition: 0.4s;\n      border-radius: 1rem;\n    }\n\n    .slider::before {\n      position: absolute;\n      content: \"\";\n      height: 0.8rem;\n      width: 0.8rem;\n      left: 2px;\n      bottom: 2px;\n      background-color: white;\n      transition: 0.4s;\n      border-radius: 50%;\n    }\n\n    .slider:disabled::before {\n      background-color: var(--octopus-text-disabled);\n      opacity: 0.6;\n    }\n\n    input:checked + .slider {\n      background-color: var(--octopus-primary);\n    }\n\n    input:focus + .slider {\n      box-shadow: 0 0 1px var(--octopus-primary);\n    }\n\n    input:checked + .slider::before {\n      transform: translateX(1rem);\n    }\n\n    input:disabled + .slider {\n      cursor: default;\n      background-color: var(--octopus-secondary-darker);\n    }\n  }\n}\n</style>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA+CA,MAAM,QAAQ;EAiBd,MAAM,OAAO;EAGb,MAAM,qBAAqB,eAAe;GACxC,OAAO,MAAM,cAAc,cAAc,mBAAmB,GAAG;EACjE,CAAC;EAGD,SAAS,kBAAwB;GAC/B,KAAK,aAAa;EACpB;EACA,SAAS,cAAc;GACrB,IAAI,CAAC,MAAM,cAAc,MAAM,UAAU;IACvC,KAAK,mBAAmB,CAAC,MAAM,QAAQ;IACvC,gBAAgB;GAClB;EACF;;;;;;;;;;;;;;;;;;mBCxEO,OAAM,0DAAyD;;;;;;;;;;;;;;;;qBAApE,mBAgCM,OAhCN,YAgCM,CA/BJ,mBAoBM,OAAA,EApBA,OAAK,eAAE,OAAA,WAAQ,6BAAA,EAAA,EAAA,GAAA,CACnB,mBAUC,SAAA;EATE,IAAI,OAAA;EACJ,SAAS,OAAA;EACV,MAAK;EACJ,UAAU,OAAA;EACV,OAAO,OAAA,eAAY,KAAQ,OAAA;EAC3B,iBAAe,OAAA;EACf,UAAU,OAAA,WAAQ,OAAA;EAClB,SAAK,OAAA,OAAA,OAAA,MAAA,WAAE,OAAA,KAAI,mBAAA,CAAqB,OAAA,QAAQ;EACxC,SAAO,OAAA;2BAGF,OAAA,YAAA,UAAA,GADR,mBAOE,UAAA;;EALA,OAAM;EACL,OAAO,OAAA;EACP,UAAU,OAAA;EACV,SAAO,OAAA;EACP,WAAO,SAAA,cAAgB,OAAA,aAAW,CAAA,SAAA,CAAA,GAAA,CAAA,OAAA,CAAA;oEAGvC,mBASQ,SAAA;EARN,OAAK,eAAA,CAAC,UAAQ;GACL,OAAA;GAAY,OAAA,eAAY,KAAA;GAAkB,OAAA,aAAU,aAAA;EAAA,CAAA,CAAA;EAC5D,KAAK,OAAA,WAAW,KAAA,IAAY,OAAA;EAC5B,SAAO,OAAA;qCAEL,OAAA,KAAK,IAAG,KAEX,CAAA,GAAA,WAA2B,KAAA,QAAA,aAAA,CAAA,GAAA,IAAA,UAAA,CAAA,CAAA"}