@onereach/ui-components 2.76.6 → 2.76.7-beta.2436.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 (179) hide show
  1. package/dist/bundled/v2/{OrCardCollection-5be7bd7b.js → OrCardCollection-9b9a27e2.js} +1 -1
  2. package/dist/bundled/v2/{OrConfirm-b12b5b01.js → OrConfirm-d9869784.js} +1 -1
  3. package/dist/bundled/v2/OrDateTimePicker-aad4f2d4.js +1081 -0
  4. package/dist/bundled/v2/{OrInput-913c682d.js → OrInput-a829ce97.js} +2 -2
  5. package/dist/bundled/v2/{OrInputBox-9a31d211.js → OrInputBox-3f886a00.js} +1 -1
  6. package/dist/bundled/v2/{OrSearch-ade6bf12.js → OrSearch-8d2a36b8.js} +2 -2
  7. package/dist/bundled/v2/{OrSelect-f85aecd5.js → OrSelect-ec9260d5.js} +4 -4
  8. package/dist/bundled/v2/{OrTextarea-e606a1f5.js → OrTextarea-2925c150.js} +2 -2
  9. package/dist/bundled/v2/components/index.d.ts +4 -3
  10. package/dist/bundled/v2/components/index.js +13 -12
  11. package/dist/bundled/v2/components/or-card-collection-v3/index.js +5 -5
  12. package/dist/bundled/v2/components/or-combined-input-v3/index.js +2 -2
  13. package/dist/bundled/v2/components/or-confirm-v3/index.js +4 -4
  14. package/dist/bundled/v2/components/or-date-time-picker-v3/OrDateTimePicker.vue.d.ts +195 -0
  15. package/dist/bundled/v2/components/or-date-time-picker-v3/index.d.ts +2 -0
  16. package/dist/bundled/v2/components/or-date-time-picker-v3/index.js +30 -0
  17. package/dist/bundled/v2/components/or-date-time-picker-v3/partials/or-date-time-picker-date-select/OrDateTimePickerDateSelect.vue.d.ts +30 -0
  18. package/dist/bundled/v2/components/or-date-time-picker-v3/partials/or-date-time-picker-date-select/styles.d.ts +1 -0
  19. package/dist/bundled/v2/components/or-date-time-picker-v3/partials/or-date-time-picker-mobile-control/OrDateTimePickerMobileControl.vue.d.ts +24 -0
  20. package/dist/bundled/v2/components/or-date-time-picker-v3/partials/or-date-time-picker-mobile-control/styles.d.ts +2 -0
  21. package/dist/bundled/v2/components/or-date-time-picker-v3/partials/or-date-time-picker-month-select/OrDateTimePickerMonthSelect.vue.d.ts +98 -0
  22. package/dist/bundled/v2/components/or-date-time-picker-v3/partials/or-date-time-picker-month-select/styles.d.ts +1 -0
  23. package/dist/bundled/v2/components/or-date-time-picker-v3/partials/or-date-time-picker-popover-footer/OrDateTimePickerPopoverFooter.vue.d.ts +12 -0
  24. package/dist/bundled/v2/components/or-date-time-picker-v3/partials/or-date-time-picker-popover-footer/styles.d.ts +1 -0
  25. package/dist/bundled/v2/components/or-date-time-picker-v3/partials/or-date-time-picker-popover-header/OrDateTimePickerPopoverHeader.vue.d.ts +8 -0
  26. package/dist/bundled/v2/components/or-date-time-picker-v3/partials/or-date-time-picker-popover-header/styles.d.ts +1 -0
  27. package/dist/bundled/v2/components/or-date-time-picker-v3/partials/or-date-time-picker-time-select/OrDateTimePickerTimeSelect.vue.d.ts +54 -0
  28. package/dist/bundled/v2/components/or-date-time-picker-v3/partials/or-date-time-picker-time-select/styles.d.ts +3 -0
  29. package/dist/bundled/v2/components/or-date-time-picker-v3/props.d.ts +1 -0
  30. package/dist/bundled/v2/components/or-date-time-picker-v3/styles.d.ts +2 -0
  31. package/dist/bundled/v2/components/or-input-box-v3/index.js +2 -2
  32. package/dist/bundled/v2/components/or-input-v3/index.js +3 -3
  33. package/dist/bundled/v2/components/or-search-v3/index.js +4 -4
  34. package/dist/bundled/v2/components/or-select-v3/index.js +5 -5
  35. package/dist/bundled/v2/components/or-textarea-v3/index.js +3 -3
  36. package/dist/bundled/v2/directives/index.js +1 -1
  37. package/dist/bundled/v2/{dropdown-open-e2a93aaf.js → dropdown-open-10460fec.js} +7 -1
  38. package/dist/bundled/v2/index.js +13 -12
  39. package/dist/bundled/v2/{props-78496a2d.js → props-c966ae5f.js} +1 -1
  40. package/dist/bundled/v3/{OrCardCollection.vue_vue_type_script_lang-9f48249b.js → OrCardCollection.vue_vue_type_script_lang-5a295c7c.js} +1 -1
  41. package/dist/bundled/v3/{OrConfirm.vue_vue_type_script_lang-ede2f483.js → OrConfirm.vue_vue_type_script_lang-6ad3a25b.js} +2 -2
  42. package/dist/bundled/v3/OrDateTimePicker.vue_vue_type_script_lang-d86b26c2.js +722 -0
  43. package/dist/bundled/v3/{OrInput-e980b0c5.js → OrInput-9deb9d78.js} +1 -1
  44. package/dist/bundled/v3/{OrInput.vue_vue_type_script_lang-4285176c.js → OrInput.vue_vue_type_script_lang-ff77fb1f.js} +3 -3
  45. package/dist/bundled/v3/{OrInputBox-44f37541.js → OrInputBox-73cb16b2.js} +1 -1
  46. package/dist/bundled/v3/{OrInputBox.vue_vue_type_script_lang-c4f9c8ef.js → OrInputBox.vue_vue_type_script_lang-b94e3d29.js} +1 -1
  47. package/dist/bundled/v3/{OrSearch.vue_vue_type_script_lang-04675cdd.js → OrSearch.vue_vue_type_script_lang-c0c711e3.js} +3 -3
  48. package/dist/bundled/v3/{OrSelect.vue_vue_type_script_lang-949f5893.js → OrSelect.vue_vue_type_script_lang-f920dc5a.js} +6 -6
  49. package/dist/bundled/v3/{OrTextarea.vue_vue_type_script_lang-043a2a9d.js → OrTextarea.vue_vue_type_script_lang-5a3d824a.js} +3 -3
  50. package/dist/bundled/v3/components/index.d.ts +4 -3
  51. package/dist/bundled/v3/components/index.js +17 -16
  52. package/dist/bundled/v3/components/or-card-collection-v3/index.js +7 -7
  53. package/dist/bundled/v3/components/or-combined-input-v3/index.js +2 -2
  54. package/dist/bundled/v3/components/or-confirm-v3/index.js +6 -6
  55. package/dist/bundled/v3/components/or-date-time-picker-v3/OrDateTimePicker.vue.d.ts +195 -0
  56. package/dist/bundled/v3/components/or-date-time-picker-v3/index.d.ts +2 -0
  57. package/dist/bundled/v3/components/or-date-time-picker-v3/index.js +35 -0
  58. package/dist/bundled/v3/components/or-date-time-picker-v3/partials/or-date-time-picker-date-select/OrDateTimePickerDateSelect.vue.d.ts +30 -0
  59. package/dist/bundled/v3/components/or-date-time-picker-v3/partials/or-date-time-picker-date-select/styles.d.ts +1 -0
  60. package/dist/bundled/v3/components/or-date-time-picker-v3/partials/or-date-time-picker-mobile-control/OrDateTimePickerMobileControl.vue.d.ts +24 -0
  61. package/dist/bundled/v3/components/or-date-time-picker-v3/partials/or-date-time-picker-mobile-control/styles.d.ts +2 -0
  62. package/dist/bundled/v3/components/or-date-time-picker-v3/partials/or-date-time-picker-month-select/OrDateTimePickerMonthSelect.vue.d.ts +98 -0
  63. package/dist/bundled/v3/components/or-date-time-picker-v3/partials/or-date-time-picker-month-select/styles.d.ts +1 -0
  64. package/dist/bundled/v3/components/or-date-time-picker-v3/partials/or-date-time-picker-popover-footer/OrDateTimePickerPopoverFooter.vue.d.ts +12 -0
  65. package/dist/bundled/v3/components/or-date-time-picker-v3/partials/or-date-time-picker-popover-footer/styles.d.ts +1 -0
  66. package/dist/bundled/v3/components/or-date-time-picker-v3/partials/or-date-time-picker-popover-header/OrDateTimePickerPopoverHeader.vue.d.ts +8 -0
  67. package/dist/bundled/v3/components/or-date-time-picker-v3/partials/or-date-time-picker-popover-header/styles.d.ts +1 -0
  68. package/dist/bundled/v3/components/or-date-time-picker-v3/partials/or-date-time-picker-time-select/OrDateTimePickerTimeSelect.vue.d.ts +54 -0
  69. package/dist/bundled/v3/components/or-date-time-picker-v3/partials/or-date-time-picker-time-select/styles.d.ts +3 -0
  70. package/dist/bundled/v3/components/or-date-time-picker-v3/props.d.ts +1 -0
  71. package/dist/bundled/v3/components/or-date-time-picker-v3/styles.d.ts +2 -0
  72. package/dist/bundled/v3/components/or-input-box-v3/index.js +2 -2
  73. package/dist/bundled/v3/components/or-input-v3/index.js +4 -4
  74. package/dist/bundled/v3/components/or-search-v3/index.js +6 -6
  75. package/dist/bundled/v3/components/or-select-v3/index.js +7 -7
  76. package/dist/bundled/v3/components/or-textarea-v3/index.js +4 -4
  77. package/dist/bundled/v3/directives/index.js +1 -1
  78. package/dist/bundled/v3/{dropdown-open-293d2de2.js → dropdown-open-0a494cc1.js} +7 -1
  79. package/dist/bundled/v3/index.js +455 -309
  80. package/dist/bundled/v3/{props-78496a2d.js → props-c966ae5f.js} +1 -1
  81. package/dist/esm/v2/{OrCardCollection-88451f3f.js → OrCardCollection-fd3cf877.js} +2 -2
  82. package/dist/esm/v2/{OrConfirm-d9fb300f.js → OrConfirm-6fa5b7af.js} +1 -1
  83. package/dist/esm/v2/OrDateTimePicker-c3be041e.js +1074 -0
  84. package/dist/esm/v2/{OrInput-0a40888a.js → OrInput-ff77b040.js} +2 -2
  85. package/dist/esm/v2/{OrInputBox-5c4b3104.js → OrInputBox-be814696.js} +1 -1
  86. package/dist/esm/v2/{OrInputBox.vue_rollup-plugin-vue_script-4ba46db4.js → OrInputBox.vue_rollup-plugin-vue_script-cc0bf870.js} +1 -1
  87. package/dist/esm/v2/{OrSearch-429d7386.js → OrSearch-a269c191.js} +2 -2
  88. package/dist/esm/v2/{OrSelect-de0ad257.js → OrSelect-16b38bb4.js} +4 -4
  89. package/dist/esm/v2/{OrTextarea-a51a7959.js → OrTextarea-aa52ecfe.js} +2 -2
  90. package/dist/esm/v2/components/index.d.ts +4 -3
  91. package/dist/esm/v2/components/index.js +13 -12
  92. package/dist/esm/v2/components/or-card-collection-v3/index.js +5 -5
  93. package/dist/esm/v2/components/or-combined-input-v3/index.js +2 -2
  94. package/dist/esm/v2/components/or-confirm-v3/index.js +4 -4
  95. package/dist/esm/v2/components/or-date-time-picker-v3/OrDateTimePicker.vue.d.ts +195 -0
  96. package/dist/esm/v2/components/or-date-time-picker-v3/index.d.ts +2 -0
  97. package/dist/esm/v2/components/or-date-time-picker-v3/index.js +28 -0
  98. package/dist/esm/v2/components/or-date-time-picker-v3/partials/or-date-time-picker-date-select/OrDateTimePickerDateSelect.vue.d.ts +30 -0
  99. package/dist/esm/v2/components/or-date-time-picker-v3/partials/or-date-time-picker-date-select/styles.d.ts +1 -0
  100. package/dist/esm/v2/components/or-date-time-picker-v3/partials/or-date-time-picker-mobile-control/OrDateTimePickerMobileControl.vue.d.ts +24 -0
  101. package/dist/esm/v2/components/or-date-time-picker-v3/partials/or-date-time-picker-mobile-control/styles.d.ts +2 -0
  102. package/dist/esm/v2/components/or-date-time-picker-v3/partials/or-date-time-picker-month-select/OrDateTimePickerMonthSelect.vue.d.ts +98 -0
  103. package/dist/esm/v2/components/or-date-time-picker-v3/partials/or-date-time-picker-month-select/styles.d.ts +1 -0
  104. package/dist/esm/v2/components/or-date-time-picker-v3/partials/or-date-time-picker-popover-footer/OrDateTimePickerPopoverFooter.vue.d.ts +12 -0
  105. package/dist/esm/v2/components/or-date-time-picker-v3/partials/or-date-time-picker-popover-footer/styles.d.ts +1 -0
  106. package/dist/esm/v2/components/or-date-time-picker-v3/partials/or-date-time-picker-popover-header/OrDateTimePickerPopoverHeader.vue.d.ts +8 -0
  107. package/dist/esm/v2/components/or-date-time-picker-v3/partials/or-date-time-picker-popover-header/styles.d.ts +1 -0
  108. package/dist/esm/v2/components/or-date-time-picker-v3/partials/or-date-time-picker-time-select/OrDateTimePickerTimeSelect.vue.d.ts +54 -0
  109. package/dist/esm/v2/components/or-date-time-picker-v3/partials/or-date-time-picker-time-select/styles.d.ts +3 -0
  110. package/dist/esm/v2/components/or-date-time-picker-v3/props.d.ts +1 -0
  111. package/dist/esm/v2/components/or-date-time-picker-v3/styles.d.ts +2 -0
  112. package/dist/esm/v2/components/or-input-box-v3/index.js +2 -2
  113. package/dist/esm/v2/components/or-input-v3/index.js +3 -3
  114. package/dist/esm/v2/components/or-search-v3/index.js +4 -4
  115. package/dist/esm/v2/components/or-select-v3/index.js +5 -5
  116. package/dist/esm/v2/components/or-textarea-v3/index.js +3 -3
  117. package/dist/esm/v2/directives/index.js +1 -1
  118. package/dist/esm/v2/{dropdown-open-0d314aa4.js → dropdown-open-e1f90e0a.js} +7 -1
  119. package/dist/esm/v2/index.js +12 -11
  120. package/dist/esm/v3/{OrCardCollection-8339ebe2.js → OrCardCollection-3e469384.js} +2 -2
  121. package/dist/esm/v3/{OrConfirm-e821e06e.js → OrConfirm-b52b8135.js} +1 -1
  122. package/dist/esm/v3/OrDateTimePicker-44ef0c0c.js +859 -0
  123. package/dist/esm/v3/{OrInput-d16b7930.js → OrInput-64f9797c.js} +1 -1
  124. package/dist/esm/v3/{OrInputBox-2467d7e4.js → OrInputBox-e1ee2130.js} +1 -1
  125. package/dist/esm/v3/{OrSearch-4568eb9d.js → OrSearch-a4a8f33f.js} +2 -2
  126. package/dist/esm/v3/{OrSelect-2e683ddd.js → OrSelect-b7498180.js} +3 -3
  127. package/dist/esm/v3/{OrTextarea-f10160cb.js → OrTextarea-e7896ed1.js} +1 -1
  128. package/dist/esm/v3/components/index.d.ts +4 -3
  129. package/dist/esm/v3/components/index.js +12 -11
  130. package/dist/esm/v3/components/or-card-collection-v3/index.js +4 -4
  131. package/dist/esm/v3/components/or-combined-input-v3/index.js +2 -2
  132. package/dist/esm/v3/components/or-confirm-v3/index.js +3 -3
  133. package/dist/esm/v3/components/or-date-time-picker-v3/OrDateTimePicker.vue.d.ts +195 -0
  134. package/dist/esm/v3/components/or-date-time-picker-v3/index.d.ts +2 -0
  135. package/dist/esm/v3/components/or-date-time-picker-v3/index.js +26 -0
  136. package/dist/esm/v3/components/or-date-time-picker-v3/partials/or-date-time-picker-date-select/OrDateTimePickerDateSelect.vue.d.ts +30 -0
  137. package/dist/esm/v3/components/or-date-time-picker-v3/partials/or-date-time-picker-date-select/styles.d.ts +1 -0
  138. package/dist/esm/v3/components/or-date-time-picker-v3/partials/or-date-time-picker-mobile-control/OrDateTimePickerMobileControl.vue.d.ts +24 -0
  139. package/dist/esm/v3/components/or-date-time-picker-v3/partials/or-date-time-picker-mobile-control/styles.d.ts +2 -0
  140. package/dist/esm/v3/components/or-date-time-picker-v3/partials/or-date-time-picker-month-select/OrDateTimePickerMonthSelect.vue.d.ts +98 -0
  141. package/dist/esm/v3/components/or-date-time-picker-v3/partials/or-date-time-picker-month-select/styles.d.ts +1 -0
  142. package/dist/esm/v3/components/or-date-time-picker-v3/partials/or-date-time-picker-popover-footer/OrDateTimePickerPopoverFooter.vue.d.ts +12 -0
  143. package/dist/esm/v3/components/or-date-time-picker-v3/partials/or-date-time-picker-popover-footer/styles.d.ts +1 -0
  144. package/dist/esm/v3/components/or-date-time-picker-v3/partials/or-date-time-picker-popover-header/OrDateTimePickerPopoverHeader.vue.d.ts +8 -0
  145. package/dist/esm/v3/components/or-date-time-picker-v3/partials/or-date-time-picker-popover-header/styles.d.ts +1 -0
  146. package/dist/esm/v3/components/or-date-time-picker-v3/partials/or-date-time-picker-time-select/OrDateTimePickerTimeSelect.vue.d.ts +54 -0
  147. package/dist/esm/v3/components/or-date-time-picker-v3/partials/or-date-time-picker-time-select/styles.d.ts +3 -0
  148. package/dist/esm/v3/components/or-date-time-picker-v3/props.d.ts +1 -0
  149. package/dist/esm/v3/components/or-date-time-picker-v3/styles.d.ts +2 -0
  150. package/dist/esm/v3/components/or-input-box-v3/index.js +1 -1
  151. package/dist/esm/v3/components/or-input-v3/index.js +2 -2
  152. package/dist/esm/v3/components/or-search-v3/index.js +3 -3
  153. package/dist/esm/v3/components/or-select-v3/index.js +4 -4
  154. package/dist/esm/v3/components/or-textarea-v3/index.js +2 -2
  155. package/dist/esm/v3/directives/index.js +1 -1
  156. package/dist/esm/v3/{dropdown-open-0d314aa4.js → dropdown-open-e1f90e0a.js} +7 -1
  157. package/dist/esm/v3/index.js +11 -10
  158. package/package.json +3 -4
  159. package/src/components/index.ts +4 -3
  160. package/src/components/or-date-time-picker-v3/OrDateTimePicker.docs.mdx +7 -0
  161. package/src/components/or-date-time-picker-v3/OrDateTimePicker.stories3.ts +160 -0
  162. package/src/components/or-date-time-picker-v3/OrDateTimePicker.vue +372 -0
  163. package/src/components/or-date-time-picker-v3/index.ts +2 -0
  164. package/src/components/or-date-time-picker-v3/partials/or-date-time-picker-date-select/OrDateTimePickerDateSelect.vue +63 -0
  165. package/src/components/or-date-time-picker-v3/partials/or-date-time-picker-date-select/styles.ts +10 -0
  166. package/src/components/or-date-time-picker-v3/partials/or-date-time-picker-mobile-control/OrDateTimePickerMobileControl.vue +58 -0
  167. package/src/components/or-date-time-picker-v3/partials/or-date-time-picker-mobile-control/styles.ts +16 -0
  168. package/src/components/or-date-time-picker-v3/partials/or-date-time-picker-month-select/OrDateTimePickerMonthSelect.vue +210 -0
  169. package/src/components/or-date-time-picker-v3/partials/or-date-time-picker-month-select/styles.ts +10 -0
  170. package/src/components/or-date-time-picker-v3/partials/or-date-time-picker-popover-footer/OrDateTimePickerPopoverFooter.vue +59 -0
  171. package/src/components/or-date-time-picker-v3/partials/or-date-time-picker-popover-footer/styles.ts +13 -0
  172. package/src/components/or-date-time-picker-v3/partials/or-date-time-picker-popover-header/OrDateTimePickerPopoverHeader.vue +37 -0
  173. package/src/components/or-date-time-picker-v3/partials/or-date-time-picker-popover-header/styles.ts +10 -0
  174. package/src/components/or-date-time-picker-v3/partials/or-date-time-picker-time-select/OrDateTimePickerTimeSelect.vue +146 -0
  175. package/src/components/or-date-time-picker-v3/partials/or-date-time-picker-time-select/styles.ts +34 -0
  176. package/src/components/or-date-time-picker-v3/props.ts +1 -0
  177. package/src/components/or-date-time-picker-v3/styles.ts +16 -0
  178. package/src/directives/dropdown-close.ts +1 -0
  179. package/src/directives/dropdown-open.ts +7 -1
@@ -0,0 +1,372 @@
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="toggleDatePopover"
23
+ v-dropdown-close="closeDatePopover"
24
+ :variant="disableDefaultStyles ? 'unstyled' : 'styled'"
25
+ :size="size"
26
+ :invalid="!!error"
27
+ :readonly="readonly"
28
+ :disabled="disabled"
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="'date'"
37
+ >
38
+
39
+ <input
40
+ ref="timeControl"
41
+ v-dropdown-open="toggleTimePopover"
42
+ v-dropdown-close="closeTimePopover"
43
+ v-bind="controlAttributes"
44
+ :class="controlStyles"
45
+ :type="'time'"
46
+ >
47
+
48
+ <OrPopover
49
+ ref="datePopover"
50
+ :variant="'auto'"
51
+ :trigger="dateControl"
52
+ :placement="'bottom'"
53
+ >
54
+ <OrDateTimePickerPopoverHeader>
55
+ <OrDateTimePickerMobileControl label="Date">
56
+ Sep 12
57
+ </OrDateTimePickerMobileControl>
58
+
59
+ <OrDateTimePickerMobileControl label="Time">
60
+ 9:07
61
+ </OrDateTimePickerMobileControl>
62
+ </OrDateTimePickerPopoverHeader>
63
+
64
+ <OrDateTimePickerMonthSelect v-model="proxyModelValue" />
65
+ <OrDateTimePickerDateSelect v-model="proxyModelValue" />
66
+
67
+ <OrDateTimePickerPopoverFooter
68
+ @reject="closeDatePopover()"
69
+ />
70
+ </OrPopover>
71
+
72
+ <OrPopover
73
+ ref="timePopover"
74
+ :variant="'auto'"
75
+ :trigger="timeControl"
76
+ :placement="'bottom'"
77
+ >
78
+ <OrDateTimePickerPopoverHeader>
79
+ <OrDateTimePickerMobileControl label="Date">
80
+ Sep 12
81
+ </OrDateTimePickerMobileControl>
82
+
83
+ <OrDateTimePickerMobileControl label="Time">
84
+ 9:07
85
+ </OrDateTimePickerMobileControl>
86
+ </OrDateTimePickerPopoverHeader>
87
+
88
+ <OrDateTimePickerTimeSelect v-model="proxyModelValue" />
89
+
90
+ <OrDateTimePickerPopoverFooter
91
+ @reject="closeTimePopover()"
92
+ />
93
+ </OrPopover>
94
+
95
+ <div :class="['grow']" />
96
+
97
+ <div :class="['layout-inline-row']">
98
+ <template v-if="modelValue">
99
+ <OrIconButton
100
+ :icon="'close'"
101
+ :color="'inherit'"
102
+ :disabled="readonly || disabled"
103
+ @click.stop="$emit('update:modelValue', undefined)"
104
+ />
105
+ </template>
106
+ </div>
107
+ </OrInputBox>
108
+
109
+ <template v-if="!error">
110
+ <template v-if="hint">
111
+ <OrHint :disabled="disabled">
112
+ {{ hint }}
113
+ </OrHint>
114
+ </template>
115
+ </template>
116
+
117
+ <template v-if="typeof error === 'string'">
118
+ <OrError :disabled="disabled">
119
+ {{ error }}
120
+ </OrError>
121
+ </template>
122
+ </div>
123
+ </template>
124
+
125
+ <script lang="ts">
126
+ import { computed, defineComponent, PropType, reactive, ref } from 'vue-demi';
127
+ import { DateTimePickerSize } from '.';
128
+ import { DropdownClose, DropdownOpen } from '../../directives';
129
+ import { useControlAttributes, useIdAttribute, useValidationAttributes } from '../../hooks';
130
+ import { OrErrorV3 as OrError } from '../or-error-v3';
131
+ import { OrHintV3 as OrHint } from '../or-hint-v3';
132
+ import { OrIconButtonV3 as OrIconButton } from '../or-icon-button-v3';
133
+ import { OrInputBoxV3 as OrInputBox } from '../or-input-box-v3';
134
+ import { OrLabelV3 as OrLabel } from '../or-label-v3';
135
+ import { OrPopoverV3 as OrPopover } from '../or-popover-v3';
136
+ import OrDateTimePickerDateSelect from './partials/or-date-time-picker-date-select/OrDateTimePickerDateSelect.vue';
137
+ import OrDateTimePickerMobileControl from './partials/or-date-time-picker-mobile-control/OrDateTimePickerMobileControl.vue';
138
+ import OrDateTimePickerMonthSelect from './partials/or-date-time-picker-month-select/OrDateTimePickerMonthSelect.vue';
139
+ import OrDateTimePickerPopoverFooter from './partials/or-date-time-picker-popover-footer/OrDateTimePickerPopoverFooter.vue';
140
+ import OrDateTimePickerPopoverHeader from './partials/or-date-time-picker-popover-header/OrDateTimePickerPopoverHeader.vue';
141
+ import OrDateTimePickerTimeSelect from './partials/or-date-time-picker-time-select/OrDateTimePickerTimeSelect.vue';
142
+ import { DateTimePicker, DateTimePickerControl } from './styles';
143
+
144
+ export default defineComponent({
145
+ name: 'OrDateTimePicker',
146
+
147
+ components: {
148
+ OrDateTimePickerDateSelect,
149
+ OrDateTimePickerMobileControl,
150
+ OrDateTimePickerMonthSelect,
151
+ OrDateTimePickerPopoverFooter,
152
+ OrDateTimePickerPopoverHeader,
153
+ OrDateTimePickerTimeSelect,
154
+ OrError,
155
+ OrHint,
156
+ OrIconButton,
157
+ OrInputBox,
158
+ OrLabel,
159
+ OrPopover,
160
+ },
161
+
162
+ directives: {
163
+ DropdownClose,
164
+ DropdownOpen,
165
+ },
166
+
167
+ model: {
168
+ prop: 'modelValue',
169
+ event: 'update:modelValue',
170
+ },
171
+
172
+ props: {
173
+ modelValue: {
174
+ type: Date,
175
+ default: undefined,
176
+ },
177
+
178
+ size: {
179
+ type: String as PropType<DateTimePickerSize>,
180
+ default: DateTimePickerSize.M,
181
+ },
182
+
183
+ label: {
184
+ type: String,
185
+ default: undefined,
186
+ },
187
+
188
+ placeholder: {
189
+ type: String,
190
+ default: undefined,
191
+ },
192
+
193
+ hint: {
194
+ type: String,
195
+ default: undefined,
196
+ },
197
+
198
+ error: {
199
+ type: [String, Boolean],
200
+ default: undefined,
201
+ },
202
+
203
+ required: {
204
+ type: Boolean,
205
+ default: false,
206
+ },
207
+
208
+ readonly: {
209
+ type: Boolean,
210
+ default: false,
211
+ },
212
+
213
+ disabled: {
214
+ type: Boolean,
215
+ default: false,
216
+ },
217
+
218
+ disableDefaultStyles: {
219
+ type: Boolean,
220
+ default: false,
221
+ },
222
+ },
223
+
224
+ emits: [
225
+ 'update:modelValue',
226
+
227
+ 'keydown',
228
+ 'keyup',
229
+ 'focus',
230
+ 'blur',
231
+ ],
232
+
233
+ expose: [
234
+ 'root',
235
+
236
+ 'focus',
237
+ 'blur',
238
+ ],
239
+
240
+ setup(props, context) {
241
+ // Refs
242
+ const root = ref<HTMLElement>();
243
+
244
+ const dateControl = ref<HTMLInputElement>();
245
+ const timeControl = ref<HTMLInputElement>();
246
+
247
+ const datePopover = ref<InstanceType<typeof OrPopover>>();
248
+ const timePopover = ref<InstanceType<typeof OrPopover>>();
249
+
250
+ const datePopoverState = computed(() => datePopover.value?.state);
251
+ const timePopoverState = computed(() => timePopover.value?.state);
252
+
253
+ // Styles
254
+ const rootStyles = computed(() => [
255
+ 'or-date-time-picker',
256
+ ...DateTimePicker,
257
+ ]);
258
+
259
+ const controlStyles = computed(() => [
260
+ ...DateTimePickerControl,
261
+ ]);
262
+
263
+ // State
264
+ const controlAttributes = reactive({
265
+ id: useIdAttribute(),
266
+ ...useControlAttributes(),
267
+ ...useValidationAttributes(),
268
+ });
269
+
270
+ const proxyModelValue = computed({
271
+ get: () => props.modelValue,
272
+
273
+ set: (value) => {
274
+ context.emit('update:modelValue', value);
275
+ },
276
+ });
277
+
278
+ // Methods
279
+ function toggleDatePopover(): void {
280
+ if (!props.readonly && !props.disabled) {
281
+ const popoverInstance = datePopover.value;
282
+
283
+ if (popoverInstance) {
284
+ if (datePopoverState.value === 'open') {
285
+ (popoverInstance.close as () => void)();
286
+ } else {
287
+ (popoverInstance.open as () => void)();
288
+ }
289
+ }
290
+ }
291
+ }
292
+
293
+ function toggleTimePopover(): void {
294
+ if (!props.readonly && !props.disabled) {
295
+ const popoverInstance = timePopover.value;
296
+
297
+ if (popoverInstance) {
298
+ if (timePopoverState.value === 'open') {
299
+ (popoverInstance.close as () => void)();
300
+ } else {
301
+ (popoverInstance.open as () => void)();
302
+ }
303
+ }
304
+ }
305
+ }
306
+
307
+ function closeDatePopover(): void {
308
+ const popoverInstance = datePopover.value;
309
+
310
+ if (popoverInstance) {
311
+ (popoverInstance.close as () => void)();
312
+ }
313
+ }
314
+
315
+ function closeTimePopover(): void {
316
+ const popoverInstance = timePopover.value;
317
+
318
+ if (popoverInstance) {
319
+ (popoverInstance.close as () => void)();
320
+ }
321
+ }
322
+
323
+ return {
324
+ root,
325
+ dateControl,
326
+ timeControl,
327
+ datePopover,
328
+ timePopover,
329
+ datePopoverState,
330
+ timePopoverState,
331
+ rootStyles,
332
+ controlStyles,
333
+ controlAttributes,
334
+ proxyModelValue,
335
+ toggleDatePopover,
336
+ toggleTimePopover,
337
+ closeDatePopover,
338
+ closeTimePopover,
339
+ };
340
+ },
341
+ });
342
+ </script>
343
+
344
+ <style scoped>
345
+ input {
346
+ min-width: 0;
347
+ background: none;
348
+ outline: none;
349
+ }
350
+
351
+ input[type="date"]::-webkit-datetime-edit-day-field,
352
+ input[type="date"]::-webkit-datetime-edit-month-field,
353
+ input[type="date"]::-webkit-datetime-edit-year-field {
354
+ display: none;
355
+ }
356
+
357
+ input[type="time"]::-webkit-datetime-edit-hour-field,
358
+ input[type="time"]::-webkit-datetime-edit-minute-field,
359
+ input[type="time"]::-webkit-datetime-edit-ampm-field {
360
+ display: none;
361
+ }
362
+
363
+ input[type="date"]::-webkit-datetime-edit-text,
364
+ input[type="time"]::-webkit-datetime-edit-text {
365
+ display: none;
366
+ }
367
+
368
+ input[type="date"]::-webkit-calendar-picker-indicator,
369
+ input[type="time"]::-webkit-calendar-picker-indicator {
370
+ display: none;
371
+ }
372
+ </style>
@@ -0,0 +1,2 @@
1
+ export { default as OrDateTimePickerV3 } from './OrDateTimePicker.vue';
2
+ export * from './props';
@@ -0,0 +1,63 @@
1
+ <template>
2
+ <div
3
+ ref="root"
4
+ :class="rootStyles"
5
+ >
6
+ Calendar
7
+ </div>
8
+ </template>
9
+
10
+ <script lang="ts">
11
+ import { computed, defineComponent, ref } from 'vue-demi';
12
+ import { DateTimePickerDateSelect } from './styles';
13
+
14
+ export default defineComponent({
15
+ name: 'OrDateTimePickerDateSelect',
16
+
17
+ model: {
18
+ prop: 'modelValue',
19
+ event: 'update:modelValue',
20
+ },
21
+
22
+ props: {
23
+ modelValue: {
24
+ type: Date,
25
+ default: undefined,
26
+ },
27
+ },
28
+
29
+ emits: [
30
+ 'update:modelValue',
31
+ ],
32
+
33
+ expose: [
34
+ 'root',
35
+ ],
36
+
37
+ setup(props, context) {
38
+ // Refs
39
+ const root = ref<HTMLElement>();
40
+
41
+ // Styles
42
+ const rootStyles = computed(() => [
43
+ 'or-date-time-picker-date-select',
44
+ ...DateTimePickerDateSelect,
45
+ ]);
46
+
47
+ // State
48
+ const proxyModelValue = computed({
49
+ get: () => props.modelValue,
50
+
51
+ set: (value) => {
52
+ context.emit('update:modelValue', value);
53
+ },
54
+ });
55
+
56
+ return {
57
+ root,
58
+ rootStyles,
59
+ proxyModelValue,
60
+ };
61
+ },
62
+ });
63
+ </script>
@@ -0,0 +1,10 @@
1
+ export const DateTimePickerDateSelect: string[] = [
2
+ // Layout
3
+ 'layout-column',
4
+
5
+ // Spacing
6
+ 'px-md',
7
+ 'py-md',
8
+
9
+ 'gap-sm',
10
+ ];
@@ -0,0 +1,58 @@
1
+ <template>
2
+ <div
3
+ ref="root"
4
+ :class="rootStyles"
5
+ >
6
+ <OrLabel>{{ label }}</OrLabel>
7
+
8
+ <div :class="contentStyles">
9
+ <slot />
10
+ </div>
11
+ </div>
12
+ </template>
13
+
14
+ <script lang="ts">
15
+ import { computed, defineComponent, ref } from 'vue-demi';
16
+ import { OrLabelV3 as OrLabel } from '../../../or-label-v3';
17
+ import { DateTimePickerMobileControl, DateTimePickerMobileControlContent } from './styles';
18
+
19
+ export default defineComponent({
20
+ name: 'OrDateTimePickerMobileControl',
21
+
22
+ components: {
23
+ OrLabel,
24
+ },
25
+
26
+ props: {
27
+ label: {
28
+ type: String,
29
+ required: true,
30
+ },
31
+ },
32
+
33
+ expose: [
34
+ 'root',
35
+ ],
36
+
37
+ setup() {
38
+ // Refs
39
+ const root = ref<HTMLElement>();
40
+
41
+ // Styles
42
+ const rootStyles = computed(() => [
43
+ 'or-date-time-picker-mobile-control',
44
+ ...DateTimePickerMobileControl,
45
+ ]);
46
+
47
+ const contentStyles = computed(() => [
48
+ ...DateTimePickerMobileControlContent,
49
+ ]);
50
+
51
+ return {
52
+ root,
53
+ rootStyles,
54
+ contentStyles,
55
+ };
56
+ },
57
+ });
58
+ </script>
@@ -0,0 +1,16 @@
1
+ export const DateTimePickerMobileControl: string[] = [
2
+ // Layout
3
+ 'layout-column',
4
+
5
+ // Spacing
6
+ 'gap-xs',
7
+ ];
8
+
9
+ export const DateTimePickerMobileControlContent: string[] = [
10
+ // Typography
11
+ 'typography-headline-1',
12
+
13
+ // Theme
14
+ 'theme-foreground-outline',
15
+ 'dark:theme-foreground-outline-dark',
16
+ ];