bitboss-ui 2.1.104 → 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 (187) hide show
  1. package/dist/components/BaseDatePickerInput/BaseDatePickerInput.vue.d.ts +60 -14
  2. package/dist/components/BaseSelect/BaseSelect.vue.d.ts +6 -0
  3. package/dist/components/BbDatePickerInput/BbDatePickerInput.vue.d.ts +10 -3
  4. package/dist/components/BbSelect/BbSelect.vue.d.ts +6 -0
  5. package/dist/index.css +1 -1
  6. package/dist/index109.js +9 -9
  7. package/dist/index110.js +13 -7
  8. package/dist/index116.js +1 -1
  9. package/dist/index122.js +3 -3
  10. package/dist/index124.js +12 -12
  11. package/dist/index132.js +1 -1
  12. package/dist/index134.js +3 -3
  13. package/dist/index136.js +1 -1
  14. package/dist/index138.js +2 -2
  15. package/dist/index14.js +1 -1
  16. package/dist/index146.js +2 -2
  17. package/dist/index16.js +3 -3
  18. package/dist/index18.js +3 -3
  19. package/dist/index20.js +8 -8
  20. package/dist/index22.js +14 -14
  21. package/dist/index221.js +5 -3
  22. package/dist/index222.js +7 -4
  23. package/dist/index223.js +32 -7
  24. package/dist/index224.js +26 -32
  25. package/dist/index226.js +5 -86
  26. package/dist/index227.js +7 -0
  27. package/dist/index228.js +5 -30
  28. package/dist/index229.js +5 -17
  29. package/dist/index230.js +3 -51
  30. package/dist/index231.js +2 -18
  31. package/dist/index232.js +6 -3
  32. package/dist/index233.js +8 -12
  33. package/dist/index234.js +268 -18
  34. package/dist/index235.js +51 -12
  35. package/dist/index236.js +51 -12
  36. package/dist/index237.js +32 -13
  37. package/dist/index238.js +60 -2
  38. package/dist/index239.js +12 -105
  39. package/dist/index24.js +440 -378
  40. package/dist/index240.js +88 -0
  41. package/dist/index242.js +32 -0
  42. package/dist/index243.js +17 -3
  43. package/dist/index244.js +49 -16
  44. package/dist/index245.js +17 -11
  45. package/dist/index246.js +12 -4
  46. package/dist/index247.js +18 -135
  47. package/dist/index248.js +15 -0
  48. package/dist/index249.js +13 -107
  49. package/dist/index250.js +3 -2
  50. package/dist/index251.js +3 -10
  51. package/dist/index252.js +20 -2
  52. package/dist/index253.js +2 -2
  53. package/dist/index254.js +2 -7
  54. package/dist/index255.js +2 -7
  55. package/dist/index256.js +3 -5
  56. package/dist/index257.js +134 -8
  57. package/dist/index26.js +3 -3
  58. package/dist/index261.js +4 -8
  59. package/dist/index262.js +3 -9
  60. package/dist/index263.js +18 -25
  61. package/dist/index264.js +12 -6
  62. package/dist/index265.js +105 -15
  63. package/dist/index267.js +100 -2
  64. package/dist/index269.js +107 -7
  65. package/dist/index270.js +2 -5
  66. package/dist/index271.js +11 -5
  67. package/dist/index272.js +7 -5
  68. package/dist/index273.js +6 -5
  69. package/dist/index274.js +16 -5
  70. package/dist/index275.js +3 -5
  71. package/dist/index276.js +8 -19
  72. package/dist/index277.js +53 -4
  73. package/dist/index278.js +10 -9
  74. package/dist/index279.js +3 -21
  75. package/dist/index28.js +1 -1
  76. package/dist/index280.js +373 -33
  77. package/dist/index282.js +11 -0
  78. package/dist/index283.js +23 -10
  79. package/dist/index284.js +5 -3
  80. package/dist/index285.js +67 -3
  81. package/dist/index286.js +5 -373
  82. package/dist/index287.js +7 -0
  83. package/dist/index288.js +5 -188
  84. package/dist/index289.js +2 -3
  85. package/dist/index290.js +7 -5
  86. package/dist/index291.js +6 -5
  87. package/dist/index292.js +25 -268
  88. package/dist/index293.js +186 -50
  89. package/dist/index294.js +3 -52
  90. package/dist/index295.js +28 -26
  91. package/dist/index296.js +20 -59
  92. package/dist/index298.js +9 -53
  93. package/dist/index30.js +2 -2
  94. package/dist/index300.js +3 -5
  95. package/dist/index301.js +280 -2
  96. package/dist/index302.js +2 -3
  97. package/dist/index303.js +16 -17
  98. package/dist/index304.js +2 -28
  99. package/dist/index305.js +16 -3
  100. package/dist/index306.js +2 -3
  101. package/dist/index307.js +27 -4
  102. package/dist/index308.js +2 -7
  103. package/dist/index309.js +4 -0
  104. package/dist/index310.js +2 -3
  105. package/dist/index311.js +2 -3
  106. package/dist/index312.js +1 -1
  107. package/dist/index313.js +28 -5
  108. package/dist/index314.js +2 -719
  109. package/dist/index315.js +6 -365
  110. package/dist/index316.js +3 -57
  111. package/dist/index317.js +17 -280
  112. package/dist/index318.js +4 -2
  113. package/dist/index319.js +5 -125
  114. package/dist/index32.js +2 -2
  115. package/dist/index320.js +3 -2
  116. package/dist/index321.js +5 -15
  117. package/dist/index322.js +3 -2
  118. package/dist/index323.js +3 -16
  119. package/dist/index324.js +2 -2
  120. package/dist/index325.js +719 -16
  121. package/dist/index326.js +366 -2
  122. package/dist/index327.js +55 -17
  123. package/dist/index328.js +3 -2
  124. package/dist/index329.js +2 -3
  125. package/dist/index330.js +120 -22
  126. package/dist/index331.js +2 -2
  127. package/dist/index332.js +15 -2
  128. package/dist/index333.js +2 -2
  129. package/dist/index334.js +19 -2
  130. package/dist/index335.js +2 -2
  131. package/dist/index336.js +6 -2
  132. package/dist/index337.js +3 -227
  133. package/dist/index338.js +2 -6
  134. package/dist/index339.js +5 -67
  135. package/dist/index34.js +8 -8
  136. package/dist/index340.js +7 -67
  137. package/dist/index341.js +18 -3
  138. package/dist/index342.js +8 -34
  139. package/dist/index343.js +15 -6
  140. package/dist/index344.js +85 -121
  141. package/dist/index345.js +6 -397
  142. package/dist/index346.js +65 -198
  143. package/dist/index347.js +65 -257
  144. package/dist/index348.js +33 -91
  145. package/dist/index349.js +6 -134
  146. package/dist/index350.js +129 -2
  147. package/dist/index351.js +398 -2
  148. package/dist/index352.js +200 -5
  149. package/dist/index353.js +259 -7
  150. package/dist/index354.js +227 -6
  151. package/dist/index355.js +21 -18
  152. package/dist/index357.js +2 -15
  153. package/dist/index358.js +1 -21
  154. package/dist/index359.js +136 -0
  155. package/dist/index36.js +4 -4
  156. package/dist/index363.js +1 -1
  157. package/dist/index38.js +186 -172
  158. package/dist/index40.js +6 -6
  159. package/dist/index42.js +2 -2
  160. package/dist/index44.js +8 -8
  161. package/dist/index46.js +6 -6
  162. package/dist/index50.js +2 -2
  163. package/dist/index54.js +1 -1
  164. package/dist/index56.js +1 -1
  165. package/dist/index58.js +2 -2
  166. package/dist/index60.js +2 -2
  167. package/dist/index62.js +4 -4
  168. package/dist/index68.js +1 -1
  169. package/dist/index74.js +3 -3
  170. package/dist/index78.js +13 -11
  171. package/dist/index82.js +4 -4
  172. package/dist/index84.js +1 -1
  173. package/dist/index86.js +2 -2
  174. package/dist/index88.js +3 -3
  175. package/dist/index90.js +1 -1
  176. package/dist/index93.js +3 -3
  177. package/dist/index95.js +2 -2
  178. package/dist/index97.js +3 -3
  179. package/package.json +2 -2
  180. package/dist/index225.js +0 -69
  181. package/dist/index241.js +0 -102
  182. package/dist/index258.js +0 -25
  183. package/dist/index266.js +0 -5
  184. package/dist/index268.js +0 -4
  185. package/dist/index281.js +0 -30
  186. package/dist/index299.js +0 -4
  187. package/dist/index356.js +0 -11
@@ -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;
@@ -255,9 +255,15 @@ export type BaseSelectSlots<Item> = {
255
255
  'options:append'?: (props: {
256
256
  focus: () => void;
257
257
  }) => any;
258
+ 'options:append:outer'?: (props: {
259
+ focus: () => void;
260
+ }) => any;
258
261
  'options:prepend'?: (props: {
259
262
  focus: () => void;
260
263
  }) => any;
264
+ 'options:prepend:outer'?: (props: {
265
+ focus: () => void;
266
+ }) => any;
261
267
  prefix?: (props: object) => any;
262
268
  prepend?: (props: {
263
269
  query: string;
@@ -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;
@@ -263,9 +263,15 @@ export type BbSelectSlots<T> = {
263
263
  'options:append'?: (props: {
264
264
  focus: () => void;
265
265
  }) => any;
266
+ 'options:append:outer'?: (props: {
267
+ focus: () => void;
268
+ }) => any;
266
269
  'options:prepend'?: (props: {
267
270
  focus: () => void;
268
271
  }) => any;
272
+ 'options:prepend:outer'?: (props: {
273
+ focus: () => void;
274
+ }) => any;
269
275
  prefix?: (props: object) => any;
270
276
  prepend?: (props: {
271
277
  query: string;