@vuetify/nightly 3.8.6-master.2025-05-26 → 3.8.7-master.2025-05-27
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/CHANGELOG.md +4 -28
- package/dist/json/attributes.json +1795 -1795
- package/dist/json/importMap-labs.json +28 -28
- package/dist/json/importMap.json +188 -188
- package/dist/json/web-types.json +3192 -3192
- package/dist/vuetify-labs.cjs +14 -13
- package/dist/vuetify-labs.css +4001 -4001
- package/dist/vuetify-labs.d.ts +64 -64
- package/dist/vuetify-labs.esm.js +14 -13
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +14 -13
- package/dist/vuetify-labs.min.css +2 -2
- package/dist/vuetify.cjs +14 -13
- package/dist/vuetify.cjs.map +1 -1
- package/dist/vuetify.css +4046 -4046
- package/dist/vuetify.d.ts +64 -64
- package/dist/vuetify.esm.js +14 -13
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +14 -13
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +11 -10
- package/dist/vuetify.min.js.map +1 -1
- package/lib/components/VNumberInput/VNumberInput.js +11 -10
- package/lib/components/VNumberInput/VNumberInput.js.map +1 -1
- package/lib/entry-bundler.js +1 -1
- package/lib/framework.d.ts +64 -64
- package/lib/framework.js +1 -1
- package/package.json +1 -1
@@ -115,22 +115,18 @@ export const VNumberInput = genericComponent()({
|
|
115
115
|
const controlNodeDefaultHeight = toRef(() => controlVariant.value === 'stacked' ? 'auto' : '100%');
|
116
116
|
const incrementSlotProps = {
|
117
117
|
props: {
|
118
|
-
style: {
|
119
|
-
touchAction: 'none'
|
120
|
-
},
|
121
118
|
onClick: onControlClick,
|
122
119
|
onPointerup: onControlMouseup,
|
123
|
-
onPointerdown: onUpControlMousedown
|
120
|
+
onPointerdown: onUpControlMousedown,
|
121
|
+
onPointercancel: onControlPointerCancel
|
124
122
|
}
|
125
123
|
};
|
126
124
|
const decrementSlotProps = {
|
127
125
|
props: {
|
128
|
-
style: {
|
129
|
-
touchAction: 'none'
|
130
|
-
},
|
131
126
|
onClick: onControlClick,
|
132
127
|
onPointerup: onControlMouseup,
|
133
|
-
onPointerdown: onDownControlMousedown
|
128
|
+
onPointerdown: onDownControlMousedown,
|
129
|
+
onPointercancel: onControlPointerCancel
|
134
130
|
}
|
135
131
|
};
|
136
132
|
watch(() => props.precision, () => formatInputValue());
|
@@ -227,6 +223,11 @@ export const VNumberInput = genericComponent()({
|
|
227
223
|
e.stopPropagation();
|
228
224
|
holdStart('down');
|
229
225
|
}
|
226
|
+
function onControlPointerCancel(e) {
|
227
|
+
const el = e.currentTarget;
|
228
|
+
el?.releasePointerCapture(e.pointerId);
|
229
|
+
holdStop();
|
230
|
+
}
|
230
231
|
function clampModel() {
|
231
232
|
if (controlsDisabled.value) return;
|
232
233
|
if (!vTextFieldRef.value) return;
|
@@ -278,8 +279,8 @@ export const VNumberInput = genericComponent()({
|
|
278
279
|
"onClick": onControlClick,
|
279
280
|
"onPointerdown": onUpControlMousedown,
|
280
281
|
"onPointerup": onControlMouseup,
|
282
|
+
"onPointercancel": onControlPointerCancel,
|
281
283
|
"size": controlNodeSize.value,
|
282
|
-
"style": "touch-action: none",
|
283
284
|
"tabindex": "-1"
|
284
285
|
}, null) : _createVNode(VDefaultsProvider, {
|
285
286
|
"key": "increment-defaults",
|
@@ -308,8 +309,8 @@ export const VNumberInput = genericComponent()({
|
|
308
309
|
"onClick": onControlClick,
|
309
310
|
"onPointerdown": onDownControlMousedown,
|
310
311
|
"onPointerup": onControlMouseup,
|
312
|
+
"onPointercancel": onControlPointerCancel,
|
311
313
|
"size": controlNodeSize.value,
|
312
|
-
"style": "touch-action: none",
|
313
314
|
"tabindex": "-1"
|
314
315
|
}, null) : _createVNode(VDefaultsProvider, {
|
315
316
|
"key": "decrement-defaults",
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"VNumberInput.js","names":["VBtn","VDefaultsProvider","VDivider","makeVTextFieldProps","VTextField","useHold","useFocus","useForm","forwardRefs","useProxiedModel","computed","nextTick","onMounted","ref","shallowRef","toRef","watch","watchEffect","clamp","extractNumber","genericComponent","omit","propsFactory","useRender","makeVNumberInputProps","controlVariant","type","String","default","inset","Boolean","hideInput","modelValue","Number","min","MIN_SAFE_INTEGER","max","MAX_SAFE_INTEGER","step","precision","VNumberInput","name","props","emits","val","setup","_ref","slots","vTextFieldRef","holdStart","holdStop","toggleUpDown","form","controlsDisabled","isDisabled","value","isReadonly","isFocused","focus","blur","correctPrecision","arguments","length","undefined","fixed","toFixed","toString","model","_inputText","isNaN","inputText","get","set","canIncrease","canDecrease","incrementIcon","decrementIcon","controlNodeSize","controlNodeDefaultHeight","incrementSlotProps","style","touchAction","onClick","onControlClick","onPointerup","onControlMouseup","onPointerdown","onUpControlMousedown","decrementSlotProps","onDownControlMousedown","formatInputValue","clampModel","inferPrecision","str","idx","indexOf","increment","inferredPrecision","Math","onBeforeinput","e","data","inputElement","target","existingTxt","selectionStart","selectionEnd","potentialNewInputVal","slice","potentialNewNumber","test","preventDefault","split","includes","onKeydown","key","ctrlKey","stopPropagation","el","currentTarget","releasePointerCapture","pointerId","setPointerCapture","actualText","trimDecimalZeros","onFocus","onBlur","_","textFieldProps","filterProps","incrementControlNode","_createVNode","disabled","flat","height","size","icon","decrementControlNode","decrement","controlNode","_createElementVNode","dividerNode","appendInnerControl","reverse","_Fragment","hasAppendInner","prependInnerControl","hasPrependInner","_mergeProps","$event","class","_len","args","Array","_key","_len2","_key2"],"sources":["../../../src/components/VNumberInput/VNumberInput.tsx"],"sourcesContent":["// Styles\nimport './VNumberInput.sass'\n\n// Components\nimport { VBtn } from '@/components/VBtn'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { VDivider } from '@/components/VDivider'\nimport { makeVTextFieldProps, VTextField } from '@/components/VTextField/VTextField'\n\n// Composables\nimport { useHold } from './hold'\nimport { useFocus } from '@/composables/focus'\nimport { useForm } from '@/composables/form'\nimport { forwardRefs } from '@/composables/forwardRefs'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { computed, nextTick, onMounted, ref, shallowRef, toRef, watch, watchEffect } from 'vue'\nimport { clamp, extractNumber, genericComponent, omit, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { VTextFieldSlots } from '@/components/VTextField/VTextField'\n\ntype ControlSlot = {\n props: Record<string, unknown>\n}\n\ntype VNumberInputSlots = Omit<VTextFieldSlots, 'default'> & {\n increment: ControlSlot\n decrement: ControlSlot\n}\n\ntype ControlVariant = 'default' | 'stacked' | 'split' | 'hidden'\n\nconst makeVNumberInputProps = propsFactory({\n controlVariant: {\n type: String as PropType<ControlVariant>,\n default: 'default',\n },\n inset: Boolean,\n hideInput: Boolean,\n modelValue: {\n type: Number as PropType<number | null>,\n default: null,\n },\n min: {\n type: Number,\n default: Number.MIN_SAFE_INTEGER,\n },\n max: {\n type: Number,\n default: Number.MAX_SAFE_INTEGER,\n },\n step: {\n type: Number,\n default: 1,\n },\n precision: {\n type: Number as PropType<number | null>,\n default: 0,\n },\n\n ...omit(makeVTextFieldProps(), ['modelValue', 'validationValue']),\n}, 'VNumberInput')\n\nexport const VNumberInput = genericComponent<VNumberInputSlots>()({\n name: 'VNumberInput',\n\n props: {\n ...makeVNumberInputProps(),\n },\n\n emits: {\n 'update:modelValue': (val: number) => true,\n },\n\n setup (props, { slots }) {\n const vTextFieldRef = ref<VTextField>()\n\n const { holdStart, holdStop } = useHold({ toggleUpDown })\n const form = useForm(props)\n const controlsDisabled = computed(() => (\n form.isDisabled.value || form.isReadonly.value\n ))\n\n const { isFocused, focus, blur } = useFocus(props)\n\n function correctPrecision (val: number, precision = props.precision) {\n const fixed = precision == null\n ? String(val)\n : val.toFixed(precision)\n return isFocused.value\n ? Number(fixed).toString() // trim zeros\n : fixed\n }\n\n const model = useProxiedModel(props, 'modelValue', null,\n val => val ?? null,\n val => val == null\n ? val ?? null\n : clamp(Number(val), props.min, props.max)\n )\n\n const _inputText = shallowRef<string | null>(null)\n watchEffect(() => {\n if (isFocused.value && !controlsDisabled.value) {\n // ignore external changes\n } else if (model.value == null) {\n _inputText.value = null\n } else if (!isNaN(model.value)) {\n _inputText.value = correctPrecision(model.value)\n }\n })\n const inputText = computed<string | null>({\n get: () => _inputText.value,\n set (val) {\n if (val === null || val === '') {\n model.value = null\n _inputText.value = null\n } else if (!isNaN(Number(val)) && Number(val) <= props.max && Number(val) >= props.min) {\n model.value = Number(val)\n _inputText.value = val\n }\n },\n })\n\n const canIncrease = computed(() => {\n if (controlsDisabled.value) return false\n return (model.value ?? 0) as number + props.step <= props.max\n })\n const canDecrease = computed(() => {\n if (controlsDisabled.value) return false\n return (model.value ?? 0) as number - props.step >= props.min\n })\n\n const controlVariant = computed(() => {\n return props.hideInput ? 'stacked' : props.controlVariant\n })\n\n const incrementIcon = toRef(() => controlVariant.value === 'split' ? '$plus' : '$collapse')\n const decrementIcon = toRef(() => controlVariant.value === 'split' ? '$minus' : '$expand')\n const controlNodeSize = toRef(() => controlVariant.value === 'split' ? 'default' : 'small')\n const controlNodeDefaultHeight = toRef(() => controlVariant.value === 'stacked' ? 'auto' : '100%')\n\n const incrementSlotProps = {\n props: {\n style: { touchAction: 'none' },\n onClick: onControlClick,\n onPointerup: onControlMouseup,\n onPointerdown: onUpControlMousedown,\n },\n }\n const decrementSlotProps = {\n props: {\n style: { touchAction: 'none' },\n onClick: onControlClick,\n onPointerup: onControlMouseup,\n onPointerdown: onDownControlMousedown,\n },\n }\n\n watch(() => props.precision, () => formatInputValue())\n\n onMounted(() => {\n clampModel()\n })\n\n function inferPrecision (value: number | null) {\n if (value == null) return 0\n const str = value.toString()\n const idx = str.indexOf('.')\n return ~idx ? str.length - idx : 0\n }\n\n function toggleUpDown (increment = true) {\n if (controlsDisabled.value) return\n if (model.value == null) {\n inputText.value = correctPrecision(clamp(0, props.min, props.max))\n return\n }\n\n let inferredPrecision = Math.max(inferPrecision(model.value), inferPrecision(props.step))\n if (props.precision != null) inferredPrecision = Math.max(inferredPrecision, props.precision)\n if (increment) {\n if (canIncrease.value) inputText.value = correctPrecision(model.value + props.step, inferredPrecision)\n } else {\n if (canDecrease.value) inputText.value = correctPrecision(model.value - props.step, inferredPrecision)\n }\n }\n\n function onBeforeinput (e: InputEvent) {\n if (!e.data) return\n const inputElement = e.target as HTMLInputElement\n const { value: existingTxt, selectionStart, selectionEnd } = inputElement ?? {}\n\n const potentialNewInputVal =\n existingTxt\n ? existingTxt.slice(0, selectionStart as number | undefined) + e.data + existingTxt.slice(selectionEnd as number | undefined)\n : e.data\n\n const potentialNewNumber = extractNumber(potentialNewInputVal, props.precision)\n\n // Only numbers, \"-\", \".\" are allowed\n // AND \"-\", \".\" are allowed only once\n // AND \"-\" is only allowed at the start\n if (!/^-?(\\d+(\\.\\d*)?|(\\.\\d+)|\\d*|\\.)$/.test(potentialNewInputVal)) {\n e.preventDefault()\n inputElement!.value = potentialNewNumber\n }\n\n if (props.precision == null) return\n\n // Ignore decimal digits above precision limit\n if (potentialNewInputVal.split('.')[1]?.length > props.precision) {\n e.preventDefault()\n inputElement!.value = potentialNewNumber\n }\n // Ignore decimal separator when precision = 0\n if (props.precision === 0 && potentialNewInputVal.includes('.')) {\n e.preventDefault()\n inputElement!.value = potentialNewNumber\n }\n }\n\n async function onKeydown (e: KeyboardEvent) {\n if (\n ['Enter', 'ArrowLeft', 'ArrowRight', 'Backspace', 'Delete', 'Tab'].includes(e.key) ||\n e.ctrlKey\n ) return\n\n if (['ArrowDown', 'ArrowUp'].includes(e.key)) {\n e.preventDefault()\n clampModel()\n // _model is controlled, so need to wait until props['modelValue'] is updated\n await nextTick()\n if (e.key === 'ArrowDown') {\n toggleUpDown(false)\n } else {\n toggleUpDown()\n }\n }\n }\n\n function onControlClick (e: MouseEvent) {\n e.stopPropagation()\n }\n\n function onControlMouseup (e: PointerEvent) {\n const el = e.currentTarget as HTMLElement\n el?.releasePointerCapture(e.pointerId)\n e.preventDefault()\n e.stopPropagation()\n holdStop()\n }\n\n function onUpControlMousedown (e: PointerEvent) {\n const el = e.currentTarget as HTMLElement\n el?.setPointerCapture(e.pointerId)\n e.preventDefault()\n e.stopPropagation()\n holdStart('up')\n }\n\n function onDownControlMousedown (e: PointerEvent) {\n const el = e.currentTarget as HTMLElement\n el?.setPointerCapture(e.pointerId)\n e.preventDefault()\n e.stopPropagation()\n holdStart('down')\n }\n\n function clampModel () {\n if (controlsDisabled.value) return\n if (!vTextFieldRef.value) return\n const actualText = vTextFieldRef.value.value\n if (actualText && !isNaN(Number(actualText))) {\n inputText.value = correctPrecision(clamp(Number(actualText), props.min, props.max))\n } else {\n inputText.value = null\n }\n }\n\n function formatInputValue () {\n if (controlsDisabled.value) return\n if (model.value === null || isNaN(model.value)) {\n inputText.value = null\n return\n }\n inputText.value = props.precision == null\n ? String(model.value)\n : model.value.toFixed(props.precision)\n }\n\n function trimDecimalZeros () {\n if (controlsDisabled.value) return\n if (model.value === null || isNaN(model.value)) {\n inputText.value = null\n return\n }\n inputText.value = model.value.toString()\n }\n\n function onFocus () {\n focus()\n trimDecimalZeros()\n }\n\n function onBlur () {\n blur()\n clampModel()\n }\n\n useRender(() => {\n const { modelValue: _, ...textFieldProps } = VTextField.filterProps(props)\n\n function incrementControlNode () {\n return !slots.increment ? (\n <VBtn\n aria-hidden=\"true\"\n data-testid=\"increment\"\n disabled={ !canIncrease.value }\n flat\n height={ controlNodeDefaultHeight.value }\n icon={ incrementIcon.value }\n key=\"increment-btn\"\n onClick={ onControlClick }\n onPointerdown={ onUpControlMousedown }\n onPointerup={ onControlMouseup }\n size={ controlNodeSize.value }\n style=\"touch-action: none\"\n tabindex=\"-1\"\n />\n ) : (\n <VDefaultsProvider\n key=\"increment-defaults\"\n defaults={{\n VBtn: {\n disabled: !canIncrease.value,\n flat: true,\n height: controlNodeDefaultHeight.value,\n size: controlNodeSize.value,\n icon: incrementIcon.value,\n },\n }}\n >\n { slots.increment(incrementSlotProps) }\n </VDefaultsProvider>\n )\n }\n\n function decrementControlNode () {\n return !slots.decrement ? (\n <VBtn\n aria-hidden=\"true\"\n data-testid=\"decrement\"\n disabled={ !canDecrease.value }\n flat\n height={ controlNodeDefaultHeight.value }\n icon={ decrementIcon.value }\n key=\"decrement-btn\"\n onClick={ onControlClick }\n onPointerdown={ onDownControlMousedown }\n onPointerup={ onControlMouseup }\n size={ controlNodeSize.value }\n style=\"touch-action: none\"\n tabindex=\"-1\"\n />\n ) : (\n <VDefaultsProvider\n key=\"decrement-defaults\"\n defaults={{\n VBtn: {\n disabled: !canDecrease.value,\n flat: true,\n height: controlNodeDefaultHeight.value,\n size: controlNodeSize.value,\n icon: decrementIcon.value,\n },\n }}\n >\n { slots.decrement(decrementSlotProps) }\n </VDefaultsProvider>\n )\n }\n\n function controlNode () {\n return (\n <div class=\"v-number-input__control\">\n { decrementControlNode() }\n\n <VDivider\n vertical={ controlVariant.value !== 'stacked' }\n />\n\n { incrementControlNode() }\n </div>\n )\n }\n\n function dividerNode () {\n return !props.hideInput && !props.inset ? <VDivider vertical /> : undefined\n }\n\n const appendInnerControl =\n controlVariant.value === 'split'\n ? (\n <div class=\"v-number-input__control\">\n <VDivider vertical />\n\n { incrementControlNode() }\n </div>\n ) : (props.reverse || controlVariant.value === 'hidden'\n ? undefined\n : <>{ dividerNode() }{ controlNode() }</>)\n\n const hasAppendInner = slots['append-inner'] || appendInnerControl\n\n const prependInnerControl =\n controlVariant.value === 'split'\n ? (\n <div class=\"v-number-input__control\">\n { decrementControlNode() }\n\n <VDivider vertical />\n </div>\n ) : (props.reverse && controlVariant.value !== 'hidden'\n ? <>{ controlNode() }{ dividerNode() }</>\n : undefined)\n\n const hasPrependInner = slots['prepend-inner'] || prependInnerControl\n\n return (\n <VTextField\n ref={ vTextFieldRef }\n v-model={ inputText.value }\n validationValue={ model.value }\n onBeforeinput={ onBeforeinput }\n onFocus={ onFocus }\n onBlur={ onBlur }\n onKeydown={ onKeydown }\n class={[\n 'v-number-input',\n {\n 'v-number-input--default': controlVariant.value === 'default',\n 'v-number-input--hide-input': props.hideInput,\n 'v-number-input--inset': props.inset,\n 'v-number-input--reverse': props.reverse,\n 'v-number-input--split': controlVariant.value === 'split',\n 'v-number-input--stacked': controlVariant.value === 'stacked',\n },\n props.class,\n ]}\n { ...textFieldProps }\n style={ props.style }\n inputmode=\"decimal\"\n >\n {{\n ...slots,\n 'append-inner': hasAppendInner ? (...args) => (\n <>\n { slots['append-inner']?.(...args) }\n { appendInnerControl }\n </>\n ) : undefined,\n 'prepend-inner': hasPrependInner ? (...args) => (\n <>\n { prependInnerControl }\n { slots['prepend-inner']?.(...args) }\n </>\n ) : undefined,\n }}\n </VTextField>\n )\n })\n\n return forwardRefs({}, vTextFieldRef)\n },\n})\n\nexport type VNumberInput = InstanceType<typeof VNumberInput>\n"],"mappings":";AAAA;AACA;;AAEA;AAAA,SACSA,IAAI;AAAA,SACJC,iBAAiB;AAAA,SACjBC,QAAQ;AAAA,SACRC,mBAAmB,EAAEC,UAAU,uCAExC;AAAA,SACSC,OAAO;AAAA,SACPC,QAAQ;AAAA,SACRC,OAAO;AAAA,SACPC,WAAW;AAAA,SACXC,eAAe,6CAExB;AACA,SAASC,QAAQ,EAAEC,QAAQ,EAAEC,SAAS,EAAEC,GAAG,EAAEC,UAAU,EAAEC,KAAK,EAAEC,KAAK,EAAEC,WAAW,QAAQ,KAAK;AAAA,SACtFC,KAAK,EAAEC,aAAa,EAAEC,gBAAgB,EAAEC,IAAI,EAAEC,YAAY,EAAEC,SAAS,+BAE9E;AAeA,MAAMC,qBAAqB,GAAGF,YAAY,CAAC;EACzCG,cAAc,EAAE;IACdC,IAAI,EAAEC,MAAkC;IACxCC,OAAO,EAAE;EACX,CAAC;EACDC,KAAK,EAAEC,OAAO;EACdC,SAAS,EAAED,OAAO;EAClBE,UAAU,EAAE;IACVN,IAAI,EAAEO,MAAiC;IACvCL,OAAO,EAAE;EACX,CAAC;EACDM,GAAG,EAAE;IACHR,IAAI,EAAEO,MAAM;IACZL,OAAO,EAAEK,MAAM,CAACE;EAClB,CAAC;EACDC,GAAG,EAAE;IACHV,IAAI,EAAEO,MAAM;IACZL,OAAO,EAAEK,MAAM,CAACI;EAClB,CAAC;EACDC,IAAI,EAAE;IACJZ,IAAI,EAAEO,MAAM;IACZL,OAAO,EAAE;EACX,CAAC;EACDW,SAAS,EAAE;IACTb,IAAI,EAAEO,MAAiC;IACvCL,OAAO,EAAE;EACX,CAAC;EAED,GAAGP,IAAI,CAAClB,mBAAmB,CAAC,CAAC,EAAE,CAAC,YAAY,EAAE,iBAAiB,CAAC;AAClE,CAAC,EAAE,cAAc,CAAC;AAElB,OAAO,MAAMqC,YAAY,GAAGpB,gBAAgB,CAAoB,CAAC,CAAC;EAChEqB,IAAI,EAAE,cAAc;EAEpBC,KAAK,EAAE;IACL,GAAGlB,qBAAqB,CAAC;EAC3B,CAAC;EAEDmB,KAAK,EAAE;IACL,mBAAmB,EAAGC,GAAW,IAAK;EACxC,CAAC;EAEDC,KAAKA,CAAEH,KAAK,EAAAI,IAAA,EAAa;IAAA,IAAX;MAAEC;IAAM,CAAC,GAAAD,IAAA;IACrB,MAAME,aAAa,GAAGnC,GAAG,CAAa,CAAC;IAEvC,MAAM;MAAEoC,SAAS;MAAEC;IAAS,CAAC,GAAG7C,OAAO,CAAC;MAAE8C;IAAa,CAAC,CAAC;IACzD,MAAMC,IAAI,GAAG7C,OAAO,CAACmC,KAAK,CAAC;IAC3B,MAAMW,gBAAgB,GAAG3C,QAAQ,CAAC,MAChC0C,IAAI,CAACE,UAAU,CAACC,KAAK,IAAIH,IAAI,CAACI,UAAU,CAACD,KAC1C,CAAC;IAEF,MAAM;MAAEE,SAAS;MAAEC,KAAK;MAAEC;IAAK,CAAC,GAAGrD,QAAQ,CAACoC,KAAK,CAAC;IAElD,SAASkB,gBAAgBA,CAAEhB,GAAW,EAA+B;MAAA,IAA7BL,SAAS,GAAAsB,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAGnB,KAAK,CAACH,SAAS;MACjE,MAAMyB,KAAK,GAAGzB,SAAS,IAAI,IAAI,GAC3BZ,MAAM,CAACiB,GAAG,CAAC,GACXA,GAAG,CAACqB,OAAO,CAAC1B,SAAS,CAAC;MAC1B,OAAOkB,SAAS,CAACF,KAAK,GAClBtB,MAAM,CAAC+B,KAAK,CAAC,CAACE,QAAQ,CAAC,CAAC,CAAC;MAAA,EACzBF,KAAK;IACX;IAEA,MAAMG,KAAK,GAAG1D,eAAe,CAACiC,KAAK,EAAE,YAAY,EAAE,IAAI,EACrDE,GAAG,IAAIA,GAAG,IAAI,IAAI,EAClBA,GAAG,IAAIA,GAAG,IAAI,IAAI,GACdA,GAAG,IAAI,IAAI,GACX1B,KAAK,CAACe,MAAM,CAACW,GAAG,CAAC,EAAEF,KAAK,CAACR,GAAG,EAAEQ,KAAK,CAACN,GAAG,CAC7C,CAAC;IAED,MAAMgC,UAAU,GAAGtD,UAAU,CAAgB,IAAI,CAAC;IAClDG,WAAW,CAAC,MAAM;MAChB,IAAIwC,SAAS,CAACF,KAAK,IAAI,CAACF,gBAAgB,CAACE,KAAK,EAAE;QAC9C;MAAA,CACD,MAAM,IAAIY,KAAK,CAACZ,KAAK,IAAI,IAAI,EAAE;QAC9Ba,UAAU,CAACb,KAAK,GAAG,IAAI;MACzB,CAAC,MAAM,IAAI,CAACc,KAAK,CAACF,KAAK,CAACZ,KAAK,CAAC,EAAE;QAC9Ba,UAAU,CAACb,KAAK,GAAGK,gBAAgB,CAACO,KAAK,CAACZ,KAAK,CAAC;MAClD;IACF,CAAC,CAAC;IACF,MAAMe,SAAS,GAAG5D,QAAQ,CAAgB;MACxC6D,GAAG,EAAEA,CAAA,KAAMH,UAAU,CAACb,KAAK;MAC3BiB,GAAGA,CAAE5B,GAAG,EAAE;QACR,IAAIA,GAAG,KAAK,IAAI,IAAIA,GAAG,KAAK,EAAE,EAAE;UAC9BuB,KAAK,CAACZ,KAAK,GAAG,IAAI;UAClBa,UAAU,CAACb,KAAK,GAAG,IAAI;QACzB,CAAC,MAAM,IAAI,CAACc,KAAK,CAACpC,MAAM,CAACW,GAAG,CAAC,CAAC,IAAIX,MAAM,CAACW,GAAG,CAAC,IAAIF,KAAK,CAACN,GAAG,IAAIH,MAAM,CAACW,GAAG,CAAC,IAAIF,KAAK,CAACR,GAAG,EAAE;UACtFiC,KAAK,CAACZ,KAAK,GAAGtB,MAAM,CAACW,GAAG,CAAC;UACzBwB,UAAU,CAACb,KAAK,GAAGX,GAAG;QACxB;MACF;IACF,CAAC,CAAC;IAEF,MAAM6B,WAAW,GAAG/D,QAAQ,CAAC,MAAM;MACjC,IAAI2C,gBAAgB,CAACE,KAAK,EAAE,OAAO,KAAK;MACxC,OAAO,CAACY,KAAK,CAACZ,KAAK,IAAI,CAAC,IAAcb,KAAK,CAACJ,IAAI,IAAII,KAAK,CAACN,GAAG;IAC/D,CAAC,CAAC;IACF,MAAMsC,WAAW,GAAGhE,QAAQ,CAAC,MAAM;MACjC,IAAI2C,gBAAgB,CAACE,KAAK,EAAE,OAAO,KAAK;MACxC,OAAO,CAACY,KAAK,CAACZ,KAAK,IAAI,CAAC,IAAcb,KAAK,CAACJ,IAAI,IAAII,KAAK,CAACR,GAAG;IAC/D,CAAC,CAAC;IAEF,MAAMT,cAAc,GAAGf,QAAQ,CAAC,MAAM;MACpC,OAAOgC,KAAK,CAACX,SAAS,GAAG,SAAS,GAAGW,KAAK,CAACjB,cAAc;IAC3D,CAAC,CAAC;IAEF,MAAMkD,aAAa,GAAG5D,KAAK,CAAC,MAAMU,cAAc,CAAC8B,KAAK,KAAK,OAAO,GAAG,OAAO,GAAG,WAAW,CAAC;IAC3F,MAAMqB,aAAa,GAAG7D,KAAK,CAAC,MAAMU,cAAc,CAAC8B,KAAK,KAAK,OAAO,GAAG,QAAQ,GAAG,SAAS,CAAC;IAC1F,MAAMsB,eAAe,GAAG9D,KAAK,CAAC,MAAMU,cAAc,CAAC8B,KAAK,KAAK,OAAO,GAAG,SAAS,GAAG,OAAO,CAAC;IAC3F,MAAMuB,wBAAwB,GAAG/D,KAAK,CAAC,MAAMU,cAAc,CAAC8B,KAAK,KAAK,SAAS,GAAG,MAAM,GAAG,MAAM,CAAC;IAElG,MAAMwB,kBAAkB,GAAG;MACzBrC,KAAK,EAAE;QACLsC,KAAK,EAAE;UAAEC,WAAW,EAAE;QAAO,CAAC;QAC9BC,OAAO,EAAEC,cAAc;QACvBC,WAAW,EAAEC,gBAAgB;QAC7BC,aAAa,EAAEC;MACjB;IACF,CAAC;IACD,MAAMC,kBAAkB,GAAG;MACzB9C,KAAK,EAAE;QACLsC,KAAK,EAAE;UAAEC,WAAW,EAAE;QAAO,CAAC;QAC9BC,OAAO,EAAEC,cAAc;QACvBC,WAAW,EAAEC,gBAAgB;QAC7BC,aAAa,EAAEG;MACjB;IACF,CAAC;IAEDzE,KAAK,CAAC,MAAM0B,KAAK,CAACH,SAAS,EAAE,MAAMmD,gBAAgB,CAAC,CAAC,CAAC;IAEtD9E,SAAS,CAAC,MAAM;MACd+E,UAAU,CAAC,CAAC;IACd,CAAC,CAAC;IAEF,SAASC,cAAcA,CAAErC,KAAoB,EAAE;MAC7C,IAAIA,KAAK,IAAI,IAAI,EAAE,OAAO,CAAC;MAC3B,MAAMsC,GAAG,GAAGtC,KAAK,CAACW,QAAQ,CAAC,CAAC;MAC5B,MAAM4B,GAAG,GAAGD,GAAG,CAACE,OAAO,CAAC,GAAG,CAAC;MAC5B,OAAO,CAACD,GAAG,GAAGD,GAAG,CAAC/B,MAAM,GAAGgC,GAAG,GAAG,CAAC;IACpC;IAEA,SAAS3C,YAAYA,CAAA,EAAoB;MAAA,IAAlB6C,SAAS,GAAAnC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,IAAI;MACrC,IAAIR,gBAAgB,CAACE,KAAK,EAAE;MAC5B,IAAIY,KAAK,CAACZ,KAAK,IAAI,IAAI,EAAE;QACvBe,SAAS,CAACf,KAAK,GAAGK,gBAAgB,CAAC1C,KAAK,CAAC,CAAC,EAAEwB,KAAK,CAACR,GAAG,EAAEQ,KAAK,CAACN,GAAG,CAAC,CAAC;QAClE;MACF;MAEA,IAAI6D,iBAAiB,GAAGC,IAAI,CAAC9D,GAAG,CAACwD,cAAc,CAACzB,KAAK,CAACZ,KAAK,CAAC,EAAEqC,cAAc,CAAClD,KAAK,CAACJ,IAAI,CAAC,CAAC;MACzF,IAAII,KAAK,CAACH,SAAS,IAAI,IAAI,EAAE0D,iBAAiB,GAAGC,IAAI,CAAC9D,GAAG,CAAC6D,iBAAiB,EAAEvD,KAAK,CAACH,SAAS,CAAC;MAC7F,IAAIyD,SAAS,EAAE;QACb,IAAIvB,WAAW,CAAClB,KAAK,EAAEe,SAAS,CAACf,KAAK,GAAGK,gBAAgB,CAACO,KAAK,CAACZ,KAAK,GAAGb,KAAK,CAACJ,IAAI,EAAE2D,iBAAiB,CAAC;MACxG,CAAC,MAAM;QACL,IAAIvB,WAAW,CAACnB,KAAK,EAAEe,SAAS,CAACf,KAAK,GAAGK,gBAAgB,CAACO,KAAK,CAACZ,KAAK,GAAGb,KAAK,CAACJ,IAAI,EAAE2D,iBAAiB,CAAC;MACxG;IACF;IAEA,SAASE,aAAaA,CAAEC,CAAa,EAAE;MACrC,IAAI,CAACA,CAAC,CAACC,IAAI,EAAE;MACb,MAAMC,YAAY,GAAGF,CAAC,CAACG,MAA0B;MACjD,MAAM;QAAEhD,KAAK,EAAEiD,WAAW;QAAEC,cAAc;QAAEC;MAAa,CAAC,GAAGJ,YAAY,IAAI,CAAC,CAAC;MAE/E,MAAMK,oBAAoB,GACxBH,WAAW,GACPA,WAAW,CAACI,KAAK,CAAC,CAAC,EAAEH,cAAoC,CAAC,GAAGL,CAAC,CAACC,IAAI,GAAGG,WAAW,CAACI,KAAK,CAACF,YAAkC,CAAC,GAC3HN,CAAC,CAACC,IAAI;MAEZ,MAAMQ,kBAAkB,GAAG1F,aAAa,CAACwF,oBAAoB,EAAEjE,KAAK,CAACH,SAAS,CAAC;;MAE/E;MACA;MACA;MACA,IAAI,CAAC,kCAAkC,CAACuE,IAAI,CAACH,oBAAoB,CAAC,EAAE;QAClEP,CAAC,CAACW,cAAc,CAAC,CAAC;QAClBT,YAAY,CAAE/C,KAAK,GAAGsD,kBAAkB;MAC1C;MAEA,IAAInE,KAAK,CAACH,SAAS,IAAI,IAAI,EAAE;;MAE7B;MACA,IAAIoE,oBAAoB,CAACK,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAElD,MAAM,GAAGpB,KAAK,CAACH,SAAS,EAAE;QAChE6D,CAAC,CAACW,cAAc,CAAC,CAAC;QAClBT,YAAY,CAAE/C,KAAK,GAAGsD,kBAAkB;MAC1C;MACA;MACA,IAAInE,KAAK,CAACH,SAAS,KAAK,CAAC,IAAIoE,oBAAoB,CAACM,QAAQ,CAAC,GAAG,CAAC,EAAE;QAC/Db,CAAC,CAACW,cAAc,CAAC,CAAC;QAClBT,YAAY,CAAE/C,KAAK,GAAGsD,kBAAkB;MAC1C;IACF;IAEA,eAAeK,SAASA,CAAEd,CAAgB,EAAE;MAC1C,IACE,CAAC,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE,QAAQ,EAAE,KAAK,CAAC,CAACa,QAAQ,CAACb,CAAC,CAACe,GAAG,CAAC,IAClFf,CAAC,CAACgB,OAAO,EACT;MAEF,IAAI,CAAC,WAAW,EAAE,SAAS,CAAC,CAACH,QAAQ,CAACb,CAAC,CAACe,GAAG,CAAC,EAAE;QAC5Cf,CAAC,CAACW,cAAc,CAAC,CAAC;QAClBpB,UAAU,CAAC,CAAC;QACZ;QACA,MAAMhF,QAAQ,CAAC,CAAC;QAChB,IAAIyF,CAAC,CAACe,GAAG,KAAK,WAAW,EAAE;UACzBhE,YAAY,CAAC,KAAK,CAAC;QACrB,CAAC,MAAM;UACLA,YAAY,CAAC,CAAC;QAChB;MACF;IACF;IAEA,SAASgC,cAAcA,CAAEiB,CAAa,EAAE;MACtCA,CAAC,CAACiB,eAAe,CAAC,CAAC;IACrB;IAEA,SAAShC,gBAAgBA,CAAEe,CAAe,EAAE;MAC1C,MAAMkB,EAAE,GAAGlB,CAAC,CAACmB,aAA4B;MACzCD,EAAE,EAAEE,qBAAqB,CAACpB,CAAC,CAACqB,SAAS,CAAC;MACtCrB,CAAC,CAACW,cAAc,CAAC,CAAC;MAClBX,CAAC,CAACiB,eAAe,CAAC,CAAC;MACnBnE,QAAQ,CAAC,CAAC;IACZ;IAEA,SAASqC,oBAAoBA,CAAEa,CAAe,EAAE;MAC9C,MAAMkB,EAAE,GAAGlB,CAAC,CAACmB,aAA4B;MACzCD,EAAE,EAAEI,iBAAiB,CAACtB,CAAC,CAACqB,SAAS,CAAC;MAClCrB,CAAC,CAACW,cAAc,CAAC,CAAC;MAClBX,CAAC,CAACiB,eAAe,CAAC,CAAC;MACnBpE,SAAS,CAAC,IAAI,CAAC;IACjB;IAEA,SAASwC,sBAAsBA,CAAEW,CAAe,EAAE;MAChD,MAAMkB,EAAE,GAAGlB,CAAC,CAACmB,aAA4B;MACzCD,EAAE,EAAEI,iBAAiB,CAACtB,CAAC,CAACqB,SAAS,CAAC;MAClCrB,CAAC,CAACW,cAAc,CAAC,CAAC;MAClBX,CAAC,CAACiB,eAAe,CAAC,CAAC;MACnBpE,SAAS,CAAC,MAAM,CAAC;IACnB;IAEA,SAAS0C,UAAUA,CAAA,EAAI;MACrB,IAAItC,gBAAgB,CAACE,KAAK,EAAE;MAC5B,IAAI,CAACP,aAAa,CAACO,KAAK,EAAE;MAC1B,MAAMoE,UAAU,GAAG3E,aAAa,CAACO,KAAK,CAACA,KAAK;MAC5C,IAAIoE,UAAU,IAAI,CAACtD,KAAK,CAACpC,MAAM,CAAC0F,UAAU,CAAC,CAAC,EAAE;QAC5CrD,SAAS,CAACf,KAAK,GAAGK,gBAAgB,CAAC1C,KAAK,CAACe,MAAM,CAAC0F,UAAU,CAAC,EAAEjF,KAAK,CAACR,GAAG,EAAEQ,KAAK,CAACN,GAAG,CAAC,CAAC;MACrF,CAAC,MAAM;QACLkC,SAAS,CAACf,KAAK,GAAG,IAAI;MACxB;IACF;IAEA,SAASmC,gBAAgBA,CAAA,EAAI;MAC3B,IAAIrC,gBAAgB,CAACE,KAAK,EAAE;MAC5B,IAAIY,KAAK,CAACZ,KAAK,KAAK,IAAI,IAAIc,KAAK,CAACF,KAAK,CAACZ,KAAK,CAAC,EAAE;QAC9Ce,SAAS,CAACf,KAAK,GAAG,IAAI;QACtB;MACF;MACAe,SAAS,CAACf,KAAK,GAAGb,KAAK,CAACH,SAAS,IAAI,IAAI,GACrCZ,MAAM,CAACwC,KAAK,CAACZ,KAAK,CAAC,GACnBY,KAAK,CAACZ,KAAK,CAACU,OAAO,CAACvB,KAAK,CAACH,SAAS,CAAC;IAC1C;IAEA,SAASqF,gBAAgBA,CAAA,EAAI;MAC3B,IAAIvE,gBAAgB,CAACE,KAAK,EAAE;MAC5B,IAAIY,KAAK,CAACZ,KAAK,KAAK,IAAI,IAAIc,KAAK,CAACF,KAAK,CAACZ,KAAK,CAAC,EAAE;QAC9Ce,SAAS,CAACf,KAAK,GAAG,IAAI;QACtB;MACF;MACAe,SAAS,CAACf,KAAK,GAAGY,KAAK,CAACZ,KAAK,CAACW,QAAQ,CAAC,CAAC;IAC1C;IAEA,SAAS2D,OAAOA,CAAA,EAAI;MAClBnE,KAAK,CAAC,CAAC;MACPkE,gBAAgB,CAAC,CAAC;IACpB;IAEA,SAASE,MAAMA,CAAA,EAAI;MACjBnE,IAAI,CAAC,CAAC;MACNgC,UAAU,CAAC,CAAC;IACd;IAEApE,SAAS,CAAC,MAAM;MACd,MAAM;QAAES,UAAU,EAAE+F,CAAC;QAAE,GAAGC;MAAe,CAAC,GAAG5H,UAAU,CAAC6H,WAAW,CAACvF,KAAK,CAAC;MAE1E,SAASwF,oBAAoBA,CAAA,EAAI;QAC/B,OAAO,CAACnF,KAAK,CAACiD,SAAS,GAAAmC,YAAA,CAAAnI,IAAA;UAAA;UAAA;UAAA,YAIR,CAACyE,WAAW,CAAClB,KAAK;UAAA;UAAA,UAEpBuB,wBAAwB,CAACvB,KAAK;UAAA,QAChCoB,aAAa,CAACpB,KAAK;UAAA;UAAA,WAEhB4B,cAAc;UAAA,iBACRI,oBAAoB;UAAA,eACtBF,gBAAgB;UAAA,QACvBR,eAAe,CAACtB,KAAK;UAAA;UAAA;QAAA,WAAA4E,YAAA,CAAAlI,iBAAA;UAAA;UAAA,YAOlB;YACRD,IAAI,EAAE;cACJoI,QAAQ,EAAE,CAAC3D,WAAW,CAAClB,KAAK;cAC5B8E,IAAI,EAAE,IAAI;cACVC,MAAM,EAAExD,wBAAwB,CAACvB,KAAK;cACtCgF,IAAI,EAAE1D,eAAe,CAACtB,KAAK;cAC3BiF,IAAI,EAAE7D,aAAa,CAACpB;YACtB;UACF;QAAC;UAAA3B,OAAA,EAAAA,CAAA,MAECmB,KAAK,CAACiD,SAAS,CAACjB,kBAAkB,CAAC;QAAA,EAExC;MACH;MAEA,SAAS0D,oBAAoBA,CAAA,EAAI;QAC/B,OAAO,CAAC1F,KAAK,CAAC2F,SAAS,GAAAP,YAAA,CAAAnI,IAAA;UAAA;UAAA;UAAA,YAIR,CAAC0E,WAAW,CAACnB,KAAK;UAAA;UAAA,UAEpBuB,wBAAwB,CAACvB,KAAK;UAAA,QAChCqB,aAAa,CAACrB,KAAK;UAAA;UAAA,WAEhB4B,cAAc;UAAA,iBACRM,sBAAsB;UAAA,eACxBJ,gBAAgB;UAAA,QACvBR,eAAe,CAACtB,KAAK;UAAA;UAAA;QAAA,WAAA4E,YAAA,CAAAlI,iBAAA;UAAA;UAAA,YAOlB;YACRD,IAAI,EAAE;cACJoI,QAAQ,EAAE,CAAC1D,WAAW,CAACnB,KAAK;cAC5B8E,IAAI,EAAE,IAAI;cACVC,MAAM,EAAExD,wBAAwB,CAACvB,KAAK;cACtCgF,IAAI,EAAE1D,eAAe,CAACtB,KAAK;cAC3BiF,IAAI,EAAE5D,aAAa,CAACrB;YACtB;UACF;QAAC;UAAA3B,OAAA,EAAAA,CAAA,MAECmB,KAAK,CAAC2F,SAAS,CAAClD,kBAAkB,CAAC;QAAA,EAExC;MACH;MAEA,SAASmD,WAAWA,CAAA,EAAI;QACtB,OAAAC,mBAAA;UAAA;QAAA,IAEMH,oBAAoB,CAAC,CAAC,EAAAN,YAAA,CAAAjI,QAAA;UAAA,YAGXuB,cAAc,CAAC8B,KAAK,KAAK;QAAS,UAG7C2E,oBAAoB,CAAC,CAAC;MAG9B;MAEA,SAASW,WAAWA,CAAA,EAAI;QACtB,OAAO,CAACnG,KAAK,CAACX,SAAS,IAAI,CAACW,KAAK,CAACb,KAAK,GAAAsG,YAAA,CAAAjI,QAAA;UAAA;QAAA,WAA2B6D,SAAS;MAC7E;MAEA,MAAM+E,kBAAkB,GACtBrH,cAAc,CAAC8B,KAAK,KAAK,OAAO,GAAAqF,mBAAA;QAAA;MAAA,IAAAT,YAAA,CAAAjI,QAAA;QAAA;MAAA,UAKxBgI,oBAAoB,CAAC,CAAC,KAEvBxF,KAAK,CAACqG,OAAO,IAAItH,cAAc,CAAC8B,KAAK,KAAK,QAAQ,GACnDQ,SAAS,GAAA6E,mBAAA,CAAAI,SAAA,SACLH,WAAW,CAAC,CAAC,EAAIF,WAAW,CAAC,CAAC,EAAM;MAEhD,MAAMM,cAAc,GAAGlG,KAAK,CAAC,cAAc,CAAC,IAAI+F,kBAAkB;MAElE,MAAMI,mBAAmB,GACvBzH,cAAc,CAAC8B,KAAK,KAAK,OAAO,GAAAqF,mBAAA;QAAA;MAAA,IAGxBH,oBAAoB,CAAC,CAAC,EAAAN,YAAA,CAAAjI,QAAA;QAAA;MAAA,aAIvBwC,KAAK,CAACqG,OAAO,IAAItH,cAAc,CAAC8B,KAAK,KAAK,QAAQ,GAAAqF,mBAAA,CAAAI,SAAA,SAC/CL,WAAW,CAAC,CAAC,EAAIE,WAAW,CAAC,CAAC,KAClC9E,SAAU;MAElB,MAAMoF,eAAe,GAAGpG,KAAK,CAAC,eAAe,CAAC,IAAImG,mBAAmB;MAErE,OAAAf,YAAA,CAAA/H,UAAA,EAAAgJ,WAAA;QAAA,OAEUpG,aAAa;QAAA,cACTsB,SAAS,CAACf,KAAK;QAAA,uBAAA8F,MAAA,IAAf/E,SAAS,CAACf,KAAK,GAAA8F,MAAA;QAAA,mBACPlF,KAAK,CAACZ,KAAK;QAAA,iBACb4C,aAAa;QAAA,WACnB0B,OAAO;QAAA,UACRC,MAAM;QAAA,aACHZ,SAAS;QAAA,SACd,CACL,gBAAgB,EAChB;UACE,yBAAyB,EAAEzF,cAAc,CAAC8B,KAAK,KAAK,SAAS;UAC7D,4BAA4B,EAAEb,KAAK,CAACX,SAAS;UAC7C,uBAAuB,EAAEW,KAAK,CAACb,KAAK;UACpC,yBAAyB,EAAEa,KAAK,CAACqG,OAAO;UACxC,uBAAuB,EAAEtH,cAAc,CAAC8B,KAAK,KAAK,OAAO;UACzD,yBAAyB,EAAE9B,cAAc,CAAC8B,KAAK,KAAK;QACtD,CAAC,EACDb,KAAK,CAAC4G,KAAK;MACZ,GACItB,cAAc;QAAA,SACXtF,KAAK,CAACsC,KAAK;QAAA;MAAA;QAIjB,GAAGjC,KAAK;QACR,cAAc,EAAEkG,cAAc,GAAG;UAAA,SAAAM,IAAA,GAAA1F,SAAA,CAAAC,MAAA,EAAI0F,IAAI,OAAAC,KAAA,CAAAF,IAAA,GAAAG,IAAA,MAAAA,IAAA,GAAAH,IAAA,EAAAG,IAAA;YAAJF,IAAI,CAAAE,IAAA,IAAA7F,SAAA,CAAA6F,IAAA;UAAA;UAAA,OAAAd,mBAAA,CAAAI,SAAA,SAEnCjG,KAAK,CAAC,cAAc,CAAC,GAAG,GAAGyG,IAAI,CAAC,EAChCV,kBAAkB;QAAA,CAEvB,GAAG/E,SAAS;QACb,eAAe,EAAEoF,eAAe,GAAG;UAAA,SAAAQ,KAAA,GAAA9F,SAAA,CAAAC,MAAA,EAAI0F,IAAI,OAAAC,KAAA,CAAAE,KAAA,GAAAC,KAAA,MAAAA,KAAA,GAAAD,KAAA,EAAAC,KAAA;YAAJJ,IAAI,CAAAI,KAAA,IAAA/F,SAAA,CAAA+F,KAAA;UAAA;UAAA,OAAAhB,mBAAA,CAAAI,SAAA,SAErCE,mBAAmB,EACnBnG,KAAK,CAAC,eAAe,CAAC,GAAG,GAAGyG,IAAI,CAAC;QAAA,CAEtC,GAAGzF;MAAS;IAIrB,CAAC,CAAC;IAEF,OAAOvD,WAAW,CAAC,CAAC,CAAC,EAAEwC,aAAa,CAAC;EACvC;AACF,CAAC,CAAC","ignoreList":[]}
|
1
|
+
{"version":3,"file":"VNumberInput.js","names":["VBtn","VDefaultsProvider","VDivider","makeVTextFieldProps","VTextField","useHold","useFocus","useForm","forwardRefs","useProxiedModel","computed","nextTick","onMounted","ref","shallowRef","toRef","watch","watchEffect","clamp","extractNumber","genericComponent","omit","propsFactory","useRender","makeVNumberInputProps","controlVariant","type","String","default","inset","Boolean","hideInput","modelValue","Number","min","MIN_SAFE_INTEGER","max","MAX_SAFE_INTEGER","step","precision","VNumberInput","name","props","emits","val","setup","_ref","slots","vTextFieldRef","holdStart","holdStop","toggleUpDown","form","controlsDisabled","isDisabled","value","isReadonly","isFocused","focus","blur","correctPrecision","arguments","length","undefined","fixed","toFixed","toString","model","_inputText","isNaN","inputText","get","set","canIncrease","canDecrease","incrementIcon","decrementIcon","controlNodeSize","controlNodeDefaultHeight","incrementSlotProps","onClick","onControlClick","onPointerup","onControlMouseup","onPointerdown","onUpControlMousedown","onPointercancel","onControlPointerCancel","decrementSlotProps","onDownControlMousedown","formatInputValue","clampModel","inferPrecision","str","idx","indexOf","increment","inferredPrecision","Math","onBeforeinput","e","data","inputElement","target","existingTxt","selectionStart","selectionEnd","potentialNewInputVal","slice","potentialNewNumber","test","preventDefault","split","includes","onKeydown","key","ctrlKey","stopPropagation","el","currentTarget","releasePointerCapture","pointerId","setPointerCapture","actualText","trimDecimalZeros","onFocus","onBlur","_","textFieldProps","filterProps","incrementControlNode","_createVNode","disabled","flat","height","size","icon","decrementControlNode","decrement","controlNode","_createElementVNode","dividerNode","appendInnerControl","reverse","_Fragment","hasAppendInner","prependInnerControl","hasPrependInner","_mergeProps","$event","class","style","_len","args","Array","_key","_len2","_key2"],"sources":["../../../src/components/VNumberInput/VNumberInput.tsx"],"sourcesContent":["// Styles\nimport './VNumberInput.sass'\n\n// Components\nimport { VBtn } from '@/components/VBtn'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { VDivider } from '@/components/VDivider'\nimport { makeVTextFieldProps, VTextField } from '@/components/VTextField/VTextField'\n\n// Composables\nimport { useHold } from './hold'\nimport { useFocus } from '@/composables/focus'\nimport { useForm } from '@/composables/form'\nimport { forwardRefs } from '@/composables/forwardRefs'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { computed, nextTick, onMounted, ref, shallowRef, toRef, watch, watchEffect } from 'vue'\nimport { clamp, extractNumber, genericComponent, omit, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { VTextFieldSlots } from '@/components/VTextField/VTextField'\n\ntype ControlSlot = {\n props: Record<string, unknown>\n}\n\ntype VNumberInputSlots = Omit<VTextFieldSlots, 'default'> & {\n increment: ControlSlot\n decrement: ControlSlot\n}\n\ntype ControlVariant = 'default' | 'stacked' | 'split' | 'hidden'\n\nconst makeVNumberInputProps = propsFactory({\n controlVariant: {\n type: String as PropType<ControlVariant>,\n default: 'default',\n },\n inset: Boolean,\n hideInput: Boolean,\n modelValue: {\n type: Number as PropType<number | null>,\n default: null,\n },\n min: {\n type: Number,\n default: Number.MIN_SAFE_INTEGER,\n },\n max: {\n type: Number,\n default: Number.MAX_SAFE_INTEGER,\n },\n step: {\n type: Number,\n default: 1,\n },\n precision: {\n type: Number as PropType<number | null>,\n default: 0,\n },\n\n ...omit(makeVTextFieldProps(), ['modelValue', 'validationValue']),\n}, 'VNumberInput')\n\nexport const VNumberInput = genericComponent<VNumberInputSlots>()({\n name: 'VNumberInput',\n\n props: {\n ...makeVNumberInputProps(),\n },\n\n emits: {\n 'update:modelValue': (val: number) => true,\n },\n\n setup (props, { slots }) {\n const vTextFieldRef = ref<VTextField>()\n\n const { holdStart, holdStop } = useHold({ toggleUpDown })\n const form = useForm(props)\n const controlsDisabled = computed(() => (\n form.isDisabled.value || form.isReadonly.value\n ))\n\n const { isFocused, focus, blur } = useFocus(props)\n\n function correctPrecision (val: number, precision = props.precision) {\n const fixed = precision == null\n ? String(val)\n : val.toFixed(precision)\n return isFocused.value\n ? Number(fixed).toString() // trim zeros\n : fixed\n }\n\n const model = useProxiedModel(props, 'modelValue', null,\n val => val ?? null,\n val => val == null\n ? val ?? null\n : clamp(Number(val), props.min, props.max)\n )\n\n const _inputText = shallowRef<string | null>(null)\n watchEffect(() => {\n if (isFocused.value && !controlsDisabled.value) {\n // ignore external changes\n } else if (model.value == null) {\n _inputText.value = null\n } else if (!isNaN(model.value)) {\n _inputText.value = correctPrecision(model.value)\n }\n })\n const inputText = computed<string | null>({\n get: () => _inputText.value,\n set (val) {\n if (val === null || val === '') {\n model.value = null\n _inputText.value = null\n } else if (!isNaN(Number(val)) && Number(val) <= props.max && Number(val) >= props.min) {\n model.value = Number(val)\n _inputText.value = val\n }\n },\n })\n\n const canIncrease = computed(() => {\n if (controlsDisabled.value) return false\n return (model.value ?? 0) as number + props.step <= props.max\n })\n const canDecrease = computed(() => {\n if (controlsDisabled.value) return false\n return (model.value ?? 0) as number - props.step >= props.min\n })\n\n const controlVariant = computed(() => {\n return props.hideInput ? 'stacked' : props.controlVariant\n })\n\n const incrementIcon = toRef(() => controlVariant.value === 'split' ? '$plus' : '$collapse')\n const decrementIcon = toRef(() => controlVariant.value === 'split' ? '$minus' : '$expand')\n const controlNodeSize = toRef(() => controlVariant.value === 'split' ? 'default' : 'small')\n const controlNodeDefaultHeight = toRef(() => controlVariant.value === 'stacked' ? 'auto' : '100%')\n\n const incrementSlotProps = {\n props: {\n onClick: onControlClick,\n onPointerup: onControlMouseup,\n onPointerdown: onUpControlMousedown,\n onPointercancel: onControlPointerCancel,\n },\n }\n const decrementSlotProps = {\n props: {\n onClick: onControlClick,\n onPointerup: onControlMouseup,\n onPointerdown: onDownControlMousedown,\n onPointercancel: onControlPointerCancel,\n },\n }\n\n watch(() => props.precision, () => formatInputValue())\n\n onMounted(() => {\n clampModel()\n })\n\n function inferPrecision (value: number | null) {\n if (value == null) return 0\n const str = value.toString()\n const idx = str.indexOf('.')\n return ~idx ? str.length - idx : 0\n }\n\n function toggleUpDown (increment = true) {\n if (controlsDisabled.value) return\n if (model.value == null) {\n inputText.value = correctPrecision(clamp(0, props.min, props.max))\n return\n }\n\n let inferredPrecision = Math.max(inferPrecision(model.value), inferPrecision(props.step))\n if (props.precision != null) inferredPrecision = Math.max(inferredPrecision, props.precision)\n if (increment) {\n if (canIncrease.value) inputText.value = correctPrecision(model.value + props.step, inferredPrecision)\n } else {\n if (canDecrease.value) inputText.value = correctPrecision(model.value - props.step, inferredPrecision)\n }\n }\n\n function onBeforeinput (e: InputEvent) {\n if (!e.data) return\n const inputElement = e.target as HTMLInputElement\n const { value: existingTxt, selectionStart, selectionEnd } = inputElement ?? {}\n\n const potentialNewInputVal =\n existingTxt\n ? existingTxt.slice(0, selectionStart as number | undefined) + e.data + existingTxt.slice(selectionEnd as number | undefined)\n : e.data\n\n const potentialNewNumber = extractNumber(potentialNewInputVal, props.precision)\n\n // Only numbers, \"-\", \".\" are allowed\n // AND \"-\", \".\" are allowed only once\n // AND \"-\" is only allowed at the start\n if (!/^-?(\\d+(\\.\\d*)?|(\\.\\d+)|\\d*|\\.)$/.test(potentialNewInputVal)) {\n e.preventDefault()\n inputElement!.value = potentialNewNumber\n }\n\n if (props.precision == null) return\n\n // Ignore decimal digits above precision limit\n if (potentialNewInputVal.split('.')[1]?.length > props.precision) {\n e.preventDefault()\n inputElement!.value = potentialNewNumber\n }\n // Ignore decimal separator when precision = 0\n if (props.precision === 0 && potentialNewInputVal.includes('.')) {\n e.preventDefault()\n inputElement!.value = potentialNewNumber\n }\n }\n\n async function onKeydown (e: KeyboardEvent) {\n if (\n ['Enter', 'ArrowLeft', 'ArrowRight', 'Backspace', 'Delete', 'Tab'].includes(e.key) ||\n e.ctrlKey\n ) return\n\n if (['ArrowDown', 'ArrowUp'].includes(e.key)) {\n e.preventDefault()\n clampModel()\n // _model is controlled, so need to wait until props['modelValue'] is updated\n await nextTick()\n if (e.key === 'ArrowDown') {\n toggleUpDown(false)\n } else {\n toggleUpDown()\n }\n }\n }\n\n function onControlClick (e: MouseEvent) {\n e.stopPropagation()\n }\n\n function onControlMouseup (e: PointerEvent) {\n const el = e.currentTarget as HTMLElement\n el?.releasePointerCapture(e.pointerId)\n e.preventDefault()\n e.stopPropagation()\n holdStop()\n }\n\n function onUpControlMousedown (e: PointerEvent) {\n const el = e.currentTarget as HTMLElement\n el?.setPointerCapture(e.pointerId)\n e.preventDefault()\n e.stopPropagation()\n holdStart('up')\n }\n\n function onDownControlMousedown (e: PointerEvent) {\n const el = e.currentTarget as HTMLElement\n el?.setPointerCapture(e.pointerId)\n e.preventDefault()\n e.stopPropagation()\n holdStart('down')\n }\n\n function onControlPointerCancel (e: PointerEvent) {\n const el = e.currentTarget as HTMLElement\n el?.releasePointerCapture(e.pointerId)\n holdStop()\n }\n\n function clampModel () {\n if (controlsDisabled.value) return\n if (!vTextFieldRef.value) return\n const actualText = vTextFieldRef.value.value\n if (actualText && !isNaN(Number(actualText))) {\n inputText.value = correctPrecision(clamp(Number(actualText), props.min, props.max))\n } else {\n inputText.value = null\n }\n }\n\n function formatInputValue () {\n if (controlsDisabled.value) return\n if (model.value === null || isNaN(model.value)) {\n inputText.value = null\n return\n }\n inputText.value = props.precision == null\n ? String(model.value)\n : model.value.toFixed(props.precision)\n }\n\n function trimDecimalZeros () {\n if (controlsDisabled.value) return\n if (model.value === null || isNaN(model.value)) {\n inputText.value = null\n return\n }\n inputText.value = model.value.toString()\n }\n\n function onFocus () {\n focus()\n trimDecimalZeros()\n }\n\n function onBlur () {\n blur()\n clampModel()\n }\n\n useRender(() => {\n const { modelValue: _, ...textFieldProps } = VTextField.filterProps(props)\n\n function incrementControlNode () {\n return !slots.increment ? (\n <VBtn\n aria-hidden=\"true\"\n data-testid=\"increment\"\n disabled={ !canIncrease.value }\n flat\n height={ controlNodeDefaultHeight.value }\n icon={ incrementIcon.value }\n key=\"increment-btn\"\n onClick={ onControlClick }\n onPointerdown={ onUpControlMousedown }\n onPointerup={ onControlMouseup }\n onPointercancel={ onControlPointerCancel }\n size={ controlNodeSize.value }\n tabindex=\"-1\"\n />\n ) : (\n <VDefaultsProvider\n key=\"increment-defaults\"\n defaults={{\n VBtn: {\n disabled: !canIncrease.value,\n flat: true,\n height: controlNodeDefaultHeight.value,\n size: controlNodeSize.value,\n icon: incrementIcon.value,\n },\n }}\n >\n { slots.increment(incrementSlotProps) }\n </VDefaultsProvider>\n )\n }\n\n function decrementControlNode () {\n return !slots.decrement ? (\n <VBtn\n aria-hidden=\"true\"\n data-testid=\"decrement\"\n disabled={ !canDecrease.value }\n flat\n height={ controlNodeDefaultHeight.value }\n icon={ decrementIcon.value }\n key=\"decrement-btn\"\n onClick={ onControlClick }\n onPointerdown={ onDownControlMousedown }\n onPointerup={ onControlMouseup }\n onPointercancel={ onControlPointerCancel }\n size={ controlNodeSize.value }\n tabindex=\"-1\"\n />\n ) : (\n <VDefaultsProvider\n key=\"decrement-defaults\"\n defaults={{\n VBtn: {\n disabled: !canDecrease.value,\n flat: true,\n height: controlNodeDefaultHeight.value,\n size: controlNodeSize.value,\n icon: decrementIcon.value,\n },\n }}\n >\n { slots.decrement(decrementSlotProps) }\n </VDefaultsProvider>\n )\n }\n\n function controlNode () {\n return (\n <div class=\"v-number-input__control\">\n { decrementControlNode() }\n\n <VDivider\n vertical={ controlVariant.value !== 'stacked' }\n />\n\n { incrementControlNode() }\n </div>\n )\n }\n\n function dividerNode () {\n return !props.hideInput && !props.inset ? <VDivider vertical /> : undefined\n }\n\n const appendInnerControl =\n controlVariant.value === 'split'\n ? (\n <div class=\"v-number-input__control\">\n <VDivider vertical />\n\n { incrementControlNode() }\n </div>\n ) : (props.reverse || controlVariant.value === 'hidden'\n ? undefined\n : <>{ dividerNode() }{ controlNode() }</>)\n\n const hasAppendInner = slots['append-inner'] || appendInnerControl\n\n const prependInnerControl =\n controlVariant.value === 'split'\n ? (\n <div class=\"v-number-input__control\">\n { decrementControlNode() }\n\n <VDivider vertical />\n </div>\n ) : (props.reverse && controlVariant.value !== 'hidden'\n ? <>{ controlNode() }{ dividerNode() }</>\n : undefined)\n\n const hasPrependInner = slots['prepend-inner'] || prependInnerControl\n\n return (\n <VTextField\n ref={ vTextFieldRef }\n v-model={ inputText.value }\n validationValue={ model.value }\n onBeforeinput={ onBeforeinput }\n onFocus={ onFocus }\n onBlur={ onBlur }\n onKeydown={ onKeydown }\n class={[\n 'v-number-input',\n {\n 'v-number-input--default': controlVariant.value === 'default',\n 'v-number-input--hide-input': props.hideInput,\n 'v-number-input--inset': props.inset,\n 'v-number-input--reverse': props.reverse,\n 'v-number-input--split': controlVariant.value === 'split',\n 'v-number-input--stacked': controlVariant.value === 'stacked',\n },\n props.class,\n ]}\n { ...textFieldProps }\n style={ props.style }\n inputmode=\"decimal\"\n >\n {{\n ...slots,\n 'append-inner': hasAppendInner ? (...args) => (\n <>\n { slots['append-inner']?.(...args) }\n { appendInnerControl }\n </>\n ) : undefined,\n 'prepend-inner': hasPrependInner ? (...args) => (\n <>\n { prependInnerControl }\n { slots['prepend-inner']?.(...args) }\n </>\n ) : undefined,\n }}\n </VTextField>\n )\n })\n\n return forwardRefs({}, vTextFieldRef)\n },\n})\n\nexport type VNumberInput = InstanceType<typeof VNumberInput>\n"],"mappings":"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","ignoreList":[]}
|
package/lib/entry-bundler.js
CHANGED
@@ -16,7 +16,7 @@ export const createVuetify = function () {
|
|
16
16
|
...options
|
17
17
|
});
|
18
18
|
};
|
19
|
-
export const version = "3.8.
|
19
|
+
export const version = "3.8.7-master.2025-05-27";
|
20
20
|
createVuetify.version = version;
|
21
21
|
export { blueprints, components, directives };
|
22
22
|
export * from "./composables/index.js";
|
package/lib/framework.d.ts
CHANGED
@@ -2539,45 +2539,40 @@ declare module 'vue' {
|
|
2539
2539
|
$children?: VNodeChild
|
2540
2540
|
}
|
2541
2541
|
export interface GlobalComponents {
|
2542
|
-
|
2542
|
+
VAppBar: typeof import('vuetify/components')['VAppBar']
|
2543
|
+
VAppBarNavIcon: typeof import('vuetify/components')['VAppBarNavIcon']
|
2544
|
+
VAppBarTitle: typeof import('vuetify/components')['VAppBarTitle']
|
2545
|
+
VAutocomplete: typeof import('vuetify/components')['VAutocomplete']
|
2543
2546
|
VAlert: typeof import('vuetify/components')['VAlert']
|
2544
2547
|
VAlertTitle: typeof import('vuetify/components')['VAlertTitle']
|
2548
|
+
VApp: typeof import('vuetify/components')['VApp']
|
2545
2549
|
VAvatar: typeof import('vuetify/components')['VAvatar']
|
2546
|
-
|
2550
|
+
VBadge: typeof import('vuetify/components')['VBadge']
|
2551
|
+
VBtn: typeof import('vuetify/components')['VBtn']
|
2547
2552
|
VBanner: typeof import('vuetify/components')['VBanner']
|
2548
2553
|
VBannerActions: typeof import('vuetify/components')['VBannerActions']
|
2549
2554
|
VBannerText: typeof import('vuetify/components')['VBannerText']
|
2550
|
-
VBadge: typeof import('vuetify/components')['VBadge']
|
2551
|
-
VBottomNavigation: typeof import('vuetify/components')['VBottomNavigation']
|
2552
2555
|
VBottomSheet: typeof import('vuetify/components')['VBottomSheet']
|
2553
2556
|
VCarousel: typeof import('vuetify/components')['VCarousel']
|
2554
2557
|
VCarouselItem: typeof import('vuetify/components')['VCarouselItem']
|
2555
|
-
|
2558
|
+
VBottomNavigation: typeof import('vuetify/components')['VBottomNavigation']
|
2559
|
+
VBreadcrumbs: typeof import('vuetify/components')['VBreadcrumbs']
|
2560
|
+
VBreadcrumbsItem: typeof import('vuetify/components')['VBreadcrumbsItem']
|
2561
|
+
VBreadcrumbsDivider: typeof import('vuetify/components')['VBreadcrumbsDivider']
|
2562
|
+
VBtnGroup: typeof import('vuetify/components')['VBtnGroup']
|
2556
2563
|
VCard: typeof import('vuetify/components')['VCard']
|
2557
2564
|
VCardActions: typeof import('vuetify/components')['VCardActions']
|
2558
2565
|
VCardItem: typeof import('vuetify/components')['VCardItem']
|
2559
2566
|
VCardSubtitle: typeof import('vuetify/components')['VCardSubtitle']
|
2560
2567
|
VCardText: typeof import('vuetify/components')['VCardText']
|
2561
2568
|
VCardTitle: typeof import('vuetify/components')['VCardTitle']
|
2562
|
-
|
2563
|
-
|
2564
|
-
|
2565
|
-
VBreadcrumbsDivider: typeof import('vuetify/components')['VBreadcrumbsDivider']
|
2569
|
+
VBtnToggle: typeof import('vuetify/components')['VBtnToggle']
|
2570
|
+
VChipGroup: typeof import('vuetify/components')['VChipGroup']
|
2571
|
+
VChip: typeof import('vuetify/components')['VChip']
|
2566
2572
|
VCheckbox: typeof import('vuetify/components')['VCheckbox']
|
2567
2573
|
VCheckboxBtn: typeof import('vuetify/components')['VCheckboxBtn']
|
2568
2574
|
VColorPicker: typeof import('vuetify/components')['VColorPicker']
|
2569
|
-
VChip: typeof import('vuetify/components')['VChip']
|
2570
|
-
VChipGroup: typeof import('vuetify/components')['VChipGroup']
|
2571
|
-
VCombobox: typeof import('vuetify/components')['VCombobox']
|
2572
|
-
VBtnToggle: typeof import('vuetify/components')['VBtnToggle']
|
2573
2575
|
VCode: typeof import('vuetify/components')['VCode']
|
2574
|
-
VCounter: typeof import('vuetify/components')['VCounter']
|
2575
|
-
VDatePicker: typeof import('vuetify/components')['VDatePicker']
|
2576
|
-
VDatePickerControls: typeof import('vuetify/components')['VDatePickerControls']
|
2577
|
-
VDatePickerHeader: typeof import('vuetify/components')['VDatePickerHeader']
|
2578
|
-
VDatePickerMonth: typeof import('vuetify/components')['VDatePickerMonth']
|
2579
|
-
VDatePickerMonths: typeof import('vuetify/components')['VDatePickerMonths']
|
2580
|
-
VDatePickerYears: typeof import('vuetify/components')['VDatePickerYears']
|
2581
2576
|
VDataTable: typeof import('vuetify/components')['VDataTable']
|
2582
2577
|
VDataTableHeaders: typeof import('vuetify/components')['VDataTableHeaders']
|
2583
2578
|
VDataTableFooter: typeof import('vuetify/components')['VDataTableFooter']
|
@@ -2586,15 +2581,26 @@ declare module 'vue' {
|
|
2586
2581
|
VDataTableVirtual: typeof import('vuetify/components')['VDataTableVirtual']
|
2587
2582
|
VDataTableServer: typeof import('vuetify/components')['VDataTableServer']
|
2588
2583
|
VDivider: typeof import('vuetify/components')['VDivider']
|
2584
|
+
VCombobox: typeof import('vuetify/components')['VCombobox']
|
2589
2585
|
VDialog: typeof import('vuetify/components')['VDialog']
|
2586
|
+
VDatePicker: typeof import('vuetify/components')['VDatePicker']
|
2587
|
+
VDatePickerControls: typeof import('vuetify/components')['VDatePickerControls']
|
2588
|
+
VDatePickerHeader: typeof import('vuetify/components')['VDatePickerHeader']
|
2589
|
+
VDatePickerMonth: typeof import('vuetify/components')['VDatePickerMonth']
|
2590
|
+
VDatePickerMonths: typeof import('vuetify/components')['VDatePickerMonths']
|
2591
|
+
VDatePickerYears: typeof import('vuetify/components')['VDatePickerYears']
|
2592
|
+
VCounter: typeof import('vuetify/components')['VCounter']
|
2590
2593
|
VEmptyState: typeof import('vuetify/components')['VEmptyState']
|
2591
2594
|
VFab: typeof import('vuetify/components')['VFab']
|
2592
|
-
VField: typeof import('vuetify/components')['VField']
|
2593
|
-
VFieldLabel: typeof import('vuetify/components')['VFieldLabel']
|
2594
2595
|
VExpansionPanels: typeof import('vuetify/components')['VExpansionPanels']
|
2595
2596
|
VExpansionPanel: typeof import('vuetify/components')['VExpansionPanel']
|
2596
2597
|
VExpansionPanelText: typeof import('vuetify/components')['VExpansionPanelText']
|
2597
2598
|
VExpansionPanelTitle: typeof import('vuetify/components')['VExpansionPanelTitle']
|
2599
|
+
VField: typeof import('vuetify/components')['VField']
|
2600
|
+
VFieldLabel: typeof import('vuetify/components')['VFieldLabel']
|
2601
|
+
VFooter: typeof import('vuetify/components')['VFooter']
|
2602
|
+
VItemGroup: typeof import('vuetify/components')['VItemGroup']
|
2603
|
+
VItem: typeof import('vuetify/components')['VItem']
|
2598
2604
|
VFileInput: typeof import('vuetify/components')['VFileInput']
|
2599
2605
|
VIcon: typeof import('vuetify/components')['VIcon']
|
2600
2606
|
VComponentIcon: typeof import('vuetify/components')['VComponentIcon']
|
@@ -2602,11 +2608,11 @@ declare module 'vue' {
|
|
2602
2608
|
VLigatureIcon: typeof import('vuetify/components')['VLigatureIcon']
|
2603
2609
|
VClassIcon: typeof import('vuetify/components')['VClassIcon']
|
2604
2610
|
VImg: typeof import('vuetify/components')['VImg']
|
2611
|
+
VInput: typeof import('vuetify/components')['VInput']
|
2605
2612
|
VKbd: typeof import('vuetify/components')['VKbd']
|
2606
2613
|
VInfiniteScroll: typeof import('vuetify/components')['VInfiniteScroll']
|
2607
|
-
|
2608
|
-
|
2609
|
-
VItem: typeof import('vuetify/components')['VItem']
|
2614
|
+
VLabel: typeof import('vuetify/components')['VLabel']
|
2615
|
+
VMain: typeof import('vuetify/components')['VMain']
|
2610
2616
|
VList: typeof import('vuetify/components')['VList']
|
2611
2617
|
VListGroup: typeof import('vuetify/components')['VListGroup']
|
2612
2618
|
VListImg: typeof import('vuetify/components')['VListImg']
|
@@ -2616,72 +2622,73 @@ declare module 'vue' {
|
|
2616
2622
|
VListItemSubtitle: typeof import('vuetify/components')['VListItemSubtitle']
|
2617
2623
|
VListItemTitle: typeof import('vuetify/components')['VListItemTitle']
|
2618
2624
|
VListSubheader: typeof import('vuetify/components')['VListSubheader']
|
2619
|
-
VLabel: typeof import('vuetify/components')['VLabel']
|
2620
2625
|
VMenu: typeof import('vuetify/components')['VMenu']
|
2621
|
-
VMessages: typeof import('vuetify/components')['VMessages']
|
2622
2626
|
VNavigationDrawer: typeof import('vuetify/components')['VNavigationDrawer']
|
2623
|
-
|
2624
|
-
VNumberInput: typeof import('vuetify/components')['VNumberInput']
|
2627
|
+
VMessages: typeof import('vuetify/components')['VMessages']
|
2625
2628
|
VOtpInput: typeof import('vuetify/components')['VOtpInput']
|
2629
|
+
VNumberInput: typeof import('vuetify/components')['VNumberInput']
|
2626
2630
|
VPagination: typeof import('vuetify/components')['VPagination']
|
2627
2631
|
VOverlay: typeof import('vuetify/components')['VOverlay']
|
2628
2632
|
VProgressLinear: typeof import('vuetify/components')['VProgressLinear']
|
2629
2633
|
VProgressCircular: typeof import('vuetify/components')['VProgressCircular']
|
2634
|
+
VSelectionControl: typeof import('vuetify/components')['VSelectionControl']
|
2635
|
+
VRadioGroup: typeof import('vuetify/components')['VRadioGroup']
|
2630
2636
|
VRating: typeof import('vuetify/components')['VRating']
|
2631
2637
|
VSelect: typeof import('vuetify/components')['VSelect']
|
2632
|
-
VRadioGroup: typeof import('vuetify/components')['VRadioGroup']
|
2633
2638
|
VSelectionControlGroup: typeof import('vuetify/components')['VSelectionControlGroup']
|
2634
|
-
|
2635
|
-
VSelectionControl: typeof import('vuetify/components')['VSelectionControl']
|
2636
|
-
VSnackbar: typeof import('vuetify/components')['VSnackbar']
|
2639
|
+
VSheet: typeof import('vuetify/components')['VSheet']
|
2637
2640
|
VSkeletonLoader: typeof import('vuetify/components')['VSkeletonLoader']
|
2641
|
+
VSlider: typeof import('vuetify/components')['VSlider']
|
2638
2642
|
VSlideGroup: typeof import('vuetify/components')['VSlideGroup']
|
2639
2643
|
VSlideGroupItem: typeof import('vuetify/components')['VSlideGroupItem']
|
2640
|
-
|
2644
|
+
VSystemBar: typeof import('vuetify/components')['VSystemBar']
|
2645
|
+
VSnackbar: typeof import('vuetify/components')['VSnackbar']
|
2641
2646
|
VSwitch: typeof import('vuetify/components')['VSwitch']
|
2647
|
+
VTable: typeof import('vuetify/components')['VTable']
|
2642
2648
|
VStepper: typeof import('vuetify/components')['VStepper']
|
2643
2649
|
VStepperActions: typeof import('vuetify/components')['VStepperActions']
|
2644
2650
|
VStepperHeader: typeof import('vuetify/components')['VStepperHeader']
|
2645
2651
|
VStepperItem: typeof import('vuetify/components')['VStepperItem']
|
2646
2652
|
VStepperWindow: typeof import('vuetify/components')['VStepperWindow']
|
2647
2653
|
VStepperWindowItem: typeof import('vuetify/components')['VStepperWindowItem']
|
2648
|
-
|
2649
|
-
|
2650
|
-
|
2654
|
+
VTab: typeof import('vuetify/components')['VTab']
|
2655
|
+
VTabs: typeof import('vuetify/components')['VTabs']
|
2656
|
+
VTabsWindow: typeof import('vuetify/components')['VTabsWindow']
|
2657
|
+
VTabsWindowItem: typeof import('vuetify/components')['VTabsWindowItem']
|
2651
2658
|
VTimeline: typeof import('vuetify/components')['VTimeline']
|
2652
2659
|
VTimelineItem: typeof import('vuetify/components')['VTimelineItem']
|
2660
|
+
VTextField: typeof import('vuetify/components')['VTextField']
|
2661
|
+
VTooltip: typeof import('vuetify/components')['VTooltip']
|
2662
|
+
VTextarea: typeof import('vuetify/components')['VTextarea']
|
2663
|
+
VWindow: typeof import('vuetify/components')['VWindow']
|
2664
|
+
VWindowItem: typeof import('vuetify/components')['VWindowItem']
|
2653
2665
|
VToolbar: typeof import('vuetify/components')['VToolbar']
|
2654
2666
|
VToolbarTitle: typeof import('vuetify/components')['VToolbarTitle']
|
2655
2667
|
VToolbarItems: typeof import('vuetify/components')['VToolbarItems']
|
2656
|
-
VAppBar: typeof import('vuetify/components')['VAppBar']
|
2657
|
-
VAppBarNavIcon: typeof import('vuetify/components')['VAppBarNavIcon']
|
2658
|
-
VAppBarTitle: typeof import('vuetify/components')['VAppBarTitle']
|
2659
|
-
VSheet: typeof import('vuetify/components')['VSheet']
|
2660
|
-
VWindow: typeof import('vuetify/components')['VWindow']
|
2661
|
-
VWindowItem: typeof import('vuetify/components')['VWindowItem']
|
2662
2668
|
VConfirmEdit: typeof import('vuetify/components')['VConfirmEdit']
|
2663
2669
|
VDataIterator: typeof import('vuetify/components')['VDataIterator']
|
2664
2670
|
VDefaultsProvider: typeof import('vuetify/components')['VDefaultsProvider']
|
2665
2671
|
VForm: typeof import('vuetify/components')['VForm']
|
2666
|
-
VHover: typeof import('vuetify/components')['VHover']
|
2667
2672
|
VContainer: typeof import('vuetify/components')['VContainer']
|
2668
2673
|
VCol: typeof import('vuetify/components')['VCol']
|
2669
2674
|
VRow: typeof import('vuetify/components')['VRow']
|
2670
2675
|
VSpacer: typeof import('vuetify/components')['VSpacer']
|
2676
|
+
VHover: typeof import('vuetify/components')['VHover']
|
2677
|
+
VLazy: typeof import('vuetify/components')['VLazy']
|
2678
|
+
VLocaleProvider: typeof import('vuetify/components')['VLocaleProvider']
|
2671
2679
|
VLayout: typeof import('vuetify/components')['VLayout']
|
2672
2680
|
VLayoutItem: typeof import('vuetify/components')['VLayoutItem']
|
2673
|
-
VLazy: typeof import('vuetify/components')['VLazy']
|
2674
2681
|
VNoSsr: typeof import('vuetify/components')['VNoSsr']
|
2675
|
-
VLocaleProvider: typeof import('vuetify/components')['VLocaleProvider']
|
2676
2682
|
VParallax: typeof import('vuetify/components')['VParallax']
|
2677
2683
|
VRadio: typeof import('vuetify/components')['VRadio']
|
2678
|
-
VResponsive: typeof import('vuetify/components')['VResponsive']
|
2679
2684
|
VRangeSlider: typeof import('vuetify/components')['VRangeSlider']
|
2680
|
-
|
2685
|
+
VResponsive: typeof import('vuetify/components')['VResponsive']
|
2681
2686
|
VSparkline: typeof import('vuetify/components')['VSparkline']
|
2682
|
-
|
2687
|
+
VSnackbarQueue: typeof import('vuetify/components')['VSnackbarQueue']
|
2683
2688
|
VSpeedDial: typeof import('vuetify/components')['VSpeedDial']
|
2689
|
+
VThemeProvider: typeof import('vuetify/components')['VThemeProvider']
|
2684
2690
|
VValidation: typeof import('vuetify/components')['VValidation']
|
2691
|
+
VVirtualScroll: typeof import('vuetify/components')['VVirtualScroll']
|
2685
2692
|
VFabTransition: typeof import('vuetify/components')['VFabTransition']
|
2686
2693
|
VDialogBottomTransition: typeof import('vuetify/components')['VDialogBottomTransition']
|
2687
2694
|
VDialogTopTransition: typeof import('vuetify/components')['VDialogTopTransition']
|
@@ -2698,34 +2705,27 @@ declare module 'vue' {
|
|
2698
2705
|
VExpandTransition: typeof import('vuetify/components')['VExpandTransition']
|
2699
2706
|
VExpandXTransition: typeof import('vuetify/components')['VExpandXTransition']
|
2700
2707
|
VDialogTransition: typeof import('vuetify/components')['VDialogTransition']
|
2701
|
-
VTooltip: typeof import('vuetify/components')['VTooltip']
|
2702
|
-
VVirtualScroll: typeof import('vuetify/components')['VVirtualScroll']
|
2703
|
-
VTextarea: typeof import('vuetify/components')['VTextarea']
|
2704
|
-
VTab: typeof import('vuetify/components')['VTab']
|
2705
|
-
VTabs: typeof import('vuetify/components')['VTabs']
|
2706
|
-
VTabsWindow: typeof import('vuetify/components')['VTabsWindow']
|
2707
|
-
VTabsWindowItem: typeof import('vuetify/components')['VTabsWindowItem']
|
2708
|
-
VIconBtn: typeof import('vuetify/labs/components')['VIconBtn']
|
2709
|
-
VFileUpload: typeof import('vuetify/labs/components')['VFileUpload']
|
2710
|
-
VFileUploadItem: typeof import('vuetify/labs/components')['VFileUploadItem']
|
2711
2708
|
VCalendar: typeof import('vuetify/labs/components')['VCalendar']
|
2712
2709
|
VCalendarDay: typeof import('vuetify/labs/components')['VCalendarDay']
|
2713
2710
|
VCalendarHeader: typeof import('vuetify/labs/components')['VCalendarHeader']
|
2714
2711
|
VCalendarInterval: typeof import('vuetify/labs/components')['VCalendarInterval']
|
2715
2712
|
VCalendarIntervalEvent: typeof import('vuetify/labs/components')['VCalendarIntervalEvent']
|
2716
2713
|
VCalendarMonthDay: typeof import('vuetify/labs/components')['VCalendarMonthDay']
|
2714
|
+
VFileUpload: typeof import('vuetify/labs/components')['VFileUpload']
|
2715
|
+
VFileUploadItem: typeof import('vuetify/labs/components')['VFileUploadItem']
|
2716
|
+
VIconBtn: typeof import('vuetify/labs/components')['VIconBtn']
|
2717
2717
|
VColorInput: typeof import('vuetify/labs/components')['VColorInput']
|
2718
|
-
VPicker: typeof import('vuetify/labs/components')['VPicker']
|
2719
|
-
VPickerTitle: typeof import('vuetify/labs/components')['VPickerTitle']
|
2720
|
-
VTimePicker: typeof import('vuetify/labs/components')['VTimePicker']
|
2721
|
-
VTimePickerClock: typeof import('vuetify/labs/components')['VTimePickerClock']
|
2722
|
-
VTimePickerControls: typeof import('vuetify/labs/components')['VTimePickerControls']
|
2723
2718
|
VStepperVertical: typeof import('vuetify/labs/components')['VStepperVertical']
|
2724
2719
|
VStepperVerticalItem: typeof import('vuetify/labs/components')['VStepperVerticalItem']
|
2725
2720
|
VStepperVerticalActions: typeof import('vuetify/labs/components')['VStepperVerticalActions']
|
2721
|
+
VPicker: typeof import('vuetify/labs/components')['VPicker']
|
2722
|
+
VPickerTitle: typeof import('vuetify/labs/components')['VPickerTitle']
|
2726
2723
|
VTreeview: typeof import('vuetify/labs/components')['VTreeview']
|
2727
2724
|
VTreeviewItem: typeof import('vuetify/labs/components')['VTreeviewItem']
|
2728
2725
|
VTreeviewGroup: typeof import('vuetify/labs/components')['VTreeviewGroup']
|
2726
|
+
VTimePicker: typeof import('vuetify/labs/components')['VTimePicker']
|
2727
|
+
VTimePickerClock: typeof import('vuetify/labs/components')['VTimePickerClock']
|
2728
|
+
VTimePickerControls: typeof import('vuetify/labs/components')['VTimePickerControls']
|
2729
2729
|
VDateInput: typeof import('vuetify/labs/components')['VDateInput']
|
2730
2730
|
VPullToRefresh: typeof import('vuetify/labs/components')['VPullToRefresh']
|
2731
2731
|
}
|
package/lib/framework.js
CHANGED