@vuetify/nightly 3.6.8-master.2024-06-07 → 3.6.9-dev.2024-06-20

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 (107) hide show
  1. package/CHANGELOG.md +14 -6
  2. package/dist/json/attributes.json +293 -121
  3. package/dist/json/importMap-labs.json +20 -20
  4. package/dist/json/importMap.json +164 -164
  5. package/dist/json/tags.json +49 -6
  6. package/dist/json/web-types.json +610 -221
  7. package/dist/vuetify-labs.css +3032 -3016
  8. package/dist/vuetify-labs.d.ts +1096 -821
  9. package/dist/vuetify-labs.esm.js +93 -44
  10. package/dist/vuetify-labs.esm.js.map +1 -1
  11. package/dist/vuetify-labs.js +93 -44
  12. package/dist/vuetify-labs.min.css +2 -2
  13. package/dist/vuetify.css +928 -912
  14. package/dist/vuetify.d.ts +905 -708
  15. package/dist/vuetify.esm.js +81 -38
  16. package/dist/vuetify.esm.js.map +1 -1
  17. package/dist/vuetify.js +81 -38
  18. package/dist/vuetify.js.map +1 -1
  19. package/dist/vuetify.min.css +2 -2
  20. package/dist/vuetify.min.js +51 -48
  21. package/dist/vuetify.min.js.map +1 -1
  22. package/lib/blueprints/index.d.mts +58 -56
  23. package/lib/blueprints/md1.d.mts +58 -56
  24. package/lib/blueprints/md2.d.mts +58 -56
  25. package/lib/blueprints/md3.d.mts +58 -56
  26. package/lib/components/VAppBar/index.d.mts +6 -0
  27. package/lib/components/VAutocomplete/index.d.mts +49 -49
  28. package/lib/components/VAvatar/VAvatar.css +7 -0
  29. package/lib/components/VAvatar/VAvatar.mjs +6 -1
  30. package/lib/components/VAvatar/VAvatar.mjs.map +1 -1
  31. package/lib/components/VAvatar/VAvatar.sass +1 -0
  32. package/lib/components/VAvatar/_variables.scss +13 -0
  33. package/lib/components/VAvatar/index.d.mts +6 -0
  34. package/lib/components/VBottomSheet/index.d.mts +7 -7
  35. package/lib/components/VBreadcrumbs/index.d.mts +8 -8
  36. package/lib/components/VBtn/VBtn.mjs +3 -1
  37. package/lib/components/VBtn/VBtn.mjs.map +1 -1
  38. package/lib/components/VBtn/index.d.mts +6 -0
  39. package/lib/components/VCarousel/index.d.mts +16 -7
  40. package/lib/components/VCheckbox/index.d.mts +6 -6
  41. package/lib/components/VCombobox/index.d.mts +49 -49
  42. package/lib/components/VDialog/index.d.mts +31 -31
  43. package/lib/components/VExpansionPanel/VExpansionPanel.mjs +23 -11
  44. package/lib/components/VExpansionPanel/VExpansionPanel.mjs.map +1 -1
  45. package/lib/components/VExpansionPanel/VExpansionPanelTitle.mjs +20 -7
  46. package/lib/components/VExpansionPanel/VExpansionPanelTitle.mjs.map +1 -1
  47. package/lib/components/VExpansionPanel/index.d.mts +122 -14
  48. package/lib/components/VFab/VFab.mjs +4 -7
  49. package/lib/components/VFab/VFab.mjs.map +1 -1
  50. package/lib/components/VFab/index.d.mts +52 -49
  51. package/lib/components/VFileInput/index.d.mts +18 -18
  52. package/lib/components/VForm/index.d.mts +9 -9
  53. package/lib/components/VGrid/VContainer.mjs +6 -1
  54. package/lib/components/VGrid/VContainer.mjs.map +1 -1
  55. package/lib/components/VGrid/index.d.mts +36 -0
  56. package/lib/components/VImg/VImg.css +9 -0
  57. package/lib/components/VImg/VImg.mjs +2 -0
  58. package/lib/components/VImg/VImg.mjs.map +1 -1
  59. package/lib/components/VImg/VImg.sass +9 -0
  60. package/lib/components/VImg/index.d.mts +16 -7
  61. package/lib/components/VInput/index.d.mts +6 -6
  62. package/lib/components/VList/VList.mjs +1 -0
  63. package/lib/components/VList/VList.mjs.map +1 -1
  64. package/lib/components/VList/index.d.mts +14 -12
  65. package/lib/components/VMenu/VMenu.mjs +1 -1
  66. package/lib/components/VMenu/VMenu.mjs.map +1 -1
  67. package/lib/components/VMenu/index.d.mts +33 -33
  68. package/lib/components/VOverlay/VOverlay.mjs +4 -3
  69. package/lib/components/VOverlay/VOverlay.mjs.map +1 -1
  70. package/lib/components/VOverlay/index.d.mts +7 -7
  71. package/lib/components/VRadioGroup/index.d.mts +6 -6
  72. package/lib/components/VRangeSlider/index.d.mts +6 -6
  73. package/lib/components/VSelect/index.d.mts +49 -49
  74. package/lib/components/VSlider/index.d.mts +6 -6
  75. package/lib/components/VSnackbar/index.d.mts +33 -33
  76. package/lib/components/VSpeedDial/index.d.mts +9 -9
  77. package/lib/components/VSwitch/index.d.mts +6 -6
  78. package/lib/components/VTabs/index.d.mts +21 -3
  79. package/lib/components/VTextField/index.d.mts +18 -18
  80. package/lib/components/VTextarea/index.d.mts +18 -18
  81. package/lib/components/VTooltip/index.d.mts +39 -39
  82. package/lib/components/VValidation/index.d.mts +9 -8
  83. package/lib/components/index.d.mts +707 -509
  84. package/lib/composables/goto.mjs.map +1 -1
  85. package/lib/composables/icons.mjs.map +1 -1
  86. package/lib/composables/scroll.mjs +6 -0
  87. package/lib/composables/scroll.mjs.map +1 -1
  88. package/lib/composables/validation.mjs +8 -6
  89. package/lib/composables/validation.mjs.map +1 -1
  90. package/lib/entry-bundler.mjs +1 -1
  91. package/lib/entry-bundler.mjs.map +1 -1
  92. package/lib/framework.mjs +1 -1
  93. package/lib/framework.mjs.map +1 -1
  94. package/lib/index.d.mts +164 -165
  95. package/lib/labs/VDateInput/index.d.mts +6 -6
  96. package/lib/labs/VNumberInput/index.d.mts +6 -6
  97. package/lib/labs/VSnackbarQueue/index.d.mts +42 -42
  98. package/lib/labs/VStepperVertical/index.d.mts +93 -21
  99. package/lib/labs/VTimePicker/VTimePickerClock.mjs +3 -1
  100. package/lib/labs/VTimePicker/VTimePickerClock.mjs.map +1 -1
  101. package/lib/labs/VTimePicker/VTimePickerControls.mjs +7 -2
  102. package/lib/labs/VTimePicker/VTimePickerControls.mjs.map +1 -1
  103. package/lib/labs/VTreeview/VTreeview.mjs +3 -4
  104. package/lib/labs/VTreeview/VTreeview.mjs.map +1 -1
  105. package/lib/labs/VTreeview/index.d.mts +22 -16
  106. package/lib/labs/components.d.mts +166 -88
  107. package/package.json +1 -1
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Vuetify v3.6.8-master.2024-06-07
2
+ * Vuetify v3.6.9-dev.2024-06-20
3
3
  * Forged by John Leider
4
4
  * Released under the MIT License.
5
5
  */
@@ -3688,6 +3688,7 @@ const Intersect = {
3688
3688
  // not intended for public use, this is passed in by vuetify-loader
3689
3689
 
3690
3690
  const makeVImgProps = propsFactory({
3691
+ absolute: Boolean,
3691
3692
  alt: String,
3692
3693
  cover: Boolean,
3693
3694
  color: String,
@@ -3944,6 +3945,7 @@ const VImg = genericComponent()({
3944
3945
  const responsiveProps = VResponsive.filterProps(props);
3945
3946
  return withDirectives(createVNode(VResponsive, mergeProps({
3946
3947
  "class": ['v-img', {
3948
+ 'v-img--absolute': props.absolute,
3947
3949
  'v-img--booting': !isBooted.value
3948
3950
  }, backgroundColorClasses.value, roundedClasses.value, props.class],
3949
3951
  "style": [{
@@ -4196,6 +4198,7 @@ function useScroll(props) {
4196
4198
  canScroll
4197
4199
  } = args;
4198
4200
  let previousScroll = 0;
4201
+ let previousScrollHeight = 0;
4199
4202
  const target = ref(null);
4200
4203
  const currentScroll = shallowRef(0);
4201
4204
  const savedScroll = shallowRef(0);
@@ -4218,6 +4221,11 @@ function useScroll(props) {
4218
4221
  if (!targetEl || canScroll && !canScroll.value) return;
4219
4222
  previousScroll = currentScroll.value;
4220
4223
  currentScroll.value = 'window' in targetEl ? targetEl.pageYOffset : targetEl.scrollTop;
4224
+ const currentScrollHeight = targetEl instanceof Window ? document.documentElement.scrollHeight : targetEl.scrollHeight;
4225
+ if (previousScrollHeight !== currentScrollHeight) {
4226
+ previousScrollHeight = currentScrollHeight;
4227
+ return;
4228
+ }
4221
4229
  isScrollingUp.value = currentScroll.value < previousScroll;
4222
4230
  currentThreshold.value = Math.abs(currentScroll.value - scrollThreshold.value);
4223
4231
  };
@@ -5737,6 +5745,7 @@ const makeVBtnProps = propsFactory({
5737
5745
  type: Boolean,
5738
5746
  default: undefined
5739
5747
  },
5748
+ activeColor: String,
5740
5749
  baseColor: String,
5741
5750
  symbol: {
5742
5751
  type: null,
@@ -5828,10 +5837,11 @@ const VBtn = genericComponent()({
5828
5837
  }
5829
5838
  return group?.isSelected.value;
5830
5839
  });
5840
+ const color = computed(() => isActive.value ? props.activeColor ?? props.color : props.color);
5831
5841
  const variantProps = computed(() => {
5832
5842
  const showColor = group?.isSelected.value && (!link.isLink.value || link.isActive?.value) || !group || link.isActive?.value;
5833
5843
  return {
5834
- color: showColor ? props.color ?? props.baseColor : props.baseColor,
5844
+ color: showColor ? color.value ?? props.baseColor : props.baseColor,
5835
5845
  variant: props.variant
5836
5846
  };
5837
5847
  });
@@ -6172,6 +6182,7 @@ const makeVAvatarProps = propsFactory({
6172
6182
  icon: IconValue,
6173
6183
  image: String,
6174
6184
  text: String,
6185
+ ...makeBorderProps(),
6175
6186
  ...makeComponentProps(),
6176
6187
  ...makeDensityProps(),
6177
6188
  ...makeRoundedProps(),
@@ -6192,6 +6203,9 @@ const VAvatar = genericComponent()({
6192
6203
  const {
6193
6204
  themeClasses
6194
6205
  } = provideTheme(props);
6206
+ const {
6207
+ borderClasses
6208
+ } = useBorder(props);
6195
6209
  const {
6196
6210
  colorClasses,
6197
6211
  colorStyles,
@@ -6211,7 +6225,7 @@ const VAvatar = genericComponent()({
6211
6225
  "class": ['v-avatar', {
6212
6226
  'v-avatar--start': props.start,
6213
6227
  'v-avatar--end': props.end
6214
- }, themeClasses.value, colorClasses.value, densityClasses.value, roundedClasses.value, sizeClasses.value, variantClasses.value, props.class],
6228
+ }, themeClasses.value, borderClasses.value, colorClasses.value, densityClasses.value, roundedClasses.value, sizeClasses.value, variantClasses.value, props.class],
6215
6229
  "style": [colorStyles.value, sizeStyles.value, props.style]
6216
6230
  }, {
6217
6231
  default: () => [!slots.default ? props.image ? createVNode(VImg, {
@@ -6911,12 +6925,14 @@ function useValidation(props) {
6911
6925
  const validateOn = computed(() => {
6912
6926
  let value = (props.validateOn ?? form?.validateOn.value) || 'input';
6913
6927
  if (value === 'lazy') value = 'input lazy';
6928
+ if (value === 'eager') value = 'input eager';
6914
6929
  const set = new Set(value?.split(' ') ?? []);
6915
6930
  return {
6916
- blur: set.has('blur') || set.has('input'),
6917
6931
  input: set.has('input'),
6918
- submit: set.has('submit'),
6919
- lazy: set.has('lazy')
6932
+ blur: set.has('blur') || set.has('input') || set.has('invalid-input'),
6933
+ invalidInput: set.has('invalid-input'),
6934
+ lazy: set.has('lazy'),
6935
+ eager: set.has('eager')
6920
6936
  };
6921
6937
  });
6922
6938
  const isValid = computed(() => {
@@ -6953,11 +6969,11 @@ function useValidation(props) {
6953
6969
  });
6954
6970
  onMounted(async () => {
6955
6971
  if (!validateOn.value.lazy) {
6956
- await validate(true);
6972
+ await validate(!validateOn.value.eager);
6957
6973
  }
6958
6974
  form?.update(uid.value, isValid.value, errorMessages.value);
6959
6975
  });
6960
- useToggleScope(() => validateOn.value.input, () => {
6976
+ useToggleScope(() => validateOn.value.input || validateOn.value.invalidInput && isValid.value === false, () => {
6961
6977
  watch(validationModel, () => {
6962
6978
  if (validationModel.value != null) {
6963
6979
  validate();
@@ -6985,7 +7001,7 @@ function useValidation(props) {
6985
7001
  async function resetValidation() {
6986
7002
  isPristine.value = true;
6987
7003
  if (!validateOn.value.lazy) {
6988
- await validate(true);
7004
+ await validate(!validateOn.value.eager);
6989
7005
  } else {
6990
7006
  internalErrorMessages.value = [];
6991
7007
  }
@@ -9617,6 +9633,7 @@ const makeVListProps = propsFactory({
9617
9633
  nav: Boolean,
9618
9634
  'onClick:open': EventProp(),
9619
9635
  'onClick:select': EventProp(),
9636
+ 'onUpdate:opened': EventProp(),
9620
9637
  ...makeNestedProps({
9621
9638
  selectStrategy: 'single-leaf',
9622
9639
  openStrategy: 'list'
@@ -11020,9 +11037,6 @@ const VOverlay = genericComponent()({
11020
11037
  if (!(v && props.disabled)) model.value = v;
11021
11038
  }
11022
11039
  });
11023
- const {
11024
- teleportTarget
11025
- } = useTeleport(computed(() => props.attach || props.contained));
11026
11040
  const {
11027
11041
  themeClasses
11028
11042
  } = provideTheme(props);
@@ -11055,6 +11069,10 @@ const VOverlay = genericComponent()({
11055
11069
  isActive,
11056
11070
  isTop: localTop
11057
11071
  });
11072
+ const potentialShadowDomRoot = computed(() => activatorEl?.value?.getRootNode());
11073
+ const {
11074
+ teleportTarget
11075
+ } = useTeleport(computed(() => props.attach || props.contained || potentialShadowDomRoot.value instanceof ShadowRoot ? potentialShadowDomRoot.value : false));
11058
11076
  const {
11059
11077
  dimensionStyles
11060
11078
  } = useDimension(props);
@@ -11397,7 +11415,7 @@ const VMenu = genericComponent()({
11397
11415
  function onKeydown(e) {
11398
11416
  if (props.disabled) return;
11399
11417
  if (e.key === 'Tab' || e.key === 'Enter' && !props.closeOnContentClick) {
11400
- if (e.key === 'Enter' && e.target instanceof HTMLTextAreaElement) return;
11418
+ if (e.key === 'Enter' && (e.target instanceof HTMLTextAreaElement || e.target instanceof HTMLInputElement && !!e.target.closest('form'))) return;
11401
11419
  if (e.key === 'Enter') e.preventDefault();
11402
11420
  const nextElement = getNextElement(focusableChildren(overlay.value?.contentEl, false), e.shiftKey ? 'prev' : 'next', el => el.tabIndex >= 0);
11403
11421
  if (!nextElement) {
@@ -21125,6 +21143,7 @@ const makeVContainerProps = propsFactory({
21125
21143
  default: false
21126
21144
  },
21127
21145
  ...makeComponentProps(),
21146
+ ...makeDimensionProps(),
21128
21147
  ...makeTagProps()
21129
21148
  }, 'VContainer');
21130
21149
  const VContainer = genericComponent()({
@@ -21137,11 +21156,14 @@ const VContainer = genericComponent()({
21137
21156
  const {
21138
21157
  rtlClasses
21139
21158
  } = useRtl();
21159
+ const {
21160
+ dimensionStyles
21161
+ } = useDimension(props);
21140
21162
  useRender(() => createVNode(props.tag, {
21141
21163
  "class": ['v-container', {
21142
21164
  'v-container--fluid': props.fluid
21143
21165
  }, rtlClasses.value, props.class],
21144
- "style": props.style
21166
+ "style": [dimensionStyles.value, props.style]
21145
21167
  }, slots));
21146
21168
  return {};
21147
21169
  }
@@ -22551,7 +22573,8 @@ const makeVExpansionPanelTitleProps = propsFactory({
22551
22573
  default: false
22552
22574
  },
22553
22575
  readonly: Boolean,
22554
- ...makeComponentProps()
22576
+ ...makeComponentProps(),
22577
+ ...makeDimensionProps()
22555
22578
  }, 'VExpansionPanelTitle');
22556
22579
  const VExpansionPanelTitle = genericComponent()({
22557
22580
  name: 'VExpansionPanelTitle',
@@ -22569,6 +22592,9 @@ const VExpansionPanelTitle = genericComponent()({
22569
22592
  backgroundColorClasses,
22570
22593
  backgroundColorStyles
22571
22594
  } = useBackgroundColor(props, 'color');
22595
+ const {
22596
+ dimensionStyles
22597
+ } = useDimension(props);
22572
22598
  const slotProps = computed(() => ({
22573
22599
  collapseIcon: props.collapseIcon,
22574
22600
  disabled: expansionPanel.disabled.value,
@@ -22576,13 +22602,14 @@ const VExpansionPanelTitle = genericComponent()({
22576
22602
  expandIcon: props.expandIcon,
22577
22603
  readonly: props.readonly
22578
22604
  }));
22605
+ const icon = computed(() => expansionPanel.isSelected.value ? props.collapseIcon : props.expandIcon);
22579
22606
  useRender(() => withDirectives(createVNode("button", {
22580
22607
  "class": ['v-expansion-panel-title', {
22581
22608
  'v-expansion-panel-title--active': expansionPanel.isSelected.value,
22582
22609
  'v-expansion-panel-title--focusable': props.focusable,
22583
22610
  'v-expansion-panel-title--static': props.static
22584
22611
  }, backgroundColorClasses.value, props.class],
22585
- "style": [backgroundColorStyles.value, props.style],
22612
+ "style": [backgroundColorStyles.value, dimensionStyles.value, props.style],
22586
22613
  "type": "button",
22587
22614
  "tabindex": expansionPanel.disabled.value ? -1 : undefined,
22588
22615
  "disabled": expansionPanel.disabled.value,
@@ -22590,11 +22617,17 @@ const VExpansionPanelTitle = genericComponent()({
22590
22617
  "onClick": !props.readonly ? expansionPanel.toggle : undefined
22591
22618
  }, [createVNode("span", {
22592
22619
  "class": "v-expansion-panel-title__overlay"
22593
- }, null), slots.default?.(slotProps.value), !props.hideActions && createVNode("span", {
22594
- "class": "v-expansion-panel-title__icon"
22595
- }, [slots.actions ? slots.actions(slotProps.value) : createVNode(VIcon, {
22596
- "icon": expansionPanel.isSelected.value ? props.collapseIcon : props.expandIcon
22597
- }, null)])]), [[resolveDirective("ripple"), props.ripple]]));
22620
+ }, null), slots.default?.(slotProps.value), !props.hideActions && createVNode(VDefaultsProvider, {
22621
+ "defaults": {
22622
+ VIcon: {
22623
+ icon: icon.value
22624
+ }
22625
+ }
22626
+ }, {
22627
+ default: () => [createVNode("span", {
22628
+ "class": "v-expansion-panel-title__icon"
22629
+ }, [slots.actions?.(slotProps.value) ?? createVNode(VIcon, null, null)])]
22630
+ })]), [[resolveDirective("ripple"), props.ripple]]));
22598
22631
  return {};
22599
22632
  }
22600
22633
  });
@@ -22661,15 +22694,26 @@ const VExpansionPanel = genericComponent()({
22661
22694
  }, {
22662
22695
  default: () => [createVNode("div", {
22663
22696
  "class": ['v-expansion-panel__shadow', ...elevationClasses.value]
22664
- }, null), hasTitle && createVNode(VExpansionPanelTitle, mergeProps({
22665
- "key": "title"
22666
- }, expansionPanelTitleProps), {
22667
- default: () => [slots.title ? slots.title() : props.title]
22668
- }), hasText && createVNode(VExpansionPanelText, mergeProps({
22669
- "key": "text"
22670
- }, expansionPanelTextProps), {
22671
- default: () => [slots.text ? slots.text() : props.text]
22672
- }), slots.default?.()]
22697
+ }, null), createVNode(VDefaultsProvider, {
22698
+ "defaults": {
22699
+ VExpansionPanelTitle: {
22700
+ ...expansionPanelTitleProps
22701
+ },
22702
+ VExpansionPanelText: {
22703
+ ...expansionPanelTextProps
22704
+ }
22705
+ }
22706
+ }, {
22707
+ default: () => [hasTitle && createVNode(VExpansionPanelTitle, {
22708
+ "key": "title"
22709
+ }, {
22710
+ default: () => [slots.title ? slots.title() : props.title]
22711
+ }), hasText && createVNode(VExpansionPanelText, {
22712
+ "key": "text"
22713
+ }, {
22714
+ default: () => [slots.text ? slots.text() : props.text]
22715
+ }), slots.default?.()]
22716
+ })]
22673
22717
  });
22674
22718
  });
22675
22719
  return {
@@ -22745,15 +22789,13 @@ const VExpansionPanels = genericComponent()({
22745
22789
  }
22746
22790
  });
22747
22791
 
22792
+ // Types
22793
+
22748
22794
  const makeVFabProps = propsFactory({
22749
22795
  app: Boolean,
22750
22796
  appear: Boolean,
22751
22797
  extended: Boolean,
22752
22798
  layout: Boolean,
22753
- location: {
22754
- type: String,
22755
- default: 'bottom end'
22756
- },
22757
22799
  offset: Boolean,
22758
22800
  modelValue: {
22759
22801
  type: Boolean,
@@ -22763,6 +22805,7 @@ const makeVFabProps = propsFactory({
22763
22805
  active: true
22764
22806
  }), ['location']),
22765
22807
  ...makeLayoutItemProps(),
22808
+ ...makeLocationProps(),
22766
22809
  ...makeTransitionProps({
22767
22810
  transition: 'fab-transition'
22768
22811
  })
@@ -22789,11 +22832,11 @@ const VFab = genericComponent()({
22789
22832
  const hasPosition = computed(() => props.app || props.absolute);
22790
22833
  const position = computed(() => {
22791
22834
  if (!hasPosition.value) return false;
22792
- return props.location.split(' ').shift();
22835
+ return props.location?.split(' ').shift() ?? 'bottom';
22793
22836
  });
22794
22837
  const orientation = computed(() => {
22795
22838
  if (!hasPosition.value) return false;
22796
- return props.location.split(' ')[1] ?? 'end';
22839
+ return props.location?.split(' ')[1] ?? 'end';
22797
22840
  });
22798
22841
  useToggleScope(() => props.app, () => {
22799
22842
  const layout = useLayoutItem({
@@ -28067,7 +28110,7 @@ function createVuetify$1() {
28067
28110
  goTo
28068
28111
  };
28069
28112
  }
28070
- const version$1 = "3.6.8-master.2024-06-07";
28113
+ const version$1 = "3.6.9-dev.2024-06-20";
28071
28114
  createVuetify$1.version = version$1;
28072
28115
 
28073
28116
  // Vue's inject() can only be used in setup
@@ -28092,7 +28135,7 @@ const createVuetify = function () {
28092
28135
  ...options
28093
28136
  });
28094
28137
  };
28095
- const version = "3.6.8-master.2024-06-07";
28138
+ const version = "3.6.9-dev.2024-06-20";
28096
28139
  createVuetify.version = version;
28097
28140
 
28098
28141
  export { index as blueprints, components, createVuetify, directives, useDate, useDefaults, useDisplay, useGoTo, useLayout, useLocale, useRtl, useTheme, version };