@dimailn/vuetify 2.7.2-alpha0 → 2.7.2-alpha11
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/vuetify.css +45 -45
- package/dist/vuetify.css.map +1 -1
- package/dist/vuetify.js +141 -108
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +2 -2
- package/es5/components/VAutocomplete/VAutocomplete.js +1 -1
- package/es5/components/VAutocomplete/VAutocomplete.js.map +1 -1
- package/es5/components/VBadge/VBadge.js +3 -1
- package/es5/components/VBadge/VBadge.js.map +1 -1
- package/es5/components/VColorPicker/VColorPicker.js +6 -6
- package/es5/components/VColorPicker/VColorPicker.js.map +1 -1
- package/es5/components/VData/VData.js +14 -2
- package/es5/components/VData/VData.js.map +1 -1
- package/es5/components/VDataIterator/VDataIterator.js +3 -3
- package/es5/components/VDataIterator/VDataIterator.js.map +1 -1
- package/es5/components/VDataTable/VDataTable.js +1 -1
- package/es5/components/VDataTable/VDataTable.js.map +1 -1
- package/es5/components/VDataTable/VVirtualTable.js +1 -1
- package/es5/components/VDataTable/VVirtualTable.js.map +1 -1
- package/es5/components/VDataTable/mixins/header.js.map +1 -1
- package/es5/components/VDatePicker/VDatePicker.js +6 -6
- package/es5/components/VDatePicker/VDatePicker.js.map +1 -1
- package/es5/components/VDialog/VDialog.js +1 -1
- package/es5/components/VDialog/VDialog.js.map +1 -1
- package/es5/components/VExpansionPanel/VExpansionPanelContent.js +1 -1
- package/es5/components/VExpansionPanel/VExpansionPanelContent.js.map +1 -1
- package/es5/components/VExpansionPanel/VExpansionPanelHeader.js +1 -1
- package/es5/components/VExpansionPanel/VExpansionPanelHeader.js.map +1 -1
- package/es5/components/VForm/VForm.js +1 -1
- package/es5/components/VForm/VForm.js.map +1 -1
- package/es5/components/VGrid/VCol.js +3 -3
- package/es5/components/VGrid/VCol.js.map +1 -1
- package/es5/components/VImg/VImg.js +1 -1
- package/es5/components/VImg/VImg.js.map +1 -1
- package/es5/components/VInput/VInput.js +1 -1
- package/es5/components/VInput/VInput.js.map +1 -1
- package/es5/components/VItemGroup/VItemGroup.js +1 -1
- package/es5/components/VItemGroup/VItemGroup.js.map +1 -1
- package/es5/components/VList/VListGroup.js +1 -1
- package/es5/components/VList/VListGroup.js.map +1 -1
- package/es5/components/VMenu/VMenu.js +1 -1
- package/es5/components/VMenu/VMenu.js.map +1 -1
- package/es5/components/VOverlay/VOverlay.js +1 -1
- package/es5/components/VOverlay/VOverlay.js.map +1 -1
- package/es5/components/VRadioGroup/VRadioGroup.js +2 -2
- package/es5/components/VRadioGroup/VRadioGroup.js.map +1 -1
- package/es5/components/VSelect/VSelect.js +5 -6
- package/es5/components/VSelect/VSelect.js.map +1 -1
- package/es5/components/VSheet/VSheet.js +4 -4
- package/es5/components/VSheet/VSheet.js.map +1 -1
- package/es5/components/VStepper/VStepperContent.js +1 -1
- package/es5/components/VStepper/VStepperContent.js.map +1 -1
- package/es5/components/VStepper/VStepperStep.js +1 -1
- package/es5/components/VStepper/VStepperStep.js.map +1 -1
- package/es5/components/VSubheader/VSubheader.js +3 -3
- package/es5/components/VSubheader/VSubheader.js.map +1 -1
- package/es5/components/VTabs/VTab.js.map +1 -1
- package/es5/components/VTabs/VTabs.js +0 -1
- package/es5/components/VTabs/VTabs.js.map +1 -1
- package/es5/components/VTextField/VTextField.js +1 -1
- package/es5/components/VTextField/VTextField.js.map +1 -1
- package/es5/components/VTreeview/VTreeviewNode.js +1 -1
- package/es5/components/VTreeview/VTreeviewNode.js.map +1 -1
- package/es5/components/transitions/createTransition.js +9 -4
- package/es5/components/transitions/createTransition.js.map +1 -1
- package/es5/components/transitions/expand-transition.js +7 -7
- package/es5/components/transitions/expand-transition.js.map +1 -1
- package/es5/framework.js +1 -1
- package/es5/mixins/activatable/index.js +15 -8
- package/es5/mixins/activatable/index.js.map +1 -1
- package/es5/mixins/applicationable/index.js +1 -1
- package/es5/mixins/applicationable/index.js.map +1 -1
- package/es5/mixins/binds-attrs/index.js +1 -1
- package/es5/mixins/binds-attrs/index.js.map +1 -1
- package/es5/mixins/detachable/index.js +3 -3
- package/es5/mixins/detachable/index.js.map +1 -1
- package/es5/mixins/groupable/index.js +1 -1
- package/es5/mixins/groupable/index.js.map +1 -1
- package/es5/mixins/intersectable/index.js +2 -2
- package/es5/mixins/intersectable/index.js.map +1 -1
- package/es5/mixins/menuable/index.js +4 -1
- package/es5/mixins/menuable/index.js.map +1 -1
- package/es5/mixins/mouse/index.js +0 -1
- package/es5/mixins/mouse/index.js.map +1 -1
- package/es5/mixins/overlayable/index.js +5 -4
- package/es5/mixins/overlayable/index.js.map +1 -1
- package/es5/mixins/proxyable/index.js +0 -4
- package/es5/mixins/proxyable/index.js.map +1 -1
- package/es5/mixins/selectable/index.js +0 -4
- package/es5/mixins/selectable/index.js.map +1 -1
- package/es5/mixins/translatable/index.js +1 -1
- package/es5/mixins/translatable/index.js.map +1 -1
- package/es5/mixins/validatable/index.js +2 -2
- package/es5/mixins/validatable/index.js.map +1 -1
- package/es5/services/breakpoint/index.js +3 -1
- package/es5/services/breakpoint/index.js.map +1 -1
- package/lib/components/VAutocomplete/VAutocomplete.js +1 -1
- package/lib/components/VAutocomplete/VAutocomplete.js.map +1 -1
- package/lib/components/VBadge/VBadge.js +5 -5
- package/lib/components/VBadge/VBadge.js.map +1 -1
- package/lib/components/VColorPicker/VColorPicker.js +6 -6
- package/lib/components/VColorPicker/VColorPicker.js.map +1 -1
- package/lib/components/VData/VData.js +15 -2
- package/lib/components/VData/VData.js.map +1 -1
- package/lib/components/VDataIterator/VDataIterator.js +3 -3
- package/lib/components/VDataIterator/VDataIterator.js.map +1 -1
- package/lib/components/VDataTable/VDataTable.js +1 -1
- package/lib/components/VDataTable/VDataTable.js.map +1 -1
- package/lib/components/VDataTable/VVirtualTable.js +1 -1
- package/lib/components/VDataTable/VVirtualTable.js.map +1 -1
- package/lib/components/VDataTable/mixins/header.js.map +1 -1
- package/lib/components/VDatePicker/VDatePicker.js +6 -6
- package/lib/components/VDatePicker/VDatePicker.js.map +1 -1
- package/lib/components/VDialog/VDialog.js +1 -1
- package/lib/components/VDialog/VDialog.js.map +1 -1
- package/lib/components/VExpansionPanel/VExpansionPanelContent.js +1 -1
- package/lib/components/VExpansionPanel/VExpansionPanelContent.js.map +1 -1
- package/lib/components/VExpansionPanel/VExpansionPanelHeader.js +1 -1
- package/lib/components/VExpansionPanel/VExpansionPanelHeader.js.map +1 -1
- package/lib/components/VForm/VForm.js +1 -1
- package/lib/components/VForm/VForm.js.map +1 -1
- package/lib/components/VGrid/VCol.js +3 -3
- package/lib/components/VGrid/VCol.js.map +1 -1
- package/lib/components/VImg/VImg.js +1 -1
- package/lib/components/VImg/VImg.js.map +1 -1
- package/lib/components/VInput/VInput.js +1 -1
- package/lib/components/VInput/VInput.js.map +1 -1
- package/lib/components/VItemGroup/VItemGroup.js +1 -1
- package/lib/components/VItemGroup/VItemGroup.js.map +1 -1
- package/lib/components/VList/VListGroup.js +1 -1
- package/lib/components/VList/VListGroup.js.map +1 -1
- package/lib/components/VMenu/VMenu.js +1 -1
- package/lib/components/VMenu/VMenu.js.map +1 -1
- package/lib/components/VOverlay/VOverlay.js +1 -1
- package/lib/components/VOverlay/VOverlay.js.map +1 -1
- package/lib/components/VRadioGroup/VRadioGroup.js +2 -2
- package/lib/components/VRadioGroup/VRadioGroup.js.map +1 -1
- package/lib/components/VSelect/VSelect.js +5 -5
- package/lib/components/VSelect/VSelect.js.map +1 -1
- package/lib/components/VSheet/VSheet.js +1 -1
- package/lib/components/VSheet/VSheet.js.map +1 -1
- package/lib/components/VStepper/VStepperContent.js +1 -1
- package/lib/components/VStepper/VStepperContent.js.map +1 -1
- package/lib/components/VStepper/VStepperStep.js +1 -1
- package/lib/components/VStepper/VStepperStep.js.map +1 -1
- package/lib/components/VSubheader/VSubheader.js +2 -3
- package/lib/components/VSubheader/VSubheader.js.map +1 -1
- package/lib/components/VTabs/VTab.js.map +1 -1
- package/lib/components/VTabs/VTabs.js +0 -1
- package/lib/components/VTabs/VTabs.js.map +1 -1
- package/lib/components/VTextField/VTextField.js +1 -1
- package/lib/components/VTextField/VTextField.js.map +1 -1
- package/lib/components/VTreeview/VTreeviewNode.js +1 -1
- package/lib/components/VTreeview/VTreeviewNode.js.map +1 -1
- package/lib/components/transitions/createTransition.js +1 -1
- package/lib/components/transitions/createTransition.js.map +1 -1
- package/lib/components/transitions/expand-transition.js +7 -7
- package/lib/components/transitions/expand-transition.js.map +1 -1
- package/lib/framework.js +1 -1
- package/lib/mixins/activatable/index.js +17 -7
- package/lib/mixins/activatable/index.js.map +1 -1
- package/lib/mixins/applicationable/index.js +1 -1
- package/lib/mixins/applicationable/index.js.map +1 -1
- package/lib/mixins/binds-attrs/index.js +1 -1
- package/lib/mixins/binds-attrs/index.js.map +1 -1
- package/lib/mixins/detachable/index.js +3 -3
- package/lib/mixins/detachable/index.js.map +1 -1
- package/lib/mixins/groupable/index.js +1 -1
- package/lib/mixins/groupable/index.js.map +1 -1
- package/lib/mixins/intersectable/index.js +2 -2
- package/lib/mixins/intersectable/index.js.map +1 -1
- package/lib/mixins/menuable/index.js +5 -1
- package/lib/mixins/menuable/index.js.map +1 -1
- package/lib/mixins/mouse/index.js +0 -1
- package/lib/mixins/mouse/index.js.map +1 -1
- package/lib/mixins/overlayable/index.js +5 -4
- package/lib/mixins/overlayable/index.js.map +1 -1
- package/lib/mixins/proxyable/index.js +0 -4
- package/lib/mixins/proxyable/index.js.map +1 -1
- package/lib/mixins/selectable/index.js +0 -4
- package/lib/mixins/selectable/index.js.map +1 -1
- package/lib/mixins/translatable/index.js +1 -1
- package/lib/mixins/translatable/index.js.map +1 -1
- package/lib/mixins/validatable/index.js +2 -2
- package/lib/mixins/validatable/index.js.map +1 -1
- package/lib/services/breakpoint/index.js +3 -1
- package/lib/services/breakpoint/index.js.map +1 -1
- package/package.json +1 -1
- package/src/components/VAutocomplete/VAutocomplete.ts +1 -1
- package/src/components/VBadge/VBadge.ts +5 -5
- package/src/components/VBottomSheet/VBottomSheet.sass +1 -1
- package/src/components/VColorPicker/VColorPicker.ts +6 -6
- package/src/components/VData/VData.ts +12 -1
- package/src/components/VDataIterator/VDataIterator.ts +3 -3
- package/src/components/VDataTable/VDataTable.ts +1 -1
- package/src/components/VDataTable/VVirtualTable.ts +1 -1
- package/src/components/VDataTable/mixins/header.ts +2 -2
- package/src/components/VDatePicker/VDatePicker.ts +6 -6
- package/src/components/VDialog/VDialog.ts +1 -1
- package/src/components/VExpansionPanel/VExpansionPanelContent.ts +1 -1
- package/src/components/VExpansionPanel/VExpansionPanelHeader.ts +1 -1
- package/src/components/VForm/VForm.ts +1 -1
- package/src/components/VGrid/VCol.ts +2 -2
- package/src/components/VImg/VImg.ts +1 -1
- package/src/components/VInput/VInput.ts +1 -1
- package/src/components/VItemGroup/VItemGroup.ts +3 -3
- package/src/components/VList/VListGroup.ts +1 -1
- package/src/components/VMenu/VMenu.sass +2 -2
- package/src/components/VMenu/VMenu.ts +1 -0
- package/src/components/VOverlay/VOverlay.ts +1 -1
- package/src/components/VRadioGroup/VRadioGroup.ts +2 -2
- package/src/components/VSelect/VSelect.ts +2 -6
- package/src/components/VSheet/VSheet.ts +1 -1
- package/src/components/VSnackbar/VSnackbar.sass +2 -2
- package/src/components/VStepper/VStepperContent.ts +1 -1
- package/src/components/VStepper/VStepperStep.ts +1 -1
- package/src/components/VSubheader/VSubheader.ts +2 -2
- package/src/components/VTabs/VTab.ts +1 -1
- package/src/components/VTabs/VTabs.ts +0 -1
- package/src/components/VTextField/VTextField.ts +1 -1
- package/src/components/VTreeview/VTreeviewNode.ts +1 -1
- package/src/components/transitions/createTransition.ts +1 -2
- package/src/components/transitions/expand-transition.ts +7 -7
- package/src/mixins/activatable/index.ts +16 -8
- package/src/mixins/applicationable/index.ts +1 -1
- package/src/mixins/binds-attrs/index.ts +1 -1
- package/src/mixins/detachable/index.ts +5 -5
- package/src/mixins/groupable/index.ts +1 -1
- package/src/mixins/intersectable/index.ts +2 -2
- package/src/mixins/menuable/index.ts +4 -1
- package/src/mixins/mouse/index.ts +0 -1
- package/src/mixins/overlayable/index.ts +4 -5
- package/src/mixins/proxyable/index.ts +0 -5
- package/src/mixins/selectable/index.ts +0 -5
- package/src/mixins/translatable/index.ts +1 -1
- package/src/mixins/validatable/index.ts +2 -2
- package/src/services/breakpoint/index.ts +5 -0
- package/src/styles/generic/_transitions.scss +38 -38
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/mixins/proxyable/index.ts"],"names":[],"mappings":";;;;;;;;AAAA;;;;AAQM,SAAU,OAAV,GAEuB;AAAA,MAD3B,IAC2B,uEADpB,YACoB;AAAA,MAA3B,KAA2B,uEAAnB,mBAAmB;AAE3B,SAAO,0BAAgB;AACrB,IAAA,IAAI,EAAE,WADe;AAGrB,IAAA,KAAK,
|
|
1
|
+
{"version":3,"sources":["../../../src/mixins/proxyable/index.ts"],"names":[],"mappings":";;;;;;;;AAAA;;;;AAQM,SAAU,OAAV,GAEuB;AAAA,MAD3B,IAC2B,uEADpB,YACoB;AAAA,MAA3B,KAA2B,uEAAnB,mBAAmB;AAE3B,SAAO,0BAAgB;AACrB,IAAA,IAAI,EAAE,WADe;AAGrB,IAAA,KAAK,sBACF,IADE,EACK;AACN,MAAA,QAAQ,EAAE;AADJ,KADL,CAHgB;AASrB,IAAA,IATqB,kBASjB;AACF,aAAO;AACL,QAAA,iBAAiB,EAAE,KAAK,IAAL;AADd,OAAP;AAGD,KAboB;AAerB,IAAA,QAAQ,EAAE;AACR,MAAA,aAAa,EAAE;AACb,QAAA,GADa,iBACV;AACD,iBAAO,KAAK,iBAAZ;AACD,SAHY;AAIb,QAAA,GAJa,eAIR,GAJQ,EAIA;AACX,cAAI,GAAG,KAAK,KAAK,iBAAjB,EAAoC;AAEpC,eAAK,iBAAL,GAAyB,GAAzB;AAEA,eAAK,KAAL,CAAW,KAAX,EAAkB,GAAlB;AACD;AAVY;AADP,KAfW;AA8BrB,IAAA,KAAK,sBACF,IADE,YACK,GADL,EACQ;AACT,WAAK,iBAAL,GAAyB,GAAzB;AACD,KAHE;AA9BgB,GAAhB,CAAP;AAoCD;AAED;;;AACA,IAAM,SAAS,GAAG,OAAO,EAAzB;eAEe,S","sourcesContent":["import { defineComponent, VueConstructor, App } from 'vue'\n\nexport type Proxyable<T extends string = 'value'> = VueConstructor<App & {\n internalLazyValue: unknown\n internalValue: unknown\n} & Record<T, any>>\n\nexport function factory<T extends string = 'value'> (prop?: T, event?: string): Proxyable<T>\nexport function factory (\n prop = 'modelValue',\n event = 'update:modelValue'\n) {\n return defineComponent({\n name: 'proxyable',\n\n props: {\n [prop]: {\n required: false,\n },\n },\n\n data () {\n return {\n internalLazyValue: this[prop] as unknown,\n }\n },\n\n computed: {\n internalValue: {\n get (): unknown {\n return this.internalLazyValue\n },\n set (val: any) {\n if (val === this.internalLazyValue) return\n\n this.internalLazyValue = val\n\n this.$emit(event, val)\n },\n },\n },\n\n watch: {\n [prop] (val) {\n this.internalLazyValue = val\n },\n },\n })\n}\n\n/* eslint-disable-next-line @typescript-eslint/no-redeclare */\nconst Proxyable = factory()\n\nexport default Proxyable\n"],"sourceRoot":"","file":"index.js"}
|
|
@@ -32,10 +32,6 @@ function prevent(e) {
|
|
|
32
32
|
|
|
33
33
|
var _default = (0, _mixins.default)(_VInput.default, _rippleable.default, _comparable.default).extend({
|
|
34
34
|
name: 'selectable',
|
|
35
|
-
model: {
|
|
36
|
-
prop: 'inputValue',
|
|
37
|
-
event: 'change'
|
|
38
|
-
},
|
|
39
35
|
props: {
|
|
40
36
|
id: String,
|
|
41
37
|
value: null,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/mixins/selectable/index.ts"],"names":[],"mappings":";;;;;;;;AACA;;AAGA;;AACA;;AAGA;;AACA;;;;;;;;;;AAEM,SAAU,OAAV,CAAmB,CAAnB,EAA2B;AAC/B,EAAA,CAAC,CAAC,cAAF;AACD;AAED;;;eACe,qBACb,eADa,EAEb,mBAFa,EAGb,mBAHa,EAIb,MAJa,CAIN;AACP,EAAA,IAAI,EAAE,YADC;AAGP,EAAA,KAAK,EAAE;AACL,IAAA,
|
|
1
|
+
{"version":3,"sources":["../../../src/mixins/selectable/index.ts"],"names":[],"mappings":"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","sourcesContent":["// Components\nimport VInput from '../../components/VInput'\n\n// Mixins\nimport Rippleable from '../rippleable'\nimport Comparable from '../comparable'\n\n// Utilities\nimport mixins from '../../util/mixins'\nimport {h} from 'vue'\n\nexport function prevent (e: Event) {\n e.preventDefault()\n}\n\n/* @vue/component */\nexport default mixins(\n VInput,\n Rippleable,\n Comparable\n).extend({\n name: 'selectable',\n\n props: {\n id: String,\n value: null as any,\n falseValue: null as any,\n trueValue: null as any,\n multiple: {\n type: Boolean,\n default: null,\n },\n label: String,\n },\n\n data () {\n return {\n hasColor: this.modelValue,\n lazyValue: this.modelValue,\n }\n },\n\n computed: {\n computedColor (): string | undefined {\n if (!this.isActive) return undefined\n if (this.color) return this.color\n if (this.isDark && !this.appIsDark) return 'white'\n return 'primary'\n },\n isMultiple (): boolean {\n return this.multiple === true || (this.multiple === null && Array.isArray(this.internalValue))\n },\n isActive (): boolean {\n const value = this.value\n const input = this.internalValue\n\n if (this.isMultiple) {\n if (!Array.isArray(input)) return false\n\n return input.some(item => this.valueComparator(item, value))\n }\n\n if (this.trueValue === undefined || this.falseValue === undefined) {\n return value\n ? this.valueComparator(value, input)\n : Boolean(input)\n }\n\n return this.valueComparator(input, this.trueValue)\n },\n isDirty (): boolean {\n return this.isActive\n },\n rippleState (): string | undefined {\n return !this.isDisabled && !this.validationState\n ? undefined\n : this.validationState\n },\n },\n\n watch: {\n modelValue (val) {\n this.lazyValue = val\n this.hasColor = val\n },\n },\n\n methods: {\n genLabel () {\n const label = VInput.methods.genLabel.call(this)\n\n if (!label) return label\n\n // Label shouldn't cause the input to focus\n label!.onClick = prevent\n\n return label\n },\n genInput (type: string, attrs: object) {\n return h('input', {\n ...Object.assign({\n 'aria-checked': this.isActive.toString(),\n disabled: this.isDisabled,\n id: this.computedId,\n role: type,\n type,\n }, attrs),\n value: this.value,\n checked: this.isActive,\n onBlur: this.onBlur,\n onChange: this.onChange,\n onFocus: this.onFocus,\n onKeydown: this.onKeydown,\n onClick: prevent,\n ref: 'input'\n })\n },\n onClick (e: Event) {\n this.onChange()\n this.$emit('click', e)\n },\n onChange () {\n if (!this.isInteractive) return\n\n const value = this.value\n let input = this.internalValue\n\n if (this.isMultiple) {\n if (!Array.isArray(input)) {\n input = []\n }\n\n const length = input.length\n\n input = input.filter((item: any) => !this.valueComparator(item, value))\n\n if (input.length === length) {\n input.push(value)\n }\n } else if (this.trueValue !== undefined && this.falseValue !== undefined) {\n input = this.valueComparator(input, this.trueValue) ? this.falseValue : this.trueValue\n } else if (value) {\n input = this.valueComparator(input, value) ? null : value\n } else {\n input = !input\n }\n\n this.validate(true, input)\n this.internalValue = input\n this.hasColor = input\n },\n onFocus (e: FocusEvent) {\n this.isFocused = true\n this.$emit('focus', e)\n },\n onBlur (e: FocusEvent) {\n this.isFocused = false\n this.$emit('blur', e)\n },\n /** @abstract */\n onKeydown (e: Event) {},\n },\n})\n"],"sourceRoot":"","file":"index.js"}
|
|
@@ -28,7 +28,7 @@ var _default = (0, _vue.defineComponent)({
|
|
|
28
28
|
return this.objHeight();
|
|
29
29
|
}
|
|
30
30
|
},
|
|
31
|
-
|
|
31
|
+
beforeUnmount: function beforeUnmount() {
|
|
32
32
|
window.removeEventListener('scroll', this.translate, false);
|
|
33
33
|
window.removeEventListener('resize', this.translate, false);
|
|
34
34
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/mixins/translatable/index.ts"],"names":[],"mappings":";;;;;;;AAAA;;eAEe,0BAAgB;AAC7B,EAAA,IAAI,EAAE,cADuB;AAG7B,EAAA,KAAK,EAAE;AACL,IAAA,MAAM,EAAE;AADH,GAHsB;AAO7B,EAAA,IAAI,EAAE;AAAA,WAAO;AACX,MAAA,WAAW,EAAE,CADF;AAEX,MAAA,QAAQ,EAAE,CAFC;AAGX,MAAA,YAAY,EAAE,CAHH;AAIX,MAAA,eAAe,EAAE,CAJN;AAKX,MAAA,SAAS,EAAE,CALA;AAMX,MAAA,YAAY,EAAE,CANH;AAOX,MAAA,YAAY,EAAE;AAPH,KAAP;AAAA,GAPuB;AAiB7B,EAAA,QAAQ,EAAE;AACR,IAAA,SADQ,uBACC;AACP,aAAO,KAAK,SAAL,EAAP;AACD;AAHO,GAjBmB;AAuB7B,EAAA,aAvB6B,2BAuBhB;AACX,IAAA,MAAM,CAAC,mBAAP,CAA2B,QAA3B,EAAqC,KAAK,SAA1C,EAAqD,KAArD;AACA,IAAA,MAAM,CAAC,mBAAP,CAA2B,QAA3B,EAAqC,KAAK,SAA1C,EAAqD,KAArD;AACD,GA1B4B;AA4B7B,EAAA,OAAO,EAAE;AACP,IAAA,cADO,4BACO;AACZ,UAAM,MAAM,GAAG,KAAK,GAAL,CAAS,qBAAT,EAAf;AAEA,WAAK,SAAL,GAAiB,MAAM,CAAC,WAAxB;AACA,WAAK,YAAL,GAAoB,KAAK,SAAL,GAAiB,KAAK,MAA1C;AACA,WAAK,WAAL,GAAmB,MAAM,CAAC,GAAP,GAAa,KAAK,SAArC;AACA,WAAK,YAAL,GAAoB,MAAM,CAAC,WAA3B;AACA,WAAK,YAAL,GAAoB,KAAK,SAAL,GAAiB,KAAK,YAA1C;AACD,KATM;AAUP,IAAA,SAVO,uBAUE;AACP,MAAA,MAAM,CAAC,gBAAP,CAAwB,QAAxB,EAAkC,KAAK,SAAvC,EAAkD,KAAlD;AACA,MAAA,MAAM,CAAC,gBAAP,CAAwB,QAAxB,EAAkC,KAAK,SAAvC,EAAkD,KAAlD;AACD,KAbM;;AAcP;AACA,IAAA,SAfO,uBAeE;AACP,YAAM,IAAI,KAAJ,CAAU,mBAAV,CAAN;AACD,KAjBM;AAkBP,IAAA,SAlBO,uBAkBE;AACP,WAAK,cAAL;AAEA,WAAK,eAAL,GACE,CAAC,KAAK,YAAL,GAAoB,KAAK,WAA1B,KACC,QAAQ,CAAC,KAAK,MAAN,CAAR,GAAwB,KAAK,YAD9B,CADF;AAKA,WAAK,QAAL,GAAgB,IAAI,CAAC,KAAL,CAAW,KAAK,YAAL,GAAoB,KAAK,eAApC,CAAhB;AACD;AA3BM;AA5BoB,CAAhB,C","sourcesContent":["import {defineComponent} from 'vue'\n\nexport default defineComponent({\n name: 'translatable',\n\n props: {\n height: Number,\n },\n\n data: () => ({\n elOffsetTop: 0,\n parallax: 0,\n parallaxDist: 0,\n percentScrolled: 0,\n scrollTop: 0,\n windowHeight: 0,\n windowBottom: 0,\n }),\n\n computed: {\n imgHeight (): number {\n return this.objHeight()\n },\n },\n\n
|
|
1
|
+
{"version":3,"sources":["../../../src/mixins/translatable/index.ts"],"names":[],"mappings":";;;;;;;AAAA;;eAEe,0BAAgB;AAC7B,EAAA,IAAI,EAAE,cADuB;AAG7B,EAAA,KAAK,EAAE;AACL,IAAA,MAAM,EAAE;AADH,GAHsB;AAO7B,EAAA,IAAI,EAAE;AAAA,WAAO;AACX,MAAA,WAAW,EAAE,CADF;AAEX,MAAA,QAAQ,EAAE,CAFC;AAGX,MAAA,YAAY,EAAE,CAHH;AAIX,MAAA,eAAe,EAAE,CAJN;AAKX,MAAA,SAAS,EAAE,CALA;AAMX,MAAA,YAAY,EAAE,CANH;AAOX,MAAA,YAAY,EAAE;AAPH,KAAP;AAAA,GAPuB;AAiB7B,EAAA,QAAQ,EAAE;AACR,IAAA,SADQ,uBACC;AACP,aAAO,KAAK,SAAL,EAAP;AACD;AAHO,GAjBmB;AAuB7B,EAAA,aAvB6B,2BAuBhB;AACX,IAAA,MAAM,CAAC,mBAAP,CAA2B,QAA3B,EAAqC,KAAK,SAA1C,EAAqD,KAArD;AACA,IAAA,MAAM,CAAC,mBAAP,CAA2B,QAA3B,EAAqC,KAAK,SAA1C,EAAqD,KAArD;AACD,GA1B4B;AA4B7B,EAAA,OAAO,EAAE;AACP,IAAA,cADO,4BACO;AACZ,UAAM,MAAM,GAAG,KAAK,GAAL,CAAS,qBAAT,EAAf;AAEA,WAAK,SAAL,GAAiB,MAAM,CAAC,WAAxB;AACA,WAAK,YAAL,GAAoB,KAAK,SAAL,GAAiB,KAAK,MAA1C;AACA,WAAK,WAAL,GAAmB,MAAM,CAAC,GAAP,GAAa,KAAK,SAArC;AACA,WAAK,YAAL,GAAoB,MAAM,CAAC,WAA3B;AACA,WAAK,YAAL,GAAoB,KAAK,SAAL,GAAiB,KAAK,YAA1C;AACD,KATM;AAUP,IAAA,SAVO,uBAUE;AACP,MAAA,MAAM,CAAC,gBAAP,CAAwB,QAAxB,EAAkC,KAAK,SAAvC,EAAkD,KAAlD;AACA,MAAA,MAAM,CAAC,gBAAP,CAAwB,QAAxB,EAAkC,KAAK,SAAvC,EAAkD,KAAlD;AACD,KAbM;;AAcP;AACA,IAAA,SAfO,uBAeE;AACP,YAAM,IAAI,KAAJ,CAAU,mBAAV,CAAN;AACD,KAjBM;AAkBP,IAAA,SAlBO,uBAkBE;AACP,WAAK,cAAL;AAEA,WAAK,eAAL,GACE,CAAC,KAAK,YAAL,GAAoB,KAAK,WAA1B,KACC,QAAQ,CAAC,KAAK,MAAN,CAAR,GAAwB,KAAK,YAD9B,CADF;AAKA,WAAK,QAAL,GAAgB,IAAI,CAAC,KAAL,CAAW,KAAK,YAAL,GAAoB,KAAK,eAApC,CAAhB;AACD;AA3BM;AA5BoB,CAAhB,C","sourcesContent":["import {defineComponent} from 'vue'\n\nexport default defineComponent({\n name: 'translatable',\n\n props: {\n height: Number,\n },\n\n data: () => ({\n elOffsetTop: 0,\n parallax: 0,\n parallaxDist: 0,\n percentScrolled: 0,\n scrollTop: 0,\n windowHeight: 0,\n windowBottom: 0,\n }),\n\n computed: {\n imgHeight (): number {\n return this.objHeight()\n },\n },\n\n beforeUnmount () {\n window.removeEventListener('scroll', this.translate, false)\n window.removeEventListener('resize', this.translate, false)\n },\n\n methods: {\n calcDimensions () {\n const offset = this.$el.getBoundingClientRect()\n\n this.scrollTop = window.pageYOffset\n this.parallaxDist = this.imgHeight - this.height\n this.elOffsetTop = offset.top + this.scrollTop\n this.windowHeight = window.innerHeight\n this.windowBottom = this.scrollTop + this.windowHeight\n },\n listeners () {\n window.addEventListener('scroll', this.translate, false)\n window.addEventListener('resize', this.translate, false)\n },\n /** @abstract **/\n objHeight (): number {\n throw new Error('Not implemented !')\n },\n translate () {\n this.calcDimensions()\n\n this.percentScrolled = (\n (this.windowBottom - this.elOffsetTop) /\n (parseInt(this.height) + this.windowHeight)\n )\n\n this.parallax = Math.round(this.parallaxDist * this.percentScrolled)\n },\n },\n})\n"],"sourceRoot":"","file":"index.js"}
|
|
@@ -207,7 +207,7 @@ var _default2 = baseMixins.extend({
|
|
|
207
207
|
this.$emit('update:error', val);
|
|
208
208
|
}
|
|
209
209
|
},
|
|
210
|
-
|
|
210
|
+
modelValue: function modelValue(val) {
|
|
211
211
|
this.lazyValue = val;
|
|
212
212
|
}
|
|
213
213
|
},
|
|
@@ -217,7 +217,7 @@ var _default2 = baseMixins.extend({
|
|
|
217
217
|
created: function created() {
|
|
218
218
|
this.form && this.form.register(this);
|
|
219
219
|
},
|
|
220
|
-
|
|
220
|
+
beforeUnmount: function beforeUnmount() {
|
|
221
221
|
this.form && this.form.unregister(this);
|
|
222
222
|
},
|
|
223
223
|
methods: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/mixins/validatable/index.ts"],"names":[],"mappings":";;;;;;;AACA;;AACA;;AACA;;AAGA;;AACA;;AACA;;;;;;AAMA,IAAM,UAAU,GAAG,qBACjB,kBADiB,EAEjB,yBAA+B,MAA/B,CAFiB,EAGjB,kBAHiB,CAAnB;AAMA;;gBACe,UAAU,CAAC,MAAX,CAAkB;AAC/B,EAAA,IAAI,EAAE,aADyB;AAG/B,EAAA,KAAK,EAAE;AACL,IAAA,QAAQ,EAAE;AACR,MAAA,IAAI,EAAE,OADE;AAER,MAAA,OAAO,EAAE;AAFD,KADL;AAKL,IAAA,KAAK,EAAE,OALF;AAML,IAAA,UAAU,EAAE;AACV,MAAA,IAAI,EAAE,CAAC,MAAD,EAAS,MAAT,CADI;AAEV,MAAA,OAAO,EAAE;AAFC,KANP;AAUL,IAAA,aAAa,EAAE;AACb,MAAA,IAAI,EAAE,CAAC,MAAD,EAAS,KAAT,CADO;AAEb,MAAA,OAAO,EAAE;AAAA,eAAM,EAAN;AAAA;AAFI,KAVV;AAcL,IAAA,QAAQ,EAAE;AACR,MAAA,IAAI,EAAE,CAAC,MAAD,EAAS,KAAT,CADE;AAER,MAAA,OAAO,EAAE;AAAA,eAAM,EAAN;AAAA;AAFD,KAdL;AAkBL,IAAA,QAAQ,EAAE;AACR,MAAA,IAAI,EAAE,OADE;AAER,MAAA,OAAO,EAAE;AAFD,KAlBL;AAsBL,IAAA,KAAK,EAAE;AACL,MAAA,IAAI,EAAE,KADD;AAEL,MAAA,OAAO,EAAE;AAAA,eAAM,EAAN;AAAA;AAFJ,KAtBF;AA0BL,IAAA,OAAO,EAAE,OA1BJ;AA2BL,IAAA,eAAe,EAAE;AACf,MAAA,IAAI,EAAE,CAAC,MAAD,EAAS,KAAT,CADS;AAEf,MAAA,OAAO,EAAE;AAAA,eAAM,EAAN;AAAA;AAFM,KA3BZ;AA+BL,IAAA,cAAc,EAAE,OA/BX;AAgCL,IAAA,UAAU,EAAE;AAAE,MAAA,QAAQ,EAAE;AAAZ;AAhCP,GAHwB;AAsC/B,EAAA,IAtC+B,kBAsC3B;AACF,WAAO;AACL,MAAA,WAAW,EAAE,EADR;AAEL,MAAA,QAAQ,EAAE,KAFL;AAGL,MAAA,UAAU,EAAE,KAHP;AAIL,MAAA,QAAQ,EAAE,KAJL;AAKL,MAAA,SAAS,EAAE,KALN;AAML,MAAA,WAAW,EAAE,KANR;AAOL,MAAA,SAAS,EAAE,KAAK,KAPX;AAQL,MAAA,KAAK,EAAE;AARF,KAAP;AAUD,GAjD8B;AAmD/B,EAAA,QAAQ,EAAE;AACR,IAAA,aADQ,2BACK;AACX,UAAI,KAAK,UAAT,EAAqB,OAAO,SAAP;AACrB,UAAI,KAAK,KAAT,EAAgB,OAAO,KAAK,KAAZ,CAFL,CAGX;AACA;AACA;AACA;AACA;;AACA,UAAI,KAAK,MAAL,IAAe,CAAC,KAAK,SAAzB,EAAoC,OAAO,OAAP,CAApC,KACK,OAAO,SAAP;AACN,KAXO;AAYR,IAAA,QAZQ,sBAYA;AACN,aACE,KAAK,qBAAL,CAA2B,MAA3B,GAAoC,CAApC,IACA,KAAK,WAAL,CAAiB,MAAjB,GAA0B,CAD1B,IAEA,KAAK,KAHP;AAKD,KAlBO;AAmBR;AACA;AACA,IAAA,UArBQ,wBAqBE;AACR,aACE,KAAK,uBAAL,CAA6B,MAA7B,GAAsC,CAAtC,IACA,KAAK,OAFP;AAID,KA1BO;AA2BR,IAAA,aA3BQ,2BA2BK;AACX,aAAO,KAAK,qBAAL,CAA2B,MAA3B,GAAoC,CAApC,IAAyC,KAAK,KAArD;AACD,KA7BO;AA8BR,IAAA,WA9BQ,yBA8BG;AACT,aAAO,KAAK,gBAAL,CAAsB,MAAtB,GAA+B,CAAtC;AACD,KAhCO;AAiCR,IAAA,QAjCQ,sBAiCA;AACN,UAAI,KAAK,UAAT,EAAqB,OAAO,KAAP;AAErB,aACE,KAAK,UAAL,IACC,KAAK,cAAL,IAAuB,KAAK,QAF/B;AAID,KAxCO;AAyCR,IAAA,qBAzCQ,mCAyCa;AACnB,aAAO,KAAK,mBAAL,CAAyB,KAAK,aAA9B,CAAP;AACD,KA3CO;AA4CR,IAAA,gBA5CQ,8BA4CQ;AACd,aAAO,KAAK,mBAAL,CAAyB,KAAK,QAA9B,CAAP;AACD,KA9CO;AA+CR,IAAA,uBA/CQ,qCA+Ce;AACrB,aAAO,KAAK,mBAAL,CAAyB,KAAK,eAA9B,CAAP;AACD,KAjDO;AAkDR,IAAA,aAAa,EAAE;AACb,MAAA,GADa,iBACV;AACD,eAAO,KAAK,SAAZ;AACD,OAHY;AAIb,MAAA,GAJa,eAIR,GAJQ,EAIA;AACX,aAAK,SAAL,GAAiB,GAAjB;AAEA,aAAK,KAAL,CAAW,OAAX,EAAoB,GAApB;AACD;AARY,KAlDP;AA4DR,IAAA,UA5DQ,wBA4DE;;;AACR,aAAO,CAAA,EAAA,GAAA,KAAK,QAAL,MAAa,IAAb,IAAa,EAAA,KAAA,KAAA,CAAb,GAAa,EAAb,GACL,CAAC,CAAC,KAAK,IAAP,IACA,KAAK,IAAL,CAAU,QAFZ;AAID,KAjEO;AAkER,IAAA,aAlEQ,2BAkEK;AACX,aAAO,CAAC,KAAK,UAAN,IAAoB,CAAC,KAAK,UAAjC;AACD,KApEO;AAqER,IAAA,UArEQ,wBAqEE;;;AACR,aAAO,CAAA,EAAA,GAAA,KAAK,QAAL,MAAa,IAAb,IAAa,EAAA,KAAA,KAAA,CAAb,GAAa,EAAb,GACL,CAAC,CAAC,KAAK,IAAP,IACA,KAAK,IAAL,CAAU,QAFZ;AAID,KA1EO;AA2ER,IAAA,cA3EQ,4BA2EM;AACZ,UAAI,KAAK,aAAT,EAAwB,OAAO,IAAP;AACxB,UAAI,KAAK,WAAT,EAAsB,OAAO,KAAP;AAEtB,aAAO,KAAK,cAAL,GACH,KAAK,UAAL,IAAmB,CAAC,KAAK,SADtB,GAEF,KAAK,QAAL,IAAiB,KAAK,UAF3B;AAGD,KAlFO;AAmFR,IAAA,WAnFQ,yBAmFG;AACT,aAAO,KAAK,gBAAL,CAAsB,KAAtB,CAA4B,CAA5B,EAA+B,MAAM,CAAC,KAAK,UAAN,CAArC,CAAP;AACD,KArFO;AAsFR,IAAA,eAtFQ,6BAsFO;AACb,UAAI,KAAK,UAAT,EAAqB,OAAO,SAAP;AACrB,UAAI,KAAK,QAAL,IAAiB,KAAK,cAA1B,EAA0C,OAAO,OAAP;AAC1C,UAAI,KAAK,UAAT,EAAqB,OAAO,SAAP;AACrB,UAAI,KAAK,QAAT,EAAmB,OAAO,KAAK,aAAZ;AACnB,aAAO,SAAP;AACD,KA5FO;AA6FR,IAAA,gBA7FQ,8BA6FQ;AACd,UAAI,KAAK,qBAAL,CAA2B,MAA3B,GAAoC,CAAxC,EAA2C;AACzC,eAAO,KAAK,qBAAZ;AACD,OAFD,MAEO,IAAI,KAAK,eAAL,IAAwB,KAAK,eAAL,CAAqB,MAArB,GAA8B,CAA1D,EAA6D;AAClE,eAAO,KAAK,uBAAZ;AACD,OAFM,MAEA,IAAI,KAAK,QAAL,IAAiB,KAAK,QAAL,CAAc,MAAd,GAAuB,CAA5C,EAA+C;AACpD,eAAO,KAAK,gBAAZ;AACD,OAFM,MAEA,IAAI,KAAK,cAAT,EAAyB;AAC9B,eAAO,KAAK,WAAZ;AACD,OAFM,MAEA,OAAO,EAAP;AACR;AAvGO,GAnDqB;AA6J/B,EAAA,KAAK,EAAE;AACL,IAAA,KAAK,EAAE;AACL,MAAA,OADK,mBACI,MADJ,EACY,MADZ,EACkB;AACrB,YAAI,wBAAU,MAAV,EAAkB,MAAlB,CAAJ,EAA+B;AAC/B,aAAK,QAAL;AACD,OAJI;AAKL,MAAA,IAAI,EAAE;AALD,KADF;AAQL,IAAA,aARK,2BAQQ;AACX;AACA;AACA,WAAK,QAAL,GAAgB,IAAhB;AACA,WAAK,cAAL,IAAuB,KAAK,SAAL,CAAe,KAAK,QAApB,CAAvB;AACD,KAbI;AAcL,IAAA,SAdK,qBAcM,GAdN,EAcS;AACZ;AACA;AACA,UACE,CAAC,GAAD,IACA,CAAC,KAAK,UAFR,EAGE;AACA,aAAK,UAAL,GAAkB,IAAlB;AACA,aAAK,cAAL,IAAuB,KAAK,SAAL,CAAe,KAAK,QAApB,CAAvB;AACD;AACF,KAxBI;AAyBL,IAAA,WAzBK,yBAyBM;AAAA;;AACT,MAAA,UAAU,CAAC,YAAK;AACd,QAAA,KAAI,CAAC,QAAL,GAAgB,KAAhB;AACA,QAAA,KAAI,CAAC,UAAL,GAAkB,KAAlB;AACA,QAAA,KAAI,CAAC,WAAL,GAAmB,KAAnB;;AACA,QAAA,KAAI,CAAC,QAAL;AACD,OALS,EAKP,CALO,CAAV;AAMD,KAhCI;AAiCL,IAAA,QAjCK,oBAiCK,GAjCL,EAiCQ;AACX,UAAI,KAAK,cAAT,EAAyB;AACvB,aAAK,KAAL,CAAW,cAAX,EAA2B,GAA3B;AACD;AACF,KArCI;AAsCL,IAAA,KAtCK,iBAsCE,GAtCF,EAsCK;AACR,WAAK,SAAL,GAAiB,GAAjB;AACD;AAxCI,GA7JwB;AAwM/B,EAAA,WAxM+B,yBAwMpB;AACT,SAAK,QAAL;AACD,GA1M8B;AA4M/B,EAAA,OA5M+B,qBA4MxB;AACL,SAAK,IAAL,IAAa,KAAK,IAAL,CAAU,QAAV,CAAmB,IAAnB,CAAb;AACD,GA9M8B;AAgN/B,EAAA,aAhN+B,2BAgNlB;AACX,SAAK,IAAL,IAAa,KAAK,IAAL,CAAU,UAAV,CAAqB,IAArB,CAAb;AACD,GAlN8B;AAoN/B,EAAA,OAAO,EAAE;AACP,IAAA,mBADO,+BACc,QADd,EAC2C;AAChD,UAAI,CAAC,QAAL,EAAe,OAAO,EAAP,CAAf,KACK,IAAI,KAAK,CAAC,OAAN,CAAc,QAAd,CAAJ,EAA6B,OAAO,QAAP,CAA7B,KACA,OAAO,CAAC,QAAD,CAAP;AACN,KALM;;AAMP;AACA,IAAA,KAPO,mBAOF;AACH,WAAK,WAAL,GAAmB,IAAnB;AACA,WAAK,aAAL,GAAqB,KAAK,CAAC,OAAN,CAAc,KAAK,aAAnB,IACjB,EADiB,GAEjB,IAFJ;AAGD,KAZM;;AAaP;AACA,IAAA,eAdO,6BAcQ;AACb,WAAK,WAAL,GAAmB,IAAnB;AACD,KAhBM;;AAiBP;AACA,IAAA,QAlBO,sBAkB6B;AAAA,UAA1B,KAA0B,uEAAlB,KAAkB;AAAA,UAAX,KAAW;AAClC,UAAM,WAAW,GAAG,EAApB;AACA,MAAA,KAAK,GAAG,KAAK,IAAI,KAAK,aAAtB;AAEA,UAAI,KAAJ,EAAW,KAAK,QAAL,GAAgB,KAAK,UAAL,GAAkB,IAAlC;;AAEX,WAAK,IAAI,KAAK,GAAG,CAAjB,EAAoB,KAAK,GAAG,KAAK,KAAL,CAAW,MAAvC,EAA+C,KAAK,EAApD,EAAwD;AACtD,YAAM,IAAI,GAAG,KAAK,KAAL,CAAW,KAAX,CAAb;AACA,YAAM,KAAK,GAAG,OAAO,IAAP,KAAgB,UAAhB,GAA6B,IAAI,CAAC,KAAD,CAAjC,GAA2C,IAAzD;;AAEA,YAAI,KAAK,KAAK,KAAV,IAAmB,OAAO,KAAP,KAAiB,QAAxC,EAAkD;AAChD,UAAA,WAAW,CAAC,IAAZ,CAAiB,KAAK,IAAI,EAA1B;AACD,SAFD,MAEO,IAAI,OAAO,KAAP,KAAiB,SAArB,EAAgC;AACrC,0GAA0E,KAA1E,iBAA4F,IAA5F;AACD;AACF;;AAED,WAAK,WAAL,GAAmB,WAAnB;AACA,WAAK,KAAL,GAAa,WAAW,CAAC,MAAZ,KAAuB,CAApC;AAEA,aAAO,KAAK,KAAZ;AACD;AAvCM;AApNsB,CAAlB,C","sourcesContent":["// Mixins\nimport Colorable from '../colorable'\nimport Themeable from '../themeable'\nimport { inject as RegistrableInject } from '../registrable'\n\n// Utilities\nimport { deepEqual } from '../../util/helpers'\nimport { consoleError } from '../../util/console'\nimport mixins from '../../util/mixins'\n\n// Types\nimport { PropValidator } from 'vue/types/options'\nimport { InputMessage, InputValidationRules } from 'vuetify/types'\n\nconst baseMixins = mixins(\n Colorable,\n RegistrableInject<'form', any>('form'),\n Themeable,\n)\n\n/* @vue/component */\nexport default baseMixins.extend({\n name: 'validatable',\n\n props: {\n disabled: {\n type: Boolean,\n default: null,\n },\n error: Boolean,\n errorCount: {\n type: [Number, String],\n default: 1,\n },\n errorMessages: {\n type: [String, Array],\n default: () => [],\n } as PropValidator<InputMessage | null>,\n messages: {\n type: [String, Array],\n default: () => [],\n } as PropValidator<InputMessage | null>,\n readonly: {\n type: Boolean,\n default: null,\n },\n rules: {\n type: Array,\n default: () => [],\n } as PropValidator<InputValidationRules>,\n success: Boolean,\n successMessages: {\n type: [String, Array],\n default: () => [],\n } as PropValidator<InputMessage | null>,\n validateOnBlur: Boolean,\n modelValue: { required: false },\n },\n\n data () {\n return {\n errorBucket: [] as string[],\n hasColor: false,\n hasFocused: false,\n hasInput: false,\n isFocused: false,\n isResetting: false,\n lazyValue: this.value,\n valid: false,\n }\n },\n\n computed: {\n computedColor (): string | undefined {\n if (this.isDisabled) return undefined\n if (this.color) return this.color\n // It's assumed that if the input is on a\n // dark background, the user will want to\n // have a white color. If the entire app\n // is setup to be dark, then they will\n // like want to use their primary color\n if (this.isDark && !this.appIsDark) return 'white'\n else return 'primary'\n },\n hasError (): boolean {\n return (\n this.internalErrorMessages.length > 0 ||\n this.errorBucket.length > 0 ||\n this.error\n )\n },\n // TODO: Add logic that allows the user to enable based\n // upon a good validation\n hasSuccess (): boolean {\n return (\n this.internalSuccessMessages.length > 0 ||\n this.success\n )\n },\n externalError (): boolean {\n return this.internalErrorMessages.length > 0 || this.error\n },\n hasMessages (): boolean {\n return this.validationTarget.length > 0\n },\n hasState (): boolean {\n if (this.isDisabled) return false\n\n return (\n this.hasSuccess ||\n (this.shouldValidate && this.hasError)\n )\n },\n internalErrorMessages (): InputValidationRules {\n return this.genInternalMessages(this.errorMessages)\n },\n internalMessages (): InputValidationRules {\n return this.genInternalMessages(this.messages)\n },\n internalSuccessMessages (): InputValidationRules {\n return this.genInternalMessages(this.successMessages)\n },\n internalValue: {\n get (): unknown {\n return this.lazyValue\n },\n set (val: any) {\n this.lazyValue = val\n\n this.$emit('input', val)\n },\n },\n isDisabled (): boolean {\n return this.disabled ?? (\n !!this.form &&\n this.form.disabled\n )\n },\n isInteractive (): boolean {\n return !this.isDisabled && !this.isReadonly\n },\n isReadonly (): boolean {\n return this.readonly ?? (\n !!this.form &&\n this.form.readonly\n )\n },\n shouldValidate (): boolean {\n if (this.externalError) return true\n if (this.isResetting) return false\n\n return this.validateOnBlur\n ? this.hasFocused && !this.isFocused\n : (this.hasInput || this.hasFocused)\n },\n validations (): InputValidationRules {\n return this.validationTarget.slice(0, Number(this.errorCount))\n },\n validationState (): string | undefined {\n if (this.isDisabled) return undefined\n if (this.hasError && this.shouldValidate) return 'error'\n if (this.hasSuccess) return 'success'\n if (this.hasColor) return this.computedColor\n return undefined\n },\n validationTarget (): InputValidationRules {\n if (this.internalErrorMessages.length > 0) {\n return this.internalErrorMessages\n } else if (this.successMessages && this.successMessages.length > 0) {\n return this.internalSuccessMessages\n } else if (this.messages && this.messages.length > 0) {\n return this.internalMessages\n } else if (this.shouldValidate) {\n return this.errorBucket\n } else return []\n },\n },\n\n watch: {\n rules: {\n handler (newVal, oldVal) {\n if (deepEqual(newVal, oldVal)) return\n this.validate()\n },\n deep: true,\n },\n internalValue () {\n // If it's the first time we're setting input,\n // mark it with hasInput\n this.hasInput = true\n this.validateOnBlur || this.$nextTick(this.validate)\n },\n isFocused (val) {\n // Should not check validation\n // if disabled\n if (\n !val &&\n !this.isDisabled\n ) {\n this.hasFocused = true\n this.validateOnBlur && this.$nextTick(this.validate)\n }\n },\n isResetting () {\n setTimeout(() => {\n this.hasInput = false\n this.hasFocused = false\n this.isResetting = false\n this.validate()\n }, 0)\n },\n hasError (val) {\n if (this.shouldValidate) {\n this.$emit('update:error', val)\n }\n },\n value (val) {\n this.lazyValue = val\n },\n },\n\n beforeMount () {\n this.validate()\n },\n\n created () {\n this.form && this.form.register(this)\n },\n\n beforeDestroy () {\n this.form && this.form.unregister(this)\n },\n\n methods: {\n genInternalMessages (messages: InputMessage | null): InputValidationRules {\n if (!messages) return []\n else if (Array.isArray(messages)) return messages\n else return [messages]\n },\n /** @public */\n reset () {\n this.isResetting = true\n this.internalValue = Array.isArray(this.internalValue)\n ? []\n : null\n },\n /** @public */\n resetValidation () {\n this.isResetting = true\n },\n /** @public */\n validate (force = false, value?: any): boolean {\n const errorBucket = []\n value = value || this.internalValue\n\n if (force) this.hasInput = this.hasFocused = true\n\n for (let index = 0; index < this.rules.length; index++) {\n const rule = this.rules[index]\n const valid = typeof rule === 'function' ? rule(value) : rule\n\n if (valid === false || typeof valid === 'string') {\n errorBucket.push(valid || '')\n } else if (typeof valid !== 'boolean') {\n consoleError(`Rules should return a string or boolean, received '${typeof valid}' instead`, this)\n }\n }\n\n this.errorBucket = errorBucket\n this.valid = errorBucket.length === 0\n\n return this.valid\n },\n },\n})\n"],"sourceRoot":"","file":"index.js"}
|
|
1
|
+
{"version":3,"sources":["../../../src/mixins/validatable/index.ts"],"names":[],"mappings":";;;;;;;AACA;;AACA;;AACA;;AAGA;;AACA;;AACA;;;;;;AAMA,IAAM,UAAU,GAAG,qBACjB,kBADiB,EAEjB,yBAA+B,MAA/B,CAFiB,EAGjB,kBAHiB,CAAnB;AAMA;;gBACe,UAAU,CAAC,MAAX,CAAkB;AAC/B,EAAA,IAAI,EAAE,aADyB;AAG/B,EAAA,KAAK,EAAE;AACL,IAAA,QAAQ,EAAE;AACR,MAAA,IAAI,EAAE,OADE;AAER,MAAA,OAAO,EAAE;AAFD,KADL;AAKL,IAAA,KAAK,EAAE,OALF;AAML,IAAA,UAAU,EAAE;AACV,MAAA,IAAI,EAAE,CAAC,MAAD,EAAS,MAAT,CADI;AAEV,MAAA,OAAO,EAAE;AAFC,KANP;AAUL,IAAA,aAAa,EAAE;AACb,MAAA,IAAI,EAAE,CAAC,MAAD,EAAS,KAAT,CADO;AAEb,MAAA,OAAO,EAAE;AAAA,eAAM,EAAN;AAAA;AAFI,KAVV;AAcL,IAAA,QAAQ,EAAE;AACR,MAAA,IAAI,EAAE,CAAC,MAAD,EAAS,KAAT,CADE;AAER,MAAA,OAAO,EAAE;AAAA,eAAM,EAAN;AAAA;AAFD,KAdL;AAkBL,IAAA,QAAQ,EAAE;AACR,MAAA,IAAI,EAAE,OADE;AAER,MAAA,OAAO,EAAE;AAFD,KAlBL;AAsBL,IAAA,KAAK,EAAE;AACL,MAAA,IAAI,EAAE,KADD;AAEL,MAAA,OAAO,EAAE;AAAA,eAAM,EAAN;AAAA;AAFJ,KAtBF;AA0BL,IAAA,OAAO,EAAE,OA1BJ;AA2BL,IAAA,eAAe,EAAE;AACf,MAAA,IAAI,EAAE,CAAC,MAAD,EAAS,KAAT,CADS;AAEf,MAAA,OAAO,EAAE;AAAA,eAAM,EAAN;AAAA;AAFM,KA3BZ;AA+BL,IAAA,cAAc,EAAE,OA/BX;AAgCL,IAAA,UAAU,EAAE;AAAE,MAAA,QAAQ,EAAE;AAAZ;AAhCP,GAHwB;AAsC/B,EAAA,IAtC+B,kBAsC3B;AACF,WAAO;AACL,MAAA,WAAW,EAAE,EADR;AAEL,MAAA,QAAQ,EAAE,KAFL;AAGL,MAAA,UAAU,EAAE,KAHP;AAIL,MAAA,QAAQ,EAAE,KAJL;AAKL,MAAA,SAAS,EAAE,KALN;AAML,MAAA,WAAW,EAAE,KANR;AAOL,MAAA,SAAS,EAAE,KAAK,KAPX;AAQL,MAAA,KAAK,EAAE;AARF,KAAP;AAUD,GAjD8B;AAmD/B,EAAA,QAAQ,EAAE;AACR,IAAA,aADQ,2BACK;AACX,UAAI,KAAK,UAAT,EAAqB,OAAO,SAAP;AACrB,UAAI,KAAK,KAAT,EAAgB,OAAO,KAAK,KAAZ,CAFL,CAGX;AACA;AACA;AACA;AACA;;AACA,UAAI,KAAK,MAAL,IAAe,CAAC,KAAK,SAAzB,EAAoC,OAAO,OAAP,CAApC,KACK,OAAO,SAAP;AACN,KAXO;AAYR,IAAA,QAZQ,sBAYA;AACN,aACE,KAAK,qBAAL,CAA2B,MAA3B,GAAoC,CAApC,IACA,KAAK,WAAL,CAAiB,MAAjB,GAA0B,CAD1B,IAEA,KAAK,KAHP;AAKD,KAlBO;AAmBR;AACA;AACA,IAAA,UArBQ,wBAqBE;AACR,aACE,KAAK,uBAAL,CAA6B,MAA7B,GAAsC,CAAtC,IACA,KAAK,OAFP;AAID,KA1BO;AA2BR,IAAA,aA3BQ,2BA2BK;AACX,aAAO,KAAK,qBAAL,CAA2B,MAA3B,GAAoC,CAApC,IAAyC,KAAK,KAArD;AACD,KA7BO;AA8BR,IAAA,WA9BQ,yBA8BG;AACT,aAAO,KAAK,gBAAL,CAAsB,MAAtB,GAA+B,CAAtC;AACD,KAhCO;AAiCR,IAAA,QAjCQ,sBAiCA;AACN,UAAI,KAAK,UAAT,EAAqB,OAAO,KAAP;AAErB,aACE,KAAK,UAAL,IACC,KAAK,cAAL,IAAuB,KAAK,QAF/B;AAID,KAxCO;AAyCR,IAAA,qBAzCQ,mCAyCa;AACnB,aAAO,KAAK,mBAAL,CAAyB,KAAK,aAA9B,CAAP;AACD,KA3CO;AA4CR,IAAA,gBA5CQ,8BA4CQ;AACd,aAAO,KAAK,mBAAL,CAAyB,KAAK,QAA9B,CAAP;AACD,KA9CO;AA+CR,IAAA,uBA/CQ,qCA+Ce;AACrB,aAAO,KAAK,mBAAL,CAAyB,KAAK,eAA9B,CAAP;AACD,KAjDO;AAkDR,IAAA,aAAa,EAAE;AACb,MAAA,GADa,iBACV;AACD,eAAO,KAAK,SAAZ;AACD,OAHY;AAIb,MAAA,GAJa,eAIR,GAJQ,EAIA;AACX,aAAK,SAAL,GAAiB,GAAjB;AAEA,aAAK,KAAL,CAAW,OAAX,EAAoB,GAApB;AACD;AARY,KAlDP;AA4DR,IAAA,UA5DQ,wBA4DE;;;AACR,aAAO,CAAA,EAAA,GAAA,KAAK,QAAL,MAAa,IAAb,IAAa,EAAA,KAAA,KAAA,CAAb,GAAa,EAAb,GACL,CAAC,CAAC,KAAK,IAAP,IACA,KAAK,IAAL,CAAU,QAFZ;AAID,KAjEO;AAkER,IAAA,aAlEQ,2BAkEK;AACX,aAAO,CAAC,KAAK,UAAN,IAAoB,CAAC,KAAK,UAAjC;AACD,KApEO;AAqER,IAAA,UArEQ,wBAqEE;;;AACR,aAAO,CAAA,EAAA,GAAA,KAAK,QAAL,MAAa,IAAb,IAAa,EAAA,KAAA,KAAA,CAAb,GAAa,EAAb,GACL,CAAC,CAAC,KAAK,IAAP,IACA,KAAK,IAAL,CAAU,QAFZ;AAID,KA1EO;AA2ER,IAAA,cA3EQ,4BA2EM;AACZ,UAAI,KAAK,aAAT,EAAwB,OAAO,IAAP;AACxB,UAAI,KAAK,WAAT,EAAsB,OAAO,KAAP;AAEtB,aAAO,KAAK,cAAL,GACH,KAAK,UAAL,IAAmB,CAAC,KAAK,SADtB,GAEF,KAAK,QAAL,IAAiB,KAAK,UAF3B;AAGD,KAlFO;AAmFR,IAAA,WAnFQ,yBAmFG;AACT,aAAO,KAAK,gBAAL,CAAsB,KAAtB,CAA4B,CAA5B,EAA+B,MAAM,CAAC,KAAK,UAAN,CAArC,CAAP;AACD,KArFO;AAsFR,IAAA,eAtFQ,6BAsFO;AACb,UAAI,KAAK,UAAT,EAAqB,OAAO,SAAP;AACrB,UAAI,KAAK,QAAL,IAAiB,KAAK,cAA1B,EAA0C,OAAO,OAAP;AAC1C,UAAI,KAAK,UAAT,EAAqB,OAAO,SAAP;AACrB,UAAI,KAAK,QAAT,EAAmB,OAAO,KAAK,aAAZ;AACnB,aAAO,SAAP;AACD,KA5FO;AA6FR,IAAA,gBA7FQ,8BA6FQ;AACd,UAAI,KAAK,qBAAL,CAA2B,MAA3B,GAAoC,CAAxC,EAA2C;AACzC,eAAO,KAAK,qBAAZ;AACD,OAFD,MAEO,IAAI,KAAK,eAAL,IAAwB,KAAK,eAAL,CAAqB,MAArB,GAA8B,CAA1D,EAA6D;AAClE,eAAO,KAAK,uBAAZ;AACD,OAFM,MAEA,IAAI,KAAK,QAAL,IAAiB,KAAK,QAAL,CAAc,MAAd,GAAuB,CAA5C,EAA+C;AACpD,eAAO,KAAK,gBAAZ;AACD,OAFM,MAEA,IAAI,KAAK,cAAT,EAAyB;AAC9B,eAAO,KAAK,WAAZ;AACD,OAFM,MAEA,OAAO,EAAP;AACR;AAvGO,GAnDqB;AA6J/B,EAAA,KAAK,EAAE;AACL,IAAA,KAAK,EAAE;AACL,MAAA,OADK,mBACI,MADJ,EACY,MADZ,EACkB;AACrB,YAAI,wBAAU,MAAV,EAAkB,MAAlB,CAAJ,EAA+B;AAC/B,aAAK,QAAL;AACD,OAJI;AAKL,MAAA,IAAI,EAAE;AALD,KADF;AAQL,IAAA,aARK,2BAQQ;AACX;AACA;AACA,WAAK,QAAL,GAAgB,IAAhB;AACA,WAAK,cAAL,IAAuB,KAAK,SAAL,CAAe,KAAK,QAApB,CAAvB;AACD,KAbI;AAcL,IAAA,SAdK,qBAcM,GAdN,EAcS;AACZ;AACA;AACA,UACE,CAAC,GAAD,IACA,CAAC,KAAK,UAFR,EAGE;AACA,aAAK,UAAL,GAAkB,IAAlB;AACA,aAAK,cAAL,IAAuB,KAAK,SAAL,CAAe,KAAK,QAApB,CAAvB;AACD;AACF,KAxBI;AAyBL,IAAA,WAzBK,yBAyBM;AAAA;;AACT,MAAA,UAAU,CAAC,YAAK;AACd,QAAA,KAAI,CAAC,QAAL,GAAgB,KAAhB;AACA,QAAA,KAAI,CAAC,UAAL,GAAkB,KAAlB;AACA,QAAA,KAAI,CAAC,WAAL,GAAmB,KAAnB;;AACA,QAAA,KAAI,CAAC,QAAL;AACD,OALS,EAKP,CALO,CAAV;AAMD,KAhCI;AAiCL,IAAA,QAjCK,oBAiCK,GAjCL,EAiCQ;AACX,UAAI,KAAK,cAAT,EAAyB;AACvB,aAAK,KAAL,CAAW,cAAX,EAA2B,GAA3B;AACD;AACF,KArCI;AAsCL,IAAA,UAtCK,sBAsCO,GAtCP,EAsCU;AACb,WAAK,SAAL,GAAiB,GAAjB;AACD;AAxCI,GA7JwB;AAwM/B,EAAA,WAxM+B,yBAwMpB;AACT,SAAK,QAAL;AACD,GA1M8B;AA4M/B,EAAA,OA5M+B,qBA4MxB;AACL,SAAK,IAAL,IAAa,KAAK,IAAL,CAAU,QAAV,CAAmB,IAAnB,CAAb;AACD,GA9M8B;AAgN/B,EAAA,aAhN+B,2BAgNlB;AACX,SAAK,IAAL,IAAa,KAAK,IAAL,CAAU,UAAV,CAAqB,IAArB,CAAb;AACD,GAlN8B;AAoN/B,EAAA,OAAO,EAAE;AACP,IAAA,mBADO,+BACc,QADd,EAC2C;AAChD,UAAI,CAAC,QAAL,EAAe,OAAO,EAAP,CAAf,KACK,IAAI,KAAK,CAAC,OAAN,CAAc,QAAd,CAAJ,EAA6B,OAAO,QAAP,CAA7B,KACA,OAAO,CAAC,QAAD,CAAP;AACN,KALM;;AAMP;AACA,IAAA,KAPO,mBAOF;AACH,WAAK,WAAL,GAAmB,IAAnB;AACA,WAAK,aAAL,GAAqB,KAAK,CAAC,OAAN,CAAc,KAAK,aAAnB,IACjB,EADiB,GAEjB,IAFJ;AAGD,KAZM;;AAaP;AACA,IAAA,eAdO,6BAcQ;AACb,WAAK,WAAL,GAAmB,IAAnB;AACD,KAhBM;;AAiBP;AACA,IAAA,QAlBO,sBAkB6B;AAAA,UAA1B,KAA0B,uEAAlB,KAAkB;AAAA,UAAX,KAAW;AAClC,UAAM,WAAW,GAAG,EAApB;AACA,MAAA,KAAK,GAAG,KAAK,IAAI,KAAK,aAAtB;AAEA,UAAI,KAAJ,EAAW,KAAK,QAAL,GAAgB,KAAK,UAAL,GAAkB,IAAlC;;AAEX,WAAK,IAAI,KAAK,GAAG,CAAjB,EAAoB,KAAK,GAAG,KAAK,KAAL,CAAW,MAAvC,EAA+C,KAAK,EAApD,EAAwD;AACtD,YAAM,IAAI,GAAG,KAAK,KAAL,CAAW,KAAX,CAAb;AACA,YAAM,KAAK,GAAG,OAAO,IAAP,KAAgB,UAAhB,GAA6B,IAAI,CAAC,KAAD,CAAjC,GAA2C,IAAzD;;AAEA,YAAI,KAAK,KAAK,KAAV,IAAmB,OAAO,KAAP,KAAiB,QAAxC,EAAkD;AAChD,UAAA,WAAW,CAAC,IAAZ,CAAiB,KAAK,IAAI,EAA1B;AACD,SAFD,MAEO,IAAI,OAAO,KAAP,KAAiB,SAArB,EAAgC;AACrC,0GAA0E,KAA1E,iBAA4F,IAA5F;AACD;AACF;;AAED,WAAK,WAAL,GAAmB,WAAnB;AACA,WAAK,KAAL,GAAa,WAAW,CAAC,MAAZ,KAAuB,CAApC;AAEA,aAAO,KAAK,KAAZ;AACD;AAvCM;AApNsB,CAAlB,C","sourcesContent":["// Mixins\nimport Colorable from '../colorable'\nimport Themeable from '../themeable'\nimport { inject as RegistrableInject } from '../registrable'\n\n// Utilities\nimport { deepEqual } from '../../util/helpers'\nimport { consoleError } from '../../util/console'\nimport mixins from '../../util/mixins'\n\n// Types\nimport { PropValidator } from 'vue/types/options'\nimport { InputMessage, InputValidationRules } from 'vuetify/types'\n\nconst baseMixins = mixins(\n Colorable,\n RegistrableInject<'form', any>('form'),\n Themeable,\n)\n\n/* @vue/component */\nexport default baseMixins.extend({\n name: 'validatable',\n\n props: {\n disabled: {\n type: Boolean,\n default: null,\n },\n error: Boolean,\n errorCount: {\n type: [Number, String],\n default: 1,\n },\n errorMessages: {\n type: [String, Array],\n default: () => [],\n } as PropValidator<InputMessage | null>,\n messages: {\n type: [String, Array],\n default: () => [],\n } as PropValidator<InputMessage | null>,\n readonly: {\n type: Boolean,\n default: null,\n },\n rules: {\n type: Array,\n default: () => [],\n } as PropValidator<InputValidationRules>,\n success: Boolean,\n successMessages: {\n type: [String, Array],\n default: () => [],\n } as PropValidator<InputMessage | null>,\n validateOnBlur: Boolean,\n modelValue: { required: false },\n },\n\n data () {\n return {\n errorBucket: [] as string[],\n hasColor: false,\n hasFocused: false,\n hasInput: false,\n isFocused: false,\n isResetting: false,\n lazyValue: this.value,\n valid: false,\n }\n },\n\n computed: {\n computedColor (): string | undefined {\n if (this.isDisabled) return undefined\n if (this.color) return this.color\n // It's assumed that if the input is on a\n // dark background, the user will want to\n // have a white color. If the entire app\n // is setup to be dark, then they will\n // like want to use their primary color\n if (this.isDark && !this.appIsDark) return 'white'\n else return 'primary'\n },\n hasError (): boolean {\n return (\n this.internalErrorMessages.length > 0 ||\n this.errorBucket.length > 0 ||\n this.error\n )\n },\n // TODO: Add logic that allows the user to enable based\n // upon a good validation\n hasSuccess (): boolean {\n return (\n this.internalSuccessMessages.length > 0 ||\n this.success\n )\n },\n externalError (): boolean {\n return this.internalErrorMessages.length > 0 || this.error\n },\n hasMessages (): boolean {\n return this.validationTarget.length > 0\n },\n hasState (): boolean {\n if (this.isDisabled) return false\n\n return (\n this.hasSuccess ||\n (this.shouldValidate && this.hasError)\n )\n },\n internalErrorMessages (): InputValidationRules {\n return this.genInternalMessages(this.errorMessages)\n },\n internalMessages (): InputValidationRules {\n return this.genInternalMessages(this.messages)\n },\n internalSuccessMessages (): InputValidationRules {\n return this.genInternalMessages(this.successMessages)\n },\n internalValue: {\n get (): unknown {\n return this.lazyValue\n },\n set (val: any) {\n this.lazyValue = val\n\n this.$emit('input', val)\n },\n },\n isDisabled (): boolean {\n return this.disabled ?? (\n !!this.form &&\n this.form.disabled\n )\n },\n isInteractive (): boolean {\n return !this.isDisabled && !this.isReadonly\n },\n isReadonly (): boolean {\n return this.readonly ?? (\n !!this.form &&\n this.form.readonly\n )\n },\n shouldValidate (): boolean {\n if (this.externalError) return true\n if (this.isResetting) return false\n\n return this.validateOnBlur\n ? this.hasFocused && !this.isFocused\n : (this.hasInput || this.hasFocused)\n },\n validations (): InputValidationRules {\n return this.validationTarget.slice(0, Number(this.errorCount))\n },\n validationState (): string | undefined {\n if (this.isDisabled) return undefined\n if (this.hasError && this.shouldValidate) return 'error'\n if (this.hasSuccess) return 'success'\n if (this.hasColor) return this.computedColor\n return undefined\n },\n validationTarget (): InputValidationRules {\n if (this.internalErrorMessages.length > 0) {\n return this.internalErrorMessages\n } else if (this.successMessages && this.successMessages.length > 0) {\n return this.internalSuccessMessages\n } else if (this.messages && this.messages.length > 0) {\n return this.internalMessages\n } else if (this.shouldValidate) {\n return this.errorBucket\n } else return []\n },\n },\n\n watch: {\n rules: {\n handler (newVal, oldVal) {\n if (deepEqual(newVal, oldVal)) return\n this.validate()\n },\n deep: true,\n },\n internalValue () {\n // If it's the first time we're setting input,\n // mark it with hasInput\n this.hasInput = true\n this.validateOnBlur || this.$nextTick(this.validate)\n },\n isFocused (val) {\n // Should not check validation\n // if disabled\n if (\n !val &&\n !this.isDisabled\n ) {\n this.hasFocused = true\n this.validateOnBlur && this.$nextTick(this.validate)\n }\n },\n isResetting () {\n setTimeout(() => {\n this.hasInput = false\n this.hasFocused = false\n this.isResetting = false\n this.validate()\n }, 0)\n },\n hasError (val) {\n if (this.shouldValidate) {\n this.$emit('update:error', val)\n }\n },\n modelValue (val) {\n this.lazyValue = val\n },\n },\n\n beforeMount () {\n this.validate()\n },\n\n created () {\n this.form && this.form.register(this)\n },\n\n beforeUnmount () {\n this.form && this.form.unregister(this)\n },\n\n methods: {\n genInternalMessages (messages: InputMessage | null): InputValidationRules {\n if (!messages) return []\n else if (Array.isArray(messages)) return messages\n else return [messages]\n },\n /** @public */\n reset () {\n this.isResetting = true\n this.internalValue = Array.isArray(this.internalValue)\n ? []\n : null\n },\n /** @public */\n resetValidation () {\n this.isResetting = true\n },\n /** @public */\n validate (force = false, value?: any): boolean {\n const errorBucket = []\n value = value || this.internalValue\n\n if (force) this.hasInput = this.hasFocused = true\n\n for (let index = 0; index < this.rules.length; index++) {\n const rule = this.rules[index]\n const valid = typeof rule === 'function' ? rule(value) : rule\n\n if (valid === false || typeof valid === 'string') {\n errorBucket.push(valid || '')\n } else if (typeof valid !== 'boolean') {\n consoleError(`Rules should return a string or boolean, received '${typeof valid}' instead`, this)\n }\n }\n\n this.errorBucket = errorBucket\n this.valid = errorBucket.length === 0\n\n return this.valid\n },\n },\n})\n"],"sourceRoot":"","file":"index.js"}
|
|
@@ -7,6 +7,8 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
7
|
});
|
|
8
8
|
exports.Breakpoint = void 0;
|
|
9
9
|
|
|
10
|
+
var _vue = require("vue");
|
|
11
|
+
|
|
10
12
|
var _service = require("../service");
|
|
11
13
|
|
|
12
14
|
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
|
@@ -72,7 +74,7 @@ var Breakpoint = /*#__PURE__*/function (_Service) {
|
|
|
72
74
|
_this.mobileBreakpoint = mobileBreakpoint;
|
|
73
75
|
_this.scrollBarWidth = scrollBarWidth;
|
|
74
76
|
_this.thresholds = thresholds;
|
|
75
|
-
return _this;
|
|
77
|
+
return _possibleConstructorReturn(_this, (0, _vue.reactive)(_assertThisInitialized(_this)));
|
|
76
78
|
}
|
|
77
79
|
|
|
78
80
|
_createClass(Breakpoint, [{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/services/breakpoint/index.ts"],"names":[],"mappings":";;;;;;;;;
|
|
1
|
+
{"version":3,"sources":["../../../src/services/breakpoint/index.ts"],"names":[],"mappings":"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","sourcesContent":["import { reactive } from 'vue'\n\n\n// Extensions\nimport { Service } from '../service'\n\n// Types\nimport { VuetifyPreset } from 'vuetify/types/services/presets'\nimport { Breakpoint as IBreakpoint } from 'vuetify/types/services/breakpoint'\n\nexport class Breakpoint extends Service implements IBreakpoint {\n public static property: 'breakpoint' = 'breakpoint'\n\n // Public\n public xs = false\n\n public sm = false\n\n public md = false\n\n public lg = false\n\n public xl = false\n\n public xsOnly = false\n\n public smOnly = false\n\n public smAndDown = false\n\n public smAndUp = false\n\n public mdOnly = false\n\n public mdAndDown = false\n\n public mdAndUp = false\n\n public lgOnly = false\n\n public lgAndDown = false\n\n public lgAndUp = false\n\n public xlOnly = false\n\n // Value is xs to match v2.x functionality\n public name: IBreakpoint['name'] = 'xs'\n\n public height = 0\n\n public width = 0\n\n // TODO: Add functionality to detect this dynamically in v3\n // Value is true to match v2.x functionality\n public mobile = true\n\n public mobileBreakpoint: IBreakpoint['mobileBreakpoint']\n\n public thresholds: IBreakpoint['thresholds']\n\n public scrollBarWidth: IBreakpoint['scrollBarWidth']\n\n private resizeTimeout = 0\n\n constructor (preset: VuetifyPreset) {\n super()\n\n const {\n mobileBreakpoint,\n scrollBarWidth,\n thresholds,\n } = preset[Breakpoint.property]\n\n this.mobileBreakpoint = mobileBreakpoint\n this.scrollBarWidth = scrollBarWidth\n this.thresholds = thresholds\n\n return reactive(this)\n }\n\n public init () {\n this.update()\n\n /* istanbul ignore if */\n if (typeof window === 'undefined') return\n\n window.addEventListener(\n 'resize',\n this.onResize.bind(this),\n { passive: true }\n )\n }\n\n /* eslint-disable-next-line max-statements */\n public update (ssr = false) {\n const height = ssr ? 0 : this.getClientHeight()\n const width = ssr ? 0 : this.getClientWidth()\n\n const xs = width < this.thresholds.xs\n const sm = width < this.thresholds.sm && !xs\n const md = width < (this.thresholds.md - this.scrollBarWidth) && !(sm || xs)\n const lg = width < (this.thresholds.lg - this.scrollBarWidth) && !(md || sm || xs)\n const xl = width >= (this.thresholds.lg - this.scrollBarWidth)\n\n this.height = height\n this.width = width\n\n this.xs = xs\n this.sm = sm\n this.md = md\n this.lg = lg\n this.xl = xl\n\n this.xsOnly = xs\n this.smOnly = sm\n this.smAndDown = (xs || sm) && !(md || lg || xl)\n this.smAndUp = !xs && (sm || md || lg || xl)\n this.mdOnly = md\n this.mdAndDown = (xs || sm || md) && !(lg || xl)\n this.mdAndUp = !(xs || sm) && (md || lg || xl)\n this.lgOnly = lg\n this.lgAndDown = (xs || sm || md || lg) && !xl\n this.lgAndUp = !(xs || sm || md) && (lg || xl)\n this.xlOnly = xl\n\n switch (true) {\n case (xs):\n this.name = 'xs'\n break\n case (sm):\n this.name = 'sm'\n break\n case (md):\n this.name = 'md'\n break\n case (lg):\n this.name = 'lg'\n break\n default:\n this.name = 'xl'\n break\n }\n\n if (typeof this.mobileBreakpoint === 'number') {\n this.mobile = width < parseInt(this.mobileBreakpoint, 10)\n\n return\n }\n\n const breakpoints = {\n xs: 0,\n sm: 1,\n md: 2,\n lg: 3,\n xl: 4,\n } as const\n\n const current = breakpoints[this.name]\n const max = breakpoints[this.mobileBreakpoint]\n\n this.mobile = current <= max\n }\n\n private onResize () {\n clearTimeout(this.resizeTimeout)\n\n // Added debounce to match what\n // v-resize used to do but was\n // removed due to a memory leak\n // https://github.com/vuetifyjs/vuetify/pull/2997\n this.resizeTimeout = window.setTimeout(this.update.bind(this), 200)\n }\n\n // Cross-browser support as described in:\n // https://stackoverflow.com/questions/1248081\n private getClientWidth () {\n /* istanbul ignore if */\n if (typeof document === 'undefined') return 0 // SSR\n return Math.max(\n document.documentElement!.clientWidth,\n window.innerWidth || 0\n )\n }\n\n private getClientHeight () {\n /* istanbul ignore if */\n if (typeof document === 'undefined') return 0 // SSR\n return Math.max(\n document.documentElement!.clientHeight,\n window.innerHeight || 0\n )\n }\n}\n"],"sourceRoot":"","file":"index.js"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/VAutocomplete/VAutocomplete.ts"],"names":[],"mappings":"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","sourcesContent":["// Styles\nimport './VAutocomplete.sass'\n\n// Extensions\nimport VSelect, { defaultMenuProps as VSelectMenuProps } from '../VSelect/VSelect'\nimport VTextField from '../VTextField/VTextField'\n\n// Utilities\nimport mergeData from '../../util/mergeData'\nimport {\n getObjectValueByPath,\n getPropertyFromItem,\n keyCodes,\n} from '../../util/helpers'\n\n// Types\nimport { PropType, VNode, defineComponent } from 'vue'\nimport { PropValidator } from 'vue/types/options'\n\nconst defaultMenuProps = {\n ...VSelectMenuProps,\n offsetY: true,\n offsetOverflow: true,\n transition: false,\n}\n\n/* @vue/component */\nexport default defineComponent({\n name: 'v-autocomplete',\n extends: VSelect,\n\n props: {\n autoSelectFirst: {\n type: Boolean,\n default: false,\n },\n filter: {\n type: Function,\n default: (item: any, queryText: string, itemText: string) => {\n return itemText.toLocaleLowerCase().indexOf(queryText.toLocaleLowerCase()) > -1\n },\n } as PropValidator<(item: any, queryText: string, itemText: string) => boolean>,\n hideNoData: Boolean,\n menuProps: {\n type: VSelect.props.menuProps.type,\n default: () => defaultMenuProps,\n },\n noFilter: Boolean,\n searchInput: {\n type: String as PropType<string | null>,\n },\n },\n\n data () {\n return {\n lazySearch: this.searchInput,\n }\n },\n\n computed: {\n classes (): object {\n return {\n ...VSelect.computed.classes.call(this),\n 'v-autocomplete': true,\n 'v-autocomplete--is-selecting-index': this.selectedIndex > -1,\n }\n },\n computedItems (): object[] {\n return this.filteredItems\n },\n selectedValues (): object[] {\n return this.selectedItems.map(item => this.getValue(item))\n },\n hasDisplayedItems (): boolean {\n return this.hideSelected\n ? this.filteredItems.some(item => !this.hasItem(item))\n : this.filteredItems.length > 0\n },\n currentRange (): number {\n if (this.selectedItem == null) return 0\n\n return String(this.getText(this.selectedItem)).length\n },\n filteredItems (): object[] {\n if (!this.isSearching || this.noFilter || this.internalSearch == null) return this.allItems\n\n return this.allItems.filter(item => {\n const value = getPropertyFromItem(item, this.itemText)\n const text = value != null ? String(value) : ''\n\n return this.filter(item, String(this.internalSearch), text)\n })\n },\n internalSearch: {\n get (): string | null {\n return this.lazySearch\n },\n set (val: any) { // TODO: this should be `string | null` but it breaks lots of other types\n // emit update event only when the new\n // search value is different from previous\n if (this.lazySearch !== val) {\n this.lazySearch = val\n this.$emit('update:search-input', val)\n }\n },\n },\n isAnyValueAllowed (): boolean {\n return false\n },\n isDirty (): boolean {\n return this.searchIsDirty || this.selectedItems.length > 0\n },\n isSearching (): boolean {\n return (\n this.multiple &&\n this.searchIsDirty\n ) || (\n this.searchIsDirty &&\n this.internalSearch !== this.getText(this.selectedItem)\n )\n },\n menuCanShow (): boolean {\n if (!this.isFocused) return false\n\n return this.hasDisplayedItems || !this.hideNoData\n },\n $_menuProps (): object {\n const props = VSelect.computed.$_menuProps.call(this);\n (props as any).contentClass = `v-autocomplete__content ${(props as any).contentClass || ''}`.trim()\n return {\n ...defaultMenuProps,\n ...props,\n }\n },\n searchIsDirty (): boolean {\n return this.internalSearch != null &&\n this.internalSearch !== ''\n },\n selectedItem (): any {\n if (this.multiple) return null\n\n return this.selectedItems.find(i => {\n return this.valueComparator(this.getValue(i), this.getValue(this.internalValue))\n })\n },\n listData () {\n const data = VSelect.computed.listData.call(this) as any\n\n data.props = {\n ...data.props,\n items: this.virtualizedItems,\n noFilter: (\n this.noFilter ||\n !this.isSearching ||\n !this.filteredItems.length\n ),\n searchInput: this.internalSearch,\n }\n\n return data\n },\n },\n\n watch: {\n filteredItems: 'onFilteredItemsChanged',\n internalValue: 'setSearch',\n isFocused (val) {\n if (val) {\n document.addEventListener('copy', this.onCopy)\n this.$refs.input && this.$refs.input.select()\n } else {\n document.removeEventListener('copy', this.onCopy)\n this.blur()\n this.updateSelf()\n }\n },\n isMenuActive (val) {\n if (val || !this.hasSlot) return\n\n this.lazySearch = null\n },\n items (val, oldVal) {\n // If we are focused, the menu\n // is not active, hide no data is enabled,\n // and items change\n // User is probably async loading\n // items, try to activate the menu\n if (\n !(oldVal && oldVal.length) &&\n this.hideNoData &&\n this.isFocused &&\n !this.isMenuActive &&\n val.length\n ) this.activateMenu()\n },\n searchInput (val: string) {\n this.lazySearch = val\n },\n internalSearch: 'onInternalSearchChanged',\n itemText: 'updateSelf',\n },\n\n created () {\n this.setSearch()\n },\n\n destroyed () {\n document.removeEventListener('copy', this.onCopy)\n },\n\n methods: {\n onFilteredItemsChanged (val: never[], oldVal: never[]) {\n // TODO: How is the watcher triggered\n // for duplicate items? no idea\n if (val === oldVal) return\n\n if (!this.autoSelectFirst) {\n const preSelectedItem = oldVal[this.$refs.menu.listIndex]\n\n if (preSelectedItem) {\n this.setMenuIndex(val.findIndex(i => i === preSelectedItem))\n } else {\n this.setMenuIndex(-1)\n }\n this.$emit('update:list-index', this.$refs.menu.listIndex)\n }\n\n this.$nextTick(() => {\n if (\n !this.internalSearch ||\n (val.length !== 1 &&\n !this.autoSelectFirst)\n ) return\n\n this.$refs.menu.getTiles()\n\n if (this.autoSelectFirst && val.length) {\n this.setMenuIndex(0)\n this.$emit('update:list-index', this.$refs.menu.listIndex)\n }\n })\n },\n onInternalSearchChanged () {\n this.updateMenuDimensions()\n },\n updateMenuDimensions () {\n // Type from menuable is not making it through\n this.isMenuActive && this.$refs.menu && this.$refs.menu.updateDimensions()\n },\n changeSelectedIndex (keyCode: number) {\n // Do not allow changing of selectedIndex\n // when search is dirty\n if (this.searchIsDirty) return\n\n if (this.multiple && keyCode === keyCodes.left) {\n if (this.selectedIndex === -1) {\n this.selectedIndex = this.selectedItems.length - 1\n } else {\n this.selectedIndex--\n }\n } else if (this.multiple && keyCode === keyCodes.right) {\n if (this.selectedIndex >= this.selectedItems.length - 1) {\n this.selectedIndex = -1\n } else {\n this.selectedIndex++\n }\n } else if (keyCode === keyCodes.backspace || keyCode === keyCodes.delete) {\n this.deleteCurrentItem()\n }\n },\n deleteCurrentItem () {\n const curIndex = this.selectedIndex\n const curItem = this.selectedItems[curIndex]\n\n // Do nothing if input or item is disabled\n if (\n !this.isInteractive ||\n this.getDisabled(curItem)\n ) return\n\n const lastIndex = this.selectedItems.length - 1\n\n // Select the last item if\n // there is no selection\n if (\n this.selectedIndex === -1 &&\n lastIndex !== 0\n ) {\n this.selectedIndex = lastIndex\n\n return\n }\n\n const length = this.selectedItems.length\n const nextIndex = curIndex !== length - 1\n ? curIndex\n : curIndex - 1\n const nextItem = this.selectedItems[nextIndex]\n\n if (!nextItem) {\n this.setValue(this.multiple ? [] : null)\n } else {\n this.selectItem(curItem)\n }\n\n this.selectedIndex = nextIndex\n },\n clearableCallback () {\n this.internalSearch = null\n\n VSelect.methods.clearableCallback.call(this)\n },\n genInput () {\n const input = VTextField.methods.genInput.call(this)\n\n input.data = mergeData(input.props!, {\n 'aria-activedescendant': getObjectValueByPath(this.$refs.menu, 'activeTile.id'),\n autocomplete: getObjectValueByPath(input.data!, 'attrs.autocomplete', 'off'),\n value: this.internalSearch,\n })\n\n return input\n },\n genInputSlot () {\n const slot = VSelect.methods.genInputSlot.call(this)\n\n slot.props.role = 'combobox'\n\n return slot\n },\n genSelections (): VNode | never[] {\n return this.hasSlot || this.multiple\n ? VSelect.methods.genSelections.call(this)\n : []\n },\n onClick (e: MouseEvent) {\n if (!this.isInteractive) return\n\n this.selectedIndex > -1\n ? (this.selectedIndex = -1)\n : this.onFocus()\n\n if (!this.isAppendInner(e.target)) this.activateMenu()\n },\n onInput (e: Event) {\n if (\n this.selectedIndex > -1 ||\n !e.target\n ) return\n\n const target = e.target as HTMLInputElement\n const value = target.value\n\n // If typing and menu is not currently active\n if (target.value) this.activateMenu()\n\n if (!this.multiple && value === '') this.deleteCurrentItem()\n\n this.internalSearch = value\n this.badInput = target.validity && target.validity.badInput\n },\n onKeyDown (e: KeyboardEvent) {\n const keyCode = e.keyCode\n\n if (\n e.ctrlKey ||\n ![keyCodes.home, keyCodes.end].includes(keyCode)\n ) {\n VSelect.methods.onKeyDown.call(this, e)\n }\n\n // The ordering is important here\n // allows new value to be updated\n // and then moves the index to the\n // proper location\n this.changeSelectedIndex(keyCode)\n },\n onSpaceDown (e: KeyboardEvent) { /* noop */ },\n onTabDown (e: KeyboardEvent) {\n VSelect.methods.onTabDown.call(this, e)\n this.updateSelf()\n },\n onUpDown (e: Event) {\n // Prevent screen from scrolling\n e.preventDefault()\n\n // For autocomplete / combobox, cycling\n // interfers with native up/down behavior\n // instead activate the menu\n this.activateMenu()\n },\n selectItem (item: object) {\n VSelect.methods.selectItem.call(this, item)\n this.setSearch()\n },\n setSelectedItems () {\n VSelect.methods.setSelectedItems.call(this)\n\n // #4273 Don't replace if searching\n // #4403 Don't replace if focused\n if (!this.isFocused) this.setSearch()\n },\n setSearch () {\n // Wait for nextTick so selectedItem\n // has had time to update\n this.$nextTick(() => {\n if (\n !this.multiple ||\n !this.internalSearch ||\n !this.isMenuActive\n ) {\n this.internalSearch = (\n !this.selectedItems.length ||\n this.multiple ||\n this.hasSlot\n )\n ? null\n : this.getText(this.selectedItem)\n }\n })\n },\n updateSelf () {\n if (\n !this.searchIsDirty &&\n !this.internalValue\n ) return\n\n if (\n !this.multiple &&\n !this.valueComparator(\n this.internalSearch,\n this.getValue(this.internalValue)\n )\n ) {\n this.setSearch()\n }\n },\n hasItem (item: any): boolean {\n return this.selectedValues.indexOf(this.getValue(item)) > -1\n },\n onCopy (event: ClipboardEvent) {\n if (this.selectedIndex === -1) return\n\n const currentItem = this.selectedItems[this.selectedIndex]\n const currentItemText = this.getText(currentItem)\n event.clipboardData?.setData('text/plain', currentItemText)\n event.clipboardData?.setData('text/vnd.vuetify.autocomplete.item+plain', currentItemText)\n event.preventDefault()\n },\n },\n})\n"],"sourceRoot":"","file":"VAutocomplete.js"}
|
|
1
|
+
{"version":3,"sources":["../../../src/components/VAutocomplete/VAutocomplete.ts"],"names":[],"mappings":"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","sourcesContent":["// Styles\nimport './VAutocomplete.sass'\n\n// Extensions\nimport VSelect, { defaultMenuProps as VSelectMenuProps } from '../VSelect/VSelect'\nimport VTextField from '../VTextField/VTextField'\n\n// Utilities\nimport mergeData from '../../util/mergeData'\nimport {\n getObjectValueByPath,\n getPropertyFromItem,\n keyCodes,\n} from '../../util/helpers'\n\n// Types\nimport { PropType, VNode, defineComponent } from 'vue'\nimport { PropValidator } from 'vue/types/options'\n\nconst defaultMenuProps = {\n ...VSelectMenuProps,\n offsetY: true,\n offsetOverflow: true,\n transition: false,\n}\n\n/* @vue/component */\nexport default defineComponent({\n name: 'v-autocomplete',\n extends: VSelect,\n\n props: {\n autoSelectFirst: {\n type: Boolean,\n default: false,\n },\n filter: {\n type: Function,\n default: (item: any, queryText: string, itemText: string) => {\n return itemText.toLocaleLowerCase().indexOf(queryText.toLocaleLowerCase()) > -1\n },\n } as PropValidator<(item: any, queryText: string, itemText: string) => boolean>,\n hideNoData: Boolean,\n menuProps: {\n type: VSelect.props.menuProps.type,\n default: () => defaultMenuProps,\n },\n noFilter: Boolean,\n searchInput: {\n type: String as PropType<string | null>,\n },\n },\n\n data () {\n return {\n lazySearch: this.searchInput,\n }\n },\n\n computed: {\n classes (): object {\n return {\n ...VSelect.computed.classes.call(this),\n 'v-autocomplete': true,\n 'v-autocomplete--is-selecting-index': this.selectedIndex > -1,\n }\n },\n computedItems (): object[] {\n return this.filteredItems\n },\n selectedValues (): object[] {\n return this.selectedItems.map(item => this.getValue(item))\n },\n hasDisplayedItems (): boolean {\n return this.hideSelected\n ? this.filteredItems.some(item => !this.hasItem(item))\n : this.filteredItems.length > 0\n },\n currentRange (): number {\n if (this.selectedItem == null) return 0\n\n return String(this.getText(this.selectedItem)).length\n },\n filteredItems (): object[] {\n if (!this.isSearching || this.noFilter || this.internalSearch == null) return this.allItems\n\n return this.allItems.filter(item => {\n const value = getPropertyFromItem(item, this.itemText)\n const text = value != null ? String(value) : ''\n\n return this.filter(item, String(this.internalSearch), text)\n })\n },\n internalSearch: {\n get (): string | null {\n return this.lazySearch\n },\n set (val: any) { // TODO: this should be `string | null` but it breaks lots of other types\n // emit update event only when the new\n // search value is different from previous\n if (this.lazySearch !== val) {\n this.lazySearch = val\n this.$emit('update:search-input', val)\n }\n },\n },\n isAnyValueAllowed (): boolean {\n return false\n },\n isDirty (): boolean {\n return this.searchIsDirty || this.selectedItems.length > 0\n },\n isSearching (): boolean {\n return (\n this.multiple &&\n this.searchIsDirty\n ) || (\n this.searchIsDirty &&\n this.internalSearch !== this.getText(this.selectedItem)\n )\n },\n menuCanShow (): boolean {\n if (!this.isFocused) return false\n\n return this.hasDisplayedItems || !this.hideNoData\n },\n $_menuProps (): object {\n const props = VSelect.computed.$_menuProps.call(this);\n (props as any).contentClass = `v-autocomplete__content ${(props as any).contentClass || ''}`.trim()\n return {\n ...defaultMenuProps,\n ...props,\n }\n },\n searchIsDirty (): boolean {\n return this.internalSearch != null &&\n this.internalSearch !== ''\n },\n selectedItem (): any {\n if (this.multiple) return null\n\n return this.selectedItems.find(i => {\n return this.valueComparator(this.getValue(i), this.getValue(this.internalValue))\n })\n },\n listData () {\n const data = VSelect.computed.listData.call(this) as any\n\n data.props = {\n ...data.props,\n items: this.virtualizedItems,\n noFilter: (\n this.noFilter ||\n !this.isSearching ||\n !this.filteredItems.length\n ),\n searchInput: this.internalSearch,\n }\n\n return data\n },\n },\n\n watch: {\n filteredItems: 'onFilteredItemsChanged',\n internalValue: 'setSearch',\n isFocused (val) {\n if (val) {\n document.addEventListener('copy', this.onCopy)\n this.$refs.input && this.$refs.input.select()\n } else {\n document.removeEventListener('copy', this.onCopy)\n this.blur()\n this.updateSelf()\n }\n },\n isMenuActive (val) {\n if (val || !this.hasSlot) return\n\n this.lazySearch = null\n },\n items (val, oldVal) {\n // If we are focused, the menu\n // is not active, hide no data is enabled,\n // and items change\n // User is probably async loading\n // items, try to activate the menu\n if (\n !(oldVal && oldVal.length) &&\n this.hideNoData &&\n this.isFocused &&\n !this.isMenuActive &&\n val.length\n ) this.activateMenu()\n },\n searchInput (val: string) {\n this.lazySearch = val\n },\n internalSearch: 'onInternalSearchChanged',\n itemText: 'updateSelf',\n },\n\n created () {\n this.setSearch()\n },\n\n unmounted () {\n document.removeEventListener('copy', this.onCopy)\n },\n\n methods: {\n onFilteredItemsChanged (val: never[], oldVal: never[]) {\n // TODO: How is the watcher triggered\n // for duplicate items? no idea\n if (val === oldVal) return\n\n if (!this.autoSelectFirst) {\n const preSelectedItem = oldVal[this.$refs.menu.listIndex]\n\n if (preSelectedItem) {\n this.setMenuIndex(val.findIndex(i => i === preSelectedItem))\n } else {\n this.setMenuIndex(-1)\n }\n this.$emit('update:list-index', this.$refs.menu.listIndex)\n }\n\n this.$nextTick(() => {\n if (\n !this.internalSearch ||\n (val.length !== 1 &&\n !this.autoSelectFirst)\n ) return\n\n this.$refs.menu.getTiles()\n\n if (this.autoSelectFirst && val.length) {\n this.setMenuIndex(0)\n this.$emit('update:list-index', this.$refs.menu.listIndex)\n }\n })\n },\n onInternalSearchChanged () {\n this.updateMenuDimensions()\n },\n updateMenuDimensions () {\n // Type from menuable is not making it through\n this.isMenuActive && this.$refs.menu && this.$refs.menu.updateDimensions()\n },\n changeSelectedIndex (keyCode: number) {\n // Do not allow changing of selectedIndex\n // when search is dirty\n if (this.searchIsDirty) return\n\n if (this.multiple && keyCode === keyCodes.left) {\n if (this.selectedIndex === -1) {\n this.selectedIndex = this.selectedItems.length - 1\n } else {\n this.selectedIndex--\n }\n } else if (this.multiple && keyCode === keyCodes.right) {\n if (this.selectedIndex >= this.selectedItems.length - 1) {\n this.selectedIndex = -1\n } else {\n this.selectedIndex++\n }\n } else if (keyCode === keyCodes.backspace || keyCode === keyCodes.delete) {\n this.deleteCurrentItem()\n }\n },\n deleteCurrentItem () {\n const curIndex = this.selectedIndex\n const curItem = this.selectedItems[curIndex]\n\n // Do nothing if input or item is disabled\n if (\n !this.isInteractive ||\n this.getDisabled(curItem)\n ) return\n\n const lastIndex = this.selectedItems.length - 1\n\n // Select the last item if\n // there is no selection\n if (\n this.selectedIndex === -1 &&\n lastIndex !== 0\n ) {\n this.selectedIndex = lastIndex\n\n return\n }\n\n const length = this.selectedItems.length\n const nextIndex = curIndex !== length - 1\n ? curIndex\n : curIndex - 1\n const nextItem = this.selectedItems[nextIndex]\n\n if (!nextItem) {\n this.setValue(this.multiple ? [] : null)\n } else {\n this.selectItem(curItem)\n }\n\n this.selectedIndex = nextIndex\n },\n clearableCallback () {\n this.internalSearch = null\n\n VSelect.methods.clearableCallback.call(this)\n },\n genInput () {\n const input = VTextField.methods.genInput.call(this)\n\n input.data = mergeData(input.props!, {\n 'aria-activedescendant': getObjectValueByPath(this.$refs.menu, 'activeTile.id'),\n autocomplete: getObjectValueByPath(input.data!, 'attrs.autocomplete', 'off'),\n value: this.internalSearch,\n })\n\n return input\n },\n genInputSlot () {\n const slot = VSelect.methods.genInputSlot.call(this)\n\n slot.props.role = 'combobox'\n\n return slot\n },\n genSelections (): VNode | never[] {\n return this.hasSlot || this.multiple\n ? VSelect.methods.genSelections.call(this)\n : []\n },\n onClick (e: MouseEvent) {\n if (!this.isInteractive) return\n\n this.selectedIndex > -1\n ? (this.selectedIndex = -1)\n : this.onFocus()\n\n if (!this.isAppendInner(e.target)) this.activateMenu()\n },\n onInput (e: Event) {\n if (\n this.selectedIndex > -1 ||\n !e.target\n ) return\n\n const target = e.target as HTMLInputElement\n const value = target.value\n\n // If typing and menu is not currently active\n if (target.value) this.activateMenu()\n\n if (!this.multiple && value === '') this.deleteCurrentItem()\n\n this.internalSearch = value\n this.badInput = target.validity && target.validity.badInput\n },\n onKeyDown (e: KeyboardEvent) {\n const keyCode = e.keyCode\n\n if (\n e.ctrlKey ||\n ![keyCodes.home, keyCodes.end].includes(keyCode)\n ) {\n VSelect.methods.onKeyDown.call(this, e)\n }\n\n // The ordering is important here\n // allows new value to be updated\n // and then moves the index to the\n // proper location\n this.changeSelectedIndex(keyCode)\n },\n onSpaceDown (e: KeyboardEvent) { /* noop */ },\n onTabDown (e: KeyboardEvent) {\n VSelect.methods.onTabDown.call(this, e)\n this.updateSelf()\n },\n onUpDown (e: Event) {\n // Prevent screen from scrolling\n e.preventDefault()\n\n // For autocomplete / combobox, cycling\n // interfers with native up/down behavior\n // instead activate the menu\n this.activateMenu()\n },\n selectItem (item: object) {\n VSelect.methods.selectItem.call(this, item)\n this.setSearch()\n },\n setSelectedItems () {\n VSelect.methods.setSelectedItems.call(this)\n\n // #4273 Don't replace if searching\n // #4403 Don't replace if focused\n if (!this.isFocused) this.setSearch()\n },\n setSearch () {\n // Wait for nextTick so selectedItem\n // has had time to update\n this.$nextTick(() => {\n if (\n !this.multiple ||\n !this.internalSearch ||\n !this.isMenuActive\n ) {\n this.internalSearch = (\n !this.selectedItems.length ||\n this.multiple ||\n this.hasSlot\n )\n ? null\n : this.getText(this.selectedItem)\n }\n })\n },\n updateSelf () {\n if (\n !this.searchIsDirty &&\n !this.internalValue\n ) return\n\n if (\n !this.multiple &&\n !this.valueComparator(\n this.internalSearch,\n this.getValue(this.internalValue)\n )\n ) {\n this.setSearch()\n }\n },\n hasItem (item: any): boolean {\n return this.selectedValues.indexOf(this.getValue(item)) > -1\n },\n onCopy (event: ClipboardEvent) {\n if (this.selectedIndex === -1) return\n\n const currentItem = this.selectedItems[this.selectedIndex]\n const currentItemText = this.getText(currentItem)\n event.clipboardData?.setData('text/plain', currentItemText)\n event.clipboardData?.setData('text/vnd.vuetify.autocomplete.item+plain', currentItemText)\n event.preventDefault()\n },\n },\n})\n"],"sourceRoot":"","file":"VAutocomplete.js"}
|
|
@@ -8,7 +8,8 @@ import Colorable from '../../mixins/colorable';
|
|
|
8
8
|
import Themeable from '../../mixins/themeable';
|
|
9
9
|
import Toggleable from '../../mixins/toggleable';
|
|
10
10
|
import Transitionable from '../../mixins/transitionable';
|
|
11
|
-
import { factory as PositionableFactory } from '../../mixins/positionable';
|
|
11
|
+
import { factory as PositionableFactory } from '../../mixins/positionable';
|
|
12
|
+
import mergeData from '../../util/mergeData'; // Utilities
|
|
12
13
|
|
|
13
14
|
import mixins from '../../util/mixins';
|
|
14
15
|
import { convertToUnit, getSlot } from '../../util/helpers';
|
|
@@ -173,10 +174,9 @@ export default mixins(Colorable, PositionableFactory(['left', 'bottom']), Themea
|
|
|
173
174
|
...attrs
|
|
174
175
|
} = this.$attrs;
|
|
175
176
|
if (this.inline && this.left) children.unshift(badge);else children.push(badge);
|
|
176
|
-
return h('span', {
|
|
177
|
-
class: ['v-badge', this.classes]
|
|
178
|
-
|
|
179
|
-
}, children);
|
|
177
|
+
return h('span', mergeData({
|
|
178
|
+
class: ['v-badge', this.classes]
|
|
179
|
+
}, attrs), children);
|
|
180
180
|
}
|
|
181
181
|
|
|
182
182
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/VBadge/VBadge.ts"],"names":[],"mappings":"AAAA,SAAQ,UAAR,EAAoB,CAApB,QAA4B,KAA5B,C,CACA;;AACA,OAAO,4CAAP,C,CAEA;;AACA,OAAO,KAAP,MAAkB,gBAAlB,C,CAEA;;AACA,OAAO,SAAP,MAAsB,wBAAtB;AACA,OAAO,SAAP,MAAsB,wBAAtB;AACA,OAAO,UAAP,MAAuB,yBAAvB;AACA,OAAO,cAAP,MAA2B,6BAA3B;AACA,SAAS,OAAO,IAAI,mBAApB,QAA+C,2BAA/C,C,
|
|
1
|
+
{"version":3,"sources":["../../../src/components/VBadge/VBadge.ts"],"names":[],"mappings":"AAAA,SAAQ,UAAR,EAAoB,CAApB,QAA4B,KAA5B,C,CACA;;AACA,OAAO,4CAAP,C,CAEA;;AACA,OAAO,KAAP,MAAkB,gBAAlB,C,CAEA;;AACA,OAAO,SAAP,MAAsB,wBAAtB;AACA,OAAO,SAAP,MAAsB,wBAAtB;AACA,OAAO,UAAP,MAAuB,yBAAvB;AACA,OAAO,cAAP,MAA2B,6BAA3B;AACA,SAAS,OAAO,IAAI,mBAApB,QAA+C,2BAA/C;AACA,OAAO,SAAP,MAAsB,sBAAtB,C,CACA;;AACA,OAAO,MAAP,MAAmB,mBAAnB;AACA,SACE,aADF,EAEE,OAFF,QAGO,oBAHP;AAQA,eAAe,MAAM,CACnB,SADmB,EAEnB,mBAAmB,CAAC,CAAC,MAAD,EAAS,QAAT,CAAD,CAFA,EAGnB,SAHmB,EAInB,UAJmB,EAKnB,cALmB,CAAN,CAOb,MAPa,CAON;AACP,EAAA,IAAI,EAAE,SADC;AAGP,EAAA,KAAK,EAAE;AACL,IAAA,MAAM,EAAE,OADH;AAEL,IAAA,QAAQ,EAAE,OAFL;AAGL,IAAA,KAAK,EAAE;AACL,MAAA,IAAI,EAAE,MADD;AAEL,MAAA,OAAO,EAAE;AAFJ,KAHF;AAOL,IAAA,OAAO,EAAE;AAAE,MAAA,QAAQ,EAAE;AAAZ,KAPJ;AAQL,IAAA,GAAG,EAAE,OARA;AASL,IAAA,KAAK,EAAE;AACL,MAAA,IAAI,EAAE,MADD;AAEL,MAAA,OAAO,EAAE;AAFJ,KATF;AAaL,IAAA,IAAI,EAAE,MAbD;AAcL,IAAA,MAAM,EAAE,OAdH;AAeL,IAAA,OAAO,EAAE,CAAC,MAAD,EAAS,MAAT,CAfJ;AAgBL,IAAA,OAAO,EAAE,CAAC,MAAD,EAAS,MAAT,CAhBJ;AAiBL,IAAA,OAAO,EAAE,OAjBJ;AAkBL,IAAA,IAAI,EAAE,OAlBD;AAmBL,IAAA,UAAU,EAAE;AACV,MAAA,IAAI,EAAE,MADI;AAEV,MAAA,OAAO,EAAE;AAFC,KAnBP;AAuBL,IAAA,KAAK,EAAE;AAAE,MAAA,OAAO,EAAE;AAAX;AAvBF,GAHA;AA6BP,EAAA,QAAQ,EAAE;AACR,IAAA,OAAO,GAAA;AACL,aAAO;AACL,2BAAmB,KAAK,MADnB;AAEL,6BAAqB,KAAK,QAFrB;AAGL,2BAAmB,KAAK,MAHnB;AAIL,wBAAgB,KAAK,GAJhB;AAKL,yBAAiB,KAAK,IAAL,IAAa,IALzB;AAML,2BAAmB,KAAK,MANnB;AAOL,yBAAiB,KAAK,IAPjB;AAQL,4BAAoB,KAAK,OARpB;AASL,yBAAiB,KAAK,IATjB;AAUL,WAAG,KAAK;AAVH,OAAP;AAYD,KAdO;;AAeR,IAAA,cAAc,GAAA;AACZ,aAAO,KAAK,MAAL,GAAc,MAAd,GAAuB,KAAK,eAAnC;AACD,KAjBO;;AAkBR,IAAA,YAAY,GAAA;AACV,UAAI,KAAK,KAAT,EAAgB;AACd,eAAO,KAAK,IAAL,GAAY,KAAK,eAAjB,GAAmC,MAA1C;AACD;;AAED,aAAO,KAAK,IAAL,GAAY,MAAZ,GAAqB,KAAK,eAAjC;AACD,KAxBO;;AAyBR,IAAA,aAAa,GAAA;AACX,UAAI,KAAK,KAAT,EAAgB;AACd,eAAO,KAAK,IAAL,GAAY,MAAZ,GAAqB,KAAK,eAAjC;AACD;;AAED,aAAO,CAAC,KAAK,IAAN,GAAa,MAAb,GAAsB,KAAK,eAAlC;AACD,KA/BO;;AAgCR,IAAA,WAAW,GAAA;AACT,aAAO,KAAK,MAAL,GAAc,KAAK,eAAnB,GAAqC,MAA5C;AACD,KAlCO;;AAmCR,IAAA,eAAe,GAAA;AACb,aAAO,KAAK,YAAL,CAAkB,KAAK,OAAvB,CAAP;AACD,KArCO;;AAsCR,IAAA,eAAe,GAAA;AACb,aAAO,KAAK,YAAL,CAAkB,KAAK,OAAvB,CAAP;AACD,KAxCO;;AAyCR,IAAA,KAAK,GAAA;AACH,aAAO,KAAK,QAAL,CAAc,GAArB;AACD,KA3CO;;AA4CR;AACA;AACA,IAAA,MAAM,GAAA;AACJ,UAAI,KAAK,OAAT,EAAkB,OAAO,KAAK,GAAL,GAAW,CAAX,GAAe,EAAtB;AAClB,aAAO,KAAK,GAAL,GAAW,CAAX,GAAe,CAAtB;AACD,KAjDO;;AAkDR,IAAA,MAAM,GAAA;AACJ,UAAI,KAAK,MAAT,EAAiB,OAAO,EAAP;AAEjB,aAAO;AACL,QAAA,MAAM,EAAE,KAAK,cADR;AAEL,QAAA,IAAI,EAAE,KAAK,YAFN;AAGL,QAAA,KAAK,EAAE,KAAK,aAHP;AAIL,QAAA,GAAG,EAAE,KAAK;AAJL,OAAP;AAMD;;AA3DO,GA7BH;AA2FP,EAAA,OAAO,EAAE;AACP,IAAA,YAAY,CAAE,MAAF,EAAyB;AACnC,aAAO,eAAe,aAAa,CAAC,MAAM,IAAI,KAAK,MAAhB,CAAuB,GAA1D;AACD,KAHM;;AAIP,IAAA,QAAQ,GAAA;AACN,YAAM,IAAI,GAAG,KAAK,QAAL,CAAc,IAA3B;AACA,YAAM,KAAK,GAAG,KAAK,MAAL,CAAY,YAAZ,KAA6B,IAAI,CAAC,CAAL,CAAO,KAAK,KAAZ,CAA3C;AAEA,YAAM,IAAI,GAAG,KAAK,kBAAL,CAAwB,KAAK,KAA7B,EAAoC;AAC/C,QAAA,KAAK,EAAE,gBADwC;AAE/C,QAAA,KAAK,EAAE,KAAK,MAFmC;AAG/C,uBAAe,KAAK,MAAL,CAAY,aAAZ,KAA8B,MAHE;AAI/C,sBAAc,KAJiC;AAK/C,qBAAa,KAAK,MAAL,CAAY,WAAZ,KAA4B,QALM;AAM/C,QAAA,KAAK,EAAE,KAAK,MAAL,CAAY,KAN4B;AAO/C,QAAA,IAAI,EAAE,KAAK,MAAL,CAAY,IAAZ,IAAoB,QAPqB;AAQ/C,QAAA,UAAU,EAAE,CAAC;AACX,UAAA,IAAI,EAAE,MADK;AAEX,UAAA,KAAK,EAAE,KAAK;AAFD,SAAD;AARmC,OAApC,CAAb;AAcA,YAAM,KAAK,GAAG,CAAC,CAAC,MAAD,EAAS,IAAT,EAAe,CAAC,KAAK,eAAL,EAAD,CAAf,CAAf;AAEA,UAAI,CAAC,KAAK,UAAV,EAAsB,OAAO,KAAP;AAEtB,aAAO,CAAC,CAAC,UAAD,EAAa;AACnB,QAAA,IAAI,EAAE,KAAK,UADQ;AAEnB,QAAA,MAAM,EAAE,KAAK,MAFM;AAGnB,QAAA,IAAI,EAAE,KAAK;AAHQ,OAAb,EAIL,CAAC,KAAD,CAJK,CAAR;AAKD,KA/BM;;AAgCP,IAAA,eAAe,GAAA;AACb;AACA,UAAI,KAAK,GAAT,EAAc,OAAO,SAAP;AAEd,YAAM,IAAI,GAAG,OAAO,CAAC,IAAD,EAAO,OAAP,CAApB;AAEA,UAAI,IAAJ,EAAU,OAAO,IAAP;AACV,UAAI,KAAK,OAAT,EAAkB,OAAO,MAAM,CAAC,KAAK,OAAN,CAAb;AAClB,UAAI,KAAK,IAAT,EAAe,OAAO,CAAC,CAAC,KAAD,EAAQ,KAAK,IAAb,CAAR;AAEf,aAAO,SAAP;AACD,KA3CM;;AA4CP,IAAA,eAAe,GAAA;AACb,aAAO,CAAC,CAAC,MAAD,EAAS;AACf,QAAA,KAAK,EAAE;AADQ,OAAT,EAEL,CAAC,KAAK,QAAL,EAAD,CAFK,CAAR;AAGD;;AAhDM,GA3FF;;AA8IP,EAAA,MAAM,GAAA;AACJ,UAAM,KAAK,GAAG,CAAC,KAAK,eAAL,EAAD,CAAd;AACA,UAAM,QAAQ,GAAG,CAAC,OAAO,CAAC,IAAD,CAAR,CAAjB;AACA,UAAM;AACJ,qBAAe,EADX;AAEJ,oBAAc,EAFV;AAGJ,mBAAa,EAHT;AAIJ,MAAA,IAJI;AAKJ,MAAA,KALI;AAMJ,SAAG;AANC,QAOF,KAAK,MAPT;AASA,QAAI,KAAK,MAAL,IAAe,KAAK,IAAxB,EAA8B,QAAQ,CAAC,OAAT,CAAiB,KAAjB,EAA9B,KACK,QAAQ,CAAC,IAAT,CAAc,KAAd;AAEL,WAAO,CAAC,CAAC,MAAD,EAAS,SAAS,CAAC;AACzB,MAAA,KAAK,EAAE,CAAC,SAAD,EAAY,KAAK,OAAjB;AADkB,KAAD,EAEvB,KAFuB,CAAlB,EAGN,QAHM,CAAR;AAID;;AAjKM,CAPM,CAAf","sourcesContent":["import {Transition, h} from 'vue'\n// Styles\nimport './VBadge.sass'\n\n// Components\nimport VIcon from '../VIcon/VIcon'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport Themeable from '../../mixins/themeable'\nimport Toggleable from '../../mixins/toggleable'\nimport Transitionable from '../../mixins/transitionable'\nimport { factory as PositionableFactory } from '../../mixins/positionable'\nimport mergeData from '../../util/mergeData'\n// Utilities\nimport mixins from '../../util/mixins'\nimport {\n convertToUnit,\n getSlot,\n} from '../../util/helpers'\n\n// Types\nimport { VNode } from 'vue'\n\nexport default mixins(\n Colorable,\n PositionableFactory(['left', 'bottom']),\n Themeable,\n Toggleable,\n Transitionable,\n/* @vue/component */\n).extend({\n name: 'v-badge',\n\n props: {\n avatar: Boolean,\n bordered: Boolean,\n color: {\n type: String,\n default: 'primary',\n },\n content: { required: false },\n dot: Boolean,\n label: {\n type: String,\n default: '$vuetify.badge',\n },\n icon: String,\n inline: Boolean,\n offsetX: [Number, String],\n offsetY: [Number, String],\n overlap: Boolean,\n tile: Boolean,\n transition: {\n type: String,\n default: 'scale-rotate-transition',\n },\n value: { default: true },\n },\n\n computed: {\n classes (): object {\n return {\n 'v-badge--avatar': this.avatar,\n 'v-badge--bordered': this.bordered,\n 'v-badge--bottom': this.bottom,\n 'v-badge--dot': this.dot,\n 'v-badge--icon': this.icon != null,\n 'v-badge--inline': this.inline,\n 'v-badge--left': this.left,\n 'v-badge--overlap': this.overlap,\n 'v-badge--tile': this.tile,\n ...this.themeClasses,\n }\n },\n computedBottom (): string {\n return this.bottom ? 'auto' : this.computedYOffset\n },\n computedLeft (): string {\n if (this.isRtl) {\n return this.left ? this.computedXOffset : 'auto'\n }\n\n return this.left ? 'auto' : this.computedXOffset\n },\n computedRight (): string {\n if (this.isRtl) {\n return this.left ? 'auto' : this.computedXOffset\n }\n\n return !this.left ? 'auto' : this.computedXOffset\n },\n computedTop (): string {\n return this.bottom ? this.computedYOffset : 'auto'\n },\n computedXOffset (): string {\n return this.calcPosition(this.offsetX)\n },\n computedYOffset (): string {\n return this.calcPosition(this.offsetY)\n },\n isRtl (): boolean {\n return this.$vuetify.rtl\n },\n // Default fallback if offsetX\n // or offsetY are undefined.\n offset (): number {\n if (this.overlap) return this.dot ? 8 : 12\n return this.dot ? 2 : 4\n },\n styles (): object {\n if (this.inline) return {}\n\n return {\n bottom: this.computedBottom,\n left: this.computedLeft,\n right: this.computedRight,\n top: this.computedTop,\n }\n },\n },\n\n methods: {\n calcPosition (offset: string | number): string {\n return `calc(100% - ${convertToUnit(offset || this.offset)})`\n },\n genBadge () {\n const lang = this.$vuetify.lang\n const label = this.$attrs['aria-label'] || lang.t(this.label)\n\n const data = this.setBackgroundColor(this.color, {\n class: 'v-badge__badge',\n style: this.styles,\n 'aria-atomic': this.$attrs['aria-atomic'] || 'true',\n 'aria-label': label,\n 'aria-live': this.$attrs['aria-live'] || 'polite',\n title: this.$attrs.title,\n role: this.$attrs.role || 'status',\n directives: [{\n name: 'show',\n value: this.isActive,\n }],\n })\n\n const badge = h('span', data, [this.genBadgeContent()])\n\n if (!this.transition) return badge\n\n return h(Transition, {\n name: this.transition,\n origin: this.origin,\n mode: this.mode,\n }, [badge])\n },\n genBadgeContent () {\n // Dot prop shows no content\n if (this.dot) return undefined\n\n const slot = getSlot(this, 'badge')\n\n if (slot) return slot\n if (this.content) return String(this.content)\n if (this.icon) return h(VIcon, this.icon)\n\n return undefined\n },\n genBadgeWrapper () {\n return h('span', {\n class: 'v-badge__wrapper',\n }, [this.genBadge()])\n },\n },\n\n render (): VNode {\n const badge = [this.genBadgeWrapper()]\n const children = [getSlot(this)]\n const {\n 'aria-atomic': _x,\n 'aria-label': _y,\n 'aria-live': _z,\n role,\n title,\n ...attrs\n } = this.$attrs\n\n if (this.inline && this.left) children.unshift(badge)\n else children.push(badge)\n\n return h('span', mergeData({\n class: ['v-badge', this.classes]\n }, attrs)\n , children)\n },\n})\n"],"sourceRoot":"","file":"VBadge.js"}
|
|
@@ -42,7 +42,7 @@ export default mixins(Elevatable, Themeable).extend({
|
|
|
42
42
|
type: [Number, String],
|
|
43
43
|
default: 150
|
|
44
44
|
},
|
|
45
|
-
|
|
45
|
+
modelValue: {
|
|
46
46
|
type: [Object, String]
|
|
47
47
|
},
|
|
48
48
|
width: {
|
|
@@ -60,8 +60,8 @@ export default mixins(Elevatable, Themeable).extend({
|
|
|
60
60
|
}),
|
|
61
61
|
computed: {
|
|
62
62
|
hideAlpha() {
|
|
63
|
-
if (!this.
|
|
64
|
-
return !hasAlpha(this.
|
|
63
|
+
if (!this.modelValue) return false;
|
|
64
|
+
return !hasAlpha(this.modelValue);
|
|
65
65
|
}
|
|
66
66
|
|
|
67
67
|
},
|
|
@@ -77,10 +77,10 @@ export default mixins(Elevatable, Themeable).extend({
|
|
|
77
77
|
methods: {
|
|
78
78
|
updateColor(color) {
|
|
79
79
|
this.internalValue = color;
|
|
80
|
-
const value = extractColor(this.internalValue, this.
|
|
80
|
+
const value = extractColor(this.internalValue, this.modelValue);
|
|
81
81
|
|
|
82
|
-
if (!deepEqual(value, this.
|
|
83
|
-
this.$emit('
|
|
82
|
+
if (!deepEqual(value, this.modelValue)) {
|
|
83
|
+
this.$emit('update:modelValue', value);
|
|
84
84
|
this.$emit('update:color', this.internalValue);
|
|
85
85
|
}
|
|
86
86
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/VColorPicker/VColorPicker.ts"],"names":[],"mappings":"AAAA,SAAQ,CAAR,QAAgB,KAAhB,C,CACA;;AACA,OAAO,wDAAP,C,CAEA;;AACA,OAAO,MAAP,MAAmB,kBAAnB;AACA,OAAO,mBAAP,MAAgC,uBAAhC;AACA,OAAO,kBAAP,MAA+B,sBAA/B;AACA,OAAO,gBAAP,IAAiC,KAAjC,QAA8C,oBAA9C;AACA,OAAO,oBAAP,MAAiC,wBAAjC,C,CAEA;;AACA,SAA4B,UAA5B,EAAwC,QAAxC,EAAkD,YAAlD,EAAgE,QAAhE,QAAgF,QAAhF;AACA,OAAO,MAAP,MAAmB,mBAAnB;AACA,SAAS,SAAT,QAA0B,oBAA1B,C,CAEA;;AACA,OAAO,UAAP,MAAuB,yBAAvB;AACA,OAAO,SAAP,MAAsB,wBAAtB;AAKA,eAAe,MAAM,CAAC,UAAD,EAAa,SAAb,CAAN,CAA8B,MAA9B,CAAqC;AAClD,EAAA,IAAI,EAAE,gBAD4C;AAGlD,EAAA,KAAK,EAAE;AACL,IAAA,YAAY,EAAE;AACZ,MAAA,IAAI,EAAE,CAAC,MAAD,EAAS,MAAT,CADM;AAEZ,MAAA,OAAO,EAAE;AAFG,KADT;AAKL,IAAA,QAAQ,EAAE,OALL;AAML,IAAA,OAAO,EAAE;AACP,MAAA,IAAI,EAAE,CAAC,MAAD,EAAS,MAAT,CADC;AAEP,MAAA,OAAO,EAAE;AAFF,KANJ;AAUL,IAAA,IAAI,EAAE,OAVD;AAWL,IAAA,UAAU,EAAE,OAXP;AAYL,IAAA,WAAW,EAAE,OAZR;AAaL,IAAA,UAAU,EAAE,OAbP;AAcL,IAAA,cAAc,EAAE,OAdX;AAeL,IAAA,IAAI,EAAE;AACJ,MAAA,IAAI,EAAE,MADF;AAEJ,MAAA,OAAO,EAAE,MAFL;AAGJ,MAAA,SAAS,EAAG,CAAD,IAAe,MAAM,CAAC,IAAP,CAAY,KAAZ,EAAmB,QAAnB,CAA4B,CAA5B;AAHtB,KAfD;AAoBL,IAAA,YAAY,EAAE,OApBT;AAqBL,IAAA,QAAQ,EAAE,KArBL;AAsBL,IAAA,iBAAiB,EAAE;AACjB,MAAA,IAAI,EAAE,CAAC,MAAD,EAAS,MAAT,CADW;AAEjB,MAAA,OAAO,EAAE;AAFQ,KAtBd;AA0BL,IAAA,
|
|
1
|
+
{"version":3,"sources":["../../../src/components/VColorPicker/VColorPicker.ts"],"names":[],"mappings":"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","sourcesContent":["import {h} from 'vue'\n// Styles\nimport './VColorPicker.sass'\n\n// Components\nimport VSheet from '../VSheet/VSheet'\nimport VColorPickerPreview from './VColorPickerPreview'\nimport VColorPickerCanvas from './VColorPickerCanvas'\nimport VColorPickerEdit, { Mode, modes } from './VColorPickerEdit'\nimport VColorPickerSwatches from './VColorPickerSwatches'\n\n// Helpers\nimport { VColorPickerColor, parseColor, fromRGBA, extractColor, hasAlpha } from './util'\nimport mixins from '../../util/mixins'\nimport { deepEqual } from '../../util/helpers'\n\n// Mixins\nimport Elevatable from '../../mixins/elevatable'\nimport Themeable from '../../mixins/themeable'\n\n// Types\nimport { VNode, PropType } from 'vue'\n\nexport default mixins(Elevatable, Themeable).extend({\n name: 'v-color-picker',\n\n props: {\n canvasHeight: {\n type: [String, Number],\n default: 150,\n },\n disabled: Boolean,\n dotSize: {\n type: [Number, String],\n default: 10,\n },\n flat: Boolean,\n hideCanvas: Boolean,\n hideSliders: Boolean,\n hideInputs: Boolean,\n hideModeSwitch: Boolean,\n mode: {\n type: String,\n default: 'rgba',\n validator: (v: string) => Object.keys(modes).includes(v),\n },\n showSwatches: Boolean,\n swatches: Array as PropType<string[][]>,\n swatchesMaxHeight: {\n type: [Number, String],\n default: 150,\n },\n modelValue: {\n type: [Object, String],\n },\n width: {\n type: [Number, String],\n default: 300,\n },\n },\n\n data: () => ({\n internalValue: fromRGBA({ r: 255, g: 0, b: 0, a: 1 }),\n }),\n\n computed: {\n hideAlpha (): boolean {\n if (!this.modelValue) return false\n\n return !hasAlpha(this.modelValue)\n },\n },\n\n watch: {\n value: {\n handler (color: any) {\n this.updateColor(parseColor(color, this.internalValue))\n },\n immediate: true,\n },\n },\n\n methods: {\n updateColor (color: VColorPickerColor) {\n this.internalValue = color\n const value = extractColor(this.internalValue, this.modelValue)\n\n if (!deepEqual(value, this.modelValue)) {\n this.$emit('update:modelValue', value)\n this.$emit('update:color', this.internalValue)\n }\n },\n genCanvas (): VNode {\n return h(VColorPickerCanvas, {\n color: this.internalValue,\n disabled: this.disabled,\n dotSize: this.dotSize,\n width: this.width,\n height: this.canvasHeight,\n 'onUpdate:color': this.updateColor\n })\n },\n genControls (): VNode {\n return h('div', {\n class: 'v-color-picker__controls',\n }, [\n !this.hideSliders && this.genPreview(),\n !this.hideInputs && this.genEdit(),\n ])\n },\n genEdit (): VNode {\n return h(VColorPickerEdit, {\n color: this.internalValue,\n disabled: this.disabled,\n hideAlpha: this.hideAlpha,\n hideModeSwitch: this.hideModeSwitch,\n mode: this.mode,\n 'onUpdate:color': this.updateColor,\n 'onUpdate:mode': (v: Mode) => this.$emit('update:mode', v),\n })\n },\n genPreview (): VNode {\n return h(VColorPickerPreview, {\n props: {\n color: this.internalValue,\n disabled: this.disabled,\n hideAlpha: this.hideAlpha,\n },\n on: {\n 'update:color': this.updateColor,\n },\n })\n },\n genSwatches (): VNode {\n return h(VColorPickerSwatches, {\n props: {\n dark: this.dark,\n light: this.light,\n disabled: this.disabled,\n swatches: this.swatches,\n color: this.internalValue,\n maxHeight: this.swatchesMaxHeight,\n },\n on: {\n 'update:color': this.updateColor,\n },\n })\n },\n },\n\n render (): VNode {\n return h(VSheet, {\n class: 'v-color-picker',\n class: {\n 'v-color-picker--flat': this.flat,\n ...this.themeClasses,\n ...this.elevationClasses,\n },\n props: {\n maxWidth: this.width,\n },\n }, [\n !this.hideCanvas && this.genCanvas(),\n (!this.hideSliders || !this.hideInputs) && this.genControls(),\n this.showSwatches && this.genSwatches(),\n ])\n },\n})\n"],"sourceRoot":"","file":"VColorPicker.js"}
|
|
@@ -200,8 +200,17 @@ export default defineComponent({
|
|
|
200
200
|
this.$emit('update:options', options);
|
|
201
201
|
},
|
|
202
202
|
|
|
203
|
-
deep: true
|
|
204
|
-
|
|
203
|
+
deep: true
|
|
204
|
+
/*
|
|
205
|
+
In Vue 3 this watcher fires even before created hook and
|
|
206
|
+
if mounting fails and the consumer code relies on update:options event to fetch data
|
|
207
|
+
it causes infinite loop because each data update triggers an attempt to render a table,
|
|
208
|
+
but because mounting constantly fails(for example, due to error in slot) it never happens.
|
|
209
|
+
Previously, in Vue 2 slot errors didn't cause mounting failure, we had partially rendered component.
|
|
210
|
+
This immediate prop is compensated by firing event in mounted hook.
|
|
211
|
+
*/
|
|
212
|
+
// immediate: true,
|
|
213
|
+
|
|
205
214
|
},
|
|
206
215
|
|
|
207
216
|
page(page) {
|
|
@@ -422,6 +431,10 @@ export default defineComponent({
|
|
|
422
431
|
|
|
423
432
|
render() {
|
|
424
433
|
return this.$slots.default && this.$slots.default(this.scopedProps)[0];
|
|
434
|
+
},
|
|
435
|
+
|
|
436
|
+
mounted() {
|
|
437
|
+
this.$emit('update:options', this.internalOptions);
|
|
425
438
|
}
|
|
426
439
|
|
|
427
440
|
});
|