@uzum-tech/ui 2.3.3 → 2.3.5

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 (44) hide show
  1. package/dist/index.js +688 -619
  2. package/dist/index.mjs +688 -619
  3. package/dist/index.prod.js +2 -2
  4. package/dist/index.prod.mjs +2 -2
  5. package/es/chat/src/Chat.d.ts +363 -3120
  6. package/es/chat/src/Chat.mjs +13 -240
  7. package/es/chat/src/ChatListItems.d.ts +4 -4
  8. package/es/chat/src/ChatMainArea.d.ts +36 -10
  9. package/es/chat/src/ChatMainArea.mjs +49 -3
  10. package/es/chat/src/ChatMessages.d.ts +3 -3
  11. package/es/chat/src/interface.d.ts +2814 -2
  12. package/es/chat/src/interface.mjs +244 -1
  13. package/es/components.d.ts +310 -224
  14. package/es/image/index.d.ts +2 -2
  15. package/es/image/index.mjs +2 -1
  16. package/es/image/src/ImagePreview.d.ts +60 -184
  17. package/es/image/src/ImagePreview.mjs +12 -18
  18. package/es/image/src/interface.d.ts +156 -3
  19. package/es/image/src/interface.mjs +23 -1
  20. package/es/image/src/public-types.d.ts +11 -5
  21. package/es/image/src/styles/index.cssr.mjs +11 -1
  22. package/es/version.d.ts +1 -1
  23. package/es/version.mjs +1 -1
  24. package/lib/chat/src/Chat.d.ts +363 -3120
  25. package/lib/chat/src/Chat.js +15 -180
  26. package/lib/chat/src/ChatListItems.d.ts +4 -4
  27. package/lib/chat/src/ChatMainArea.d.ts +36 -10
  28. package/lib/chat/src/ChatMainArea.js +48 -3
  29. package/lib/chat/src/ChatMessages.d.ts +3 -3
  30. package/lib/chat/src/interface.d.ts +2814 -2
  31. package/lib/chat/src/interface.js +183 -1
  32. package/lib/components.d.ts +310 -224
  33. package/lib/image/index.d.ts +2 -2
  34. package/lib/image/index.js +3 -2
  35. package/lib/image/src/ImagePreview.d.ts +60 -184
  36. package/lib/image/src/ImagePreview.js +18 -17
  37. package/lib/image/src/interface.d.ts +156 -3
  38. package/lib/image/src/interface.js +12 -1
  39. package/lib/image/src/public-types.d.ts +11 -5
  40. package/lib/image/src/styles/index.cssr.js +11 -1
  41. package/lib/version.d.ts +1 -1
  42. package/lib/version.js +1 -1
  43. package/package.json +1 -1
  44. package/web-types.json +55 -3
package/dist/index.js CHANGED
@@ -47885,6 +47885,261 @@
47885
47885
  }
47886
47886
  });
47887
47887
 
47888
+ function self$11(vars) {
47889
+ const {
47890
+ opacityDisabled,
47891
+ elementsPrimary,
47892
+ brandPrimary500,
47893
+ fontBodyMedium,
47894
+ fontBodySmall,
47895
+ fontBodyLarge,
47896
+ fontHeadingSmall,
47897
+ fontTitleMedium,
47898
+ fontHeadingLarge
47899
+ } = vars;
47900
+ return {
47901
+ tertiaryColor: elementsPrimary,
47902
+ primaryColor: brandPrimary500,
47903
+ fontSize: fontBodyMedium,
47904
+ sizeTiny: fontBodySmall,
47905
+ sizeSmall: fontBodyLarge,
47906
+ sizeMedium: fontTitleMedium,
47907
+ sizeLarge: fontHeadingSmall,
47908
+ sizeHuge: fontHeadingLarge,
47909
+ opacitySpinning: opacityDisabled
47910
+ };
47911
+ }
47912
+ const spinLight = {
47913
+ name: "Spin",
47914
+ common: derived,
47915
+ self: self$11
47916
+ };
47917
+
47918
+ const spinDark = {
47919
+ name: "Spin",
47920
+ common: derived$1,
47921
+ self: self$11
47922
+ };
47923
+
47924
+ var style$19 = c$1([c$1("@keyframes spin-rotate", `
47925
+ from {
47926
+ transform: rotate(0);
47927
+ }
47928
+ to {
47929
+ transform: rotate(360deg);
47930
+ }
47931
+ `), cB("spin-container", {
47932
+ position: "relative"
47933
+ }, [cB("spin-body", `
47934
+ position: absolute;
47935
+ top: 50%;
47936
+ left: 50%;
47937
+ transform: translateX(-50%) translateY(-50%);
47938
+ `, [fadeInTransition()])]), cB("spin-body", `
47939
+ display: inline-flex;
47940
+ align-items: center;
47941
+ justify-content: center;
47942
+ flex-direction: column;
47943
+ `), cB("spin", `
47944
+ display: inline-flex;
47945
+ height: var(--u-size);
47946
+ width: var(--u-size);
47947
+ font-size: var(--u-size);
47948
+ color: var(--u-color);
47949
+ `, [cM("rotate", `
47950
+ animation: spin-rotate 2s linear infinite;
47951
+ `)]), cB("spin-description", `
47952
+ display: inline-block;
47953
+ font-size: var(--u-font-size);
47954
+ color: var(--u-text-color);
47955
+ transition: color .3s var(--u-bezier);
47956
+ margin-top: 8px;
47957
+ `), cB("spin-content", `
47958
+ opacity: 1;
47959
+ transition: opacity .3s var(--u-bezier);
47960
+ pointer-events: all;
47961
+ `, [cM("spinning", `
47962
+ user-select: none;
47963
+ -webkit-user-select: none;
47964
+ pointer-events: none;
47965
+ opacity: var(--u-opacity-spinning);
47966
+ `)])]);
47967
+
47968
+ const STROKE_WIDTH = {
47969
+ tiny: 22,
47970
+ small: 20,
47971
+ medium: 18,
47972
+ large: 16,
47973
+ huge: 14
47974
+ };
47975
+ const spinProps = {
47976
+ ...useTheme.props,
47977
+ contentClass: String,
47978
+ contentStyle: [Object, String],
47979
+ description: String,
47980
+ stroke: String,
47981
+ size: {
47982
+ type: [String, Number],
47983
+ default: "medium"
47984
+ },
47985
+ show: {
47986
+ type: Boolean,
47987
+ default: true
47988
+ },
47989
+ strokeWidth: Number,
47990
+ rotate: {
47991
+ type: Boolean,
47992
+ default: true
47993
+ },
47994
+ scale: Number,
47995
+ radius: Number,
47996
+ spinning: {
47997
+ type: Boolean,
47998
+ validator: () => {
47999
+ return true;
48000
+ },
48001
+ default: void 0
48002
+ },
48003
+ color: {
48004
+ type: [String],
48005
+ default: "primary"
48006
+ },
48007
+ delay: Number
48008
+ };
48009
+ var _USpin = vue.defineComponent({
48010
+ name: "Spin",
48011
+ props: spinProps,
48012
+ slots: Object,
48013
+ setup(props) {
48014
+ {
48015
+ vue.watchEffect(() => {
48016
+ if (props.spinning !== void 0) {
48017
+ warnOnce(
48018
+ "spin",
48019
+ "`spinning` is deprecated, please use `show` instead."
48020
+ );
48021
+ }
48022
+ });
48023
+ }
48024
+ const { mergedClsPrefixRef, inlineThemeDisabled } = useConfig(props);
48025
+ const themeRef = useTheme(
48026
+ "Spin",
48027
+ "-spin",
48028
+ style$19,
48029
+ spinLight,
48030
+ props,
48031
+ mergedClsPrefixRef
48032
+ );
48033
+ const cssVarsRef = vue.computed(() => {
48034
+ const { size: spinSize, color } = props;
48035
+ const {
48036
+ common: { cubicBezierEaseInOut },
48037
+ self
48038
+ } = themeRef.value;
48039
+ const { opacitySpinning, tertiaryColor, primaryColor } = self;
48040
+ const size = typeof spinSize === "number" ? pxfy(spinSize) : self[createKey("size", spinSize)];
48041
+ return {
48042
+ "--u-bezier": cubicBezierEaseInOut,
48043
+ "--u-opacity-spinning": opacitySpinning,
48044
+ "--u-size": size,
48045
+ "--u-color": color === "tertiary" ? tertiaryColor : color === "primary" ? primaryColor : color,
48046
+ "--u-text-color": color === "tertiary" ? tertiaryColor : color === "primary" ? primaryColor : color
48047
+ };
48048
+ });
48049
+ const themeClassHandle = inlineThemeDisabled ? useThemeClass(
48050
+ "spin",
48051
+ vue.computed(() => {
48052
+ const { size } = props;
48053
+ return typeof size === "number" ? String(size) : size[0];
48054
+ }),
48055
+ cssVarsRef,
48056
+ props
48057
+ ) : void 0;
48058
+ const compitableShow = useCompitable(props, ["spinning", "show"]);
48059
+ const activeRef = vue.ref(false);
48060
+ vue.watchEffect((onCleanup) => {
48061
+ let timerId;
48062
+ if (compitableShow.value) {
48063
+ const { delay } = props;
48064
+ if (delay) {
48065
+ timerId = window.setTimeout(() => {
48066
+ activeRef.value = true;
48067
+ }, props.delay);
48068
+ onCleanup(() => {
48069
+ clearTimeout(timerId);
48070
+ });
48071
+ return;
48072
+ }
48073
+ }
48074
+ activeRef.value = compitableShow.value;
48075
+ });
48076
+ return {
48077
+ mergedClsPrefix: mergedClsPrefixRef,
48078
+ active: activeRef,
48079
+ mergedStrokeWidth: vue.computed(() => {
48080
+ const { strokeWidth } = props;
48081
+ if (strokeWidth !== void 0)
48082
+ return strokeWidth;
48083
+ const { size } = props;
48084
+ return STROKE_WIDTH[typeof size === "number" ? "medium" : size];
48085
+ }),
48086
+ cssVars: inlineThemeDisabled ? void 0 : cssVarsRef,
48087
+ themeClass: themeClassHandle?.themeClass,
48088
+ onRender: themeClassHandle?.onRender
48089
+ };
48090
+ },
48091
+ render() {
48092
+ const { $slots, mergedClsPrefix, description } = this;
48093
+ const rotate = $slots.icon && this.rotate;
48094
+ const descriptionNode = (description || $slots.description) && /* @__PURE__ */ vue.h("div", { class: `${mergedClsPrefix}-spin-description` }, description || $slots.description?.());
48095
+ const icon = $slots.icon ? /* @__PURE__ */ vue.h("div", { class: [`${mergedClsPrefix}-spin-body`, this.themeClass] }, /* @__PURE__ */ vue.h(
48096
+ "div",
48097
+ {
48098
+ class: [
48099
+ `${mergedClsPrefix}-spin`,
48100
+ rotate && `${mergedClsPrefix}-spin--rotate`
48101
+ ],
48102
+ style: $slots.default ? "" : this.cssVars
48103
+ },
48104
+ $slots.icon()
48105
+ ), descriptionNode) : /* @__PURE__ */ vue.h("div", { class: [`${mergedClsPrefix}-spin-body`, this.themeClass] }, /* @__PURE__ */ vue.h(
48106
+ UBaseLoading,
48107
+ {
48108
+ clsPrefix: mergedClsPrefix,
48109
+ style: $slots.default ? "" : this.cssVars,
48110
+ stroke: this.stroke,
48111
+ "stroke-width": this.mergedStrokeWidth,
48112
+ radius: this.radius,
48113
+ scale: this.scale,
48114
+ class: `${mergedClsPrefix}-spin`
48115
+ }
48116
+ ), descriptionNode);
48117
+ this.onRender?.();
48118
+ return $slots.default ? /* @__PURE__ */ vue.h(
48119
+ "div",
48120
+ {
48121
+ class: [`${mergedClsPrefix}-spin-container`, this.themeClass],
48122
+ style: this.cssVars
48123
+ },
48124
+ /* @__PURE__ */ vue.h(
48125
+ "div",
48126
+ {
48127
+ class: [
48128
+ `${mergedClsPrefix}-spin-content`,
48129
+ this.active && `${mergedClsPrefix}-spin-content--spinning`,
48130
+ this.contentClass
48131
+ ],
48132
+ style: this.contentStyle
48133
+ },
48134
+ $slots
48135
+ ),
48136
+ /* @__PURE__ */ vue.h(vue.Transition, { name: "fade-in-transition" }, {
48137
+ default: () => this.active ? icon : null
48138
+ })
48139
+ ) : icon;
48140
+ }
48141
+ });
48142
+
47888
48143
  const buttonGroupDark = {
47889
48144
  name: "ButtonGroup",
47890
48145
  common: derived$1
@@ -47929,7 +48184,7 @@
47929
48184
  self: self$1c
47930
48185
  };
47931
48186
 
47932
- function self$11(vars) {
48187
+ function self$10(vars) {
47933
48188
  const {
47934
48189
  textPrimary,
47935
48190
  fontBodyMedium,
@@ -47957,12 +48212,12 @@
47957
48212
  const codeLight = {
47958
48213
  name: "Code",
47959
48214
  common: derived,
47960
- self: self$11
48215
+ self: self$10
47961
48216
  };
47962
48217
 
47963
- function self$10(vars) {
48218
+ function self$$(vars) {
47964
48219
  return {
47965
- ...self$11(vars),
48220
+ ...self$10(vars),
47966
48221
  // extracted from hljs atom-one-dark.scss
47967
48222
  "mono-3": "#5c6370",
47968
48223
  "hue-1": "#56b6c2",
@@ -47978,10 +48233,10 @@
47978
48233
  const codeDark = {
47979
48234
  name: "Code",
47980
48235
  common: derived$1,
47981
- self: self$10
48236
+ self: self$$
47982
48237
  };
47983
48238
 
47984
- function self$$(vars) {
48239
+ function self$_(vars) {
47985
48240
  const {
47986
48241
  cubicBezierEaseInOut
47987
48242
  } = vars;
@@ -47992,13 +48247,13 @@
47992
48247
  const collapseTransitionLight = {
47993
48248
  name: "CollapseTransition",
47994
48249
  common: derived,
47995
- self: self$$
48250
+ self: self$_
47996
48251
  };
47997
48252
 
47998
48253
  const collapseTransitionDark = {
47999
48254
  name: "CollapseTransition",
48000
48255
  common: derived$1,
48001
- self: self$$
48256
+ self: self$_
48002
48257
  };
48003
48258
 
48004
48259
  var rtlStyle$g = cB("collapse-transition", [cM("rtl", `
@@ -48011,7 +48266,7 @@
48011
48266
  style: rtlStyle$g
48012
48267
  };
48013
48268
 
48014
- function self$_(vars) {
48269
+ function self$Z(vars) {
48015
48270
  const {
48016
48271
  fontWeight,
48017
48272
  fontBodyLarge,
@@ -48051,13 +48306,13 @@
48051
48306
  const collapseLight = {
48052
48307
  name: "Collapse",
48053
48308
  common: derived,
48054
- self: self$_
48309
+ self: self$Z
48055
48310
  };
48056
48311
 
48057
48312
  const collapseDark = {
48058
48313
  name: "Collapse",
48059
48314
  common: derived$1,
48060
- self: self$_
48315
+ self: self$Z
48061
48316
  };
48062
48317
 
48063
48318
  var rtlStyle$f = cB("collapse", [cM("rtl", `
@@ -48080,7 +48335,7 @@
48080
48335
  style: rtlStyle$f
48081
48336
  };
48082
48337
 
48083
- function self$Z(vars) {
48338
+ function self$Y(vars) {
48084
48339
  const {
48085
48340
  borderRadius,
48086
48341
  fontBodySmall,
@@ -48167,7 +48422,7 @@
48167
48422
  peers: {
48168
48423
  Popover: popoverLight
48169
48424
  },
48170
- self: self$Z
48425
+ self: self$Y
48171
48426
  });
48172
48427
 
48173
48428
  const dropdownDark = {
@@ -48176,7 +48431,7 @@
48176
48431
  peers: {
48177
48432
  Popover: popoverDark
48178
48433
  },
48179
- self: self$Z
48434
+ self: self$Y
48180
48435
  };
48181
48436
 
48182
48437
  const popselect = {
@@ -48188,7 +48443,7 @@
48188
48443
  }
48189
48444
  };
48190
48445
 
48191
- function self$Y(vars) {
48446
+ function self$X(vars) {
48192
48447
  const {
48193
48448
  shadowDepth2
48194
48449
  } = vars;
@@ -48203,10 +48458,10 @@
48203
48458
  Popover: popoverLight,
48204
48459
  InternalSelectMenu: internalSelectMenuLight
48205
48460
  },
48206
- self: self$Y
48461
+ self: self$X
48207
48462
  });
48208
48463
 
48209
- function self$X(vars) {
48464
+ function self$W(vars) {
48210
48465
  const {
48211
48466
  brandPrimary100,
48212
48467
  transparencySecondary,
@@ -48304,7 +48559,7 @@
48304
48559
  Input: inputLight,
48305
48560
  Popselect: popselectLight
48306
48561
  },
48307
- self: self$X
48562
+ self: self$W
48308
48563
  });
48309
48564
 
48310
48565
  const paginationDark = {
@@ -48315,7 +48570,7 @@
48315
48570
  Input: inputDark,
48316
48571
  Popselect: popselect
48317
48572
  },
48318
- self: self$X
48573
+ self: self$W
48319
48574
  };
48320
48575
 
48321
48576
  var rtlStyle$e = cB("pagination", [cM("rtl", `
@@ -48332,7 +48587,7 @@
48332
48587
  peers: [inputRtl]
48333
48588
  };
48334
48589
 
48335
- function self$W(vars) {
48590
+ function self$V(vars) {
48336
48591
  const {
48337
48592
  heightTiny,
48338
48593
  heightSmall,
@@ -48424,13 +48679,13 @@
48424
48679
  const radioLight = {
48425
48680
  name: "Radio",
48426
48681
  common: derived,
48427
- self: self$W
48682
+ self: self$V
48428
48683
  };
48429
48684
 
48430
48685
  const radioDark = {
48431
48686
  name: "Radio",
48432
48687
  common: derived$1,
48433
- self: self$W
48688
+ self: self$V
48434
48689
  };
48435
48690
 
48436
48691
  var rtlStyle$d = c$1([cB("radio", [cM("rtl", `
@@ -48458,7 +48713,7 @@
48458
48713
  style: rtlStyle$d
48459
48714
  };
48460
48715
 
48461
- function self$V(vars) {
48716
+ function self$U(vars) {
48462
48717
  const {
48463
48718
  borderRadius,
48464
48719
  opacityDisabled,
@@ -48559,7 +48814,7 @@
48559
48814
  Ellipsis: ellipsisLight,
48560
48815
  Dropdown: dropdownLight
48561
48816
  },
48562
- self: self$V
48817
+ self: self$U
48563
48818
  });
48564
48819
 
48565
48820
  const dataTableDark = {
@@ -48576,10 +48831,10 @@
48576
48831
  Ellipsis: ellipsisDark,
48577
48832
  Dropdown: dropdownDark
48578
48833
  },
48579
- self: self$V
48834
+ self: self$U
48580
48835
  };
48581
48836
 
48582
- function self$U(vars) {
48837
+ function self$T(vars) {
48583
48838
  const {
48584
48839
  opacityDisabled,
48585
48840
  borderRadius,
@@ -48621,7 +48876,7 @@
48621
48876
  Button: buttonLight,
48622
48877
  Input: inputLight
48623
48878
  },
48624
- self: self$U
48879
+ self: self$T
48625
48880
  });
48626
48881
 
48627
48882
  const timePickerDark = {
@@ -48632,7 +48887,7 @@
48632
48887
  Button: buttonDark,
48633
48888
  Input: inputDark
48634
48889
  },
48635
- self: self$U
48890
+ self: self$T
48636
48891
  };
48637
48892
 
48638
48893
  const itemWidth = "38px";
@@ -48678,7 +48933,7 @@
48678
48933
  calendarRightPaddingYearrange: "0"
48679
48934
  };
48680
48935
 
48681
- function self$T(vars) {
48936
+ function self$S(vars) {
48682
48937
  const {
48683
48938
  iconMedium,
48684
48939
  fontWeightStrong,
@@ -48779,7 +49034,7 @@
48779
49034
  Scrollbar: scrollbarLight,
48780
49035
  Select: internalSelectionLight
48781
49036
  },
48782
- self: self$T
49037
+ self: self$S
48783
49038
  });
48784
49039
 
48785
49040
  const datePickerDark = {
@@ -48792,10 +49047,10 @@
48792
49047
  Scrollbar: scrollbarDark,
48793
49048
  Select: internalSelectionDark
48794
49049
  },
48795
- self: self$T
49050
+ self: self$S
48796
49051
  };
48797
49052
 
48798
- function self$S(vars) {
49053
+ function self$R(vars) {
48799
49054
  const {
48800
49055
  borderRadius,
48801
49056
  lineHeightBodyLarge,
@@ -48845,13 +49100,13 @@
48845
49100
  const descriptionsLight = {
48846
49101
  name: "Descriptions",
48847
49102
  common: derived,
48848
- self: self$S
49103
+ self: self$R
48849
49104
  };
48850
49105
 
48851
49106
  const descriptionsDark = {
48852
49107
  name: "Descriptions",
48853
49108
  common: derived$1,
48854
- self: self$S
49109
+ self: self$R
48855
49110
  };
48856
49111
 
48857
49112
  var commonVars$5 = {
@@ -48865,7 +49120,7 @@
48865
49120
  closeBorderRadius: "100px"
48866
49121
  };
48867
49122
 
48868
- function self$R(vars) {
49123
+ function self$Q(vars) {
48869
49124
  const {
48870
49125
  borderRadius,
48871
49126
  containerPrimary,
@@ -48922,7 +49177,7 @@
48922
49177
  peers: {
48923
49178
  Button: buttonLight
48924
49179
  },
48925
- self: self$R
49180
+ self: self$Q
48926
49181
  });
48927
49182
 
48928
49183
  const dialogDark = {
@@ -48931,10 +49186,10 @@
48931
49186
  peers: {
48932
49187
  Button: buttonDark
48933
49188
  },
48934
- self: self$R
49189
+ self: self$Q
48935
49190
  };
48936
49191
 
48937
- function self$Q(vars) {
49192
+ function self$P(vars) {
48938
49193
  const {
48939
49194
  elementsQuaternary,
48940
49195
  textPrimary,
@@ -48954,13 +49209,13 @@
48954
49209
  const dividerLight = {
48955
49210
  name: "Divider",
48956
49211
  common: derived,
48957
- self: self$Q
49212
+ self: self$P
48958
49213
  };
48959
49214
 
48960
49215
  const dividerDark = {
48961
49216
  name: "Divider",
48962
49217
  common: derived$1,
48963
- self: self$Q
49218
+ self: self$P
48964
49219
  };
48965
49220
 
48966
49221
  var commonVars$4 = {
@@ -48976,7 +49231,7 @@
48976
49231
  contentBorderRadius: "24px"
48977
49232
  };
48978
49233
 
48979
- function self$P(vars) {
49234
+ function self$O(vars) {
48980
49235
  const {
48981
49236
  containerPrimary,
48982
49237
  textPrimary,
@@ -49025,7 +49280,7 @@
49025
49280
  peers: {
49026
49281
  Scrollbar: scrollbarLight
49027
49282
  },
49028
- self: self$P
49283
+ self: self$O
49029
49284
  });
49030
49285
 
49031
49286
  const drawerDark = {
@@ -49034,7 +49289,7 @@
49034
49289
  peers: {
49035
49290
  Scrollbar: scrollbarDark
49036
49291
  },
49037
- self: self$P
49292
+ self: self$O
49038
49293
  };
49039
49294
 
49040
49295
  var rtlStyle$c = cB("drawer", [cM("rtl", `
@@ -49068,7 +49323,7 @@
49068
49323
  }
49069
49324
  };
49070
49325
 
49071
- function self$O() {
49326
+ function self$N() {
49072
49327
  return commonVariables$1;
49073
49328
  }
49074
49329
  const dynamicInputLight = createTheme$1({
@@ -49078,7 +49333,7 @@
49078
49333
  Input: inputLight,
49079
49334
  Button: buttonLight
49080
49335
  },
49081
- self: self$O
49336
+ self: self$N
49082
49337
  });
49083
49338
 
49084
49339
  var rtlStyle$b = cB("input-number", [cM("rtl", `
@@ -49119,12 +49374,12 @@
49119
49374
  }
49120
49375
  };
49121
49376
 
49122
- function self$N() {
49377
+ function self$M() {
49123
49378
  return commonVars$3;
49124
49379
  }
49125
49380
  const spaceLight = {
49126
49381
  name: "Space",
49127
- self: self$N
49382
+ self: self$M
49128
49383
  };
49129
49384
 
49130
49385
  var rtlStyle$9 = cB("space", [cM("rtl", `
@@ -49196,7 +49451,7 @@
49196
49451
  }
49197
49452
  };
49198
49453
 
49199
- function self$M(vars) {
49454
+ function self$L(vars) {
49200
49455
  const {
49201
49456
  containerPrimary,
49202
49457
  elementsQuaternary,
@@ -49212,7 +49467,7 @@
49212
49467
  const themeLight$4 = {
49213
49468
  name: "FloatButtonGroup",
49214
49469
  common: derived,
49215
- self: self$M
49470
+ self: self$L
49216
49471
  };
49217
49472
 
49218
49473
  const floatButtonDark = {
@@ -49247,7 +49502,7 @@
49247
49502
  }
49248
49503
  };
49249
49504
 
49250
- function self$L(vars) {
49505
+ function self$K(vars) {
49251
49506
  const {
49252
49507
  containerPrimary,
49253
49508
  textPrimary,
@@ -49276,10 +49531,10 @@
49276
49531
  const themeLight$3 = {
49277
49532
  name: "FloatButton",
49278
49533
  common: derived,
49279
- self: self$L
49534
+ self: self$K
49280
49535
  };
49281
49536
 
49282
- function self$K(vars) {
49537
+ function self$J(vars) {
49283
49538
  const {
49284
49539
  heightSmall,
49285
49540
  heightMedium,
@@ -49334,16 +49589,16 @@
49334
49589
  const formLight = {
49335
49590
  name: "Form",
49336
49591
  common: derived,
49337
- self: self$K
49592
+ self: self$J
49338
49593
  };
49339
49594
 
49340
49595
  const formItemDark = {
49341
49596
  name: "Form",
49342
49597
  common: derived$1,
49343
- self: self$K
49598
+ self: self$J
49344
49599
  };
49345
49600
 
49346
- function self$J(vars) {
49601
+ function self$I(vars) {
49347
49602
  const {
49348
49603
  brandPrimary500,
49349
49604
  staticGreen,
@@ -49380,16 +49635,16 @@
49380
49635
  const gradientTextLight = {
49381
49636
  name: "GradientText",
49382
49637
  common: derived,
49383
- self: self$J
49638
+ self: self$I
49384
49639
  };
49385
49640
 
49386
49641
  const gradientTextDark = {
49387
49642
  name: "GradientText",
49388
49643
  common: derived$1,
49389
- self: self$J
49644
+ self: self$I
49390
49645
  };
49391
49646
 
49392
- function self$I(vars) {
49647
+ function self$H(vars) {
49393
49648
  const {
49394
49649
  textSecondary
49395
49650
  } = vars;
@@ -49404,7 +49659,7 @@
49404
49659
  Button: buttonLight,
49405
49660
  Input: inputLight
49406
49661
  },
49407
- self: self$I
49662
+ self: self$H
49408
49663
  });
49409
49664
 
49410
49665
  const inputNumberDark = {
@@ -49414,10 +49669,10 @@
49414
49669
  Button: buttonDark,
49415
49670
  Input: inputDark
49416
49671
  },
49417
- self: self$I
49672
+ self: self$H
49418
49673
  };
49419
49674
 
49420
- function self$H() {
49675
+ function self$G() {
49421
49676
  return {
49422
49677
  inputWidthSmall: "44px",
49423
49678
  inputWidthMedium: "50px",
@@ -49433,7 +49688,7 @@
49433
49688
  peers: {
49434
49689
  Input: inputLight
49435
49690
  },
49436
- self: self$H
49691
+ self: self$G
49437
49692
  });
49438
49693
 
49439
49694
  const inputOtpDark = {
@@ -49442,7 +49697,7 @@
49442
49697
  peers: {
49443
49698
  Input: inputDark
49444
49699
  },
49445
- self: self$H
49700
+ self: self$G
49446
49701
  };
49447
49702
 
49448
49703
  var rtlStyle$8 = cB("input-otp", [cM("rtl", `
@@ -49454,7 +49709,7 @@
49454
49709
  style: rtlStyle$8
49455
49710
  };
49456
49711
 
49457
- function self$G(vars) {
49712
+ function self$F(vars) {
49458
49713
  const {
49459
49714
  textPrimary,
49460
49715
  textQuaternary,
@@ -49500,7 +49755,7 @@
49500
49755
  peers: {
49501
49756
  Scrollbar: scrollbarLight
49502
49757
  },
49503
- self: self$G
49758
+ self: self$F
49504
49759
  });
49505
49760
 
49506
49761
  const layoutDark = {
@@ -49509,7 +49764,7 @@
49509
49764
  peers: {
49510
49765
  Scrollbar: scrollbarDark
49511
49766
  },
49512
- self: self$G
49767
+ self: self$F
49513
49768
  };
49514
49769
 
49515
49770
  const rowDark = {
@@ -49546,7 +49801,7 @@
49546
49801
  style: rtlStyle$7
49547
49802
  };
49548
49803
 
49549
- function self$F(vars) {
49804
+ function self$E(vars) {
49550
49805
  const {
49551
49806
  brandPrimary500,
49552
49807
  staticRed
@@ -49560,16 +49815,16 @@
49560
49815
  const loadingBarLight = {
49561
49816
  name: "LoadingBar",
49562
49817
  common: derived,
49563
- self: self$F
49818
+ self: self$E
49564
49819
  };
49565
49820
 
49566
49821
  const loadingBarDark = {
49567
49822
  name: "LoadingBar",
49568
49823
  common: derived$1,
49569
- self: self$F
49824
+ self: self$E
49570
49825
  };
49571
49826
 
49572
- function self$E(vars) {
49827
+ function self$D(vars) {
49573
49828
  const {
49574
49829
  fontBodyMedium,
49575
49830
  textPrimary,
@@ -49592,7 +49847,7 @@
49592
49847
  Scrollbar: scrollbarLight,
49593
49848
  Code: codeLight
49594
49849
  },
49595
- self: self$E
49850
+ self: self$D
49596
49851
  });
49597
49852
 
49598
49853
  const logDark = {
@@ -49602,25 +49857,25 @@
49602
49857
  Scrollbar: scrollbarDark,
49603
49858
  Code: codeDark
49604
49859
  },
49605
- self: self$E
49860
+ self: self$D
49606
49861
  };
49607
49862
 
49608
- function self$D() {
49863
+ function self$C() {
49609
49864
  return {};
49610
49865
  }
49611
49866
  const marqueeLight = {
49612
49867
  name: "Marquee",
49613
49868
  common: derived,
49614
- self: self$D
49869
+ self: self$C
49615
49870
  };
49616
49871
 
49617
49872
  const marqueeDark = {
49618
49873
  name: "Marquee",
49619
49874
  common: derived$1,
49620
- self: self$D
49875
+ self: self$C
49621
49876
  };
49622
49877
 
49623
- function self$C(vars) {
49878
+ function self$B(vars) {
49624
49879
  const {
49625
49880
  shadowDepth2
49626
49881
  } = vars;
@@ -49635,7 +49890,7 @@
49635
49890
  InternalSelectMenu: internalSelectMenuLight,
49636
49891
  Input: inputLight
49637
49892
  },
49638
- self: self$C
49893
+ self: self$B
49639
49894
  });
49640
49895
 
49641
49896
  const listDark = {
@@ -49645,7 +49900,7 @@
49645
49900
  InternalSelectMenu: internalSelectMenuDark,
49646
49901
  Input: inputDark
49647
49902
  },
49648
- self: self$C
49903
+ self: self$B
49649
49904
  };
49650
49905
 
49651
49906
  function createPartialInvertedVars(color, activeItemColor, activeTextColor, groupTextColor) {
@@ -49688,7 +49943,7 @@
49688
49943
  groupTextColorInverted: groupTextColor
49689
49944
  };
49690
49945
  }
49691
- function self$B(vars) {
49946
+ function self$A(vars) {
49692
49947
  const {
49693
49948
  textSecondary,
49694
49949
  borderRadiusSmall,
@@ -49756,7 +50011,7 @@
49756
50011
  Tooltip: tooltipLight,
49757
50012
  Dropdown: dropdownLight
49758
50013
  },
49759
- self: self$B
50014
+ self: self$A
49760
50015
  });
49761
50016
 
49762
50017
  const menuDark = {
@@ -49766,10 +50021,10 @@
49766
50021
  Tooltip: tooltipDark,
49767
50022
  Dropdown: dropdownDark
49768
50023
  },
49769
- self: self$B
50024
+ self: self$A
49770
50025
  };
49771
50026
 
49772
- function self$A(vars) {
50027
+ function self$z(vars) {
49773
50028
  const {
49774
50029
  transparencyModal,
49775
50030
  containerPrimary,
@@ -49793,7 +50048,7 @@
49793
50048
  Dialog: dialogLight,
49794
50049
  Card: cardLight
49795
50050
  },
49796
- self: self$A
50051
+ self: self$z
49797
50052
  });
49798
50053
 
49799
50054
  const modalDark = {
@@ -49804,7 +50059,7 @@
49804
50059
  Dialog: dialogDark,
49805
50060
  Card: cardDark$1
49806
50061
  },
49807
- self: self$A
50062
+ self: self$z
49808
50063
  };
49809
50064
 
49810
50065
  var commonVars$2 = {
@@ -49813,7 +50068,7 @@
49813
50068
  closeBorderRadius: "50px"
49814
50069
  };
49815
50070
 
49816
- function self$z(vars) {
50071
+ function self$y(vars) {
49817
50072
  const {
49818
50073
  fontWeightStrong,
49819
50074
  lineHeightBodyMedium,
@@ -49946,7 +50201,7 @@
49946
50201
  peers: {
49947
50202
  Scrollbar: scrollbarLight
49948
50203
  },
49949
- self: self$z
50204
+ self: self$y
49950
50205
  });
49951
50206
 
49952
50207
  const notificationDark = {
@@ -49955,7 +50210,7 @@
49955
50210
  peers: {
49956
50211
  Scrollbar: scrollbarDark
49957
50212
  },
49958
- self: self$z
50213
+ self: self$y
49959
50214
  };
49960
50215
 
49961
50216
  var rtlStyle$6 = cB("notification", [cM("rtl", `
@@ -49985,7 +50240,7 @@
49985
50240
  style: rtlStyle$6
49986
50241
  };
49987
50242
 
49988
- function self$y(vars) {
50243
+ function self$x(vars) {
49989
50244
  const {
49990
50245
  fontWeightStrong,
49991
50246
  fontTitleSmall,
@@ -50011,13 +50266,13 @@
50011
50266
  const pageHeaderLight = createTheme$1({
50012
50267
  name: "PageHeader",
50013
50268
  common: derived,
50014
- self: self$y
50269
+ self: self$x
50015
50270
  });
50016
50271
 
50017
50272
  const pageHeaderDark = {
50018
50273
  name: "PageHeader",
50019
50274
  common: derived$1,
50020
- self: self$y
50275
+ self: self$x
50021
50276
  };
50022
50277
 
50023
50278
  var rtlStyle$5 = cB("page-header-wrapper", [cM("rtl", [cB("page-header-header", `
@@ -50044,7 +50299,7 @@
50044
50299
  style: rtlStyle$5
50045
50300
  };
50046
50301
 
50047
- function self$x(vars) {
50302
+ function self$w(vars) {
50048
50303
  const {
50049
50304
  fontBodyMedium,
50050
50305
  staticOrange
@@ -50062,7 +50317,7 @@
50062
50317
  Button: buttonLight,
50063
50318
  Popover: popoverLight
50064
50319
  },
50065
- self: self$x
50320
+ self: self$w
50066
50321
  });
50067
50322
 
50068
50323
  const popconfirmDark = {
@@ -50072,10 +50327,10 @@
50072
50327
  Button: buttonDark,
50073
50328
  Popover: popoverDark
50074
50329
  },
50075
- self: self$x
50330
+ self: self$w
50076
50331
  };
50077
50332
 
50078
- function self$w(vars) {
50333
+ function self$v(vars) {
50079
50334
  const {
50080
50335
  elementsQuinary,
50081
50336
  brandSecondary600
@@ -50091,16 +50346,16 @@
50091
50346
  const themeLight$2 = {
50092
50347
  name: "Rate",
50093
50348
  common: derived,
50094
- self: self$w
50349
+ self: self$v
50095
50350
  };
50096
50351
 
50097
50352
  const rateDark = {
50098
50353
  name: "Rate",
50099
50354
  common: derived$1,
50100
- self: self$w
50355
+ self: self$v
50101
50356
  };
50102
50357
 
50103
- function self$v(vars) {
50358
+ function self$u(vars) {
50104
50359
  const {
50105
50360
  fontHeadingSmall,
50106
50361
  fontHeadingMedium,
@@ -50149,16 +50404,16 @@
50149
50404
  const resultLight = {
50150
50405
  name: "Result",
50151
50406
  common: derived,
50152
- self: self$v
50407
+ self: self$u
50153
50408
  };
50154
50409
 
50155
50410
  const resultDark = {
50156
50411
  name: "Result",
50157
50412
  common: derived$1,
50158
- self: self$v
50413
+ self: self$u
50159
50414
  };
50160
50415
 
50161
- function self$u(vars) {
50416
+ function self$t(vars) {
50162
50417
  const {
50163
50418
  borderRadius,
50164
50419
  opacityDisabled,
@@ -50205,48 +50460,12 @@
50205
50460
  const sliderLight = {
50206
50461
  name: "Slider",
50207
50462
  common: derived,
50208
- self: self$u
50463
+ self: self$t
50209
50464
  };
50210
50465
 
50211
50466
  const sliderDark = {
50212
50467
  name: "Slider",
50213
50468
  common: derived$1,
50214
- self: self$u
50215
- };
50216
-
50217
- function self$t(vars) {
50218
- const {
50219
- opacityDisabled,
50220
- elementsPrimary,
50221
- brandPrimary500,
50222
- fontBodyMedium,
50223
- fontBodySmall,
50224
- fontBodyLarge,
50225
- fontHeadingSmall,
50226
- fontTitleMedium,
50227
- fontHeadingLarge
50228
- } = vars;
50229
- return {
50230
- tertiaryColor: elementsPrimary,
50231
- primaryColor: brandPrimary500,
50232
- fontSize: fontBodyMedium,
50233
- sizeTiny: fontBodySmall,
50234
- sizeSmall: fontBodyLarge,
50235
- sizeMedium: fontTitleMedium,
50236
- sizeLarge: fontHeadingSmall,
50237
- sizeHuge: fontHeadingLarge,
50238
- opacitySpinning: opacityDisabled
50239
- };
50240
- }
50241
- const spinLight = {
50242
- name: "Spin",
50243
- common: derived,
50244
- self: self$t
50245
- };
50246
-
50247
- const spinDark = {
50248
- name: "Spin",
50249
- common: derived$1,
50250
50469
  self: self$t
50251
50470
  };
50252
50471
 
@@ -51163,8 +51382,31 @@
51163
51382
  renderToolbar: Function
51164
51383
  };
51165
51384
  const imageContextKey = createInjectionKey("u-image");
51385
+ const BLEEDING = 32;
51386
+ const imagePreviewProps = {
51387
+ ...imagePreviewSharedProps,
51388
+ src: String,
51389
+ show: {
51390
+ type: Boolean,
51391
+ default: void 0
51392
+ },
51393
+ defaultShow: Boolean,
51394
+ "onUpdate:show": [Function, Array],
51395
+ loading: {
51396
+ type: Boolean,
51397
+ default: false
51398
+ },
51399
+ spinProps: {
51400
+ type: Object,
51401
+ default: void 0
51402
+ },
51403
+ onUpdateShow: [Function, Array],
51404
+ onNext: Function,
51405
+ onPrev: Function,
51406
+ onClose: [Function, Array]
51407
+ };
51166
51408
 
51167
- var style$19 = c$1([c$1("body >", [cB("image-container", "position: fixed;")]), cB("image-preview-container", `
51409
+ var style$18 = c$1([c$1("body >", [cB("image-container", "position: fixed;")]), cB("image-preview-container", `
51168
51410
  position: fixed;
51169
51411
  left: 0;
51170
51412
  right: 0;
@@ -51198,7 +51440,17 @@
51198
51440
  padding: 0 8px;
51199
51441
  font-size: 28px;
51200
51442
  cursor: pointer;
51201
- `), fadeInTransition()]), cB("image-preview-wrapper", `
51443
+ `), fadeInTransition()]), cB("image-preview-loading", `
51444
+ position: absolute;
51445
+ left: 0;
51446
+ right: 0;
51447
+ top: 0;
51448
+ bottom: 0;
51449
+ display: flex;
51450
+ align-items: center;
51451
+ justify-content: center;
51452
+ pointer-events: none;
51453
+ `), cB("image-preview-wrapper", `
51202
51454
  position: absolute;
51203
51455
  left: 0;
51204
51456
  right: 0;
@@ -51224,31 +51476,17 @@
51224
51476
  border-radius: inherit;
51225
51477
  `)])]);
51226
51478
 
51227
- const BLEEDING = 32;
51228
- const imagePreviewProps = {
51229
- ...imagePreviewSharedProps,
51230
- src: String,
51231
- show: {
51232
- type: Boolean,
51233
- default: void 0
51234
- },
51235
- defaultShow: Boolean,
51236
- "onUpdate:show": [Function, Array],
51237
- onUpdateShow: [Function, Array],
51238
- onNext: Function,
51239
- onPrev: Function,
51240
- onClose: [Function, Array]
51241
- };
51242
51479
  var _UImagePreview = vue.defineComponent({
51243
51480
  name: "ImagePreview",
51244
51481
  props: imagePreviewProps,
51482
+ slots: Object,
51245
51483
  setup(props) {
51246
51484
  const { src } = vue.toRefs(props);
51247
51485
  const { mergedClsPrefixRef } = useConfig(props);
51248
51486
  const themeRef = useTheme(
51249
51487
  "Image",
51250
51488
  "-image",
51251
- style$19,
51489
+ style$18,
51252
51490
  imageLight,
51253
51491
  props,
51254
51492
  mergedClsPrefixRef
@@ -51743,7 +51981,7 @@
51743
51981
  class: `${clsPrefix}-image-preview-wrapper`,
51744
51982
  ref: "previewWrapperRef"
51745
51983
  },
51746
- /* @__PURE__ */ vue.h(
51984
+ !this.loading ? /* @__PURE__ */ vue.h(
51747
51985
  "img",
51748
51986
  {
51749
51987
  ...previewedImgProps,
@@ -51759,13 +51997,18 @@
51759
51997
  ref: "previewRef",
51760
51998
  onDragstart: this.handleDragStart
51761
51999
  }
51762
- )
52000
+ ) : null
51763
52001
  ),
51764
52002
  [[vue.vShow, this.mergedShow]]
51765
52003
  );
51766
52004
  }
51767
52005
  }
51768
- )
52006
+ ),
52007
+ this.mergedShow && this.loading && /* @__PURE__ */ vue.h("div", { class: `${clsPrefix}-image-preview-loading` }, /* @__PURE__ */ vue.h(_USpin, { ...this.spinProps }, {
52008
+ default: this.$slots["spin-default"],
52009
+ icon: this.$slots["spin-icon"],
52010
+ description: this.$slots["spin-description"]
52011
+ }))
51769
52012
  ),
51770
52013
  [[zindexable, { enabled: this.mergedShow }]]
51771
52014
  );
@@ -52157,225 +52400,6 @@
52157
52400
  }
52158
52401
  });
52159
52402
 
52160
- var style$18 = c$1([c$1("@keyframes spin-rotate", `
52161
- from {
52162
- transform: rotate(0);
52163
- }
52164
- to {
52165
- transform: rotate(360deg);
52166
- }
52167
- `), cB("spin-container", {
52168
- position: "relative"
52169
- }, [cB("spin-body", `
52170
- position: absolute;
52171
- top: 50%;
52172
- left: 50%;
52173
- transform: translateX(-50%) translateY(-50%);
52174
- `, [fadeInTransition()])]), cB("spin-body", `
52175
- display: inline-flex;
52176
- align-items: center;
52177
- justify-content: center;
52178
- flex-direction: column;
52179
- `), cB("spin", `
52180
- display: inline-flex;
52181
- height: var(--u-size);
52182
- width: var(--u-size);
52183
- font-size: var(--u-size);
52184
- color: var(--u-color);
52185
- `, [cM("rotate", `
52186
- animation: spin-rotate 2s linear infinite;
52187
- `)]), cB("spin-description", `
52188
- display: inline-block;
52189
- font-size: var(--u-font-size);
52190
- color: var(--u-text-color);
52191
- transition: color .3s var(--u-bezier);
52192
- margin-top: 8px;
52193
- `), cB("spin-content", `
52194
- opacity: 1;
52195
- transition: opacity .3s var(--u-bezier);
52196
- pointer-events: all;
52197
- `, [cM("spinning", `
52198
- user-select: none;
52199
- -webkit-user-select: none;
52200
- pointer-events: none;
52201
- opacity: var(--u-opacity-spinning);
52202
- `)])]);
52203
-
52204
- const STROKE_WIDTH = {
52205
- tiny: 22,
52206
- small: 20,
52207
- medium: 18,
52208
- large: 16,
52209
- huge: 14
52210
- };
52211
- const spinProps = {
52212
- ...useTheme.props,
52213
- contentClass: String,
52214
- contentStyle: [Object, String],
52215
- description: String,
52216
- stroke: String,
52217
- size: {
52218
- type: [String, Number],
52219
- default: "medium"
52220
- },
52221
- show: {
52222
- type: Boolean,
52223
- default: true
52224
- },
52225
- strokeWidth: Number,
52226
- rotate: {
52227
- type: Boolean,
52228
- default: true
52229
- },
52230
- scale: Number,
52231
- radius: Number,
52232
- spinning: {
52233
- type: Boolean,
52234
- validator: () => {
52235
- return true;
52236
- },
52237
- default: void 0
52238
- },
52239
- color: {
52240
- type: [String],
52241
- default: "primary"
52242
- },
52243
- delay: Number
52244
- };
52245
- var _USpin = vue.defineComponent({
52246
- name: "Spin",
52247
- props: spinProps,
52248
- slots: Object,
52249
- setup(props) {
52250
- {
52251
- vue.watchEffect(() => {
52252
- if (props.spinning !== void 0) {
52253
- warnOnce(
52254
- "spin",
52255
- "`spinning` is deprecated, please use `show` instead."
52256
- );
52257
- }
52258
- });
52259
- }
52260
- const { mergedClsPrefixRef, inlineThemeDisabled } = useConfig(props);
52261
- const themeRef = useTheme(
52262
- "Spin",
52263
- "-spin",
52264
- style$18,
52265
- spinLight,
52266
- props,
52267
- mergedClsPrefixRef
52268
- );
52269
- const cssVarsRef = vue.computed(() => {
52270
- const { size: spinSize, color } = props;
52271
- const {
52272
- common: { cubicBezierEaseInOut },
52273
- self
52274
- } = themeRef.value;
52275
- const { opacitySpinning, tertiaryColor, primaryColor } = self;
52276
- const size = typeof spinSize === "number" ? pxfy(spinSize) : self[createKey("size", spinSize)];
52277
- return {
52278
- "--u-bezier": cubicBezierEaseInOut,
52279
- "--u-opacity-spinning": opacitySpinning,
52280
- "--u-size": size,
52281
- "--u-color": color === "tertiary" ? tertiaryColor : color === "primary" ? primaryColor : color,
52282
- "--u-text-color": color === "tertiary" ? tertiaryColor : color === "primary" ? primaryColor : color
52283
- };
52284
- });
52285
- const themeClassHandle = inlineThemeDisabled ? useThemeClass(
52286
- "spin",
52287
- vue.computed(() => {
52288
- const { size } = props;
52289
- return typeof size === "number" ? String(size) : size[0];
52290
- }),
52291
- cssVarsRef,
52292
- props
52293
- ) : void 0;
52294
- const compitableShow = useCompitable(props, ["spinning", "show"]);
52295
- const activeRef = vue.ref(false);
52296
- vue.watchEffect((onCleanup) => {
52297
- let timerId;
52298
- if (compitableShow.value) {
52299
- const { delay } = props;
52300
- if (delay) {
52301
- timerId = window.setTimeout(() => {
52302
- activeRef.value = true;
52303
- }, props.delay);
52304
- onCleanup(() => {
52305
- clearTimeout(timerId);
52306
- });
52307
- return;
52308
- }
52309
- }
52310
- activeRef.value = compitableShow.value;
52311
- });
52312
- return {
52313
- mergedClsPrefix: mergedClsPrefixRef,
52314
- active: activeRef,
52315
- mergedStrokeWidth: vue.computed(() => {
52316
- const { strokeWidth } = props;
52317
- if (strokeWidth !== void 0)
52318
- return strokeWidth;
52319
- const { size } = props;
52320
- return STROKE_WIDTH[typeof size === "number" ? "medium" : size];
52321
- }),
52322
- cssVars: inlineThemeDisabled ? void 0 : cssVarsRef,
52323
- themeClass: themeClassHandle?.themeClass,
52324
- onRender: themeClassHandle?.onRender
52325
- };
52326
- },
52327
- render() {
52328
- const { $slots, mergedClsPrefix, description } = this;
52329
- const rotate = $slots.icon && this.rotate;
52330
- const descriptionNode = (description || $slots.description) && /* @__PURE__ */ vue.h("div", { class: `${mergedClsPrefix}-spin-description` }, description || $slots.description?.());
52331
- const icon = $slots.icon ? /* @__PURE__ */ vue.h("div", { class: [`${mergedClsPrefix}-spin-body`, this.themeClass] }, /* @__PURE__ */ vue.h(
52332
- "div",
52333
- {
52334
- class: [
52335
- `${mergedClsPrefix}-spin`,
52336
- rotate && `${mergedClsPrefix}-spin--rotate`
52337
- ],
52338
- style: $slots.default ? "" : this.cssVars
52339
- },
52340
- $slots.icon()
52341
- ), descriptionNode) : /* @__PURE__ */ vue.h("div", { class: [`${mergedClsPrefix}-spin-body`, this.themeClass] }, /* @__PURE__ */ vue.h(
52342
- UBaseLoading,
52343
- {
52344
- clsPrefix: mergedClsPrefix,
52345
- style: $slots.default ? "" : this.cssVars,
52346
- stroke: this.stroke,
52347
- "stroke-width": this.mergedStrokeWidth,
52348
- radius: this.radius,
52349
- scale: this.scale,
52350
- class: `${mergedClsPrefix}-spin`
52351
- }
52352
- ), descriptionNode);
52353
- this.onRender?.();
52354
- return $slots.default ? /* @__PURE__ */ vue.h(
52355
- "div",
52356
- {
52357
- class: [`${mergedClsPrefix}-spin-container`, this.themeClass],
52358
- style: this.cssVars
52359
- },
52360
- /* @__PURE__ */ vue.h(
52361
- "div",
52362
- {
52363
- class: [
52364
- `${mergedClsPrefix}-spin-content`,
52365
- this.active && `${mergedClsPrefix}-spin-content--spinning`,
52366
- this.contentClass
52367
- ],
52368
- style: this.contentStyle
52369
- },
52370
- $slots
52371
- ),
52372
- /* @__PURE__ */ vue.h(vue.Transition, { name: "fade-in-transition" }, {
52373
- default: () => this.active ? icon : null
52374
- })
52375
- ) : icon;
52376
- }
52377
- });
52378
-
52379
52403
  function useUploadActionsRender(options) {
52380
52404
  const {
52381
52405
  clsPrefix,
@@ -55481,6 +55505,249 @@
55481
55505
  ["event" /* EVENT */]: MessageBubbleServiceVariant.EVENT,
55482
55506
  ["divider" /* DIVIDER */]: MessageBubbleServiceVariant.DIVIDER
55483
55507
  };
55508
+ const chatProps = {
55509
+ ...useTheme.props,
55510
+ chatItems: {
55511
+ type: Array,
55512
+ default: () => []
55513
+ },
55514
+ selectedChatId: {
55515
+ type: [String, Number],
55516
+ default: void 0
55517
+ },
55518
+ inputValue: {
55519
+ type: String,
55520
+ default: void 0
55521
+ },
55522
+ messages: {
55523
+ type: Array,
55524
+ default: () => []
55525
+ },
55526
+ typingChatIds: {
55527
+ type: Array,
55528
+ default: () => []
55529
+ },
55530
+ disabled: {
55531
+ type: Boolean,
55532
+ default: false
55533
+ },
55534
+ listEmptyProps: {
55535
+ type: Object,
55536
+ default: void 0
55537
+ },
55538
+ listHeaderTitle: {
55539
+ type: [String, Function],
55540
+ default: "Chats"
55541
+ },
55542
+ listHeaderActions: {
55543
+ type: Array,
55544
+ default: () => []
55545
+ },
55546
+ listHeaderButtonProps: {
55547
+ type: Object,
55548
+ default: void 0
55549
+ },
55550
+ listHeaderIconProps: {
55551
+ type: Object,
55552
+ default: void 0
55553
+ },
55554
+ listItemAvatarProps: {
55555
+ type: Object,
55556
+ default: void 0
55557
+ },
55558
+ listItemBadgeProps: {
55559
+ type: Object,
55560
+ default: void 0
55561
+ },
55562
+ headerTitle: {
55563
+ type: [String, Function],
55564
+ default: void 0
55565
+ },
55566
+ headerActions: {
55567
+ type: Array,
55568
+ default: () => []
55569
+ },
55570
+ headerButtonProps: {
55571
+ type: Object,
55572
+ default: void 0
55573
+ },
55574
+ headerIconProps: {
55575
+ type: Object,
55576
+ default: void 0
55577
+ },
55578
+ headerShareButtonProps: {
55579
+ type: Object,
55580
+ default: void 0
55581
+ },
55582
+ headerProfileButtonProps: {
55583
+ type: Object,
55584
+ default: void 0
55585
+ },
55586
+ headerCloseButtonProps: {
55587
+ type: Object,
55588
+ default: void 0
55589
+ },
55590
+ headerShareIconProps: {
55591
+ type: Object,
55592
+ default: void 0
55593
+ },
55594
+ headerProfileIconProps: {
55595
+ type: Object,
55596
+ default: void 0
55597
+ },
55598
+ messageSenderAvatarProps: {
55599
+ type: Object,
55600
+ default: void 0
55601
+ },
55602
+ messageUploadProps: {
55603
+ type: Object,
55604
+ default: void 0
55605
+ },
55606
+ messageButtonProps: {
55607
+ type: Object,
55608
+ default: void 0
55609
+ },
55610
+ footerInputProps: {
55611
+ type: Object,
55612
+ default: void 0
55613
+ },
55614
+ footerButtonProps: {
55615
+ type: Object,
55616
+ default: void 0
55617
+ },
55618
+ footerUploadProps: {
55619
+ type: Object,
55620
+ default: void 0
55621
+ },
55622
+ footerUploadTriggerProps: {
55623
+ type: Object,
55624
+ default: void 0
55625
+ },
55626
+ footerIconProps: {
55627
+ type: Object,
55628
+ default: void 0
55629
+ },
55630
+ footerSuffixIconProps: {
55631
+ type: Object,
55632
+ default: void 0
55633
+ },
55634
+ emptyProps: {
55635
+ type: Object,
55636
+ default: void 0
55637
+ },
55638
+ retryText: {
55639
+ type: String,
55640
+ default: void 0
55641
+ },
55642
+ typingText: {
55643
+ type: String,
55644
+ default: void 0
55645
+ },
55646
+ closeButtonText: {
55647
+ type: String,
55648
+ default: void 0
55649
+ },
55650
+ shareButtonTooltip: {
55651
+ type: String,
55652
+ default: void 0
55653
+ },
55654
+ profileButtonTooltip: {
55655
+ type: String,
55656
+ default: void 0
55657
+ },
55658
+ unreadNotificationText: {
55659
+ type: String,
55660
+ default: void 0
55661
+ },
55662
+ chatItemsLoading: {
55663
+ type: Boolean,
55664
+ default: false
55665
+ },
55666
+ chatItemsLoadingCount: {
55667
+ type: Number,
55668
+ default: 10
55669
+ },
55670
+ messagesLoading: {
55671
+ type: Boolean,
55672
+ default: false
55673
+ },
55674
+ messagesLoadingCount: {
55675
+ type: Number,
55676
+ default: 10
55677
+ },
55678
+ height: {
55679
+ type: [String, Number],
55680
+ default: 800
55681
+ },
55682
+ onChatSelect: {
55683
+ type: Function,
55684
+ default: void 0
55685
+ },
55686
+ onMessageRetry: {
55687
+ type: Function,
55688
+ default: void 0
55689
+ },
55690
+ bubbleActions: {
55691
+ type: Array,
55692
+ default: void 0
55693
+ },
55694
+ onChatClose: {
55695
+ type: Function,
55696
+ default: void 0
55697
+ },
55698
+ onChatShare: {
55699
+ type: Function,
55700
+ default: void 0
55701
+ },
55702
+ onUserProfile: {
55703
+ type: Function,
55704
+ default: void 0
55705
+ },
55706
+ onAttachmentUpload: {
55707
+ type: Function,
55708
+ default: void 0
55709
+ },
55710
+ onAttachmentDownload: {
55711
+ type: Function,
55712
+ default: void 0
55713
+ },
55714
+ onFilterChange: {
55715
+ type: Function,
55716
+ default: void 0
55717
+ },
55718
+ onFooterInputChange: {
55719
+ type: Function,
55720
+ default: void 0
55721
+ },
55722
+ onNetworkError: {
55723
+ type: Function,
55724
+ default: void 0
55725
+ },
55726
+ onUploadError: {
55727
+ type: Function,
55728
+ default: void 0
55729
+ },
55730
+ onSendError: {
55731
+ type: Function,
55732
+ default: void 0
55733
+ },
55734
+ onChatItemsScrollToTop: {
55735
+ type: Function,
55736
+ default: void 0
55737
+ },
55738
+ onChatItemsScrollToBottom: {
55739
+ type: Function,
55740
+ default: void 0
55741
+ },
55742
+ onMessagesScrollToTop: {
55743
+ type: Function,
55744
+ default: void 0
55745
+ },
55746
+ onMessagesScrollToBottom: {
55747
+ type: Function,
55748
+ default: void 0
55749
+ }
55750
+ };
55484
55751
 
55485
55752
  var style$15 = cB("chat", `
55486
55753
  height: 100%;
@@ -56310,6 +56577,10 @@
56310
56577
  type: Object,
56311
56578
  default: void 0
56312
56579
  },
56580
+ inputValue: {
56581
+ type: String,
56582
+ default: void 0
56583
+ },
56313
56584
  messages: {
56314
56585
  type: Array,
56315
56586
  default: () => []
@@ -56426,6 +56697,10 @@
56426
56697
  type: Function,
56427
56698
  default: void 0
56428
56699
  },
56700
+ "onUpdate:inputValue": {
56701
+ type: Function,
56702
+ default: void 0
56703
+ },
56429
56704
  onChatClose: {
56430
56705
  type: Function,
56431
56706
  default: void 0
@@ -56478,6 +56753,10 @@
56478
56753
  const headerProfileIconPropsRef = UChat?.headerProfileIconPropsRef ?? vue.toRef(props, "headerProfileIconProps");
56479
56754
  const messageUploadPropsRef = UChat?.messageUploadPropsRef ?? vue.toRef(props, "messageUploadProps");
56480
56755
  const footerInputPropsRef = UChat?.footerInputPropsRef ?? vue.toRef(props, "footerInputProps");
56756
+ const safeFooterInputPropsRef = vue.computed(() => {
56757
+ const { value, ...rest } = footerInputPropsRef.value ?? {};
56758
+ return rest;
56759
+ });
56481
56760
  const footerButtonPropsRef = UChat?.footerButtonPropsRef ?? vue.toRef(props, "footerButtonProps");
56482
56761
  const footerUploadPropsRef = UChat?.footerUploadPropsRef ?? vue.toRef(props, "footerUploadProps");
56483
56762
  const footerIconPropsRef = UChat?.footerIconPropsRef ?? vue.toRef(props, "footerIconProps");
@@ -56602,7 +56881,22 @@
56602
56881
  );
56603
56882
  const messagesBodyRef = vue.ref();
56604
56883
  const inputRef = vue.ref();
56605
- const inputValue = vue.ref("");
56884
+ const uncontrolledInputValueRef = vue.ref(props.inputValue ?? "");
56885
+ const handleInputValueChange = UChat?.handleInputValueChange ?? ((value) => {
56886
+ uncontrolledInputValueRef.value = value;
56887
+ props["onUpdate:inputValue"]?.(value);
56888
+ });
56889
+ const inputValue = vue.computed({
56890
+ get: () => {
56891
+ if (UChat) {
56892
+ return UChat.inputValueRef.value ?? "";
56893
+ }
56894
+ return props.inputValue !== void 0 ? props.inputValue : uncontrolledInputValueRef.value;
56895
+ },
56896
+ set: (value) => {
56897
+ handleInputValueChange(value);
56898
+ }
56899
+ });
56606
56900
  const attachmentFileList = vue.ref([]);
56607
56901
  const uploadedAttachmentsMap = vue.ref(/* @__PURE__ */ new Map());
56608
56902
  const lastScrollTop = vue.ref(0);
@@ -57177,13 +57471,14 @@
57177
57471
  }
57178
57472
  },
57179
57473
  onKeydown: (e) => {
57474
+ footerInputPropsRef.value?.onKeydown?.(e);
57180
57475
  if (e.key === "Enter" && !e.shiftKey) {
57181
57476
  e.preventDefault();
57182
57477
  e.stopPropagation();
57183
57478
  void handleSendMessage();
57184
57479
  }
57185
57480
  },
57186
- ...footerInputPropsRef.value
57481
+ ...safeFooterInputPropsRef.value
57187
57482
  },
57188
57483
  {
57189
57484
  prefix: () => renderEditingBlock(),
@@ -57217,6 +57512,8 @@
57217
57512
  mergedClsPrefixRef,
57218
57513
  mergedThemeRef,
57219
57514
  selectedChatRef,
57515
+ inputValueRef: inputValue,
57516
+ handleInputValueChange,
57220
57517
  messagesRef,
57221
57518
  typingChatIdsRef,
57222
57519
  messagesLoadingRef,
@@ -58986,250 +59283,12 @@
58986
59283
  }
58987
59284
  });
58988
59285
 
58989
- const chatProps = {
58990
- ...useTheme.props,
58991
- chatItems: {
58992
- type: Array,
58993
- default: () => []
58994
- },
58995
- selectedChatId: {
58996
- type: [String, Number],
58997
- default: void 0
58998
- },
58999
- messages: {
59000
- type: Array,
59001
- default: () => []
59002
- },
59003
- typingChatIds: {
59004
- type: Array,
59005
- default: () => []
59006
- },
59007
- disabled: {
59008
- type: Boolean,
59009
- default: false
59010
- },
59011
- listEmptyProps: {
59012
- type: Object,
59013
- default: void 0
59014
- },
59015
- listHeaderTitle: {
59016
- type: [String, Function],
59017
- default: "Chats"
59018
- },
59019
- listHeaderActions: {
59020
- type: Array,
59021
- default: () => []
59022
- },
59023
- listHeaderButtonProps: {
59024
- type: Object,
59025
- default: void 0
59026
- },
59027
- listHeaderIconProps: {
59028
- type: Object,
59029
- default: void 0
59030
- },
59031
- listItemAvatarProps: {
59032
- type: Object,
59033
- default: void 0
59034
- },
59035
- listItemBadgeProps: {
59036
- type: Object,
59037
- default: void 0
59038
- },
59039
- headerTitle: {
59040
- type: [String, Function],
59041
- default: void 0
59042
- },
59043
- headerActions: {
59044
- type: Array,
59045
- default: () => []
59046
- },
59047
- headerButtonProps: {
59048
- type: Object,
59049
- default: void 0
59050
- },
59051
- headerIconProps: {
59052
- type: Object,
59053
- default: void 0
59054
- },
59055
- headerShareButtonProps: {
59056
- type: Object,
59057
- default: void 0
59058
- },
59059
- headerProfileButtonProps: {
59060
- type: Object,
59061
- default: void 0
59062
- },
59063
- headerCloseButtonProps: {
59064
- type: Object,
59065
- default: void 0
59066
- },
59067
- headerShareIconProps: {
59068
- type: Object,
59069
- default: void 0
59070
- },
59071
- headerProfileIconProps: {
59072
- type: Object,
59073
- default: void 0
59074
- },
59075
- messageSenderAvatarProps: {
59076
- type: Object,
59077
- default: void 0
59078
- },
59079
- messageUploadProps: {
59080
- type: Object,
59081
- default: void 0
59082
- },
59083
- messageButtonProps: {
59084
- type: Object,
59085
- default: void 0
59086
- },
59087
- footerInputProps: {
59088
- type: Object,
59089
- default: void 0
59090
- },
59091
- footerButtonProps: {
59092
- type: Object,
59093
- default: void 0
59094
- },
59095
- footerUploadProps: {
59096
- type: Object,
59097
- default: void 0
59098
- },
59099
- footerUploadTriggerProps: {
59100
- type: Object,
59101
- default: void 0
59102
- },
59103
- footerIconProps: {
59104
- type: Object,
59105
- default: void 0
59106
- },
59107
- footerSuffixIconProps: {
59108
- type: Object,
59109
- default: void 0
59110
- },
59111
- emptyProps: {
59112
- type: Object,
59113
- default: void 0
59114
- },
59115
- retryText: {
59116
- type: String,
59117
- default: void 0
59118
- },
59119
- typingText: {
59120
- type: String,
59121
- default: void 0
59122
- },
59123
- closeButtonText: {
59124
- type: String,
59125
- default: void 0
59126
- },
59127
- shareButtonTooltip: {
59128
- type: String,
59129
- default: void 0
59130
- },
59131
- profileButtonTooltip: {
59132
- type: String,
59133
- default: void 0
59134
- },
59135
- unreadNotificationText: {
59136
- type: String,
59137
- default: void 0
59138
- },
59139
- chatItemsLoading: {
59140
- type: Boolean,
59141
- default: false
59142
- },
59143
- chatItemsLoadingCount: {
59144
- type: Number,
59145
- default: 10
59146
- },
59147
- messagesLoading: {
59148
- type: Boolean,
59149
- default: false
59150
- },
59151
- messagesLoadingCount: {
59152
- type: Number,
59153
- default: 10
59154
- },
59155
- height: {
59156
- type: [String, Number],
59157
- default: 800
59158
- },
59159
- onChatSelect: {
59160
- type: Function,
59161
- default: void 0
59162
- },
59163
- onMessageRetry: {
59164
- type: Function,
59165
- default: void 0
59166
- },
59167
- bubbleActions: {
59168
- type: Array,
59169
- default: void 0
59170
- },
59171
- onChatClose: {
59172
- type: Function,
59173
- default: void 0
59174
- },
59175
- onChatShare: {
59176
- type: Function,
59177
- default: void 0
59178
- },
59179
- onUserProfile: {
59180
- type: Function,
59181
- default: void 0
59182
- },
59183
- onAttachmentUpload: {
59184
- type: Function,
59185
- default: void 0
59186
- },
59187
- onAttachmentDownload: {
59188
- type: Function,
59189
- default: void 0
59190
- },
59191
- onFilterChange: {
59192
- type: Function,
59193
- default: void 0
59194
- },
59195
- onFooterInputChange: {
59196
- type: Function,
59197
- default: void 0
59198
- },
59199
- onNetworkError: {
59200
- type: Function,
59201
- default: void 0
59202
- },
59203
- onUploadError: {
59204
- type: Function,
59205
- default: void 0
59206
- },
59207
- onSendError: {
59208
- type: Function,
59209
- default: void 0
59210
- },
59211
- onChatItemsScrollToTop: {
59212
- type: Function,
59213
- default: void 0
59214
- },
59215
- onChatItemsScrollToBottom: {
59216
- type: Function,
59217
- default: void 0
59218
- },
59219
- onMessagesScrollToTop: {
59220
- type: Function,
59221
- default: void 0
59222
- },
59223
- onMessagesScrollToBottom: {
59224
- type: Function,
59225
- default: void 0
59226
- }
59227
- };
59228
59286
  var _UChat = vue.defineComponent({
59229
59287
  name: "Chat",
59230
59288
  props: chatProps,
59231
59289
  emits: [
59232
59290
  "update:selectedChatId",
59291
+ "update:inputValue",
59233
59292
  "message-send",
59234
59293
  "message-retry",
59235
59294
  "attachment-upload",
@@ -59350,6 +59409,14 @@
59350
59409
  const mergedSelectedChatIdRef = vue.computed(() => {
59351
59410
  return props.selectedChatId !== void 0 ? props.selectedChatId : uncontrolledSelectedChatIdRef.value;
59352
59411
  });
59412
+ const uncontrolledInputValueRef = vue.ref(props.inputValue ?? "");
59413
+ const mergedInputValueRef = vue.computed(() => {
59414
+ return props.inputValue !== void 0 ? props.inputValue : uncontrolledInputValueRef.value;
59415
+ });
59416
+ const handleInputValueChange = (value) => {
59417
+ uncontrolledInputValueRef.value = value;
59418
+ emit("update:inputValue", value);
59419
+ };
59353
59420
  const selectedChatRef = vue.computed(() => {
59354
59421
  return props.chatItems?.find(
59355
59422
  (item) => item.id === mergedSelectedChatIdRef.value
@@ -59463,6 +59530,8 @@
59463
59530
  chatItemsRef: vue.toRef(props, "chatItems"),
59464
59531
  selectedChatIdRef: mergedSelectedChatIdRef,
59465
59532
  selectedChatRef,
59533
+ inputValueRef: mergedInputValueRef,
59534
+ handleInputValueChange,
59466
59535
  messagesRef: filteredMessagesRef,
59467
59536
  typingChatIdsRef: vue.toRef(props, "typingChatIds"),
59468
59537
  chatItemsLoadingRef: vue.toRef(props, "chatItemsLoading"),
@@ -117635,7 +117704,7 @@ ${icon.label}`.toLowerCase()
117635
117704
  });
117636
117705
  }
117637
117706
 
117638
- var version = "2.3.3";
117707
+ var version = "2.3.5";
117639
117708
 
117640
117709
  function create({
117641
117710
  componentPrefix = "U",