@onereach/ui-components 3.0.4-beta.2500.0 → 3.0.4-beta.2502.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.
Files changed (99) hide show
  1. package/dist/bundled/v2/OrDatePicker-19e467e2.js +330 -0
  2. package/dist/bundled/v2/OrDateTimePicker-1011dc69.js +440 -0
  3. package/dist/bundled/v2/OrDateTimePickerMonthSelect-9e64d257.js +408 -0
  4. package/dist/bundled/v2/OrDateTimePickerPopoverHeader-c8672c0d.js +239 -0
  5. package/dist/bundled/v2/OrDateTimePickerTimeSelect-158d717b.js +179 -0
  6. package/dist/bundled/v2/OrTimePicker-1b3a758a.js +318 -0
  7. package/dist/bundled/v2/components/index.d.ts +2 -0
  8. package/dist/bundled/v2/components/index.js +7 -2
  9. package/dist/bundled/v2/components/or-date-picker-v3/OrDatePicker.vue.d.ts +183 -0
  10. package/dist/bundled/v2/components/or-date-picker-v3/index.d.ts +2 -0
  11. package/dist/bundled/v2/components/or-date-picker-v3/index.js +31 -0
  12. package/dist/bundled/v2/components/or-date-picker-v3/props.d.ts +1 -0
  13. package/dist/bundled/v2/components/or-date-picker-v3/styles.d.ts +2 -0
  14. package/dist/bundled/v2/components/or-date-time-picker-v3/index.js +7 -5
  15. package/dist/bundled/v2/components/or-time-picker-v3/OrTimePicker.vue.d.ts +183 -0
  16. package/dist/bundled/v2/components/or-time-picker-v3/index.d.ts +2 -0
  17. package/dist/bundled/v2/components/or-time-picker-v3/index.js +29 -0
  18. package/dist/bundled/v2/components/or-time-picker-v3/props.d.ts +1 -0
  19. package/dist/bundled/v2/components/or-time-picker-v3/styles.d.ts +2 -0
  20. package/dist/bundled/v2/index.js +7 -2
  21. package/dist/bundled/v3/OrDatePicker.vue_vue_type_script_lang-8eafbe6b.js +177 -0
  22. package/dist/bundled/v3/OrDateTimePicker.vue_vue_type_script_lang-b2a9ef8d.js +226 -0
  23. package/dist/bundled/v3/OrDateTimePickerMonthSelect-8989be5a.js +341 -0
  24. package/dist/bundled/v3/OrDateTimePickerPopoverHeader-caffcc00.js +162 -0
  25. package/dist/bundled/v3/OrDateTimePickerTimeSelect-e3a89bed.js +148 -0
  26. package/dist/bundled/v3/OrTimePicker.vue_vue_type_script_lang-f46eb37f.js +176 -0
  27. package/dist/bundled/v3/components/index.d.ts +2 -0
  28. package/dist/bundled/v3/components/index.js +8 -3
  29. package/dist/bundled/v3/components/or-date-picker-v3/OrDatePicker.vue.d.ts +183 -0
  30. package/dist/bundled/v3/components/or-date-picker-v3/index.d.ts +2 -0
  31. package/dist/bundled/v3/components/or-date-picker-v3/index.js +37 -0
  32. package/dist/bundled/v3/components/or-date-picker-v3/props.d.ts +1 -0
  33. package/dist/bundled/v3/components/or-date-picker-v3/styles.d.ts +2 -0
  34. package/dist/bundled/v3/components/or-date-time-picker-v3/index.js +7 -4
  35. package/dist/bundled/v3/components/or-time-picker-v3/OrTimePicker.vue.d.ts +183 -0
  36. package/dist/bundled/v3/components/or-time-picker-v3/index.d.ts +2 -0
  37. package/dist/bundled/v3/components/or-time-picker-v3/index.js +33 -0
  38. package/dist/bundled/v3/components/or-time-picker-v3/props.d.ts +1 -0
  39. package/dist/bundled/v3/components/or-time-picker-v3/styles.d.ts +2 -0
  40. package/dist/bundled/v3/index.js +629 -402
  41. package/dist/esm/v2/OrDatePicker-454f5267.js +329 -0
  42. package/dist/esm/v2/OrDateTimePicker-3f533d0c.js +439 -0
  43. package/dist/esm/v2/OrDateTimePickerMonthSelect-380d9c90.js +406 -0
  44. package/dist/esm/v2/OrDateTimePickerPopoverHeader-e11d3222.js +235 -0
  45. package/dist/esm/v2/OrDateTimePickerTimeSelect-83dd1e81.js +177 -0
  46. package/dist/esm/v2/OrTimePicker-f23c8577.js +317 -0
  47. package/dist/esm/v2/components/index.d.ts +2 -0
  48. package/dist/esm/v2/components/index.js +8 -3
  49. package/dist/esm/v2/components/or-date-picker-v3/OrDatePicker.vue.d.ts +183 -0
  50. package/dist/esm/v2/components/or-date-picker-v3/index.d.ts +2 -0
  51. package/dist/esm/v2/components/or-date-picker-v3/index.js +29 -0
  52. package/dist/esm/v2/components/or-date-picker-v3/props.d.ts +1 -0
  53. package/dist/esm/v2/components/or-date-picker-v3/styles.d.ts +2 -0
  54. package/dist/esm/v2/components/or-date-time-picker-v3/index.js +4 -2
  55. package/dist/esm/v2/components/or-time-picker-v3/OrTimePicker.vue.d.ts +183 -0
  56. package/dist/esm/v2/components/or-time-picker-v3/index.d.ts +2 -0
  57. package/dist/esm/v2/components/or-time-picker-v3/index.js +27 -0
  58. package/dist/esm/v2/components/or-time-picker-v3/props.d.ts +1 -0
  59. package/dist/esm/v2/components/or-time-picker-v3/styles.d.ts +2 -0
  60. package/dist/esm/v2/index.js +8 -3
  61. package/dist/esm/v3/OrDatePicker-390f7f11.js +288 -0
  62. package/dist/esm/v3/OrDateTimePicker-54db4170.js +390 -0
  63. package/dist/esm/v3/OrDateTimePickerMonthSelect-709b673d.js +338 -0
  64. package/dist/esm/v3/OrDateTimePickerPopoverHeader-c771a251.js +161 -0
  65. package/dist/esm/v3/OrDateTimePickerTimeSelect-2c8a7f9c.js +148 -0
  66. package/dist/esm/v3/OrTimePicker-362ca566.js +282 -0
  67. package/dist/esm/v3/components/index.d.ts +2 -0
  68. package/dist/esm/v3/components/index.js +7 -2
  69. package/dist/esm/v3/components/or-date-picker-v3/OrDatePicker.vue.d.ts +183 -0
  70. package/dist/esm/v3/components/or-date-picker-v3/index.d.ts +2 -0
  71. package/dist/esm/v3/components/or-date-picker-v3/index.js +27 -0
  72. package/dist/esm/v3/components/or-date-picker-v3/props.d.ts +1 -0
  73. package/dist/esm/v3/components/or-date-picker-v3/styles.d.ts +2 -0
  74. package/dist/esm/v3/components/or-date-time-picker-v3/index.js +4 -2
  75. package/dist/esm/v3/components/or-time-picker-v3/OrTimePicker.vue.d.ts +183 -0
  76. package/dist/esm/v3/components/or-time-picker-v3/index.d.ts +2 -0
  77. package/dist/esm/v3/components/or-time-picker-v3/index.js +25 -0
  78. package/dist/esm/v3/components/or-time-picker-v3/props.d.ts +1 -0
  79. package/dist/esm/v3/components/or-time-picker-v3/styles.d.ts +2 -0
  80. package/dist/esm/v3/index.js +7 -2
  81. package/package.json +2 -2
  82. package/src/components/index.ts +2 -0
  83. package/src/components/or-date-picker-v3/OrDatePicker.docs.mdx +7 -0
  84. package/src/components/or-date-picker-v3/OrDatePicker.stories3.ts +160 -0
  85. package/src/components/or-date-picker-v3/OrDatePicker.vue +308 -0
  86. package/src/components/or-date-picker-v3/index.ts +2 -0
  87. package/src/components/or-date-picker-v3/props.ts +1 -0
  88. package/src/components/or-date-picker-v3/styles.ts +12 -0
  89. package/src/components/or-date-time-picker-v3/OrDateTimePicker.vue +0 -34
  90. package/src/components/or-time-picker-v3/OrTimePicker.docs.mdx +7 -0
  91. package/src/components/or-time-picker-v3/OrTimePicker.stories3.ts +160 -0
  92. package/src/components/or-time-picker-v3/OrTimePicker.vue +302 -0
  93. package/src/components/or-time-picker-v3/index.ts +2 -0
  94. package/src/components/or-time-picker-v3/props.ts +1 -0
  95. package/src/components/or-time-picker-v3/styles.ts +12 -0
  96. package/dist/bundled/v2/OrDateTimePicker-5a379f88.js +0 -1245
  97. package/dist/bundled/v3/OrDateTimePicker.vue_vue_type_script_lang-77c42110.js +0 -855
  98. package/dist/esm/v2/OrDateTimePicker-9b277e74.js +0 -1238
  99. package/dist/esm/v3/OrDateTimePicker-46b452b3.js +0 -1021
@@ -0,0 +1,308 @@
1
+ <template>
2
+ <div
3
+ ref="root"
4
+ :class="rootStyles"
5
+ >
6
+ <template v-if="label">
7
+ <OrLabel
8
+ :control-id="controlAttributes.id"
9
+ :variant="'input'"
10
+ :required="required"
11
+ :disabled="disabled"
12
+ >
13
+ {{ label }}
14
+
15
+ <template v-slot:addon>
16
+ <slot name="addon" />
17
+ </template>
18
+ </OrLabel>
19
+ </template>
20
+
21
+ <OrInputBox
22
+ v-dropdown-open="togglePopover"
23
+ v-dropdown-close="closePopover"
24
+ :variant="disableDefaultStyles ? 'unstyled' : 'styled'"
25
+ :size="size"
26
+ :invalid="!!error"
27
+ :readonly="readonly"
28
+ :disabled="disabled"
29
+ >
30
+ <div
31
+ ref="control"
32
+ v-dropdown-open="togglePopover"
33
+ v-dropdown-close="closePopover"
34
+ v-bind="controlAttributes"
35
+ :class="controlStyles"
36
+ :contenteditable="true"
37
+ :required="required"
38
+ :readonly="readonly"
39
+ :disabled="disabled"
40
+ >
41
+ {{ formatDate(proxyModelValue) }}
42
+ </div>
43
+
44
+ <OrPopover
45
+ ref="popover"
46
+ :variant="'auto'"
47
+ :trigger="control"
48
+ :placement="'bottom'"
49
+ >
50
+ <OrDateTimePickerPopoverHeader>
51
+ <OrDateTimePickerMobileControl label="Date">
52
+ {{ formatDateAlt(draftModelValue) }}
53
+ </OrDateTimePickerMobileControl>
54
+ </OrDateTimePickerPopoverHeader>
55
+
56
+ <OrDateTimePickerMonthSelect
57
+ v-model="draftModelValue"
58
+ :filter="filter"
59
+ />
60
+ <OrDateTimePickerDaySelect
61
+ v-model="draftModelValue"
62
+ :filter="filter"
63
+ />
64
+
65
+ <OrDateTimePickerPopoverFooter
66
+ @resolve="proxyModelValue = draftModelValue; popover.close()"
67
+ @reject="draftModelValue = proxyModelValue; popover.close()"
68
+ />
69
+ </OrPopover>
70
+
71
+ <div :class="['grow']" />
72
+
73
+ <div :class="['layout-inline-row']">
74
+ <template v-if="modelValue">
75
+ <OrIconButton
76
+ :icon="'close'"
77
+ :color="'inherit'"
78
+ :disabled="readonly || disabled"
79
+ @click.stop="$emit('update:modelValue', undefined)"
80
+ />
81
+ </template>
82
+ </div>
83
+ </OrInputBox>
84
+
85
+ <template v-if="!error">
86
+ <template v-if="hint">
87
+ <OrHint :disabled="disabled">
88
+ {{ hint }}
89
+ </OrHint>
90
+ </template>
91
+ </template>
92
+
93
+ <template v-if="typeof error === 'string'">
94
+ <OrError :disabled="disabled">
95
+ {{ error }}
96
+ </OrError>
97
+ </template>
98
+ </div>
99
+ </template>
100
+
101
+ <script lang="ts">
102
+ import { computed, defineComponent, PropType, reactive, ref, watch } from 'vue-demi';
103
+ import { DropdownClose, DropdownOpen } from '../../directives';
104
+ import { useControlAttributes, useIdAttribute, useValidationAttributes } from '../../hooks';
105
+ import OrDateTimePickerDaySelect from '../or-date-time-picker-v3/partials/or-date-time-picker-day-select/OrDateTimePickerDaySelect.vue';
106
+ import OrDateTimePickerMobileControl from '../or-date-time-picker-v3/partials/or-date-time-picker-mobile-control/OrDateTimePickerMobileControl.vue';
107
+ import OrDateTimePickerMonthSelect from '../or-date-time-picker-v3/partials/or-date-time-picker-month-select/OrDateTimePickerMonthSelect.vue';
108
+ import OrDateTimePickerPopoverFooter from '../or-date-time-picker-v3/partials/or-date-time-picker-popover-footer/OrDateTimePickerPopoverFooter.vue';
109
+ import OrDateTimePickerPopoverHeader from '../or-date-time-picker-v3/partials/or-date-time-picker-popover-header/OrDateTimePickerPopoverHeader.vue';
110
+ import { OrErrorV3 as OrError } from '../or-error-v3';
111
+ import { OrHintV3 as OrHint } from '../or-hint-v3';
112
+ import { OrIconButtonV3 as OrIconButton } from '../or-icon-button-v3';
113
+ import { OrInputBoxV3 as OrInputBox } from '../or-input-box-v3';
114
+ import { OrLabelV3 as OrLabel } from '../or-label-v3';
115
+ import { OrPopoverV3 as OrPopover } from '../or-popover-v3';
116
+ import { DatePickerSize } from './props';
117
+ import { DatePicker, DatePickerControl } from './styles';
118
+
119
+ export default defineComponent({
120
+ name: 'OrDatePicker',
121
+
122
+ components: {
123
+ OrDateTimePickerDaySelect,
124
+ OrDateTimePickerMobileControl,
125
+ OrDateTimePickerMonthSelect,
126
+ OrDateTimePickerPopoverFooter,
127
+ OrDateTimePickerPopoverHeader,
128
+ OrError,
129
+ OrHint,
130
+ OrIconButton,
131
+ OrInputBox,
132
+ OrLabel,
133
+ OrPopover,
134
+ },
135
+
136
+ directives: {
137
+ DropdownClose,
138
+ DropdownOpen,
139
+ },
140
+
141
+ model: {
142
+ prop: 'modelValue',
143
+ event: 'update:modelValue',
144
+ },
145
+
146
+ props: {
147
+ modelValue: {
148
+ type: Date,
149
+ default: undefined,
150
+ },
151
+
152
+ filter: {
153
+ type: Function as PropType<(value: Date) => boolean>,
154
+ default: undefined,
155
+ },
156
+
157
+ size: {
158
+ type: String as PropType<DatePickerSize>,
159
+ default: DatePickerSize.M,
160
+ },
161
+
162
+ label: {
163
+ type: String,
164
+ default: undefined,
165
+ },
166
+
167
+ hint: {
168
+ type: String,
169
+ default: undefined,
170
+ },
171
+
172
+ error: {
173
+ type: [String, Boolean],
174
+ default: undefined,
175
+ },
176
+
177
+ required: {
178
+ type: Boolean,
179
+ default: false,
180
+ },
181
+
182
+ readonly: {
183
+ type: Boolean,
184
+ default: false,
185
+ },
186
+
187
+ disabled: {
188
+ type: Boolean,
189
+ default: false,
190
+ },
191
+
192
+ disableDefaultStyles: {
193
+ type: Boolean,
194
+ default: false,
195
+ },
196
+ },
197
+
198
+ emits: [
199
+ 'update:modelValue',
200
+
201
+ 'keydown',
202
+ 'keyup',
203
+ 'focus',
204
+ 'blur',
205
+ ],
206
+
207
+ expose: [
208
+ 'root',
209
+
210
+ 'focus',
211
+ 'blur',
212
+ ],
213
+
214
+ setup(props, context) {
215
+ // Refs
216
+ const root = ref<HTMLElement>();
217
+
218
+ const control = ref<HTMLInputElement>();
219
+
220
+ const popover = ref<InstanceType<typeof OrPopover>>();
221
+ const popoverState = computed(() => popover.value?.state);
222
+
223
+ // Styles
224
+ const rootStyles = computed(() => [
225
+ 'or-date-picker',
226
+ ...DatePicker,
227
+ ]);
228
+
229
+ const controlStyles = computed(() => [
230
+ ...DatePickerControl,
231
+ ]);
232
+
233
+ // State
234
+ const controlAttributes = reactive({
235
+ id: useIdAttribute(),
236
+ ...useControlAttributes(),
237
+ ...useValidationAttributes(),
238
+ });
239
+
240
+ const proxyModelValue = computed({
241
+ get: () => props.modelValue,
242
+
243
+ set: (value) => {
244
+ context.emit('update:modelValue', value);
245
+ },
246
+ });
247
+
248
+ const draftModelValue = ref<Date>();
249
+
250
+ watch(proxyModelValue, (value) => {
251
+ draftModelValue.value = value;
252
+ }, { immediate: true });
253
+
254
+ // Methods
255
+ function togglePopover(): void {
256
+ if (!props.readonly && !props.disabled) {
257
+ const popoverInstance = popover.value;
258
+
259
+ if (popoverInstance) {
260
+ if (popoverState.value === 'open') {
261
+ (popoverInstance.close as () => void)();
262
+ } else {
263
+ (popoverInstance.open as () => void)();
264
+ }
265
+ }
266
+ }
267
+ }
268
+
269
+ function closePopover(): void {
270
+ const popoverInstance = popover.value;
271
+
272
+ if (popoverInstance) {
273
+ (popoverInstance.close as () => void)();
274
+ }
275
+ }
276
+
277
+ function formatDate(value?: Date): string {
278
+ return value?.toLocaleString('default', {
279
+ dateStyle: 'short',
280
+ timeZone: 'UTC',
281
+ }) ?? '--';
282
+ }
283
+
284
+ function formatDateAlt(value?: Date): string {
285
+ return value?.toLocaleString('default', {
286
+ dateStyle: 'medium',
287
+ timeZone: 'UTC',
288
+ }) ?? '--';
289
+ }
290
+
291
+ return {
292
+ root,
293
+ control,
294
+ popover,
295
+ popoverState,
296
+ rootStyles,
297
+ controlStyles,
298
+ controlAttributes,
299
+ proxyModelValue,
300
+ draftModelValue,
301
+ togglePopover,
302
+ closePopover,
303
+ formatDate,
304
+ formatDateAlt,
305
+ };
306
+ },
307
+ });
308
+ </script>
@@ -0,0 +1,2 @@
1
+ export { default as OrDatePickerV3 } from './OrDatePicker.vue';
2
+ export * from './props';
@@ -0,0 +1 @@
1
+ export { InputBoxSize as DatePickerSize } from '../or-input-box-v3';
@@ -0,0 +1,12 @@
1
+ export const DatePicker: string[] = [
2
+ // Layout
3
+ 'layout-column',
4
+
5
+ // Spacing
6
+ 'gap-xs',
7
+ ];
8
+
9
+ export const DatePickerControl: string[] = [
10
+ // Layout
11
+ 'layout-inline-row justify-center',
12
+ ];
@@ -27,32 +27,6 @@
27
27
  :readonly="readonly"
28
28
  :disabled="disabled"
29
29
  >
30
- <!-- <input
31
- ref="dateControl"
32
- v-dropdown-open="toggleDatePopover"
33
- v-dropdown-close="closeDatePopover"
34
- v-bind="controlAttributes"
35
- :class="controlStyles"
36
- :type="'text'"
37
- :value="formatDate(proxyModelValue)"
38
- :required="required"
39
- :readonly="readonly"
40
- :disabled="disabled"
41
- > -->
42
-
43
- <!-- <input
44
- ref="timeControl"
45
- v-dropdown-open="toggleTimePopover"
46
- v-dropdown-close="closeTimePopover"
47
- v-bind="controlAttributes"
48
- :class="controlStyles"
49
- :type="'text'"
50
- :value="formatTime(proxyModelValue)"
51
- :required="required"
52
- :readonly="readonly"
53
- :disabled="disabled"
54
- > -->
55
-
56
30
  <div
57
31
  ref="dateControl"
58
32
  v-dropdown-open="toggleDatePopover"
@@ -426,11 +400,3 @@ export default defineComponent({
426
400
  },
427
401
  });
428
402
  </script>
429
-
430
- <style scoped>
431
- input {
432
- min-width: 0;
433
- background: none;
434
- outline: none;
435
- }
436
- </style>
@@ -0,0 +1,7 @@
1
+ import { DocsPage } from '@storybook/addon-docs';
2
+
3
+ ```ts
4
+ import { OrTimePickerV3 as OrTimePicker } from '@onereach/ui-components';
5
+ ```
6
+
7
+ <DocsPage />
@@ -0,0 +1,160 @@
1
+ import { action } from '@storybook/addon-actions';
2
+ import { Meta, StoryFn } from '@storybook/vue3';
3
+ import * as Faker from 'faker';
4
+ import { ref, watch } from 'vue-demi';
5
+ import { OrIconV3 as OrIcon } from '../or-icon-v3';
6
+ import OrTimePickerDocs from './OrTimePicker.docs.mdx';
7
+ import OrTimePicker from './OrTimePicker.vue';
8
+ import { TimePickerSize } from './props';
9
+
10
+ export default {
11
+ title: 'Components/Forms/Time Picker',
12
+ component: OrTimePicker,
13
+
14
+ argTypes: {
15
+ // Slots
16
+ addon: {
17
+ type: {
18
+ name: 'string',
19
+ required: false,
20
+ },
21
+
22
+ control: { type: 'text' },
23
+ },
24
+
25
+ // Props
26
+ modelValue: {
27
+ control: { type: 'text' },
28
+ },
29
+
30
+ filter: {
31
+ table: { disable: true },
32
+ },
33
+
34
+ size: {
35
+ control: { type: 'select' },
36
+ options: Object.values(TimePickerSize),
37
+ },
38
+
39
+ label: {
40
+ control: { type: 'text' },
41
+ },
42
+
43
+ hint: {
44
+ control: { type: 'text' },
45
+ },
46
+
47
+ error: {
48
+ control: { type: 'text' },
49
+ },
50
+
51
+ required: {
52
+ control: { type: 'boolean' },
53
+ },
54
+
55
+ readonly: {
56
+ control: { type: 'boolean' },
57
+ },
58
+
59
+ disabled: {
60
+ control: { type: 'boolean' },
61
+ },
62
+
63
+ disableDefaultStyles: {
64
+ control: { type: 'boolean' },
65
+ },
66
+
67
+ // Events
68
+ 'update:modelValue': {
69
+ table: { disable: true },
70
+ },
71
+
72
+ input: {
73
+ table: { disable: true },
74
+ },
75
+
76
+ keydown: {
77
+ table: { disable: true },
78
+ },
79
+
80
+ keyup: {
81
+ table: { disable: true },
82
+ },
83
+
84
+ focus: {
85
+ table: { disable: true },
86
+ },
87
+
88
+ blur: {
89
+ table: { disable: true },
90
+ },
91
+ },
92
+
93
+ parameters: {
94
+ layout: 'centered',
95
+
96
+ docs: {
97
+ page: OrTimePickerDocs,
98
+ },
99
+
100
+ design: {
101
+ type: 'figma',
102
+ url: 'https://www.figma.com/file/o7DdkaznUW2PtX4wiSuhhQ/Core?node-id=3161-14394&t=fEpVdGUcSv9iaRfM-0',
103
+ },
104
+ },
105
+ } as Meta<typeof OrTimePicker>;
106
+
107
+ const Template: StoryFn<typeof OrTimePicker> = (args) => ({
108
+ components: {
109
+ OrIcon,
110
+ OrTimePicker,
111
+ },
112
+
113
+ setup() {
114
+ // State
115
+ const model = ref<Date>();
116
+
117
+ // Effects
118
+ watch(model, (value) => {
119
+ console.debug(value);
120
+ });
121
+
122
+ return {
123
+ args,
124
+ model,
125
+ onUpdateModelValue: action('update:modelValue'),
126
+ onKeydown: action('keydown'),
127
+ onKeyup: action('keyup'),
128
+ onFocus: action('focus'),
129
+ onBlur: action('blur'),
130
+ };
131
+ },
132
+
133
+ template: `
134
+ <OrTimePicker
135
+ v-model="model"
136
+ v-bind="args"
137
+ @update:modelValue="onUpdateModelValue"
138
+ @keydown="onKeydown"
139
+ @keyup="onKeyup"
140
+ @focus="onFocus"
141
+ @blur="onBlur"
142
+ >
143
+ <template #addon>
144
+ ${args.addon}
145
+ </template>
146
+ </OrTimePicker>
147
+ `,
148
+ });
149
+
150
+ export const Default = Template.bind({});
151
+
152
+ Default.args = {
153
+ // Slots
154
+ addon: '<OrIcon icon="info" />',
155
+
156
+ // Props
157
+ label: 'Label',
158
+ placeholder: 'Placeholder',
159
+ hint: Faker.lorem.sentence(20),
160
+ };