bitboss-ui 1.0.21 → 1.0.22
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/components/BbBadge/BbBadge.vue.d.ts +1 -1
- package/dist/index104.js +3 -3
- package/dist/index112.js +1 -1
- package/dist/index114.js +4 -4
- package/dist/index116.js +1 -1
- package/dist/index119.js.map +1 -1
- package/dist/index12.js +3 -3
- package/dist/index120.js +1 -1
- package/dist/index121.js +1 -1
- package/dist/index122.js +1 -1
- package/dist/index124.js +1 -1
- package/dist/index130.js +1 -1
- package/dist/index134.js +2 -2
- package/dist/index16.js +8 -8
- package/dist/index18.js +11 -11
- package/dist/index20.js +3 -3
- package/dist/index200.js +5 -2
- package/dist/index200.js.map +1 -1
- package/dist/index201.js +14 -293
- package/dist/index201.js.map +1 -1
- package/dist/index202.js +10 -10
- package/dist/index202.js.map +1 -1
- package/dist/index203.js +18 -15
- package/dist/index203.js.map +1 -1
- package/dist/index204.js +19 -18
- package/dist/index204.js.map +1 -1
- package/dist/index205.js +23 -14
- package/dist/index205.js.map +1 -1
- package/dist/index206.js +8 -29
- package/dist/index206.js.map +1 -1
- package/dist/index207.js +2 -8
- package/dist/index207.js.map +1 -1
- package/dist/index208.js +121 -2
- package/dist/index208.js.map +1 -1
- package/dist/index209.js +134 -2
- package/dist/index209.js.map +1 -1
- package/dist/index210.js +2 -4
- package/dist/index210.js.map +1 -1
- package/dist/index211.js +35 -2
- package/dist/index211.js.map +1 -1
- package/dist/index212.js +174 -3
- package/dist/index212.js.map +1 -1
- package/dist/index213.js +6 -35
- package/dist/index213.js.map +1 -1
- package/dist/index214.js +368 -6
- package/dist/index214.js.map +1 -1
- package/dist/index215.js +363 -111
- package/dist/index215.js.map +1 -1
- package/dist/index216.js +2 -134
- package/dist/index216.js.map +1 -1
- package/dist/index217.js +4 -2
- package/dist/index217.js.map +1 -1
- package/dist/index218.js +2 -174
- package/dist/index218.js.map +1 -1
- package/dist/index219.js +2 -368
- package/dist/index219.js.map +1 -1
- package/dist/index22.js +2 -2
- package/dist/index220.js +3 -373
- package/dist/index220.js.map +1 -1
- package/dist/index221.js +1 -1
- package/dist/index222.js +2 -79
- package/dist/index222.js.map +1 -1
- package/dist/index223.js +3 -2
- package/dist/index223.js.map +1 -1
- package/dist/index224.js +3 -3
- package/dist/index224.js.map +1 -1
- package/dist/index225.js +79 -3
- package/dist/index225.js.map +1 -1
- package/dist/index227.js +9 -8
- package/dist/index227.js.map +1 -1
- package/dist/index228.js +9 -23
- package/dist/index228.js.map +1 -1
- package/dist/index229.js +23 -6
- package/dist/index229.js.map +1 -1
- package/dist/index230.js +295 -17
- package/dist/index230.js.map +1 -1
- package/dist/index231.js +5 -78
- package/dist/index231.js.map +1 -1
- package/dist/index232.js +2 -6
- package/dist/index232.js.map +1 -1
- package/dist/index233.js +2 -2
- package/dist/index238.js +6 -2
- package/dist/index238.js.map +1 -1
- package/dist/index239.js +17 -4
- package/dist/index239.js.map +1 -1
- package/dist/index24.js +1 -1
- package/dist/index24.js.map +1 -1
- package/dist/index240.js +2 -2
- package/dist/index240.js.map +1 -1
- package/dist/index241.js +106 -5
- package/dist/index241.js.map +1 -1
- package/dist/index242.js +433 -67
- package/dist/index242.js.map +1 -1
- package/dist/index243.js +3 -434
- package/dist/index243.js.map +1 -1
- package/dist/index244.js +197 -86
- package/dist/index244.js.map +1 -1
- package/dist/index245.js +117 -2
- package/dist/index245.js.map +1 -1
- package/dist/index246.js +88 -105
- package/dist/index246.js.map +1 -1
- package/dist/index247.js +76 -197
- package/dist/index247.js.map +1 -1
- package/dist/index248.js +68 -116
- package/dist/index248.js.map +1 -1
- package/dist/index249.js +5 -224
- package/dist/index249.js.map +1 -1
- package/dist/index250.js +2 -258
- package/dist/index250.js.map +1 -1
- package/dist/index251.js +224 -2
- package/dist/index251.js.map +1 -1
- package/dist/index252.js +255 -12
- package/dist/index252.js.map +1 -1
- package/dist/index253.js +2 -4
- package/dist/index253.js.map +1 -1
- package/dist/index254.js +15 -4
- package/dist/index254.js.map +1 -1
- package/dist/index255.js +4 -61
- package/dist/index255.js.map +1 -1
- package/dist/index256.js +4 -2
- package/dist/index256.js.map +1 -1
- package/dist/index257.js +64 -0
- package/dist/index257.js.map +1 -0
- package/dist/index258.js +5 -0
- package/dist/index258.js.map +1 -0
- package/dist/index26.js +2 -2
- package/dist/index30.js +3 -3
- package/dist/index32.js +8 -8
- package/dist/index34.js +3 -3
- package/dist/index36.js +2 -2
- package/dist/index40.js +1 -1
- package/dist/index44.js +4 -4
- package/dist/index44.js.map +1 -1
- package/dist/index50.js +1 -1
- package/dist/index52.js +1 -1
- package/dist/index52.js.map +1 -1
- package/dist/index56.js +24 -18
- package/dist/index56.js.map +1 -1
- package/dist/index68.js +5 -5
- package/dist/index72.js +2 -2
- package/dist/index75.js +1 -1
- package/dist/index78.js +1 -1
- package/dist/index80.js +1 -1
- package/dist/index82.js +4 -4
- package/dist/index84.js +1 -1
- package/dist/style.css +1 -1
- package/package.json +1 -1
package/dist/index24.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index24.js","sources":["../src/components/BaseNumberInput/BaseNumberInput.vue"],"sourcesContent":["<template>\n\t<span class=\"bb-base-number-input__container\" :class=\"classes\">\n\t\t<slot :decrease=\"decrease\" :increase=\"increase\" name=\"prepend-outer\"></slot>\n\t\t<span class=\"bb-base-number-input__inner-container\">\n\t\t\t<slot :decrease=\"decrease\" :increase=\"increase\" name=\"prepend\"></slot>\n\t\t\t<input\n\t\t\t\t:aria-describedby=\"ariaDescribedby\"\n\t\t\t\t:autocomplete=\"autocomplete\"\n\t\t\t\t:autofocus=\"autofocus\"\n\t\t\t\t:class=\"'bb-base-number-input__input'\"\n\t\t\t\t:disabled=\"disabled\"\n\t\t\t\t:id=\"id\"\n\t\t\t\t:inputmode=\"'decimal'\"\n\t\t\t\t:name=\"name\"\n\t\t\t\t:placeholder=\"placeholder\"\n\t\t\t\t:readonly=\"readonly\"\n\t\t\t\t:step=\"step\"\n\t\t\t\t:type=\"`text`\"\n\t\t\t\tref=\"input\"\n\t\t\t\tv-bind=\"eventListeners\"\n\t\t\t\t@input.stop=\"onInput\"\n\t\t\t/>\n\t\t\t<slot :decrease=\"decrease\" :increase=\"increase\" name=\"append\"></slot>\n\t\t</span>\n\t\t<slot :decrease=\"decrease\" :increase=\"increase\" name=\"append-outer\"></slot>\n\t</span>\n</template>\n\n<script setup lang=\"ts\">\nimport { clamp } from '@/utilities/functions/clamp';\nimport { computed, onMounted, ref, watch } from 'vue';\nimport type { HTMLAttributes, InputHTMLAttributes } from 'vue';\n\nexport type BaseNumberInputProps = {\n\t/**\n\t * Guides to the browser as to the type of information expected in the field.\n\t */\n\tariaDescribedby?: InputHTMLAttributes['aria-describedby'];\n\n\t/**\n\t * Guides to the browser as to the type of information expected in the field.\n\t */\n\tautocomplete?: InputHTMLAttributes['autocomplete'];\n\n\t/**\n\t * Sets autofocus on page load.\n\t */\n\tautofocus?: InputHTMLAttributes['autofocus'];\n\n\t/**\n\t * Disables the component\n\t */\n\tdisabled?: boolean;\n\n\t/**\n\t * Define if the component should be in an error state.\n\t * It usually attaches a CSS class for styling purposes.\n\t */\n\thasErrors?: boolean;\n\n\t/**\n\t * The identifier of the component.\n\t */\n\tid?: HTMLAttributes['id'];\n\n\t/**\n\t * Maximum value cap\n\t */\n\tmax?: number;\n\n\t/**\n\t * Minimum value cap\n\t */\n\tmin?: number;\n\n\t/**\n\t * Used by v-model\n\t */\n\tmodelValue: number | string | null;\n\n\t/**\n\t * Defines the name of the input.\n\t */\n\tname?: InputHTMLAttributes['name'];\n\n\t/**\n\t * String displayed when there's no data.\n\t */\n\tplaceholder?: InputHTMLAttributes['placeholder'];\n\n\t/**\n\t * Sets the input in a readonly state.\n\t */\n\treadonly?: InputHTMLAttributes['readonly'];\n\n\t/**\n\t * Incremental unit used in the exposed `increase`\n\t * and `decrease` function. It's NOT APPLIED to manual input as a step of 5\n\t * will prevent the user from inserting a value like `115` because of rounding down.\n\t */\n\tstep?: number;\n};\n\nconst props = withDefaults(defineProps<BaseNumberInputProps>(), {\n\tstep: 1,\n});\n\nexport type BaseNumberInputEvents = {\n\t(e: 'blur', event: FocusEvent): void;\n\n\t(e: 'change', event: Event): void;\n\n\t(e: 'click', event: MouseEvent): void;\n\n\t(e: 'decrease', value: number): void;\n\n\t(e: 'focus', event: FocusEvent): void;\n\n\t(e: 'increase', value: number): void;\n\n\t(e: 'input', event: Event): void;\n\n\t(e: 'keydown', event: KeyboardEvent): void;\n\n\t(e: 'mousedown', event: MouseEvent): void;\n\n\t(e: 'mouseup', event: MouseEvent): void;\n\n\t(e: 'update:modelValue', value: number | null): void;\n};\n\nconst emit = defineEmits<BaseNumberInputEvents>();\n\nexport type BaseNumberInputSlots = {\n\tappend?: (props: {\n\t\tincrease: typeof increase;\n\t\tdecrease: typeof decrease;\n\t}) => any;\n\n\t'append-outer'?: (props: {\n\t\tincrease: typeof increase;\n\t\tdecrease: typeof decrease;\n\t}) => any;\n\n\tprepend?: (props: {\n\t\tincrease: typeof increase;\n\t\tdecrease: typeof decrease;\n\t}) => any;\n\n\t'prepend-outer'?: (props: {\n\t\tincrease: typeof increase;\n\t\tdecrease: typeof decrease;\n\t}) => any;\n};\n\ndefineSlots<BaseNumberInputSlots>();\n\nconst classes = computed(() => {\n\treturn {\n\t\t'bb-base-number-input': true,\n\t\t'bb-base-number-input--disabled': props.disabled,\n\t\t'bb-base-number-input--errors': props.hasErrors,\n\t\t'bb-base-number-input--readonly': props.readonly,\n\t};\n});\n\nconst input = ref<HTMLInputElement | null>(null);\nconst isInsertingSymbols = ref(false);\nconst decrease = () => {\n\tif (props.disabled || props.readonly || isInsertingSymbols.value) return;\n\tconst min = typeof props.min === 'undefined' ? -Infinity : props.min;\n\tconst max = typeof props.max === 'undefined' ? Infinity : props.max;\n\tlet valueToEmit = Math.max(Number(props.modelValue || 0) - props.step, min);\n\n\tvalueToEmit =\n\t\tvalueToEmit === null ? valueToEmit : clamp(valueToEmit, min, max);\n\temit('decrease', valueToEmit);\n\temit('update:modelValue', valueToEmit);\n};\n\nconst increase = () => {\n\tif (props.disabled || props.readonly || isInsertingSymbols.value) return;\n\tconst min = typeof props.min === 'undefined' ? -Infinity : props.min;\n\tconst max = typeof props.max === 'undefined' ? Infinity : props.max;\n\tlet valueToEmit = Math.min(Number(props.modelValue || 0) + +props.step, max);\n\n\tvalueToEmit =\n\t\tvalueToEmit === null ? valueToEmit : clamp(valueToEmit, min, max);\n\temit('increase', valueToEmit);\n\temit('update:modelValue', valueToEmit);\n};\n\ndefineExpose({\n\tincrease,\n\tdecrease,\n});\n\nconst onInput = (event: Event) => {\n\tif (event.target instanceof HTMLInputElement) {\n\t\tconst value = event.target.value;\n\t\tconst commaOrPeriod = /[,.]/g;\n\t\tconst matches = [...value.matchAll(commaOrPeriod)];\n\t\t/**\n\t\t * Proceed unless the user is pressing comma or period to insert a decimal number,\n\t\t * we do not want to replace the comma as soon as the user presses it\n\t\t */\n\t\tif (\n\t\t\t!(\n\t\t\t\tmatches.length === 1 &&\n\t\t\t\tmatches.some((match) => match.index === value.length - 1)\n\t\t\t) &&\n\t\t\t!(matches.length && value[value.length - 1] === '0') &&\n\t\t\tvalue !== '-'\n\t\t) {\n\t\t\tisInsertingSymbols.value = false;\n\t\t\tlet valueToEmit: null | number;\n\t\t\tif (event.target.value === '') {\n\t\t\t\tvalueToEmit = null;\n\t\t\t} else {\n\t\t\t\tvalueToEmit = makeValidNumberString(event.target.value);\n\t\t\t}\n\t\t\tconst min = typeof props.min === 'undefined' ? -Infinity : props.min;\n\t\t\tconst max = typeof props.max === 'undefined' ? Infinity : props.max;\n\t\t\tvalueToEmit =\n\t\t\t\tvalueToEmit === null ? valueToEmit : clamp(valueToEmit, min, max);\n\t\t\temit('update:modelValue', valueToEmit);\n\t\t\tif (input.value) {\n\t\t\t\tif (valueToEmit === null) {\n\t\t\t\t\tinput.value.value = '';\n\t\t\t\t} else {\n\t\t\t\t\tinput.value.value = `${valueToEmit}`;\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tisInsertingSymbols.value = true;\n\t\t}\n\t\temit('input', event);\n\t}\n};\n\nconst makeValidNumberString = (value: string | number) => {\n\tif (typeof value === 'number') return value;\n\t// Replace comma with periods\n\tlet current = value.replaceAll(',', '.');\n\tlet preventDashes = current\n\t\t.slice(0, 1)\n\t\t.concat(current.slice(1).replaceAll('-', ''));\n\tlet noLetters = preventDashes.replaceAll(/[^\\d.-]/g, '');\n\tlet parts = noLetters.split('.');\n\tlet first = parts.slice(0, 1).join('') || 0;\n\tlet second = parts.slice(1).join('') || 0;\n\tlet unified = `${first}.${second}`;\n\treturn Number(unified);\n};\n\n/**\n * These events are just propagated\n */\nconst eventListeners = {\n\tonBlur: (event: FocusEvent) => emit('blur', event),\n\tonChange: (event: Event) => emit('change', event),\n\tonClick: (event: MouseEvent) => emit('click', event),\n\tonFocus: (event: FocusEvent) => emit('focus', event),\n\tonKeydown: (event: KeyboardEvent) => emit('keydown', event),\n\tonMousedown: (event: MouseEvent) => emit('mousedown', event),\n\tonMouseup: (event: MouseEvent) => emit('mouseup', event),\n};\n\nconst alignInputToModelValue = (value?: string | number | null) => {\n\tif (input.value) {\n\t\tif (value === null || value === '' || value === undefined) {\n\t\t\tinput.value.value = '';\n\t\t} else if (typeof value !== 'undefined') {\n\t\t\tinput.value.value = makeValidNumberString(value).toString();\n\t\t}\n\t} else {\n\t\tconsole.error('Could not align input as it is not mounted');\n\t}\n};\nonMounted(() => {\n\talignInputToModelValue(props.modelValue);\n});\n/**\n * Allow modelValue to be passed as string (as sometimes happens from the server) and normalize it\n */\nwatch(() => props.modelValue, alignInputToModelValue);\n</script>\n\n<style lang=\"postcss\">\n@import '@/assets/css/BaseNumberInput';\n</style>\n"],"names":["props","__props","emit","__emit","classes","computed","input","ref","isInsertingSymbols","decrease","min","max","valueToEmit","clamp","increase","__expose","onInput","event","value","commaOrPeriod","matches","match","makeValidNumberString","current","parts","first","second","unified","eventListeners","alignInputToModelValue","onMounted","watch"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index24.js","sources":["../src/components/BaseNumberInput/BaseNumberInput.vue"],"sourcesContent":["<template>\n\t<span class=\"bb-base-number-input__container\" :class=\"classes\">\n\t\t<slot :decrease=\"decrease\" :increase=\"increase\" name=\"prepend-outer\"></slot>\n\t\t<span class=\"bb-base-number-input__inner-container\">\n\t\t\t<slot :decrease=\"decrease\" :increase=\"increase\" name=\"prepend\"></slot>\n\t\t\t<input\n\t\t\t\t:aria-describedby=\"ariaDescribedby\"\n\t\t\t\t:autocomplete=\"autocomplete\"\n\t\t\t\t:autofocus=\"autofocus\"\n\t\t\t\t:class=\"'bb-base-number-input__input'\"\n\t\t\t\t:disabled=\"disabled\"\n\t\t\t\t:id=\"id\"\n\t\t\t\t:inputmode=\"'decimal'\"\n\t\t\t\t:name=\"name\"\n\t\t\t\t:placeholder=\"placeholder\"\n\t\t\t\t:readonly=\"readonly\"\n\t\t\t\t:step=\"step\"\n\t\t\t\t:type=\"`text`\"\n\t\t\t\tref=\"input\"\n\t\t\t\tv-bind=\"eventListeners\"\n\t\t\t\t@input.stop=\"onInput\"\n\t\t\t/>\n\t\t\t<slot :decrease=\"decrease\" :increase=\"increase\" name=\"append\"></slot>\n\t\t</span>\n\t\t<slot :decrease=\"decrease\" :increase=\"increase\" name=\"append-outer\"></slot>\n\t</span>\n</template>\n\n<script setup lang=\"ts\">\nimport { clamp } from '@/utilities/functions/clamp';\nimport { computed, onMounted, ref, watch } from 'vue';\nimport type { HTMLAttributes, InputHTMLAttributes } from 'vue';\n\nexport type BaseNumberInputProps = {\n\t/**\n\t * Guides to the browser as to the type of information expected in the field.\n\t */\n\tariaDescribedby?: InputHTMLAttributes['aria-describedby'];\n\n\t/**\n\t * Guides to the browser as to the type of information expected in the field.\n\t */\n\tautocomplete?: InputHTMLAttributes['autocomplete'];\n\n\t/**\n\t * Sets autofocus on page load.\n\t */\n\tautofocus?: InputHTMLAttributes['autofocus'];\n\n\t/**\n\t * Disables the component\n\t */\n\tdisabled?: boolean;\n\n\t/**\n\t * Define if the component should be in an error state.\n\t * It usually attaches a CSS class for styling purposes.\n\t */\n\thasErrors?: boolean;\n\n\t/**\n\t * The identifier of the component.\n\t */\n\tid?: HTMLAttributes['id'];\n\n\t/**\n\t * Maximum value cap\n\t */\n\tmax?: number;\n\n\t/**\n\t * Minimum value cap\n\t */\n\tmin?: number;\n\n\t/**\n\t * Used by v-model\n\t */\n\tmodelValue: number | string | null;\n\n\t/**\n\t * Defines the name of the input.\n\t */\n\tname?: InputHTMLAttributes['name'];\n\n\t/**\n\t * String displayed when there's no data.\n\t */\n\tplaceholder?: InputHTMLAttributes['placeholder'];\n\n\t/**\n\t * Sets the input in a readonly state.\n\t */\n\treadonly?: InputHTMLAttributes['readonly'];\n\n\t/**\n\t * Incremental unit used in the exposed `increase`\n\t * and `decrease` function. It's NOT APPLIED to manual input as a step of 5\n\t * will prevent the user from inserting a value like `115` because of rounding down.\n\t */\n\tstep?: number;\n};\n\nconst props = withDefaults(defineProps<BaseNumberInputProps>(), {\n\tstep: 1,\n});\n\nexport type BaseNumberInputEvents = {\n\t(e: 'blur', event: FocusEvent): void;\n\t(e: 'change', event: Event): void;\n\t(e: 'click', event: MouseEvent): void;\n\t(e: 'decrease', value: number): void;\n\t(e: 'focus', event: FocusEvent): void;\n\t(e: 'increase', value: number): void;\n\t(e: 'input', event: Event): void;\n\t(e: 'keydown', event: KeyboardEvent): void;\n\t(e: 'mousedown', event: MouseEvent): void;\n\t(e: 'mouseup', event: MouseEvent): void;\n\t(e: 'update:modelValue', value: number | null): void;\n};\n\nconst emit = defineEmits<BaseNumberInputEvents>();\n\nexport type BaseNumberInputSlots = {\n\tappend?: (props: {\n\t\tincrease: typeof increase;\n\t\tdecrease: typeof decrease;\n\t}) => any;\n\n\t'append-outer'?: (props: {\n\t\tincrease: typeof increase;\n\t\tdecrease: typeof decrease;\n\t}) => any;\n\n\tprepend?: (props: {\n\t\tincrease: typeof increase;\n\t\tdecrease: typeof decrease;\n\t}) => any;\n\n\t'prepend-outer'?: (props: {\n\t\tincrease: typeof increase;\n\t\tdecrease: typeof decrease;\n\t}) => any;\n};\n\ndefineSlots<BaseNumberInputSlots>();\n\nconst classes = computed(() => {\n\treturn {\n\t\t'bb-base-number-input': true,\n\t\t'bb-base-number-input--disabled': props.disabled,\n\t\t'bb-base-number-input--errors': props.hasErrors,\n\t\t'bb-base-number-input--readonly': props.readonly,\n\t};\n});\n\nconst input = ref<HTMLInputElement | null>(null);\nconst isInsertingSymbols = ref(false);\nconst decrease = () => {\n\tif (props.disabled || props.readonly || isInsertingSymbols.value) return;\n\tconst min = typeof props.min === 'undefined' ? -Infinity : props.min;\n\tconst max = typeof props.max === 'undefined' ? Infinity : props.max;\n\tlet valueToEmit = Math.max(Number(props.modelValue || 0) - props.step, min);\n\n\tvalueToEmit =\n\t\tvalueToEmit === null ? valueToEmit : clamp(valueToEmit, min, max);\n\temit('decrease', valueToEmit);\n\temit('update:modelValue', valueToEmit);\n};\n\nconst increase = () => {\n\tif (props.disabled || props.readonly || isInsertingSymbols.value) return;\n\tconst min = typeof props.min === 'undefined' ? -Infinity : props.min;\n\tconst max = typeof props.max === 'undefined' ? Infinity : props.max;\n\tlet valueToEmit = Math.min(Number(props.modelValue || 0) + +props.step, max);\n\n\tvalueToEmit =\n\t\tvalueToEmit === null ? valueToEmit : clamp(valueToEmit, min, max);\n\temit('increase', valueToEmit);\n\temit('update:modelValue', valueToEmit);\n};\n\ndefineExpose({\n\tincrease,\n\tdecrease,\n});\n\nconst onInput = (event: Event) => {\n\tif (event.target instanceof HTMLInputElement) {\n\t\tconst value = event.target.value;\n\t\tconst commaOrPeriod = /[,.]/g;\n\t\tconst matches = [...value.matchAll(commaOrPeriod)];\n\t\t/**\n\t\t * Proceed unless the user is pressing comma or period to insert a decimal number,\n\t\t * we do not want to replace the comma as soon as the user presses it\n\t\t */\n\t\tif (\n\t\t\t!(\n\t\t\t\tmatches.length === 1 &&\n\t\t\t\tmatches.some((match) => match.index === value.length - 1)\n\t\t\t) &&\n\t\t\t!(matches.length && value[value.length - 1] === '0') &&\n\t\t\tvalue !== '-'\n\t\t) {\n\t\t\tisInsertingSymbols.value = false;\n\t\t\tlet valueToEmit: null | number;\n\t\t\tif (event.target.value === '') {\n\t\t\t\tvalueToEmit = null;\n\t\t\t} else {\n\t\t\t\tvalueToEmit = makeValidNumberString(event.target.value);\n\t\t\t}\n\t\t\tconst min = typeof props.min === 'undefined' ? -Infinity : props.min;\n\t\t\tconst max = typeof props.max === 'undefined' ? Infinity : props.max;\n\t\t\tvalueToEmit =\n\t\t\t\tvalueToEmit === null ? valueToEmit : clamp(valueToEmit, min, max);\n\t\t\temit('update:modelValue', valueToEmit);\n\t\t\tif (input.value) {\n\t\t\t\tif (valueToEmit === null) {\n\t\t\t\t\tinput.value.value = '';\n\t\t\t\t} else {\n\t\t\t\t\tinput.value.value = `${valueToEmit}`;\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tisInsertingSymbols.value = true;\n\t\t}\n\t\temit('input', event);\n\t}\n};\n\nconst makeValidNumberString = (value: string | number) => {\n\tif (typeof value === 'number') return value;\n\t// Replace comma with periods\n\tlet current = value.replaceAll(',', '.');\n\tlet preventDashes = current\n\t\t.slice(0, 1)\n\t\t.concat(current.slice(1).replaceAll('-', ''));\n\tlet noLetters = preventDashes.replaceAll(/[^\\d.-]/g, '');\n\tlet parts = noLetters.split('.');\n\tlet first = parts.slice(0, 1).join('') || 0;\n\tlet second = parts.slice(1).join('') || 0;\n\tlet unified = `${first}.${second}`;\n\treturn Number(unified);\n};\n\n/**\n * These events are just propagated\n */\nconst eventListeners = {\n\tonBlur: (event: FocusEvent) => emit('blur', event),\n\tonChange: (event: Event) => emit('change', event),\n\tonClick: (event: MouseEvent) => emit('click', event),\n\tonFocus: (event: FocusEvent) => emit('focus', event),\n\tonKeydown: (event: KeyboardEvent) => emit('keydown', event),\n\tonMousedown: (event: MouseEvent) => emit('mousedown', event),\n\tonMouseup: (event: MouseEvent) => emit('mouseup', event),\n};\n\nconst alignInputToModelValue = (value?: string | number | null) => {\n\tif (input.value) {\n\t\tif (value === null || value === '' || value === undefined) {\n\t\t\tinput.value.value = '';\n\t\t} else if (typeof value !== 'undefined') {\n\t\t\tinput.value.value = makeValidNumberString(value).toString();\n\t\t}\n\t} else {\n\t\tconsole.error('Could not align input as it is not mounted');\n\t}\n};\nonMounted(() => {\n\talignInputToModelValue(props.modelValue);\n});\n/**\n * Allow modelValue to be passed as string (as sometimes happens from the server) and normalize it\n */\nwatch(() => props.modelValue, alignInputToModelValue);\n</script>\n\n<style lang=\"postcss\">\n@import '@/assets/css/BaseNumberInput';\n</style>\n"],"names":["props","__props","emit","__emit","classes","computed","input","ref","isInsertingSymbols","decrease","min","max","valueToEmit","clamp","increase","__expose","onInput","event","value","commaOrPeriod","matches","match","makeValidNumberString","current","parts","first","second","unified","eventListeners","alignInputToModelValue","onMounted","watch"],"mappings":"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"}
|
package/dist/index240.js
CHANGED
package/dist/index240.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index240.js","sources":[
|
|
1
|
+
{"version":3,"file":"index240.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
|
package/dist/index241.js
CHANGED
|
@@ -1,8 +1,109 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
function l(n) {
|
|
2
|
+
return a(n) ? (n.nodeName || "").toLowerCase() : "#document";
|
|
3
|
+
}
|
|
4
|
+
function i(n) {
|
|
5
|
+
var t;
|
|
6
|
+
return (n == null || (t = n.ownerDocument) == null ? void 0 : t.defaultView) || window;
|
|
7
|
+
}
|
|
8
|
+
function y(n) {
|
|
9
|
+
var t;
|
|
10
|
+
return (t = (a(n) ? n.ownerDocument : n.document) || window.document) == null ? void 0 : t.documentElement;
|
|
11
|
+
}
|
|
12
|
+
function a(n) {
|
|
13
|
+
return n instanceof Node || n instanceof i(n).Node;
|
|
14
|
+
}
|
|
15
|
+
function S(n) {
|
|
16
|
+
return n instanceof Element || n instanceof i(n).Element;
|
|
17
|
+
}
|
|
18
|
+
function d(n) {
|
|
19
|
+
return n instanceof HTMLElement || n instanceof i(n).HTMLElement;
|
|
20
|
+
}
|
|
21
|
+
function s(n) {
|
|
22
|
+
return typeof ShadowRoot > "u" ? !1 : n instanceof ShadowRoot || n instanceof i(n).ShadowRoot;
|
|
23
|
+
}
|
|
24
|
+
function m(n) {
|
|
25
|
+
const {
|
|
26
|
+
overflow: t,
|
|
27
|
+
overflowX: e,
|
|
28
|
+
overflowY: o,
|
|
29
|
+
display: r
|
|
30
|
+
} = p(n);
|
|
31
|
+
return /auto|scroll|overlay|hidden|clip/.test(t + o + e) && !["inline", "contents"].includes(r);
|
|
32
|
+
}
|
|
33
|
+
function E(n) {
|
|
34
|
+
return ["table", "td", "th"].includes(l(n));
|
|
35
|
+
}
|
|
36
|
+
function N(n) {
|
|
37
|
+
const t = h(), e = p(n);
|
|
38
|
+
return e.transform !== "none" || e.perspective !== "none" || (e.containerType ? e.containerType !== "normal" : !1) || !t && (e.backdropFilter ? e.backdropFilter !== "none" : !1) || !t && (e.filter ? e.filter !== "none" : !1) || ["transform", "perspective", "filter"].some((o) => (e.willChange || "").includes(o)) || ["paint", "layout", "strict", "content"].some((o) => (e.contain || "").includes(o));
|
|
39
|
+
}
|
|
40
|
+
function T(n) {
|
|
41
|
+
let t = u(n);
|
|
42
|
+
for (; d(t) && !w(t); ) {
|
|
43
|
+
if (N(t))
|
|
44
|
+
return t;
|
|
45
|
+
t = u(t);
|
|
46
|
+
}
|
|
47
|
+
return null;
|
|
48
|
+
}
|
|
49
|
+
function h() {
|
|
50
|
+
return typeof CSS > "u" || !CSS.supports ? !1 : CSS.supports("-webkit-backdrop-filter", "none");
|
|
51
|
+
}
|
|
52
|
+
function w(n) {
|
|
53
|
+
return ["html", "body", "#document"].includes(l(n));
|
|
54
|
+
}
|
|
55
|
+
function p(n) {
|
|
56
|
+
return i(n).getComputedStyle(n);
|
|
57
|
+
}
|
|
58
|
+
function C(n) {
|
|
59
|
+
return S(n) ? {
|
|
60
|
+
scrollLeft: n.scrollLeft,
|
|
61
|
+
scrollTop: n.scrollTop
|
|
62
|
+
} : {
|
|
63
|
+
scrollLeft: n.pageXOffset,
|
|
64
|
+
scrollTop: n.pageYOffset
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
function u(n) {
|
|
68
|
+
if (l(n) === "html")
|
|
69
|
+
return n;
|
|
70
|
+
const t = (
|
|
71
|
+
// Step into the shadow DOM of the parent of a slotted node.
|
|
72
|
+
n.assignedSlot || // DOM Element detected.
|
|
73
|
+
n.parentNode || // ShadowRoot detected.
|
|
74
|
+
s(n) && n.host || // Fallback.
|
|
75
|
+
y(n)
|
|
76
|
+
);
|
|
77
|
+
return s(t) ? t.host : t;
|
|
78
|
+
}
|
|
79
|
+
function g(n) {
|
|
80
|
+
const t = u(n);
|
|
81
|
+
return w(t) ? n.ownerDocument ? n.ownerDocument.body : n.body : d(t) && m(t) ? t : g(t);
|
|
82
|
+
}
|
|
83
|
+
function f(n, t, e) {
|
|
84
|
+
var o;
|
|
85
|
+
t === void 0 && (t = []), e === void 0 && (e = !0);
|
|
86
|
+
const r = g(n), b = r === ((o = n.ownerDocument) == null ? void 0 : o.body), c = i(r);
|
|
87
|
+
return b ? t.concat(c, c.visualViewport || [], m(r) ? r : [], c.frameElement && e ? f(c.frameElement) : []) : t.concat(r, f(r, [], e));
|
|
88
|
+
}
|
|
5
89
|
export {
|
|
6
|
-
|
|
90
|
+
p as getComputedStyle,
|
|
91
|
+
T as getContainingBlock,
|
|
92
|
+
y as getDocumentElement,
|
|
93
|
+
g as getNearestOverflowAncestor,
|
|
94
|
+
l as getNodeName,
|
|
95
|
+
C as getNodeScroll,
|
|
96
|
+
f as getOverflowAncestors,
|
|
97
|
+
u as getParentNode,
|
|
98
|
+
i as getWindow,
|
|
99
|
+
N as isContainingBlock,
|
|
100
|
+
S as isElement,
|
|
101
|
+
d as isHTMLElement,
|
|
102
|
+
w as isLastTraversableNode,
|
|
103
|
+
a as isNode,
|
|
104
|
+
m as isOverflowElement,
|
|
105
|
+
s as isShadowRoot,
|
|
106
|
+
E as isTableElement,
|
|
107
|
+
h as isWebKit
|
|
7
108
|
};
|
|
8
109
|
//# sourceMappingURL=index241.js.map
|
package/dist/index241.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index241.js","sources":["../
|
|
1
|
+
{"version":3,"file":"index241.js","sources":["../node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.mjs"],"sourcesContent":["function getNodeName(node) {\n if (isNode(node)) {\n return (node.nodeName || '').toLowerCase();\n }\n // Mocked nodes in testing environments may not be instances of Node. By\n // returning `#document` an infinite loop won't occur.\n // https://github.com/floating-ui/floating-ui/issues/2317\n return '#document';\n}\nfunction getWindow(node) {\n var _node$ownerDocument;\n return (node == null || (_node$ownerDocument = node.ownerDocument) == null ? void 0 : _node$ownerDocument.defaultView) || window;\n}\nfunction getDocumentElement(node) {\n var _ref;\n return (_ref = (isNode(node) ? node.ownerDocument : node.document) || window.document) == null ? void 0 : _ref.documentElement;\n}\nfunction isNode(value) {\n return value instanceof Node || value instanceof getWindow(value).Node;\n}\nfunction isElement(value) {\n return value instanceof Element || value instanceof getWindow(value).Element;\n}\nfunction isHTMLElement(value) {\n return value instanceof HTMLElement || value instanceof getWindow(value).HTMLElement;\n}\nfunction isShadowRoot(value) {\n // Browsers without `ShadowRoot` support.\n if (typeof ShadowRoot === 'undefined') {\n return false;\n }\n return value instanceof ShadowRoot || value instanceof getWindow(value).ShadowRoot;\n}\nfunction isOverflowElement(element) {\n const {\n overflow,\n overflowX,\n overflowY,\n display\n } = getComputedStyle(element);\n return /auto|scroll|overlay|hidden|clip/.test(overflow + overflowY + overflowX) && !['inline', 'contents'].includes(display);\n}\nfunction isTableElement(element) {\n return ['table', 'td', 'th'].includes(getNodeName(element));\n}\nfunction isContainingBlock(element) {\n const webkit = isWebKit();\n const css = getComputedStyle(element);\n\n // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n return css.transform !== 'none' || css.perspective !== 'none' || (css.containerType ? css.containerType !== 'normal' : false) || !webkit && (css.backdropFilter ? css.backdropFilter !== 'none' : false) || !webkit && (css.filter ? css.filter !== 'none' : false) || ['transform', 'perspective', 'filter'].some(value => (css.willChange || '').includes(value)) || ['paint', 'layout', 'strict', 'content'].some(value => (css.contain || '').includes(value));\n}\nfunction getContainingBlock(element) {\n let currentNode = getParentNode(element);\n while (isHTMLElement(currentNode) && !isLastTraversableNode(currentNode)) {\n if (isContainingBlock(currentNode)) {\n return currentNode;\n } else {\n currentNode = getParentNode(currentNode);\n }\n }\n return null;\n}\nfunction isWebKit() {\n if (typeof CSS === 'undefined' || !CSS.supports) return false;\n return CSS.supports('-webkit-backdrop-filter', 'none');\n}\nfunction isLastTraversableNode(node) {\n return ['html', 'body', '#document'].includes(getNodeName(node));\n}\nfunction getComputedStyle(element) {\n return getWindow(element).getComputedStyle(element);\n}\nfunction getNodeScroll(element) {\n if (isElement(element)) {\n return {\n scrollLeft: element.scrollLeft,\n scrollTop: element.scrollTop\n };\n }\n return {\n scrollLeft: element.pageXOffset,\n scrollTop: element.pageYOffset\n };\n}\nfunction getParentNode(node) {\n if (getNodeName(node) === 'html') {\n return node;\n }\n const result =\n // Step into the shadow DOM of the parent of a slotted node.\n node.assignedSlot ||\n // DOM Element detected.\n node.parentNode ||\n // ShadowRoot detected.\n isShadowRoot(node) && node.host ||\n // Fallback.\n getDocumentElement(node);\n return isShadowRoot(result) ? result.host : result;\n}\nfunction getNearestOverflowAncestor(node) {\n const parentNode = getParentNode(node);\n if (isLastTraversableNode(parentNode)) {\n return node.ownerDocument ? node.ownerDocument.body : node.body;\n }\n if (isHTMLElement(parentNode) && isOverflowElement(parentNode)) {\n return parentNode;\n }\n return getNearestOverflowAncestor(parentNode);\n}\nfunction getOverflowAncestors(node, list, traverseIframes) {\n var _node$ownerDocument2;\n if (list === void 0) {\n list = [];\n }\n if (traverseIframes === void 0) {\n traverseIframes = true;\n }\n const scrollableAncestor = getNearestOverflowAncestor(node);\n const isBody = scrollableAncestor === ((_node$ownerDocument2 = node.ownerDocument) == null ? void 0 : _node$ownerDocument2.body);\n const win = getWindow(scrollableAncestor);\n if (isBody) {\n return list.concat(win, win.visualViewport || [], isOverflowElement(scrollableAncestor) ? scrollableAncestor : [], win.frameElement && traverseIframes ? getOverflowAncestors(win.frameElement) : []);\n }\n return list.concat(scrollableAncestor, getOverflowAncestors(scrollableAncestor, [], traverseIframes));\n}\n\nexport { getComputedStyle, getContainingBlock, getDocumentElement, getNearestOverflowAncestor, getNodeName, getNodeScroll, getOverflowAncestors, getParentNode, getWindow, isContainingBlock, isElement, isHTMLElement, isLastTraversableNode, isNode, isOverflowElement, isShadowRoot, isTableElement, isWebKit };\n"],"names":["getNodeName","node","isNode","getWindow","_node$ownerDocument","getDocumentElement","_ref","value","isElement","isHTMLElement","isShadowRoot","isOverflowElement","element","overflow","overflowX","overflowY","display","getComputedStyle","isTableElement","isContainingBlock","webkit","isWebKit","css","getContainingBlock","currentNode","getParentNode","isLastTraversableNode","getNodeScroll","result","getNearestOverflowAncestor","parentNode","getOverflowAncestors","list","traverseIframes","_node$ownerDocument2","scrollableAncestor","isBody","win"],"mappings":"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","x_google_ignoreList":[0]}
|