quasar 2.1.9 → 2.2.3

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 (270) hide show
  1. package/dist/api/QCarousel.json +19 -5
  2. package/dist/api/QColor.json +6 -0
  3. package/dist/api/QInnerLoading.json +32 -0
  4. package/dist/api/QOptionGroup.json +58 -1
  5. package/dist/api/QRange.json +10 -3
  6. package/dist/api/QSeparator.json +1 -1
  7. package/dist/api/QSkeleton.json +14 -0
  8. package/dist/api/QSlider.json +10 -3
  9. package/dist/api/QStepper.json +16 -2
  10. package/dist/api/QTabPanels.json +16 -2
  11. package/dist/api/QTable.json +5 -0
  12. package/dist/icon-set/bootstrap-icons.umd.prod.js +1 -1
  13. package/dist/icon-set/eva-icons.umd.prod.js +1 -1
  14. package/dist/icon-set/fontawesome-v5-pro.umd.prod.js +1 -1
  15. package/dist/icon-set/fontawesome-v5.umd.prod.js +1 -1
  16. package/dist/icon-set/ionicons-v4.umd.prod.js +1 -1
  17. package/dist/icon-set/line-awesome.umd.prod.js +1 -1
  18. package/dist/icon-set/material-icons-outlined.umd.prod.js +1 -1
  19. package/dist/icon-set/material-icons-round.umd.prod.js +1 -1
  20. package/dist/icon-set/material-icons-sharp.umd.prod.js +1 -1
  21. package/dist/icon-set/material-icons.umd.prod.js +1 -1
  22. package/dist/icon-set/mdi-v3.umd.prod.js +1 -1
  23. package/dist/icon-set/mdi-v4.umd.prod.js +1 -1
  24. package/dist/icon-set/mdi-v5.umd.prod.js +1 -1
  25. package/dist/icon-set/mdi-v6.umd.prod.js +1 -1
  26. package/dist/icon-set/svg-bootstrap-icons.umd.prod.js +1 -1
  27. package/dist/icon-set/svg-eva-icons.umd.prod.js +1 -1
  28. package/dist/icon-set/svg-fontawesome-v5.umd.prod.js +1 -1
  29. package/dist/icon-set/svg-ionicons-v4.umd.prod.js +1 -1
  30. package/dist/icon-set/svg-ionicons-v5.umd.prod.js +1 -1
  31. package/dist/icon-set/svg-line-awesome.umd.prod.js +1 -1
  32. package/dist/icon-set/svg-material-icons-outlined.umd.prod.js +1 -1
  33. package/dist/icon-set/svg-material-icons-round.umd.prod.js +1 -1
  34. package/dist/icon-set/svg-material-icons-sharp.umd.prod.js +1 -1
  35. package/dist/icon-set/svg-material-icons.umd.prod.js +1 -1
  36. package/dist/icon-set/svg-mdi-v4.umd.prod.js +1 -1
  37. package/dist/icon-set/svg-mdi-v5.umd.prod.js +1 -1
  38. package/dist/icon-set/svg-mdi-v6.umd.prod.js +1 -1
  39. package/dist/icon-set/svg-themify.umd.prod.js +1 -1
  40. package/dist/icon-set/themify.umd.prod.js +1 -1
  41. package/dist/lang/ar.umd.prod.js +1 -1
  42. package/dist/lang/az-Latn.umd.prod.js +1 -1
  43. package/dist/lang/bg.umd.prod.js +1 -1
  44. package/dist/lang/bn.umd.prod.js +1 -1
  45. package/dist/lang/ca.umd.prod.js +1 -1
  46. package/dist/lang/cs.umd.prod.js +1 -1
  47. package/dist/lang/da.umd.prod.js +1 -1
  48. package/dist/lang/de.umd.prod.js +1 -1
  49. package/dist/lang/el.umd.prod.js +1 -1
  50. package/dist/lang/en-GB.umd.prod.js +1 -1
  51. package/dist/lang/en-US.umd.prod.js +1 -1
  52. package/dist/lang/eo.umd.prod.js +1 -1
  53. package/dist/lang/es.umd.prod.js +1 -1
  54. package/dist/lang/et.umd.prod.js +1 -1
  55. package/dist/lang/fa-IR.umd.prod.js +1 -1
  56. package/dist/lang/fa.umd.prod.js +1 -1
  57. package/dist/lang/fi.umd.prod.js +1 -1
  58. package/dist/lang/fr.umd.prod.js +1 -1
  59. package/dist/lang/gn.umd.prod.js +1 -1
  60. package/dist/lang/he.umd.prod.js +1 -1
  61. package/dist/lang/hr.umd.prod.js +1 -1
  62. package/dist/lang/hu.umd.prod.js +1 -1
  63. package/dist/lang/id.umd.prod.js +1 -1
  64. package/dist/lang/is.umd.prod.js +1 -1
  65. package/dist/lang/it.umd.prod.js +1 -1
  66. package/dist/lang/ja.umd.prod.js +1 -1
  67. package/dist/lang/km.umd.prod.js +1 -1
  68. package/dist/lang/ko-KR.umd.prod.js +1 -1
  69. package/dist/lang/kur-CKB.umd.prod.js +1 -1
  70. package/dist/lang/lt.umd.prod.js +6 -0
  71. package/dist/lang/lu.umd.prod.js +1 -1
  72. package/dist/lang/lv.umd.prod.js +1 -1
  73. package/dist/lang/ml.umd.prod.js +1 -1
  74. package/dist/lang/ms.umd.prod.js +1 -1
  75. package/dist/lang/nb-NO.umd.prod.js +1 -1
  76. package/dist/lang/nl.umd.prod.js +1 -1
  77. package/dist/lang/pl.umd.prod.js +1 -1
  78. package/dist/lang/pt-BR.umd.prod.js +1 -1
  79. package/dist/lang/pt.umd.prod.js +1 -1
  80. package/dist/lang/ro.umd.prod.js +1 -1
  81. package/dist/lang/ru.umd.prod.js +1 -1
  82. package/dist/lang/sk.umd.prod.js +1 -1
  83. package/dist/lang/sl.umd.prod.js +1 -1
  84. package/dist/lang/sr-CYR.umd.prod.js +1 -1
  85. package/dist/lang/sr.umd.prod.js +1 -1
  86. package/dist/lang/sv.umd.prod.js +1 -1
  87. package/dist/lang/ta.umd.prod.js +1 -1
  88. package/dist/lang/th.umd.prod.js +1 -1
  89. package/dist/lang/tr.umd.prod.js +1 -1
  90. package/dist/lang/ug.umd.prod.js +2 -2
  91. package/dist/lang/uk.umd.prod.js +1 -1
  92. package/dist/lang/vi.umd.prod.js +1 -1
  93. package/dist/lang/zh-CN.umd.prod.js +1 -1
  94. package/dist/lang/zh-TW.umd.prod.js +1 -1
  95. package/dist/quasar.cjs.prod.js +2 -2
  96. package/dist/quasar.css +24 -23
  97. package/dist/quasar.esm.prod.js +2 -2
  98. package/dist/quasar.prod.css +1 -1
  99. package/dist/quasar.rtl.css +29 -28
  100. package/dist/quasar.rtl.prod.css +1 -1
  101. package/dist/quasar.sass +24 -18
  102. package/dist/quasar.umd.js +538 -391
  103. package/dist/quasar.umd.prod.js +2 -2
  104. package/dist/ssr-directives/Morph.js +1 -1
  105. package/dist/types/index.d.ts +81 -12
  106. package/dist/vetur/quasar-attributes.json +39 -7
  107. package/dist/vetur/quasar-tags.json +9 -1
  108. package/dist/web-types/web-types.json +101 -15
  109. package/lang/index.json +4 -0
  110. package/lang/lt.js +103 -0
  111. package/lang/ug.js +42 -42
  112. package/package.json +1 -1
  113. package/src/components/ajax-bar/QAjaxBar.js +3 -2
  114. package/src/components/avatar/QAvatar.js +3 -2
  115. package/src/components/badge/QBadge.js +3 -2
  116. package/src/components/banner/QBanner.js +3 -2
  117. package/src/components/bar/QBar.js +3 -2
  118. package/src/components/breadcrumbs/QBreadcrumbs.js +3 -2
  119. package/src/components/breadcrumbs/QBreadcrumbsEl.js +3 -2
  120. package/src/components/btn/QBtn.js +19 -21
  121. package/src/components/btn-dropdown/QBtnDropdown.js +3 -2
  122. package/src/components/btn-group/QBtnGroup.js +3 -2
  123. package/src/components/btn-toggle/QBtnToggle.js +3 -2
  124. package/src/components/card/QCard.js +3 -2
  125. package/src/components/card/QCardActions.js +3 -2
  126. package/src/components/card/QCardSection.js +3 -2
  127. package/src/components/carousel/QCarousel.js +11 -3
  128. package/src/components/carousel/QCarousel.json +9 -1
  129. package/src/components/carousel/QCarouselControl.js +3 -2
  130. package/src/components/carousel/QCarouselSlide.js +3 -2
  131. package/src/components/chat/QChatMessage.js +3 -2
  132. package/src/components/checkbox/QCheckbox.js +3 -2
  133. package/src/components/chip/QChip.js +3 -2
  134. package/src/components/circular-progress/QCircularProgress.js +3 -2
  135. package/src/components/color/QColor.js +76 -63
  136. package/src/components/color/QColor.json +7 -0
  137. package/src/components/color/QColor.sass +5 -1
  138. package/src/components/date/QDate.js +5 -3
  139. package/src/components/dialog/QDialog.js +9 -2
  140. package/src/components/dialog-bottom-sheet/BottomSheet.js +3 -2
  141. package/src/components/dialog-plugin/DialogPlugin.js +3 -2
  142. package/src/components/drawer/QDrawer.js +6 -2
  143. package/src/components/editor/QEditor.js +3 -2
  144. package/src/components/expansion-item/QExpansionItem.js +3 -2
  145. package/src/components/fab/QFab.js +3 -2
  146. package/src/components/fab/QFabAction.js +3 -2
  147. package/src/components/field/QField.js +3 -3
  148. package/src/components/file/QFile.js +3 -2
  149. package/src/components/footer/QFooter.js +3 -2
  150. package/src/components/form/QForm.js +3 -2
  151. package/src/components/header/QHeader.js +3 -2
  152. package/src/components/icon/QIcon.js +4 -2
  153. package/src/components/img/QImg.js +5 -2
  154. package/src/components/infinite-scroll/QInfiniteScroll.js +3 -2
  155. package/src/components/inner-loading/QInnerLoading.js +34 -9
  156. package/src/components/inner-loading/QInnerLoading.json +29 -0
  157. package/src/components/inner-loading/QInnerLoading.sass +4 -0
  158. package/src/components/input/QInput.js +3 -2
  159. package/src/components/intersection/QIntersection.js +3 -2
  160. package/src/components/item/QItem.js +3 -2
  161. package/src/components/item/QItemLabel.js +3 -2
  162. package/src/components/item/QItemSection.js +3 -2
  163. package/src/components/item/QList.js +3 -3
  164. package/src/components/knob/QKnob.js +3 -2
  165. package/src/components/layout/QLayout.js +3 -2
  166. package/src/components/linear-progress/QLinearProgress.js +3 -2
  167. package/src/components/markup-table/QMarkupTable.js +3 -2
  168. package/src/components/menu/QMenu.js +4 -3
  169. package/src/components/no-ssr/QNoSsr.js +3 -2
  170. package/src/components/option-group/QOptionGroup.js +33 -21
  171. package/src/components/option-group/QOptionGroup.json +50 -1
  172. package/src/components/page/QPage.js +3 -2
  173. package/src/components/page/QPageContainer.js +3 -2
  174. package/src/components/page-scroller/QPageScroller.js +4 -2
  175. package/src/components/page-sticky/QPageSticky.js +2 -3
  176. package/src/components/pagination/QPagination.js +3 -2
  177. package/src/components/parallax/QParallax.js +3 -2
  178. package/src/components/popup-edit/QPopupEdit.js +3 -2
  179. package/src/components/popup-proxy/QPopupProxy.js +4 -2
  180. package/src/components/pull-to-refresh/QPullToRefresh.js +3 -2
  181. package/src/components/radio/QRadio.js +3 -2
  182. package/src/components/range/QRange.js +4 -3
  183. package/src/components/range/QRange.json +7 -3
  184. package/src/components/rating/QRating.js +65 -44
  185. package/src/components/rating/QRating.sass +8 -6
  186. package/src/components/resize-observer/QResizeObserver.js +3 -2
  187. package/src/components/responsive/QResponsive.js +3 -2
  188. package/src/components/scroll-area/QScrollArea.js +3 -2
  189. package/src/components/scroll-observer/QScrollObserver.js +3 -2
  190. package/src/components/select/QSelect.js +3 -2
  191. package/src/components/separator/QSeparator.js +4 -2
  192. package/src/components/separator/QSeparator.json +1 -1
  193. package/src/components/skeleton/QSkeleton.js +18 -7
  194. package/src/components/skeleton/QSkeleton.json +9 -0
  195. package/src/components/skeleton/QSkeleton.sass +7 -6
  196. package/src/components/slide-item/QSlideItem.js +3 -2
  197. package/src/components/slide-transition/QSlideTransition.js +4 -2
  198. package/src/components/slider/QSlider.js +4 -3
  199. package/src/components/slider/QSlider.json +7 -3
  200. package/src/components/slider/use-slider.js +7 -2
  201. package/src/components/space/QSpace.js +4 -2
  202. package/src/components/spinner/QSpinner.js +4 -2
  203. package/src/components/spinner/QSpinnerAudio.js +4 -2
  204. package/src/components/spinner/QSpinnerBall.js +4 -2
  205. package/src/components/spinner/QSpinnerBars.js +4 -2
  206. package/src/components/spinner/QSpinnerBox.js +4 -2
  207. package/src/components/spinner/QSpinnerClock.js +4 -2
  208. package/src/components/spinner/QSpinnerComment.js +4 -2
  209. package/src/components/spinner/QSpinnerCube.js +4 -2
  210. package/src/components/spinner/QSpinnerDots.js +4 -2
  211. package/src/components/spinner/QSpinnerFacebook.js +4 -2
  212. package/src/components/spinner/QSpinnerGears.js +4 -2
  213. package/src/components/spinner/QSpinnerGrid.js +4 -2
  214. package/src/components/spinner/QSpinnerHearts.js +4 -2
  215. package/src/components/spinner/QSpinnerHourglass.js +4 -2
  216. package/src/components/spinner/QSpinnerInfinity.js +4 -2
  217. package/src/components/spinner/QSpinnerIos.js +4 -2
  218. package/src/components/spinner/QSpinnerOrbit.js +4 -2
  219. package/src/components/spinner/QSpinnerOval.js +4 -2
  220. package/src/components/spinner/QSpinnerPie.js +4 -2
  221. package/src/components/spinner/QSpinnerPuff.js +4 -2
  222. package/src/components/spinner/QSpinnerRadio.js +4 -2
  223. package/src/components/spinner/QSpinnerRings.js +4 -2
  224. package/src/components/spinner/QSpinnerTail.js +4 -2
  225. package/src/components/splitter/QSplitter.js +3 -2
  226. package/src/components/stepper/QStep.js +3 -2
  227. package/src/components/stepper/QStepper.js +3 -2
  228. package/src/components/stepper/QStepperNavigation.js +3 -2
  229. package/src/components/stepper/StepHeader.js +12 -10
  230. package/src/components/tab-panels/QTabPanel.js +4 -2
  231. package/src/components/tab-panels/QTabPanels.js +3 -2
  232. package/src/components/table/QTable.js +4 -2
  233. package/src/components/table/QTable.json +1 -0
  234. package/src/components/table/QTd.js +3 -2
  235. package/src/components/table/QTh.js +3 -2
  236. package/src/components/table/QTr.js +3 -2
  237. package/src/components/tabs/QRouteTab.js +4 -2
  238. package/src/components/tabs/QTab.js +3 -3
  239. package/src/components/tabs/QTabs.js +3 -2
  240. package/src/components/tabs/use-tab.js +11 -9
  241. package/src/components/time/QTime.js +3 -4
  242. package/src/components/timeline/QTimeline.js +3 -2
  243. package/src/components/timeline/QTimelineEntry.js +3 -2
  244. package/src/components/toggle/QToggle.js +5 -2
  245. package/src/components/toolbar/QToolbar.js +3 -2
  246. package/src/components/toolbar/QToolbarTitle.js +3 -2
  247. package/src/components/tooltip/QTooltip.js +3 -2
  248. package/src/components/tree/QTree.js +3 -2
  249. package/src/components/uploader/QUploaderAddTrigger.js +3 -2
  250. package/src/components/video/QVideo.js +4 -2
  251. package/src/components/virtual-scroll/QVirtualScroll.js +3 -2
  252. package/src/composables/private/use-panel.js +13 -8
  253. package/src/composables/private/use-panel.json +11 -2
  254. package/src/css/core/transitions.sass +4 -4
  255. package/src/css/normalize.sass +0 -7
  256. package/src/directives/ClosePopup.js +3 -1
  257. package/src/directives/Intersection.js +3 -1
  258. package/src/directives/Morph.js +4 -1
  259. package/src/directives/Mutation.js +3 -1
  260. package/src/directives/Ripple.js +3 -1
  261. package/src/directives/Scroll.js +3 -1
  262. package/src/directives/ScrollFire.js +3 -1
  263. package/src/directives/TouchHold.js +4 -1
  264. package/src/directives/TouchPan.js +4 -1
  265. package/src/directives/TouchRepeat.js +4 -1
  266. package/src/directives/TouchSwipe.js +4 -1
  267. package/src/plugins/Notify.js +4 -3
  268. package/src/utils/create-uploader-component.js +3 -3
  269. package/src/utils/date.js +93 -60
  270. package/src/utils/private/create.js +4 -0
@@ -1,10 +1,11 @@
1
- import { h, defineComponent, ref, markRaw, TransitionGroup } from 'vue'
1
+ import { h, ref, markRaw, TransitionGroup } from 'vue'
2
2
 
3
3
  import QAvatar from '../components/avatar/QAvatar.js'
4
4
  import QIcon from '../components/icon/QIcon.js'
5
5
  import QBtn from '../components/btn/QBtn.js'
6
6
  import QSpinner from '../components/spinner/QSpinner.js'
7
7
 
8
+ import { createComponent } from '../utils/private/create.js'
8
9
  import { noop } from '../utils/event.js'
9
10
  import { createGlobalNode } from '../utils/private/global-nodes.js'
10
11
  import { createChildApp } from '../install-quasar.js'
@@ -62,9 +63,9 @@ function logError (error, config) {
62
63
  }
63
64
 
64
65
  function getComponent ($q) {
65
- return defineComponent({
66
+ return createComponent({
66
67
  name: 'QNotifications',
67
-
68
+
68
69
  // hide App from Vue devtools
69
70
  devtools: { hide: true },
70
71
 
@@ -1,8 +1,8 @@
1
- import { defineComponent } from 'vue'
2
-
3
1
  import { coreProps, coreEmits, getRenderer } from '../components/uploader/uploader-core.js'
4
2
 
5
- export default ({ name, props, emits, injectPlugin }) => defineComponent({
3
+ import { createComponent } from './private/create.js'
4
+
5
+ export default ({ name, props, emits, injectPlugin }) => createComponent({
6
6
  name,
7
7
 
8
8
  props: {
package/src/utils/date.js CHANGED
@@ -161,6 +161,96 @@ function getDateLocale (paramDateLocale, langProps) {
161
161
  )
162
162
  }
163
163
 
164
+ function formatTimezone (offset, delimeter = '') {
165
+ const
166
+ sign = offset > 0 ? '-' : '+',
167
+ absOffset = Math.abs(offset),
168
+ hours = Math.floor(absOffset / 60),
169
+ minutes = absOffset % 60
170
+
171
+ return sign + pad(hours) + delimeter + pad(minutes)
172
+ }
173
+
174
+ function applyYearMonthDayChange (date, mod, sign) {
175
+ let
176
+ year = date.getFullYear(),
177
+ month = date.getMonth(),
178
+ day = date.getDate()
179
+
180
+ if (mod.years !== void 0) {
181
+ year += sign * mod.years
182
+ }
183
+
184
+ if (mod.months !== void 0) {
185
+ month += sign * mod.months
186
+ }
187
+
188
+ if (mod.days !== void 0) {
189
+ day += sign * mod.days
190
+ }
191
+
192
+ date.setDate(1)
193
+ date.setMonth(2)
194
+
195
+ date.setFullYear(year)
196
+ date.setMonth(month)
197
+ date.setDate(day)
198
+
199
+ return date
200
+ }
201
+
202
+ function getChange (date, mod, sign) {
203
+ const
204
+ d = new Date(date),
205
+ t = mod.years !== void 0 || mod.months !== void 0 || mod.days !== void 0
206
+ ? applyYearMonthDayChange(d, mod, sign)
207
+ : d
208
+
209
+ Object.keys(mod).forEach(key => {
210
+ if (key !== 'years' && key !== 'months' && key !== 'days') {
211
+ const op = capitalize(key)
212
+ t[ `set${ op }` ](t[ `get${ op }` ]() + sign * mod[ key ])
213
+ }
214
+ })
215
+
216
+ return t
217
+ }
218
+
219
+ function applyYearMonthDay (date, mod, middle) {
220
+ const
221
+ year = mod.year !== void 0 ? mod.year : date[ `get${ middle }FullYear` ](),
222
+ month = mod.month !== void 0 ? mod.month - 1 : date[ `get${ middle }Month` ](),
223
+ maxDay = (new Date(year, month + 1, 0)).getDate(),
224
+ day = Math.min(maxDay, mod.date !== void 0 ? mod.date : date[ `get${ middle }Date` ]())
225
+
226
+ date[ `set${ middle }Date` ](1)
227
+ date[ `set${ middle }Month` ](2)
228
+
229
+ date[ `set${ middle }FullYear` ](year)
230
+ date[ `set${ middle }Month` ](month)
231
+ date[ `set${ middle }Date` ](day)
232
+
233
+ return date
234
+ }
235
+
236
+ export function adjustDate (date, mod, utc) {
237
+ const
238
+ middle = utc === true ? 'UTC' : '',
239
+ d = new Date(date),
240
+ t = mod.year !== void 0 || mod.month !== void 0 || mod.date !== void 0
241
+ ? applyYearMonthDay(d, mod, middle)
242
+ : d
243
+
244
+ Object.keys(mod).forEach(key => {
245
+ if (key !== 'year' && key !== 'month' && key !== 'date') {
246
+ const op = key.charAt(0).toUpperCase() + key.slice(1)
247
+ t[ `set${ middle }${ op }` ](mod[ key ])
248
+ }
249
+ })
250
+
251
+ return t
252
+ }
253
+
164
254
  export function extractDate (str, mask, dateLocale) {
165
255
  const d = __splitDate(str, mask, dateLocale)
166
256
 
@@ -178,7 +268,7 @@ export function extractDate (str, mask, dateLocale) {
178
268
 
179
269
  return d.timezoneOffset === null || d.timezoneOffset === tzOffset
180
270
  ? date
181
- : getChange(date, { minutes: d.timezoneOffset - tzOffset }, true)
271
+ : getChange(date, { minutes: d.timezoneOffset - tzOffset }, 1)
182
272
  }
183
273
 
184
274
  export function __splitDate (str, mask, dateLocale, calendar, defaultModel) {
@@ -319,43 +409,6 @@ export function __splitDate (str, mask, dateLocale, calendar, defaultModel) {
319
409
  return date
320
410
  }
321
411
 
322
- function formatTimezone (offset, delimeter = '') {
323
- const
324
- sign = offset > 0 ? '-' : '+',
325
- absOffset = Math.abs(offset),
326
- hours = Math.floor(absOffset / 60),
327
- minutes = absOffset % 60
328
-
329
- return sign + pad(hours) + delimeter + pad(minutes)
330
- }
331
-
332
- function setMonth (date, newMonth /* 1-based */) {
333
- const
334
- test = new Date(date.getFullYear(), newMonth, 0, 0, 0, 0, 0),
335
- days = test.getDate()
336
-
337
- date.setMonth(newMonth - 1, Math.min(days, date.getDate()))
338
- }
339
-
340
- function getChange (date, mod, add) {
341
- const
342
- t = new Date(date),
343
- sign = (add ? 1 : -1)
344
-
345
- Object.keys(mod).forEach(key => {
346
- if (key === 'months') {
347
- setMonth(t, t.getMonth() + 1 + sign * mod.months)
348
- return
349
- }
350
-
351
- const op = key === 'years'
352
- ? 'FullYear'
353
- : capitalize(key === 'days' ? 'date' : key)
354
- t[ `set${ op }` ](t[ `get${ op }` ]() + sign * mod[ key ])
355
- })
356
- return t
357
- }
358
-
359
412
  export function isValid (date) {
360
413
  return typeof date === 'number'
361
414
  ? true
@@ -413,30 +466,10 @@ export function isBetweenDates (date, from, to, opts = {}) {
413
466
  }
414
467
 
415
468
  export function addToDate (date, mod) {
416
- return getChange(date, mod, true)
469
+ return getChange(date, mod, 1)
417
470
  }
418
471
  export function subtractFromDate (date, mod) {
419
- return getChange(date, mod, false)
420
- }
421
-
422
- export function adjustDate (date, mod, utc) {
423
- const
424
- t = new Date(date),
425
- prefix = `set${ utc === true ? 'UTC' : '' }`
426
-
427
- Object.keys(mod).forEach(key => {
428
- if (key === 'month') {
429
- setMonth(t, mod.month)
430
- return
431
- }
432
-
433
- const op = key === 'year'
434
- ? 'FullYear'
435
- : key.charAt(0).toUpperCase() + key.slice(1)
436
- t[ `${ prefix }${ op }` ](mod[ key ])
437
- })
438
-
439
- return t
472
+ return getChange(date, mod, -1)
440
473
  }
441
474
 
442
475
  export function startOfDate (date, unit, utc) {
@@ -0,0 +1,4 @@
1
+ import { defineComponent, markRaw } from 'vue'
2
+
3
+ export const createComponent = raw => markRaw(defineComponent(raw))
4
+ export const createDirective = raw => markRaw(raw)