@uzum-tech/ui 2.0.0-beta.7 → 2.0.0-beta.9

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 (186) hide show
  1. package/dist/index.js +268 -180
  2. package/dist/index.mjs +268 -180
  3. package/dist/index.prod.js +2 -2
  4. package/dist/index.prod.mjs +2 -2
  5. package/es/_internal/select-menu/src/SelectOption.mjs +12 -4
  6. package/es/_utils/wrap-component.mjs +3 -1
  7. package/es/auto-complete/src/AutoComplete.d.ts +70 -0
  8. package/es/auto-complete/styles/light.d.ts +7 -0
  9. package/es/carousel/src/Carousel.mjs +39 -13
  10. package/es/chat/src/Chat.d.ts +70 -0
  11. package/es/chat/src/ChatListItems.d.ts +84 -0
  12. package/es/chat/src/ChatMessages.d.ts +84 -0
  13. package/es/chat/src/ChatParts/MainArea.mjs +104 -112
  14. package/es/chat/src/ChatParts/Sidebar.d.ts +14 -0
  15. package/es/chat/src/styles/index.cssr.mjs +24 -10
  16. package/es/chat/styles/dark.d.ts +7 -0
  17. package/es/chat/styles/light.d.ts +7 -0
  18. package/es/chat/styles/light.mjs +1 -0
  19. package/es/color-picker/src/ColorInputUnit.d.ts +7 -0
  20. package/es/color-picker/src/ColorPicker.d.ts +63 -0
  21. package/es/color-picker/styles/light.d.ts +7 -0
  22. package/es/components.d.ts +1042 -5
  23. package/es/data-table/src/DataTable.d.ts +56 -0
  24. package/es/data-table/src/HeaderButton/FilterButton.d.ts +28 -0
  25. package/es/data-table/src/HeaderButton/FilterMenu.d.ts +28 -0
  26. package/es/data-table/src/TableParts/Body.d.ts +28 -0
  27. package/es/data-table/src/TableParts/Header.d.ts +28 -0
  28. package/es/data-table/src/interface.d.ts +21 -0
  29. package/es/data-table/styles/light.d.ts +7 -0
  30. package/es/date-picker/src/DatePicker.d.ts +147 -0
  31. package/es/date-picker/src/panel/date.d.ts +42 -0
  32. package/es/date-picker/src/panel/daterange.d.ts +42 -0
  33. package/es/date-picker/src/panel/datetime.d.ts +42 -0
  34. package/es/date-picker/src/panel/datetimerange.d.ts +42 -0
  35. package/es/date-picker/src/panel/panelMonth.d.ts +168 -0
  36. package/es/date-picker/src/panel/panelMonthContent.d.ts +42 -0
  37. package/es/date-picker/src/panel/panelYear.d.ts +168 -0
  38. package/es/date-picker/src/panel/panelYearContent.d.ts +42 -0
  39. package/es/date-picker/src/panel/use-calendar.d.ts +42 -0
  40. package/es/date-picker/src/panel/use-dual-calendar.d.ts +42 -0
  41. package/es/date-picker/src/panel/use-panel-common.d.ts +42 -0
  42. package/es/date-picker/styles/light.d.ts +14 -0
  43. package/es/date-picker-v2/src/DatePickerV2.d.ts +70 -0
  44. package/es/date-picker-v2/styles/dark.d.ts +7 -0
  45. package/es/date-picker-v2/styles/light.d.ts +7 -0
  46. package/es/dialog/src/DialogEnvironment.mjs +1 -2
  47. package/es/dynamic-input/src/DynamicInput.d.ts +70 -0
  48. package/es/dynamic-input/src/InputPreset.d.ts +14 -0
  49. package/es/dynamic-input/src/PairPreset.d.ts +14 -0
  50. package/es/dynamic-input/styles/light.d.ts +7 -0
  51. package/es/dynamic-tags/src/DynamicTags.d.ts +70 -0
  52. package/es/dynamic-tags/styles/light.d.ts +7 -0
  53. package/es/input/src/Input.d.ts +77 -0
  54. package/es/input/src/Input.mjs +15 -0
  55. package/es/input/src/InputGroupLabel.d.ts +63 -0
  56. package/es/input/src/styles/input.cssr.mjs +1 -1
  57. package/es/input/styles/light.d.ts +7 -0
  58. package/es/input/styles/light.mjs +11 -0
  59. package/es/input-number/src/InputNumber.d.ts +70 -0
  60. package/es/input-number/styles/light.d.ts +7 -0
  61. package/es/input-otp/src/InputOtp.d.ts +70 -0
  62. package/es/input-otp/styles/light.d.ts +7 -0
  63. package/es/legacy-transfer/src/Transfer.d.ts +70 -0
  64. package/es/legacy-transfer/src/TransferFilter.d.ts +14 -0
  65. package/es/legacy-transfer/src/TransferList.d.ts +14 -0
  66. package/es/legacy-transfer/src/TransferListItem.d.ts +14 -0
  67. package/es/legacy-transfer/styles/light.d.ts +7 -0
  68. package/es/mapping-card/src/MappingCard.d.ts +9 -0
  69. package/es/mapping-card/src/MappingCardParts/Header.mjs +1 -1
  70. package/es/mapping-card/src/interface.d.ts +5 -0
  71. package/es/mapping-card/src/interface.mjs +4 -0
  72. package/es/mention/src/Mention.d.ts +70 -0
  73. package/es/mention/styles/light.d.ts +7 -0
  74. package/es/modal/src/BodyWrapper.d.ts +0 -3
  75. package/es/modal/src/Modal.d.ts +13 -7
  76. package/es/modal/src/Modal.mjs +5 -2
  77. package/es/modal/src/ModalEnvironment.d.ts +9 -5
  78. package/es/modal/src/presetProps.d.ts +1 -2
  79. package/es/modal/src/presetProps.mjs +0 -1
  80. package/es/pagination/src/Pagination.d.ts +70 -0
  81. package/es/pagination/styles/light.d.ts +7 -0
  82. package/es/time-picker/src/Panel.d.ts +14 -0
  83. package/es/time-picker/src/TimePicker.d.ts +70 -0
  84. package/es/time-picker/styles/light.d.ts +7 -0
  85. package/es/tooltip/index.d.ts +1 -1
  86. package/es/tooltip/src/Tooltip.d.ts +84 -70
  87. package/es/tooltip/src/Tooltip.mjs +18 -3
  88. package/es/transfer/src/Transfer.d.ts +70 -0
  89. package/es/transfer/src/TransferFilter.d.ts +14 -0
  90. package/es/transfer/src/TransferList.d.ts +14 -0
  91. package/es/transfer/src/TransferListItem.d.ts +14 -0
  92. package/es/transfer/styles/light.d.ts +7 -0
  93. package/es/version.d.ts +1 -1
  94. package/es/version.mjs +1 -1
  95. package/lib/_internal/select-menu/src/SelectOption.js +8 -4
  96. package/lib/_utils/wrap-component.js +3 -1
  97. package/lib/auto-complete/src/AutoComplete.d.ts +70 -0
  98. package/lib/auto-complete/styles/light.d.ts +7 -0
  99. package/lib/carousel/src/Carousel.js +26 -13
  100. package/lib/chat/src/Chat.d.ts +70 -0
  101. package/lib/chat/src/ChatListItems.d.ts +84 -0
  102. package/lib/chat/src/ChatMessages.d.ts +84 -0
  103. package/lib/chat/src/ChatParts/MainArea.js +53 -61
  104. package/lib/chat/src/ChatParts/Sidebar.d.ts +14 -0
  105. package/lib/chat/src/styles/index.cssr.js +24 -10
  106. package/lib/chat/styles/dark.d.ts +7 -0
  107. package/lib/chat/styles/light.d.ts +7 -0
  108. package/lib/chat/styles/light.js +1 -1
  109. package/lib/color-picker/src/ColorInputUnit.d.ts +7 -0
  110. package/lib/color-picker/src/ColorPicker.d.ts +63 -0
  111. package/lib/color-picker/styles/light.d.ts +7 -0
  112. package/lib/components.d.ts +1042 -5
  113. package/lib/data-table/src/DataTable.d.ts +56 -0
  114. package/lib/data-table/src/HeaderButton/FilterButton.d.ts +28 -0
  115. package/lib/data-table/src/HeaderButton/FilterMenu.d.ts +28 -0
  116. package/lib/data-table/src/TableParts/Body.d.ts +28 -0
  117. package/lib/data-table/src/TableParts/Header.d.ts +28 -0
  118. package/lib/data-table/src/interface.d.ts +21 -0
  119. package/lib/data-table/styles/light.d.ts +7 -0
  120. package/lib/date-picker/src/DatePicker.d.ts +147 -0
  121. package/lib/date-picker/src/panel/date.d.ts +42 -0
  122. package/lib/date-picker/src/panel/daterange.d.ts +42 -0
  123. package/lib/date-picker/src/panel/datetime.d.ts +42 -0
  124. package/lib/date-picker/src/panel/datetimerange.d.ts +42 -0
  125. package/lib/date-picker/src/panel/panelMonth.d.ts +168 -0
  126. package/lib/date-picker/src/panel/panelMonthContent.d.ts +42 -0
  127. package/lib/date-picker/src/panel/panelYear.d.ts +168 -0
  128. package/lib/date-picker/src/panel/panelYearContent.d.ts +42 -0
  129. package/lib/date-picker/src/panel/use-calendar.d.ts +42 -0
  130. package/lib/date-picker/src/panel/use-dual-calendar.d.ts +42 -0
  131. package/lib/date-picker/src/panel/use-panel-common.d.ts +42 -0
  132. package/lib/date-picker/styles/light.d.ts +14 -0
  133. package/lib/date-picker-v2/src/DatePickerV2.d.ts +70 -0
  134. package/lib/date-picker-v2/styles/dark.d.ts +7 -0
  135. package/lib/date-picker-v2/styles/light.d.ts +7 -0
  136. package/lib/dialog/src/DialogEnvironment.js +1 -1
  137. package/lib/dynamic-input/src/DynamicInput.d.ts +70 -0
  138. package/lib/dynamic-input/src/InputPreset.d.ts +14 -0
  139. package/lib/dynamic-input/src/PairPreset.d.ts +14 -0
  140. package/lib/dynamic-input/styles/light.d.ts +7 -0
  141. package/lib/dynamic-tags/src/DynamicTags.d.ts +70 -0
  142. package/lib/dynamic-tags/styles/light.d.ts +7 -0
  143. package/lib/input/src/Input.d.ts +77 -0
  144. package/lib/input/src/Input.js +9 -1
  145. package/lib/input/src/InputGroupLabel.d.ts +63 -0
  146. package/lib/input/src/styles/input.cssr.js +1 -1
  147. package/lib/input/styles/light.d.ts +7 -0
  148. package/lib/input/styles/light.js +11 -1
  149. package/lib/input-number/src/InputNumber.d.ts +70 -0
  150. package/lib/input-number/styles/light.d.ts +7 -0
  151. package/lib/input-otp/src/InputOtp.d.ts +70 -0
  152. package/lib/input-otp/styles/light.d.ts +7 -0
  153. package/lib/legacy-transfer/src/Transfer.d.ts +70 -0
  154. package/lib/legacy-transfer/src/TransferFilter.d.ts +14 -0
  155. package/lib/legacy-transfer/src/TransferList.d.ts +14 -0
  156. package/lib/legacy-transfer/src/TransferListItem.d.ts +14 -0
  157. package/lib/legacy-transfer/styles/light.d.ts +7 -0
  158. package/lib/mapping-card/src/MappingCard.d.ts +9 -0
  159. package/lib/mapping-card/src/MappingCardParts/Header.js +2 -2
  160. package/lib/mapping-card/src/interface.d.ts +5 -0
  161. package/lib/mapping-card/src/interface.js +4 -0
  162. package/lib/mention/src/Mention.d.ts +70 -0
  163. package/lib/mention/styles/light.d.ts +7 -0
  164. package/lib/modal/src/BodyWrapper.d.ts +0 -3
  165. package/lib/modal/src/Modal.d.ts +13 -7
  166. package/lib/modal/src/Modal.js +5 -2
  167. package/lib/modal/src/ModalEnvironment.d.ts +9 -5
  168. package/lib/modal/src/presetProps.d.ts +1 -2
  169. package/lib/modal/src/presetProps.js +1 -1
  170. package/lib/pagination/src/Pagination.d.ts +70 -0
  171. package/lib/pagination/styles/light.d.ts +7 -0
  172. package/lib/time-picker/src/Panel.d.ts +14 -0
  173. package/lib/time-picker/src/TimePicker.d.ts +70 -0
  174. package/lib/time-picker/styles/light.d.ts +7 -0
  175. package/lib/tooltip/index.d.ts +1 -1
  176. package/lib/tooltip/src/Tooltip.d.ts +84 -70
  177. package/lib/tooltip/src/Tooltip.js +9 -3
  178. package/lib/transfer/src/Transfer.d.ts +70 -0
  179. package/lib/transfer/src/TransferFilter.d.ts +14 -0
  180. package/lib/transfer/src/TransferList.d.ts +14 -0
  181. package/lib/transfer/src/TransferListItem.d.ts +14 -0
  182. package/lib/transfer/styles/light.d.ts +7 -0
  183. package/lib/version.d.ts +1 -1
  184. package/lib/version.js +1 -1
  185. package/package.json +1 -1
  186. package/web-types.json +39 -3
package/dist/index.js CHANGED
@@ -5792,7 +5792,7 @@
5792
5792
  });
5793
5793
  wrapped.__wrapped__ = true;
5794
5794
  for (const key of Object.keys(component)) {
5795
- if (/^__.*__$/.test(key) || key.endsWith("_FLAG")) {
5795
+ if (/^__.*__$/.test(key) || key.endsWith("_FLAG") || key === "alias") {
5796
5796
  wrapped[key] = component[key];
5797
5797
  }
5798
5798
  }
@@ -18427,27 +18427,31 @@
18427
18427
  } = vue.inject(internalSelectionMenuInjectionKey);
18428
18428
  const isPendingRef = useMemo(() => {
18429
18429
  const { value: pendingTmNode } = pendingTmNodeRef;
18430
- if (!pendingTmNode)
18430
+ if (!pendingTmNode) {
18431
18431
  return false;
18432
+ }
18432
18433
  return props.tmNode.key === pendingTmNode.key;
18433
18434
  });
18434
18435
  function handleClick(e) {
18435
18436
  const { tmNode } = props;
18436
- if (tmNode.disabled)
18437
+ if (tmNode.disabled) {
18437
18438
  return;
18439
+ }
18438
18440
  handleOptionClick(e, tmNode);
18439
18441
  }
18440
18442
  function handleMouseEnter(e) {
18441
18443
  const { tmNode } = props;
18442
- if (tmNode.disabled)
18444
+ if (tmNode.disabled) {
18443
18445
  return;
18446
+ }
18444
18447
  handleOptionMouseEnter(e, tmNode);
18445
18448
  }
18446
18449
  function handleMouseMove(e) {
18447
18450
  const { tmNode } = props;
18448
18451
  const { value: isPending } = isPendingRef;
18449
- if (tmNode.disabled || isPending)
18452
+ if (tmNode.disabled || isPending) {
18450
18453
  return;
18454
+ }
18451
18455
  handleOptionMouseEnter(e, tmNode);
18452
18456
  }
18453
18457
  return {
@@ -23790,7 +23794,11 @@
23790
23794
 
23791
23795
  const tooltipProps = {
23792
23796
  ...popoverBaseProps,
23793
- ...useTheme.props
23797
+ ...useTheme.props,
23798
+ variant: {
23799
+ type: String,
23800
+ default: "default"
23801
+ }
23794
23802
  };
23795
23803
  var _UTooltip = vue.defineComponent({
23796
23804
  name: "Tooltip",
@@ -23802,7 +23810,7 @@
23802
23810
  const themeRef = useTheme(
23803
23811
  "Tooltip",
23804
23812
  "-tooltip",
23805
- style$1D,
23813
+ props.variant === "plain" ? void 0 : style$1D,
23806
23814
  tooltipLight,
23807
23815
  props,
23808
23816
  mergedClsPrefixRef
@@ -23875,8 +23883,23 @@
23875
23883
  internalExtraClass,
23876
23884
  renderContentNode,
23877
23885
  cssVarsRef,
23878
- placement
23886
+ placement,
23887
+ variant
23879
23888
  } = this;
23889
+ if (variant === "plain") {
23890
+ return vue.h(
23891
+ UPopover$1,
23892
+ {
23893
+ ...this.$props,
23894
+ theme: mergedTheme.peers.Popover,
23895
+ themeOverrides: mergedTheme.peerOverrides.Popover,
23896
+ builtinThemeOverrides: this.popoverThemeOverrides,
23897
+ internalExtraClass: internalExtraClass.concat("tooltip"),
23898
+ ref: "popoverRef"
23899
+ },
23900
+ this.$slots
23901
+ );
23902
+ }
23880
23903
  return vue.h(
23881
23904
  UPopover$1,
23882
23905
  {
@@ -25734,6 +25757,7 @@
25734
25757
  containerPrimary,
25735
25758
  elementsQuaternary,
25736
25759
  elementsPrimary,
25760
+ staticGreen,
25737
25761
  staticOrange,
25738
25762
  staticRed,
25739
25763
  elementsQuinary,
@@ -25787,6 +25811,16 @@
25787
25811
  alpha: 0.1
25788
25812
  })}`,
25789
25813
  loadingColor: elementsPrimary,
25814
+ // success
25815
+ loadingColorSuccess: staticGreen,
25816
+ borderSuccess: `2px solid ${staticGreen}`,
25817
+ borderHoverSuccess: `2px solid ${staticGreen}`,
25818
+ colorFocusSuccess: containerPrimary,
25819
+ borderFocusSuccess: `2px solid ${staticGreen}`,
25820
+ boxShadowFocusSuccess: `0 0 0 4px ${changeColor(staticGreen, {
25821
+ alpha: 0.1
25822
+ })}`,
25823
+ caretColorSuccess: elementsPrimary,
25790
25824
  // warning
25791
25825
  loadingColorWarning: staticOrange,
25792
25826
  borderWarning: `2px solid ${staticOrange}`,
@@ -26089,7 +26123,7 @@
26089
26123
  transition: color .3s var(--u-bezier);
26090
26124
  margin-left: 4px;
26091
26125
  font-variant: tabular-nums;
26092
- `), ["warning", "error"].map(status => cM(`${status}-status`, [cNotM("disabled", [cB("base-loading", `
26126
+ `), ["warning", "error", "success"].map(status => cM(`${status}-status`, [cNotM("disabled", [cB("base-loading", `
26093
26127
  color: var(--u-loading-color-${status})
26094
26128
  `), cE("input-el, textarea-el", `
26095
26129
  caret-color: var(--u-caret-color-${status});
@@ -28978,6 +29012,7 @@
28978
29012
  borderRadius,
28979
29013
  textColor,
28980
29014
  caretColor,
29015
+ caretColorSuccess,
28981
29016
  caretColorError,
28982
29017
  caretColorWarning,
28983
29018
  textDecorationColor,
@@ -28993,6 +29028,11 @@
28993
29028
  textColorDisabled,
28994
29029
  boxShadowFocus,
28995
29030
  iconSize,
29031
+ colorFocusSuccess,
29032
+ boxShadowFocusSuccess,
29033
+ borderSuccess,
29034
+ borderFocusSuccess,
29035
+ borderHoverSuccess,
28996
29036
  colorFocusWarning,
28997
29037
  boxShadowFocusWarning,
28998
29038
  borderWarning,
@@ -29015,6 +29055,7 @@
29015
29055
  iconColorHover,
29016
29056
  iconColorPressed,
29017
29057
  loadingColor,
29058
+ loadingColorSuccess,
29018
29059
  loadingColorError,
29019
29060
  loadingColorWarning,
29020
29061
  selectionColor,
@@ -29053,6 +29094,14 @@
29053
29094
  "--u-text-color-disabled": textColorDisabled,
29054
29095
  "--u-box-shadow-focus": boxShadowFocus,
29055
29096
  "--u-loading-color": loadingColor,
29097
+ // form success
29098
+ "--u-caret-color-success": caretColorSuccess,
29099
+ "--u-color-focus-success": colorFocusSuccess,
29100
+ "--u-box-shadow-focus-success": boxShadowFocusSuccess,
29101
+ "--u-border-success": borderSuccess,
29102
+ "--u-border-focus-success": borderFocusSuccess,
29103
+ "--u-border-hover-success": borderHoverSuccess,
29104
+ "--u-loading-color-success": loadingColorSuccess,
29056
29105
  // form warning
29057
29106
  "--u-caret-color-warning": caretColorWarning,
29058
29107
  "--u-color-focus-warning": colorFocusWarning,
@@ -40269,8 +40318,9 @@
40269
40318
  const slideSizesTrigger = vue.ref(0);
40270
40319
  const slideSizesRef = vue.computed(() => {
40271
40320
  const { value: slidesEls } = slideElsRef;
40272
- if (!slidesEls.length)
40321
+ if (!slidesEls.length) {
40273
40322
  return [];
40323
+ }
40274
40324
  slideSizesTrigger.value;
40275
40325
  const { value: autoSlideSize } = autoSlideSizeRef;
40276
40326
  if (autoSlideSize) {
@@ -40291,8 +40341,9 @@
40291
40341
  });
40292
40342
  const slideTranlatesRef = vue.computed(() => {
40293
40343
  const { value: slideSizes } = slideSizesRef;
40294
- if (!slideSizes.length)
40344
+ if (!slideSizes.length) {
40295
40345
  return [];
40346
+ }
40296
40347
  const { centeredSlides, spaceBetween } = props;
40297
40348
  const { value: axis } = sizeAxisRef;
40298
40349
  const { [axis]: perViewSize } = perViewSizeRef.value;
@@ -40316,8 +40367,9 @@
40316
40367
  );
40317
40368
  const slideStylesRef = vue.computed(() => {
40318
40369
  const { value: slidesEls } = slideElsRef;
40319
- if (!slidesEls.length)
40370
+ if (!slidesEls.length) {
40320
40371
  return [];
40372
+ }
40321
40373
  const useComputedSize = !(autoSlideSizeRef.value || realSlidesPerViewRef.value === 1);
40322
40374
  const getSlideSize = (index) => {
40323
40375
  if (useComputedSize) {
@@ -40352,8 +40404,9 @@
40352
40404
  } else {
40353
40405
  const { value: slideSizes } = slideSizesRef;
40354
40406
  const { length } = slideSizes;
40355
- if (!length)
40407
+ if (!length) {
40356
40408
  return totalSlides;
40409
+ }
40357
40410
  const { value: translates } = slideTranlatesRef;
40358
40411
  const { value: axis } = sizeAxisRef;
40359
40412
  const perViewSize = perViewSizeRef.value[axis];
@@ -40442,21 +40495,25 @@
40442
40495
  }
40443
40496
  function prev() {
40444
40497
  const prevIndex = getRealPrevIndex();
40445
- if (prevIndex !== null)
40498
+ if (prevIndex !== null) {
40446
40499
  toRealIndex(prevIndex);
40500
+ }
40447
40501
  }
40448
40502
  function next() {
40449
40503
  const nextIndex = getRealNextIndex();
40450
- if (nextIndex !== null)
40504
+ if (nextIndex !== null) {
40451
40505
  toRealIndex(nextIndex);
40506
+ }
40452
40507
  }
40453
40508
  function prevIfSlideTransitionEnd() {
40454
- if (!inTransition || !duplicatedableRef.value)
40509
+ if (!inTransition || !duplicatedableRef.value) {
40455
40510
  prev();
40511
+ }
40456
40512
  }
40457
40513
  function nextIfSlideTransitionEnd() {
40458
- if (!inTransition || !duplicatedableRef.value)
40514
+ if (!inTransition || !duplicatedableRef.value) {
40459
40515
  next();
40516
+ }
40460
40517
  }
40461
40518
  let previousTranslate = 0;
40462
40519
  const translateStyleRef = vue.ref({});
@@ -40532,13 +40589,15 @@
40532
40589
  };
40533
40590
  provideCarouselContext(carouselContext);
40534
40591
  function addSlide(slide) {
40535
- if (!slide)
40592
+ if (!slide) {
40536
40593
  return;
40594
+ }
40537
40595
  slideElsRef.value.push(slide);
40538
40596
  }
40539
40597
  function removeSlide(slide) {
40540
- if (!slide)
40598
+ if (!slide) {
40541
40599
  return;
40600
+ }
40542
40601
  const index = getSlideIndex(slide);
40543
40602
  if (index !== -1) {
40544
40603
  slideElsRef.value.splice(index, 1);
@@ -40592,8 +40651,9 @@
40592
40651
  let dragOffset = 0;
40593
40652
  let dragStartTime = 0;
40594
40653
  function handleTouchstart(event) {
40595
- if (globalDragging)
40654
+ if (globalDragging) {
40596
40655
  return;
40656
+ }
40597
40657
  if (!slidesElRef.value?.contains(
40598
40658
  getPreciseEventTarget(event)
40599
40659
  )) {
@@ -40709,8 +40769,9 @@
40709
40769
  }
40710
40770
  function handleMousewheel(event) {
40711
40771
  event.preventDefault();
40712
- if (inTransition)
40772
+ if (inTransition) {
40713
40773
  return;
40774
+ }
40714
40775
  let { deltaX, deltaY } = event;
40715
40776
  if (event.shiftKey && !deltaX) {
40716
40777
  deltaX = deltaY;
@@ -40781,8 +40842,9 @@
40781
40842
  vue.watch(
40782
40843
  realIndexRef,
40783
40844
  (realIndex, lastRealIndex) => {
40784
- if (realIndex === lastRealIndex)
40845
+ if (realIndex === lastRealIndex) {
40785
40846
  return;
40847
+ }
40786
40848
  resetAutoplay();
40787
40849
  if (sequenceLayoutRef.value) {
40788
40850
  if (duplicatedableRef.value && displayTotalViewRef.value > 2) {
@@ -43972,6 +44034,7 @@
43972
44034
  ...originalInputSelf,
43973
44035
  color: elementsTertiary,
43974
44036
  colorFocus: elementsTertiary,
44037
+ heightMedium: "45px",
43975
44038
  border: "none",
43976
44039
  borderFocus: "none",
43977
44040
  borderHover: "none",
@@ -53471,23 +53534,28 @@
53471
53534
  width: 100%;
53472
53535
  padding: 24px 20px 10px 24px;
53473
53536
  flex-shrink: 0;
53537
+ `), cE("header-inner", `
53538
+ display: grid;
53539
+ grid-template-columns: minmax(0, 1fr) auto;
53540
+ align-items: flex-start;
53541
+ gap: 8px;
53542
+ `), cE("header-title-wrap", `
53543
+ min-width: 0;
53544
+ overflow: hidden;
53474
53545
  `), cE("header-title", `
53475
53546
  color: var(--u-header-title-color);
53476
- flex: 1;
53477
- min-width: 0;
53547
+ display: block;
53478
53548
  overflow: hidden;
53479
- text-overflow: ellipsis;
53480
53549
  white-space: nowrap;
53481
- display: block;
53482
- margin-right: 16px;
53550
+ text-overflow: ellipsis;
53551
+ width: 100%;
53483
53552
  `), cE("header-subtitle", `
53484
53553
  display: block;
53485
53554
  color: var(--u-sidebar-item-subtitle-color);
53486
53555
  overflow: hidden;
53487
53556
  text-overflow: ellipsis;
53488
53557
  white-space: nowrap;
53489
- minWidth: 0;
53490
- maxWidth: 100%;
53558
+ width: 100%;
53491
53559
  `), cE("header-actions", `
53492
53560
  padding: 4px;
53493
53561
  flex-shrink: 0;
@@ -53590,6 +53658,7 @@
53590
53658
  height: 44px;
53591
53659
  `)]), cE("message-text", `
53592
53660
  padding: 12px 16px;
53661
+ white-space: pre-wrap;
53593
53662
  `), cE("message-attachment", `
53594
53663
  display: flex;
53595
53664
  align-items: center;
@@ -53666,6 +53735,7 @@
53666
53735
  `, [c$1(".u-input-wrapper", `
53667
53736
  flex-wrap: wrap;
53668
53737
  padding: 0 4px;
53738
+ height: 100%;
53669
53739
  `, [c$1(".u-input__prefix", `
53670
53740
  width: 100%;
53671
53741
  margin: 0;
@@ -53676,13 +53746,20 @@
53676
53746
  border-top-right-radius: 12px;
53677
53747
  `), c$1("li", `
53678
53748
  padding: 12px;
53679
- `)]), c$1(".u-input__input-el", `
53680
- padding: 8px;
53749
+ `)]), c$1(".u-input__textarea-el", `
53750
+ padding-top: 12px;
53751
+ padding-left: 12px;
53752
+ padding-right: 48px;
53681
53753
  `), c$1(".u-input__placeholder", `
53682
- margin: 8px;
53754
+ padding-top: 12px;
53755
+ padding-left: 12px;
53756
+ padding-right: 48px;
53683
53757
  `)])]), cE("editing-block", `
53684
53758
  width: 100%;
53685
53759
  `), cE("input-suffix", `
53760
+ position: absolute;
53761
+ right: 12px;
53762
+ bottom: 12px;
53686
53763
  color: var(--u-input-suffix-color) !important;
53687
53764
  cursor: pointer;
53688
53765
  margin-right: 4px;
@@ -54503,152 +54580,153 @@
54503
54580
  return value != null ? String(value) : "";
54504
54581
  };
54505
54582
  const renderHeader = () => {
54506
- return /* @__PURE__ */ vue.h("div", { class: `${mergedClsPrefixRef.value}-chat-main__header` }, /* @__PURE__ */ vue.h(_UFlex, { justify: "space-between", align: "flex-start", wrap: false }, {
54507
- default: () => {
54508
- const chat = selectedChatRef.value;
54509
- const keyId = toKeyString(chat?.id);
54510
- const keyTitle = toKeyString(chat?.title);
54511
- return /* @__PURE__ */ vue.h(vue.Fragment, null, /* @__PURE__ */ vue.h(_UFlex, { vertical: true, size: [0, 0], justify: "flex-start" }, {
54512
- default: () => /* @__PURE__ */ vue.h(vue.Fragment, null, /* @__PURE__ */ vue.h(
54513
- _UText,
54514
- {
54515
- key: `${keyId}-${keyTitle}`,
54516
- variant: "heading-s-bold",
54517
- class: `${mergedClsPrefixRef.value}-chat-main__header-title`,
54518
- theme: mergedThemeRef.value.peers.Typography,
54519
- themeOverrides: mergedThemeRef.value.peerOverrides.Typography
54520
- },
54521
- {
54522
- default: () => selectedChatRef.value?.title ?? ""
54523
- }
54524
- ), isTyping.value && /* @__PURE__ */ vue.h(
54525
- _UText,
54526
- {
54527
- class: [
54528
- `${mergedClsPrefixRef.value}-chat-main__header-subtitle`,
54529
- "typing"
54530
- ],
54531
- variant: "body-m-medium"
54532
- },
54533
- {
54534
- default: () => typingTextRef.value ?? ""
54535
- }
54536
- ))
54537
- }), /* @__PURE__ */ vue.h(
54538
- _UFlex,
54539
- {
54540
- align: "center",
54541
- size: "small",
54542
- class: `${mergedClsPrefixRef.value}-chat-main__header-actions`
54543
- },
54544
- {
54545
- default: () => resolveSlot(slots.headerActions, () => {
54546
- const shareButtonProps = {
54547
- ...headerButtonPropsRef.value,
54548
- ...headerShareButtonPropsRef.value
54549
- };
54550
- const profileButtonProps = {
54551
- ...headerButtonPropsRef.value,
54552
- ...headerProfileButtonPropsRef.value
54553
- };
54554
- const closeButtonProps = {
54555
- ...headerButtonPropsRef.value,
54556
- ...headerCloseButtonPropsRef.value
54557
- };
54558
- const shareIconProps = {
54559
- ...headerIconPropsRef.value,
54560
- ...headerShareIconPropsRef.value
54561
- };
54562
- const profileIconProps = {
54563
- ...headerIconPropsRef.value,
54564
- ...headerProfileIconPropsRef.value
54565
- };
54566
- const buttons = [];
54567
- buttons.push(
54568
- /* @__PURE__ */ vue.h(_UTooltip, null, {
54569
- trigger: () => /* @__PURE__ */ vue.h(
54570
- Button,
54583
+ const chat = selectedChatRef.value;
54584
+ const keyId = toKeyString(chat?.id);
54585
+ const keyTitle = toKeyString(chat?.title);
54586
+ return /* @__PURE__ */ vue.h("div", { class: `${mergedClsPrefixRef.value}-chat-main__header-inner` }, /* @__PURE__ */ vue.h(
54587
+ "div",
54588
+ {
54589
+ class: `${mergedClsPrefixRef.value}-chat-main__header-title-wrap`
54590
+ },
54591
+ /* @__PURE__ */ vue.h(
54592
+ _UText,
54593
+ {
54594
+ key: `${keyId}-${keyTitle}`,
54595
+ variant: "heading-s-bold",
54596
+ class: `${mergedClsPrefixRef.value}-chat-main__header-title`,
54597
+ theme: mergedThemeRef.value.peers.Typography,
54598
+ themeOverrides: mergedThemeRef.value.peerOverrides.Typography
54599
+ },
54600
+ {
54601
+ default: () => selectedChatRef.value?.title ?? ""
54602
+ }
54603
+ ),
54604
+ isTyping.value && /* @__PURE__ */ vue.h(
54605
+ _UText,
54606
+ {
54607
+ class: [
54608
+ `${mergedClsPrefixRef.value}-chat-main__header-subtitle`,
54609
+ "typing"
54610
+ ],
54611
+ variant: "body-m-medium"
54612
+ },
54613
+ {
54614
+ default: () => typingTextRef.value ?? ""
54615
+ }
54616
+ )
54617
+ ), /* @__PURE__ */ vue.h(
54618
+ _UFlex,
54619
+ {
54620
+ align: "center",
54621
+ size: "small",
54622
+ class: `${mergedClsPrefixRef.value}-chat-main__header-actions`
54623
+ },
54624
+ {
54625
+ default: () => resolveSlot(slots.headerActions, () => {
54626
+ const shareButtonProps = {
54627
+ ...headerButtonPropsRef.value,
54628
+ ...headerShareButtonPropsRef.value
54629
+ };
54630
+ const profileButtonProps = {
54631
+ ...headerButtonPropsRef.value,
54632
+ ...headerProfileButtonPropsRef.value
54633
+ };
54634
+ const closeButtonProps = {
54635
+ ...headerButtonPropsRef.value,
54636
+ ...headerCloseButtonPropsRef.value
54637
+ };
54638
+ const shareIconProps = {
54639
+ ...headerIconPropsRef.value,
54640
+ ...headerShareIconPropsRef.value
54641
+ };
54642
+ const profileIconProps = {
54643
+ ...headerIconPropsRef.value,
54644
+ ...headerProfileIconPropsRef.value
54645
+ };
54646
+ const buttons = [];
54647
+ buttons.push(
54648
+ /* @__PURE__ */ vue.h(_UTooltip, null, {
54649
+ trigger: () => /* @__PURE__ */ vue.h(
54650
+ Button,
54651
+ {
54652
+ secondary: true,
54653
+ circle: true,
54654
+ size: "large",
54655
+ ...shareButtonProps,
54656
+ theme: mergedThemeRef.value.peers.Button,
54657
+ themeOverrides: mergedThemeRef.value.peerOverrides.Button,
54658
+ onClick: () => onChatShare?.value?.()
54659
+ },
54660
+ {
54661
+ default: () => /* @__PURE__ */ vue.h(
54662
+ UIcon$1,
54571
54663
  {
54572
- secondary: true,
54573
- circle: true,
54574
- size: "large",
54575
- ...shareButtonProps,
54576
- theme: mergedThemeRef.value.peers.Button,
54577
- themeOverrides: mergedThemeRef.value.peerOverrides.Button,
54578
- onClick: () => onChatShare?.value?.()
54664
+ size: 20,
54665
+ ...shareIconProps,
54666
+ theme: mergedThemeRef.value.peers.HeaderShareIcon,
54667
+ themeOverrides: mergedThemeRef.value.peerOverrides.HeaderShareIcon
54579
54668
  },
54580
54669
  {
54581
- default: () => /* @__PURE__ */ vue.h(
54582
- UIcon$1,
54583
- {
54584
- size: 20,
54585
- ...shareIconProps,
54586
- theme: mergedThemeRef.value.peers.HeaderShareIcon,
54587
- themeOverrides: mergedThemeRef.value.peerOverrides.HeaderShareIcon
54588
- },
54589
- {
54590
- default: () => /* @__PURE__ */ vue.h(ArrowHookUpRight, null)
54591
- }
54592
- )
54670
+ default: () => /* @__PURE__ */ vue.h(ArrowHookUpRight, null)
54593
54671
  }
54594
- ),
54595
- default: () => shareButtonTooltipRef.value
54596
- })
54597
- );
54598
- buttons.push(
54599
- /* @__PURE__ */ vue.h(_UTooltip, null, {
54600
- trigger: () => /* @__PURE__ */ vue.h(
54601
- Button,
54672
+ )
54673
+ }
54674
+ ),
54675
+ default: () => shareButtonTooltipRef.value
54676
+ })
54677
+ );
54678
+ buttons.push(
54679
+ /* @__PURE__ */ vue.h(_UTooltip, null, {
54680
+ trigger: () => /* @__PURE__ */ vue.h(
54681
+ Button,
54682
+ {
54683
+ secondary: true,
54684
+ circle: true,
54685
+ size: "large",
54686
+ ...profileButtonProps,
54687
+ theme: mergedThemeRef.value.peers.Button,
54688
+ themeOverrides: mergedThemeRef.value.peerOverrides.Button,
54689
+ onClick: () => onUserProfile?.value?.()
54690
+ },
54691
+ {
54692
+ default: () => /* @__PURE__ */ vue.h(
54693
+ UIcon$1,
54602
54694
  {
54603
- secondary: true,
54604
- circle: true,
54605
- size: "large",
54606
- ...profileButtonProps,
54607
- theme: mergedThemeRef.value.peers.Button,
54608
- themeOverrides: mergedThemeRef.value.peerOverrides.Button,
54609
- onClick: () => onUserProfile?.value?.()
54695
+ size: 20,
54696
+ ...profileIconProps,
54697
+ theme: mergedThemeRef.value.peers.HeaderProfileIcon,
54698
+ themeOverrides: mergedThemeRef.value.peerOverrides.HeaderProfileIcon
54610
54699
  },
54611
54700
  {
54612
- default: () => /* @__PURE__ */ vue.h(
54613
- UIcon$1,
54614
- {
54615
- size: 20,
54616
- ...profileIconProps,
54617
- theme: mergedThemeRef.value.peers.HeaderProfileIcon,
54618
- themeOverrides: mergedThemeRef.value.peerOverrides.HeaderProfileIcon
54619
- },
54620
- {
54621
- default: () => /* @__PURE__ */ vue.h(PersonNote, null)
54622
- }
54623
- )
54701
+ default: () => /* @__PURE__ */ vue.h(PersonNote, null)
54624
54702
  }
54625
- ),
54626
- default: () => profileButtonTooltipRef.value
54627
- })
54628
- );
54629
- buttons.push(
54630
- /* @__PURE__ */ vue.h(
54631
- Button,
54632
- {
54633
- type: "primary",
54634
- size: "large",
54635
- round: true,
54636
- ...closeButtonProps,
54637
- theme: mergedThemeRef.value.peers.Button,
54638
- themeOverrides: mergedThemeRef.value.peerOverrides.Button,
54639
- onClick: () => onChatClose?.value?.()
54640
- },
54641
- {
54642
- default: () => closeButtonTextRef.value
54643
- }
54644
- )
54645
- );
54646
- return buttons;
54703
+ )
54704
+ }
54705
+ ),
54706
+ default: () => profileButtonTooltipRef.value
54647
54707
  })
54648
- }
54649
- ));
54708
+ );
54709
+ buttons.push(
54710
+ /* @__PURE__ */ vue.h(
54711
+ Button,
54712
+ {
54713
+ type: "primary",
54714
+ size: "large",
54715
+ round: true,
54716
+ ...closeButtonProps,
54717
+ theme: mergedThemeRef.value.peers.Button,
54718
+ themeOverrides: mergedThemeRef.value.peerOverrides.Button,
54719
+ onClick: () => onChatClose?.value?.()
54720
+ },
54721
+ {
54722
+ default: () => closeButtonTextRef.value
54723
+ }
54724
+ )
54725
+ );
54726
+ return buttons;
54727
+ })
54650
54728
  }
54651
- }));
54729
+ ));
54652
54730
  };
54653
54731
  const renderMessages = () => {
54654
54732
  return /* @__PURE__ */ vue.h(
@@ -54703,7 +54781,7 @@
54703
54781
  if (isSending.value) {
54704
54782
  return;
54705
54783
  }
54706
- const hasContent = inputValue.value.trim();
54784
+ const hasContent = inputValue.value;
54707
54785
  const hasAttachments = attachmentFileList.value.length > 0;
54708
54786
  if (editMessageIdRef?.value && hasContent) {
54709
54787
  isSending.value = true;
@@ -54712,7 +54790,7 @@
54712
54790
  if (messageToEdit) {
54713
54791
  const updatedMessage = {
54714
54792
  ...messageToEdit,
54715
- content: inputValue.value.trim()
54793
+ content: inputValue.value
54716
54794
  };
54717
54795
  const bubbleActions = bubbleActionsRef?.value;
54718
54796
  if (bubbleActions) {
@@ -54765,7 +54843,7 @@
54765
54843
  }
54766
54844
  return result;
54767
54845
  })() : void 0;
54768
- handleMessageSend(inputValue.value.trim(), attachments);
54846
+ handleMessageSend(inputValue.value, attachments);
54769
54847
  inputValue.value = "";
54770
54848
  attachmentFileList.value = [];
54771
54849
  chatInputs.value[selectedChatRef.value.id] = "";
@@ -54906,9 +54984,13 @@
54906
54984
  value: inputValue.value,
54907
54985
  placeholder: inputPlaceholderRef.value,
54908
54986
  class: `${mergedClsPrefixRef.value}-chat-main__input`,
54909
- ...footerInputPropsRef.value,
54910
54987
  theme: mergedThemeRef.value.peers.Input,
54911
54988
  themeOverrides: mergedThemeRef.value.peerOverrides.Input,
54989
+ type: "textarea",
54990
+ autosize: {
54991
+ minRows: 1,
54992
+ maxRows: 5
54993
+ },
54912
54994
  onUpdateValue: (value) => {
54913
54995
  inputValue.value = value;
54914
54996
  if (selectedChatRef.value) {
@@ -54921,7 +55003,8 @@
54921
55003
  e.stopPropagation();
54922
55004
  void handleSendMessage();
54923
55005
  }
54924
- }
55006
+ },
55007
+ ...footerInputPropsRef.value
54925
55008
  },
54926
55009
  {
54927
55010
  prefix: () => renderEditingBlock(),
@@ -80804,7 +80887,6 @@
80804
80887
  const presetProps = {
80805
80888
  // put dialog props after since I want the card to unbordered by default
80806
80889
  ...dialogProps,
80807
- presetDisabled: Boolean,
80808
80890
  size: {
80809
80891
  type: String,
80810
80892
  default: "medium"
@@ -81175,7 +81257,10 @@
81175
81257
  type: Boolean,
81176
81258
  default: true
81177
81259
  },
81178
- preset: String,
81260
+ preset: {
81261
+ type: String,
81262
+ default: "dialog"
81263
+ },
81179
81264
  to: [String, Object],
81180
81265
  displayDirective: {
81181
81266
  type: String,
@@ -81437,7 +81522,7 @@
81437
81522
  ref: "bodyWrapper",
81438
81523
  displayDirective: this.displayDirective,
81439
81524
  show: this.show,
81440
- preset: this.preset,
81525
+ preset: this.internalDialog ? void 0 : this.preset,
81441
81526
  autoFocus: this.autoFocus,
81442
81527
  trapFocus: this.trapFocus,
81443
81528
  draggable: this.draggable,
@@ -81635,8 +81720,7 @@
81635
81720
  transformOrigin: this.transformOrigin,
81636
81721
  draggable: this.draggable,
81637
81722
  internalAppear: true,
81638
- internalDialog: true,
81639
- presetDisabled: true
81723
+ internalDialog: true
81640
81724
  },
81641
81725
  {
81642
81726
  default: () => /* @__PURE__ */ vue.h(
@@ -95090,6 +95174,10 @@
95090
95174
  type: Boolean,
95091
95175
  default: false
95092
95176
  },
95177
+ hideHeaderActions: {
95178
+ type: Boolean,
95179
+ default: false
95180
+ },
95093
95181
  copyButtonProps: Object,
95094
95182
  copyIconProps: Object,
95095
95183
  headerEditButtonProps: Object,
@@ -95723,7 +95811,7 @@
95723
95811
  default: () => locale.copyTooltip
95724
95812
  }))
95725
95813
  }
95726
- ), /* @__PURE__ */ vue.h(_UFlex, { align: "center", size: "small" }, {
95814
+ ), !props.hideHeaderActions && /* @__PURE__ */ vue.h(_UFlex, { align: "center", size: "small" }, {
95727
95815
  default: () => resolveSlot(slots.headerActions, () => {
95728
95816
  const buttons = [];
95729
95817
  buttons.push(
@@ -112267,7 +112355,7 @@
112267
112355
  });
112268
112356
  }
112269
112357
 
112270
- var version = "2.0.0-beta.7";
112358
+ var version = "2.0.0-beta.9";
112271
112359
 
112272
112360
  function create({
112273
112361
  componentPrefix = "U",