@synergy-design-system/vue 2.32.0 → 2.34.0

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,43 @@ 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`.
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`.
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
+ - **noStepAlign**: If true, the input will not align the value to the step attribute.
159
+ - **noStepValidation**: If true, the input will not validate the value against the step attribute.
160
+
161
+ You may provide this as one of the following values:
162
+
163
+ - 'native': Uses the native browser implementation.
164
+ - 'modern': Uses a more intuitive implementation:
165
+ - Values are clamped to the nearest min or max value.
166
+ - Stepping is inclusive to the provided min and max values.
167
+ - Provided stepping is no longer used in validation.
168
+ - An object that matches the `NumericStrategy` type.
169
+ * Note this can only be set via `property`, not as an `attribute`!
170
+ */
171
+ numericStrategy?: SynInput["numericStrategy"];
172
+ /**
173
+ * Optional options that should be passed to the `NumberFormatter` when formatting the value.
174
+ This is used to format the number when the input type is `number`.
175
+ Note this can only be set via `property`, not as an `attribute`!
176
+ */
177
+ numberFormatterOptions?: SynInput["numberFormatterOptions"];
178
+ /**
141
179
  * Support for two way data binding
142
180
  */
143
181
  modelValue?: SynInput["value"];
@@ -151,6 +189,7 @@ declare const _default: __VLS_WithTemplateSlots<import('vue').DefineComponent<{
151
189
  "syn-input": (e: SynInputEvent) => any;
152
190
  "update:modelValue": (newValue: string) => any;
153
191
  "syn-clear": (e: SynClearEvent) => any;
192
+ "syn-clamp": (e: SynClampEvent) => any;
154
193
  }, string, import('vue').PublicProps, Readonly<{
155
194
  title?: SynInput["title"];
156
195
  /**
@@ -284,6 +323,43 @@ declare const _default: __VLS_WithTemplateSlots<import('vue').DefineComponent<{
284
323
  */
285
324
  inputmode?: SynInput["inputmode"];
286
325
  /**
326
+ * The minimal amount of fraction digits to use for numeric values.
327
+ Used to format the number when the input type is `number`.
328
+ */
329
+ minFractionDigits?: SynInput["minFractionDigits"];
330
+ /**
331
+ * The maximal amount of fraction digits to use for numeric values.
332
+ Used to format the number when the input type is `number`.
333
+ */
334
+ maxFractionDigits?: SynInput["maxFractionDigits"];
335
+ /**
336
+ * Defines the strategy for handling numbers in the numeric input.
337
+ This is used to determine how the input behaves when the user interacts with it.
338
+
339
+ Includes the following configuration options:
340
+
341
+ - **autoClamp**: If true, the input will clamp the value to the min and max attributes.
342
+ - **noStepAlign**: If true, the input will not align the value to the step attribute.
343
+ - **noStepValidation**: If true, the input will not validate the value against the step attribute.
344
+
345
+ You may provide this as one of the following values:
346
+
347
+ - 'native': Uses the native browser implementation.
348
+ - 'modern': Uses a more intuitive implementation:
349
+ - Values are clamped to the nearest min or max value.
350
+ - Stepping is inclusive to the provided min and max values.
351
+ - Provided stepping is no longer used in validation.
352
+ - An object that matches the `NumericStrategy` type.
353
+ * Note this can only be set via `property`, not as an `attribute`!
354
+ */
355
+ numericStrategy?: SynInput["numericStrategy"];
356
+ /**
357
+ * Optional options that should be passed to the `NumberFormatter` when formatting the value.
358
+ This is used to format the number when the input type is `number`.
359
+ Note this can only be set via `property`, not as an `attribute`!
360
+ */
361
+ numberFormatterOptions?: SynInput["numberFormatterOptions"];
362
+ /**
287
363
  * Support for two way data binding
288
364
  */
289
365
  modelValue?: SynInput["value"];
@@ -295,6 +371,7 @@ declare const _default: __VLS_WithTemplateSlots<import('vue').DefineComponent<{
295
371
  "onSyn-input"?: ((e: SynInputEvent) => any) | undefined;
296
372
  "onUpdate:modelValue"?: ((newValue: string) => any) | undefined;
297
373
  "onSyn-clear"?: ((e: SynClearEvent) => any) | undefined;
374
+ "onSyn-clamp"?: ((e: SynClampEvent) => any) | undefined;
298
375
  }>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {
299
376
  nativeElement: unknown;
300
377
  }, 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.32.0"
7
+ "@synergy-design-system/components": "^2.34.0"
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.32.0",
43
+ "version": "2.34.0",
44
44
  "devDependencies": {
45
45
  "@vitejs/plugin-vue": "^5.2.3",
46
46
  "@vue/tsconfig": "^0.7.0",
@@ -50,7 +50,7 @@
50
50
  "vue": "^3.5.13"
51
51
  },
52
52
  "peerDependencies": {
53
- "@synergy-design-system/tokens": "^2.19.0"
53
+ "@synergy-design-system/tokens": "^2.20.0"
54
54
  },
55
55
  "scripts": {
56
56
  "_build": "vite build"
@@ -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,47 @@ 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`.
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`.
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
+ - **noStepAlign**: If true, the input will not align the value to the step attribute.
256
+ - **noStepValidation**: If true, the input will not validate the value against the step attribute.
257
+
258
+ You may provide this as one of the following values:
259
+
260
+ - 'native': Uses the native browser implementation.
261
+ - 'modern': Uses a more intuitive implementation:
262
+ - Values are clamped to the nearest min or max value.
263
+ - Stepping is inclusive to the provided min and max values.
264
+ - Provided stepping is no longer used in validation.
265
+ - An object that matches the `NumericStrategy` type.
266
+ * Note this can only be set via `property`, not as an `attribute`!
267
+ */
268
+ numericStrategy?: SynInput['numericStrategy'];
269
+
270
+ /**
271
+ * Optional options that should be passed to the `NumberFormatter` when formatting the value.
272
+ This is used to format the number when the input type is `number`.
273
+ Note this can only be set via `property`, not as an `attribute`!
274
+ */
275
+ numberFormatterOptions?: SynInput['numberFormatterOptions'];
276
+
234
277
  /**
235
278
  * Support for two way data binding
236
279
  */
@@ -279,6 +322,11 @@ defineEmits<{
279
322
  */
280
323
  'syn-invalid': [e: SynInvalidEvent];
281
324
 
325
+ /**
326
+ * Emitted if the numeric strategy allows autoClamp and the value is clamped to the min or max attribute.
327
+ */
328
+ 'syn-clamp': [e: SynClampEvent];
329
+
282
330
  /**
283
331
  * Support for two way data binding
284
332
  */
@@ -293,6 +341,7 @@ export type { SynClearEvent } from '@synergy-design-system/components';
293
341
  export type { SynFocusEvent } from '@synergy-design-system/components';
294
342
  export type { SynInputEvent } from '@synergy-design-system/components';
295
343
  export type { SynInvalidEvent } from '@synergy-design-system/components';
344
+ export type { SynClampEvent } from '@synergy-design-system/components';
296
345
  </script>
297
346
 
298
347
  <template>
@@ -306,6 +355,7 @@ export type { SynInvalidEvent } from '@synergy-design-system/components';
306
355
  $emit('syn-input', $event);
307
356
  "
308
357
  @syn-invalid="$emit('syn-invalid', $event)"
358
+ @syn-clamp="$emit('syn-clamp', $event)"
309
359
  :value="
310
360
  typeof props.modelValue !== 'undefined'
311
361
  ? props.modelValue