@synergy-design-system/vue 2.30.5 → 2.31.0-numeric.2

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.
@@ -1,10 +1,11 @@
1
- import { SynBlurEvent, SynChangeEvent, SynClearEvent, SynFocusEvent, SynInputEvent, SynInvalidEvent, SynInput } from '@synergy-design-system/components';
1
+ import { SynBlurEvent, SynChangeEvent, SynClearEvent, SynFocusEvent, SynInputEvent, SynInvalidEvent, SynClampEvent, SynInput } from '@synergy-design-system/components';
2
2
  export type { SynBlurEvent } from '@synergy-design-system/components';
3
3
  export type { SynChangeEvent } from '@synergy-design-system/components';
4
4
  export type { SynClearEvent } from '@synergy-design-system/components';
5
5
  export type { SynFocusEvent } from '@synergy-design-system/components';
6
6
  export type { SynInputEvent } from '@synergy-design-system/components';
7
7
  export type { SynInvalidEvent } from '@synergy-design-system/components';
8
+ export type { SynClampEvent } from '@synergy-design-system/components';
8
9
  declare const _default: __VLS_WithTemplateSlots<import('vue').DefineComponent<{
9
10
  title?: SynInput["title"];
10
11
  /**
@@ -138,6 +139,45 @@ declare const _default: __VLS_WithTemplateSlots<import('vue').DefineComponent<{
138
139
  */
139
140
  inputmode?: SynInput["inputmode"];
140
141
  /**
142
+ * The minimal amount of fraction digits to use for numeric values.
143
+ Used to format the number when the input type is `number` and `NumericStrategy.enableNumberFormat` is set to `true`.
144
+ */
145
+ minFractionDigits?: SynInput["minFractionDigits"];
146
+ /**
147
+ * The maximal amount of fraction digits to use for numeric values.
148
+ Used to format the number when the input type is `number` and `NumericStrategy.enableNumberFormat` is set to `true`.
149
+ */
150
+ maxFractionDigits?: SynInput["maxFractionDigits"];
151
+ /**
152
+ * Defines the strategy for handling numbers in the numeric input.
153
+ This is used to determine how the input behaves when the user interacts with it.
154
+
155
+ Includes the following configuration options:
156
+
157
+ - **autoClamp**: If true, the input will clamp the value to the min and max attributes.
158
+ - **enableNumberFormat**: If true, the input will format the value using a `NumberFormatter`.
159
+ - **noStepAlign**: If true, the input will not align the value to the step attribute.
160
+ - **noStepValidation**: If true, the input will not validate the value against the step attribute.
161
+
162
+ You may provide this as one of the following values:
163
+
164
+ - 'native': Uses the native browser implementation.
165
+ - 'modern': Uses a more intuitive implementation:
166
+ - Values are clamped to the nearest min or max value.
167
+ - Stepping is inclusive to the provided min and max values.
168
+ - Provided stepping is no longer used in validation.
169
+ - Advanced number formatting is enabled.
170
+ - An object that matches the `NumericStrategy` type.
171
+ * Note this can only be set via `property`, not as an `attribute`!
172
+ */
173
+ numericStrategy?: SynInput["numericStrategy"];
174
+ /**
175
+ * Optional options that should be passed to the `NumberFormatter` when formatting the value.
176
+ This is used to format the number when the input type is `number` and `NumericStrategy.enableNumberFormat` is set to `true`.
177
+ Note this can only be set via `property`, not as an `attribute`!
178
+ */
179
+ numberFormatterOptions?: SynInput["numberFormatterOptions"];
180
+ /**
141
181
  * Support for two way data binding
142
182
  */
143
183
  modelValue?: SynInput["value"];
@@ -151,6 +191,7 @@ declare const _default: __VLS_WithTemplateSlots<import('vue').DefineComponent<{
151
191
  "syn-input": (e: SynInputEvent) => any;
152
192
  "update:modelValue": (newValue: string) => any;
153
193
  "syn-clear": (e: SynClearEvent) => any;
194
+ "syn-clamp": (e: SynClampEvent) => any;
154
195
  }, string, import('vue').PublicProps, Readonly<{
155
196
  title?: SynInput["title"];
156
197
  /**
@@ -284,6 +325,45 @@ declare const _default: __VLS_WithTemplateSlots<import('vue').DefineComponent<{
284
325
  */
285
326
  inputmode?: SynInput["inputmode"];
286
327
  /**
328
+ * The minimal amount of fraction digits to use for numeric values.
329
+ Used to format the number when the input type is `number` and `NumericStrategy.enableNumberFormat` is set to `true`.
330
+ */
331
+ minFractionDigits?: SynInput["minFractionDigits"];
332
+ /**
333
+ * The maximal amount of fraction digits to use for numeric values.
334
+ Used to format the number when the input type is `number` and `NumericStrategy.enableNumberFormat` is set to `true`.
335
+ */
336
+ maxFractionDigits?: SynInput["maxFractionDigits"];
337
+ /**
338
+ * Defines the strategy for handling numbers in the numeric input.
339
+ This is used to determine how the input behaves when the user interacts with it.
340
+
341
+ Includes the following configuration options:
342
+
343
+ - **autoClamp**: If true, the input will clamp the value to the min and max attributes.
344
+ - **enableNumberFormat**: If true, the input will format the value using a `NumberFormatter`.
345
+ - **noStepAlign**: If true, the input will not align the value to the step attribute.
346
+ - **noStepValidation**: If true, the input will not validate the value against the step attribute.
347
+
348
+ You may provide this as one of the following values:
349
+
350
+ - 'native': Uses the native browser implementation.
351
+ - 'modern': Uses a more intuitive implementation:
352
+ - Values are clamped to the nearest min or max value.
353
+ - Stepping is inclusive to the provided min and max values.
354
+ - Provided stepping is no longer used in validation.
355
+ - Advanced number formatting is enabled.
356
+ - An object that matches the `NumericStrategy` type.
357
+ * Note this can only be set via `property`, not as an `attribute`!
358
+ */
359
+ numericStrategy?: SynInput["numericStrategy"];
360
+ /**
361
+ * Optional options that should be passed to the `NumberFormatter` when formatting the value.
362
+ This is used to format the number when the input type is `number` and `NumericStrategy.enableNumberFormat` is set to `true`.
363
+ Note this can only be set via `property`, not as an `attribute`!
364
+ */
365
+ numberFormatterOptions?: SynInput["numberFormatterOptions"];
366
+ /**
287
367
  * Support for two way data binding
288
368
  */
289
369
  modelValue?: SynInput["value"];
@@ -295,6 +375,7 @@ declare const _default: __VLS_WithTemplateSlots<import('vue').DefineComponent<{
295
375
  "onSyn-input"?: ((e: SynInputEvent) => any) | undefined;
296
376
  "onUpdate:modelValue"?: ((newValue: string) => any) | undefined;
297
377
  "onSyn-clear"?: ((e: SynClearEvent) => any) | undefined;
378
+ "onSyn-clamp"?: ((e: SynClampEvent) => any) | undefined;
298
379
  }>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {
299
380
  nativeElement: unknown;
300
381
  }, any>, {
@@ -33,9 +33,13 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
33
33
  enterkeyhint: {},
34
34
  spellcheck: {},
35
35
  inputmode: {},
36
+ minFractionDigits: {},
37
+ maxFractionDigits: {},
38
+ numericStrategy: {},
39
+ numberFormatterOptions: {},
36
40
  modelValue: {}
37
41
  },
38
- emits: ["syn-blur", "syn-change", "syn-clear", "syn-focus", "syn-input", "syn-invalid", "update:modelValue"],
42
+ emits: ["syn-blur", "syn-change", "syn-clear", "syn-focus", "syn-input", "syn-invalid", "syn-clamp", "update:modelValue"],
39
43
  setup(__props, { expose: __expose }) {
40
44
  const nativeElement = ref();
41
45
  __expose({
@@ -58,6 +62,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
58
62
  _ctx.$emit("syn-input", $event);
59
63
  }),
60
64
  onSynInvalid: _cache[5] || (_cache[5] = ($event) => _ctx.$emit("syn-invalid", $event)),
65
+ onSynClamp: _cache[6] || (_cache[6] = ($event) => _ctx.$emit("syn-clamp", $event)),
61
66
  value: typeof props.modelValue !== "undefined" ? props.modelValue : typeof props.value !== "undefined" ? props.value : void 0
62
67
  }, visibleProps.value, {
63
68
  ref_key: "nativeElement",
package/package.json CHANGED
@@ -4,7 +4,7 @@
4
4
  "url": "https://www.sick.com"
5
5
  },
6
6
  "dependencies": {
7
- "@synergy-design-system/components": "^2.30.5"
7
+ "@synergy-design-system/components": "^2.31.0-numeric.2"
8
8
  },
9
9
  "description": "Vue3 wrappers for the Synergy Design System",
10
10
  "exports": {
@@ -40,7 +40,7 @@
40
40
  "directory": "packages/vue"
41
41
  },
42
42
  "type": "module",
43
- "version": "2.30.5",
43
+ "version": "2.31.0-numeric.2",
44
44
  "devDependencies": {
45
45
  "@vitejs/plugin-vue": "^5.2.3",
46
46
  "@vue/tsconfig": "^0.7.0",
@@ -30,6 +30,7 @@
30
30
  * @event syn-focus - Emitted when the control gains focus.
31
31
  * @event syn-input - Emitted when the control receives input.
32
32
  * @event syn-invalid - Emitted when the form control has been checked for validity and its constraints aren't satisfied.
33
+ * @event syn-clamp - Emitted if the numeric strategy allows autoClamp and the value is clamped to the min or max attribute.
33
34
  *
34
35
  * @csspart form-control - The form control that wraps the label, input, and help text.
35
36
  * @csspart form-control-label - The label's wrapper.
@@ -60,6 +61,7 @@ import type { SynClearEvent } from '@synergy-design-system/components';
60
61
  import type { SynFocusEvent } from '@synergy-design-system/components';
61
62
  import type { SynInputEvent } from '@synergy-design-system/components';
62
63
  import type { SynInvalidEvent } from '@synergy-design-system/components';
64
+ import type { SynClampEvent } from '@synergy-design-system/components';
63
65
  import type { SynInput } from '@synergy-design-system/components';
64
66
 
65
67
  // DOM Reference to the element
@@ -231,6 +233,49 @@ keyboard on supportive devices.
231
233
  */
232
234
  inputmode?: SynInput['inputmode'];
233
235
 
236
+ /**
237
+ * The minimal amount of fraction digits to use for numeric values.
238
+ Used to format the number when the input type is `number` and `NumericStrategy.enableNumberFormat` is set to `true`.
239
+ */
240
+ minFractionDigits?: SynInput['minFractionDigits'];
241
+
242
+ /**
243
+ * The maximal amount of fraction digits to use for numeric values.
244
+ Used to format the number when the input type is `number` and `NumericStrategy.enableNumberFormat` is set to `true`.
245
+ */
246
+ maxFractionDigits?: SynInput['maxFractionDigits'];
247
+
248
+ /**
249
+ * Defines the strategy for handling numbers in the numeric input.
250
+ This is used to determine how the input behaves when the user interacts with it.
251
+
252
+ Includes the following configuration options:
253
+
254
+ - **autoClamp**: If true, the input will clamp the value to the min and max attributes.
255
+ - **enableNumberFormat**: If true, the input will format the value using a `NumberFormatter`.
256
+ - **noStepAlign**: If true, the input will not align the value to the step attribute.
257
+ - **noStepValidation**: If true, the input will not validate the value against the step attribute.
258
+
259
+ You may provide this as one of the following values:
260
+
261
+ - 'native': Uses the native browser implementation.
262
+ - 'modern': Uses a more intuitive implementation:
263
+ - Values are clamped to the nearest min or max value.
264
+ - Stepping is inclusive to the provided min and max values.
265
+ - Provided stepping is no longer used in validation.
266
+ - Advanced number formatting is enabled.
267
+ - An object that matches the `NumericStrategy` type.
268
+ * Note this can only be set via `property`, not as an `attribute`!
269
+ */
270
+ numericStrategy?: SynInput['numericStrategy'];
271
+
272
+ /**
273
+ * Optional options that should be passed to the `NumberFormatter` when formatting the value.
274
+ This is used to format the number when the input type is `number` and `NumericStrategy.enableNumberFormat` is set to `true`.
275
+ Note this can only be set via `property`, not as an `attribute`!
276
+ */
277
+ numberFormatterOptions?: SynInput['numberFormatterOptions'];
278
+
234
279
  /**
235
280
  * Support for two way data binding
236
281
  */
@@ -279,6 +324,11 @@ defineEmits<{
279
324
  */
280
325
  'syn-invalid': [e: SynInvalidEvent];
281
326
 
327
+ /**
328
+ * Emitted if the numeric strategy allows autoClamp and the value is clamped to the min or max attribute.
329
+ */
330
+ 'syn-clamp': [e: SynClampEvent];
331
+
282
332
  /**
283
333
  * Support for two way data binding
284
334
  */
@@ -293,6 +343,7 @@ export type { SynClearEvent } from '@synergy-design-system/components';
293
343
  export type { SynFocusEvent } from '@synergy-design-system/components';
294
344
  export type { SynInputEvent } from '@synergy-design-system/components';
295
345
  export type { SynInvalidEvent } from '@synergy-design-system/components';
346
+ export type { SynClampEvent } from '@synergy-design-system/components';
296
347
  </script>
297
348
 
298
349
  <template>
@@ -306,6 +357,7 @@ export type { SynInvalidEvent } from '@synergy-design-system/components';
306
357
  $emit('syn-input', $event);
307
358
  "
308
359
  @syn-invalid="$emit('syn-invalid', $event)"
360
+ @syn-clamp="$emit('syn-clamp', $event)"
309
361
  :value="
310
362
  typeof props.modelValue !== 'undefined'
311
363
  ? props.modelValue