@onereach/ui-components 20.2.0-beta.5208.0 → 20.2.0-beta.5212.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 (75) hide show
  1. package/dist/esm/components/{OrAutocompleteV3-508d99c0.js → OrAutocompleteV3-fd7065f1.js} +29 -29
  2. package/dist/esm/components/OrDateTimePickerV3-3c2fd488.js +1506 -0
  3. package/dist/esm/components/{OrEditorTabsV3-4047a163.js → OrEditorTabsV3-152c10c5.js} +1 -1
  4. package/dist/esm/components/{OrInlineInputV3-46210775.js → OrInlineInputV3-34103682.js} +1 -1
  5. package/dist/esm/components/index.js +5 -5
  6. package/dist/esm/components/or-autocomplete-v3/index.js +2 -2
  7. package/dist/esm/components/or-avatar-v3/index.js +2 -2
  8. package/dist/esm/components/or-bottom-sheet-v3/index.js +2 -2
  9. package/dist/esm/components/or-button-group-v3/index.js +2 -2
  10. package/dist/esm/components/or-button-v3/index.js +2 -2
  11. package/dist/esm/components/or-card-collection-v3/index.js +2 -2
  12. package/dist/esm/components/or-checkbox-group-v3/index.js +2 -2
  13. package/dist/esm/components/or-checkbox-tree-v3/index.js +2 -2
  14. package/dist/esm/components/or-checkbox-v3/index.js +2 -2
  15. package/dist/esm/components/or-code-v3/index.js +2 -2
  16. package/dist/esm/components/or-confirm-v3/index.js +2 -2
  17. package/dist/esm/components/or-context-menu-v3/index.js +2 -2
  18. package/dist/esm/components/or-data-grid-v3/index.js +4 -4
  19. package/dist/esm/components/or-date-format-v3/index.js +3 -3
  20. package/dist/esm/components/or-date-picker-v3/index.js +3 -3
  21. package/dist/esm/components/or-date-range-picker-v3/index.js +3 -3
  22. package/dist/esm/components/or-date-time-format-v3/index.js +4 -4
  23. package/dist/esm/components/or-date-time-picker-v3/index.js +19 -1510
  24. package/dist/esm/components/or-drawer-v3/index.js +2 -2
  25. package/dist/esm/components/or-drop-area-v3/index.js +2 -2
  26. package/dist/esm/components/or-editor-tabs-v3/index.js +3 -3
  27. package/dist/esm/components/or-expansion-panel-v3/index.js +2 -2
  28. package/dist/esm/components/or-fab-v3/index.js +2 -2
  29. package/dist/esm/components/or-filter-popover-v3/index.js +2 -2
  30. package/dist/esm/components/or-filter-trigger-v3/index.js +2 -2
  31. package/dist/esm/components/or-filter-v3/index.js +2 -2
  32. package/dist/esm/components/or-icon-button-v3/index.js +2 -2
  33. package/dist/esm/components/or-inline-input-v3/index.js +2 -2
  34. package/dist/esm/components/or-inline-textarea-v3/index.js +2 -2
  35. package/dist/esm/components/or-input-v3/index.js +2 -2
  36. package/dist/esm/components/or-list-v3/index.js +2 -2
  37. package/dist/esm/components/or-menu-item-v3/index.js +2 -2
  38. package/dist/esm/components/or-menu-v3/index.js +2 -2
  39. package/dist/esm/components/or-modal-v3/index.js +2 -2
  40. package/dist/esm/components/or-notification-v3/index.js +2 -2
  41. package/dist/esm/components/or-overlay-v3/index.js +2 -2
  42. package/dist/esm/components/or-pagination-v3/index.js +2 -2
  43. package/dist/esm/components/or-popover-v3/index.js +2 -2
  44. package/dist/esm/components/or-progress-v3/index.js +2 -2
  45. package/dist/esm/components/or-radio-group-v3/index.js +2 -2
  46. package/dist/esm/components/or-radio-v3/index.js +2 -2
  47. package/dist/esm/components/or-range-slider-v3/index.js +2 -2
  48. package/dist/esm/components/or-rating-v3/index.js +2 -2
  49. package/dist/esm/components/or-resizeable-panel-v3/index.js +2 -2
  50. package/dist/esm/components/or-rich-text-editor-v3/index.js +2 -2
  51. package/dist/esm/components/or-rich-tooltip-v3/index.js +2 -2
  52. package/dist/esm/components/or-search-v3/index.js +2 -2
  53. package/dist/esm/components/or-segmented-control-v3/index.js +2 -2
  54. package/dist/esm/components/or-select-v3/index.js +3 -3
  55. package/dist/esm/components/or-sidebar-v3/index.js +2 -2
  56. package/dist/esm/components/or-skeleton-v3/index.js +2 -2
  57. package/dist/esm/components/or-slider-v3/index.js +2 -2
  58. package/dist/esm/components/or-sorting-v3/index.js +2 -2
  59. package/dist/esm/components/or-switch-v3/index.js +2 -2
  60. package/dist/esm/components/or-tabs-v3/OrTabs.vue.d.ts +10 -1
  61. package/dist/esm/components/or-tabs-v3/index.js +26 -7
  62. package/dist/esm/components/or-tabs-v3/props.d.ts +5 -0
  63. package/dist/esm/components/or-tabs-v3/styles.d.ts +2 -1
  64. package/dist/esm/components/or-tag-input-v3/index.js +2 -2
  65. package/dist/esm/components/or-tag-v3/index.js +2 -2
  66. package/dist/esm/components/or-tags-v3/index.js +2 -2
  67. package/dist/esm/components/or-textarea-v3/index.js +2 -2
  68. package/dist/esm/components/or-time-format-v3/index.js +4 -4
  69. package/dist/esm/components/or-time-picker-v3/index.js +4 -4
  70. package/dist/esm/components/or-time-range-picker-v3/index.js +4 -4
  71. package/dist/esm/components/or-toast-v3/index.js +2 -2
  72. package/dist/esm/components/or-tooltip-v3/index.js +2 -2
  73. package/dist/esm/components/or-tree-v3/index.js +2 -2
  74. package/dist/esm/index.js +5 -5
  75. package/package.json +3 -3
@@ -1,1522 +1,31 @@
1
- import { defineComponent, ref, computed, toRef, openBlock, createElementBlock, normalizeClass, withModifiers, Fragment, createTextVNode, toDisplayString, resolveComponent, createElementVNode, renderList, createBlock, withCtx, createVNode, renderSlot, watch, nextTick, createCommentVNode, resolveDirective, withDirectives, vShow } from 'vue';
2
- import { h, r as re, J, j as se, s, g as c, G, o as oe, f as X } from '../OrAutocompleteV3-508d99c0.js';
3
- import { OrButtonV3 as script$9 } from '../or-button-v3/index.js';
4
- import { OrLabelV3 as script$a } from '../or-label-v3/index.js';
5
- import { OrIconV3 as script$b } from '../or-icon-v3/index.js';
6
- import { OrIconButtonV3 as script$c } from '../or-icon-button-v3/index.js';
7
- import { OrMenuV3 as script$d } from '../or-menu-v3/index.js';
8
- import { OrMenuItemV3 as script$e } from '../or-menu-item-v3/index.js';
9
- import { OrErrorV3 as script$f } from '../or-error-v3/index.js';
10
- import { OrHintV3 as script$g } from '../or-hint-v3/index.js';
11
- import { OrInputBoxV3 as script$h, InputBoxVariant } from '../or-input-box-v3/index.js';
12
- import { OrPopoverV3 as script$i } from '../or-popover-v3/index.js';
1
+ export { a as OrDateTimePickerDateControl, b as OrDateTimePickerDateSelect, c as OrDateTimePickerMobileControl, d as OrDateTimePickerMonthSelect, e as OrDateTimePickerPopoverFooter, g as OrDateTimePickerPopoverHeader, l as OrDateTimePickerTimeControl, m as OrDateTimePickerTimeSelect, s as OrDateTimePickerV3, f as formatDate, i as formatMobileDate, n as formatMobileTime, k as formatTime, h as getCurrentDate, j as getNextMonthDate, o as scrollToElementWithinContainer } from '../OrDateTimePickerV3-3c2fd488.js';
2
+ import 'vue';
3
+ import '../OrAutocompleteV3-fd7065f1.js';
13
4
  import '@vueuse/core';
14
5
  import '@onereach/styles/screens.json';
15
6
  import '@onereach/styles/tailwind.config.json';
16
7
  import 'lodash/get';
17
8
  import 'lodash/isElement';
9
+ import '../or-error-v3/index.js';
10
+ import '../or-hint-v3/index.js';
11
+ import '../or-icon-button-v3/index.js';
12
+ import '../or-icon-v3/index.js';
13
+ import '../or-tooltip-v3/index.js';
14
+ import '../or-popover-v3/index.js';
15
+ import '@floating-ui/dom';
16
+ import '../or-bottom-sheet-v3/index.js';
17
+ import '../or-overlay-v3/index.js';
18
+ import '../or-teleport-v3/index.js';
19
+ import '../or-input-box-v3/index.js';
18
20
  import '../or-input-v3/index.js';
19
- import '../OrInlineInputV3-46210775.js';
21
+ import '../OrInlineInputV3-34103682.js';
20
22
  import '../or-inline-input-box-v3/index.js';
21
23
  import '../or-text-v3/index.js';
24
+ import '../or-label-v3/index.js';
22
25
  import '../or-loader-v3/index.js';
26
+ import '../or-menu-item-v3/index.js';
23
27
  import '../or-tag-input-v3/index.js';
24
28
  import '../or-tags-v3/index.js';
29
+ import '../or-button-v3/index.js';
25
30
  import '../or-tag-v3/index.js';
26
- import '../or-tooltip-v3/index.js';
27
- import '@floating-ui/dom';
28
- import '../or-bottom-sheet-v3/index.js';
29
- import '../or-overlay-v3/index.js';
30
- import '../or-teleport-v3/index.js';
31
-
32
- const formatDate = (value, format, locale) => {
33
- if (typeof format === 'function') {
34
- return format(value, locale);
35
- }
36
- return value.toLocaleString(locale, {
37
- dateStyle: format,
38
- timeZone: 'UTC'
39
- });
40
- };
41
-
42
- const formatMobileDate = (value, format, locale) => {
43
- return value.toLocaleString(locale, {
44
- dateStyle: 'medium',
45
- timeZone: 'UTC'
46
- });
47
- };
48
-
49
- const formatMobileTime = (value, format, locale) => {
50
- return value.toLocaleString(locale, {
51
- timeStyle: 'short',
52
- hourCycle: typeof format !== 'function' && format !== h.Auto ? format : undefined,
53
- timeZone: 'UTC'
54
- });
55
- };
56
-
57
- const formatTime = (value, format, locale) => {
58
- if (typeof format === 'function') {
59
- return format(value, locale);
60
- }
61
- return value.toLocaleString(locale, {
62
- timeStyle: 'short',
63
- hourCycle: format !== h.Auto ? format : undefined,
64
- timeZone: 'UTC'
65
- });
66
- };
67
-
68
- const getCurrentDate = () => {
69
- const currentDate = new Date();
70
- return new Date(Date.UTC(currentDate.getUTCFullYear(), currentDate.getUTCMonth(), currentDate.getUTCDate()));
71
- };
72
-
73
- const getNextMonthDate = () => {
74
- const currentDate = new Date();
75
- return new Date(Date.UTC(currentDate.getUTCFullYear(), currentDate.getUTCMonth() + 1, currentDate.getUTCDate()));
76
- };
77
-
78
- const scrollToElementWithinContainer = (element, container) => {
79
- const elementRect = element.getBoundingClientRect();
80
- const containerRect = container.getBoundingClientRect();
81
- // Determine if the element is fully visible within the container by comparing their positions.
82
- const isFullyVisible = elementRect.top >= containerRect.top && elementRect.bottom <= containerRect.bottom;
83
- if (!isFullyVisible) {
84
- // Calculate the new scrollTop value to center the element within the container.
85
- // This involves adjusting for the height of the element and container, ensuring the element is centered.
86
- container.scrollTop = element.offsetTop - container.offsetTop - container.clientHeight / 2 + element.clientHeight / 2;
87
- }
88
- };
89
-
90
- const DateTimePickerDateControl = [
91
- // Layout
92
- 'layout-inline-row',
93
- // Interactivity
94
- 'interactivity-click',
95
- // Theme (focus)
96
- 'focus-visible:theme-border-inherit focus-visible:border-b-2', 'dark:focus-visible:theme-border-inherit-dark',
97
- // Theme (selected)
98
- 'selected:theme-border-inherit selected:border-b-2', 'dark:selected:theme-border-inherit-dark'];
99
- const DateTimePickerDateControlPlaceholder = [
100
- // Theme
101
- 'theme-foreground-outline', 'dark:theme-foreground-outline-dark'];
102
-
103
- var script$8 = defineComponent({
104
- name: 'OrDateTimePickerDateControl',
105
- model: {
106
- prop: 'modelValue',
107
- event: 'update:modelValue'
108
- },
109
- props: {
110
- modelValue: {
111
- type: undefined,
112
- default: undefined
113
- },
114
- format: {
115
- type: [String, Function],
116
- required: true
117
- },
118
- locale: {
119
- type: String,
120
- required: true
121
- },
122
- selected: {
123
- type: Boolean,
124
- default: false
125
- },
126
- required: {
127
- type: Boolean,
128
- default: false
129
- },
130
- readonly: {
131
- type: Boolean,
132
- default: false
133
- },
134
- disabled: {
135
- type: Boolean,
136
- default: false
137
- }
138
- },
139
- expose: ['root'],
140
- setup(props, context) {
141
- // Refs & Styles
142
- const root = ref();
143
- const rootStyles = computed(() => ['or-date-time-picker-date-control-v3', ...DateTimePickerDateControl]);
144
- const placeholderStyles = computed(() => [...DateTimePickerDateControlPlaceholder]);
145
- // State
146
- const model = re(toRef(props, 'modelValue'), context.emit);
147
- const placeholder = J(toRef(props, 'format'), toRef(props, 'locale'));
148
- return {
149
- root,
150
- rootStyles,
151
- placeholderStyles,
152
- model,
153
- placeholder,
154
- formatDate
155
- };
156
- }
157
- });
158
-
159
- const _hoisted_1$4 = ["contenteditable", "selected", "required", "readonly", "disabled"];
160
- const _hoisted_2$1 = ["disabled"];
161
- function render$8(_ctx, _cache, $props, $setup, $data, $options) {
162
- return openBlock(), createElementBlock("div", {
163
- ref: 'root',
164
- class: normalizeClass(_ctx.rootStyles),
165
- contenteditable: !_ctx.disabled,
166
- selected: _ctx.selected,
167
- required: _ctx.required,
168
- readonly: _ctx.readonly,
169
- disabled: _ctx.disabled,
170
- onKeydown: _cache[0] || (_cache[0] = withModifiers(() => {}, ["prevent"]))
171
- }, [_ctx.model ? (openBlock(), createElementBlock(Fragment, {
172
- key: 0
173
- }, [createTextVNode(toDisplayString(_ctx.formatDate(_ctx.model, _ctx.format, _ctx.locale)), 1 /* TEXT */)], 64 /* STABLE_FRAGMENT */)) : (openBlock(), createElementBlock("span", {
174
- key: 1,
175
- class: normalizeClass(_ctx.placeholderStyles),
176
- disabled: _ctx.disabled
177
- }, toDisplayString(_ctx.placeholder), 11 /* TEXT, CLASS, PROPS */, _hoisted_2$1))], 42 /* CLASS, PROPS, NEED_HYDRATION */, _hoisted_1$4);
178
- }
179
-
180
- script$8.render = render$8;
181
- script$8.__file = "src/components/or-date-time-picker-v3/partials/or-date-time-picker-date-control/OrDateTimePickerDateControl.vue";
182
-
183
- const DateTimePickerDateSelect = [
184
- // Layout
185
- 'layout-column',
186
- // Spacing
187
- 'px-md', 'py-md', 'gap-sm'];
188
- const DateTimePickerDateSelectButtonGroup = [
189
- // Layout
190
- 'grid content-start', 'grid-cols-7',
191
- // Box
192
- 'h-[262px]',
193
- // Spacing
194
- '-mx-[2px]', '-my-[2px]'];
195
- const DateTimePickerDateSelectButtonGroupWeekdayItem = [
196
- // Layout
197
- 'layout-row justify-center',
198
- // Interactivity
199
- 'interactivity-default',
200
- // Spacing
201
- 'mx-[2px]', 'my-[2px]', 'px-sm', 'py-sm',
202
- // Typography
203
- 'typography-caption-regular',
204
- // Theme
205
- 'theme-foreground-outline', 'dark:theme-foreground-outline-dark'];
206
- const DateTimePickerDateSelectButtonGroupDateItem = [
207
- // Box
208
- '!min-w-fit',
209
- // Spacing
210
- 'mx-[2px]', 'my-[2px]', '!px-sm', '!py-sm',
211
- // Typography
212
- 'typography-caption-regular'];
213
- const DateTimePickerDateSelectButtonGroupCurrentDateItem = [
214
- // Theme
215
- 'theme-foreground-primary', 'dark:theme-foreground-primary-dark', 'theme-outline-primary outline-1', 'dark:theme-outline-primary-dark'];
216
- const DateTimePickerDateSelectButtonGroupInRangeDateItem = [
217
- // Spacing
218
- '!mx-0', '!px-[10px]',
219
- // Shape
220
- '!rounded-0',
221
- // Theme
222
- 'theme-background-primary-translucent-2', 'dark:theme-background-primary-translucent-2-dark'];
223
-
224
- var script$7 = defineComponent({
225
- name: 'OrDateTimePickerDateSelect',
226
- components: {
227
- OrButton: script$9
228
- },
229
- model: {
230
- prop: 'modelValue',
231
- event: 'update:modelValue'
232
- },
233
- props: {
234
- modelValue: {
235
- type: undefined,
236
- default: undefined
237
- },
238
- initialValue: {
239
- type: Date,
240
- required: true
241
- },
242
- format: {
243
- type: [String, Function],
244
- required: true
245
- },
246
- locale: {
247
- type: String,
248
- required: true
249
- },
250
- dateFilter: {
251
- type: Function,
252
- default: undefined
253
- },
254
- rangeStart: {
255
- type: Date,
256
- default: undefined
257
- },
258
- rangeEnd: {
259
- type: Date,
260
- default: undefined
261
- }
262
- },
263
- emits: ['update:modelValue'],
264
- expose: ['root'],
265
- setup(props, context) {
266
- // Refs & Styles
267
- const root = ref();
268
- const rootStyles = computed(() => ['or-date-time-picker-date-select-v3', ...DateTimePickerDateSelect]);
269
- const buttonGroupStyles = computed(() => [...DateTimePickerDateSelectButtonGroup]);
270
- const buttonGroupWeekdayItemStyles = computed(() => [...DateTimePickerDateSelectButtonGroupWeekdayItem]);
271
- const buttonGroupDateItemStyles = computed(() => [...DateTimePickerDateSelectButtonGroupDateItem]);
272
- const buttonGroupCurrentDateItemStyles = computed(() => [...DateTimePickerDateSelectButtonGroupCurrentDateItem]);
273
- const buttonGroupInRangeDateItemStyles = computed(() => [...DateTimePickerDateSelectButtonGroupInRangeDateItem]);
274
- // State
275
- const model = re(toRef(props, 'modelValue'), context.emit);
276
- const dayOptions = computed(() => {
277
- const monthStartDate = new Date(Date.UTC(props.initialValue.getUTCFullYear(), props.initialValue.getUTCMonth(), 1, props.initialValue.getUTCHours(), props.initialValue.getUTCMinutes()));
278
- const monthEndDate = new Date(Date.UTC(props.initialValue.getUTCFullYear(), props.initialValue.getUTCMonth() + 1, 0, props.initialValue.getUTCHours(), props.initialValue.getUTCMinutes()));
279
- const calendarStartDate = new Date(Date.UTC(monthStartDate.getUTCFullYear(), monthStartDate.getUTCMonth(), 1 - monthStartDate.getUTCDay(), monthStartDate.getUTCHours(), monthStartDate.getUTCMinutes()));
280
- const calendarEndDate = new Date(Date.UTC(monthEndDate.getUTCFullYear(), monthEndDate.getUTCMonth() + 1, 7 - monthEndDate.getUTCDay(), monthEndDate.getUTCHours(), monthEndDate.getUTCMinutes()));
281
- return (() => {
282
- let options = [],
283
- value = calendarStartDate;
284
- while (Number(value) !== Number(calendarEndDate)) {
285
- options = [...options, value];
286
- value = new Date(Date.UTC(value.getUTCFullYear(), value.getUTCMonth(), value.getUTCDate() + 1, value.getUTCHours(), value.getUTCMinutes()));
287
- }
288
- return options;
289
- })();
290
- });
291
- const currentDate = computed(() => {
292
- const value = new Date();
293
- value.setUTCHours(props.initialValue.getUTCHours());
294
- value.setUTCMinutes(props.initialValue.getUTCMinutes());
295
- value.setUTCSeconds(props.initialValue.getUTCSeconds());
296
- value.setUTCMilliseconds(props.initialValue.getUTCMilliseconds());
297
- return value;
298
- });
299
- // Methods
300
- function formatWeekday(value) {
301
- return value.toLocaleString(props.locale, {
302
- weekday: 'short',
303
- timeZone: 'UTC'
304
- });
305
- }
306
- function formatDay(value) {
307
- return value.toLocaleString(props.locale, {
308
- day: 'numeric',
309
- timeZone: 'UTC'
310
- });
311
- }
312
- return {
313
- root,
314
- rootStyles,
315
- buttonGroupStyles,
316
- buttonGroupWeekdayItemStyles,
317
- buttonGroupDateItemStyles,
318
- buttonGroupCurrentDateItemStyles,
319
- buttonGroupInRangeDateItemStyles,
320
- model,
321
- dayOptions,
322
- currentDate,
323
- formatWeekday,
324
- formatDay
325
- };
326
- }
327
- });
328
-
329
- function render$7(_ctx, _cache, $props, $setup, $data, $options) {
330
- const _component_OrButton = resolveComponent("OrButton");
331
- return openBlock(), createElementBlock("div", {
332
- ref: 'root',
333
- class: normalizeClass(_ctx.rootStyles)
334
- }, [createElementVNode("div", {
335
- class: normalizeClass(_ctx.buttonGroupStyles)
336
- }, [(openBlock(), createElementBlock(Fragment, null, renderList(7, weekday => {
337
- return createElementVNode("div", {
338
- key: weekday,
339
- class: normalizeClass(_ctx.buttonGroupWeekdayItemStyles)
340
- }, toDisplayString(_ctx.formatWeekday(_ctx.dayOptions[weekday - 1])), 3 /* TEXT, CLASS */);
341
- }), 64 /* STABLE_FRAGMENT */)), (openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.dayOptions, value => {
342
- return openBlock(), createBlock(_component_OrButton, {
343
- key: Number(value),
344
- class: normalizeClass({
345
- [_ctx.buttonGroupDateItemStyles.join(' ')]: true,
346
- [_ctx.buttonGroupCurrentDateItemStyles.join(' ')]: Number(value) !== Number(_ctx.model) && Number(value) !== Number(_ctx.rangeStart) && Number(value) !== Number(_ctx.rangeEnd) && Number(value) === Number(_ctx.currentDate),
347
- [_ctx.buttonGroupInRangeDateItemStyles.join(' ')]: _ctx.rangeStart && Number(value) > Number(_ctx.rangeStart) && _ctx.rangeEnd && Number(value) < Number(_ctx.rangeEnd)
348
- }),
349
- variant: Number(value) === Number(_ctx.model) || _ctx.rangeStart && Number(value) === Number(_ctx.rangeStart) || _ctx.rangeEnd && Number(value) === Number(_ctx.rangeEnd) ? 'contained' : 'text',
350
- color: Number(value) === Number(_ctx.model) || _ctx.rangeStart && Number(value) === Number(_ctx.rangeStart) || _ctx.rangeEnd && Number(value) === Number(_ctx.rangeEnd) ? 'primary' : 'inherit',
351
- disabled: _ctx.dateFilter && !_ctx.dateFilter(value),
352
- onClick: withModifiers($event => _ctx.model = value, ["stop"])
353
- }, {
354
- default: withCtx(() => [createTextVNode(toDisplayString(_ctx.formatDay(value)), 1 /* TEXT */)]),
355
- _: 2 /* DYNAMIC */
356
- }, 1032 /* PROPS, DYNAMIC_SLOTS */, ["class", "variant", "color", "disabled", "onClick"]);
357
- }), 128 /* KEYED_FRAGMENT */))], 2 /* CLASS */)], 2 /* CLASS */);
358
- }
359
-
360
- script$7.render = render$7;
361
- script$7.__file = "src/components/or-date-time-picker-v3/partials/or-date-time-picker-date-select/OrDateTimePickerDateSelect.vue";
362
-
363
- const DateTimePickerMobileControl = [
364
- // Layout
365
- 'layout-column',
366
- // Interactivity
367
- 'interactivity-auto',
368
- // Spacing
369
- 'gap-xs',
370
- // Theme
371
- 'theme-foreground-outline', 'dark:theme-foreground-outline-dark',
372
- // Theme (selected)
373
- 'selected:theme-foreground-default', 'dark:selected:theme-foreground-default-dark'];
374
- const DateTimePickerMobileControlContent = [
375
- // Typography
376
- 'typography-headline-1'];
377
-
378
- var script$6 = defineComponent({
379
- name: 'OrDateTimePickerMobileControl',
380
- components: {
381
- OrLabel: script$a
382
- },
383
- props: {
384
- label: {
385
- type: String,
386
- required: true
387
- },
388
- selected: {
389
- type: Boolean,
390
- default: false
391
- }
392
- },
393
- expose: ['root'],
394
- setup() {
395
- // Refs & Styles
396
- const root = ref();
397
- const rootStyles = computed(() => ['or-date-time-picker-mobile-control-v3', ...DateTimePickerMobileControl]);
398
- const contentStyles = computed(() => [...DateTimePickerMobileControlContent]);
399
- return {
400
- root,
401
- rootStyles,
402
- contentStyles
403
- };
404
- }
405
- });
406
-
407
- const _hoisted_1$3 = ["selected"];
408
- function render$6(_ctx, _cache, $props, $setup, $data, $options) {
409
- const _component_OrLabel = resolveComponent("OrLabel");
410
- return openBlock(), createElementBlock("div", {
411
- ref: 'root',
412
- class: normalizeClass(_ctx.rootStyles),
413
- selected: _ctx.selected
414
- }, [createVNode(_component_OrLabel, null, {
415
- default: withCtx(() => [createTextVNode(toDisplayString(_ctx.label), 1 /* TEXT */)]),
416
- _: 1 /* STABLE */
417
- }), createElementVNode("div", {
418
- class: normalizeClass(_ctx.contentStyles)
419
- }, [renderSlot(_ctx.$slots, "default")], 2 /* CLASS */)], 10 /* CLASS, PROPS */, _hoisted_1$3);
420
- }
421
-
422
- script$6.render = render$6;
423
- script$6.__file = "src/components/or-date-time-picker-v3/partials/or-date-time-picker-mobile-control/OrDateTimePickerMobileControl.vue";
424
-
425
- const DateTimePickerMonthSelect = [
426
- // Layout
427
- 'layout-row justify-between',
428
- // Spacing
429
- 'px-md', 'py-md', 'gap-md'];
430
-
431
- var script$5 = defineComponent({
432
- name: 'OrDateTimePickerMonthSelect',
433
- components: {
434
- OrButton: script$9,
435
- OrIcon: script$b,
436
- OrIconButton: script$c,
437
- OrMenu: script$d,
438
- OrMenuItem: script$e
439
- },
440
- model: {
441
- prop: 'modelValue',
442
- event: 'update:modelValue'
443
- },
444
- props: {
445
- modelValue: {
446
- type: undefined,
447
- required: true
448
- },
449
- locale: {
450
- type: String,
451
- required: true
452
- },
453
- yearFilter: {
454
- type: Function,
455
- default: undefined
456
- },
457
- monthFilter: {
458
- type: Function,
459
- default: undefined
460
- }
461
- },
462
- emits: ['update:modelValue'],
463
- expose: ['root'],
464
- setup(props, context) {
465
- // Refs & Styles
466
- const root = ref();
467
- const rootStyles = computed(() => ['or-date-time-picker-month-select-v3', ...DateTimePickerMonthSelect]);
468
- const yearButton = ref();
469
- const yearButtonRoot = computed(() => {
470
- var _a;
471
- return (_a = yearButton.value) === null || _a === void 0 ? void 0 : _a.root;
472
- });
473
- const monthButton = ref();
474
- const monthButtonRoot = computed(() => {
475
- var _a;
476
- return (_a = monthButton.value) === null || _a === void 0 ? void 0 : _a.root;
477
- });
478
- const yearMenu = ref();
479
- const yearMenuState = computed(() => {
480
- var _a;
481
- return (_a = yearMenu.value) === null || _a === void 0 ? void 0 : _a.state;
482
- });
483
- const monthMenu = ref();
484
- const monthMenuState = computed(() => {
485
- var _a;
486
- return (_a = monthMenu.value) === null || _a === void 0 ? void 0 : _a.state;
487
- });
488
- // State
489
- const model = re(toRef(props, 'modelValue'), context.emit);
490
- const yearOptions = computed(() => {
491
- return Array.from({
492
- length: 11
493
- }).map((_value, index, {
494
- length
495
- }) => {
496
- const value = model.value.getUTCFullYear() - Math.floor(length / 2) + index;
497
- return new Date(Date.UTC(value, model.value.getUTCMonth(), model.value.getUTCDate(), model.value.getUTCHours(), model.value.getUTCMinutes()));
498
- });
499
- });
500
- const monthOptions = computed(() => {
501
- return Array.from({
502
- length: 12
503
- }, (_value, index) => {
504
- const value = index;
505
- return new Date(Date.UTC(model.value.getUTCFullYear(), value, model.value.getUTCDate(), model.value.getUTCHours(), model.value.getUTCMinutes()));
506
- });
507
- });
508
- // Methods
509
- function goToNextMonth() {
510
- model.value = new Date(Date.UTC(model.value.getUTCFullYear(), model.value.getUTCMonth() + 1, model.value.getUTCDate(), model.value.getUTCHours(), model.value.getUTCMinutes()));
511
- }
512
- function goToPreviousMonth() {
513
- model.value = new Date(Date.UTC(model.value.getUTCFullYear(), model.value.getUTCMonth() - 1, model.value.getUTCDate(), model.value.getUTCHours(), model.value.getUTCMinutes()));
514
- }
515
- function formatYear(value) {
516
- return value.toLocaleString(props.locale, {
517
- year: 'numeric',
518
- timeZone: 'UTC'
519
- });
520
- }
521
- function formatMonth(value) {
522
- return value.toLocaleString(props.locale, {
523
- month: 'long',
524
- timeZone: 'UTC'
525
- });
526
- }
527
- return {
528
- root,
529
- rootStyles,
530
- yearButton,
531
- yearButtonRoot,
532
- monthButton,
533
- monthButtonRoot,
534
- yearMenu,
535
- yearMenuState,
536
- monthMenu,
537
- monthMenuState,
538
- model,
539
- yearOptions,
540
- monthOptions,
541
- goToNextMonth,
542
- goToPreviousMonth,
543
- formatYear,
544
- formatMonth
545
- };
546
- }
547
- });
548
-
549
- const _hoisted_1$2 = {
550
- class: /*#__PURE__*/normalizeClass(['layout-row-reverse', 'gap-md'])
551
- };
552
- function render$5(_ctx, _cache, $props, $setup, $data, $options) {
553
- const _component_OrIconButton = resolveComponent("OrIconButton");
554
- const _component_OrIcon = resolveComponent("OrIcon");
555
- const _component_OrButton = resolveComponent("OrButton");
556
- const _component_OrMenuItem = resolveComponent("OrMenuItem");
557
- const _component_OrMenu = resolveComponent("OrMenu");
558
- return openBlock(), createElementBlock("div", {
559
- ref: 'root',
560
- class: normalizeClass(_ctx.rootStyles)
561
- }, [createVNode(_component_OrIconButton, {
562
- icon: 'chevron_left',
563
- onClick: _cache[0] || (_cache[0] = withModifiers($event => _ctx.goToPreviousMonth(), ["stop"]))
564
- }), createElementVNode("div", _hoisted_1$2, [createVNode(_component_OrButton, {
565
- ref: 'yearButton',
566
- variant: 'link',
567
- color: 'inherit',
568
- onClick: _cache[1] || (_cache[1] = withModifiers($event => {
569
- _ctx.monthMenu && _ctx.monthMenu.close();
570
- _ctx.yearMenu && _ctx.yearMenu.toggle();
571
- }, ["stop"]))
572
- }, {
573
- default: withCtx(() => [createTextVNode(toDisplayString(_ctx.formatYear(_ctx.model)) + " ", 1 /* TEXT */), createVNode(_component_OrIcon, {
574
- icon: _ctx.yearMenuState === 'open' ? 'arrow_drop_up' : 'arrow_drop_down'
575
- }, null, 8 /* PROPS */, ["icon"])]),
576
- _: 1 /* STABLE */
577
- }), createVNode(_component_OrButton, {
578
- ref: 'monthButton',
579
- variant: 'link',
580
- color: 'inherit',
581
- onClick: _cache[2] || (_cache[2] = withModifiers($event => {
582
- _ctx.yearMenu && _ctx.yearMenu.close();
583
- _ctx.monthMenu && _ctx.monthMenu.toggle();
584
- }, ["stop"]))
585
- }, {
586
- default: withCtx(() => [createTextVNode(toDisplayString(_ctx.formatMonth(_ctx.model)) + " ", 1 /* TEXT */), createVNode(_component_OrIcon, {
587
- icon: _ctx.monthMenuState === 'open' ? 'arrow_drop_up' : 'arrow_drop_down'
588
- }, null, 8 /* PROPS */, ["icon"])]),
589
- _: 1 /* STABLE */
590
- }), createVNode(_component_OrMenu, {
591
- ref: 'yearMenu',
592
- trigger: _ctx.yearButtonRoot
593
- }, {
594
- default: withCtx(() => [(openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.yearOptions, value => {
595
- return openBlock(), createBlock(_component_OrMenuItem, {
596
- key: Number(value),
597
- selected: Number(value) === Number(_ctx.model),
598
- disabled: _ctx.yearFilter && !_ctx.yearFilter(value),
599
- onClick: withModifiers($event => {
600
- _ctx.model = value;
601
- _ctx.yearMenu && _ctx.yearMenu.close();
602
- }, ["stop"])
603
- }, {
604
- default: withCtx(() => [createTextVNode(toDisplayString(_ctx.formatYear(value)), 1 /* TEXT */)]),
605
- _: 2 /* DYNAMIC */
606
- }, 1032 /* PROPS, DYNAMIC_SLOTS */, ["selected", "disabled", "onClick"]);
607
- }), 128 /* KEYED_FRAGMENT */))]),
608
- _: 1 /* STABLE */
609
- }, 8 /* PROPS */, ["trigger"]), createVNode(_component_OrMenu, {
610
- ref: 'monthMenu',
611
- trigger: _ctx.monthButtonRoot
612
- }, {
613
- default: withCtx(() => [(openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.monthOptions, value => {
614
- return openBlock(), createBlock(_component_OrMenuItem, {
615
- key: Number(value),
616
- selected: Number(value) === Number(_ctx.model),
617
- disabled: _ctx.monthFilter && !_ctx.monthFilter(value),
618
- onClick: withModifiers($event => {
619
- _ctx.model = value;
620
- _ctx.monthMenu && _ctx.monthMenu.close();
621
- }, ["stop"])
622
- }, {
623
- default: withCtx(() => [createTextVNode(toDisplayString(_ctx.formatMonth(value)), 1 /* TEXT */)]),
624
- _: 2 /* DYNAMIC */
625
- }, 1032 /* PROPS, DYNAMIC_SLOTS */, ["selected", "disabled", "onClick"]);
626
- }), 128 /* KEYED_FRAGMENT */))]),
627
- _: 1 /* STABLE */
628
- }, 8 /* PROPS */, ["trigger"])]), createVNode(_component_OrIconButton, {
629
- icon: 'chevron_right',
630
- onClick: _cache[3] || (_cache[3] = withModifiers($event => _ctx.goToNextMonth(), ["stop"]))
631
- })], 2 /* CLASS */);
632
- }
633
-
634
- script$5.render = render$5;
635
- script$5.__file = "src/components/or-date-time-picker-v3/partials/or-date-time-picker-month-select/OrDateTimePickerMonthSelect.vue";
636
-
637
- const DateTimePickerPopoverFooter = [
638
- // Layout
639
- 'layout-row-reverse',
640
- // Layout (children)
641
- 'children:grow',
642
- // Spacing
643
- 'px-md md:px-sm', 'py-md md:py-sm', 'gap-md md:gap-sm',
644
- // Theme
645
- 'theme-border-outline-variant border-t-1', 'dark:theme-border-outline-variant-dark'];
646
-
647
- var script$4 = defineComponent({
648
- name: 'OrDateTimePickerPopoverFooter',
649
- components: {
650
- OrButton: script$9
651
- },
652
- props: {
653
- disabled: {
654
- type: Boolean,
655
- default: false
656
- }
657
- },
658
- emits: ['apply', 'reset'],
659
- expose: ['root'],
660
- setup() {
661
- // Refs & Styles
662
- const root = ref();
663
- const rootStyles = computed(() => ['or-date-time-picker-popover-footer-v3', ...DateTimePickerPopoverFooter]);
664
- return {
665
- root,
666
- rootStyles
667
- };
668
- }
669
- });
670
-
671
- function render$4(_ctx, _cache, $props, $setup, $data, $options) {
672
- const _component_OrButton = resolveComponent("OrButton");
673
- return openBlock(), createElementBlock("footer", {
674
- ref: 'root',
675
- class: normalizeClass(_ctx.rootStyles)
676
- }, [createVNode(_component_OrButton, {
677
- variant: 'outlined',
678
- disabled: _ctx.disabled,
679
- onClick: _cache[0] || (_cache[0] = withModifiers($event => _ctx.$emit('apply'), ["stop"]))
680
- }, {
681
- default: withCtx(() => [createTextVNode(" Done ")]),
682
- _: 1 /* STABLE */
683
- }, 8 /* PROPS */, ["disabled"]), createVNode(_component_OrButton, {
684
- variant: 'text',
685
- onClick: _cache[1] || (_cache[1] = withModifiers($event => _ctx.$emit('reset'), ["stop"]))
686
- }, {
687
- default: withCtx(() => [createTextVNode(" Cancel ")]),
688
- _: 1 /* STABLE */
689
- })], 2 /* CLASS */);
690
- }
691
-
692
- script$4.render = render$4;
693
- script$4.__file = "src/components/or-date-time-picker-v3/partials/or-date-time-picker-popover-footer/OrDateTimePickerPopoverFooter.vue";
694
-
695
- const DateTimePickerPopoverHeader = [
696
- // Layout
697
- 'layout-row md:hidden',
698
- // Spacing
699
- 'px-md', 'py-md', 'gap-xl'];
700
-
701
- var script$3 = defineComponent({
702
- name: 'OrDateTimePickerPopoverHeader',
703
- expose: ['root'],
704
- setup() {
705
- // Refs & Styles
706
- const root = ref();
707
- const rootStyles = computed(() => ['or-date-time-picker-popover-header-v3', ...DateTimePickerPopoverHeader]);
708
- return {
709
- root,
710
- rootStyles
711
- };
712
- }
713
- });
714
-
715
- function render$3(_ctx, _cache, $props, $setup, $data, $options) {
716
- return openBlock(), createElementBlock("header", {
717
- ref: 'root',
718
- class: normalizeClass(_ctx.rootStyles)
719
- }, [renderSlot(_ctx.$slots, "default")], 2 /* CLASS */);
720
- }
721
-
722
- script$3.render = render$3;
723
- script$3.__file = "src/components/or-date-time-picker-v3/partials/or-date-time-picker-popover-header/OrDateTimePickerPopoverHeader.vue";
724
-
725
- const DateTimePickerTimeControl = [
726
- // Layout
727
- 'layout-inline-row',
728
- // Interactivity
729
- 'interactivity-click',
730
- // Theme (focus)
731
- 'focus-visible:theme-border-inherit focus-visible:border-b-2', 'dark:focus-visible:theme-border-inherit-dark',
732
- // Theme (selected)
733
- 'selected:theme-border-inherit selected:border-b-2', 'dark:selected:theme-border-inherit-dark'];
734
- const DateTimePickerTimeControlPlaceholder = [
735
- // Theme
736
- 'theme-foreground-outline', 'dark:theme-foreground-outline-dark'];
737
-
738
- var script$2 = defineComponent({
739
- name: 'OrDateTimePickerTimeControl',
740
- model: {
741
- prop: 'modelValue',
742
- event: 'update:modelValue'
743
- },
744
- props: {
745
- modelValue: {
746
- type: undefined,
747
- default: undefined
748
- },
749
- format: {
750
- type: [String, Function],
751
- required: true
752
- },
753
- locale: {
754
- type: String,
755
- required: true
756
- },
757
- selected: {
758
- type: Boolean,
759
- default: false
760
- },
761
- required: {
762
- type: Boolean,
763
- default: false
764
- },
765
- readonly: {
766
- type: Boolean,
767
- default: false
768
- },
769
- disabled: {
770
- type: Boolean,
771
- default: false
772
- }
773
- },
774
- expose: ['root'],
775
- setup(props, context) {
776
- // Refs & Styles
777
- const root = ref();
778
- const rootStyles = computed(() => ['or-date-time-picker-time-control-v3', ...DateTimePickerTimeControl]);
779
- const placeholderStyles = computed(() => [...DateTimePickerTimeControlPlaceholder]);
780
- // State
781
- const model = re(toRef(props, 'modelValue'), context.emit);
782
- const placeholder = se(toRef(props, 'format'), toRef(props, 'locale'));
783
- return {
784
- root,
785
- rootStyles,
786
- placeholderStyles,
787
- model,
788
- placeholder,
789
- formatTime
790
- };
791
- }
792
- });
793
-
794
- const _hoisted_1$1 = ["contenteditable", "selected", "required", "readonly", "disabled"];
795
- const _hoisted_2 = ["disabled"];
796
- function render$2(_ctx, _cache, $props, $setup, $data, $options) {
797
- return openBlock(), createElementBlock("div", {
798
- ref: 'root',
799
- class: normalizeClass(_ctx.rootStyles),
800
- contenteditable: !_ctx.disabled,
801
- selected: _ctx.selected,
802
- required: _ctx.required,
803
- readonly: _ctx.readonly,
804
- disabled: _ctx.disabled,
805
- onKeydown: _cache[0] || (_cache[0] = withModifiers(() => {}, ["prevent"]))
806
- }, [_ctx.model ? (openBlock(), createElementBlock(Fragment, {
807
- key: 0
808
- }, [createTextVNode(toDisplayString(_ctx.formatTime(_ctx.model, _ctx.format, _ctx.locale)), 1 /* TEXT */)], 64 /* STABLE_FRAGMENT */)) : (openBlock(), createElementBlock("span", {
809
- key: 1,
810
- class: normalizeClass(_ctx.placeholderStyles),
811
- disabled: _ctx.disabled
812
- }, toDisplayString(_ctx.placeholder), 11 /* TEXT, CLASS, PROPS */, _hoisted_2))], 42 /* CLASS, PROPS, NEED_HYDRATION */, _hoisted_1$1);
813
- }
814
-
815
- script$2.render = render$2;
816
- script$2.__file = "src/components/or-date-time-picker-v3/partials/or-date-time-picker-time-control/OrDateTimePickerTimeControl.vue";
817
-
818
- const DateTimePickerTimeSelect = [
819
- // Layout
820
- 'layout-row justify-center',
821
- // Spacing
822
- 'px-md', 'py-md', 'gap-sm',
823
- // Typography
824
- 'typography-body-2-regular',
825
- // Theme
826
- 'theme-foreground-default', 'dark:theme-foreground-default-dark'];
827
- const DateTimePickerTimeSelectButtonGroup = [
828
- // Layout
829
- 'layout-column',
830
- // Box
831
- 'h-[294px] md:h-[238px]',
832
- // Overflow
833
- 'overflow-x-hidden', 'overflow-y-auto'];
834
- const DateTimePickerTimeSelectButtonGroupItem = [
835
- // Box
836
- '!min-w-fit',
837
- // Typography
838
- 'typography-caption-regular'];
839
-
840
- var script$1 = defineComponent({
841
- name: 'OrDateTimePickerTimeSelect',
842
- components: {
843
- OrButton: script$9
844
- },
845
- model: {
846
- prop: 'modelValue',
847
- event: 'update:modelValue'
848
- },
849
- props: {
850
- modelValue: {
851
- type: undefined,
852
- default: undefined
853
- },
854
- initialValue: {
855
- type: Date,
856
- required: true
857
- },
858
- format: {
859
- type: [String, Function],
860
- required: true
861
- },
862
- locale: {
863
- type: String,
864
- required: true
865
- },
866
- hoursFilter: {
867
- type: Function,
868
- default: undefined
869
- },
870
- minutesFilter: {
871
- type: Function,
872
- default: undefined
873
- },
874
- hourStep: {
875
- type: Number,
876
- default: 1
877
- },
878
- minuteStep: {
879
- type: Number,
880
- default: 1
881
- },
882
- isActive: {
883
- type: Boolean,
884
- default: false
885
- }
886
- },
887
- emits: ['update:modelValue'],
888
- expose: ['root'],
889
- setup(props, context) {
890
- var _a;
891
- // Refs & Styles
892
- const root = ref();
893
- const hoursContainer = ref();
894
- const minutesContainer = ref();
895
- const hoursButtons = ref([]);
896
- const minutesButtons = ref([]);
897
- const rootStyles = computed(() => ['or-date-time-picker-time-select-v3', ...DateTimePickerTimeSelect]);
898
- const buttonGroupStyles = computed(() => [...DateTimePickerTimeSelectButtonGroup]);
899
- const buttonGroupItemStyles = computed(() => [...DateTimePickerTimeSelectButtonGroupItem]);
900
- // State
901
- const model = re(toRef(props, 'modelValue'), context.emit);
902
- const dayPeriod = ref(((_a = model.value) !== null && _a !== void 0 ? _a : props.initialValue).getUTCHours() < 12 ? 'am' : 'pm');
903
- // Effects
904
- watch(dayPeriod, value => {
905
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
906
- switch (value) {
907
- case 'am':
908
- model.value = new Date(Date.UTC(((_a = model.value) !== null && _a !== void 0 ? _a : props.initialValue).getUTCFullYear(), ((_b = model.value) !== null && _b !== void 0 ? _b : props.initialValue).getUTCMonth(), ((_c = model.value) !== null && _c !== void 0 ? _c : props.initialValue).getUTCDate(), ((_d = model.value) !== null && _d !== void 0 ? _d : props.initialValue).getUTCHours() - 12, ((_e = model.value) !== null && _e !== void 0 ? _e : props.initialValue).getUTCMinutes()));
909
- break;
910
- case 'pm':
911
- model.value = new Date(Date.UTC(((_f = model.value) !== null && _f !== void 0 ? _f : props.initialValue).getUTCFullYear(), ((_g = model.value) !== null && _g !== void 0 ? _g : props.initialValue).getUTCMonth(), ((_h = model.value) !== null && _h !== void 0 ? _h : props.initialValue).getUTCDate(), ((_j = model.value) !== null && _j !== void 0 ? _j : props.initialValue).getUTCHours() + 12, ((_k = model.value) !== null && _k !== void 0 ? _k : props.initialValue).getUTCMinutes()));
912
- break;
913
- }
914
- });
915
- watch(() => props.isActive, isActive => {
916
- // Wait for the next DOM update cycle to ensure all refs are correctly updated.
917
- nextTick(() => {
918
- if (!isActive || !model.value) {
919
- return;
920
- }
921
- const activeHourButton = getActiveButton(hoursButtons.value, hoursOptions.value);
922
- const activeMinuteButton = getActiveButton(minutesButtons.value, minutesOptions.value);
923
- if (activeHourButton && hoursContainer.value) {
924
- // scroll to the active hour button within the hours container.
925
- scrollToElementWithinContainer(activeHourButton, hoursContainer.value);
926
- }
927
- if (activeMinuteButton && minutesContainer.value) {
928
- // scroll to the active minute button within the minutes container.
929
- scrollToElementWithinContainer(activeMinuteButton, minutesContainer.value);
930
- }
931
- });
932
- }, {
933
- immediate: true
934
- });
935
- // Computed
936
- const proxyTimeFormat = computed(() => {
937
- if (typeof props.format === 'function' || props.format === h.Auto) {
938
- const timeSample = new Date(1970, 0);
939
- if (timeSample.toLocaleTimeString(props.locale).includes('12')) {
940
- return h.H12;
941
- }
942
- return h.H23;
943
- }
944
- return props.format;
945
- });
946
- const hoursOptions = computed(() => {
947
- const hourStep = props.hourStep > 0 ? props.hourStep : 1;
948
- return Array.from({
949
- length: Math.ceil(24 / hourStep)
950
- }, (_value, index) => {
951
- var _a, _b, _c, _d;
952
- const value = index * hourStep;
953
- return new Date(Date.UTC(((_a = model.value) !== null && _a !== void 0 ? _a : props.initialValue).getUTCFullYear(), ((_b = model.value) !== null && _b !== void 0 ? _b : props.initialValue).getUTCMonth(), ((_c = model.value) !== null && _c !== void 0 ? _c : props.initialValue).getUTCDate(), value, ((_d = model.value) !== null && _d !== void 0 ? _d : props.initialValue).getUTCMinutes()));
954
- }).filter(value => {
955
- if (proxyTimeFormat.value === h.H23) {
956
- return true;
957
- }
958
- switch (dayPeriod.value) {
959
- case 'am':
960
- return value.getUTCHours() < 12;
961
- case 'pm':
962
- return value.getUTCHours() >= 12;
963
- }
964
- });
965
- });
966
- const minutesOptions = computed(() => {
967
- const minuteStep = props.minuteStep > 0 ? props.minuteStep : 1;
968
- return Array.from({
969
- length: Math.ceil(60 / minuteStep)
970
- }, (_value, index) => {
971
- var _a, _b, _c, _d;
972
- const value = index * minuteStep;
973
- return new Date(Date.UTC(((_a = model.value) !== null && _a !== void 0 ? _a : props.initialValue).getUTCFullYear(), ((_b = model.value) !== null && _b !== void 0 ? _b : props.initialValue).getUTCMonth(), ((_c = model.value) !== null && _c !== void 0 ? _c : props.initialValue).getUTCDate(), ((_d = model.value) !== null && _d !== void 0 ? _d : props.initialValue).getUTCHours(), value));
974
- });
975
- });
976
- // Methods
977
- function formatHours(value) {
978
- return value.toLocaleString(props.locale, {
979
- hour: 'numeric',
980
- hourCycle: typeof props.format !== 'function' && props.format !== h.Auto ? props.format : undefined,
981
- timeZone: 'UTC'
982
- }).replace(/\D/g, '');
983
- }
984
- function formatMinutes(value) {
985
- return String(value.getUTCMinutes()).padStart(2, '0');
986
- }
987
- function sortElementsByPosition(elements) {
988
- return [...elements].sort((a, b) => {
989
- return a.root.compareDocumentPosition(b.root) & 2 ? 1 : -1;
990
- });
991
- }
992
- function getActiveButton(buttons, options) {
993
- var _a;
994
- return (_a = sortElementsByPosition(buttons).find((button, index) => Number(model.value) === Number(options[index]))) === null || _a === void 0 ? void 0 : _a.root;
995
- }
996
- return {
997
- root,
998
- rootStyles,
999
- hoursContainer,
1000
- minutesContainer,
1001
- hoursButtons,
1002
- minutesButtons,
1003
- buttonGroupStyles,
1004
- buttonGroupItemStyles,
1005
- model,
1006
- dayPeriod,
1007
- proxyTimeFormat,
1008
- hoursOptions,
1009
- minutesOptions,
1010
- formatHours,
1011
- formatMinutes
1012
- };
1013
- }
1014
- });
1015
-
1016
- function render$1(_ctx, _cache, $props, $setup, $data, $options) {
1017
- const _component_OrButton = resolveComponent("OrButton");
1018
- return openBlock(), createElementBlock("div", {
1019
- ref: 'root',
1020
- class: normalizeClass(_ctx.rootStyles)
1021
- }, [createElementVNode("div", {
1022
- ref: 'hoursContainer',
1023
- class: normalizeClass(_ctx.buttonGroupStyles)
1024
- }, [(openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.hoursOptions, value => {
1025
- return openBlock(), createBlock(_component_OrButton, {
1026
- ref_for: true,
1027
- ref: 'hoursButtons',
1028
- key: Number(value),
1029
- class: normalizeClass(_ctx.buttonGroupItemStyles),
1030
- variant: Number(value) === Number(_ctx.model) ? 'contained' : 'text',
1031
- color: Number(value) === Number(_ctx.model) ? 'primary' : 'inherit',
1032
- disabled: _ctx.hoursFilter && !_ctx.hoursFilter(value),
1033
- onClick: withModifiers($event => _ctx.model = value, ["stop"])
1034
- }, {
1035
- default: withCtx(() => [createTextVNode(toDisplayString(_ctx.formatHours(value)), 1 /* TEXT */)]),
1036
- _: 2 /* DYNAMIC */
1037
- }, 1032 /* PROPS, DYNAMIC_SLOTS */, ["class", "variant", "color", "disabled", "onClick"]);
1038
- }), 128 /* KEYED_FRAGMENT */))], 2 /* CLASS */), createTextVNode(" : "), createElementVNode("div", {
1039
- ref: 'minutesContainer',
1040
- class: normalizeClass(_ctx.buttonGroupStyles)
1041
- }, [(openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.minutesOptions, value => {
1042
- return openBlock(), createBlock(_component_OrButton, {
1043
- ref_for: true,
1044
- ref: 'minutesButtons',
1045
- key: Number(value),
1046
- class: normalizeClass(_ctx.buttonGroupItemStyles),
1047
- variant: Number(value) === Number(_ctx.model) ? 'contained' : 'text',
1048
- color: Number(value) === Number(_ctx.model) ? 'primary' : 'inherit',
1049
- disabled: _ctx.minutesFilter && !_ctx.minutesFilter(value),
1050
- onClick: withModifiers($event => _ctx.model = value, ["stop"])
1051
- }, {
1052
- default: withCtx(() => [createTextVNode(toDisplayString(_ctx.formatMinutes(value)), 1 /* TEXT */)]),
1053
- _: 2 /* DYNAMIC */
1054
- }, 1032 /* PROPS, DYNAMIC_SLOTS */, ["class", "variant", "color", "disabled", "onClick"]);
1055
- }), 128 /* KEYED_FRAGMENT */))], 2 /* CLASS */), _ctx.proxyTimeFormat === 'h12' ? (openBlock(), createElementBlock("div", {
1056
- key: 0,
1057
- class: normalizeClass(_ctx.buttonGroupStyles)
1058
- }, [createVNode(_component_OrButton, {
1059
- class: normalizeClass(_ctx.buttonGroupItemStyles),
1060
- variant: _ctx.dayPeriod === 'am' ? 'contained' : 'text',
1061
- color: _ctx.dayPeriod === 'am' ? 'primary' : 'inherit',
1062
- onClick: _cache[0] || (_cache[0] = withModifiers($event => _ctx.dayPeriod = 'am', ["stop"]))
1063
- }, {
1064
- default: withCtx(() => [createTextVNode(" AM ")]),
1065
- _: 1 /* STABLE */
1066
- }, 8 /* PROPS */, ["class", "variant", "color"]), createVNode(_component_OrButton, {
1067
- class: normalizeClass(_ctx.buttonGroupItemStyles),
1068
- variant: _ctx.dayPeriod === 'pm' ? 'contained' : 'text',
1069
- color: _ctx.dayPeriod === 'pm' ? 'primary' : 'inherit',
1070
- onClick: _cache[1] || (_cache[1] = withModifiers($event => _ctx.dayPeriod = 'pm', ["stop"]))
1071
- }, {
1072
- default: withCtx(() => [createTextVNode(" PM ")]),
1073
- _: 1 /* STABLE */
1074
- }, 8 /* PROPS */, ["class", "variant", "color"])], 2 /* CLASS */)) : createCommentVNode("v-if", true)], 2 /* CLASS */);
1075
- }
1076
-
1077
- script$1.render = render$1;
1078
- script$1.__file = "src/components/or-date-time-picker-v3/partials/or-date-time-picker-time-select/OrDateTimePickerTimeSelect.vue";
1079
-
1080
- const DateTimePicker = [
1081
- // Layout
1082
- 'layout-column',
1083
- // Spacing
1084
- 'gap-xs'];
1085
- const DateTimePickerDatePopover = [
1086
- // Box
1087
- 'w-[298px]'];
1088
- const DateTimePickerTimePopover = [];
1089
-
1090
- var script = defineComponent({
1091
- name: 'OrDateTimePicker',
1092
- components: {
1093
- OrDateTimePickerDateControl: script$8,
1094
- OrDateTimePickerDateSelect: script$7,
1095
- OrDateTimePickerMobileControl: script$6,
1096
- OrDateTimePickerMonthSelect: script$5,
1097
- OrDateTimePickerPopoverFooter: script$4,
1098
- OrDateTimePickerPopoverHeader: script$3,
1099
- OrDateTimePickerTimeControl: script$2,
1100
- OrDateTimePickerTimeSelect: script$1,
1101
- OrError: script$f,
1102
- OrHint: script$g,
1103
- OrIcon: script$b,
1104
- OrIconButton: script$c,
1105
- OrInputBox: script$h,
1106
- OrLabel: script$a,
1107
- OrPopover: script$i
1108
- },
1109
- directives: {
1110
- DropdownClose: s,
1111
- DropdownOpen: c
1112
- },
1113
- model: {
1114
- prop: 'modelValue',
1115
- event: 'update:modelValue'
1116
- },
1117
- props: {
1118
- modelValue: {
1119
- type: undefined,
1120
- default: undefined
1121
- },
1122
- dateFormat: {
1123
- type: [String, Function],
1124
- default: undefined
1125
- },
1126
- timeFormat: {
1127
- type: [String, Function],
1128
- default: undefined
1129
- },
1130
- locale: {
1131
- type: String,
1132
- default: undefined
1133
- },
1134
- yearFilter: {
1135
- type: Function,
1136
- default: undefined
1137
- },
1138
- monthFilter: {
1139
- type: Function,
1140
- default: undefined
1141
- },
1142
- dateFilter: {
1143
- type: Function,
1144
- default: undefined
1145
- },
1146
- hoursFilter: {
1147
- type: Function,
1148
- default: undefined
1149
- },
1150
- minutesFilter: {
1151
- type: Function,
1152
- default: undefined
1153
- },
1154
- hourStep: {
1155
- type: Number,
1156
- default: 1
1157
- },
1158
- minuteStep: {
1159
- type: Number,
1160
- default: 1
1161
- },
1162
- variant: {
1163
- type: String,
1164
- default: undefined
1165
- },
1166
- size: {
1167
- type: String,
1168
- default: undefined
1169
- },
1170
- anchor: {
1171
- type: Object,
1172
- default: undefined
1173
- },
1174
- label: {
1175
- type: String,
1176
- default: undefined
1177
- },
1178
- hint: {
1179
- type: String,
1180
- default: undefined
1181
- },
1182
- error: {
1183
- type: [String, Boolean],
1184
- default: undefined
1185
- },
1186
- required: {
1187
- type: Boolean,
1188
- default: false
1189
- },
1190
- readonly: {
1191
- type: Boolean,
1192
- default: false
1193
- },
1194
- disabled: {
1195
- type: Boolean,
1196
- default: false
1197
- }
1198
- },
1199
- emits: ['update:modelValue', 'input', 'keydown', 'keyup', 'focus', 'blur'],
1200
- expose: ['root', 'focus', 'blur'],
1201
- setup(props, context) {
1202
- var _a;
1203
- // Refs & Styles
1204
- const root = ref();
1205
- const rootStyles = computed(() => ['or-date-time-picker-v3', ...DateTimePicker, ...(props.variant === InputBoxVariant.Embedded ? ['grow'] : [])]);
1206
- const inputBox = ref();
1207
- const inputBoxRoot = computed(() => {
1208
- var _a;
1209
- return (_a = inputBox.value) === null || _a === void 0 ? void 0 : _a.root;
1210
- });
1211
- const datePopover = ref();
1212
- const datePopoverState = computed(() => {
1213
- var _a;
1214
- return (_a = datePopover.value) === null || _a === void 0 ? void 0 : _a.state;
1215
- });
1216
- const datePopoverStyles = computed(() => ['or-date-time-picker-date-popover-v3', ...DateTimePickerDatePopover]);
1217
- const timePopover = ref();
1218
- const timePopoverState = computed(() => {
1219
- var _a;
1220
- return (_a = timePopover.value) === null || _a === void 0 ? void 0 : _a.state;
1221
- });
1222
- const timePopoverStyles = computed(() => ['or-date-time-picker-time-popover-v3', ...DateTimePickerTimePopover]);
1223
- // Options
1224
- const resolvedDateFormat = G(toRef(props, 'dateFormat'));
1225
- const resolvedTimeFormat = oe(toRef(props, 'timeFormat'));
1226
- const resolvedLocale = X(toRef(props, 'locale'));
1227
- // State
1228
- const initialValue = ref((_a = props.modelValue) !== null && _a !== void 0 ? _a : getCurrentDate());
1229
- watch(() => props.modelValue, value => {
1230
- initialValue.value = value !== null && value !== void 0 ? value : getCurrentDate();
1231
- });
1232
- const model = re(toRef(props, 'modelValue'), context.emit);
1233
- const draft = ref(model.value);
1234
- watch(model, value => {
1235
- draft.value = value;
1236
- });
1237
- const invalid = computed(() => {
1238
- if (draft.value) {
1239
- if (props.yearFilter && !props.yearFilter(draft.value)) {
1240
- return true;
1241
- }
1242
- if (props.monthFilter && !props.monthFilter(draft.value)) {
1243
- return true;
1244
- }
1245
- if (props.dateFilter && !props.dateFilter(draft.value)) {
1246
- return true;
1247
- }
1248
- if (props.hoursFilter && !props.hoursFilter(draft.value)) {
1249
- return true;
1250
- }
1251
- if (props.minutesFilter && !props.minutesFilter(draft.value)) {
1252
- return true;
1253
- }
1254
- return false;
1255
- }
1256
- return true;
1257
- });
1258
- // Methods
1259
- function apply() {
1260
- model.value = draft.value;
1261
- }
1262
- function reset() {
1263
- draft.value = model.value;
1264
- }
1265
- function toggleDatePopover() {
1266
- if (!props.readonly && !props.disabled) {
1267
- const popoverInstance = datePopover.value;
1268
- if (popoverInstance) {
1269
- if (datePopoverState.value === 'open') {
1270
- popoverInstance.close();
1271
- } else {
1272
- popoverInstance.open();
1273
- }
1274
- }
1275
- closeTimePopover();
1276
- }
1277
- }
1278
- function toggleTimePopover() {
1279
- if (!props.readonly && !props.disabled) {
1280
- const popoverInstance = timePopover.value;
1281
- if (popoverInstance) {
1282
- if (timePopoverState.value === 'open') {
1283
- popoverInstance.close();
1284
- } else {
1285
- popoverInstance.open();
1286
- }
1287
- }
1288
- closeDatePopover();
1289
- }
1290
- }
1291
- function closeDatePopover() {
1292
- const popoverInstance = datePopover.value;
1293
- if (popoverInstance) {
1294
- popoverInstance.close();
1295
- }
1296
- }
1297
- function closeTimePopover() {
1298
- const popoverInstance = timePopover.value;
1299
- if (popoverInstance) {
1300
- popoverInstance.close();
1301
- }
1302
- }
1303
- return {
1304
- root,
1305
- rootStyles,
1306
- inputBox,
1307
- inputBoxRoot,
1308
- datePopover,
1309
- datePopoverState,
1310
- datePopoverStyles,
1311
- timePopover,
1312
- timePopoverState,
1313
- timePopoverStyles,
1314
- resolvedDateFormat,
1315
- resolvedTimeFormat,
1316
- resolvedLocale,
1317
- initialValue,
1318
- model,
1319
- draft,
1320
- invalid,
1321
- apply,
1322
- reset,
1323
- toggleDatePopover,
1324
- toggleTimePopover,
1325
- closeDatePopover,
1326
- closeTimePopover,
1327
- formatMobileDate,
1328
- formatMobileTime
1329
- };
1330
- }
1331
- });
1332
-
1333
- const _hoisted_1 = /*#__PURE__*/createElementVNode("div", {
1334
- class: /*#__PURE__*/normalizeClass(['grow'])
1335
- }, null, -1 /* HOISTED */);
1336
- function render(_ctx, _cache, $props, $setup, $data, $options) {
1337
- const _component_OrLabel = resolveComponent("OrLabel");
1338
- const _component_OrDateTimePickerDateControl = resolveComponent("OrDateTimePickerDateControl");
1339
- const _component_OrDateTimePickerTimeControl = resolveComponent("OrDateTimePickerTimeControl");
1340
- const _component_OrDateTimePickerMobileControl = resolveComponent("OrDateTimePickerMobileControl");
1341
- const _component_OrDateTimePickerPopoverHeader = resolveComponent("OrDateTimePickerPopoverHeader");
1342
- const _component_OrDateTimePickerMonthSelect = resolveComponent("OrDateTimePickerMonthSelect");
1343
- const _component_OrDateTimePickerDateSelect = resolveComponent("OrDateTimePickerDateSelect");
1344
- const _component_OrDateTimePickerPopoverFooter = resolveComponent("OrDateTimePickerPopoverFooter");
1345
- const _component_OrPopover = resolveComponent("OrPopover");
1346
- const _component_OrDateTimePickerTimeSelect = resolveComponent("OrDateTimePickerTimeSelect");
1347
- const _component_OrIconButton = resolveComponent("OrIconButton");
1348
- const _component_OrIcon = resolveComponent("OrIcon");
1349
- const _component_OrInputBox = resolveComponent("OrInputBox");
1350
- const _component_OrHint = resolveComponent("OrHint");
1351
- const _component_OrError = resolveComponent("OrError");
1352
- const _directive_dropdown_open = resolveDirective("dropdown-open");
1353
- const _directive_dropdown_close = resolveDirective("dropdown-close");
1354
- return openBlock(), createElementBlock("div", {
1355
- ref: 'root',
1356
- class: normalizeClass(_ctx.rootStyles)
1357
- }, [_ctx.$slots.label || _ctx.$slots.addon || _ctx.label ? (openBlock(), createBlock(_component_OrLabel, {
1358
- key: 0,
1359
- variant: 'input',
1360
- required: _ctx.required,
1361
- disabled: _ctx.disabled
1362
- }, {
1363
- addon: withCtx(() => [renderSlot(_ctx.$slots, "addon")]),
1364
- default: withCtx(() => [renderSlot(_ctx.$slots, "label", {}, () => [createTextVNode(toDisplayString(_ctx.label), 1 /* TEXT */)])]),
1365
- _: 3 /* FORWARDED */
1366
- }, 8 /* PROPS */, ["required", "disabled"])) : createCommentVNode("v-if", true), withDirectives((openBlock(), createBlock(_component_OrInputBox, {
1367
- ref: 'inputBox',
1368
- variant: _ctx.variant,
1369
- size: _ctx.size,
1370
- invalid: !!_ctx.error,
1371
- readonly: _ctx.readonly,
1372
- disabled: _ctx.disabled
1373
- }, {
1374
- addon: withCtx(() => [_ctx.modelValue ? (openBlock(), createBlock(_component_OrIconButton, {
1375
- key: 0,
1376
- icon: 'close',
1377
- color: 'inherit',
1378
- disabled: _ctx.readonly || _ctx.disabled,
1379
- onClick: _cache[11] || (_cache[11] = withModifiers($event => _ctx.$emit('update:modelValue', undefined), ["stop"]))
1380
- }, null, 8 /* PROPS */, ["disabled"])) : (openBlock(), createBlock(_component_OrIcon, {
1381
- key: 1,
1382
- icon: 'calendar_month',
1383
- variant: 'outlined'
1384
- }))]),
1385
- default: withCtx(() => [withDirectives(createVNode(_component_OrDateTimePickerDateControl, {
1386
- modelValue: _ctx.draft,
1387
- "onUpdate:modelValue": _cache[0] || (_cache[0] = $event => _ctx.draft = $event),
1388
- format: _ctx.resolvedDateFormat,
1389
- locale: _ctx.resolvedLocale,
1390
- selected: _ctx.datePopover && _ctx.datePopover.state === 'open',
1391
- required: _ctx.required,
1392
- readonly: _ctx.readonly,
1393
- disabled: _ctx.disabled
1394
- }, null, 8 /* PROPS */, ["modelValue", "format", "locale", "selected", "required", "readonly", "disabled"]), [[_directive_dropdown_open, _ctx.toggleDatePopover], [_directive_dropdown_close, _ctx.closeDatePopover]]), withDirectives(createVNode(_component_OrDateTimePickerTimeControl, {
1395
- modelValue: _ctx.draft,
1396
- "onUpdate:modelValue": _cache[1] || (_cache[1] = $event => _ctx.draft = $event),
1397
- format: _ctx.resolvedTimeFormat,
1398
- locale: _ctx.resolvedLocale,
1399
- selected: _ctx.timePopover && _ctx.timePopover.state === 'open',
1400
- required: _ctx.required,
1401
- readonly: _ctx.readonly,
1402
- disabled: _ctx.disabled
1403
- }, null, 8 /* PROPS */, ["modelValue", "format", "locale", "selected", "required", "readonly", "disabled"]), [[_directive_dropdown_open, _ctx.toggleTimePopover], [_directive_dropdown_close, _ctx.closeTimePopover]]), createVNode(_component_OrPopover, {
1404
- ref: 'datePopover',
1405
- class: normalizeClass(_ctx.datePopoverStyles),
1406
- "custom-styles": _ctx.datePopoverStyles,
1407
- variant: 'auto',
1408
- "bottom-sheet-props": {
1409
- variant: 'basic'
1410
- },
1411
- trigger: _ctx.anchor || _ctx.inputBoxRoot,
1412
- placement: 'bottom-start',
1413
- "fallback-placement": 'start',
1414
- onClose: _cache[6] || (_cache[6] = $event => _ctx.reset())
1415
- }, {
1416
- default: withCtx(() => [createVNode(_component_OrDateTimePickerPopoverHeader, null, {
1417
- default: withCtx(() => [createVNode(_component_OrDateTimePickerMobileControl, {
1418
- label: 'Date'
1419
- }, {
1420
- default: withCtx(() => [createTextVNode(toDisplayString(_ctx.draft ? _ctx.formatMobileDate(_ctx.draft, _ctx.resolvedDateFormat, _ctx.resolvedLocale) : '--'), 1 /* TEXT */)]),
1421
- _: 1 /* STABLE */
1422
- }), createVNode(_component_OrDateTimePickerMobileControl, {
1423
- label: 'Time'
1424
- }, {
1425
- default: withCtx(() => [createTextVNode(toDisplayString(_ctx.draft ? _ctx.formatMobileTime(_ctx.draft, _ctx.resolvedTimeFormat, _ctx.resolvedLocale) : '--'), 1 /* TEXT */)]),
1426
- _: 1 /* STABLE */
1427
- })]),
1428
- _: 1 /* STABLE */
1429
- }), createVNode(_component_OrDateTimePickerMonthSelect, {
1430
- modelValue: _ctx.initialValue,
1431
- "onUpdate:modelValue": _cache[2] || (_cache[2] = $event => _ctx.initialValue = $event),
1432
- locale: _ctx.resolvedLocale,
1433
- "year-filter": _ctx.yearFilter,
1434
- "month-filter": _ctx.monthFilter
1435
- }, null, 8 /* PROPS */, ["modelValue", "locale", "year-filter", "month-filter"]), createVNode(_component_OrDateTimePickerDateSelect, {
1436
- modelValue: _ctx.draft,
1437
- "onUpdate:modelValue": _cache[3] || (_cache[3] = $event => _ctx.draft = $event),
1438
- "initial-value": _ctx.initialValue,
1439
- format: _ctx.resolvedDateFormat,
1440
- locale: _ctx.resolvedLocale,
1441
- "date-filter": _ctx.dateFilter
1442
- }, null, 8 /* PROPS */, ["modelValue", "initial-value", "format", "locale", "date-filter"]), createVNode(_component_OrDateTimePickerPopoverFooter, {
1443
- disabled: _ctx.invalid,
1444
- onApply: _cache[4] || (_cache[4] = $event => {
1445
- _ctx.apply();
1446
- _ctx.datePopover && _ctx.datePopover.close();
1447
- }),
1448
- onReset: _cache[5] || (_cache[5] = $event => {
1449
- _ctx.reset();
1450
- _ctx.datePopover && _ctx.datePopover.close();
1451
- })
1452
- }, null, 8 /* PROPS */, ["disabled"])]),
1453
- _: 1 /* STABLE */
1454
- }, 8 /* PROPS */, ["class", "custom-styles", "trigger"]), createVNode(_component_OrPopover, {
1455
- ref: 'timePopover',
1456
- class: normalizeClass(_ctx.timePopoverStyles),
1457
- "custom-styles": _ctx.timePopoverStyles,
1458
- variant: 'auto',
1459
- "bottom-sheet-props": {
1460
- variant: 'basic'
1461
- },
1462
- trigger: _ctx.anchor || _ctx.inputBoxRoot,
1463
- placement: 'bottom-start',
1464
- "fallback-placement": 'start',
1465
- onClose: _cache[10] || (_cache[10] = $event => _ctx.reset())
1466
- }, {
1467
- default: withCtx(() => [createVNode(_component_OrDateTimePickerPopoverHeader, null, {
1468
- default: withCtx(() => [createVNode(_component_OrDateTimePickerMobileControl, {
1469
- label: 'Date'
1470
- }, {
1471
- default: withCtx(() => [createTextVNode(toDisplayString(_ctx.draft ? _ctx.formatMobileDate(_ctx.draft, _ctx.resolvedDateFormat, _ctx.resolvedLocale) : '--'), 1 /* TEXT */)]),
1472
- _: 1 /* STABLE */
1473
- }), createVNode(_component_OrDateTimePickerMobileControl, {
1474
- label: 'Time'
1475
- }, {
1476
- default: withCtx(() => [createTextVNode(toDisplayString(_ctx.draft ? _ctx.formatMobileTime(_ctx.draft, _ctx.resolvedTimeFormat, _ctx.resolvedLocale) : '--'), 1 /* TEXT */)]),
1477
- _: 1 /* STABLE */
1478
- })]),
1479
- _: 1 /* STABLE */
1480
- }), createVNode(_component_OrDateTimePickerTimeSelect, {
1481
- modelValue: _ctx.draft,
1482
- "onUpdate:modelValue": _cache[7] || (_cache[7] = $event => _ctx.draft = $event),
1483
- "initial-value": _ctx.initialValue,
1484
- format: _ctx.resolvedTimeFormat,
1485
- locale: _ctx.resolvedLocale,
1486
- "hours-filter": _ctx.hoursFilter,
1487
- "minutes-filter": _ctx.minutesFilter,
1488
- "is-active": _ctx.timePopover && _ctx.timePopover.state === 'open',
1489
- "hour-step": _ctx.hourStep,
1490
- "minute-step": _ctx.minuteStep
1491
- }, null, 8 /* PROPS */, ["modelValue", "initial-value", "format", "locale", "hours-filter", "minutes-filter", "is-active", "hour-step", "minute-step"]), createVNode(_component_OrDateTimePickerPopoverFooter, {
1492
- disabled: _ctx.invalid,
1493
- onApply: _cache[8] || (_cache[8] = $event => {
1494
- _ctx.apply();
1495
- _ctx.timePopover && _ctx.timePopover.close();
1496
- }),
1497
- onReset: _cache[9] || (_cache[9] = $event => {
1498
- _ctx.reset();
1499
- _ctx.timePopover && _ctx.timePopover.close();
1500
- })
1501
- }, null, 8 /* PROPS */, ["disabled"])]),
1502
- _: 1 /* STABLE */
1503
- }, 8 /* PROPS */, ["class", "custom-styles", "trigger"]), _hoisted_1]),
1504
- _: 1 /* STABLE */
1505
- }, 8 /* PROPS */, ["variant", "size", "invalid", "readonly", "disabled"])), [[_directive_dropdown_open, _ctx.toggleDatePopover], [_directive_dropdown_close, _ctx.closeDatePopover]]), _ctx.$slots.hint || _ctx.hint ? withDirectives((openBlock(), createBlock(_component_OrHint, {
1506
- key: 1,
1507
- disabled: _ctx.disabled
1508
- }, {
1509
- default: withCtx(() => [renderSlot(_ctx.$slots, "hint", {}, () => [createTextVNode(toDisplayString(_ctx.hint), 1 /* TEXT */)])]),
1510
- _: 3 /* FORWARDED */
1511
- }, 8 /* PROPS */, ["disabled"])), [[vShow, !_ctx.error]]) : createCommentVNode("v-if", true), withDirectives(createVNode(_component_OrError, {
1512
- disabled: _ctx.disabled
1513
- }, {
1514
- default: withCtx(() => [createTextVNode(toDisplayString(_ctx.error), 1 /* TEXT */)]),
1515
- _: 1 /* STABLE */
1516
- }, 8 /* PROPS */, ["disabled"]), [[vShow, typeof _ctx.error === 'string' && _ctx.error.length > 0]])], 2 /* CLASS */);
1517
- }
1518
-
1519
- script.render = render;
1520
- script.__file = "src/components/or-date-time-picker-v3/OrDateTimePicker.vue";
1521
-
1522
- export { script$8 as OrDateTimePickerDateControl, script$7 as OrDateTimePickerDateSelect, script$6 as OrDateTimePickerMobileControl, script$5 as OrDateTimePickerMonthSelect, script$4 as OrDateTimePickerPopoverFooter, script$3 as OrDateTimePickerPopoverHeader, script$2 as OrDateTimePickerTimeControl, script$1 as OrDateTimePickerTimeSelect, script as OrDateTimePickerV3, formatDate, formatMobileDate, formatMobileTime, formatTime, getCurrentDate, getNextMonthDate, scrollToElementWithinContainer };
31
+ import '../or-menu-v3/index.js';