@bagelink/vue 1.0.5 → 1.0.9
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/form/inputs/NumberInput.vue.d.ts.map +1 -1
- package/dist/index.cjs +15 -7
- package/dist/index.mjs +15 -7
- package/dist/style.css +6 -6
- package/dist/utils/BagelFormUtils.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/components/form/inputs/NumberInput.vue +12 -4
- package/src/utils/BagelFormUtils.ts +1 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NumberInput.vue.d.ts","sourceRoot":"","sources":["../../../../src/components/form/inputs/NumberInput.vue"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"NumberInput.vue.d.ts","sourceRoot":"","sources":["../../../../src/components/form/inputs/NumberInput.vue"],"names":[],"mappings":"AAiPA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAI7C,KAAK,YAAY,GAAG,SAAS,GAAG,UAAU,GAAG,YAAY,CAAA;AAEzD,UAAU,gBAAgB;IACzB,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IAC5B,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,SAAS,CAAC,EAAE,QAAQ,CAAA;IACpB,IAAI,CAAC,EAAE,QAAQ,CAAA;IACf,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,MAAM,CAAC,EAAE,YAAY,CAAA;IACrB,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,WAAW,CAAC,EAAE,OAAO,CAAA;CACrB;;;;;;AAsWD,wBAQG"}
|
package/dist/index.cjs
CHANGED
|
@@ -14976,7 +14976,8 @@ function numField$1(id, label, options) {
|
|
|
14976
14976
|
max: options == null ? void 0 : options.max,
|
|
14977
14977
|
layout: options == null ? void 0 : options.layout,
|
|
14978
14978
|
padZero: options == null ? void 0 : options.padZero,
|
|
14979
|
-
center: options == null ? void 0 : options.center
|
|
14979
|
+
center: options == null ? void 0 : options.center,
|
|
14980
|
+
useGrouping: options == null ? void 0 : options.useGrouping
|
|
14980
14981
|
}
|
|
14981
14982
|
};
|
|
14982
14983
|
}
|
|
@@ -17304,7 +17305,7 @@ const _hoisted_2$o = {
|
|
|
17304
17305
|
key: 0,
|
|
17305
17306
|
class: "block"
|
|
17306
17307
|
};
|
|
17307
|
-
const _hoisted_3$j = ["id", "placeholder", "disabled", "required", "readonly", "onKeydown"];
|
|
17308
|
+
const _hoisted_3$j = ["id", "placeholder", "disabled", "required", "readonly", "pattern", "onKeydown"];
|
|
17308
17309
|
const _hoisted_4$c = { key: 1 };
|
|
17309
17310
|
const _hoisted_5$c = {
|
|
17310
17311
|
key: 5,
|
|
@@ -17382,8 +17383,12 @@ const _sfc_main$H = /* @__PURE__ */ vue.defineComponent({
|
|
|
17382
17383
|
let formattedValue = vue.ref("");
|
|
17383
17384
|
function inputHandler() {
|
|
17384
17385
|
const numeric = formattedValue.value.replace(/[^\d.-]/g, "");
|
|
17385
|
-
const emptyValue = ["", "-", "."].includes(numeric);
|
|
17386
|
-
|
|
17386
|
+
const emptyValue = ["", "-", ".", "-."].includes(numeric);
|
|
17387
|
+
const isTypingDecimal = formattedValue.value.endsWith(".");
|
|
17388
|
+
if (emptyValue || isTypingDecimal) {
|
|
17389
|
+
emit2("update:modelValue", numeric === "-" ? "-" : numeric);
|
|
17390
|
+
return;
|
|
17391
|
+
}
|
|
17387
17392
|
numberValue.value = Number.parseFloat(numeric);
|
|
17388
17393
|
formattedValue.value = emptyValue ? "" : formatNumber2(numberValue.value);
|
|
17389
17394
|
emit2("update:modelValue", numberValue.value);
|
|
@@ -17395,8 +17400,11 @@ const _sfc_main$H = /* @__PURE__ */ vue.defineComponent({
|
|
|
17395
17400
|
});
|
|
17396
17401
|
vue.watch(() => __props.modelValue, (newVal) => {
|
|
17397
17402
|
if (newVal !== numberValue.value) {
|
|
17403
|
+
if (typeof newVal === "string" && (newVal === "-" || newVal.endsWith("."))) {
|
|
17404
|
+
formattedValue.value = newVal;
|
|
17405
|
+
return;
|
|
17406
|
+
}
|
|
17398
17407
|
numberValue.value = Number.parseFloat(`${newVal}`) || 0;
|
|
17399
|
-
console.log("newVal", numberValue.value);
|
|
17400
17408
|
}
|
|
17401
17409
|
}, { immediate: true });
|
|
17402
17410
|
return (_ctx, _cache) => {
|
|
@@ -17435,7 +17443,7 @@ const _sfc_main$H = /* @__PURE__ */ vue.defineComponent({
|
|
|
17435
17443
|
readonly: _ctx.disabled,
|
|
17436
17444
|
inputmode: "decimal",
|
|
17437
17445
|
autocomplete: "off",
|
|
17438
|
-
pattern: "^-?\\d{1,3}(,\\d{3})*(
|
|
17446
|
+
pattern: _ctx.useGrouping ? "^-?\\d{1,3}(,\\d{3})*(.\\d+)?$" : "^-?\\d*.?d*$",
|
|
17439
17447
|
autocorrect: "off",
|
|
17440
17448
|
spellcheck: "false",
|
|
17441
17449
|
onInput: inputHandler,
|
|
@@ -17501,7 +17509,7 @@ const _sfc_main$H = /* @__PURE__ */ vue.defineComponent({
|
|
|
17501
17509
|
};
|
|
17502
17510
|
}
|
|
17503
17511
|
});
|
|
17504
|
-
const NumberInput = /* @__PURE__ */ _export_sfc(_sfc_main$H, [["__scopeId", "data-v-
|
|
17512
|
+
const NumberInput = /* @__PURE__ */ _export_sfc(_sfc_main$H, [["__scopeId", "data-v-77950bb7"]]);
|
|
17505
17513
|
const _hoisted_1$z = ["value", "autofocus", "onKeydown", "onPaste"];
|
|
17506
17514
|
const _sfc_main$G = /* @__PURE__ */ vue.defineComponent({
|
|
17507
17515
|
__name: "OTP",
|
package/dist/index.mjs
CHANGED
|
@@ -14974,7 +14974,8 @@ function numField$1(id, label, options) {
|
|
|
14974
14974
|
max: options == null ? void 0 : options.max,
|
|
14975
14975
|
layout: options == null ? void 0 : options.layout,
|
|
14976
14976
|
padZero: options == null ? void 0 : options.padZero,
|
|
14977
|
-
center: options == null ? void 0 : options.center
|
|
14977
|
+
center: options == null ? void 0 : options.center,
|
|
14978
|
+
useGrouping: options == null ? void 0 : options.useGrouping
|
|
14978
14979
|
}
|
|
14979
14980
|
};
|
|
14980
14981
|
}
|
|
@@ -17302,7 +17303,7 @@ const _hoisted_2$o = {
|
|
|
17302
17303
|
key: 0,
|
|
17303
17304
|
class: "block"
|
|
17304
17305
|
};
|
|
17305
|
-
const _hoisted_3$j = ["id", "placeholder", "disabled", "required", "readonly", "onKeydown"];
|
|
17306
|
+
const _hoisted_3$j = ["id", "placeholder", "disabled", "required", "readonly", "pattern", "onKeydown"];
|
|
17306
17307
|
const _hoisted_4$c = { key: 1 };
|
|
17307
17308
|
const _hoisted_5$c = {
|
|
17308
17309
|
key: 5,
|
|
@@ -17380,8 +17381,12 @@ const _sfc_main$H = /* @__PURE__ */ defineComponent({
|
|
|
17380
17381
|
let formattedValue = ref("");
|
|
17381
17382
|
function inputHandler() {
|
|
17382
17383
|
const numeric = formattedValue.value.replace(/[^\d.-]/g, "");
|
|
17383
|
-
const emptyValue = ["", "-", "."].includes(numeric);
|
|
17384
|
-
|
|
17384
|
+
const emptyValue = ["", "-", ".", "-."].includes(numeric);
|
|
17385
|
+
const isTypingDecimal = formattedValue.value.endsWith(".");
|
|
17386
|
+
if (emptyValue || isTypingDecimal) {
|
|
17387
|
+
emit2("update:modelValue", numeric === "-" ? "-" : numeric);
|
|
17388
|
+
return;
|
|
17389
|
+
}
|
|
17385
17390
|
numberValue.value = Number.parseFloat(numeric);
|
|
17386
17391
|
formattedValue.value = emptyValue ? "" : formatNumber2(numberValue.value);
|
|
17387
17392
|
emit2("update:modelValue", numberValue.value);
|
|
@@ -17393,8 +17398,11 @@ const _sfc_main$H = /* @__PURE__ */ defineComponent({
|
|
|
17393
17398
|
});
|
|
17394
17399
|
watch(() => __props.modelValue, (newVal) => {
|
|
17395
17400
|
if (newVal !== numberValue.value) {
|
|
17401
|
+
if (typeof newVal === "string" && (newVal === "-" || newVal.endsWith("."))) {
|
|
17402
|
+
formattedValue.value = newVal;
|
|
17403
|
+
return;
|
|
17404
|
+
}
|
|
17396
17405
|
numberValue.value = Number.parseFloat(`${newVal}`) || 0;
|
|
17397
|
-
console.log("newVal", numberValue.value);
|
|
17398
17406
|
}
|
|
17399
17407
|
}, { immediate: true });
|
|
17400
17408
|
return (_ctx, _cache) => {
|
|
@@ -17433,7 +17441,7 @@ const _sfc_main$H = /* @__PURE__ */ defineComponent({
|
|
|
17433
17441
|
readonly: _ctx.disabled,
|
|
17434
17442
|
inputmode: "decimal",
|
|
17435
17443
|
autocomplete: "off",
|
|
17436
|
-
pattern: "^-?\\d{1,3}(,\\d{3})*(
|
|
17444
|
+
pattern: _ctx.useGrouping ? "^-?\\d{1,3}(,\\d{3})*(.\\d+)?$" : "^-?\\d*.?d*$",
|
|
17437
17445
|
autocorrect: "off",
|
|
17438
17446
|
spellcheck: "false",
|
|
17439
17447
|
onInput: inputHandler,
|
|
@@ -17499,7 +17507,7 @@ const _sfc_main$H = /* @__PURE__ */ defineComponent({
|
|
|
17499
17507
|
};
|
|
17500
17508
|
}
|
|
17501
17509
|
});
|
|
17502
|
-
const NumberInput = /* @__PURE__ */ _export_sfc(_sfc_main$H, [["__scopeId", "data-v-
|
|
17510
|
+
const NumberInput = /* @__PURE__ */ _export_sfc(_sfc_main$H, [["__scopeId", "data-v-77950bb7"]]);
|
|
17503
17511
|
const _hoisted_1$z = ["value", "autofocus", "onKeydown", "onPaste"];
|
|
17504
17512
|
const _sfc_main$G = /* @__PURE__ */ defineComponent({
|
|
17505
17513
|
__name: "OTP",
|
package/dist/style.css
CHANGED
|
@@ -1847,14 +1847,14 @@ pre code.hljs{
|
|
|
1847
1847
|
direction: ltr;
|
|
1848
1848
|
}
|
|
1849
1849
|
|
|
1850
|
-
.txtInputIconStart .iconStart[data-v-
|
|
1850
|
+
.txtInputIconStart .iconStart[data-v-77950bb7] {
|
|
1851
1851
|
color: var(--input-color);
|
|
1852
1852
|
position: absolute;
|
|
1853
1853
|
inset-inline-start:calc(var(--input-height) / 3 - 0.25rem);
|
|
1854
1854
|
margin-top: calc(var(--input-height) / 2 );
|
|
1855
1855
|
line-height: 0;
|
|
1856
1856
|
}
|
|
1857
|
-
.textInputSpinnerWrap .spinner[data-v-
|
|
1857
|
+
.textInputSpinnerWrap .spinner[data-v-77950bb7] {
|
|
1858
1858
|
color: var(--input-color);
|
|
1859
1859
|
position: absolute;
|
|
1860
1860
|
inset-inline-end: 0;
|
|
@@ -1864,18 +1864,18 @@ pre code.hljs{
|
|
|
1864
1864
|
flex-direction: column;
|
|
1865
1865
|
gap: 0;
|
|
1866
1866
|
}
|
|
1867
|
-
.top-bgl-ctrl-num-btn[data-v-
|
|
1867
|
+
.top-bgl-ctrl-num-btn[data-v-77950bb7]{
|
|
1868
1868
|
margin-top: calc(var(--input-height) / 10) !important;
|
|
1869
1869
|
}
|
|
1870
|
-
.bgl-ctrl-num-btn[data-v-
|
|
1870
|
+
.bgl-ctrl-num-btn[data-v-77950bb7]{
|
|
1871
1871
|
height: calc(var(--input-height) / 2.5) !important;
|
|
1872
1872
|
isolation: isolate;
|
|
1873
1873
|
}
|
|
1874
|
-
.bgl-big-ctrl-num-btn[data-v-
|
|
1874
|
+
.bgl-big-ctrl-num-btn[data-v-77950bb7]{
|
|
1875
1875
|
width: 100% !important;
|
|
1876
1876
|
isolation: isolate;
|
|
1877
1877
|
}
|
|
1878
|
-
.bgl-number-input[data-v-
|
|
1878
|
+
.bgl-number-input[data-v-77950bb7]{
|
|
1879
1879
|
padding-inline-end: 1.75rem !important;
|
|
1880
1880
|
}
|
|
1881
1881
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BagelFormUtils.d.ts","sourceRoot":"","sources":["../../src/utils/BagelFormUtils.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"BagelFormUtils.d.ts","sourceRoot":"","sources":["../../src/utils/BagelFormUtils.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -111,8 +111,13 @@ function formatNumber(num: number) {
|
|
|
111
111
|
let formattedValue = $ref('')
|
|
112
112
|
function inputHandler() {
|
|
113
113
|
const numeric = formattedValue.replace(/[^\d.-]/g, '')
|
|
114
|
-
const emptyValue = ['', '-', '.'].includes(numeric)
|
|
115
|
-
|
|
114
|
+
const emptyValue = ['', '-', '.', '-.'].includes(numeric)
|
|
115
|
+
const isTypingDecimal = formattedValue.endsWith('.')
|
|
116
|
+
|
|
117
|
+
if (emptyValue || isTypingDecimal) {
|
|
118
|
+
emit('update:modelValue', numeric === '-' ? '-' : numeric)
|
|
119
|
+
return
|
|
120
|
+
}
|
|
116
121
|
|
|
117
122
|
numberValue = Number.parseFloat(numeric)
|
|
118
123
|
formattedValue = emptyValue ? '' : formatNumber(numberValue)
|
|
@@ -127,8 +132,11 @@ watch(() => numberValue, () => {
|
|
|
127
132
|
|
|
128
133
|
watch(() => modelValue, (newVal) => {
|
|
129
134
|
if (newVal !== numberValue) {
|
|
135
|
+
if (typeof newVal === 'string' && (newVal === '-' || newVal.endsWith('.'))) {
|
|
136
|
+
formattedValue = newVal
|
|
137
|
+
return
|
|
138
|
+
}
|
|
130
139
|
numberValue = Number.parseFloat(`${newVal}`) || 0
|
|
131
|
-
console.log('newVal', numberValue)
|
|
132
140
|
}
|
|
133
141
|
}, { immediate: true })
|
|
134
142
|
</script>
|
|
@@ -163,7 +171,7 @@ watch(() => modelValue, (newVal) => {
|
|
|
163
171
|
:readonly="disabled"
|
|
164
172
|
inputmode="decimal"
|
|
165
173
|
autocomplete="off"
|
|
166
|
-
pattern="
|
|
174
|
+
:pattern="useGrouping ? '^-?\\d{1,3}(,\\d{3})*(\.\\d+)?$' : '^-?\\d*\.?\d*$'"
|
|
167
175
|
autocorrect="off"
|
|
168
176
|
spellcheck="false"
|
|
169
177
|
@input="inputHandler"
|