fluekit 1.0.1 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -9,6 +9,15 @@ function isPureNumber(o) {
9
9
  function isNumberPx(o) {
10
10
  return NUMBER_PX_REGEX.test(o);
11
11
  }
12
+ function isDefined(o) {
13
+ return o != null;
14
+ }
15
+ function isPlainObject(o) {
16
+ return Object.prototype.toLocaleString.call(o) == "[object Object]";
17
+ }
18
+ function isHtmlTag(o) {
19
+ return typeof o.type == "string";
20
+ }
12
21
  var DEFAULT_VW = 750, canTransform = !0;
13
22
  function setTransform(o) {
14
23
  canTransform = o;
@@ -43,94 +52,125 @@ function px2vw(o, F = DEFAULT_VW) {
43
52
  }
44
53
  }
45
54
  const Alignment = {
46
- center: {
47
- justifyContent: "center",
48
- alignItems: "center"
49
- },
50
- topLeft: {
51
- justifyContent: "flex-start",
52
- alignItems: "flex-start"
53
- },
54
- topCenter: {
55
- justifyContent: "center",
56
- alignItems: "flex-start"
57
- },
58
- topRight: {
59
- justifyContent: "flex-end",
60
- alignItems: "flex-start"
61
- },
62
- centerLeft: {
63
- justifyContent: "flex-start",
64
- alignItems: "center"
65
- },
66
- centerRight: {
67
- justifyContent: "flex-end",
68
- alignItems: "center"
69
- },
70
- bottomLeft: {
71
- justifyContent: "flex-start",
72
- alignItems: "flex-end"
73
- },
74
- bottomCenter: {
75
- justifyContent: "center",
76
- alignItems: "flex-end"
77
- },
78
- bottomRight: {
79
- justifyContent: "flex-end",
80
- alignItems: "flex-end"
81
- }
55
+ topLeft: "topLeft",
56
+ topCenter: "topCenter",
57
+ topRight: "topRight",
58
+ centerLeft: "centerLeft",
59
+ center: "center",
60
+ centerRight: "centerRight",
61
+ bottomLeft: "bottomLeft",
62
+ bottomCenter: "bottomCenter",
63
+ bottomRight: "bottomRight"
82
64
  };
83
- function alignmentToStyle(o, F = "row") {
84
- let I = Alignment[o];
85
- return I ? F === "row" ? I : {
86
- justifyContent: I.alignItems,
87
- alignItems: I.justifyContent
88
- } : {};
65
+ function alignmentToFlex(o, F = "row") {
66
+ let I = o, L = "flex-start", R = "flex-start";
67
+ I.toLowerCase().includes("left") || I.toLowerCase().includes("right");
68
+ let z = {
69
+ topLeft: {
70
+ x: "flex-start",
71
+ y: "flex-start"
72
+ },
73
+ topCenter: {
74
+ x: "center",
75
+ y: "flex-start"
76
+ },
77
+ topRight: {
78
+ x: "flex-end",
79
+ y: "flex-start"
80
+ },
81
+ centerLeft: {
82
+ x: "flex-start",
83
+ y: "center"
84
+ },
85
+ center: {
86
+ x: "center",
87
+ y: "center"
88
+ },
89
+ centerRight: {
90
+ x: "flex-end",
91
+ y: "center"
92
+ },
93
+ bottomLeft: {
94
+ x: "flex-start",
95
+ y: "flex-end"
96
+ },
97
+ bottomCenter: {
98
+ x: "center",
99
+ y: "flex-end"
100
+ },
101
+ bottomRight: {
102
+ x: "flex-end",
103
+ y: "flex-end"
104
+ }
105
+ }[I] || {
106
+ x: "flex-start",
107
+ y: "flex-start"
108
+ };
109
+ return F === "row" ? (L = z.x, R = z.y) : (L = z.y, R = z.x), {
110
+ justifyContent: L,
111
+ alignItems: R
112
+ };
89
113
  }
90
- function alignmentToOrigin(o) {
114
+ const alignmentToStyle = alignmentToFlex;
115
+ function alignmentToCssPosition(o) {
91
116
  return {
92
- center: "center center",
93
117
  topLeft: "left top",
94
118
  topCenter: "center top",
95
119
  topRight: "right top",
96
120
  centerLeft: "left center",
121
+ center: "center",
97
122
  centerRight: "right center",
98
123
  bottomLeft: "left bottom",
99
124
  bottomCenter: "center bottom",
100
125
  bottomRight: "right bottom"
101
- }[o];
126
+ }[o] || "center";
127
+ }
128
+ function alignmentToOrigin(o) {
129
+ return alignmentToCssPosition(o);
130
+ }
131
+ function alignmentToGrid(o) {
132
+ return {
133
+ topLeft: {
134
+ justifyItems: "start",
135
+ alignItems: "start"
136
+ },
137
+ topCenter: {
138
+ justifyItems: "center",
139
+ alignItems: "start"
140
+ },
141
+ topRight: {
142
+ justifyItems: "end",
143
+ alignItems: "start"
144
+ },
145
+ centerLeft: {
146
+ justifyItems: "start",
147
+ alignItems: "center"
148
+ },
149
+ center: {
150
+ justifyItems: "center",
151
+ alignItems: "center"
152
+ },
153
+ centerRight: {
154
+ justifyItems: "end",
155
+ alignItems: "center"
156
+ },
157
+ bottomLeft: {
158
+ justifyItems: "start",
159
+ alignItems: "end"
160
+ },
161
+ bottomCenter: {
162
+ justifyItems: "center",
163
+ alignItems: "end"
164
+ },
165
+ bottomRight: {
166
+ justifyItems: "end",
167
+ alignItems: "end"
168
+ }
169
+ }[o] || {
170
+ justifyItems: "start",
171
+ alignItems: "start"
172
+ };
102
173
  }
103
- const CrossAxisAlignment = {
104
- start: "start",
105
- end: "end",
106
- center: "center",
107
- stretch: "stretch",
108
- baseline: "baseline"
109
- }, MainAxisAlignment = {
110
- start: "start",
111
- end: "end",
112
- center: "center",
113
- spaceBetween: "space-between",
114
- spaceAround: "space-around",
115
- spaceEvenly: "space-evenly"
116
- }, FlexBoxJustifyMap = {
117
- start: "flex-start",
118
- end: "flex-end",
119
- center: "center",
120
- "space-between": "space-between",
121
- "space-around": "space-around",
122
- "space-evenly": "space-evenly"
123
- }, FlexBoxAlignMap = {
124
- start: "flex-start",
125
- end: "flex-end",
126
- center: "center",
127
- stretch: "stretch",
128
- baseline: "baseline"
129
- }, StackFit = {
130
- loose: "loose",
131
- expand: "expand",
132
- passthrough: "passthrough"
133
- };
134
174
  var Align_default = /* @__PURE__ */ defineComponent({
135
175
  inheritAttrs: !1,
136
176
  __name: "Align",
@@ -155,16 +195,36 @@ var Align_default = /* @__PURE__ */ defineComponent({
155
195
  style: normalizeStyle(L.value)
156
196
  }, [renderSlot(o.$slots, "default")], 4)], 4));
157
197
  }
158
- }), toVal = (o) => o === Infinity ? void 0 : o;
198
+ }), BOX_CONSTRAINTS_SYMBOL = Symbol("boxConstraints"), toVal = (o) => o === Infinity ? void 0 : o;
159
199
  function BoxConstraints(o = {}) {
160
200
  let F = Math.max(0, o.minWidth ?? 0), I = Math.max(0, o.minHeight ?? 0), L = Math.max(F, o.maxWidth ?? Infinity), R = Math.max(I, o.maxHeight ?? Infinity);
161
201
  return {
162
202
  minWidth: toVal(F),
163
203
  maxWidth: toVal(L),
164
204
  minHeight: toVal(I),
165
- maxHeight: toVal(R)
205
+ maxHeight: toVal(R),
206
+ [BOX_CONSTRAINTS_SYMBOL]: !0
166
207
  };
167
208
  }
209
+ BoxConstraints.tight = (o) => BoxConstraints({
210
+ minWidth: o.width,
211
+ maxWidth: o.width,
212
+ minHeight: o.height,
213
+ maxHeight: o.height
214
+ }), BoxConstraints.loose = (o) => BoxConstraints({
215
+ minWidth: 0,
216
+ maxWidth: o.width,
217
+ minHeight: 0,
218
+ maxHeight: o.height
219
+ }), BoxConstraints.expand = ({ width: o, height: F } = {}) => BoxConstraints({
220
+ minWidth: o ?? Infinity,
221
+ maxWidth: o ?? Infinity,
222
+ minHeight: F ?? Infinity,
223
+ maxHeight: F ?? Infinity
224
+ });
225
+ function isBoxConstraints(o) {
226
+ return isPlainObject(o) ? BOX_CONSTRAINTS_SYMBOL in o : !1;
227
+ }
168
228
  function boxConstraintsToStyle(o) {
169
229
  let F = o ?? {};
170
230
  return {
@@ -174,20 +234,34 @@ function boxConstraintsToStyle(o) {
174
234
  maxHeight: px2vw(F.maxHeight)
175
235
  };
176
236
  }
177
- function borderRadiusToStyle(o) {
178
- if (!o) return {};
179
- if (typeof o == "string" || typeof o == "number") return { borderRadius: px2vw(o) };
180
- let { topLeft: F, topRight: I, bottomLeft: L, bottomRight: R, all: z } = o;
181
- if (z) return { borderRadius: px2vw(z) };
182
- let B = {};
183
- return L && (B.borderBottomLeftRadius = px2vw(L)), R && (B.borderBottomRightRadius = px2vw(R)), F && (B.borderTopLeftRadius = px2vw(F)), I && (B.borderTopRightRadius = px2vw(I)), B;
184
- }
237
+ var BORDER_SIDE_SYMBOL = Symbol("borderSide"), BORDERS_SYMBOL = Symbol("borders");
185
238
  function Border(o) {
186
239
  return {
187
240
  width: o.width ? o.width : 1,
188
241
  color: o.color || "#000",
189
- style: o.style || "solid"
242
+ style: o.style || "solid",
243
+ [BORDER_SIDE_SYMBOL]: !0
244
+ };
245
+ }
246
+ Border.all = ({ color: o, width: F, style: I } = {}) => {
247
+ let L = Border({
248
+ color: o,
249
+ width: F,
250
+ style: I
251
+ });
252
+ return {
253
+ top: L,
254
+ bottom: L,
255
+ left: L,
256
+ right: L,
257
+ [BORDERS_SYMBOL]: !0
190
258
  };
259
+ };
260
+ function isBorderSide(o) {
261
+ return isPlainObject(o) ? BORDER_SIDE_SYMBOL in o : !1;
262
+ }
263
+ function isBorders(o) {
264
+ return isPlainObject(o) ? BORDERS_SYMBOL in o : !1;
191
265
  }
192
266
  function borderSideToString(o) {
193
267
  if (!o) return;
@@ -195,16 +269,97 @@ function borderSideToString(o) {
195
269
  return I && F.push(I > 1 ? px2vw(I) : I + "px"), L && F.push(L), R && F.push(R), `${F.join(" ")}`;
196
270
  }
197
271
  function borderToStyle(o) {
198
- return o ? [
199
- "width",
200
- "color",
201
- "style"
202
- ].every((F) => !!o[F]) ? { border: borderSideToString(o) } : o.all ? { border: borderSideToString(o.all) } : {
272
+ if (o) return {
203
273
  borderLeft: borderSideToString(o.left),
204
274
  borderTop: borderSideToString(o.top),
205
275
  borderRight: borderSideToString(o.right),
206
276
  borderBottom: borderSideToString(o.bottom)
207
- } : {};
277
+ };
278
+ }
279
+ var BORDER_RADIUS_SYMBOL = Symbol("borderRadius");
280
+ function BorderRadius(o) {
281
+ let { topLeft: F, topRight: I, bottomLeft: L, bottomRight: R } = o;
282
+ return {
283
+ topLeft: F || 0,
284
+ topRight: I || 0,
285
+ bottomLeft: L || 0,
286
+ bottomRight: R || 0,
287
+ [BORDER_RADIUS_SYMBOL]: !0
288
+ };
289
+ }
290
+ BorderRadius.all = (o) => ({
291
+ topLeft: o,
292
+ topRight: o,
293
+ bottomLeft: o,
294
+ bottomRight: o,
295
+ [BORDER_RADIUS_SYMBOL]: !0
296
+ }), BorderRadius.circular = (o) => BorderRadius.all(o), BorderRadius.only = ({ topLeft: o, topRight: F, bottomLeft: I, bottomRight: L }) => BorderRadius({
297
+ topLeft: o,
298
+ topRight: F,
299
+ bottomLeft: I,
300
+ bottomRight: L
301
+ }), BorderRadius.zero = BorderRadius({});
302
+ function isBorderRadius(o) {
303
+ return typeof o == "object" && !!o && BORDER_RADIUS_SYMBOL in o;
304
+ }
305
+ function borderRadiusToStyle(o) {
306
+ if (!o) return {};
307
+ let { topLeft: F, topRight: I, bottomLeft: L, bottomRight: R } = o, z = {};
308
+ return L && (z.borderBottomLeftRadius = px2vw(L)), R && (z.borderBottomRightRadius = px2vw(R)), F && (z.borderTopLeftRadius = px2vw(F)), I && (z.borderTopRightRadius = px2vw(I)), z;
309
+ }
310
+ let BlurStyle = /* @__PURE__ */ function(o) {
311
+ return o.normal = "normal", o.solid = "solid", o.outer = "outer", o.inner = "inner", o;
312
+ }({});
313
+ var BOX_SHADOW_SYMBOL = Symbol("boxShadow");
314
+ function BoxShadow(o = {}) {
315
+ return {
316
+ color: o.color || "rgba(0, 0, 0, 0.2)",
317
+ offset: o.offset || {
318
+ x: 0,
319
+ y: 0
320
+ },
321
+ blurRadius: o.blurRadius || 0,
322
+ spreadRadius: o.spreadRadius || 0,
323
+ blurStyle: o.blurStyle || BlurStyle.normal,
324
+ [BOX_SHADOW_SYMBOL]: !0
325
+ };
326
+ }
327
+ function isBoxShadow(o) {
328
+ return isPlainObject(o) ? BOX_SHADOW_SYMBOL in o : !1;
329
+ }
330
+ function boxShadowToCSS(o) {
331
+ return `${px2vw(o.offset?.x || 0)} ${px2vw(o.offset?.y || 0)} ${px2vw(o.blurRadius || 0)} ${px2vw(o.spreadRadius || 0)} ${o.color || "rgba(0,0,0,0.2)"} ${o.blurStyle === BlurStyle.inner ? "inset" : ""}`.trim();
332
+ }
333
+ let TileMode = /* @__PURE__ */ function(o) {
334
+ return o.clamp = "clamp", o.repeated = "repeated", o.mirror = "mirror", o.decal = "decal", o;
335
+ }({});
336
+ function alignmentToCSSSide(o) {
337
+ switch (o) {
338
+ case Alignment.topLeft: return "to bottom right";
339
+ case Alignment.topCenter: return "to bottom";
340
+ case Alignment.topRight: return "to bottom left";
341
+ case Alignment.centerLeft: return "to right";
342
+ case Alignment.centerRight: return "to left";
343
+ case Alignment.bottomLeft: return "to top right";
344
+ case Alignment.bottomCenter: return "to top";
345
+ case Alignment.bottomRight: return "to top left";
346
+ default: return "to bottom";
347
+ }
348
+ }
349
+ function calculateLinearDirection(o, F) {
350
+ return o === Alignment.topCenter && F === Alignment.bottomCenter ? "to bottom" : o === Alignment.bottomCenter && F === Alignment.topCenter ? "to top" : o === Alignment.centerLeft && F === Alignment.centerRight ? "to right" : o === Alignment.centerRight && F === Alignment.centerLeft ? "to left" : o === Alignment.topLeft && F === Alignment.bottomRight ? "to bottom right" : o === Alignment.bottomRight && F === Alignment.topLeft ? "to top left" : o === Alignment.topRight && F === Alignment.bottomLeft ? "to bottom left" : o === Alignment.bottomLeft && F === Alignment.topRight ? "to top right" : alignmentToCSSSide(o);
351
+ }
352
+ function LinearGradient(o) {
353
+ let { colors: F, stops: I, begin: L = Alignment.centerLeft, end: R = Alignment.centerRight } = o;
354
+ if (!F || F.length === 0) return "none";
355
+ let z = calculateLinearDirection(L, R), B = "";
356
+ return B = I && I.length === F.length ? F.map((o, F) => `${o} ${I[F] * 100}%`).join(", ") : F.join(", "), `linear-gradient(${z}, ${B})`;
357
+ }
358
+ function RadialGradient(o) {
359
+ let { colors: F, stops: I, center: L = Alignment.center } = o;
360
+ if (!F || F.length === 0) return "none";
361
+ let R = alignmentToCssPosition(L), z = "";
362
+ return z = I && I.length === F.length ? F.map((o, F) => `${o} ${I[F] * 100}%`).join(", ") : F.join(", "), `radial-gradient(circle at ${R}, ${z})`;
208
363
  }
209
364
  const BoxFit = {
210
365
  fitWidth: "fitWidth",
@@ -230,21 +385,10 @@ var ImageFitMap = {
230
385
  right: "right",
231
386
  center: "center"
232
387
  };
233
- const BoxAlignment = {
234
- center: "center",
235
- top: "top",
236
- bottom: "bottom",
237
- left: "left",
238
- right: "right",
239
- topLeft: "left top",
240
- topCenter: "center top",
241
- topRight: "right top",
242
- centerLeft: "left center",
243
- centerRight: "right center",
244
- bottomLeft: "left bottom",
245
- bottomCenter: "center bottom",
246
- bottomRight: "right bottom"
247
- };
388
+ const BoxAlignment = Alignment;
389
+ let BoxShape = /* @__PURE__ */ function(o) {
390
+ return o.rectangle = "rectangle", o.circle = "circle", o;
391
+ }({});
248
392
  var _baseUrl = "";
249
393
  function setBaseUrl(o) {
250
394
  _baseUrl = o;
@@ -259,30 +403,35 @@ const NetworkImage = (o) => o, AssetImage = (o) => o;
259
403
  function DecorationImage(o) {
260
404
  return o;
261
405
  }
262
- var isGradient = (o) => /^(linear|radial|conic|repeating-linear|repeating-radial)-gradient\(/.test(o);
406
+ var BOX_DECORATION_SYMBOL = Symbol("boxDecoration"), isGradient = (o) => /^(linear|radial|conic|repeating-linear|repeating-radial)-gradient\(/.test(o);
263
407
  function decorationImageToStyle(o) {
264
408
  if (!o) return {};
265
409
  let F = {}, I = normalizeSrc(o.image);
266
410
  if (F.backgroundImage = isGradient(I) ? I : `url(${I})`, o.fit && (F.backgroundSize = ImageFitMap[o.fit] || o.fit), F.backgroundAttachment = o.attachment, F.backgroundBlendMode = o.blendMode, F.backgroundClip = o.clip, F.backgroundOrigin = o.origin, F.backgroundRepeat = o.repeat ?? "no-repeat", o.alignment) {
267
- let I = BoxAlignment[o.alignment];
268
- if (I) F.backgroundPosition = I;
411
+ let I = alignmentToCssPosition(o.alignment);
412
+ if (I && I !== "center") F.backgroundPosition = I;
413
+ else if (o.alignment !== Alignment.center) if (Object.keys(Alignment).includes(o.alignment)) F.backgroundPosition = alignmentToCssPosition(o.alignment);
269
414
  else {
270
415
  let [I, L] = (o.alignment || "").split(" ");
271
416
  I && !cssPoisitions[I] && (I = px2vw(I)), L && !cssPoisitions[L] && (L = px2vw(L)), I && !L && (L = "center"), F.backgroundPosition = `${I} ${L}`;
272
417
  }
418
+ else F.backgroundPosition = "center";
273
419
  }
274
420
  return F;
275
421
  }
276
422
  function boxDecorationToStyle(o) {
277
423
  if (!o) return {};
278
- let { color: F, border: I, borderRadius: L, boxShadow: R, gradient: z, image: B, overflow: V, opacity: H } = o, U = {};
279
- return F && (U.backgroundColor = F), H !== void 0 && (U.opacity = H), V && (U.overflow = V), z && (U.backgroundImage = z), B && Object.assign(U, decorationImageToStyle(B)), I && Object.assign(U, borderToStyle(I)), L && Object.assign(U, borderRadiusToStyle(L)), R && (U.boxShadow = (Array.isArray(R) ? R : [R]).map((o) => `${px2vw(o.offset?.x || 0)} ${px2vw(o.offset?.y || 0)} ${px2vw(o.blurRadius || 0)} ${px2vw(o.spreadRadius || 0)} ${o.color || "rgba(0,0,0,0.2)"} ${o.inset ? "inset" : ""}`.trim()).join(", ")), U;
424
+ let { color: F, border: I, borderRadius: L, boxShadow: R, gradient: z, image: B, overflow: V, opacity: H, shape: U } = o, W = {};
425
+ return F && (W.backgroundColor = F), H !== void 0 && (W.opacity = H), V && (W.overflow = V), z && (W.backgroundImage = z), B && Object.assign(W, decorationImageToStyle(B)), I && Object.assign(W, borderToStyle(I)), U === BoxShape.circle ? W.borderRadius = "50%" : L && Object.assign(W, borderRadiusToStyle(L)), R && (W.boxShadow = (Array.isArray(R) ? R : [R]).map(boxShadowToCSS).join(", ")), W;
280
426
  }
281
427
  function BoxDecoration(o) {
282
- return o;
428
+ return {
429
+ ...o,
430
+ [BOX_DECORATION_SYMBOL]: !0
431
+ };
283
432
  }
284
- function LinearGradient(o, ...F) {
285
- return `linear-gradient(${o}, ${F.join(", ")})`;
433
+ function isBoxDecoration(o) {
434
+ return isPlainObject(o) ? BOX_DECORATION_SYMBOL in o : !1;
286
435
  }
287
436
  const Clip = {
288
437
  none: "none",
@@ -290,44 +439,99 @@ const Clip = {
290
439
  antiAlias: "antiAlias",
291
440
  antiAliasWithSaveLayer: "antiAliasWithSaveLayer"
292
441
  };
442
+ var EDGE_INSETS_SYMBOL = Symbol("edgeInsets");
293
443
  function EdgeInsets(o) {
294
- if (o.all !== void 0) return {
295
- top: o.all,
296
- right: o.all,
297
- bottom: o.all,
298
- left: o.all
299
- };
300
444
  let { top: F, right: I, bottom: L, left: R, horizontal: z, vertical: B } = o;
301
445
  return {
302
446
  top: F ?? B ?? 0,
303
447
  right: I ?? z ?? 0,
304
448
  bottom: L ?? B ?? 0,
305
- left: R ?? z ?? 0
449
+ left: R ?? z ?? 0,
450
+ [EDGE_INSETS_SYMBOL]: !0
306
451
  };
307
452
  }
453
+ EdgeInsets.all = (o) => ({
454
+ top: o,
455
+ right: o,
456
+ bottom: o,
457
+ left: o,
458
+ [EDGE_INSETS_SYMBOL]: !0
459
+ }), EdgeInsets.symmetric = ({ vertical: o, horizontal: F }) => EdgeInsets({
460
+ vertical: o,
461
+ horizontal: F
462
+ }), EdgeInsets.only = ({ top: o, right: F, bottom: I, left: L }) => EdgeInsets({
463
+ top: o,
464
+ right: F,
465
+ bottom: I,
466
+ left: L
467
+ }), EdgeInsets.zero = EdgeInsets({});
468
+ function isEdgeInsets(o) {
469
+ return typeof o == "object" && !!o && EDGE_INSETS_SYMBOL in o;
470
+ }
308
471
  function edgeInsetsToStyle(o, F) {
309
472
  if (!F) return {};
310
- let { top: I, right: L, bottom: R, left: z } = EdgeInsets(F);
473
+ let I = EdgeInsets(F);
311
474
  return {
312
- [`${o}Top`]: px2vw(I),
313
- [`${o}Right`]: px2vw(L),
314
- [`${o}Bottom`]: px2vw(R),
315
- [`${o}Left`]: px2vw(z)
475
+ [`${o}Top`]: px2vw(I.top),
476
+ [`${o}Right`]: px2vw(I.right),
477
+ [`${o}Bottom`]: px2vw(I.bottom),
478
+ [`${o}Left`]: px2vw(I.left)
316
479
  };
317
480
  }
318
- const paddingToStyle = (o) => edgeInsetsToStyle("padding", o), marginToStyle = (o) => edgeInsetsToStyle("margin", o);
481
+ const paddingToStyle = (o) => edgeInsetsToStyle("padding", o), marginToStyle = (o) => edgeInsetsToStyle("margin", o), CrossAxisAlignment = {
482
+ start: "start",
483
+ end: "end",
484
+ center: "center",
485
+ stretch: "stretch",
486
+ baseline: "baseline"
487
+ }, MainAxisAlignment = {
488
+ start: "start",
489
+ end: "end",
490
+ center: "center",
491
+ spaceBetween: "space-between",
492
+ spaceAround: "space-around",
493
+ spaceEvenly: "space-evenly"
494
+ }, FlexBoxJustifyMap = {
495
+ start: "flex-start",
496
+ end: "flex-end",
497
+ center: "center",
498
+ "space-between": "space-between",
499
+ "space-around": "space-around",
500
+ "space-evenly": "space-evenly"
501
+ }, FlexBoxAlignMap = {
502
+ start: "flex-start",
503
+ end: "flex-end",
504
+ center: "center",
505
+ stretch: "stretch",
506
+ baseline: "baseline"
507
+ }, StackFit = {
508
+ loose: "loose",
509
+ expand: "expand",
510
+ passthrough: "passthrough"
511
+ };
319
512
  function Size(o) {
320
- if (!o) return;
321
- if (typeof o == "number" || typeof o == "string") return {
322
- width: o,
323
- height: o
324
- };
325
513
  let { width: F, height: I } = o;
326
514
  return {
327
515
  width: F,
328
516
  height: I
329
517
  };
330
518
  }
519
+ Size.square = (o) => Size({
520
+ width: o,
521
+ height: o
522
+ }), Size.zero = Size({
523
+ width: 0,
524
+ height: 0
525
+ }), Size.infinite = Size({
526
+ width: Infinity,
527
+ height: Infinity
528
+ }), Size.fromHeight = (o) => Size({
529
+ width: Infinity,
530
+ height: o
531
+ }), Size.fromWidth = (o) => Size({
532
+ width: o,
533
+ height: Infinity
534
+ });
331
535
  function sizeToStyle(o) {
332
536
  if (!o) return;
333
537
  let { width: F, height: I } = o;
@@ -356,7 +560,6 @@ function useGestures({ emit: o }) {
356
560
  }), B = {
357
561
  onTap: () => o("tap"),
358
562
  onClick: (F) => o("click", F),
359
- onDbClick: (F) => o("click", F),
360
563
  onDoubleTap: () => o("double-tap"),
361
564
  onLongPress: () => o("long-press"),
362
565
  onPanStart: (F) => o("pan-start", F),
@@ -366,7 +569,7 @@ function useGestures({ emit: o }) {
366
569
  if (o[GESTURE_HANDLED]) return;
367
570
  o[GESTURE_HANDLED] = !0;
368
571
  let I = Date.now();
369
- I - F.value < 300 ? (B.onDoubleTap?.(), B.onDbClick?.(o), F.value = 0) : (B.onTap?.(), B.onClick?.(o), F.value = I);
572
+ I - F.value < 300 ? (B.onDoubleTap?.(), F.value = 0) : (B.onTap?.(), B.onClick?.(o), F.value = I);
370
573
  }, H = (o) => {
371
574
  o[GESTURE_HANDLED] || (o[GESTURE_HANDLED] = !0, Y(), Z(o.clientX, o.clientY), window.addEventListener("mousemove", U), window.addEventListener("mouseup", W));
372
575
  }, U = (o) => {
@@ -425,6 +628,8 @@ function useGestures({ emit: o }) {
425
628
  return {
426
629
  onClick: V,
427
630
  onMousedown: H,
631
+ onMouseup: W,
632
+ onMousemove: U,
428
633
  onTouchstart: G,
429
634
  onTouchmove: K,
430
635
  onTouchend: q,
@@ -445,10 +650,52 @@ function provideGesture(o, F) {
445
650
  function useSafeAttrs() {
446
651
  let o = useAttrs();
447
652
  return computed(() => {
448
- let { class: F, style: I, ...L } = o;
653
+ let { class: F, style: I, ...L } = o ?? {};
449
654
  return L;
450
655
  });
451
656
  }
657
+ var StyleInjectionKey = Symbol("fluekit-style-provider"), Injector = defineComponent({
658
+ name: "Injector",
659
+ inheritAttrs: !1,
660
+ props: { style: {
661
+ type: Object,
662
+ default: () => ({})
663
+ } },
664
+ setup(o, { slots: F }) {
665
+ return provide(StyleInjectionKey, computed(() => o.style)), () => F.default?.() || null;
666
+ }
667
+ });
668
+ function useStyles() {
669
+ return inject(StyleInjectionKey, computed(() => ({})));
670
+ }
671
+ const StyleProvider = defineComponent({
672
+ inheritAttrs: !1,
673
+ props: {
674
+ style: {
675
+ type: Object,
676
+ default: () => ({})
677
+ },
678
+ attrs: {
679
+ type: Object,
680
+ default: () => ({})
681
+ }
682
+ },
683
+ setup(o, { slots: F }) {
684
+ return () => {
685
+ let I = F.default?.() ?? [];
686
+ return I.length <= 0 ? null : cloneAndMergeStyles(I, o.style, o.attrs);
687
+ };
688
+ }
689
+ });
690
+ function cloneAndMergeStyles(R, z, B) {
691
+ return R.map((R) => R && (R.type === Fragment ? Array.isArray(R.children) ? h(Fragment, cloneAndMergeStyles(R.children, z, B)) : R : R.type === Comment || R.type === Text ? R : isHtmlTag(R) ? cloneVNode(R, { style: {
692
+ ...R.props?.style || {},
693
+ ...z
694
+ } }) : h(Injector, {
695
+ ...B,
696
+ style: z
697
+ }, { default: () => R })));
698
+ }
452
699
  var AnimatedContainer_default = /* @__PURE__ */ defineComponent({
453
700
  inheritAttrs: !1,
454
701
  __name: "AnimatedContainer",
@@ -469,21 +716,21 @@ var AnimatedContainer_default = /* @__PURE__ */ defineComponent({
469
716
  curve: { default: "linear" }
470
717
  },
471
718
  setup(o) {
472
- let F = useSafeAttrs(), I = useGestureEvents(), L = computed(() => ({
473
- ...F.value,
474
- ...I || {}
475
- })), z = useGestureStyle(), H = o, U = computed(() => `all ${H.duration}ms ${H.curve}`), W = computed(() => {
719
+ let F = useStyles(), I = useSafeAttrs(), L = useGestureEvents(), z = computed(() => F.value.pointerEvents == "none" ? I.value : {
720
+ ...I.value,
721
+ ...L || {}
722
+ }), H = useGestureStyle(), U = o, W = computed(() => `all ${U.duration}ms ${U.curve}`), G = computed(() => {
476
723
  let o = {
477
- ...sizeToStyle(H),
478
- ...paddingToStyle(H.padding),
479
- ...marginToStyle(H.margin),
480
- ...boxDecorationToStyle(H.decoration),
481
- ...alignmentToStyle(H.alignment, "column"),
482
- ...boxConstraintsToStyle(H.constraints),
483
- ...z,
484
- transition: U.value
724
+ ...sizeToStyle(U),
725
+ ...paddingToStyle(U.padding),
726
+ ...marginToStyle(U.margin),
727
+ ...boxDecorationToStyle(U.decoration),
728
+ ...alignmentToStyle(U.alignment, "column"),
729
+ ...boxConstraintsToStyle(U.constraints),
730
+ ...H,
731
+ transition: W.value
485
732
  };
486
- if (H.color && !H.decoration && (o.backgroundColor = H.color), H.transform && (o.transform = H.transform, H.transformAlignment && (o.transformOrigin = alignmentToOrigin(H.transformAlignment))), H.clipBehavior !== "none") switch (H.clipBehavior) {
733
+ if (U.color && !U.decoration && (o.backgroundColor = U.color), U.transform && (o.transform = U.transform, U.transformAlignment && (o.transformOrigin = alignmentToOrigin(U.transformAlignment))), U.clipBehavior !== "none") switch (U.clipBehavior) {
487
734
  case "hardEdge":
488
735
  o.overflow = "hidden";
489
736
  break;
@@ -500,52 +747,47 @@ var AnimatedContainer_default = /* @__PURE__ */ defineComponent({
500
747
  boxSizing: "border-box",
501
748
  position: "relative"
502
749
  };
503
- }), G = computed(() => ({
504
- ...boxDecorationToStyle(H.foregroundDecoration),
750
+ }), K = computed(() => ({
751
+ ...boxDecorationToStyle(U.foregroundDecoration),
505
752
  position: "absolute",
506
753
  top: 0,
507
754
  left: 0,
508
755
  right: 0,
509
756
  bottom: 0,
510
757
  pointerEvents: "none",
511
- transition: U.value
758
+ transition: W.value
512
759
  }));
513
760
  return (o, F) => (openBlock(), createElementBlock("div", mergeProps({
514
761
  class: "animated-container",
515
- style: W.value
516
- }, L.value), [renderSlot(o.$slots, "default"), H.foregroundDecoration ? (openBlock(), createElementBlock("div", {
762
+ style: G.value
763
+ }, z.value), [renderSlot(o.$slots, "default"), U.foregroundDecoration ? (openBlock(), createElementBlock("div", {
517
764
  key: 0,
518
- style: normalizeStyle(G.value)
765
+ style: normalizeStyle(K.value)
519
766
  }, null, 4)) : createCommentVNode("", !0)], 16));
520
767
  }
521
- });
522
- const OpacityKey = Symbol("fluekit-opacity");
523
- function useOpacity() {
524
- return inject(OpacityKey, computed(() => 1));
525
- }
526
- function provideOpacity(o) {
527
- let F = useOpacity(), I = computed(() => F.value * unref(o));
528
- return provide(OpacityKey, I), I;
529
- }
530
- var AnimatedOpacity_default = /* @__PURE__ */ defineComponent({
768
+ }), AnimatedOpacity_default = defineComponent({
769
+ name: "AnimatedOpacity",
531
770
  inheritAttrs: !1,
532
- __name: "AnimatedOpacity",
533
771
  props: {
534
- opacity: {},
535
- duration: { default: 300 },
536
- curve: { default: "linear" }
772
+ opacity: {
773
+ type: Number,
774
+ required: !0
775
+ },
776
+ duration: {
777
+ type: Number,
778
+ default: 300
779
+ },
780
+ curve: {
781
+ type: String,
782
+ default: "linear"
783
+ }
537
784
  },
538
- setup(o) {
539
- let F = o;
540
- provideOpacity(computed(() => F.opacity));
541
- let I = computed(() => ({
542
- opacity: F.opacity,
543
- transition: `opacity ${F.duration}ms ${F.curve}`
544
- }));
545
- return (o, F) => (openBlock(), createElementBlock("div", {
546
- class: "animated-opacity",
547
- style: normalizeStyle(I.value)
548
- }, [renderSlot(o.$slots, "default")], 4));
785
+ setup(o, { slots: F }) {
786
+ let I = computed(() => o.opacity === void 0 ? {} : {
787
+ transition: `opacity ${o.duration}ms ${o.curve}`,
788
+ opacity: o.opacity
789
+ });
790
+ return () => h(StyleProvider, { style: I.value }, F);
549
791
  }
550
792
  }), Center_default = /* @__PURE__ */ defineComponent({
551
793
  inheritAttrs: !1,
@@ -654,35 +896,23 @@ var AnimatedOpacity_default = /* @__PURE__ */ defineComponent({
654
896
  constraints: {}
655
897
  },
656
898
  setup(o) {
657
- let F = useSafeAttrs(), I = useGestureEvents(), L = computed(() => ({
658
- ...F.value,
659
- ...I || {}
660
- })), z = useGestureStyle(), H = o, U = (o) => typeof o == "number" ? o < 0 : typeof o == "string" ? parseFloat(o) < 0 : !1;
661
- (() => {
662
- if (H.margin) {
663
- let { left: o, top: F, right: I, bottom: L } = H.margin;
664
- (U(o) || U(F) || U(I) || U(L)) && console.warn("[Container] margin must be non-negative");
665
- }
666
- if (H.padding) {
667
- let { left: o, top: F, right: I, bottom: L } = H.padding;
668
- (U(o) || U(F) || U(I) || U(L)) && console.warn("[Container] padding must be non-negative");
669
- }
670
- H.color && H.decoration && console.warn("[Container] Cannot provide both a color and a decoration\nTo provide both, use \"decoration: { color: color }\"."), !H.decoration && H.clipBehavior !== "none" && console.warn("[Container] clipBehavior has no effect when decoration is null");
671
- })();
672
- let W = computed(() => {
899
+ let F = useStyles(), I = useSafeAttrs(), L = useGestureEvents(), z = computed(() => F.value.pointerEvents == "none" ? I.value : {
900
+ ...I.value,
901
+ ...L || {}
902
+ }), H = useGestureStyle(), U = o, W = computed(() => {
673
903
  let o = {
674
- backgroundColor: H.decoration ? void 0 : H.color,
675
- transform: H.transform,
676
- transformOrigin: H.transformAlignment ? alignmentToOrigin(H.transformAlignment) : "center",
677
- overflow: H.clipBehavior === "none" ? void 0 : "hidden",
904
+ backgroundColor: U.decoration ? void 0 : U.color,
905
+ transform: U.transform,
906
+ transformOrigin: U.transformAlignment ? alignmentToOrigin(U.transformAlignment) : "center",
907
+ overflow: U.clipBehavior === "none" ? void 0 : "hidden",
678
908
  position: "relative"
679
909
  };
680
- H.alignment && (Object.assign(o, {
910
+ Object.assign(o, F.value), U.alignment && (Object.assign(o, {
681
911
  display: "flex",
682
912
  flexDirection: "column"
683
- }), Object.assign(o, alignmentToStyle(H.alignment, "column"))), Object.assign(o, sizeToStyle(H));
684
- let F = boxConstraintsToStyle(H.constraints);
685
- return H.width !== void 0 && H.width !== null && (delete F.minWidth, delete F.maxWidth), H.height !== void 0 && H.height !== null && (delete F.minHeight, delete F.maxHeight), Object.assign(o, F), Object.assign(o, paddingToStyle(H.padding)), Object.assign(o, marginToStyle(H.margin)), Object.assign(o, boxDecorationToStyle(H.decoration)), Object.assign(o, z), H.clipBehavior === "antiAlias" && (o.borderRadius = o.borderRadius || "inherit"), o;
913
+ }), Object.assign(o, alignmentToFlex(U.alignment, "column"))), Object.assign(o, sizeToStyle(U));
914
+ let I = boxConstraintsToStyle(U.constraints);
915
+ return isDefined(U.width) && (delete I.minWidth, delete I.maxWidth), isDefined(U.height) && (delete I.minHeight, delete I.maxHeight), Object.assign(o, I), Object.assign(o, paddingToStyle(U.padding)), Object.assign(o, marginToStyle(U.margin)), Object.assign(o, boxDecorationToStyle(U.decoration)), Object.assign(o, H), U.clipBehavior === "antiAlias" && (o.borderRadius = o.borderRadius || "inherit"), o;
686
916
  }), G = computed(() => {
687
917
  let o = {
688
918
  position: "absolute",
@@ -690,12 +920,12 @@ var AnimatedOpacity_default = /* @__PURE__ */ defineComponent({
690
920
  zIndex: 1,
691
921
  inset: 0
692
922
  };
693
- return Object.assign(o, boxDecorationToStyle(H.foregroundDecoration)), o;
923
+ return Object.assign(o, boxDecorationToStyle(U.foregroundDecoration)), o;
694
924
  });
695
925
  return (o, F) => (openBlock(), createElementBlock("div", mergeProps({
696
926
  class: "container-box",
697
927
  style: W.value
698
- }, L.value), [renderSlot(o.$slots, "default"), H.foregroundDecoration ? (openBlock(), createElementBlock("div", {
928
+ }, z.value), [renderSlot(o.$slots, "default"), U.foregroundDecoration ? (openBlock(), createElementBlock("div", {
699
929
  key: 0,
700
930
  style: normalizeStyle(G.value)
701
931
  }, null, 4)) : createCommentVNode("", !0)], 16));
@@ -816,7 +1046,7 @@ var GestureDetector_default = defineComponent({
816
1046
  let z = useGestures({ emit: R });
817
1047
  return provideGesture(z, o.behavior), () => {
818
1048
  let o = useChild(F.default);
819
- return o ? o.type === Text ? h("span", z, [o]) : typeof o.type == "string" ? cloneVNode(o, z) : o : null;
1049
+ return o ? o.type === Text ? h("span", z, [o]) : isHtmlTag(o) ? cloneVNode(o, z) : o : null;
820
1050
  };
821
1051
  }
822
1052
  }), ScrollView_default = /* @__PURE__ */ defineComponent({
@@ -953,16 +1183,10 @@ var GestureDetector_default = defineComponent({
953
1183
  }
954
1184
  },
955
1185
  setup(o, { slots: F }) {
956
- return () => {
957
- let I = useChild(F.default);
958
- if (!I) return null;
959
- if (!o.ignoring && !o.ignoringSemantics) return I;
960
- let R = o.ignoringSemantics ? "true" : void 0;
961
- return cloneVNode(I, {
962
- style: { pointerEvents: o.ignoring ? "none" : void 0 },
963
- "aria-hidden": R
964
- });
965
- };
1186
+ return () => !o.ignoring && !o.ignoringSemantics ? F.default?.() : h(StyleProvider, {
1187
+ style: { pointerEvents: o.ignoring ? "none" : void 0 },
1188
+ attrs: { "aria-hidden": o.ignoringSemantics ? "true" : void 0 }
1189
+ }, F);
966
1190
  }
967
1191
  }), _hoisted_1 = {
968
1192
  key: 0,
@@ -1021,19 +1245,16 @@ var GestureDetector_default = defineComponent({
1021
1245
  "style"
1022
1246
  ]));
1023
1247
  }
1024
- }), [["__scopeId", "data-v-3b4a0fca"]]), Opacity_default = /* @__PURE__ */ defineComponent({
1248
+ }), [["__scopeId", "data-v-7ba20c73"]]), Opacity_default = defineComponent({
1025
1249
  name: "Opacity",
1026
1250
  inheritAttrs: !1,
1027
- __name: "Opacity",
1028
- props: { opacity: { default: 1 } },
1029
- setup(o) {
1030
- let F = o, I = computed(() => Math.max(0, Math.min(1, F.opacity)));
1031
- provideOpacity(I);
1032
- let L = computed(() => ({ opacity: I.value }));
1033
- return (o, F) => (openBlock(), createElementBlock("div", {
1034
- class: "fluekit-opacity",
1035
- style: normalizeStyle(L.value)
1036
- }, [renderSlot(o.$slots, "default")], 4));
1251
+ props: { opacity: {
1252
+ type: Number,
1253
+ default: void 0
1254
+ } },
1255
+ setup(o, { slots: F }) {
1256
+ let I = computed(() => o.opacity === void 0 ? {} : { opacity: Math.max(0, Math.min(1, o.opacity)) });
1257
+ return () => h(StyleProvider, { style: I.value }, F);
1037
1258
  }
1038
1259
  }), Padding_default = defineComponent({
1039
1260
  name: "Padding",
@@ -1202,72 +1423,36 @@ var Positioned_default = /* @__PURE__ */ defineComponent({
1202
1423
  inheritAttrs: !1,
1203
1424
  __name: "Stack",
1204
1425
  props: {
1205
- alignment: { default: "topLeft" },
1426
+ alignment: { default: Alignment.topLeft },
1206
1427
  clipBehavior: { default: "none" },
1207
1428
  textDirection: { default: "ltr" },
1208
- fit: { default: "loose" }
1429
+ fit: { default: StackFit.loose }
1209
1430
  },
1210
1431
  setup(o) {
1211
1432
  let F = o, I = {
1212
- topLeft: {
1213
- justifyContent: "flex-start",
1214
- alignItems: "flex-start"
1215
- },
1216
- topCenter: {
1217
- justifyContent: "flex-start",
1218
- alignItems: "center"
1219
- },
1220
- topRight: {
1221
- justifyContent: "flex-start",
1222
- alignItems: "flex-end"
1223
- },
1224
- centerLeft: {
1225
- justifyContent: "center",
1226
- alignItems: "flex-start"
1227
- },
1228
- center: {
1229
- justifyContent: "center",
1230
- alignItems: "center"
1231
- },
1232
- centerRight: {
1233
- justifyContent: "center",
1234
- alignItems: "flex-end"
1235
- },
1236
- bottomLeft: {
1237
- justifyContent: "flex-end",
1238
- alignItems: "flex-start"
1239
- },
1240
- bottomCenter: {
1241
- justifyContent: "flex-end",
1242
- alignItems: "center"
1243
- },
1244
- bottomRight: {
1245
- justifyContent: "flex-end",
1246
- alignItems: "flex-end"
1247
- }
1248
- }, L = {
1249
1433
  clip: "hidden",
1250
1434
  hardEdge: "hidden",
1251
1435
  antiAlias: "hidden",
1252
1436
  none: "visible"
1253
- }, z = computed(() => {
1437
+ }, L = computed(() => {
1254
1438
  let o = {
1255
1439
  position: "relative",
1256
- display: "flex",
1257
- flexDirection: "column",
1258
- ...I[F.alignment],
1259
- overflow: L[F.clipBehavior],
1440
+ display: "grid",
1441
+ gridTemplateColumns: "1fr",
1442
+ gridTemplateRows: "1fr",
1443
+ ...alignmentToGrid(F.alignment),
1444
+ overflow: I[F.clipBehavior],
1260
1445
  direction: F.textDirection,
1261
1446
  boxSizing: "border-box"
1262
1447
  };
1263
- return F.fit === "expand" && (o.width = "100%", o.height = "100%"), o;
1448
+ return F.fit === StackFit.expand && (o.width = "100%", o.height = "100%"), o;
1264
1449
  });
1265
1450
  return provideStackContext(), (o, F) => (openBlock(), createElementBlock("div", {
1266
1451
  class: "flutter-stack",
1267
- style: normalizeStyle(z.value)
1452
+ style: normalizeStyle(L.value)
1268
1453
  }, [renderSlot(o.$slots, "default", {}, void 0, !0)], 4));
1269
1454
  }
1270
- }), [["__scopeId", "data-v-f268257b"]]), Sticky_default = /* @__PURE__ */ defineComponent({
1455
+ }), [["__scopeId", "data-v-aefe47c2"]]), Sticky_default = /* @__PURE__ */ defineComponent({
1271
1456
  inheritAttrs: !1,
1272
1457
  __name: "Sticky",
1273
1458
  props: {
@@ -1304,16 +1489,12 @@ let FontWeight = /* @__PURE__ */ function(o) {
1304
1489
  }({}), TextDirection = /* @__PURE__ */ function(o) {
1305
1490
  return o.rtl = "rtl", o.ltr = "ltr", o;
1306
1491
  }({});
1307
- var _kColorForegroundWarning = "Cannot provide both a color and a foreground\nThe color argument is just a shorthand for \"foreground: Paint()..color = color\".", _kColorBackgroundWarning = "Cannot provide both a backgroundColor and a background\nThe backgroundColor argument is just a shorthand for \"background: Paint()..color = backgroundColor\".";
1308
- function validateTextStyle(o) {
1309
- o.color && o.foreground && console.warn(_kColorForegroundWarning), o.backgroundColor && o.background && console.warn(_kColorBackgroundWarning);
1310
- }
1492
+ var TEXT_STYLE_SYMBOL = Symbol("textStyle");
1311
1493
  function buildFontFamily(o, F, I) {
1312
1494
  let L = o;
1313
1495
  return F && L && (L = `packages/${F}/${L}`), I && I.length > 0 ? [L, ...I].filter(Boolean).join(", ") : L;
1314
1496
  }
1315
1497
  function toCSSStyle(o = {}) {
1316
- validateTextStyle(o);
1317
1498
  let F = {};
1318
1499
  F.margin = 0, F.padding = 0, F.border = "none", F.fontSmooth = "antialiased", F.MozOsxFontSmoothing = "grayscale", F.textRendering = "optimizeLegibility", F.wordBreak = "break-word", F.overflowWrap = "break-word", F.transition = "all 0.2s ease-in-out", o.foreground ? Object.assign(F, o.foreground) : o.color && (F.color = o.color), o.background ? Object.assign(F, o.background) : o.backgroundColor && (F.backgroundColor = o.backgroundColor), o.fontSize && (F.fontSize = typeof o.fontSize == "number" ? px2vw(o.fontSize) : o.fontSize), o.fontWeight && (F.fontWeight = o.fontWeight.toString()), o.fontStyle && (F.fontStyle = o.fontStyle);
1319
1500
  let I = buildFontFamily(o.fontFamily, o.package, o.fontFamilyFallback);
@@ -1337,11 +1518,14 @@ function toCSSStyle(o = {}) {
1337
1518
  }).join(", ")), o.fontFeatures && (F.fontFeatureSettings = JSON.stringify(o.fontFeatures)), o.fontVariations && (F.fontVariationSettings = JSON.stringify(o.fontVariations)), F;
1338
1519
  }
1339
1520
  function TextStyle(o = {}, F = {}) {
1340
- let I = {
1521
+ return {
1341
1522
  ...F,
1342
- ...o
1523
+ ...o,
1524
+ [TEXT_STYLE_SYMBOL]: !0
1343
1525
  };
1344
- return validateTextStyle(I), I;
1526
+ }
1527
+ function isTextStyle(o) {
1528
+ return isPlainObject(o) ? TEXT_STYLE_SYMBOL in o : !1;
1345
1529
  }
1346
1530
  var Text_default = /* @__PURE__ */ defineComponent({
1347
1531
  inheritAttrs: !1,
@@ -1361,16 +1545,16 @@ var Text_default = /* @__PURE__ */ defineComponent({
1361
1545
  tag: { default: "span" }
1362
1546
  },
1363
1547
  setup(o) {
1364
- let F = o, I = useGestureEvents(), L = computed(() => {
1365
- let o = F.data;
1548
+ let F = useStyles(), I = o, L = useGestureEvents(), B = computed(() => F.value.pointerEvents == "none" ? {} : L || {}), V = computed(() => {
1549
+ let o = I.data;
1366
1550
  return !isUndefined(o) && o != null ? o.toString() : "";
1367
- }), B = useGestureStyle(), V = computed(() => {
1368
- let o = F.style ? toCSSStyle(F.style) : {};
1369
- F.textAlign && (o.textAlign = F.textAlign), F.textDirection && (o.direction = F.textDirection), F.softWrap === !1 && (o.whiteSpace = "nowrap");
1370
- let I = F.overflow ?? F.style?.overflow;
1371
- if (I) switch (I) {
1551
+ }), H = useGestureStyle(), W = computed(() => {
1552
+ let o = I.style ? toCSSStyle(I.style) : {};
1553
+ I.textAlign && (o.textAlign = I.textAlign), I.textDirection && (o.direction = I.textDirection), I.softWrap === !1 && (o.whiteSpace = "nowrap");
1554
+ let F = I.overflow ?? I.style?.overflow;
1555
+ if (F) switch (F) {
1372
1556
  case TextOverflow.ellipsis:
1373
- o.textOverflow = "ellipsis", o.overflow = "hidden", F.softWrap === !1 && (o.whiteSpace = "nowrap");
1557
+ o.textOverflow = "ellipsis", o.overflow = "hidden", I.softWrap === !1 && (o.whiteSpace = "nowrap");
1374
1558
  break;
1375
1559
  case TextOverflow.clip:
1376
1560
  o.overflow = "hidden", o.textOverflow = "clip";
@@ -1382,10 +1566,10 @@ var Text_default = /* @__PURE__ */ defineComponent({
1382
1566
  o.overflow = "hidden", o.whiteSpace = "nowrap", o.maskImage = "linear-gradient(to right, black 80%, transparent 100%)", o.WebkitMaskImage = "linear-gradient(to right, black 80%, transparent 100%)";
1383
1567
  break;
1384
1568
  }
1385
- return F.maxLines && F.maxLines > 0 ? (o.overflow = "hidden", o.display = "-webkit-box", o.WebkitBoxOrient = "vertical", o.WebkitLineClamp = F.maxLines.toString(), F.softWrap !== !1 && (o.whiteSpace = "normal")) : o.display ||= F.tag === "span" ? "inline-block" : "block", Object.assign(o, B), o;
1569
+ return I.maxLines && I.maxLines > 0 ? (o.overflow = "hidden", o.display = "-webkit-box", o.WebkitBoxOrient = "vertical", o.WebkitLineClamp = I.maxLines.toString(), I.softWrap !== !1 && (o.whiteSpace = "normal")) : o.display ||= I.tag === "span" ? "inline-block" : "block", Object.assign(o, H), o;
1386
1570
  });
1387
- return (F, R) => (openBlock(), createBlock(resolveDynamicComponent(o.tag), mergeProps({ style: V.value }, unref(I)), {
1388
- default: withCtx(() => [renderSlot(F.$slots, "default", {}, () => [createTextVNode(toDisplayString(L.value), 1)])]),
1571
+ return (F, I) => (openBlock(), createBlock(resolveDynamicComponent(o.tag), mergeProps({ style: W.value }, B.value), {
1572
+ default: withCtx(() => [renderSlot(F.$slots, "default", {}, () => [createTextVNode(toDisplayString(V.value), 1)])]),
1389
1573
  _: 3
1390
1574
  }, 16, ["style"]));
1391
1575
  }
@@ -1454,4 +1638,4 @@ var Text_default = /* @__PURE__ */ defineComponent({
1454
1638
  }
1455
1639
  });
1456
1640
  setTransform(!1);
1457
- export { Align_default as Align, Alignment, AnimatedContainer_default as AnimatedContainer, AnimatedOpacity_default as AnimatedOpacity, AssetImage, Border, BoxAlignment, BoxConstraints, BoxDecoration, BoxFit, Center_default as Center, Clip, Column_default as Column, Container_default as Container, CrossAxisAlignment, DecorationImage, EdgeInsets, Expanded_default as Expanded, Fixed_default as Fixed, FlexBoxAlignMap, FlexBoxJustifyMap, FontStyle, FontWeight, GestureDetector_default as GestureDetector, GridView_default as GridView, IgnorePointer_default as IgnorePointer, LinearGradient, ListView_default as ListView, MainAxisAlignment, NetworkImage, Opacity_default as Opacity, OpacityKey, Padding_default as Padding, Positioned_default as Positioned, Row_default as Row, SafeArea_default as SafeArea, ScrollView_default as ScrollView, Size, SizedBox_default as SizedBox, Stack_default as Stack, StackFit, Sticky_default as Sticky, Text_default as Text, TextAlign, TextBaseline, TextDecoration, TextDecorationStyle, TextDirection, TextOverflow, TextStyle, Transform_default as Transform, Wrap_default as Wrap, alignmentToOrigin, alignmentToStyle, borderToStyle, boxConstraintsToStyle, boxDecorationToStyle, decorationImageToStyle, edgeInsetsToStyle, marginToStyle, normalizeSrc, paddingToStyle, provideOpacity, px2vw, setBaseUrl, setDefaultVW, setTransform, sizeToStyle, toCSSStyle, useOpacity };
1641
+ export { Align_default as Align, Alignment, AnimatedContainer_default as AnimatedContainer, AnimatedOpacity_default as AnimatedOpacity, AssetImage, BlurStyle, Border, BorderRadius, BoxAlignment, BoxConstraints, BoxDecoration, BoxFit, BoxShadow, BoxShape, Center_default as Center, Clip, Column_default as Column, Container_default as Container, CrossAxisAlignment, DecorationImage, EdgeInsets, Expanded_default as Expanded, Fixed_default as Fixed, FlexBoxAlignMap, FlexBoxJustifyMap, FontStyle, FontWeight, GestureDetector_default as GestureDetector, GridView_default as GridView, IgnorePointer_default as IgnorePointer, LinearGradient, ListView_default as ListView, MainAxisAlignment, NetworkImage, Opacity_default as Opacity, Padding_default as Padding, Positioned_default as Positioned, RadialGradient, Row_default as Row, SafeArea_default as SafeArea, ScrollView_default as ScrollView, Size, SizedBox_default as SizedBox, Stack_default as Stack, StackFit, Sticky_default as Sticky, Text_default as Text, TextAlign, TextBaseline, TextDecoration, TextDecorationStyle, TextDirection, TextOverflow, TextStyle, TileMode, Transform_default as Transform, Wrap_default as Wrap, alignmentToFlex, alignmentToOrigin, alignmentToStyle, borderRadiusToStyle, borderToStyle, boxConstraintsToStyle, boxDecorationToStyle, boxShadowToCSS, decorationImageToStyle, edgeInsetsToStyle, isBorderRadius, isBorderSide, isBorders, isBoxConstraints, isBoxDecoration, isBoxShadow, isEdgeInsets, isTextStyle, marginToStyle, normalizeSrc, paddingToStyle, px2vw, setBaseUrl, setDefaultVW, setTransform, sizeToStyle, toCSSStyle };