bitboss-ui 2.1.105 → 2.1.106

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.
Files changed (193) hide show
  1. package/dist/components/BaseDatePickerInput/BaseDatePickerInput.vue.d.ts +60 -14
  2. package/dist/components/BbDatePickerInput/BbDatePickerInput.vue.d.ts +10 -3
  3. package/dist/index.css +1 -1
  4. package/dist/index109.js +9 -9
  5. package/dist/index116.js +1 -1
  6. package/dist/index122.js +4 -4
  7. package/dist/index124.js +13 -13
  8. package/dist/index132.js +1 -1
  9. package/dist/index134.js +5 -5
  10. package/dist/index136.js +1 -1
  11. package/dist/index138.js +2 -2
  12. package/dist/index14.js +1 -1
  13. package/dist/index141.js +1 -1
  14. package/dist/index143.js +2 -2
  15. package/dist/index145.js +1 -1
  16. package/dist/index16.js +3 -3
  17. package/dist/index18.js +3 -3
  18. package/dist/index20.js +8 -8
  19. package/dist/index218.js +2 -138
  20. package/dist/index219.js +138 -2
  21. package/dist/index22.js +14 -14
  22. package/dist/index220.js +2 -2
  23. package/dist/index221.js +1 -1
  24. package/dist/index222.js +1 -1
  25. package/dist/index223.js +33 -6
  26. package/dist/index224.js +27 -15
  27. package/dist/index226.js +5 -5
  28. package/dist/index227.js +4 -4
  29. package/dist/index228.js +5 -5
  30. package/dist/index229.js +5 -3
  31. package/dist/index230.js +3 -2
  32. package/dist/index231.js +2 -6
  33. package/dist/index232.js +6 -8
  34. package/dist/index233.js +6 -266
  35. package/dist/index234.js +258 -42
  36. package/dist/index235.js +44 -44
  37. package/dist/index236.js +48 -28
  38. package/dist/index237.js +27 -55
  39. package/dist/index238.js +59 -12
  40. package/dist/index239.js +13 -3
  41. package/dist/index24.js +440 -378
  42. package/dist/index240.js +86 -33
  43. package/dist/index242.js +32 -0
  44. package/dist/index243.js +17 -2
  45. package/dist/index244.js +51 -2
  46. package/dist/index245.js +18 -3
  47. package/dist/index246.js +11 -8
  48. package/dist/index247.js +17 -12
  49. package/dist/index248.js +12 -134
  50. package/dist/index249.js +15 -0
  51. package/dist/index250.js +3 -23
  52. package/dist/index251.js +3 -3
  53. package/dist/index252.js +18 -21
  54. package/dist/index253.js +2 -33
  55. package/dist/index254.js +2 -2
  56. package/dist/index255.js +2 -67
  57. package/dist/index256.js +3 -2
  58. package/dist/index257.js +135 -4
  59. package/dist/index259.js +4 -34
  60. package/dist/index26.js +3 -3
  61. package/dist/index260.js +22 -85
  62. package/dist/index261.js +6 -0
  63. package/dist/index262.js +3 -30
  64. package/dist/index263.js +17 -16
  65. package/dist/index264.js +11 -50
  66. package/dist/index265.js +106 -18
  67. package/dist/index267.js +100 -18
  68. package/dist/index269.js +107 -11
  69. package/dist/index270.js +2 -5
  70. package/dist/index271.js +11 -13
  71. package/dist/index272.js +7 -9
  72. package/dist/index273.js +6 -373
  73. package/dist/index274.js +18 -0
  74. package/dist/index275.js +3 -25
  75. package/dist/index276.js +9 -4
  76. package/dist/index277.js +52 -8
  77. package/dist/index278.js +9 -52
  78. package/dist/index279.js +2 -187
  79. package/dist/index28.js +1 -1
  80. package/dist/index280.js +373 -3
  81. package/dist/index282.js +7 -16
  82. package/dist/index283.js +23 -12
  83. package/dist/index284.js +5 -106
  84. package/dist/index285.js +69 -0
  85. package/dist/index286.js +5 -100
  86. package/dist/index287.js +7 -0
  87. package/dist/index288.js +5 -107
  88. package/dist/index289.js +2 -5
  89. package/dist/index290.js +7 -5
  90. package/dist/index291.js +7 -5
  91. package/dist/index292.js +25 -2
  92. package/dist/index293.js +187 -6
  93. package/dist/index294.js +3 -7
  94. package/dist/index295.js +32 -19
  95. package/dist/index296.js +21 -7
  96. package/dist/index297.js +32 -9
  97. package/dist/index298.js +9 -3
  98. package/dist/index30.js +3 -3
  99. package/dist/index300.js +3 -7
  100. package/dist/index301.js +282 -0
  101. package/dist/index302.js +2 -3
  102. package/dist/index303.js +16 -3
  103. package/dist/index304.js +2 -17
  104. package/dist/index305.js +15 -27
  105. package/dist/index306.js +2 -719
  106. package/dist/index307.js +27 -366
  107. package/dist/index308.js +2 -57
  108. package/dist/index309.js +2 -5
  109. package/dist/index310.js +1 -1
  110. package/dist/index311.js +2 -280
  111. package/dist/index312.js +2 -2
  112. package/dist/index313.js +27 -15
  113. package/dist/index314.js +2 -2
  114. package/dist/index315.js +7 -16
  115. package/dist/index316.js +3 -2
  116. package/dist/index317.js +17 -27
  117. package/dist/index318.js +4 -2
  118. package/dist/index319.js +5 -2
  119. package/dist/index32.js +2 -2
  120. package/dist/index320.js +3 -2
  121. package/dist/index321.js +5 -2
  122. package/dist/index322.js +3 -2
  123. package/dist/index323.js +3 -2
  124. package/dist/index324.js +1 -1
  125. package/dist/index325.js +719 -3
  126. package/dist/index326.js +366 -4
  127. package/dist/index327.js +57 -3
  128. package/dist/index328.js +3 -4
  129. package/dist/index329.js +2 -3
  130. package/dist/index330.js +125 -3
  131. package/dist/index331.js +2 -2
  132. package/dist/index332.js +14 -5
  133. package/dist/index333.js +2 -125
  134. package/dist/index334.js +19 -2
  135. package/dist/index335.js +2 -15
  136. package/dist/index336.js +6 -2
  137. package/dist/index337.js +3 -18
  138. package/dist/index338.js +2 -2
  139. package/dist/index339.js +5 -228
  140. package/dist/index34.js +8 -8
  141. package/dist/index340.js +7 -67
  142. package/dist/index341.js +18 -66
  143. package/dist/index342.js +8 -92
  144. package/dist/index343.js +15 -5
  145. package/dist/index344.js +92 -6
  146. package/dist/index345.js +5 -17
  147. package/dist/index346.js +67 -9
  148. package/dist/index347.js +66 -14
  149. package/dist/index348.js +34 -6
  150. package/dist/index349.js +6 -35
  151. package/dist/index350.js +129 -6
  152. package/dist/index351.js +382 -113
  153. package/dist/index352.js +198 -396
  154. package/dist/index353.js +255 -18
  155. package/dist/index354.js +230 -0
  156. package/dist/index355.js +21 -133
  157. package/dist/index357.js +2 -259
  158. package/dist/index358.js +1 -1
  159. package/dist/index359.js +134 -2
  160. package/dist/index36.js +4 -4
  161. package/dist/index363.js +1 -1
  162. package/dist/index38.js +20 -20
  163. package/dist/index40.js +7 -7
  164. package/dist/index42.js +2 -2
  165. package/dist/index44.js +8 -8
  166. package/dist/index46.js +6 -6
  167. package/dist/index50.js +2 -2
  168. package/dist/index54.js +1 -1
  169. package/dist/index56.js +1 -1
  170. package/dist/index58.js +2 -2
  171. package/dist/index60.js +2 -2
  172. package/dist/index62.js +5 -5
  173. package/dist/index68.js +1 -1
  174. package/dist/index74.js +4 -4
  175. package/dist/index78.js +13 -11
  176. package/dist/index82.js +6 -6
  177. package/dist/index84.js +1 -1
  178. package/dist/index86.js +2 -2
  179. package/dist/index88.js +3 -3
  180. package/dist/index90.js +1 -1
  181. package/dist/index93.js +3 -3
  182. package/dist/index95.js +2 -2
  183. package/dist/index97.js +5 -5
  184. package/dist/index99.js +1 -1
  185. package/package.json +1 -1
  186. package/dist/index225.js +0 -7
  187. package/dist/index241.js +0 -30
  188. package/dist/index258.js +0 -22
  189. package/dist/index266.js +0 -14
  190. package/dist/index268.js +0 -5
  191. package/dist/index281.js +0 -5
  192. package/dist/index299.js +0 -7
  193. package/dist/index356.js +0 -202
@@ -1,13 +1,15 @@
1
1
  import { HTMLAttributes, InputHTMLAttributes } from 'vue';
2
2
  import { IconType } from '../../types/Icon';
3
3
  /**
4
- * Props for the low-level date-picker input that couples a masked text field with a popover calendar.
4
+ * Props for the low-level date-picker input that couples a segmented text field with a popover calendar.
5
5
  * Accepts ISO strings (or `YYYY-MM-DD` when `floating` is true) and can operate in single or range mode.
6
+ * In both modes users type directly into segmented day / month / year inputs with auto-advance between them.
6
7
  */
7
8
  export type BaseDatePickerInputProps = {
8
9
  /**
9
- * Controls whether manual typing is allowed inside the text field.
10
+ * Controls whether manual typing is allowed inside the text fields.
10
11
  * Use `'not-mobile'` to disable typing on mobile devices while keeping it on desktop.
12
+ * Applies to both single and range modes.
11
13
  * @default true
12
14
  */
13
15
  allowWriting?: boolean | 'not-mobile';
@@ -21,7 +23,7 @@ export type BaseDatePickerInputProps = {
21
23
  */
22
24
  autocomplete?: InputHTMLAttributes['autocomplete'];
23
25
  /**
24
- * Focus the text field automatically when the component mounts.
26
+ * Focus the first text field automatically when the component mounts.
25
27
  */
26
28
  autofocus?: InputHTMLAttributes['autofocus'];
27
29
  /**
@@ -72,11 +74,14 @@ export type BaseDatePickerInputProps = {
72
74
  */
73
75
  modelValue: string | string[] | null;
74
76
  /**
75
- * Name attribute forwarded to the native input.
77
+ * Name attribute forwarded to the native inputs. In single mode fields are named
78
+ * `${name}-day`, `${name}-month`, `${name}-year`; in range mode they are prefixed
79
+ * with the segment (`${name}-start-day`, `${name}-end-day`, …).
76
80
  */
77
81
  name?: InputHTMLAttributes['name'];
78
82
  /**
79
- * Placeholder text displayed when no value is present.
83
+ * Placeholder text displayed when no value is present. Defaults to a format hint
84
+ * (`DD/MM/YYYY` or `DD/MM/YYYY – DD/MM/YYYY` for range mode).
80
85
  */
81
86
  placeholder?: InputHTMLAttributes['placeholder'];
82
87
  /**
@@ -84,36 +89,79 @@ export type BaseDatePickerInputProps = {
84
89
  */
85
90
  'prepend:icon'?: IconType;
86
91
  /**
87
- * Enables range selection. When active, v-model expects a two-element array and typing is disabled.
92
+ * Enables range selection. When active, v-model expects a two-element array `[start, end]`.
93
+ * Users can still type into the start and end segments as long as `allowWriting` is truthy.
88
94
  */
89
95
  range?: boolean;
90
96
  /**
91
- * Makes the text field read-only and prevents opening the calendar.
97
+ * Makes the text fields read-only and prevents opening the calendar.
92
98
  */
93
99
  readonly?: boolean;
94
100
  /**
95
- * Marks the input as required to the browser.
101
+ * Marks the inputs as required to the browser.
96
102
  */
97
103
  required?: boolean;
98
104
  /**
99
105
  * Predicate invoked for each candidate date. Return `false` to disable selection for that value.
100
106
  */
101
107
  selectable?: (date: string) => boolean;
108
+ /**
109
+ * Hides the calendar trigger button and prevents the calendar popover from opening.
110
+ * Use `'not-mobile'` to hide the popover on desktop while keeping it visible on mobile,
111
+ * complementing `allowWriting: 'not-mobile'` (desktop = keyboard-first, mobile = calendar-first).
112
+ * An error is thrown if both writing and the popover would be unavailable on the same platform.
113
+ */
114
+ hidePopover?: boolean | 'not-mobile';
102
115
  /**
103
116
  * Transition duration, in milliseconds, for the popover appearance.
104
117
  */
105
118
  transitionDuration?: number;
106
119
  };
120
+ /**
121
+ * Structured payload carried by every `error` event.
122
+ *
123
+ * | `code` | Trigger | `original` | `normalized` |
124
+ * |------------------------|------------------------------------|------------------------------|-------------------------------------------------------|
125
+ * | `disabled_date` | Typed single date is disabled | The disabled date | Snapped to `min`/`max`, or `null` if not normalizable |
126
+ * | `disabled_range_start` | Typed range start is disabled | `[start]` or `[start, end]` | Snapped range, or `null` if start is not normalizable |
127
+ * | `disabled_range_end` | Typed range end is disabled | `[start, end]` | Snapped range (length 1 or 2), or `null` |
128
+ * | `end_before_start` | Typed end is chronologically first | `[start, end]` (wrong order) | `[end, start]` — always the swapped pair |
129
+ */
130
+ export type DatePickerInputError = {
131
+ code: 'disabled_date';
132
+ /** The value the user typed before normalization. */
133
+ original: string;
134
+ /** Snapped to the nearest `min`/`max` boundary, or `null` if disabled by `selectable`. */
135
+ normalized: string | null;
136
+ } | {
137
+ code: 'disabled_range_start';
138
+ /** The range value before normalization (may be `[start]` or `[start, end]`). */
139
+ original: string[];
140
+ /** Snapped range, or `null` if start could not be normalized. */
141
+ normalized: string[] | null;
142
+ } | {
143
+ code: 'disabled_range_end';
144
+ /** The full range before normalization. */
145
+ original: [string, string];
146
+ /** Range with end snapped, or `[start]` if end could not be normalized. */
147
+ normalized: string[] | null;
148
+ } | {
149
+ code: 'end_before_start';
150
+ /** `[start, end]` in the order the user typed them. */
151
+ original: [string, string];
152
+ /** `[end, start]` — the chronologically corrected pair. */
153
+ normalized: [string, string];
154
+ };
107
155
  /**
108
156
  * Events emitted by `BaseDatePickerInput`.
109
157
  * - `active` / `inactive`: fired when focus enters or leaves the composite control.
110
- * - `error`: emitted with an error code (e.g. `invalid_date_typed`) when manual input is rejected.
158
+ * - `error`: emitted alongside every normalization or removal — see `DatePickerInputError` for the full code map.
111
159
  * - `focus`: forwarded from the native input focus event.
112
160
  * - `update:modelValue`: emitted whenever the selected value changes.
113
161
  */
114
162
  export type BaseDatePickerInputEvents = {
115
163
  (e: 'active'): void;
116
- (e: 'error', message: string): void;
164
+ (e: 'error', error: DatePickerInputError): void;
117
165
  (e: 'focus', event: FocusEvent): void;
118
166
  (e: 'inactive'): void;
119
167
  (e: 'update:modelValue', value: BaseDatePickerInputProps['modelValue']): void;
@@ -242,7 +290,6 @@ declare function __VLS_template(): {
242
290
  suffix?(_: {}): any;
243
291
  };
244
292
  }) | null;
245
- input: HTMLInputElement;
246
293
  calendar: HTMLDivElement;
247
294
  baseDatePicker: ({
248
295
  $: import('vue').ComponentInternalInstance;
@@ -319,13 +366,13 @@ declare function __VLS_template(): {
319
366
  type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
320
367
  declare const __VLS_component: import('vue').DefineComponent<BaseDatePickerInputProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
321
368
  "update:modelValue": (value: string | string[] | null) => any;
322
- error: (message: string) => any;
369
+ error: (error: DatePickerInputError) => any;
323
370
  focus: (event: FocusEvent) => any;
324
371
  inactive: () => any;
325
372
  active: () => any;
326
373
  }, string, import('vue').PublicProps, Readonly<BaseDatePickerInputProps> & Readonly<{
327
374
  "onUpdate:modelValue"?: ((value: string | string[] | null) => any) | undefined;
328
- onError?: ((message: string) => any) | undefined;
375
+ onError?: ((error: DatePickerInputError) => any) | undefined;
329
376
  onFocus?: ((event: FocusEvent) => any) | undefined;
330
377
  onInactive?: (() => any) | undefined;
331
378
  onActive?: (() => any) | undefined;
@@ -439,7 +486,6 @@ declare const __VLS_component: import('vue').DefineComponent<BaseDatePickerInput
439
486
  suffix?(_: {}): any;
440
487
  };
441
488
  }) | null;
442
- input: HTMLInputElement;
443
489
  calendar: HTMLDivElement;
444
490
  baseDatePicker: ({
445
491
  $: import('vue').ComponentInternalInstance;
@@ -1,6 +1,7 @@
1
- import { BaseDatePickerInputEvents } from '../BaseDatePickerInput/BaseDatePickerInput.vue';
1
+ import { BaseDatePickerInputEvents, DatePickerInputError } from '../BaseDatePickerInput/BaseDatePickerInput.vue';
2
2
  import { HTMLAttributes, InputHTMLAttributes } from 'vue';
3
3
  import { IconType } from '../../types/Icon';
4
+ export type { DatePickerInputError };
4
5
  export type BbDatePickerInputProps = {
5
6
  /**
6
7
  * Allows typing into the input.
@@ -51,6 +52,12 @@ export type BbDatePickerInputProps = {
51
52
  * It usually attaches a CSS class for styling purposes.
52
53
  */
53
54
  hasErrors?: boolean;
55
+ /**
56
+ * Hides the calendar trigger button and prevents the popover from opening.
57
+ * Use `'not-mobile'` to hide on desktop and keep visible on mobile,
58
+ * complementing `allowWriting: 'not-mobile'` for platform-specific interaction modes.
59
+ */
60
+ hidePopover?: boolean | 'not-mobile';
54
61
  /**
55
62
  * Visually hides the label of the input while maintaining accessibility.
56
63
  */
@@ -163,13 +170,13 @@ declare function __VLS_template(): {
163
170
  type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
164
171
  declare const __VLS_component: import('vue').DefineComponent<BbDatePickerInputProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
165
172
  "update:modelValue": (value: string | string[] | null) => any;
166
- error: (message: string) => any;
173
+ error: (error: DatePickerInputError) => any;
167
174
  focus: (event: FocusEvent) => any;
168
175
  inactive: () => any;
169
176
  active: () => any;
170
177
  }, string, import('vue').PublicProps, Readonly<BbDatePickerInputProps> & Readonly<{
171
178
  "onUpdate:modelValue"?: ((value: string | string[] | null) => any) | undefined;
172
- onError?: ((message: string) => any) | undefined;
179
+ onError?: ((error: DatePickerInputError) => any) | undefined;
173
180
  onFocus?: ((event: FocusEvent) => any) | undefined;
174
181
  onInactive?: (() => any) | undefined;
175
182
  onActive?: (() => any) | undefined;