@gospore/checkbox 1.0.28 → 1.0.30
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/checkbox.cjs.js +1 -1
- package/dist/checkbox.cjs.js.map +1 -1
- package/dist/checkbox.es.js +39 -37
- package/dist/checkbox.es.js.map +1 -1
- package/dist/checkbox.umd.js +1 -1
- package/dist/checkbox.umd.js.map +1 -1
- package/dist/style.css +1 -1
- package/package.json +2 -2
package/dist/checkbox.cjs.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),k=require("@fortawesome/vue-fontawesome"),
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),k=require("@fortawesome/vue-fontawesome"),b=require("@fortawesome/free-solid-svg-icons"),f=require("lodash/without");const h=(c,s)=>{const l=c.__vccOpts||c;for(const[n,u]of s)l[n]=u;return l},p=["title"],_={class:"checkbox-input-container"},y=["value","disabled"],x={key:0,class:"checkbox-label"},m={key:1,class:"checkbox-label"},g=Object.assign({name:"Checkbox",inheritAttrs:!1},{__name:"Checkbox",props:{checked:{type:[Boolean,Array],default:!1},value:{type:[String,Object],default:""},label:{type:String,default:""},disabled:{type:Boolean,default:!1}},emits:["update:checked"],setup(c,{emit:s}){const l=c,n=e.useAttrs(),u=e.useSlots(),r=e.ref(!1),t=e.ref(l.checked),i=e.computed(()=>typeof t.value=="boolean"?t.value:t.value.includes(l.value)),v=e.computed(()=>{let a=Object.assign({},n,{onKeyup(o){s("keyup",o),o.key==="Enter"&&(s("click"),typeof t.value=="boolean"?t.value=!t.value:t.value.includes(l.value)?t.value=f(t.value,l.value):t.value.push(l.value))}});return delete a.class,a});return e.watch(()=>l.checked,a=>{t.value=a}),e.watch(()=>t.value,()=>{t.value!=l.checked&&s("update:checked",t.value)}),(a,o)=>(e.openBlock(),e.createElementBlock("label",{class:e.normalizeClass(["checkbox",{"checkbox-disabled":c.disabled},e.unref(n).class]),title:e.unref(n).title},[e.createElementVNode("div",_,[e.createElementVNode("span",{class:e.normalizeClass(["checkbox-input",{"checkbox-checked":i.value,"checkbox-focused":r.value}])},[e.createVNode(e.unref(k.FontAwesomeIcon),{class:"checkbox-input-icon",icon:e.unref(b.faCheck),"aria-hidden":"true"},null,8,["icon"]),e.withDirectives(e.createElementVNode("input",e.mergeProps(v.value,{"onUpdate:modelValue":o[0]||(o[0]=d=>t.value=d),type:"checkbox",value:c.value,disabled:c.disabled,onFocus:o[1]||(o[1]=d=>r.value=!0),onFocusout:o[2]||(o[2]=d=>r.value=!1)}),null,16,y),[[e.vModelCheckbox,t.value]])],2)]),e.unref(u).default?(e.openBlock(),e.createElementBlock("div",x,[e.renderSlot(a.$slots,"default",{},void 0,!0)])):(e.openBlock(),e.createElementBlock("span",m,e.toDisplayString(c.label),1))],10,p))}}),C=h(g,[["__scopeId","data-v-2a4214a3"]]);exports.Checkbox=C;
|
|
2
2
|
//# sourceMappingURL=checkbox.cjs.js.map
|
package/dist/checkbox.cjs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checkbox.cjs.js","sources":["../src/Checkbox.vue"],"sourcesContent":["<!-- eslint-disable vue/multi-word-component-names -->\n<template>\n <label\n :class=\"['checkbox', { 'checkbox-disabled': disabled }, defaultAttrs.class]\"\n :title=\"defaultAttrs.title\"\n >\n <span\n :class=\"[\n 'checkbox-input',\n { 'checkbox-checked': isChecked, 'checkbox-focused': focused },\n ]\"\n >\n <font-awesome-icon\n class=\"checkbox-input-icon\"\n :icon=\"faCheck\"\n aria-hidden=\"true\"\n />\n <input\n v-bind=\"attrs\"\n v-model=\"internalChecked\"\n type=\"checkbox\"\n :value=\"value\"\n :disabled=\"disabled\"\n @focus=\"focused = true\"\n @focusout=\"focused = false\"\n />\n </span>\n <div v-if=\"slots.default\" class=\"checkbox-label\">\n <slot />\n </div>\n <span v-else class=\"checkbox-label\">{{ label }}</span>\n </label>\n</template>\n\n<script setup>\nimport { useAttrs, useSlots, ref, computed, watch } from \"vue\";\nimport { FontAwesomeIcon } from \"@fortawesome/vue-fontawesome\";\nimport { faCheck } from \"@fortawesome/free-solid-svg-icons\";\nimport without from \"lodash/without\";\n\ndefineOptions({\n name: \"Checkbox\",\n inheritAttrs: false,\n});\nconst props = defineProps({\n checked: {\n type: [Boolean, Array],\n default: false,\n },\n value: {\n type: [String, Object],\n default: \"\",\n },\n label: {\n type: String,\n default: \"\",\n },\n disabled: {\n type: Boolean,\n default: false,\n },\n});\nconst emit = defineEmits([\"update:checked\"]);\nconst defaultAttrs = useAttrs();\nconst slots = useSlots();\nconst focused = ref(false);\nconst internalChecked = ref(props.checked);\n\nconst isChecked = computed(() => {\n if (typeof internalChecked.value === \"boolean\") {\n return internalChecked.value;\n } else {\n return internalChecked.value.includes(props.value);\n }\n});\nconst attrs = computed(() => {\n let attrs = Object.assign({}, defaultAttrs, {\n // Pressing the enter key gets handled like a click.\n onKeyup(event) {\n // Don't add the keyup and click events to defineEmits, otherwise it won't work.\n // eslint-disable-next-line vue/require-explicit-emits\n emit(\"keyup\", event);\n if (event.key === \"Enter\") {\n // eslint-disable-next-line vue/require-explicit-emits\n emit(\"click\");\n if (typeof internalChecked.value == \"boolean\") {\n internalChecked.value = !internalChecked.value;\n } else {\n if (internalChecked.value.includes(props.value)) {\n internalChecked.value = without(internalChecked.value, props.value);\n } else {\n internalChecked.value.push(props.value);\n }\n }\n }\n },\n });\n // Only assign events to the input element, classes are assigned to the outer label.\n delete attrs.class;\n return attrs;\n});\n\nwatch(\n () => props.checked,\n (checked) => {\n internalChecked.value = checked;\n }\n);\nwatch(\n () => internalChecked.value,\n () => {\n // Only emit the update:checked event if the mutation came from within the checkbox component.\n if (internalChecked.value != props.checked) {\n emit(\"update:checked\", internalChecked.value);\n }\n }\n);\n</script>\n\n<style>\n@import \"theme.css\";\n</style>\n\n<style lang=\"less\" scoped>\n.checkbox {\n position: relative;\n display: flex;\n align-items: center;\n padding: var(--checkbox-padding);\n\n .checkbox-input {\n display: flex;\n align-items: center;\n justify-content: center;\n height: var(--checkbox-height);\n width: var(--checkbox-width);\n box-sizing: border-box;\n border-radius: var(--checkbox-border-radius);\n border: var(--checkbox-border-width) solid;\n background-color: var(--checkbox-background-default-default-light);\n color: var(--checkbox-color-default-default-light);\n border-color: var(--checkbox-border-color-default-default-light);\n transition: var(--checkbox-transition);\n }\n &:hover .checkbox-input {\n background-color: var(--checkbox-background-default-hover-light);\n color: var(--checkbox-color-default-hover-light);\n border-color: var(--checkbox-border-color-default-hover-light);\n }\n &:active .checkbox-input {\n background-color: var(--checkbox-background-default-active-light);\n color: var(--checkbox-color-default-active-light);\n border-color: var(--checkbox-border-color-default-active-light);\n }\n\n .checkbox-checked {\n background-color: var(--checkbox-background-checked-default-light);\n color: var(--checkbox-color-checked-default-light);\n border-color: var(--checkbox-border-color-checked-default-light);\n }\n &:hover .checkbox-checked {\n background-color: var(--checkbox-background-checked-hover-light);\n color: var(--checkbox-color-checked-hover-light);\n border-color: var(--checkbox-border-color-checked-hover-light);\n }\n &:active .checkbox-checked {\n background-color: var(--checkbox-background-checked-active-light);\n color: var(--checkbox-color-checked-active-light);\n border-color: var(--checkbox-border-color-checked-active-light);\n }\n}\n.checkbox-disabled {\n color: var(--checkbox-color-checked-disabled-light);\n cursor: not-allowed;\n\n .checkbox-input {\n background-color: var(--checkbox-background-default-disabled-light);\n color: var(--checkbox-color-default-disabled-light);\n border-color: var(--checkbox-border-color-default-disabled-light);\n }\n &:hover .checkbox-input {\n background-color: var(--checkbox-background-default-disabled-light);\n color: var(--checkbox-color-default-disabled-light);\n border-color: var(--checkbox-border-color-default-disabled-light);\n }\n\n .checkbox-checked {\n background-color: var(--checkbox-background-checked-disabled-light);\n color: var(--checkbox-color-checked-disabled-light);\n border-color: var(--checkbox-border-color-checked-disabled-light);\n }\n &:hover .checkbox-checked {\n background-color: var(--checkbox-background-checked-disabled-light);\n color: var(--checkbox-color-checked-disabled-light);\n border-color: var(--checkbox-border-color-checked-disabled-light);\n }\n}\n.checkbox-input-icon {\n height: 100%;\n width: 100%;\n box-sizing: border-box;\n padding: 1px;\n}\n.checkbox-label {\n padding: var(--checkbox-label-padding);\n}\ninput {\n margin: 0;\n opacity: 0;\n position: absolute;\n pointer-events: none;\n}\n[data-whatinput=\"keyboard\"] .checkbox-focused {\n border-color: var(--checkbox-focus-outline-color) !important;\n}\n\n[dark-mode=\"true\"] {\n .checkbox {\n .checkbox-input {\n background-color: var(--checkbox-background-default-default-dark);\n color: var(--checkbox-color-default-default-dark);\n border-color: var(--checkbox-border-color-default-default-dark);\n }\n &:hover .checkbox-input {\n background-color: var(--checkbox-background-default-hover-dark);\n color: var(--checkbox-color-default-hover-dark);\n border-color: var(--checkbox-border-color-default-hover-dark);\n }\n &:active .checkbox-input {\n background-color: var(--checkbox-background-default-active-dark);\n color: var(--checkbox-color-default-active-dark);\n border-color: var(--checkbox-border-color-default-active-dark);\n }\n\n .checkbox-checked {\n background-color: var(--checkbox-background-checked-default-dark);\n color: var(--checkbox-color-checked-default-dark);\n border-color: var(--checkbox-border-color-checked-default-dark);\n }\n &:hover .checkbox-checked {\n background-color: var(--checkbox-background-checked-hover-dark);\n color: var(--checkbox-color-checked-hover-dark);\n border-color: var(--checkbox-border-color-checked-hover-dark);\n }\n &:active .checkbox-checked {\n background-color: var(--checkbox-background-checked-active-dark);\n color: var(--checkbox-color-checked-active-dark);\n border-color: var(--checkbox-border-color-checked-active-dark);\n }\n }\n .checkbox-disabled {\n color: var(--checkbox-color-checked-disabled-dark);\n\n .checkbox-input {\n background-color: var(--checkbox-background-default-disabled-dark);\n color: var(--checkbox-color-default-disabled-dark);\n border-color: var(--checkbox-border-color-default-disabled-dark);\n }\n &:hover .checkbox-input {\n background-color: var(--checkbox-background-default-disabled-dark);\n color: var(--checkbox-color-default-disabled-dark);\n border-color: var(--checkbox-border-color-default-disabled-dark);\n }\n\n .checkbox-checked {\n background-color: var(--checkbox-background-checked-disabled-dark);\n color: var(--checkbox-color-checked-disabled-dark);\n border-color: var(--checkbox-border-color-checked-disabled-dark);\n }\n &:hover .checkbox-checked {\n background-color: var(--checkbox-background-checked-disabled-dark);\n color: var(--checkbox-color-checked-disabled-dark);\n border-color: var(--checkbox-border-color-checked-disabled-dark);\n }\n }\n}\n</style>\n"],"names":["defaultAttrs","useAttrs","slots","useSlots","focused","ref","internalChecked","props","isChecked","computed","attrs","event","emit","without","watch","checked"],"mappings":"kqBA+DMA,EAAeC,EAAQ,SAAA,EACvBC,EAAQC,EAAQ,SAAA,EAChBC,EAAUC,EAAAA,IAAI,EAAK,EACnBC,EAAkBD,EAAG,IAACE,EAAM,OAAO,EAEnCC,EAAYC,EAAQ,SAAC,IACrB,OAAOH,EAAgB,OAAU,UAC5BA,EAAgB,MAEhBA,EAAgB,MAAM,SAASC,EAAM,KAAK,CAEpD,EACKG,EAAQD,EAAQ,SAAC,IAAM,CAC3B,IAAIC,EAAQ,OAAO,OAAO,CAAA,EAAIV,EAAc,CAE1C,QAAQW,EAAO,CAGbC,EAAK,QAASD,CAAK,EACfA,EAAM,MAAQ,UAEhBC,EAAK,OAAO,EACR,OAAON,EAAgB,OAAS,UAClCA,EAAgB,MAAQ,CAACA,EAAgB,MAErCA,EAAgB,MAAM,SAASC,EAAM,KAAK,EAC5CD,EAAgB,MAAQO,EAAQP,EAAgB,MAAOC,EAAM,KAAK,EAElED,EAAgB,MAAM,KAAKC,EAAM,KAAK,EAI7C,CACL,CAAG,EAED,cAAOG,EAAM,MACNA,CACT,CAAC,EAEDI,OAAAA,EAAK,MACH,IAAMP,EAAM,QACXQ,GAAY,CACXT,EAAgB,MAAQS,CACzB,CACH,EACAD,EAAK,MACH,IAAMR,EAAgB,MACtB,IAAM,CAEAA,EAAgB,OAASC,EAAM,SACjCK,EAAK,iBAAkBN,EAAgB,KAAK,CAE/C,CACH"}
|
|
1
|
+
{"version":3,"file":"checkbox.cjs.js","sources":["../src/Checkbox.vue"],"sourcesContent":["<!-- eslint-disable vue/multi-word-component-names -->\n<template>\n <label\n :class=\"['checkbox', { 'checkbox-disabled': disabled }, defaultAttrs.class]\"\n :title=\"defaultAttrs.title\"\n >\n <div class=\"checkbox-input-container\">\n <span\n :class=\"[\n 'checkbox-input',\n { 'checkbox-checked': isChecked, 'checkbox-focused': focused },\n ]\"\n >\n <font-awesome-icon\n class=\"checkbox-input-icon\"\n :icon=\"faCheck\"\n aria-hidden=\"true\"\n />\n <input\n v-bind=\"attrs\"\n v-model=\"internalChecked\"\n type=\"checkbox\"\n :value=\"value\"\n :disabled=\"disabled\"\n @focus=\"focused = true\"\n @focusout=\"focused = false\"\n />\n </span>\n </div>\n <div v-if=\"slots.default\" class=\"checkbox-label\">\n <slot />\n </div>\n <span v-else class=\"checkbox-label\">{{ label }}</span>\n </label>\n</template>\n\n<script setup>\nimport { useAttrs, useSlots, ref, computed, watch } from \"vue\";\nimport { FontAwesomeIcon } from \"@fortawesome/vue-fontawesome\";\nimport { faCheck } from \"@fortawesome/free-solid-svg-icons\";\nimport without from \"lodash/without\";\n\ndefineOptions({\n name: \"Checkbox\",\n inheritAttrs: false,\n});\nconst props = defineProps({\n checked: {\n type: [Boolean, Array],\n default: false,\n },\n value: {\n type: [String, Object],\n default: \"\",\n },\n label: {\n type: String,\n default: \"\",\n },\n disabled: {\n type: Boolean,\n default: false,\n },\n});\nconst emit = defineEmits([\"update:checked\"]);\nconst defaultAttrs = useAttrs();\nconst slots = useSlots();\nconst focused = ref(false);\nconst internalChecked = ref(props.checked);\n\nconst isChecked = computed(() => {\n if (typeof internalChecked.value === \"boolean\") {\n return internalChecked.value;\n } else {\n return internalChecked.value.includes(props.value);\n }\n});\nconst attrs = computed(() => {\n let attrs = Object.assign({}, defaultAttrs, {\n // Pressing the enter key gets handled like a click.\n onKeyup(event) {\n // Don't add the keyup and click events to defineEmits, otherwise it won't work.\n // eslint-disable-next-line vue/require-explicit-emits\n emit(\"keyup\", event);\n if (event.key === \"Enter\") {\n // eslint-disable-next-line vue/require-explicit-emits\n emit(\"click\");\n if (typeof internalChecked.value == \"boolean\") {\n internalChecked.value = !internalChecked.value;\n } else {\n if (internalChecked.value.includes(props.value)) {\n internalChecked.value = without(internalChecked.value, props.value);\n } else {\n internalChecked.value.push(props.value);\n }\n }\n }\n },\n });\n // Only assign events to the input element, classes are assigned to the outer label.\n delete attrs.class;\n return attrs;\n});\n\nwatch(\n () => props.checked,\n (checked) => {\n internalChecked.value = checked;\n }\n);\nwatch(\n () => internalChecked.value,\n () => {\n // Only emit the update:checked event if the mutation came from within the checkbox component.\n if (internalChecked.value != props.checked) {\n emit(\"update:checked\", internalChecked.value);\n }\n }\n);\n</script>\n\n<style>\n@import \"theme.css\";\n</style>\n\n<style lang=\"less\" scoped>\n.checkbox {\n position: relative;\n display: flex;\n padding: var(--checkbox-padding);\n\n .checkbox-input-container {\n padding: 5px;\n }\n .checkbox-input {\n display: flex;\n align-items: center;\n justify-content: center;\n height: var(--checkbox-height);\n width: var(--checkbox-width);\n box-sizing: border-box;\n border-radius: var(--checkbox-border-radius);\n border: var(--checkbox-border-width) solid;\n background-color: var(--checkbox-background-default-default-light);\n color: var(--checkbox-color-default-default-light);\n border-color: var(--checkbox-border-color-default-default-light);\n transition: var(--checkbox-transition);\n }\n &:hover .checkbox-input {\n background-color: var(--checkbox-background-default-hover-light);\n color: var(--checkbox-color-default-hover-light);\n border-color: var(--checkbox-border-color-default-hover-light);\n }\n &:active .checkbox-input {\n background-color: var(--checkbox-background-default-active-light);\n color: var(--checkbox-color-default-active-light);\n border-color: var(--checkbox-border-color-default-active-light);\n }\n\n .checkbox-checked {\n background-color: var(--checkbox-background-checked-default-light);\n color: var(--checkbox-color-checked-default-light);\n border-color: var(--checkbox-border-color-checked-default-light);\n }\n &:hover .checkbox-checked {\n background-color: var(--checkbox-background-checked-hover-light);\n color: var(--checkbox-color-checked-hover-light);\n border-color: var(--checkbox-border-color-checked-hover-light);\n }\n &:active .checkbox-checked {\n background-color: var(--checkbox-background-checked-active-light);\n color: var(--checkbox-color-checked-active-light);\n border-color: var(--checkbox-border-color-checked-active-light);\n }\n}\n.checkbox-disabled {\n color: var(--checkbox-color-checked-disabled-light);\n cursor: not-allowed;\n\n .checkbox-input {\n background-color: var(--checkbox-background-default-disabled-light);\n color: var(--checkbox-color-default-disabled-light);\n border-color: var(--checkbox-border-color-default-disabled-light);\n }\n &:hover .checkbox-input {\n background-color: var(--checkbox-background-default-disabled-light);\n color: var(--checkbox-color-default-disabled-light);\n border-color: var(--checkbox-border-color-default-disabled-light);\n }\n\n .checkbox-checked {\n background-color: var(--checkbox-background-checked-disabled-light);\n color: var(--checkbox-color-checked-disabled-light);\n border-color: var(--checkbox-border-color-checked-disabled-light);\n }\n &:hover .checkbox-checked {\n background-color: var(--checkbox-background-checked-disabled-light);\n color: var(--checkbox-color-checked-disabled-light);\n border-color: var(--checkbox-border-color-checked-disabled-light);\n }\n}\n.checkbox-input-icon {\n height: 100%;\n width: 100%;\n box-sizing: border-box;\n padding: 1px;\n}\n.checkbox-label {\n padding: var(--checkbox-label-padding);\n line-height: var(--checkbox-line-height);\n}\ninput {\n margin: 0;\n opacity: 0;\n position: absolute;\n pointer-events: none;\n}\n[data-whatinput=\"keyboard\"] .checkbox-focused {\n border-color: var(--checkbox-focus-outline-color) !important;\n}\n\n[dark-mode=\"true\"] {\n .checkbox {\n .checkbox-input {\n background-color: var(--checkbox-background-default-default-dark);\n color: var(--checkbox-color-default-default-dark);\n border-color: var(--checkbox-border-color-default-default-dark);\n }\n &:hover .checkbox-input {\n background-color: var(--checkbox-background-default-hover-dark);\n color: var(--checkbox-color-default-hover-dark);\n border-color: var(--checkbox-border-color-default-hover-dark);\n }\n &:active .checkbox-input {\n background-color: var(--checkbox-background-default-active-dark);\n color: var(--checkbox-color-default-active-dark);\n border-color: var(--checkbox-border-color-default-active-dark);\n }\n\n .checkbox-checked {\n background-color: var(--checkbox-background-checked-default-dark);\n color: var(--checkbox-color-checked-default-dark);\n border-color: var(--checkbox-border-color-checked-default-dark);\n }\n &:hover .checkbox-checked {\n background-color: var(--checkbox-background-checked-hover-dark);\n color: var(--checkbox-color-checked-hover-dark);\n border-color: var(--checkbox-border-color-checked-hover-dark);\n }\n &:active .checkbox-checked {\n background-color: var(--checkbox-background-checked-active-dark);\n color: var(--checkbox-color-checked-active-dark);\n border-color: var(--checkbox-border-color-checked-active-dark);\n }\n }\n .checkbox-disabled {\n color: var(--checkbox-color-checked-disabled-dark);\n\n .checkbox-input {\n background-color: var(--checkbox-background-default-disabled-dark);\n color: var(--checkbox-color-default-disabled-dark);\n border-color: var(--checkbox-border-color-default-disabled-dark);\n }\n &:hover .checkbox-input {\n background-color: var(--checkbox-background-default-disabled-dark);\n color: var(--checkbox-color-default-disabled-dark);\n border-color: var(--checkbox-border-color-default-disabled-dark);\n }\n\n .checkbox-checked {\n background-color: var(--checkbox-background-checked-disabled-dark);\n color: var(--checkbox-color-checked-disabled-dark);\n border-color: var(--checkbox-border-color-checked-disabled-dark);\n }\n &:hover .checkbox-checked {\n background-color: var(--checkbox-background-checked-disabled-dark);\n color: var(--checkbox-color-checked-disabled-dark);\n border-color: var(--checkbox-border-color-checked-disabled-dark);\n }\n }\n}\n</style>\n"],"names":["defaultAttrs","useAttrs","slots","useSlots","focused","ref","internalChecked","props","isChecked","computed","attrs","event","emit","without","watch","checked"],"mappings":"usBAiEMA,EAAeC,EAAQ,SAAA,EACvBC,EAAQC,EAAQ,SAAA,EAChBC,EAAUC,EAAAA,IAAI,EAAK,EACnBC,EAAkBD,EAAG,IAACE,EAAM,OAAO,EAEnCC,EAAYC,EAAQ,SAAC,IACrB,OAAOH,EAAgB,OAAU,UAC5BA,EAAgB,MAEhBA,EAAgB,MAAM,SAASC,EAAM,KAAK,CAEpD,EACKG,EAAQD,EAAQ,SAAC,IAAM,CAC3B,IAAIC,EAAQ,OAAO,OAAO,CAAA,EAAIV,EAAc,CAE1C,QAAQW,EAAO,CAGbC,EAAK,QAASD,CAAK,EACfA,EAAM,MAAQ,UAEhBC,EAAK,OAAO,EACR,OAAON,EAAgB,OAAS,UAClCA,EAAgB,MAAQ,CAACA,EAAgB,MAErCA,EAAgB,MAAM,SAASC,EAAM,KAAK,EAC5CD,EAAgB,MAAQO,EAAQP,EAAgB,MAAOC,EAAM,KAAK,EAElED,EAAgB,MAAM,KAAKC,EAAM,KAAK,EAI7C,CACL,CAAG,EAED,cAAOG,EAAM,MACNA,CACT,CAAC,EAEDI,OAAAA,EAAK,MACH,IAAMP,EAAM,QACXQ,GAAY,CACXT,EAAgB,MAAQS,CACzB,CACH,EACAD,EAAK,MACH,IAAMR,EAAgB,MACtB,IAAM,CAEAA,EAAgB,OAASC,EAAM,SACjCK,EAAK,iBAAkBN,EAAgB,KAAK,CAE/C,CACH"}
|
package/dist/checkbox.es.js
CHANGED
|
@@ -1,19 +1,19 @@
|
|
|
1
|
-
import { useAttrs as y, useSlots as m, ref as
|
|
1
|
+
import { useAttrs as y, useSlots as m, ref as b, computed as f, watch as h, openBlock as r, createElementBlock as v, normalizeClass as p, unref as n, createElementVNode as k, createVNode as C, withDirectives as g, mergeProps as A, vModelCheckbox as S, renderSlot as w, toDisplayString as B } from "vue";
|
|
2
2
|
import { FontAwesomeIcon as O } from "@fortawesome/vue-fontawesome";
|
|
3
3
|
import { faCheck as j } from "@fortawesome/free-solid-svg-icons";
|
|
4
4
|
import E from "lodash/without";
|
|
5
5
|
const F = (a, s) => {
|
|
6
6
|
const t = a.__vccOpts || a;
|
|
7
|
-
for (const [c,
|
|
8
|
-
t[c] =
|
|
7
|
+
for (const [c, u] of s)
|
|
8
|
+
t[c] = u;
|
|
9
9
|
return t;
|
|
10
|
-
}, V = ["title"], $ = ["value", "disabled"],
|
|
10
|
+
}, V = ["title"], $ = { class: "checkbox-input-container" }, D = ["value", "disabled"], I = {
|
|
11
11
|
key: 0,
|
|
12
12
|
class: "checkbox-label"
|
|
13
|
-
},
|
|
13
|
+
}, N = {
|
|
14
14
|
key: 1,
|
|
15
15
|
class: "checkbox-label"
|
|
16
|
-
},
|
|
16
|
+
}, z = /* @__PURE__ */ Object.assign({
|
|
17
17
|
name: "Checkbox",
|
|
18
18
|
inheritAttrs: !1
|
|
19
19
|
}, {
|
|
@@ -38,7 +38,7 @@ const F = (a, s) => {
|
|
|
38
38
|
},
|
|
39
39
|
emits: ["update:checked"],
|
|
40
40
|
setup(a, { emit: s }) {
|
|
41
|
-
const t = a, c = y(),
|
|
41
|
+
const t = a, c = y(), u = m(), d = b(!1), e = b(t.checked), _ = f(() => typeof e.value == "boolean" ? e.value : e.value.includes(t.value)), x = f(() => {
|
|
42
42
|
let o = Object.assign({}, c, {
|
|
43
43
|
// Pressing the enter key gets handled like a click.
|
|
44
44
|
onKeyup(l) {
|
|
@@ -47,49 +47,51 @@ const F = (a, s) => {
|
|
|
47
47
|
});
|
|
48
48
|
return delete o.class, o;
|
|
49
49
|
});
|
|
50
|
-
return
|
|
50
|
+
return h(
|
|
51
51
|
() => t.checked,
|
|
52
52
|
(o) => {
|
|
53
53
|
e.value = o;
|
|
54
54
|
}
|
|
55
|
-
),
|
|
55
|
+
), h(
|
|
56
56
|
() => e.value,
|
|
57
57
|
() => {
|
|
58
58
|
e.value != t.checked && s("update:checked", e.value);
|
|
59
59
|
}
|
|
60
60
|
), (o, l) => (r(), v("label", {
|
|
61
|
-
class:
|
|
62
|
-
title:
|
|
61
|
+
class: p(["checkbox", { "checkbox-disabled": a.disabled }, n(c).class]),
|
|
62
|
+
title: n(c).title
|
|
63
63
|
}, [
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
"
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
64
|
+
k("div", $, [
|
|
65
|
+
k("span", {
|
|
66
|
+
class: p([
|
|
67
|
+
"checkbox-input",
|
|
68
|
+
{ "checkbox-checked": _.value, "checkbox-focused": d.value }
|
|
69
|
+
])
|
|
70
|
+
}, [
|
|
71
|
+
C(n(O), {
|
|
72
|
+
class: "checkbox-input-icon",
|
|
73
|
+
icon: n(j),
|
|
74
|
+
"aria-hidden": "true"
|
|
75
|
+
}, null, 8, ["icon"]),
|
|
76
|
+
g(k("input", A(x.value, {
|
|
77
|
+
"onUpdate:modelValue": l[0] || (l[0] = (i) => e.value = i),
|
|
78
|
+
type: "checkbox",
|
|
79
|
+
value: a.value,
|
|
80
|
+
disabled: a.disabled,
|
|
81
|
+
onFocus: l[1] || (l[1] = (i) => d.value = !0),
|
|
82
|
+
onFocusout: l[2] || (l[2] = (i) => d.value = !1)
|
|
83
|
+
}), null, 16, D), [
|
|
84
|
+
[S, e.value]
|
|
85
|
+
])
|
|
86
|
+
], 2)
|
|
87
|
+
]),
|
|
88
|
+
n(u).default ? (r(), v("div", I, [
|
|
87
89
|
w(o.$slots, "default", {}, void 0, !0)
|
|
88
|
-
])) : (r(), v("span",
|
|
90
|
+
])) : (r(), v("span", N, B(a.label), 1))
|
|
89
91
|
], 10, V));
|
|
90
92
|
}
|
|
91
|
-
}),
|
|
93
|
+
}), q = /* @__PURE__ */ F(z, [["__scopeId", "data-v-2a4214a3"]]);
|
|
92
94
|
export {
|
|
93
|
-
|
|
95
|
+
q as Checkbox
|
|
94
96
|
};
|
|
95
97
|
//# sourceMappingURL=checkbox.es.js.map
|
package/dist/checkbox.es.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checkbox.es.js","sources":["../src/Checkbox.vue"],"sourcesContent":["<!-- eslint-disable vue/multi-word-component-names -->\n<template>\n <label\n :class=\"['checkbox', { 'checkbox-disabled': disabled }, defaultAttrs.class]\"\n :title=\"defaultAttrs.title\"\n >\n <span\n :class=\"[\n 'checkbox-input',\n { 'checkbox-checked': isChecked, 'checkbox-focused': focused },\n ]\"\n >\n <font-awesome-icon\n class=\"checkbox-input-icon\"\n :icon=\"faCheck\"\n aria-hidden=\"true\"\n />\n <input\n v-bind=\"attrs\"\n v-model=\"internalChecked\"\n type=\"checkbox\"\n :value=\"value\"\n :disabled=\"disabled\"\n @focus=\"focused = true\"\n @focusout=\"focused = false\"\n />\n </span>\n <div v-if=\"slots.default\" class=\"checkbox-label\">\n <slot />\n </div>\n <span v-else class=\"checkbox-label\">{{ label }}</span>\n </label>\n</template>\n\n<script setup>\nimport { useAttrs, useSlots, ref, computed, watch } from \"vue\";\nimport { FontAwesomeIcon } from \"@fortawesome/vue-fontawesome\";\nimport { faCheck } from \"@fortawesome/free-solid-svg-icons\";\nimport without from \"lodash/without\";\n\ndefineOptions({\n name: \"Checkbox\",\n inheritAttrs: false,\n});\nconst props = defineProps({\n checked: {\n type: [Boolean, Array],\n default: false,\n },\n value: {\n type: [String, Object],\n default: \"\",\n },\n label: {\n type: String,\n default: \"\",\n },\n disabled: {\n type: Boolean,\n default: false,\n },\n});\nconst emit = defineEmits([\"update:checked\"]);\nconst defaultAttrs = useAttrs();\nconst slots = useSlots();\nconst focused = ref(false);\nconst internalChecked = ref(props.checked);\n\nconst isChecked = computed(() => {\n if (typeof internalChecked.value === \"boolean\") {\n return internalChecked.value;\n } else {\n return internalChecked.value.includes(props.value);\n }\n});\nconst attrs = computed(() => {\n let attrs = Object.assign({}, defaultAttrs, {\n // Pressing the enter key gets handled like a click.\n onKeyup(event) {\n // Don't add the keyup and click events to defineEmits, otherwise it won't work.\n // eslint-disable-next-line vue/require-explicit-emits\n emit(\"keyup\", event);\n if (event.key === \"Enter\") {\n // eslint-disable-next-line vue/require-explicit-emits\n emit(\"click\");\n if (typeof internalChecked.value == \"boolean\") {\n internalChecked.value = !internalChecked.value;\n } else {\n if (internalChecked.value.includes(props.value)) {\n internalChecked.value = without(internalChecked.value, props.value);\n } else {\n internalChecked.value.push(props.value);\n }\n }\n }\n },\n });\n // Only assign events to the input element, classes are assigned to the outer label.\n delete attrs.class;\n return attrs;\n});\n\nwatch(\n () => props.checked,\n (checked) => {\n internalChecked.value = checked;\n }\n);\nwatch(\n () => internalChecked.value,\n () => {\n // Only emit the update:checked event if the mutation came from within the checkbox component.\n if (internalChecked.value != props.checked) {\n emit(\"update:checked\", internalChecked.value);\n }\n }\n);\n</script>\n\n<style>\n@import \"theme.css\";\n</style>\n\n<style lang=\"less\" scoped>\n.checkbox {\n position: relative;\n display: flex;\n align-items: center;\n padding: var(--checkbox-padding);\n\n .checkbox-input {\n display: flex;\n align-items: center;\n justify-content: center;\n height: var(--checkbox-height);\n width: var(--checkbox-width);\n box-sizing: border-box;\n border-radius: var(--checkbox-border-radius);\n border: var(--checkbox-border-width) solid;\n background-color: var(--checkbox-background-default-default-light);\n color: var(--checkbox-color-default-default-light);\n border-color: var(--checkbox-border-color-default-default-light);\n transition: var(--checkbox-transition);\n }\n &:hover .checkbox-input {\n background-color: var(--checkbox-background-default-hover-light);\n color: var(--checkbox-color-default-hover-light);\n border-color: var(--checkbox-border-color-default-hover-light);\n }\n &:active .checkbox-input {\n background-color: var(--checkbox-background-default-active-light);\n color: var(--checkbox-color-default-active-light);\n border-color: var(--checkbox-border-color-default-active-light);\n }\n\n .checkbox-checked {\n background-color: var(--checkbox-background-checked-default-light);\n color: var(--checkbox-color-checked-default-light);\n border-color: var(--checkbox-border-color-checked-default-light);\n }\n &:hover .checkbox-checked {\n background-color: var(--checkbox-background-checked-hover-light);\n color: var(--checkbox-color-checked-hover-light);\n border-color: var(--checkbox-border-color-checked-hover-light);\n }\n &:active .checkbox-checked {\n background-color: var(--checkbox-background-checked-active-light);\n color: var(--checkbox-color-checked-active-light);\n border-color: var(--checkbox-border-color-checked-active-light);\n }\n}\n.checkbox-disabled {\n color: var(--checkbox-color-checked-disabled-light);\n cursor: not-allowed;\n\n .checkbox-input {\n background-color: var(--checkbox-background-default-disabled-light);\n color: var(--checkbox-color-default-disabled-light);\n border-color: var(--checkbox-border-color-default-disabled-light);\n }\n &:hover .checkbox-input {\n background-color: var(--checkbox-background-default-disabled-light);\n color: var(--checkbox-color-default-disabled-light);\n border-color: var(--checkbox-border-color-default-disabled-light);\n }\n\n .checkbox-checked {\n background-color: var(--checkbox-background-checked-disabled-light);\n color: var(--checkbox-color-checked-disabled-light);\n border-color: var(--checkbox-border-color-checked-disabled-light);\n }\n &:hover .checkbox-checked {\n background-color: var(--checkbox-background-checked-disabled-light);\n color: var(--checkbox-color-checked-disabled-light);\n border-color: var(--checkbox-border-color-checked-disabled-light);\n }\n}\n.checkbox-input-icon {\n height: 100%;\n width: 100%;\n box-sizing: border-box;\n padding: 1px;\n}\n.checkbox-label {\n padding: var(--checkbox-label-padding);\n}\ninput {\n margin: 0;\n opacity: 0;\n position: absolute;\n pointer-events: none;\n}\n[data-whatinput=\"keyboard\"] .checkbox-focused {\n border-color: var(--checkbox-focus-outline-color) !important;\n}\n\n[dark-mode=\"true\"] {\n .checkbox {\n .checkbox-input {\n background-color: var(--checkbox-background-default-default-dark);\n color: var(--checkbox-color-default-default-dark);\n border-color: var(--checkbox-border-color-default-default-dark);\n }\n &:hover .checkbox-input {\n background-color: var(--checkbox-background-default-hover-dark);\n color: var(--checkbox-color-default-hover-dark);\n border-color: var(--checkbox-border-color-default-hover-dark);\n }\n &:active .checkbox-input {\n background-color: var(--checkbox-background-default-active-dark);\n color: var(--checkbox-color-default-active-dark);\n border-color: var(--checkbox-border-color-default-active-dark);\n }\n\n .checkbox-checked {\n background-color: var(--checkbox-background-checked-default-dark);\n color: var(--checkbox-color-checked-default-dark);\n border-color: var(--checkbox-border-color-checked-default-dark);\n }\n &:hover .checkbox-checked {\n background-color: var(--checkbox-background-checked-hover-dark);\n color: var(--checkbox-color-checked-hover-dark);\n border-color: var(--checkbox-border-color-checked-hover-dark);\n }\n &:active .checkbox-checked {\n background-color: var(--checkbox-background-checked-active-dark);\n color: var(--checkbox-color-checked-active-dark);\n border-color: var(--checkbox-border-color-checked-active-dark);\n }\n }\n .checkbox-disabled {\n color: var(--checkbox-color-checked-disabled-dark);\n\n .checkbox-input {\n background-color: var(--checkbox-background-default-disabled-dark);\n color: var(--checkbox-color-default-disabled-dark);\n border-color: var(--checkbox-border-color-default-disabled-dark);\n }\n &:hover .checkbox-input {\n background-color: var(--checkbox-background-default-disabled-dark);\n color: var(--checkbox-color-default-disabled-dark);\n border-color: var(--checkbox-border-color-default-disabled-dark);\n }\n\n .checkbox-checked {\n background-color: var(--checkbox-background-checked-disabled-dark);\n color: var(--checkbox-color-checked-disabled-dark);\n border-color: var(--checkbox-border-color-checked-disabled-dark);\n }\n &:hover .checkbox-checked {\n background-color: var(--checkbox-background-checked-disabled-dark);\n color: var(--checkbox-color-checked-disabled-dark);\n border-color: var(--checkbox-border-color-checked-disabled-dark);\n }\n }\n}\n</style>\n"],"names":["defaultAttrs","useAttrs","slots","useSlots","focused","ref","internalChecked","props","isChecked","computed","attrs","event","emit","without","watch","checked"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBA+DMA,IAAeC,EAAQ,GACvBC,IAAQC,EAAQ,GAChBC,IAAUC,EAAI,EAAK,GACnBC,IAAkBD,EAAIE,EAAM,OAAO,GAEnCC,IAAYC,EAAS,MACrB,OAAOH,EAAgB,SAAU,YAC5BA,EAAgB,QAEhBA,EAAgB,MAAM,SAASC,EAAM,KAAK,CAEpD,GACKG,IAAQD,EAAS,MAAM;AAC3B,UAAIC,IAAQ,OAAO,OAAO,CAAA,GAAIV,GAAc;AAAA;AAAA,QAE1C,QAAQW,GAAO;AAGb,UAAAC,EAAK,SAASD,CAAK,GACfA,EAAM,QAAQ,YAEhBC,EAAK,OAAO,GACR,OAAON,EAAgB,SAAS,YAClCA,EAAgB,QAAQ,CAACA,EAAgB,QAErCA,EAAgB,MAAM,SAASC,EAAM,KAAK,IAC5CD,EAAgB,QAAQO,EAAQP,EAAgB,OAAOC,EAAM,KAAK,IAElED,EAAgB,MAAM,KAAKC,EAAM,KAAK;AAAA,QAI7C;AAAA,MACL,CAAG;AAED,oBAAOG,EAAM,OACNA;AAAA,IACT,CAAC;AAED,WAAAI;AAAA,MACE,MAAMP,EAAM;AAAA,MACZ,CAACQ,MAAY;AACX,QAAAT,EAAgB,QAAQS;AAAA,MACzB;AAAA,IACH,GACAD;AAAA,MACE,MAAMR,EAAgB;AAAA,MACtB,MAAM;AAEJ,QAAIA,EAAgB,SAASC,EAAM,WACjCK,EAAK,kBAAkBN,EAAgB,KAAK;AAAA,MAE/C;AAAA,IACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
1
|
+
{"version":3,"file":"checkbox.es.js","sources":["../src/Checkbox.vue"],"sourcesContent":["<!-- eslint-disable vue/multi-word-component-names -->\n<template>\n <label\n :class=\"['checkbox', { 'checkbox-disabled': disabled }, defaultAttrs.class]\"\n :title=\"defaultAttrs.title\"\n >\n <div class=\"checkbox-input-container\">\n <span\n :class=\"[\n 'checkbox-input',\n { 'checkbox-checked': isChecked, 'checkbox-focused': focused },\n ]\"\n >\n <font-awesome-icon\n class=\"checkbox-input-icon\"\n :icon=\"faCheck\"\n aria-hidden=\"true\"\n />\n <input\n v-bind=\"attrs\"\n v-model=\"internalChecked\"\n type=\"checkbox\"\n :value=\"value\"\n :disabled=\"disabled\"\n @focus=\"focused = true\"\n @focusout=\"focused = false\"\n />\n </span>\n </div>\n <div v-if=\"slots.default\" class=\"checkbox-label\">\n <slot />\n </div>\n <span v-else class=\"checkbox-label\">{{ label }}</span>\n </label>\n</template>\n\n<script setup>\nimport { useAttrs, useSlots, ref, computed, watch } from \"vue\";\nimport { FontAwesomeIcon } from \"@fortawesome/vue-fontawesome\";\nimport { faCheck } from \"@fortawesome/free-solid-svg-icons\";\nimport without from \"lodash/without\";\n\ndefineOptions({\n name: \"Checkbox\",\n inheritAttrs: false,\n});\nconst props = defineProps({\n checked: {\n type: [Boolean, Array],\n default: false,\n },\n value: {\n type: [String, Object],\n default: \"\",\n },\n label: {\n type: String,\n default: \"\",\n },\n disabled: {\n type: Boolean,\n default: false,\n },\n});\nconst emit = defineEmits([\"update:checked\"]);\nconst defaultAttrs = useAttrs();\nconst slots = useSlots();\nconst focused = ref(false);\nconst internalChecked = ref(props.checked);\n\nconst isChecked = computed(() => {\n if (typeof internalChecked.value === \"boolean\") {\n return internalChecked.value;\n } else {\n return internalChecked.value.includes(props.value);\n }\n});\nconst attrs = computed(() => {\n let attrs = Object.assign({}, defaultAttrs, {\n // Pressing the enter key gets handled like a click.\n onKeyup(event) {\n // Don't add the keyup and click events to defineEmits, otherwise it won't work.\n // eslint-disable-next-line vue/require-explicit-emits\n emit(\"keyup\", event);\n if (event.key === \"Enter\") {\n // eslint-disable-next-line vue/require-explicit-emits\n emit(\"click\");\n if (typeof internalChecked.value == \"boolean\") {\n internalChecked.value = !internalChecked.value;\n } else {\n if (internalChecked.value.includes(props.value)) {\n internalChecked.value = without(internalChecked.value, props.value);\n } else {\n internalChecked.value.push(props.value);\n }\n }\n }\n },\n });\n // Only assign events to the input element, classes are assigned to the outer label.\n delete attrs.class;\n return attrs;\n});\n\nwatch(\n () => props.checked,\n (checked) => {\n internalChecked.value = checked;\n }\n);\nwatch(\n () => internalChecked.value,\n () => {\n // Only emit the update:checked event if the mutation came from within the checkbox component.\n if (internalChecked.value != props.checked) {\n emit(\"update:checked\", internalChecked.value);\n }\n }\n);\n</script>\n\n<style>\n@import \"theme.css\";\n</style>\n\n<style lang=\"less\" scoped>\n.checkbox {\n position: relative;\n display: flex;\n padding: var(--checkbox-padding);\n\n .checkbox-input-container {\n padding: 5px;\n }\n .checkbox-input {\n display: flex;\n align-items: center;\n justify-content: center;\n height: var(--checkbox-height);\n width: var(--checkbox-width);\n box-sizing: border-box;\n border-radius: var(--checkbox-border-radius);\n border: var(--checkbox-border-width) solid;\n background-color: var(--checkbox-background-default-default-light);\n color: var(--checkbox-color-default-default-light);\n border-color: var(--checkbox-border-color-default-default-light);\n transition: var(--checkbox-transition);\n }\n &:hover .checkbox-input {\n background-color: var(--checkbox-background-default-hover-light);\n color: var(--checkbox-color-default-hover-light);\n border-color: var(--checkbox-border-color-default-hover-light);\n }\n &:active .checkbox-input {\n background-color: var(--checkbox-background-default-active-light);\n color: var(--checkbox-color-default-active-light);\n border-color: var(--checkbox-border-color-default-active-light);\n }\n\n .checkbox-checked {\n background-color: var(--checkbox-background-checked-default-light);\n color: var(--checkbox-color-checked-default-light);\n border-color: var(--checkbox-border-color-checked-default-light);\n }\n &:hover .checkbox-checked {\n background-color: var(--checkbox-background-checked-hover-light);\n color: var(--checkbox-color-checked-hover-light);\n border-color: var(--checkbox-border-color-checked-hover-light);\n }\n &:active .checkbox-checked {\n background-color: var(--checkbox-background-checked-active-light);\n color: var(--checkbox-color-checked-active-light);\n border-color: var(--checkbox-border-color-checked-active-light);\n }\n}\n.checkbox-disabled {\n color: var(--checkbox-color-checked-disabled-light);\n cursor: not-allowed;\n\n .checkbox-input {\n background-color: var(--checkbox-background-default-disabled-light);\n color: var(--checkbox-color-default-disabled-light);\n border-color: var(--checkbox-border-color-default-disabled-light);\n }\n &:hover .checkbox-input {\n background-color: var(--checkbox-background-default-disabled-light);\n color: var(--checkbox-color-default-disabled-light);\n border-color: var(--checkbox-border-color-default-disabled-light);\n }\n\n .checkbox-checked {\n background-color: var(--checkbox-background-checked-disabled-light);\n color: var(--checkbox-color-checked-disabled-light);\n border-color: var(--checkbox-border-color-checked-disabled-light);\n }\n &:hover .checkbox-checked {\n background-color: var(--checkbox-background-checked-disabled-light);\n color: var(--checkbox-color-checked-disabled-light);\n border-color: var(--checkbox-border-color-checked-disabled-light);\n }\n}\n.checkbox-input-icon {\n height: 100%;\n width: 100%;\n box-sizing: border-box;\n padding: 1px;\n}\n.checkbox-label {\n padding: var(--checkbox-label-padding);\n line-height: var(--checkbox-line-height);\n}\ninput {\n margin: 0;\n opacity: 0;\n position: absolute;\n pointer-events: none;\n}\n[data-whatinput=\"keyboard\"] .checkbox-focused {\n border-color: var(--checkbox-focus-outline-color) !important;\n}\n\n[dark-mode=\"true\"] {\n .checkbox {\n .checkbox-input {\n background-color: var(--checkbox-background-default-default-dark);\n color: var(--checkbox-color-default-default-dark);\n border-color: var(--checkbox-border-color-default-default-dark);\n }\n &:hover .checkbox-input {\n background-color: var(--checkbox-background-default-hover-dark);\n color: var(--checkbox-color-default-hover-dark);\n border-color: var(--checkbox-border-color-default-hover-dark);\n }\n &:active .checkbox-input {\n background-color: var(--checkbox-background-default-active-dark);\n color: var(--checkbox-color-default-active-dark);\n border-color: var(--checkbox-border-color-default-active-dark);\n }\n\n .checkbox-checked {\n background-color: var(--checkbox-background-checked-default-dark);\n color: var(--checkbox-color-checked-default-dark);\n border-color: var(--checkbox-border-color-checked-default-dark);\n }\n &:hover .checkbox-checked {\n background-color: var(--checkbox-background-checked-hover-dark);\n color: var(--checkbox-color-checked-hover-dark);\n border-color: var(--checkbox-border-color-checked-hover-dark);\n }\n &:active .checkbox-checked {\n background-color: var(--checkbox-background-checked-active-dark);\n color: var(--checkbox-color-checked-active-dark);\n border-color: var(--checkbox-border-color-checked-active-dark);\n }\n }\n .checkbox-disabled {\n color: var(--checkbox-color-checked-disabled-dark);\n\n .checkbox-input {\n background-color: var(--checkbox-background-default-disabled-dark);\n color: var(--checkbox-color-default-disabled-dark);\n border-color: var(--checkbox-border-color-default-disabled-dark);\n }\n &:hover .checkbox-input {\n background-color: var(--checkbox-background-default-disabled-dark);\n color: var(--checkbox-color-default-disabled-dark);\n border-color: var(--checkbox-border-color-default-disabled-dark);\n }\n\n .checkbox-checked {\n background-color: var(--checkbox-background-checked-disabled-dark);\n color: var(--checkbox-color-checked-disabled-dark);\n border-color: var(--checkbox-border-color-checked-disabled-dark);\n }\n &:hover .checkbox-checked {\n background-color: var(--checkbox-background-checked-disabled-dark);\n color: var(--checkbox-color-checked-disabled-dark);\n border-color: var(--checkbox-border-color-checked-disabled-dark);\n }\n }\n}\n</style>\n"],"names":["defaultAttrs","useAttrs","slots","useSlots","focused","ref","internalChecked","props","isChecked","computed","attrs","event","emit","without","watch","checked"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAiEMA,IAAeC,EAAQ,GACvBC,IAAQC,EAAQ,GAChBC,IAAUC,EAAI,EAAK,GACnBC,IAAkBD,EAAIE,EAAM,OAAO,GAEnCC,IAAYC,EAAS,MACrB,OAAOH,EAAgB,SAAU,YAC5BA,EAAgB,QAEhBA,EAAgB,MAAM,SAASC,EAAM,KAAK,CAEpD,GACKG,IAAQD,EAAS,MAAM;AAC3B,UAAIC,IAAQ,OAAO,OAAO,CAAA,GAAIV,GAAc;AAAA;AAAA,QAE1C,QAAQW,GAAO;AAGb,UAAAC,EAAK,SAASD,CAAK,GACfA,EAAM,QAAQ,YAEhBC,EAAK,OAAO,GACR,OAAON,EAAgB,SAAS,YAClCA,EAAgB,QAAQ,CAACA,EAAgB,QAErCA,EAAgB,MAAM,SAASC,EAAM,KAAK,IAC5CD,EAAgB,QAAQO,EAAQP,EAAgB,OAAOC,EAAM,KAAK,IAElED,EAAgB,MAAM,KAAKC,EAAM,KAAK;AAAA,QAI7C;AAAA,MACL,CAAG;AAED,oBAAOG,EAAM,OACNA;AAAA,IACT,CAAC;AAED,WAAAI;AAAA,MACE,MAAMP,EAAM;AAAA,MACZ,CAACQ,MAAY;AACX,QAAAT,EAAgB,QAAQS;AAAA,MACzB;AAAA,IACH,GACAD;AAAA,MACE,MAAMR,EAAgB;AAAA,MACtB,MAAM;AAEJ,QAAIA,EAAgB,SAASC,EAAM,WACjCK,EAAK,kBAAkBN,EAAgB,KAAK;AAAA,MAE/C;AAAA,IACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
package/dist/checkbox.umd.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
(function(o,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue"),require("@fortawesome/vue-fontawesome"),require("@fortawesome/free-solid-svg-icons"),require("lodash/without")):typeof define=="function"&&define.amd?define(["exports","vue","@fortawesome/vue-fontawesome","@fortawesome/free-solid-svg-icons","lodash/without"],e):(o=typeof globalThis<"u"?globalThis:o||self,e(o.checkbox={},o.Vue,o.VueFontawesome,o.FreeSolidIcons,o.without))})(this,function(o,e,f,h,k){"use strict";const
|
|
1
|
+
(function(o,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue"),require("@fortawesome/vue-fontawesome"),require("@fortawesome/free-solid-svg-icons"),require("lodash/without")):typeof define=="function"&&define.amd?define(["exports","vue","@fortawesome/vue-fontawesome","@fortawesome/free-solid-svg-icons","lodash/without"],e):(o=typeof globalThis<"u"?globalThis:o||self,e(o.checkbox={},o.Vue,o.VueFontawesome,o.FreeSolidIcons,o.without))})(this,function(o,e,f,h,k){"use strict";const g="",B="",p=(c,n)=>{const s=c.__vccOpts||c;for(const[i,d]of n)s[i]=d;return s},b=["title"],m={class:"checkbox-input-container"},_=["value","disabled"],x={key:0,class:"checkbox-label"},y={key:1,class:"checkbox-label"},v=p(Object.assign({name:"Checkbox",inheritAttrs:!1},{__name:"Checkbox",props:{checked:{type:[Boolean,Array],default:!1},value:{type:[String,Object],default:""},label:{type:String,default:""},disabled:{type:Boolean,default:!1}},emits:["update:checked"],setup(c,{emit:n}){const s=c,i=e.useAttrs(),d=e.useSlots(),u=e.ref(!1),t=e.ref(s.checked),w=e.computed(()=>typeof t.value=="boolean"?t.value:t.value.includes(s.value)),C=e.computed(()=>{let a=Object.assign({},i,{onKeyup(l){n("keyup",l),l.key==="Enter"&&(n("click"),typeof t.value=="boolean"?t.value=!t.value:t.value.includes(s.value)?t.value=k(t.value,s.value):t.value.push(s.value))}});return delete a.class,a});return e.watch(()=>s.checked,a=>{t.value=a}),e.watch(()=>t.value,()=>{t.value!=s.checked&&n("update:checked",t.value)}),(a,l)=>(e.openBlock(),e.createElementBlock("label",{class:e.normalizeClass(["checkbox",{"checkbox-disabled":c.disabled},e.unref(i).class]),title:e.unref(i).title},[e.createElementVNode("div",m,[e.createElementVNode("span",{class:e.normalizeClass(["checkbox-input",{"checkbox-checked":w.value,"checkbox-focused":u.value}])},[e.createVNode(e.unref(f.FontAwesomeIcon),{class:"checkbox-input-icon",icon:e.unref(h.faCheck),"aria-hidden":"true"},null,8,["icon"]),e.withDirectives(e.createElementVNode("input",e.mergeProps(C.value,{"onUpdate:modelValue":l[0]||(l[0]=r=>t.value=r),type:"checkbox",value:c.value,disabled:c.disabled,onFocus:l[1]||(l[1]=r=>u.value=!0),onFocusout:l[2]||(l[2]=r=>u.value=!1)}),null,16,_),[[e.vModelCheckbox,t.value]])],2)]),e.unref(d).default?(e.openBlock(),e.createElementBlock("div",x,[e.renderSlot(a.$slots,"default",{},void 0,!0)])):(e.openBlock(),e.createElementBlock("span",y,e.toDisplayString(c.label),1))],10,b))}}),[["__scopeId","data-v-2a4214a3"]]);o.Checkbox=v,Object.defineProperty(o,Symbol.toStringTag,{value:"Module"})});
|
|
2
2
|
//# sourceMappingURL=checkbox.umd.js.map
|
package/dist/checkbox.umd.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checkbox.umd.js","sources":["../src/Checkbox.vue"],"sourcesContent":["<!-- eslint-disable vue/multi-word-component-names -->\n<template>\n <label\n :class=\"['checkbox', { 'checkbox-disabled': disabled }, defaultAttrs.class]\"\n :title=\"defaultAttrs.title\"\n >\n <span\n :class=\"[\n 'checkbox-input',\n { 'checkbox-checked': isChecked, 'checkbox-focused': focused },\n ]\"\n >\n <font-awesome-icon\n class=\"checkbox-input-icon\"\n :icon=\"faCheck\"\n aria-hidden=\"true\"\n />\n <input\n v-bind=\"attrs\"\n v-model=\"internalChecked\"\n type=\"checkbox\"\n :value=\"value\"\n :disabled=\"disabled\"\n @focus=\"focused = true\"\n @focusout=\"focused = false\"\n />\n </span>\n <div v-if=\"slots.default\" class=\"checkbox-label\">\n <slot />\n </div>\n <span v-else class=\"checkbox-label\">{{ label }}</span>\n </label>\n</template>\n\n<script setup>\nimport { useAttrs, useSlots, ref, computed, watch } from \"vue\";\nimport { FontAwesomeIcon } from \"@fortawesome/vue-fontawesome\";\nimport { faCheck } from \"@fortawesome/free-solid-svg-icons\";\nimport without from \"lodash/without\";\n\ndefineOptions({\n name: \"Checkbox\",\n inheritAttrs: false,\n});\nconst props = defineProps({\n checked: {\n type: [Boolean, Array],\n default: false,\n },\n value: {\n type: [String, Object],\n default: \"\",\n },\n label: {\n type: String,\n default: \"\",\n },\n disabled: {\n type: Boolean,\n default: false,\n },\n});\nconst emit = defineEmits([\"update:checked\"]);\nconst defaultAttrs = useAttrs();\nconst slots = useSlots();\nconst focused = ref(false);\nconst internalChecked = ref(props.checked);\n\nconst isChecked = computed(() => {\n if (typeof internalChecked.value === \"boolean\") {\n return internalChecked.value;\n } else {\n return internalChecked.value.includes(props.value);\n }\n});\nconst attrs = computed(() => {\n let attrs = Object.assign({}, defaultAttrs, {\n // Pressing the enter key gets handled like a click.\n onKeyup(event) {\n // Don't add the keyup and click events to defineEmits, otherwise it won't work.\n // eslint-disable-next-line vue/require-explicit-emits\n emit(\"keyup\", event);\n if (event.key === \"Enter\") {\n // eslint-disable-next-line vue/require-explicit-emits\n emit(\"click\");\n if (typeof internalChecked.value == \"boolean\") {\n internalChecked.value = !internalChecked.value;\n } else {\n if (internalChecked.value.includes(props.value)) {\n internalChecked.value = without(internalChecked.value, props.value);\n } else {\n internalChecked.value.push(props.value);\n }\n }\n }\n },\n });\n // Only assign events to the input element, classes are assigned to the outer label.\n delete attrs.class;\n return attrs;\n});\n\nwatch(\n () => props.checked,\n (checked) => {\n internalChecked.value = checked;\n }\n);\nwatch(\n () => internalChecked.value,\n () => {\n // Only emit the update:checked event if the mutation came from within the checkbox component.\n if (internalChecked.value != props.checked) {\n emit(\"update:checked\", internalChecked.value);\n }\n }\n);\n</script>\n\n<style>\n@import \"theme.css\";\n</style>\n\n<style lang=\"less\" scoped>\n.checkbox {\n position: relative;\n display: flex;\n align-items: center;\n padding: var(--checkbox-padding);\n\n .checkbox-input {\n display: flex;\n align-items: center;\n justify-content: center;\n height: var(--checkbox-height);\n width: var(--checkbox-width);\n box-sizing: border-box;\n border-radius: var(--checkbox-border-radius);\n border: var(--checkbox-border-width) solid;\n background-color: var(--checkbox-background-default-default-light);\n color: var(--checkbox-color-default-default-light);\n border-color: var(--checkbox-border-color-default-default-light);\n transition: var(--checkbox-transition);\n }\n &:hover .checkbox-input {\n background-color: var(--checkbox-background-default-hover-light);\n color: var(--checkbox-color-default-hover-light);\n border-color: var(--checkbox-border-color-default-hover-light);\n }\n &:active .checkbox-input {\n background-color: var(--checkbox-background-default-active-light);\n color: var(--checkbox-color-default-active-light);\n border-color: var(--checkbox-border-color-default-active-light);\n }\n\n .checkbox-checked {\n background-color: var(--checkbox-background-checked-default-light);\n color: var(--checkbox-color-checked-default-light);\n border-color: var(--checkbox-border-color-checked-default-light);\n }\n &:hover .checkbox-checked {\n background-color: var(--checkbox-background-checked-hover-light);\n color: var(--checkbox-color-checked-hover-light);\n border-color: var(--checkbox-border-color-checked-hover-light);\n }\n &:active .checkbox-checked {\n background-color: var(--checkbox-background-checked-active-light);\n color: var(--checkbox-color-checked-active-light);\n border-color: var(--checkbox-border-color-checked-active-light);\n }\n}\n.checkbox-disabled {\n color: var(--checkbox-color-checked-disabled-light);\n cursor: not-allowed;\n\n .checkbox-input {\n background-color: var(--checkbox-background-default-disabled-light);\n color: var(--checkbox-color-default-disabled-light);\n border-color: var(--checkbox-border-color-default-disabled-light);\n }\n &:hover .checkbox-input {\n background-color: var(--checkbox-background-default-disabled-light);\n color: var(--checkbox-color-default-disabled-light);\n border-color: var(--checkbox-border-color-default-disabled-light);\n }\n\n .checkbox-checked {\n background-color: var(--checkbox-background-checked-disabled-light);\n color: var(--checkbox-color-checked-disabled-light);\n border-color: var(--checkbox-border-color-checked-disabled-light);\n }\n &:hover .checkbox-checked {\n background-color: var(--checkbox-background-checked-disabled-light);\n color: var(--checkbox-color-checked-disabled-light);\n border-color: var(--checkbox-border-color-checked-disabled-light);\n }\n}\n.checkbox-input-icon {\n height: 100%;\n width: 100%;\n box-sizing: border-box;\n padding: 1px;\n}\n.checkbox-label {\n padding: var(--checkbox-label-padding);\n}\ninput {\n margin: 0;\n opacity: 0;\n position: absolute;\n pointer-events: none;\n}\n[data-whatinput=\"keyboard\"] .checkbox-focused {\n border-color: var(--checkbox-focus-outline-color) !important;\n}\n\n[dark-mode=\"true\"] {\n .checkbox {\n .checkbox-input {\n background-color: var(--checkbox-background-default-default-dark);\n color: var(--checkbox-color-default-default-dark);\n border-color: var(--checkbox-border-color-default-default-dark);\n }\n &:hover .checkbox-input {\n background-color: var(--checkbox-background-default-hover-dark);\n color: var(--checkbox-color-default-hover-dark);\n border-color: var(--checkbox-border-color-default-hover-dark);\n }\n &:active .checkbox-input {\n background-color: var(--checkbox-background-default-active-dark);\n color: var(--checkbox-color-default-active-dark);\n border-color: var(--checkbox-border-color-default-active-dark);\n }\n\n .checkbox-checked {\n background-color: var(--checkbox-background-checked-default-dark);\n color: var(--checkbox-color-checked-default-dark);\n border-color: var(--checkbox-border-color-checked-default-dark);\n }\n &:hover .checkbox-checked {\n background-color: var(--checkbox-background-checked-hover-dark);\n color: var(--checkbox-color-checked-hover-dark);\n border-color: var(--checkbox-border-color-checked-hover-dark);\n }\n &:active .checkbox-checked {\n background-color: var(--checkbox-background-checked-active-dark);\n color: var(--checkbox-color-checked-active-dark);\n border-color: var(--checkbox-border-color-checked-active-dark);\n }\n }\n .checkbox-disabled {\n color: var(--checkbox-color-checked-disabled-dark);\n\n .checkbox-input {\n background-color: var(--checkbox-background-default-disabled-dark);\n color: var(--checkbox-color-default-disabled-dark);\n border-color: var(--checkbox-border-color-default-disabled-dark);\n }\n &:hover .checkbox-input {\n background-color: var(--checkbox-background-default-disabled-dark);\n color: var(--checkbox-color-default-disabled-dark);\n border-color: var(--checkbox-border-color-default-disabled-dark);\n }\n\n .checkbox-checked {\n background-color: var(--checkbox-background-checked-disabled-dark);\n color: var(--checkbox-color-checked-disabled-dark);\n border-color: var(--checkbox-border-color-checked-disabled-dark);\n }\n &:hover .checkbox-checked {\n background-color: var(--checkbox-background-checked-disabled-dark);\n color: var(--checkbox-color-checked-disabled-dark);\n border-color: var(--checkbox-border-color-checked-disabled-dark);\n }\n }\n}\n</style>\n"],"names":["defaultAttrs","useAttrs","slots","useSlots","focused","ref","internalChecked","props","isChecked","computed","attrs","event","emit","without","vue","checked"],"mappings":"o8BA+DMA,EAAeC,EAAQ,SAAA,EACvBC,EAAQC,EAAQ,SAAA,EAChBC,EAAUC,EAAAA,IAAI,EAAK,EACnBC,EAAkBD,EAAG,IAACE,EAAM,OAAO,EAEnCC,EAAYC,EAAQ,SAAC,IACrB,OAAOH,EAAgB,OAAU,UAC5BA,EAAgB,MAEhBA,EAAgB,MAAM,SAASC,EAAM,KAAK,CAEpD,EACKG,EAAQD,EAAQ,SAAC,IAAM,CAC3B,IAAIC,EAAQ,OAAO,OAAO,CAAA,EAAIV,EAAc,CAE1C,QAAQW,EAAO,CAGbC,EAAK,QAASD,CAAK,EACfA,EAAM,MAAQ,UAEhBC,EAAK,OAAO,EACR,OAAON,EAAgB,OAAS,UAClCA,EAAgB,MAAQ,CAACA,EAAgB,MAErCA,EAAgB,MAAM,SAASC,EAAM,KAAK,EAC5CD,EAAgB,MAAQO,EAAQP,EAAgB,MAAOC,EAAM,KAAK,EAElED,EAAgB,MAAM,KAAKC,EAAM,KAAK,EAI7C,CACL,CAAG,EAED,cAAOG,EAAM,MACNA,CACT,CAAC,EAEI,OAAAI,EAAA,MACH,IAAMP,EAAM,QACXQ,GAAY,CACXT,EAAgB,MAAQS,CACzB,CACH,EACKD,EAAA,MACH,IAAMR,EAAgB,MACtB,IAAM,CAEAA,EAAgB,OAASC,EAAM,SACjCK,EAAK,iBAAkBN,EAAgB,KAAK,CAE/C,CACH"}
|
|
1
|
+
{"version":3,"file":"checkbox.umd.js","sources":["../src/Checkbox.vue"],"sourcesContent":["<!-- eslint-disable vue/multi-word-component-names -->\n<template>\n <label\n :class=\"['checkbox', { 'checkbox-disabled': disabled }, defaultAttrs.class]\"\n :title=\"defaultAttrs.title\"\n >\n <div class=\"checkbox-input-container\">\n <span\n :class=\"[\n 'checkbox-input',\n { 'checkbox-checked': isChecked, 'checkbox-focused': focused },\n ]\"\n >\n <font-awesome-icon\n class=\"checkbox-input-icon\"\n :icon=\"faCheck\"\n aria-hidden=\"true\"\n />\n <input\n v-bind=\"attrs\"\n v-model=\"internalChecked\"\n type=\"checkbox\"\n :value=\"value\"\n :disabled=\"disabled\"\n @focus=\"focused = true\"\n @focusout=\"focused = false\"\n />\n </span>\n </div>\n <div v-if=\"slots.default\" class=\"checkbox-label\">\n <slot />\n </div>\n <span v-else class=\"checkbox-label\">{{ label }}</span>\n </label>\n</template>\n\n<script setup>\nimport { useAttrs, useSlots, ref, computed, watch } from \"vue\";\nimport { FontAwesomeIcon } from \"@fortawesome/vue-fontawesome\";\nimport { faCheck } from \"@fortawesome/free-solid-svg-icons\";\nimport without from \"lodash/without\";\n\ndefineOptions({\n name: \"Checkbox\",\n inheritAttrs: false,\n});\nconst props = defineProps({\n checked: {\n type: [Boolean, Array],\n default: false,\n },\n value: {\n type: [String, Object],\n default: \"\",\n },\n label: {\n type: String,\n default: \"\",\n },\n disabled: {\n type: Boolean,\n default: false,\n },\n});\nconst emit = defineEmits([\"update:checked\"]);\nconst defaultAttrs = useAttrs();\nconst slots = useSlots();\nconst focused = ref(false);\nconst internalChecked = ref(props.checked);\n\nconst isChecked = computed(() => {\n if (typeof internalChecked.value === \"boolean\") {\n return internalChecked.value;\n } else {\n return internalChecked.value.includes(props.value);\n }\n});\nconst attrs = computed(() => {\n let attrs = Object.assign({}, defaultAttrs, {\n // Pressing the enter key gets handled like a click.\n onKeyup(event) {\n // Don't add the keyup and click events to defineEmits, otherwise it won't work.\n // eslint-disable-next-line vue/require-explicit-emits\n emit(\"keyup\", event);\n if (event.key === \"Enter\") {\n // eslint-disable-next-line vue/require-explicit-emits\n emit(\"click\");\n if (typeof internalChecked.value == \"boolean\") {\n internalChecked.value = !internalChecked.value;\n } else {\n if (internalChecked.value.includes(props.value)) {\n internalChecked.value = without(internalChecked.value, props.value);\n } else {\n internalChecked.value.push(props.value);\n }\n }\n }\n },\n });\n // Only assign events to the input element, classes are assigned to the outer label.\n delete attrs.class;\n return attrs;\n});\n\nwatch(\n () => props.checked,\n (checked) => {\n internalChecked.value = checked;\n }\n);\nwatch(\n () => internalChecked.value,\n () => {\n // Only emit the update:checked event if the mutation came from within the checkbox component.\n if (internalChecked.value != props.checked) {\n emit(\"update:checked\", internalChecked.value);\n }\n }\n);\n</script>\n\n<style>\n@import \"theme.css\";\n</style>\n\n<style lang=\"less\" scoped>\n.checkbox {\n position: relative;\n display: flex;\n padding: var(--checkbox-padding);\n\n .checkbox-input-container {\n padding: 5px;\n }\n .checkbox-input {\n display: flex;\n align-items: center;\n justify-content: center;\n height: var(--checkbox-height);\n width: var(--checkbox-width);\n box-sizing: border-box;\n border-radius: var(--checkbox-border-radius);\n border: var(--checkbox-border-width) solid;\n background-color: var(--checkbox-background-default-default-light);\n color: var(--checkbox-color-default-default-light);\n border-color: var(--checkbox-border-color-default-default-light);\n transition: var(--checkbox-transition);\n }\n &:hover .checkbox-input {\n background-color: var(--checkbox-background-default-hover-light);\n color: var(--checkbox-color-default-hover-light);\n border-color: var(--checkbox-border-color-default-hover-light);\n }\n &:active .checkbox-input {\n background-color: var(--checkbox-background-default-active-light);\n color: var(--checkbox-color-default-active-light);\n border-color: var(--checkbox-border-color-default-active-light);\n }\n\n .checkbox-checked {\n background-color: var(--checkbox-background-checked-default-light);\n color: var(--checkbox-color-checked-default-light);\n border-color: var(--checkbox-border-color-checked-default-light);\n }\n &:hover .checkbox-checked {\n background-color: var(--checkbox-background-checked-hover-light);\n color: var(--checkbox-color-checked-hover-light);\n border-color: var(--checkbox-border-color-checked-hover-light);\n }\n &:active .checkbox-checked {\n background-color: var(--checkbox-background-checked-active-light);\n color: var(--checkbox-color-checked-active-light);\n border-color: var(--checkbox-border-color-checked-active-light);\n }\n}\n.checkbox-disabled {\n color: var(--checkbox-color-checked-disabled-light);\n cursor: not-allowed;\n\n .checkbox-input {\n background-color: var(--checkbox-background-default-disabled-light);\n color: var(--checkbox-color-default-disabled-light);\n border-color: var(--checkbox-border-color-default-disabled-light);\n }\n &:hover .checkbox-input {\n background-color: var(--checkbox-background-default-disabled-light);\n color: var(--checkbox-color-default-disabled-light);\n border-color: var(--checkbox-border-color-default-disabled-light);\n }\n\n .checkbox-checked {\n background-color: var(--checkbox-background-checked-disabled-light);\n color: var(--checkbox-color-checked-disabled-light);\n border-color: var(--checkbox-border-color-checked-disabled-light);\n }\n &:hover .checkbox-checked {\n background-color: var(--checkbox-background-checked-disabled-light);\n color: var(--checkbox-color-checked-disabled-light);\n border-color: var(--checkbox-border-color-checked-disabled-light);\n }\n}\n.checkbox-input-icon {\n height: 100%;\n width: 100%;\n box-sizing: border-box;\n padding: 1px;\n}\n.checkbox-label {\n padding: var(--checkbox-label-padding);\n line-height: var(--checkbox-line-height);\n}\ninput {\n margin: 0;\n opacity: 0;\n position: absolute;\n pointer-events: none;\n}\n[data-whatinput=\"keyboard\"] .checkbox-focused {\n border-color: var(--checkbox-focus-outline-color) !important;\n}\n\n[dark-mode=\"true\"] {\n .checkbox {\n .checkbox-input {\n background-color: var(--checkbox-background-default-default-dark);\n color: var(--checkbox-color-default-default-dark);\n border-color: var(--checkbox-border-color-default-default-dark);\n }\n &:hover .checkbox-input {\n background-color: var(--checkbox-background-default-hover-dark);\n color: var(--checkbox-color-default-hover-dark);\n border-color: var(--checkbox-border-color-default-hover-dark);\n }\n &:active .checkbox-input {\n background-color: var(--checkbox-background-default-active-dark);\n color: var(--checkbox-color-default-active-dark);\n border-color: var(--checkbox-border-color-default-active-dark);\n }\n\n .checkbox-checked {\n background-color: var(--checkbox-background-checked-default-dark);\n color: var(--checkbox-color-checked-default-dark);\n border-color: var(--checkbox-border-color-checked-default-dark);\n }\n &:hover .checkbox-checked {\n background-color: var(--checkbox-background-checked-hover-dark);\n color: var(--checkbox-color-checked-hover-dark);\n border-color: var(--checkbox-border-color-checked-hover-dark);\n }\n &:active .checkbox-checked {\n background-color: var(--checkbox-background-checked-active-dark);\n color: var(--checkbox-color-checked-active-dark);\n border-color: var(--checkbox-border-color-checked-active-dark);\n }\n }\n .checkbox-disabled {\n color: var(--checkbox-color-checked-disabled-dark);\n\n .checkbox-input {\n background-color: var(--checkbox-background-default-disabled-dark);\n color: var(--checkbox-color-default-disabled-dark);\n border-color: var(--checkbox-border-color-default-disabled-dark);\n }\n &:hover .checkbox-input {\n background-color: var(--checkbox-background-default-disabled-dark);\n color: var(--checkbox-color-default-disabled-dark);\n border-color: var(--checkbox-border-color-default-disabled-dark);\n }\n\n .checkbox-checked {\n background-color: var(--checkbox-background-checked-disabled-dark);\n color: var(--checkbox-color-checked-disabled-dark);\n border-color: var(--checkbox-border-color-checked-disabled-dark);\n }\n &:hover .checkbox-checked {\n background-color: var(--checkbox-background-checked-disabled-dark);\n color: var(--checkbox-color-checked-disabled-dark);\n border-color: var(--checkbox-border-color-checked-disabled-dark);\n }\n }\n}\n</style>\n"],"names":["defaultAttrs","useAttrs","slots","useSlots","focused","ref","internalChecked","props","isChecked","computed","attrs","event","emit","without","vue","checked"],"mappings":"y+BAiEMA,EAAeC,EAAQ,SAAA,EACvBC,EAAQC,EAAQ,SAAA,EAChBC,EAAUC,EAAAA,IAAI,EAAK,EACnBC,EAAkBD,EAAG,IAACE,EAAM,OAAO,EAEnCC,EAAYC,EAAQ,SAAC,IACrB,OAAOH,EAAgB,OAAU,UAC5BA,EAAgB,MAEhBA,EAAgB,MAAM,SAASC,EAAM,KAAK,CAEpD,EACKG,EAAQD,EAAQ,SAAC,IAAM,CAC3B,IAAIC,EAAQ,OAAO,OAAO,CAAA,EAAIV,EAAc,CAE1C,QAAQW,EAAO,CAGbC,EAAK,QAASD,CAAK,EACfA,EAAM,MAAQ,UAEhBC,EAAK,OAAO,EACR,OAAON,EAAgB,OAAS,UAClCA,EAAgB,MAAQ,CAACA,EAAgB,MAErCA,EAAgB,MAAM,SAASC,EAAM,KAAK,EAC5CD,EAAgB,MAAQO,EAAQP,EAAgB,MAAOC,EAAM,KAAK,EAElED,EAAgB,MAAM,KAAKC,EAAM,KAAK,EAI7C,CACL,CAAG,EAED,cAAOG,EAAM,MACNA,CACT,CAAC,EAEI,OAAAI,EAAA,MACH,IAAMP,EAAM,QACXQ,GAAY,CACXT,EAAgB,MAAQS,CACzB,CACH,EACKD,EAAA,MACH,IAAMR,EAAgB,MACtB,IAAM,CAEAA,EAAgB,OAASC,EAAM,SACjCK,EAAK,iBAAkBN,EAAgB,KAAK,CAE/C,CACH"}
|
package/dist/style.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
:root{--checkbox-background-default-default-light: transparent;--checkbox-background-default-default-dark: transparent;--checkbox-background-default-hover-light: var(--go-color-n20);--checkbox-background-default-hover-dark: var(--go-color-dn50);--checkbox-background-default-active-light: var(--go-color-b200);--checkbox-background-default-active-dark: rgba(var(--go-color-b200-rgb), .2);--checkbox-background-default-disabled-light: var(--go-color-n20);--checkbox-background-default-disabled-dark: var(--go-color-dn50);--checkbox-background-checked-default-light: var(--go-color-b400);--checkbox-background-checked-default-dark: var(--go-color-b100);--checkbox-background-checked-hover-light: var(--go-color-b400);--checkbox-background-checked-hover-dark: var(--go-color-b200);--checkbox-background-checked-active-light: var(--go-color-b200);--checkbox-background-checked-active-dark: rgba(var(--go-color-b200-rgb), .2);--checkbox-background-checked-disabled-light: var(--go-color-n20);--checkbox-background-checked-disabled-dark: var(--go-color-dn50);--checkbox-color-default-default-light: transparent;--checkbox-color-default-default-dark: transparent;--checkbox-color-default-hover-light: transparent;--checkbox-color-default-hover-dark: transparent;--checkbox-color-default-active-light: var(--go-color-b200);--checkbox-color-default-active-dark: transparent;--checkbox-color-default-disabled-light: var(--go-color-n20);--checkbox-color-default-disabled-dark: var(--go-color-dn50);--checkbox-color-checked-default-light: var(--go-color-n0);--checkbox-color-checked-default-dark: var(--go-color-dn30);--checkbox-color-checked-hover-light: var(--go-color-n0);--checkbox-color-checked-hover-dark: var(--go-color-dn30);--checkbox-color-checked-active-light: var(--go-color-b500);--checkbox-color-checked-active-dark: var(--go-color-b100);--checkbox-color-checked-disabled-light: var(--go-color-n70);--checkbox-color-checked-disabled-dark: var(--go-color-dn100);--checkbox-border-color-default-default-light: var(--go-color-n40);--checkbox-border-color-default-default-dark: var(--go-color-dn70);--checkbox-border-color-default-hover-light: var(--go-color-n40);--checkbox-border-color-default-hover-dark: var(--go-color-dn70);--checkbox-border-color-default-active-light: var(--go-color-b200);--checkbox-border-color-default-active-dark: transparent;--checkbox-border-color-default-disabled-light: var(--go-color-n20);--checkbox-border-color-default-disabled-dark: var(--go-color-dn50);--checkbox-border-color-checked-default-light: var(--go-color-b400);--checkbox-border-color-checked-default-dark: var(--go-color-b100);--checkbox-border-color-checked-hover-light: var(--go-color-b400);--checkbox-border-color-checked-hover-dark: var(--go-color-b200);--checkbox-border-color-checked-active-light: var(--go-color-b200);--checkbox-border-color-checked-active-dark: transparent;--checkbox-border-color-checked-disabled-light: var(--go-color-n20);--checkbox-border-color-checked-disabled-dark: var(--go-color-dn50);--checkbox-height: 14px;--checkbox-width: 14px;--checkbox-padding: var(--size-0) var(--size-
|
|
1
|
+
:root{--checkbox-background-default-default-light: transparent;--checkbox-background-default-default-dark: transparent;--checkbox-background-default-hover-light: var(--go-color-n20);--checkbox-background-default-hover-dark: var(--go-color-dn50);--checkbox-background-default-active-light: var(--go-color-b200);--checkbox-background-default-active-dark: rgba(var(--go-color-b200-rgb), .2);--checkbox-background-default-disabled-light: var(--go-color-n20);--checkbox-background-default-disabled-dark: var(--go-color-dn50);--checkbox-background-checked-default-light: var(--go-color-b400);--checkbox-background-checked-default-dark: var(--go-color-b100);--checkbox-background-checked-hover-light: var(--go-color-b400);--checkbox-background-checked-hover-dark: var(--go-color-b200);--checkbox-background-checked-active-light: var(--go-color-b200);--checkbox-background-checked-active-dark: rgba(var(--go-color-b200-rgb), .2);--checkbox-background-checked-disabled-light: var(--go-color-n20);--checkbox-background-checked-disabled-dark: var(--go-color-dn50);--checkbox-color-default-default-light: transparent;--checkbox-color-default-default-dark: transparent;--checkbox-color-default-hover-light: transparent;--checkbox-color-default-hover-dark: transparent;--checkbox-color-default-active-light: var(--go-color-b200);--checkbox-color-default-active-dark: transparent;--checkbox-color-default-disabled-light: var(--go-color-n20);--checkbox-color-default-disabled-dark: var(--go-color-dn50);--checkbox-color-checked-default-light: var(--go-color-n0);--checkbox-color-checked-default-dark: var(--go-color-dn30);--checkbox-color-checked-hover-light: var(--go-color-n0);--checkbox-color-checked-hover-dark: var(--go-color-dn30);--checkbox-color-checked-active-light: var(--go-color-b500);--checkbox-color-checked-active-dark: var(--go-color-b100);--checkbox-color-checked-disabled-light: var(--go-color-n70);--checkbox-color-checked-disabled-dark: var(--go-color-dn100);--checkbox-border-color-default-default-light: var(--go-color-n40);--checkbox-border-color-default-default-dark: var(--go-color-dn70);--checkbox-border-color-default-hover-light: var(--go-color-n40);--checkbox-border-color-default-hover-dark: var(--go-color-dn70);--checkbox-border-color-default-active-light: var(--go-color-b200);--checkbox-border-color-default-active-dark: transparent;--checkbox-border-color-default-disabled-light: var(--go-color-n20);--checkbox-border-color-default-disabled-dark: var(--go-color-dn50);--checkbox-border-color-checked-default-light: var(--go-color-b400);--checkbox-border-color-checked-default-dark: var(--go-color-b100);--checkbox-border-color-checked-hover-light: var(--go-color-b400);--checkbox-border-color-checked-hover-dark: var(--go-color-b200);--checkbox-border-color-checked-active-light: var(--go-color-b200);--checkbox-border-color-checked-active-dark: transparent;--checkbox-border-color-checked-disabled-light: var(--go-color-n20);--checkbox-border-color-checked-disabled-dark: var(--go-color-dn50);--checkbox-height: 14px;--checkbox-width: 14px;--checkbox-padding: 2px var(--size-0);--checkbox-line-height: var(--size-24);--checkbox-label-padding: var(--size-0) var(--size-4);--checkbox-border-radius: var(--border-radius-regular);--checkbox-border-width: var(--border-width);--checkbox-transition: all var(--transition-100ms-ease-in-out);--checkbox-focus-outline-color: var(--focus-outline-color)}.checkbox[data-v-2a4214a3]{position:relative;display:flex;padding:var(--checkbox-padding)}.checkbox .checkbox-input-container[data-v-2a4214a3]{padding:5px}.checkbox .checkbox-input[data-v-2a4214a3]{display:flex;align-items:center;justify-content:center;height:var(--checkbox-height);width:var(--checkbox-width);box-sizing:border-box;border-radius:var(--checkbox-border-radius);border:var(--checkbox-border-width) solid;background-color:var(--checkbox-background-default-default-light);color:var(--checkbox-color-default-default-light);border-color:var(--checkbox-border-color-default-default-light);transition:var(--checkbox-transition)}.checkbox:hover .checkbox-input[data-v-2a4214a3]{background-color:var(--checkbox-background-default-hover-light);color:var(--checkbox-color-default-hover-light);border-color:var(--checkbox-border-color-default-hover-light)}.checkbox:active .checkbox-input[data-v-2a4214a3]{background-color:var(--checkbox-background-default-active-light);color:var(--checkbox-color-default-active-light);border-color:var(--checkbox-border-color-default-active-light)}.checkbox .checkbox-checked[data-v-2a4214a3]{background-color:var(--checkbox-background-checked-default-light);color:var(--checkbox-color-checked-default-light);border-color:var(--checkbox-border-color-checked-default-light)}.checkbox:hover .checkbox-checked[data-v-2a4214a3]{background-color:var(--checkbox-background-checked-hover-light);color:var(--checkbox-color-checked-hover-light);border-color:var(--checkbox-border-color-checked-hover-light)}.checkbox:active .checkbox-checked[data-v-2a4214a3]{background-color:var(--checkbox-background-checked-active-light);color:var(--checkbox-color-checked-active-light);border-color:var(--checkbox-border-color-checked-active-light)}.checkbox-disabled[data-v-2a4214a3]{color:var(--checkbox-color-checked-disabled-light);cursor:not-allowed}.checkbox-disabled .checkbox-input[data-v-2a4214a3],.checkbox-disabled:hover .checkbox-input[data-v-2a4214a3]{background-color:var(--checkbox-background-default-disabled-light);color:var(--checkbox-color-default-disabled-light);border-color:var(--checkbox-border-color-default-disabled-light)}.checkbox-disabled .checkbox-checked[data-v-2a4214a3],.checkbox-disabled:hover .checkbox-checked[data-v-2a4214a3]{background-color:var(--checkbox-background-checked-disabled-light);color:var(--checkbox-color-checked-disabled-light);border-color:var(--checkbox-border-color-checked-disabled-light)}.checkbox-input-icon[data-v-2a4214a3]{height:100%;width:100%;box-sizing:border-box;padding:1px}.checkbox-label[data-v-2a4214a3]{padding:var(--checkbox-label-padding);line-height:var(--checkbox-line-height)}input[data-v-2a4214a3]{margin:0;opacity:0;position:absolute;pointer-events:none}[data-whatinput=keyboard] .checkbox-focused[data-v-2a4214a3]{border-color:var(--checkbox-focus-outline-color)!important}[dark-mode=true] .checkbox .checkbox-input[data-v-2a4214a3]{background-color:var(--checkbox-background-default-default-dark);color:var(--checkbox-color-default-default-dark);border-color:var(--checkbox-border-color-default-default-dark)}[dark-mode=true] .checkbox:hover .checkbox-input[data-v-2a4214a3]{background-color:var(--checkbox-background-default-hover-dark);color:var(--checkbox-color-default-hover-dark);border-color:var(--checkbox-border-color-default-hover-dark)}[dark-mode=true] .checkbox:active .checkbox-input[data-v-2a4214a3]{background-color:var(--checkbox-background-default-active-dark);color:var(--checkbox-color-default-active-dark);border-color:var(--checkbox-border-color-default-active-dark)}[dark-mode=true] .checkbox .checkbox-checked[data-v-2a4214a3]{background-color:var(--checkbox-background-checked-default-dark);color:var(--checkbox-color-checked-default-dark);border-color:var(--checkbox-border-color-checked-default-dark)}[dark-mode=true] .checkbox:hover .checkbox-checked[data-v-2a4214a3]{background-color:var(--checkbox-background-checked-hover-dark);color:var(--checkbox-color-checked-hover-dark);border-color:var(--checkbox-border-color-checked-hover-dark)}[dark-mode=true] .checkbox:active .checkbox-checked[data-v-2a4214a3]{background-color:var(--checkbox-background-checked-active-dark);color:var(--checkbox-color-checked-active-dark);border-color:var(--checkbox-border-color-checked-active-dark)}[dark-mode=true] .checkbox-disabled[data-v-2a4214a3]{color:var(--checkbox-color-checked-disabled-dark)}[dark-mode=true] .checkbox-disabled .checkbox-input[data-v-2a4214a3],[dark-mode=true] .checkbox-disabled:hover .checkbox-input[data-v-2a4214a3]{background-color:var(--checkbox-background-default-disabled-dark);color:var(--checkbox-color-default-disabled-dark);border-color:var(--checkbox-border-color-default-disabled-dark)}[dark-mode=true] .checkbox-disabled .checkbox-checked[data-v-2a4214a3],[dark-mode=true] .checkbox-disabled:hover .checkbox-checked[data-v-2a4214a3]{background-color:var(--checkbox-background-checked-disabled-dark);color:var(--checkbox-color-checked-disabled-dark);border-color:var(--checkbox-border-color-checked-disabled-dark)}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@gospore/checkbox",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.30",
|
|
4
4
|
"description": "",
|
|
5
5
|
"author": "Gospore",
|
|
6
6
|
"type": "module",
|
|
@@ -37,5 +37,5 @@
|
|
|
37
37
|
"unplugin-vue-macros": "^2.2.1",
|
|
38
38
|
"vite": "^4.3.9"
|
|
39
39
|
},
|
|
40
|
-
"gitHead": "
|
|
40
|
+
"gitHead": "37e2daf22d8fdcff619384a71775d85b3eacb823"
|
|
41
41
|
}
|