fluekit 1.7.0 → 2.0.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.
@@ -0,0 +1,33 @@
1
+ import { Color } from './Color';
2
+ interface Props {
3
+ /**
4
+ * The value of the progress indicator, from 0.0 to 1.0.
5
+ * If null, the progress indicator is indeterminate.
6
+ */
7
+ value?: number | null;
8
+ /**
9
+ * The progress indicator's color.
10
+ */
11
+ color?: string | Color;
12
+ /**
13
+ * The background color of the progress indicator track.
14
+ */
15
+ backgroundColor?: string | Color;
16
+ /**
17
+ * The width of the line used to draw the circle.
18
+ * Default: 4.0
19
+ */
20
+ strokeWidth?: number;
21
+ /**
22
+ * The size of the progress indicator.
23
+ * Default: 36.0
24
+ */
25
+ size?: number;
26
+ }
27
+ declare const _default: import('vue').DefineComponent<Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<Props> & Readonly<{}>, {
28
+ size: number;
29
+ color: string | Color;
30
+ value: number | null;
31
+ strokeWidth: number;
32
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
33
+ export default _default;
@@ -1,11 +1,23 @@
1
+ import { Color } from './Color';
1
2
  interface Props {
2
- radius?: number;
3
- color?: string;
3
+ /**
4
+ * Whether the activity indicator is running its animation.
5
+ * Default: true
6
+ */
4
7
  animating?: boolean;
8
+ /**
9
+ * The color of the activity indicator.
10
+ */
11
+ color?: string | Color;
12
+ /**
13
+ * The radius of the activity indicator.
14
+ * Default: 10.0
15
+ */
16
+ radius?: number;
5
17
  }
6
18
  declare const _default: import('vue').DefineComponent<Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<Props> & Readonly<{}>, {
7
- color: string;
8
- radius: number;
19
+ color: string | Color;
9
20
  animating: boolean;
10
- }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
21
+ radius: number;
22
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
11
23
  export default _default;
@@ -0,0 +1,47 @@
1
+ import { Color } from './Color';
2
+ interface Props {
3
+ src: string;
4
+ width?: number | string;
5
+ height?: number | string;
6
+ /**
7
+ * The opacity of the generated background color.
8
+ * Default: 1.0
9
+ */
10
+ opacity?: number;
11
+ }
12
+ declare function __VLS_template(): {
13
+ attrs: Partial<{}>;
14
+ slots: {
15
+ default?(_: {
16
+ color: {
17
+ readonly alpha: number;
18
+ readonly opacity: number;
19
+ readonly red: number;
20
+ readonly green: number;
21
+ readonly blue: number;
22
+ withAlpha: (a: number) => Color;
23
+ withOpacity: (opacity: number) => Color;
24
+ withRed: (r: number) => Color;
25
+ withGreen: (g: number) => Color;
26
+ withBlue: (b: number) => Color;
27
+ computeLuminance: () => number;
28
+ toString: () => string;
29
+ readonly value: number;
30
+ } | null;
31
+ isLoading: boolean;
32
+ }): any;
33
+ };
34
+ refs: {};
35
+ rootEl: HTMLDivElement;
36
+ };
37
+ type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
38
+ declare const __VLS_component: import('vue').DefineComponent<Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<Props> & Readonly<{}>, {
39
+ opacity: number;
40
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
41
+ declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
42
+ export default _default;
43
+ type __VLS_WithTemplateSlots<T, S> = T & {
44
+ new (): {
45
+ $slots: S;
46
+ };
47
+ };
@@ -0,0 +1,11 @@
1
+ import { Color } from './Color';
2
+ /**
3
+ * Extracts the dominant color from an image URL.
4
+ *
5
+ * @param imageSrc The URL of the image.
6
+ * @returns A Promise that resolves to the dominant Color, or null if extraction fails.
7
+ */
8
+ export declare function extractDominantColor(imageSrc: string): Promise<Color | null>;
9
+ export declare const ImageUtils: {
10
+ extractDominantColor: typeof extractDominantColor;
11
+ };
@@ -0,0 +1,28 @@
1
+ import { Color } from './Color';
2
+ interface Props {
3
+ /**
4
+ * The value of the progress indicator, from 0.0 to 1.0.
5
+ * If null, the progress indicator is indeterminate.
6
+ */
7
+ value?: number | null;
8
+ /**
9
+ * The progress indicator's color.
10
+ */
11
+ color?: string | Color;
12
+ /**
13
+ * The background color of the progress indicator.
14
+ */
15
+ backgroundColor?: string | Color;
16
+ /**
17
+ * The height of the progress indicator.
18
+ * Default: 4.0
19
+ */
20
+ minHeight?: number;
21
+ }
22
+ declare const _default: import('vue').DefineComponent<Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<Props> & Readonly<{}>, {
23
+ minHeight: number;
24
+ color: string | Color;
25
+ value: number | null;
26
+ backgroundColor: string | Color;
27
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
28
+ export default _default;
package/dist/index.css CHANGED
@@ -1,2 +1,2 @@
1
- .fluekit-button[data-v-0af78380]{appearance:none;cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;font-family:inherit;font-size:inherit;line-height:inherit;color:inherit;text-align:inherit;box-sizing:border-box;background:0 0;border:0;outline:0;margin:0;padding:0}.fluekit-button[data-v-0af78380]:disabled{cursor:default}.fluekit-image[data-v-ce382550]{display:block}.fluekit-icon[data-v-34336b05]{-webkit-user-select:none;user-select:none;pointer-events:none}.icon-svg[data-v-34336b05]{fill:currentColor;width:100%;height:100%;display:block}[data-v-34336b05] svg{fill:currentColor;width:100%;height:100%}.flutter-stack[data-v-aefe47c2]>*{grid-area:1/1/2/2}.fluekit-text-field[data-v-daef18e4]{margin-top:16px;font-family:inherit;position:relative}.fluekit-input-container[data-v-daef18e4]{box-sizing:border-box;width:100%}.fluekit-input-element[data-v-daef18e4]{width:100%;color:inherit;resize:none;background:0 0;border:none;outline:none;flex:1;margin:0;padding:0;font-family:inherit;font-size:16px}.fluekit-input-label[data-v-daef18e4]{z-index:1}.fluekit-input-footer[data-v-daef18e4]{justify-content:space-between;margin-top:4px;display:flex}.fluekit-input-helper[data-v-daef18e4]{color:#666;font-size:12px}.fluekit-input-helper-spacer[data-v-daef18e4]{flex:1}.fluekit-input-counter[data-v-daef18e4]{color:#666;margin-left:auto;font-size:12px}.fluekit-input-helper.is-error[data-v-daef18e4]{color:#f44336}.flutter-transform[data-v-c4ab6ce1]{box-sizing:border-box}.ink-well[data-v-a4b9dd0e]{cursor:pointer;display:block;position:relative;overflow:hidden}.ink-well.disabled[data-v-a4b9dd0e]{cursor:default}.ripple[data-v-a4b9dd0e]{pointer-events:none;border-radius:50%;animation:.6s linear ripple-a4b9dd0e;position:absolute;transform:scale(0)}@keyframes ripple-a4b9dd0e{to{opacity:0;transform:scale(4)}}.slider-container[data-v-715d86f8],.range-slider-container[data-v-f10382ff]{width:100%;position:relative}.bottom-sheet-overlay[data-v-6948b23d]{z-index:9999;background-color:#0000008a;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}@keyframes cupertino-activity-indicator-rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.flue-cupertino-navigation-bar[data-v-b5a5c6bf]{-webkit-backdrop-filter:blur(20px);z-index:100;width:100%}.flue-nav-bar-middle[data-v-b5a5c6bf]{justify-content:center;align-items:center;max-width:60%;display:flex}.snackbar-overlay[data-v-d8abf3ed]{z-index:9999;pointer-events:none;justify-content:center;display:flex;position:fixed;bottom:0;left:0;right:0}.snackbar-overlay[data-v-d8abf3ed]>*{pointer-events:auto}.flue-app-bar-leading[data-v-0a553bf2]{align-items:center;margin-right:16px;display:flex}.flue-app-bar-actions[data-v-0a553bf2]{align-items:center;margin-left:16px;display:flex}.fluekit-bottom-navigation-bar-ios[data-v-11798dea]{-webkit-backdrop-filter:blur(20px)}.fluekit-context-menu-anchor[data-v-34f987d4]{display:inline-block}.fluekit-context-menu-overlay[data-v-34f987d4]{z-index:9999;flex-direction:column;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.fluekit-context-menu-backdrop[data-v-34f987d4]{-webkit-backdrop-filter:blur(10px);background:#0006;width:100%;height:100%;position:absolute;top:0;left:0}.fluekit-context-menu-content[data-v-34f987d4]{z-index:10001;width:250px;animation:.2s ease-out scale-in-34f987d4;position:relative}.fluekit-action-group[data-v-34f987d4]{-webkit-backdrop-filter:blur(20px);background:#f9f9f9c7;border-radius:14px;margin-bottom:16px;overflow:hidden}.fluekit-context-menu-action[data-v-34f987d4]{text-align:center;cursor:pointer;background:0 0;border-bottom:.5px solid #0000001a;justify-content:center;align-items:center;gap:8px;padding:16px;display:flex}.fluekit-context-menu-action[data-v-34f987d4]:last-child{border-bottom:none}.fluekit-context-menu-action[data-v-34f987d4]:active{background:#0000001a}.action-text[data-v-34f987d4]{color:#007aff;font-family:-apple-system,BlinkMacSystemFont,sans-serif;font-size:17px}.is-destructive .action-text[data-v-34f987d4]{color:#ff3b30}.is-default .action-text[data-v-34f987d4]{font-weight:600}.cancel-group[data-v-34f987d4]{margin-top:8px}.cancel-action .action-text[data-v-34f987d4]{font-weight:600}.fade-enter-active[data-v-34f987d4],.fade-leave-active[data-v-34f987d4]{transition:opacity .2s}.fade-enter-from[data-v-34f987d4],.fade-leave-to[data-v-34f987d4]{opacity:0}@keyframes scale-in-34f987d4{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.flue-aspect-ratio[data-v-e23e6712]{grid-template-rows:100%;grid-template-columns:100%;display:grid}
1
+ .fluekit-button[data-v-0af78380]{appearance:none;cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;font-family:inherit;font-size:inherit;line-height:inherit;color:inherit;text-align:inherit;box-sizing:border-box;background:0 0;border:0;outline:0;margin:0;padding:0}.fluekit-button[data-v-0af78380]:disabled{cursor:default}.fluekit-image[data-v-ce382550]{display:block}.fluekit-icon[data-v-34336b05]{-webkit-user-select:none;user-select:none;pointer-events:none}.icon-svg[data-v-34336b05]{fill:currentColor;width:100%;height:100%;display:block}[data-v-34336b05] svg{fill:currentColor;width:100%;height:100%}.flutter-stack[data-v-aefe47c2]>*{grid-area:1/1/2/2}.fluekit-text-field[data-v-daef18e4]{margin-top:16px;font-family:inherit;position:relative}.fluekit-input-container[data-v-daef18e4]{box-sizing:border-box;width:100%}.fluekit-input-element[data-v-daef18e4]{width:100%;color:inherit;resize:none;background:0 0;border:none;outline:none;flex:1;margin:0;padding:0;font-family:inherit;font-size:16px}.fluekit-input-label[data-v-daef18e4]{z-index:1}.fluekit-input-footer[data-v-daef18e4]{justify-content:space-between;margin-top:4px;display:flex}.fluekit-input-helper[data-v-daef18e4]{color:#666;font-size:12px}.fluekit-input-helper-spacer[data-v-daef18e4]{flex:1}.fluekit-input-counter[data-v-daef18e4]{color:#666;margin-left:auto;font-size:12px}.fluekit-input-helper.is-error[data-v-daef18e4]{color:#f44336}.flutter-transform[data-v-c4ab6ce1]{box-sizing:border-box}.ink-well[data-v-a4b9dd0e]{cursor:pointer;display:block;position:relative;overflow:hidden}.ink-well.disabled[data-v-a4b9dd0e]{cursor:default}.ripple[data-v-a4b9dd0e]{pointer-events:none;border-radius:50%;animation:.6s linear ripple-a4b9dd0e;position:absolute;transform:scale(0)}@keyframes ripple-a4b9dd0e{to{opacity:0;transform:scale(4)}}.slider-container[data-v-715d86f8],.range-slider-container[data-v-f10382ff]{width:100%;position:relative}.bottom-sheet-overlay[data-v-6948b23d]{z-index:9999;background-color:#0000008a;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.flue-cupertino-activity-indicator-blade[data-v-32d57a59]:before{content:"";position:html;background-color:var(--v4cadb9aa);border-radius:10px;width:100%;height:25%;display:block}.flue-cupertino-activity-indicator-blade[data-v-32d57a59]{opacity:0;animation:1s linear infinite flue-cupertino-fade-32d57a59}.flue-cupertino-activity-indicator-blade[data-v-32d57a59]:first-child{animation-delay:-1s}.flue-cupertino-activity-indicator-blade[data-v-32d57a59]:nth-child(2){animation-delay:-.9167s}.flue-cupertino-activity-indicator-blade[data-v-32d57a59]:nth-child(3){animation-delay:-.8333s}.flue-cupertino-activity-indicator-blade[data-v-32d57a59]:nth-child(4){animation-delay:-.75s}.flue-cupertino-activity-indicator-blade[data-v-32d57a59]:nth-child(5){animation-delay:-.6667s}.flue-cupertino-activity-indicator-blade[data-v-32d57a59]:nth-child(6){animation-delay:-.5833s}.flue-cupertino-activity-indicator-blade[data-v-32d57a59]:nth-child(7){animation-delay:-.5s}.flue-cupertino-activity-indicator-blade[data-v-32d57a59]:nth-child(8){animation-delay:-.4167s}.flue-cupertino-activity-indicator-blade[data-v-32d57a59]:nth-child(9){animation-delay:-.3333s}.flue-cupertino-activity-indicator-blade[data-v-32d57a59]:nth-child(10){animation-delay:-.25s}.flue-cupertino-activity-indicator-blade[data-v-32d57a59]:nth-child(11){animation-delay:-.1667s}.flue-cupertino-activity-indicator-blade[data-v-32d57a59]:nth-child(12){animation-delay:-.0833s}@keyframes flue-cupertino-fade-32d57a59{0%{opacity:1}to{opacity:.3}}.flue-cupertino-navigation-bar[data-v-b5a5c6bf]{-webkit-backdrop-filter:blur(20px);z-index:100;width:100%}.flue-nav-bar-middle[data-v-b5a5c6bf]{justify-content:center;align-items:center;max-width:60%;display:flex}.snackbar-overlay[data-v-d8abf3ed]{z-index:9999;pointer-events:none;justify-content:center;display:flex;position:fixed;bottom:0;left:0;right:0}.snackbar-overlay[data-v-d8abf3ed]>*{pointer-events:auto}.flue-app-bar-leading[data-v-0a553bf2]{align-items:center;margin-right:16px;display:flex}.flue-app-bar-actions[data-v-0a553bf2]{align-items:center;margin-left:16px;display:flex}.fluekit-bottom-navigation-bar-ios[data-v-11798dea]{-webkit-backdrop-filter:blur(20px)}.fluekit-context-menu-anchor[data-v-34f987d4]{display:inline-block}.fluekit-context-menu-overlay[data-v-34f987d4]{z-index:9999;flex-direction:column;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.fluekit-context-menu-backdrop[data-v-34f987d4]{-webkit-backdrop-filter:blur(10px);background:#0006;width:100%;height:100%;position:absolute;top:0;left:0}.fluekit-context-menu-content[data-v-34f987d4]{z-index:10001;width:250px;animation:.2s ease-out scale-in-34f987d4;position:relative}.fluekit-action-group[data-v-34f987d4]{-webkit-backdrop-filter:blur(20px);background:#f9f9f9c7;border-radius:14px;margin-bottom:16px;overflow:hidden}.fluekit-context-menu-action[data-v-34f987d4]{text-align:center;cursor:pointer;background:0 0;border-bottom:.5px solid #0000001a;justify-content:center;align-items:center;gap:8px;padding:16px;display:flex}.fluekit-context-menu-action[data-v-34f987d4]:last-child{border-bottom:none}.fluekit-context-menu-action[data-v-34f987d4]:active{background:#0000001a}.action-text[data-v-34f987d4]{color:#007aff;font-family:-apple-system,BlinkMacSystemFont,sans-serif;font-size:17px}.is-destructive .action-text[data-v-34f987d4]{color:#ff3b30}.is-default .action-text[data-v-34f987d4]{font-weight:600}.cancel-group[data-v-34f987d4]{margin-top:8px}.cancel-action .action-text[data-v-34f987d4]{font-weight:600}.fade-enter-active[data-v-34f987d4],.fade-leave-active[data-v-34f987d4]{transition:opacity .2s}.fade-enter-from[data-v-34f987d4],.fade-leave-to[data-v-34f987d4]{opacity:0}@keyframes scale-in-34f987d4{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.flue-aspect-ratio[data-v-e23e6712]{grid-template-rows:100%;grid-template-columns:100%;display:grid}.flue-image-color-background[data-v-de3ea6be]{box-sizing:border-box;flex-direction:column;display:flex}.flue-linear-progress-indicator[data-v-66847fc1]{border-radius:0}@keyframes flue-linear-indeterminate-66847fc1{0%{transform:translate(0)scaleX(0)}40%{transform:translate(0)scaleX(.4)}to{transform:translate(100%)scaleX(.5)}}@keyframes flue-circular-rotate-f3b133b5{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes flue-circular-dash-f3b133b5{0%{stroke-dasharray:1 200;stroke-dashoffset:0}50%{stroke-dasharray:89 200;stroke-dashoffset:-35px}to{stroke-dasharray:89 200;stroke-dashoffset:-124px}}
2
2
  /*$vite$:1*/
package/dist/index.d.ts CHANGED
@@ -60,7 +60,11 @@ export { default as BottomNavigationBar } from './BottomNavigationBar';
60
60
  export { default as CupertinoContextMenu } from './CupertinoContextMenu';
61
61
  export { default as AspectRatio } from './AspectRatio';
62
62
  export { default as ConstrainedBox } from './ConstrainedBox';
63
+ export { default as ImageColorBackground } from './ImageColorBackground';
64
+ export { default as LinearProgressIndicator } from './LinearProgressIndicator';
65
+ export { default as CircularProgressIndicator } from './CircularProgressIndicator';
63
66
  export * from './Color';
67
+ export * from './ImageUtils';
64
68
  export * from './Colors';
65
69
  export * from './CupertinoColors';
66
70
  export * from './Border';
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- import { Comment, Fragment, Teleport, Text, Transition, cloneVNode, computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, createSlots, createTextVNode, createVNode, defineComponent, guardReactiveProps, h, inject, mergeProps, nextTick, normalizeClass, normalizeProps, normalizeStyle, onBeforeUnmount, onMounted, onUnmounted, openBlock, provide, reactive, ref, render, renderList, renderSlot, resolveDynamicComponent, shallowRef, toDisplayString, toRefs, unref, useAttrs, useSlots, warn, watch, withCtx, withModifiers } from "vue";
1
+ import { Comment, Fragment, Teleport, Text, Transition, cloneVNode, computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, createSlots, createTextVNode, createVNode, defineComponent, guardReactiveProps, h, inject, mergeProps, nextTick, normalizeClass, normalizeProps, normalizeStyle, onBeforeUnmount, onMounted, onUnmounted, openBlock, provide, reactive, ref, render, renderList, renderSlot, resolveDynamicComponent, shallowRef, toDisplayString, toRefs, unref, useAttrs, useCssVars, useSlots, warn, watch, withCtx, withModifiers } from "vue";
2
2
  function isUndefined(e) {
3
3
  return e === void 0;
4
4
  }
@@ -1018,7 +1018,7 @@ var GestureDetector_default = defineComponent({
1018
1018
  return e ? e.type === Text ? h("span", E, [e]) : isHtmlTag(e) ? cloneVNode(e, E) : e : null;
1019
1019
  };
1020
1020
  }
1021
- }), _hoisted_1$11 = ["disabled"], Button_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
1021
+ }), _hoisted_1$12 = ["disabled"], Button_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
1022
1022
  inheritAttrs: !1,
1023
1023
  __name: "Button",
1024
1024
  props: {
@@ -1081,7 +1081,7 @@ var GestureDetector_default = defineComponent({
1081
1081
  class: "fluekit-button",
1082
1082
  style: I.value,
1083
1083
  disabled: e.disabled
1084
- }, N.value), [renderSlot(C.$slots, "default", {}, () => [createTextVNode(toDisplayString(w.text), 1)], !0)], 16, _hoisted_1$11)]),
1084
+ }, N.value), [renderSlot(C.$slots, "default", {}, () => [createTextVNode(toDisplayString(w.text), 1)], !0)], 16, _hoisted_1$12)]),
1085
1085
  _: 3
1086
1086
  }, 8, ["behavior"]));
1087
1087
  }
@@ -1503,7 +1503,7 @@ function createAssetImage(e) {
1503
1503
  ...w
1504
1504
  });
1505
1505
  }
1506
- var _hoisted_1$10 = ["src", "alt"], Image_default = /* @__PURE__ */ __plugin_vue_export_helper_default(/* @__PURE__ */ defineComponent({
1506
+ var _hoisted_1$11 = ["src", "alt"], Image_default = /* @__PURE__ */ __plugin_vue_export_helper_default(/* @__PURE__ */ defineComponent({
1507
1507
  inheritAttrs: !1,
1508
1508
  __name: "Image",
1509
1509
  props: {
@@ -1561,9 +1561,9 @@ var _hoisted_1$10 = ["src", "alt"], Image_default = /* @__PURE__ */ __plugin_vue
1561
1561
  alt: e.alt,
1562
1562
  onLoad: P,
1563
1563
  onError: F
1564
- }, null, 44, _hoisted_1$10)], 16));
1564
+ }, null, 44, _hoisted_1$11)], 16));
1565
1565
  }
1566
- }), [["__scopeId", "data-v-ce382550"]]), _hoisted_1$9 = ["aria-label"], _hoisted_2$4 = ["width", "height"], _hoisted_3$3 = ["d"], Icon_default = /* @__PURE__ */ __plugin_vue_export_helper_default(/* @__PURE__ */ defineComponent({
1566
+ }), [["__scopeId", "data-v-ce382550"]]), _hoisted_1$10 = ["aria-label"], _hoisted_2$5 = ["width", "height"], _hoisted_3$3 = ["d"], Icon_default = /* @__PURE__ */ __plugin_vue_export_helper_default(/* @__PURE__ */ defineComponent({
1567
1567
  inheritAttrs: !1,
1568
1568
  __name: "Icon",
1569
1569
  props: {
@@ -1610,9 +1610,9 @@ var _hoisted_1$10 = ["src", "alt"], Image_default = /* @__PURE__ */ __plugin_vue
1610
1610
  fill: "currentColor",
1611
1611
  xmlns: "http://www.w3.org/2000/svg",
1612
1612
  class: "icon-svg"
1613
- }, [createElementVNode("path", { d: e.icon }, null, 8, _hoisted_3$3)], 8, _hoisted_2$4)) : createCommentVNode("", !0)], !0)], 16, _hoisted_1$9));
1613
+ }, [createElementVNode("path", { d: e.icon }, null, 8, _hoisted_3$3)], 8, _hoisted_2$5)) : createCommentVNode("", !0)], !0)], 16, _hoisted_1$10));
1614
1614
  }
1615
- }), [["__scopeId", "data-v-34336b05"]]), _hoisted_1$8 = {
1615
+ }), [["__scopeId", "data-v-34336b05"]]), _hoisted_1$9 = {
1616
1616
  key: 0,
1617
1617
  class: "list-view-separator"
1618
1618
  }, ListView_default = /* @__PURE__ */ defineComponent({
@@ -1654,7 +1654,7 @@ var _hoisted_1$10 = ["src", "alt"], Image_default = /* @__PURE__ */ __plugin_vue
1654
1654
  default: withCtx(() => [createElementVNode("div", {
1655
1655
  class: "list-view-content",
1656
1656
  style: normalizeStyle(T.value)
1657
- }, [e.itemCount ? (openBlock(!0), createElementBlock(Fragment, { key: 1 }, renderList(e.itemCount, (T) => (openBlock(), createElementBlock(Fragment, { key: T - 1 }, [renderSlot(w.$slots, "item", { index: T - 1 }), e.separator && T < e.itemCount ? (openBlock(), createElementBlock("div", _hoisted_1$8, [renderSlot(w.$slots, "separator", { index: T - 1 })])) : createCommentVNode("", !0)], 64))), 128)) : renderSlot(w.$slots, "default", { key: 0 })], 4)]),
1657
+ }, [e.itemCount ? (openBlock(!0), createElementBlock(Fragment, { key: 1 }, renderList(e.itemCount, (T) => (openBlock(), createElementBlock(Fragment, { key: T - 1 }, [renderSlot(w.$slots, "item", { index: T - 1 }), e.separator && T < e.itemCount ? (openBlock(), createElementBlock("div", _hoisted_1$9, [renderSlot(w.$slots, "separator", { index: T - 1 })])) : createCommentVNode("", !0)], 64))), 128)) : renderSlot(w.$slots, "default", { key: 0 })], 4)]),
1658
1658
  _: 3
1659
1659
  }, 8, [
1660
1660
  "scroll-direction",
@@ -1961,10 +1961,10 @@ function UnderlineInputBorder(e = {}) {
1961
1961
  isOutline: !1
1962
1962
  };
1963
1963
  }
1964
- var _hoisted_1$7 = {
1964
+ var _hoisted_1$8 = {
1965
1965
  key: 1,
1966
1966
  class: "fluekit-input-suffix"
1967
- }, _hoisted_2$3 = {
1967
+ }, _hoisted_2$4 = {
1968
1968
  key: 1,
1969
1969
  class: "fluekit-input-footer"
1970
1970
  }, _hoisted_3$2 = {
@@ -2138,9 +2138,9 @@ var _hoisted_1$7 = {
2138
2138
  "enterkeyhint",
2139
2139
  "autocorrect"
2140
2140
  ])),
2141
- C.$slots.suffix || e.decoration?.suffixText ? (openBlock(), createElementBlock("div", _hoisted_1$7, [renderSlot(C.$slots, "suffix", {}, () => [createTextVNode(toDisplayString(e.decoration?.suffixText), 1)], !0)])) : createCommentVNode("", !0)
2141
+ C.$slots.suffix || e.decoration?.suffixText ? (openBlock(), createElementBlock("div", _hoisted_1$8, [renderSlot(C.$slots, "suffix", {}, () => [createTextVNode(toDisplayString(e.decoration?.suffixText), 1)], !0)])) : createCommentVNode("", !0)
2142
2142
  ], 4),
2143
- e.decoration?.errorText || e.decoration?.helperText || e.maxLength && e.maxLength > 0 ? (openBlock(), createElementBlock("div", _hoisted_2$3, [e.decoration?.errorText || e.decoration?.helperText ? (openBlock(), createElementBlock("div", {
2143
+ e.decoration?.errorText || e.decoration?.helperText || e.maxLength && e.maxLength > 0 ? (openBlock(), createElementBlock("div", _hoisted_2$4, [e.decoration?.errorText || e.decoration?.helperText ? (openBlock(), createElementBlock("div", {
2144
2144
  key: 0,
2145
2145
  class: normalizeClass(["fluekit-input-helper", { "is-error": !!e.decoration?.errorText }])
2146
2146
  }, toDisplayString(e.decoration?.errorText || e.decoration?.helperText), 3)) : (openBlock(), createElementBlock("div", _hoisted_3$2)), e.maxLength && e.maxLength > 0 ? (openBlock(), createElementBlock("div", _hoisted_4$1, toDisplayString(String(e.modelValue).length) + " / " + toDisplayString(e.maxLength), 1)) : createCommentVNode("", !0)])) : createCommentVNode("", !0)
@@ -2680,7 +2680,7 @@ var Transform_default = /* @__PURE__ */ __plugin_vue_export_helper_default(/* @_
2680
2680
  }
2681
2681
  });
2682
2682
  const CheckboxGroupKey = Symbol("CheckboxGroup");
2683
- var _hoisted_1$6 = ["fill"], Checkbox_default = /* @__PURE__ */ defineComponent({
2683
+ var _hoisted_1$7 = ["fill"], Checkbox_default = /* @__PURE__ */ defineComponent({
2684
2684
  __name: "Checkbox",
2685
2685
  props: {
2686
2686
  value: {},
@@ -2733,7 +2733,7 @@ var _hoisted_1$6 = ["fill"], Checkbox_default = /* @__PURE__ */ defineComponent(
2733
2733
  height: 14,
2734
2734
  fill: e.checkColor,
2735
2735
  style: { display: "block" }
2736
- }, [...w[0] ||= [createElementVNode("path", { d: "M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z" }, null, -1)]], 8, _hoisted_1$6)) : createCommentVNode("", !0)]),
2736
+ }, [...w[0] ||= [createElementVNode("path", { d: "M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z" }, null, -1)]], 8, _hoisted_1$7)) : createCommentVNode("", !0)]),
2737
2737
  _: 1
2738
2738
  }, 8, ["decoration"])),
2739
2739
  e.labelPosition === "right" ? renderSlot(C.$slots, "default", { key: 2 }) : createCommentVNode("", !0)
@@ -2743,7 +2743,7 @@ var _hoisted_1$6 = ["fill"], Checkbox_default = /* @__PURE__ */ defineComponent(
2743
2743
  _: 3
2744
2744
  }));
2745
2745
  }
2746
- }), _hoisted_1$5 = { class: "flue-checkbox-group" }, CheckboxGroup_default = /* @__PURE__ */ defineComponent({
2746
+ }), _hoisted_1$6 = { class: "flue-checkbox-group" }, CheckboxGroup_default = /* @__PURE__ */ defineComponent({
2747
2747
  __name: "CheckboxGroup",
2748
2748
  props: {
2749
2749
  value: { default: () => [] },
@@ -2762,7 +2762,7 @@ var _hoisted_1$6 = ["fill"], Checkbox_default = /* @__PURE__ */ defineComponent(
2762
2762
  value: D,
2763
2763
  disabled: O,
2764
2764
  updateValue: E
2765
- }), (e, C) => (openBlock(), createElementBlock("div", _hoisted_1$5, [renderSlot(e.$slots, "default")]));
2765
+ }), (e, C) => (openBlock(), createElementBlock("div", _hoisted_1$6, [renderSlot(e.$slots, "default")]));
2766
2766
  }
2767
2767
  });
2768
2768
  const RadioGroupKey = Symbol("RadioGroup");
@@ -2827,7 +2827,7 @@ var Radio_default = /* @__PURE__ */ defineComponent({
2827
2827
  _: 3
2828
2828
  }));
2829
2829
  }
2830
- }), _hoisted_1$4 = { class: "flue-radio-group" }, RadioGroup_default = /* @__PURE__ */ defineComponent({
2830
+ }), _hoisted_1$5 = { class: "flue-radio-group" }, RadioGroup_default = /* @__PURE__ */ defineComponent({
2831
2831
  __name: "RadioGroup",
2832
2832
  props: {
2833
2833
  value: {},
@@ -2847,7 +2847,7 @@ var Radio_default = /* @__PURE__ */ defineComponent({
2847
2847
  updateValue: E,
2848
2848
  activeColor: O,
2849
2849
  disabled: k
2850
- }), (e, C) => (openBlock(), createElementBlock("div", _hoisted_1$4, [renderSlot(e.$slots, "default")]));
2850
+ }), (e, C) => (openBlock(), createElementBlock("div", _hoisted_1$5, [renderSlot(e.$slots, "default")]));
2851
2851
  }
2852
2852
  }), RadioListTile_default = /* @__PURE__ */ defineComponent({
2853
2853
  __name: "RadioListTile",
@@ -3597,54 +3597,206 @@ var MediaQuery_default = /* @__PURE__ */ defineComponent({
3597
3597
  setup(e) {
3598
3598
  return provide(MediaQueryKey, e.data), (e, C) => renderSlot(e.$slots, "default");
3599
3599
  }
3600
- }), CupertinoActivityIndicator_default = /* @__PURE__ */ defineComponent({
3600
+ }), Color = class e {
3601
+ _r;
3602
+ _g;
3603
+ _b;
3604
+ _a;
3605
+ constructor(e) {
3606
+ this._a = e >> 24 & 255, this._r = e >> 16 & 255, this._g = e >> 8 & 255, this._b = e & 255;
3607
+ }
3608
+ static fromARGB(C, w, T, E) {
3609
+ return new e(((C & 255) << 24 | (w & 255) << 16 | (T & 255) << 8 | E & 255) >>> 0);
3610
+ }
3611
+ static fromRGBO(C, w, T, E) {
3612
+ let D = Math.round(E * 255);
3613
+ return e.fromRGB(C, w, T, D);
3614
+ }
3615
+ static fromRGB(C, w, T, E = 255) {
3616
+ return e.fromARGB(E, C, w, T);
3617
+ }
3618
+ static fromString(C) {
3619
+ if (!C || C === "transparent") return new e(0);
3620
+ if (C.startsWith("#")) {
3621
+ let w = C.slice(1);
3622
+ if (w.length === 3 && (w = w.split("").map((e) => e + e).join("")), w.length === 6) return new e(4278190080 | parseInt(w, 16));
3623
+ if (w.length === 8) {
3624
+ let C = parseInt(w.substring(0, 2), 16), T = parseInt(w.substring(2, 4), 16), E = parseInt(w.substring(4, 6), 16), D = parseInt(w.substring(6, 8), 16);
3625
+ return e.fromARGB(D, C, T, E);
3626
+ }
3627
+ }
3628
+ if (C.startsWith("rgb")) {
3629
+ let w = C.match(/[\d.]+/g);
3630
+ if (w && w.length >= 3) {
3631
+ let C = parseFloat(w[0]), T = parseFloat(w[1]), E = parseFloat(w[2]), D = w[3] === void 0 ? 1 : parseFloat(w[3]);
3632
+ return e.fromRGBO(C, T, E, D);
3633
+ }
3634
+ }
3635
+ return console.warn(`[Color] Could not parse color string: ${C}`), new e(0);
3636
+ }
3637
+ get alpha() {
3638
+ return this._a;
3639
+ }
3640
+ get opacity() {
3641
+ return this._a / 255;
3642
+ }
3643
+ get red() {
3644
+ return this._r;
3645
+ }
3646
+ get green() {
3647
+ return this._g;
3648
+ }
3649
+ get blue() {
3650
+ return this._b;
3651
+ }
3652
+ withAlpha(C) {
3653
+ return e.fromARGB(C, this._r, this._g, this._b);
3654
+ }
3655
+ withOpacity(C) {
3656
+ return e.fromRGBO(this._r, this._g, this._b, C);
3657
+ }
3658
+ withRed(C) {
3659
+ return e.fromARGB(this._a, C, this._g, this._b);
3660
+ }
3661
+ withGreen(C) {
3662
+ return e.fromARGB(this._a, this._r, C, this._b);
3663
+ }
3664
+ withBlue(C) {
3665
+ return e.fromARGB(this._a, this._r, this._g, C);
3666
+ }
3667
+ computeLuminance() {
3668
+ let e = this._r / 255, C = this._g / 255, w = this._b / 255, T = e <= .03928 ? e / 12.92 : ((e + .055) / 1.055) ** 2.4, E = C <= .03928 ? C / 12.92 : ((C + .055) / 1.055) ** 2.4, D = w <= .03928 ? w / 12.92 : ((w + .055) / 1.055) ** 2.4;
3669
+ return .2126 * T + .7152 * E + .0722 * D;
3670
+ }
3671
+ toString() {
3672
+ if (this._a === 255) return `rgb(${this._r}, ${this._g}, ${this._b})`;
3673
+ let e = Number((this._a / 255).toFixed(3));
3674
+ return `rgba(${this._r}, ${this._g}, ${this._b}, ${e})`;
3675
+ }
3676
+ get value() {
3677
+ return ((this._a & 255) << 24 | (this._r & 255) << 16 | (this._g & 255) << 8 | this._b & 255) >>> 0;
3678
+ }
3679
+ };
3680
+ function withOpacity(e, C) {
3681
+ return (e instanceof Color ? e : Color.fromString(e)).withOpacity(C).toString();
3682
+ }
3683
+ function withAlpha(e, C) {
3684
+ return (e instanceof Color ? e : Color.fromString(e)).withAlpha(C).toString();
3685
+ }
3686
+ function withRed(e, C) {
3687
+ return (e instanceof Color ? e : Color.fromString(e)).withRed(C).toString();
3688
+ }
3689
+ function withGreen(e, C) {
3690
+ return (e instanceof Color ? e : Color.fromString(e)).withGreen(C).toString();
3691
+ }
3692
+ function withBlue(e, C) {
3693
+ return (e instanceof Color ? e : Color.fromString(e)).withBlue(C).toString();
3694
+ }
3695
+ function computeLuminance(e) {
3696
+ return (e instanceof Color ? e : Color.fromString(e)).computeLuminance();
3697
+ }
3698
+ function lighten(e, C) {
3699
+ let w = e instanceof Color ? e : Color.fromString(e), T = Math.max(0, Math.min(1, C)), E = Math.round(w.red + (255 - w.red) * T), D = Math.round(w.green + (255 - w.green) * T), O = Math.round(w.blue + (255 - w.blue) * T);
3700
+ return Color.fromARGB(w.alpha, E, D, O).toString();
3701
+ }
3702
+ function darken(e, C) {
3703
+ let w = e instanceof Color ? e : Color.fromString(e), T = Math.max(0, Math.min(1, C)), E = Math.round(w.red * (1 - T)), D = Math.round(w.green * (1 - T)), O = Math.round(w.blue * (1 - T));
3704
+ return Color.fromARGB(w.alpha, E, D, O).toString();
3705
+ }
3706
+ const ColorUtils = {
3707
+ withOpacity,
3708
+ withAlpha,
3709
+ withRed,
3710
+ withGreen,
3711
+ withBlue,
3712
+ lighten,
3713
+ darken,
3714
+ computeLuminance
3715
+ }, CupertinoColors = {
3716
+ withOpacity: (e, C) => (typeof e == "string" ? Color.fromString(e) : e).withOpacity(C),
3717
+ withAlpha: (e, C) => (typeof e == "string" ? Color.fromString(e) : e).withAlpha(C),
3718
+ withRed: (e, C) => (typeof e == "string" ? Color.fromString(e) : e).withRed(C),
3719
+ withGreen: (e, C) => (typeof e == "string" ? Color.fromString(e) : e).withGreen(C),
3720
+ withBlue: (e, C) => (typeof e == "string" ? Color.fromString(e) : e).withBlue(C),
3721
+ computeLuminance: (e) => (typeof e == "string" ? Color.fromString(e) : e).computeLuminance(),
3722
+ lighten: (e, C) => Color.fromString(typeof e == "string" ? e : e.toString()),
3723
+ darken: (e, C) => Color.fromString(typeof e == "string" ? e : e.toString()),
3724
+ activeBlue: Color.fromString("#007AFF"),
3725
+ activeGreen: Color.fromString("#34C759"),
3726
+ activeOrange: Color.fromString("#FF9500"),
3727
+ white: Color.fromString("#FFFFFF"),
3728
+ black: Color.fromString("#000000"),
3729
+ lightBackgroundGray: Color.fromString("#EFEFF4"),
3730
+ extraLightBackgroundGray: Color.fromString("#EFEFF4"),
3731
+ darkBackgroundGray: Color.fromString("#171717"),
3732
+ label: Color.fromString("#000000"),
3733
+ secondaryLabel: Color.fromString("rgba(60, 60, 67, 0.60)"),
3734
+ tertiaryLabel: Color.fromString("rgba(60, 60, 67, 0.30)"),
3735
+ quaternaryLabel: Color.fromString("rgba(60, 60, 67, 0.18)"),
3736
+ systemBlue: Color.fromString("#007AFF"),
3737
+ systemGreen: Color.fromString("#34C759"),
3738
+ systemIndigo: Color.fromString("#5856D6"),
3739
+ systemOrange: Color.fromString("#FF9500"),
3740
+ systemPink: Color.fromString("#FF2D55"),
3741
+ systemPurple: Color.fromString("#AF52DE"),
3742
+ systemRed: Color.fromString("#FF3B30"),
3743
+ systemTeal: Color.fromString("#5AC8FA"),
3744
+ systemYellow: Color.fromString("#FFCC00"),
3745
+ systemGrey: Color.fromString("#8E8E93"),
3746
+ systemGrey2: Color.fromString("#AEAEB2"),
3747
+ systemGrey3: Color.fromString("#C7C7CC"),
3748
+ systemGrey4: Color.fromString("#D1D1D6"),
3749
+ systemGrey5: Color.fromString("#E5E5EA"),
3750
+ systemGrey6: Color.fromString("#F2F2F7"),
3751
+ systemBackground: Color.fromString("#FFFFFF"),
3752
+ secondarySystemBackground: Color.fromString("#F2F2F7"),
3753
+ tertiarySystemBackground: Color.fromString("#FFFFFF"),
3754
+ systemGroupedBackground: Color.fromString("#F2F2F7"),
3755
+ secondarySystemGroupedBackground: Color.fromString("#FFFFFF"),
3756
+ tertiarySystemGroupedBackground: Color.fromString("#F2F2F7"),
3757
+ separator: Color.fromString("rgba(60, 60, 67, 0.29)"),
3758
+ opaqueSeparator: Color.fromString("#C6C6C8"),
3759
+ link: Color.fromString("#007AFF"),
3760
+ destructiveRed: Color.fromString("#FF3B30")
3761
+ };
3762
+ var CupertinoActivityIndicator_default = /* @__PURE__ */ __plugin_vue_export_helper_default(/* @__PURE__ */ defineComponent({
3601
3763
  __name: "CupertinoActivityIndicator",
3602
3764
  props: {
3603
- radius: { default: 10 },
3604
- color: { default: "#999999" },
3605
3765
  animating: {
3606
3766
  type: Boolean,
3607
3767
  default: !0
3608
- }
3768
+ },
3769
+ color: { default: () => CupertinoColors.systemGrey },
3770
+ radius: { default: 10 }
3609
3771
  },
3610
3772
  setup(e) {
3773
+ useCssVars((e) => ({ v4cadb9aa: w.color.toString() }));
3611
3774
  let w = e, T = computed(() => ({
3612
3775
  width: `${w.radius * 2}px`,
3613
3776
  height: `${w.radius * 2}px`,
3614
3777
  position: "relative",
3615
- animation: w.animating ? "cupertino-activity-indicator-rotate 1s steps(12) infinite" : "none"
3778
+ display: "inline-block"
3616
3779
  })), E = (e) => {
3617
- let C = e * 30;
3618
- return {
3780
+ let C = w.radius / 3.5;
3781
+ return w.radius / 1.2, w.color.toString(), {
3619
3782
  position: "absolute",
3620
3783
  top: "0",
3621
- left: "50%",
3622
- width: `${w.radius * .25}px`,
3623
- height: `${w.radius * .6}px`,
3624
- backgroundColor: w.color,
3625
- borderRadius: `${w.radius * .125}px`,
3626
- transformOrigin: `center ${w.radius}px`,
3627
- transform: `translateX(-50%) rotate(${C}deg)`,
3628
- opacity: 1 - e / 12 * .7
3784
+ left: `calc(50% - ${C / 2}px)`,
3785
+ width: `${C}px`,
3786
+ height: "100%",
3787
+ transform: `rotate(${e * 30}deg)`
3629
3788
  };
3630
3789
  };
3631
- return (w, D) => (openBlock(), createBlock(Container_default, {
3632
- width: e.radius * 2,
3633
- height: e.radius * 2,
3634
- alignment: "center"
3635
- }, {
3636
- default: withCtx(() => [createElementVNode("div", {
3637
- class: "cupertino-activity-indicator",
3638
- style: normalizeStyle(T.value)
3639
- }, [(openBlock(), createElementBlock(Fragment, null, renderList(12, (e) => createElementVNode("div", {
3640
- key: e,
3641
- class: "cupertino-activity-indicator-tick",
3642
- style: normalizeStyle(E(e - 1))
3643
- }, null, 4)), 64))], 4)]),
3644
- _: 1
3645
- }, 8, ["width", "height"]));
3790
+ return (e, w) => (openBlock(), createElementBlock("div", {
3791
+ class: "flue-cupertino-activity-indicator",
3792
+ style: normalizeStyle(T.value)
3793
+ }, [(openBlock(), createElementBlock(Fragment, null, renderList(12, (e) => createElementVNode("div", {
3794
+ key: e,
3795
+ class: "flue-cupertino-activity-indicator-blade",
3796
+ style: normalizeStyle(E(e - 1))
3797
+ }, null, 4)), 64))], 4));
3646
3798
  }
3647
- }), CupertinoPageScaffold_default = /* @__PURE__ */ defineComponent({
3799
+ }), [["__scopeId", "data-v-32d57a59"]]), CupertinoPageScaffold_default = /* @__PURE__ */ defineComponent({
3648
3800
  __name: "CupertinoPageScaffold",
3649
3801
  props: { backgroundColor: { default: "#F2F2F7" } },
3650
3802
  setup(e) {
@@ -3670,7 +3822,7 @@ var MediaQuery_default = /* @__PURE__ */ defineComponent({
3670
3822
  _: 3
3671
3823
  }, 8, ["color"]));
3672
3824
  }
3673
- }), _hoisted_1$3 = { class: "flue-cupertino-navigation-bar" }, _hoisted_2$2 = {
3825
+ }), _hoisted_1$4 = { class: "flue-cupertino-navigation-bar" }, _hoisted_2$3 = {
3674
3826
  key: 0,
3675
3827
  class: "flue-nav-bar-leading"
3676
3828
  }, _hoisted_3$1 = { class: "flue-nav-bar-middle" }, _hoisted_4 = {
@@ -3695,7 +3847,7 @@ var MediaQuery_default = /* @__PURE__ */ defineComponent({
3695
3847
  color: "#000000",
3696
3848
  fontFamily: "-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif"
3697
3849
  });
3698
- return (C, D) => (openBlock(), createElementBlock("div", _hoisted_1$3, [createVNode(Container_default, {
3850
+ return (C, D) => (openBlock(), createElementBlock("div", _hoisted_1$4, [createVNode(Container_default, {
3699
3851
  height: 44,
3700
3852
  width: "100%",
3701
3853
  color: e.backgroundColor,
@@ -3716,7 +3868,7 @@ var MediaQuery_default = /* @__PURE__ */ defineComponent({
3716
3868
  "cross-axis-alignment": "center",
3717
3869
  expanded: ""
3718
3870
  }, {
3719
- default: withCtx(() => [C.$slots.leading ? (openBlock(), createElementBlock("div", _hoisted_2$2, [renderSlot(C.$slots, "leading", {}, void 0, !0)])) : createCommentVNode("", !0)]),
3871
+ default: withCtx(() => [C.$slots.leading ? (openBlock(), createElementBlock("div", _hoisted_2$3, [renderSlot(C.$slots, "leading", {}, void 0, !0)])) : createCommentVNode("", !0)]),
3720
3872
  _: 3
3721
3873
  })]),
3722
3874
  _: 3
@@ -3754,7 +3906,7 @@ var MediaQuery_default = /* @__PURE__ */ defineComponent({
3754
3906
  "padding"
3755
3907
  ])]));
3756
3908
  }
3757
- }), [["__scopeId", "data-v-b5a5c6bf"]]), _hoisted_1$2 = { class: "snackbar-overlay" }, SnackBarComponent_default = /* @__PURE__ */ __plugin_vue_export_helper_default(/* @__PURE__ */ defineComponent({
3909
+ }), [["__scopeId", "data-v-b5a5c6bf"]]), _hoisted_1$3 = { class: "snackbar-overlay" }, SnackBarComponent_default = /* @__PURE__ */ __plugin_vue_export_helper_default(/* @__PURE__ */ defineComponent({
3758
3910
  __name: "SnackBarComponent",
3759
3911
  props: {
3760
3912
  content: {},
@@ -3783,7 +3935,7 @@ var MediaQuery_default = /* @__PURE__ */ defineComponent({
3783
3935
  }
3784
3936
  }]
3785
3937
  }));
3786
- return (C, w) => (openBlock(), createElementBlock("div", _hoisted_1$2, [createVNode(Container_default, {
3938
+ return (C, w) => (openBlock(), createElementBlock("div", _hoisted_1$3, [createVNode(Container_default, {
3787
3939
  margin: unref(EdgeInsets).all(8),
3788
3940
  padding: unref(EdgeInsets).symmetric({
3789
3941
  horizontal: 16,
@@ -3887,10 +4039,10 @@ var MediaQuery_default = /* @__PURE__ */ defineComponent({
3887
4039
  _: 3
3888
4040
  }, 8, ["color"]));
3889
4041
  }
3890
- }), _hoisted_1$1 = {
4042
+ }), _hoisted_1$2 = {
3891
4043
  key: 0,
3892
4044
  class: "flue-app-bar-leading"
3893
- }, _hoisted_2$1 = {
4045
+ }, _hoisted_2$2 = {
3894
4046
  key: 1,
3895
4047
  class: "flue-app-bar-actions"
3896
4048
  }, AppBar_default = /* @__PURE__ */ __plugin_vue_export_helper_default(/* @__PURE__ */ defineComponent({
@@ -3933,7 +4085,7 @@ var MediaQuery_default = /* @__PURE__ */ defineComponent({
3933
4085
  expanded: ""
3934
4086
  }, {
3935
4087
  default: withCtx(() => [
3936
- C.$slots.leading ? (openBlock(), createElementBlock("div", _hoisted_1$1, [renderSlot(C.$slots, "leading", {}, void 0, !0)])) : createCommentVNode("", !0),
4088
+ C.$slots.leading ? (openBlock(), createElementBlock("div", _hoisted_1$2, [renderSlot(C.$slots, "leading", {}, void 0, !0)])) : createCommentVNode("", !0),
3937
4089
  createVNode(Expanded_default, null, {
3938
4090
  default: withCtx(() => [renderSlot(C.$slots, "title", {}, () => [e.title ? (openBlock(), createBlock(Text_default, {
3939
4091
  key: 0,
@@ -3946,7 +4098,7 @@ var MediaQuery_default = /* @__PURE__ */ defineComponent({
3946
4098
  }, 8, ["style", "overflow"])) : createCommentVNode("", !0)], !0)]),
3947
4099
  _: 3
3948
4100
  }),
3949
- C.$slots.actions ? (openBlock(), createElementBlock("div", _hoisted_2$1, [createVNode(Row_default, {
4101
+ C.$slots.actions ? (openBlock(), createElementBlock("div", _hoisted_2$2, [createVNode(Row_default, {
3950
4102
  "main-axis-size": "min",
3951
4103
  gap: 8
3952
4104
  }, {
@@ -4061,7 +4213,7 @@ var MediaQuery_default = /* @__PURE__ */ defineComponent({
4061
4213
  "padding"
4062
4214
  ]));
4063
4215
  }
4064
- }), [["__scopeId", "data-v-11798dea"]]), _hoisted_1 = { class: "fluekit-action-group" }, _hoisted_2 = ["onClick"], _hoisted_3 = { class: "action-text" }, CupertinoContextMenu_default = /* @__PURE__ */ __plugin_vue_export_helper_default(/* @__PURE__ */ defineComponent({
4216
+ }), [["__scopeId", "data-v-11798dea"]]), _hoisted_1$1 = { class: "fluekit-action-group" }, _hoisted_2$1 = ["onClick"], _hoisted_3 = { class: "action-text" }, CupertinoContextMenu_default = /* @__PURE__ */ __plugin_vue_export_helper_default(/* @__PURE__ */ defineComponent({
4065
4217
  __name: "CupertinoContextMenu",
4066
4218
  props: { actions: {} },
4067
4219
  setup(e) {
@@ -4089,7 +4241,7 @@ var MediaQuery_default = /* @__PURE__ */ defineComponent({
4089
4241
  class: "fluekit-context-menu-content",
4090
4242
  style: normalizeStyle(L.value),
4091
4243
  onClick: R[0] ||= withModifiers(() => {}, ["stop"])
4092
- }, [createElementVNode("div", _hoisted_1, [(openBlock(!0), createElementBlock(Fragment, null, renderList(e.actions, (e, C) => (openBlock(), createElementBlock("div", {
4244
+ }, [createElementVNode("div", _hoisted_1$1, [(openBlock(!0), createElementBlock(Fragment, null, renderList(e.actions, (e, C) => (openBlock(), createElementBlock("div", {
4093
4245
  key: C,
4094
4246
  class: normalizeClass(["fluekit-context-menu-action", {
4095
4247
  "is-destructive": e.isDestructiveAction,
@@ -4099,7 +4251,7 @@ var MediaQuery_default = /* @__PURE__ */ defineComponent({
4099
4251
  }, [e.icon ? (openBlock(), createBlock(resolveDynamicComponent(e.icon), {
4100
4252
  key: 0,
4101
4253
  class: "action-icon"
4102
- })) : createCommentVNode("", !0), createElementVNode("span", _hoisted_3, toDisplayString(e.child), 1)], 10, _hoisted_2))), 128))]), createElementVNode("div", { class: "fluekit-action-group cancel-group" }, [createElementVNode("div", {
4254
+ })) : createCommentVNode("", !0), createElementVNode("span", _hoisted_3, toDisplayString(e.child), 1)], 10, _hoisted_2$1))), 128))]), createElementVNode("div", { class: "fluekit-action-group cancel-group" }, [createElementVNode("div", {
4103
4255
  class: "fluekit-context-menu-action cancel-action",
4104
4256
  onClick: P
4105
4257
  }, [...R[2] ||= [createElementVNode("span", { class: "action-text" }, "Cancel", -1)]])])], 4)], 32)) : createCommentVNode("", !0)]),
@@ -4131,122 +4283,67 @@ var MediaQuery_default = /* @__PURE__ */ defineComponent({
4131
4283
  class: "flue-constrained-box"
4132
4284
  }, [renderSlot(e.$slots, "default")], 4));
4133
4285
  }
4134
- }), Color = class e {
4135
- _r;
4136
- _g;
4137
- _b;
4138
- _a;
4139
- constructor(e) {
4140
- this._a = e >> 24 & 255, this._r = e >> 16 & 255, this._g = e >> 8 & 255, this._b = e & 255;
4141
- }
4142
- static fromARGB(C, w, T, E) {
4143
- return new e(((C & 255) << 24 | (w & 255) << 16 | (T & 255) << 8 | E & 255) >>> 0);
4144
- }
4145
- static fromRGBO(C, w, T, E) {
4146
- let D = Math.round(E * 255);
4147
- return e.fromRGB(C, w, T, D);
4148
- }
4149
- static fromRGB(C, w, T, E = 255) {
4150
- return e.fromARGB(E, C, w, T);
4151
- }
4152
- static fromString(C) {
4153
- if (!C || C === "transparent") return new e(0);
4154
- if (C.startsWith("#")) {
4155
- let w = C.slice(1);
4156
- if (w.length === 3 && (w = w.split("").map((e) => e + e).join("")), w.length === 6) return new e(4278190080 | parseInt(w, 16));
4157
- if (w.length === 8) {
4158
- let C = parseInt(w.substring(0, 2), 16), T = parseInt(w.substring(2, 4), 16), E = parseInt(w.substring(4, 6), 16), D = parseInt(w.substring(6, 8), 16);
4159
- return e.fromARGB(D, C, T, E);
4160
- }
4161
- }
4162
- if (C.startsWith("rgb")) {
4163
- let w = C.match(/[\d.]+/g);
4164
- if (w && w.length >= 3) {
4165
- let C = parseFloat(w[0]), T = parseFloat(w[1]), E = parseFloat(w[2]), D = w[3] === void 0 ? 1 : parseFloat(w[3]);
4166
- return e.fromRGBO(C, T, E, D);
4286
+ }), sharedCanvas = null, sharedCtx = null, getCanvasContext = () => sharedCtx || (typeof OffscreenCanvas < "u" ? (sharedCanvas = new OffscreenCanvas(1, 1), sharedCtx = sharedCanvas.getContext("2d", { willReadFrequently: !0 })) : (sharedCanvas = document.createElement("canvas"), sharedCtx = sharedCanvas.getContext("2d", { willReadFrequently: !0 })), sharedCtx);
4287
+ async function extractDominantColor(e) {
4288
+ return new Promise((C, w) => {
4289
+ let T = new Image();
4290
+ T.crossOrigin = "Anonymous", T.src = e, T.onload = () => {
4291
+ try {
4292
+ let e = getCanvasContext();
4293
+ if (!e || !sharedCanvas) {
4294
+ C(null);
4295
+ return;
4296
+ }
4297
+ let w = Math.min(100 / T.width, 100 / T.height), E = Math.floor(T.width * w) || 1, D = Math.floor(T.height * w) || 1;
4298
+ sharedCanvas.width = E, sharedCanvas.height = D, e.clearRect(0, 0, E, D), e.drawImage(T, 0, 0, E, D);
4299
+ let O = e.getImageData(0, 0, E, D).data, k = {}, A = 0, j = "#000000";
4300
+ for (let e = 0; e < O.length; e += 4) {
4301
+ let C = O[e], w = O[e + 1], T = O[e + 2];
4302
+ if (O[e + 3] < 128) continue;
4303
+ let E = Math.round(C / 5) * 5, D = Math.round(w / 5) * 5, M = Math.round(T / 5) * 5, N = `${E},${D},${M}`;
4304
+ k[N] = (k[N] || 0) + 1, k[N] > A && (A = k[N], j = `rgb(${E},${D},${M})`);
4305
+ }
4306
+ C(Color.fromString(j));
4307
+ } catch (e) {
4308
+ console.warn("[ImageUtils] Failed to extract color:", e), C(null);
4167
4309
  }
4168
- }
4169
- return console.warn(`[Color] Could not parse color string: ${C}`), new e(0);
4170
- }
4171
- get alpha() {
4172
- return this._a;
4173
- }
4174
- get opacity() {
4175
- return this._a / 255;
4176
- }
4177
- get red() {
4178
- return this._r;
4179
- }
4180
- get green() {
4181
- return this._g;
4182
- }
4183
- get blue() {
4184
- return this._b;
4185
- }
4186
- withAlpha(C) {
4187
- return e.fromARGB(C, this._r, this._g, this._b);
4188
- }
4189
- withOpacity(C) {
4190
- return e.fromRGBO(this._r, this._g, this._b, C);
4191
- }
4192
- withRed(C) {
4193
- return e.fromARGB(this._a, C, this._g, this._b);
4194
- }
4195
- withGreen(C) {
4196
- return e.fromARGB(this._a, this._r, C, this._b);
4197
- }
4198
- withBlue(C) {
4199
- return e.fromARGB(this._a, this._r, this._g, C);
4200
- }
4201
- computeLuminance() {
4202
- let e = this._r / 255, C = this._g / 255, w = this._b / 255, T = e <= .03928 ? e / 12.92 : ((e + .055) / 1.055) ** 2.4, E = C <= .03928 ? C / 12.92 : ((C + .055) / 1.055) ** 2.4, D = w <= .03928 ? w / 12.92 : ((w + .055) / 1.055) ** 2.4;
4203
- return .2126 * T + .7152 * E + .0722 * D;
4204
- }
4205
- toString() {
4206
- if (this._a === 255) return `rgb(${this._r}, ${this._g}, ${this._b})`;
4207
- let e = Number((this._a / 255).toFixed(3));
4208
- return `rgba(${this._r}, ${this._g}, ${this._b}, ${e})`;
4209
- }
4210
- get value() {
4211
- return ((this._a & 255) << 24 | (this._r & 255) << 16 | (this._g & 255) << 8 | this._b & 255) >>> 0;
4212
- }
4213
- };
4214
- function withOpacity(e, C) {
4215
- return (e instanceof Color ? e : Color.fromString(e)).withOpacity(C).toString();
4216
- }
4217
- function withAlpha(e, C) {
4218
- return (e instanceof Color ? e : Color.fromString(e)).withAlpha(C).toString();
4219
- }
4220
- function withRed(e, C) {
4221
- return (e instanceof Color ? e : Color.fromString(e)).withRed(C).toString();
4222
- }
4223
- function withGreen(e, C) {
4224
- return (e instanceof Color ? e : Color.fromString(e)).withGreen(C).toString();
4225
- }
4226
- function withBlue(e, C) {
4227
- return (e instanceof Color ? e : Color.fromString(e)).withBlue(C).toString();
4228
- }
4229
- function computeLuminance(e) {
4230
- return (e instanceof Color ? e : Color.fromString(e)).computeLuminance();
4231
- }
4232
- function lighten(e, C) {
4233
- let w = e instanceof Color ? e : Color.fromString(e), T = Math.max(0, Math.min(1, C)), E = Math.round(w.red + (255 - w.red) * T), D = Math.round(w.green + (255 - w.green) * T), O = Math.round(w.blue + (255 - w.blue) * T);
4234
- return Color.fromARGB(w.alpha, E, D, O).toString();
4235
- }
4236
- function darken(e, C) {
4237
- let w = e instanceof Color ? e : Color.fromString(e), T = Math.max(0, Math.min(1, C)), E = Math.round(w.red * (1 - T)), D = Math.round(w.green * (1 - T)), O = Math.round(w.blue * (1 - T));
4238
- return Color.fromARGB(w.alpha, E, D, O).toString();
4310
+ }, T.onerror = () => {
4311
+ console.warn("[ImageUtils] Failed to load image:", e), C(null);
4312
+ };
4313
+ });
4239
4314
  }
4240
- const ColorUtils = {
4241
- withOpacity,
4242
- withAlpha,
4243
- withRed,
4244
- withGreen,
4245
- withBlue,
4246
- lighten,
4247
- darken,
4248
- computeLuminance
4249
- }, Colors = {
4315
+ const ImageUtils = { extractDominantColor };
4316
+ var ImageColorBackground_default = /* @__PURE__ */ __plugin_vue_export_helper_default(/* @__PURE__ */ defineComponent({
4317
+ __name: "ImageColorBackground",
4318
+ props: {
4319
+ src: {},
4320
+ width: {},
4321
+ height: {},
4322
+ opacity: { default: 1 }
4323
+ },
4324
+ setup(e) {
4325
+ let C = e, w = ref(null), T = ref(!0), E = computed(() => ({
4326
+ width: typeof C.width == "number" ? `${C.width}px` : C.width,
4327
+ height: typeof C.height == "number" ? `${C.height}px` : C.height,
4328
+ backgroundColor: w.value ? w.value.withOpacity(C.opacity).toString() : "transparent",
4329
+ transition: "background-color 0.5s ease"
4330
+ })), D = async (e) => {
4331
+ T.value = !0, w.value = null;
4332
+ let C = await ImageUtils.extractDominantColor(e);
4333
+ C && (w.value = C), T.value = !1;
4334
+ };
4335
+ return watch(() => C.src, (e) => {
4336
+ e && D(e);
4337
+ }, { immediate: !0 }), (e, C) => (openBlock(), createElementBlock("div", {
4338
+ class: "flue-image-color-background",
4339
+ style: normalizeStyle(E.value)
4340
+ }, [renderSlot(e.$slots, "default", {
4341
+ color: w.value,
4342
+ isLoading: T.value
4343
+ }, void 0, !0)], 4));
4344
+ }
4345
+ }), [["__scopeId", "data-v-de3ea6be"]]);
4346
+ const Colors = {
4250
4347
  withOpacity: (e, C) => (typeof e == "string" ? Color.fromString(e) : e).withOpacity(C),
4251
4348
  withAlpha: (e, C) => (typeof e == "string" ? Color.fromString(e) : e).withAlpha(C),
4252
4349
  withRed: (e, C) => (typeof e == "string" ? Color.fromString(e) : e).withRed(C),
@@ -4560,52 +4657,102 @@ const ColorUtils = {
4560
4657
  blueGrey700: Color.fromString("#455A64"),
4561
4658
  blueGrey800: Color.fromString("#37474F"),
4562
4659
  blueGrey900: Color.fromString("#263238")
4563
- }, CupertinoColors = {
4564
- withOpacity: (e, C) => (typeof e == "string" ? Color.fromString(e) : e).withOpacity(C),
4565
- withAlpha: (e, C) => (typeof e == "string" ? Color.fromString(e) : e).withAlpha(C),
4566
- withRed: (e, C) => (typeof e == "string" ? Color.fromString(e) : e).withRed(C),
4567
- withGreen: (e, C) => (typeof e == "string" ? Color.fromString(e) : e).withGreen(C),
4568
- withBlue: (e, C) => (typeof e == "string" ? Color.fromString(e) : e).withBlue(C),
4569
- computeLuminance: (e) => (typeof e == "string" ? Color.fromString(e) : e).computeLuminance(),
4570
- lighten: (e, C) => Color.fromString(typeof e == "string" ? e : e.toString()),
4571
- darken: (e, C) => Color.fromString(typeof e == "string" ? e : e.toString()),
4572
- activeBlue: Color.fromString("#007AFF"),
4573
- activeGreen: Color.fromString("#34C759"),
4574
- activeOrange: Color.fromString("#FF9500"),
4575
- white: Color.fromString("#FFFFFF"),
4576
- black: Color.fromString("#000000"),
4577
- lightBackgroundGray: Color.fromString("#EFEFF4"),
4578
- extraLightBackgroundGray: Color.fromString("#EFEFF4"),
4579
- darkBackgroundGray: Color.fromString("#171717"),
4580
- label: Color.fromString("#000000"),
4581
- secondaryLabel: Color.fromString("rgba(60, 60, 67, 0.60)"),
4582
- tertiaryLabel: Color.fromString("rgba(60, 60, 67, 0.30)"),
4583
- quaternaryLabel: Color.fromString("rgba(60, 60, 67, 0.18)"),
4584
- systemBlue: Color.fromString("#007AFF"),
4585
- systemGreen: Color.fromString("#34C759"),
4586
- systemIndigo: Color.fromString("#5856D6"),
4587
- systemOrange: Color.fromString("#FF9500"),
4588
- systemPink: Color.fromString("#FF2D55"),
4589
- systemPurple: Color.fromString("#AF52DE"),
4590
- systemRed: Color.fromString("#FF3B30"),
4591
- systemTeal: Color.fromString("#5AC8FA"),
4592
- systemYellow: Color.fromString("#FFCC00"),
4593
- systemGrey: Color.fromString("#8E8E93"),
4594
- systemGrey2: Color.fromString("#AEAEB2"),
4595
- systemGrey3: Color.fromString("#C7C7CC"),
4596
- systemGrey4: Color.fromString("#D1D1D6"),
4597
- systemGrey5: Color.fromString("#E5E5EA"),
4598
- systemGrey6: Color.fromString("#F2F2F7"),
4599
- systemBackground: Color.fromString("#FFFFFF"),
4600
- secondarySystemBackground: Color.fromString("#F2F2F7"),
4601
- tertiarySystemBackground: Color.fromString("#FFFFFF"),
4602
- systemGroupedBackground: Color.fromString("#F2F2F7"),
4603
- secondarySystemGroupedBackground: Color.fromString("#FFFFFF"),
4604
- tertiarySystemGroupedBackground: Color.fromString("#F2F2F7"),
4605
- separator: Color.fromString("rgba(60, 60, 67, 0.29)"),
4606
- opaqueSeparator: Color.fromString("#C6C6C8"),
4607
- link: Color.fromString("#007AFF"),
4608
- destructiveRed: Color.fromString("#FF3B30")
4609
4660
  };
4661
+ var LinearProgressIndicator_default = /* @__PURE__ */ __plugin_vue_export_helper_default(/* @__PURE__ */ defineComponent({
4662
+ __name: "LinearProgressIndicator",
4663
+ props: {
4664
+ value: { default: null },
4665
+ color: { default: () => Colors.blue },
4666
+ backgroundColor: { default: () => Colors.blue.withOpacity(.2) },
4667
+ minHeight: { default: 4 }
4668
+ },
4669
+ setup(e) {
4670
+ let C = e, w = computed(() => ({
4671
+ height: `${C.minHeight}px`,
4672
+ backgroundColor: C.backgroundColor.toString(),
4673
+ overflow: "hidden",
4674
+ position: "relative",
4675
+ width: "100%"
4676
+ })), T = computed(() => {
4677
+ let e = C.value === null, w = C.color.toString();
4678
+ return e ? {
4679
+ backgroundColor: w,
4680
+ height: "100%",
4681
+ width: "100%",
4682
+ animation: "flue-linear-indeterminate 1.8s infinite linear",
4683
+ transformOrigin: "0% 50%"
4684
+ } : {
4685
+ backgroundColor: w,
4686
+ width: `${Math.min(Math.max((C.value || 0) * 100, 0), 100)}%`,
4687
+ height: "100%",
4688
+ transition: "width 0.2s linear"
4689
+ };
4690
+ });
4691
+ return (e, C) => (openBlock(), createElementBlock("div", {
4692
+ class: "flue-linear-progress-indicator",
4693
+ style: normalizeStyle(w.value)
4694
+ }, [createElementVNode("div", {
4695
+ class: "flue-linear-progress-bar",
4696
+ style: normalizeStyle(T.value)
4697
+ }, null, 4)], 4));
4698
+ }
4699
+ }), [["__scopeId", "data-v-66847fc1"]]), _hoisted_1 = ["stroke", "stroke-width"], _hoisted_2 = [
4700
+ "stroke",
4701
+ "stroke-width",
4702
+ "stroke-dasharray",
4703
+ "stroke-dashoffset"
4704
+ ], radius = 18, CircularProgressIndicator_default = /* @__PURE__ */ __plugin_vue_export_helper_default(/* @__PURE__ */ defineComponent({
4705
+ __name: "CircularProgressIndicator",
4706
+ props: {
4707
+ value: { default: null },
4708
+ color: { default: () => Colors.blue },
4709
+ backgroundColor: {},
4710
+ strokeWidth: { default: 4 },
4711
+ size: { default: 36 }
4712
+ },
4713
+ setup(e) {
4714
+ let C = e, w = 2 * Math.PI * radius, T = computed(() => ({
4715
+ width: `${C.size}px`,
4716
+ height: `${C.size}px`,
4717
+ display: "inline-block"
4718
+ })), E = computed(() => C.value === null ? {
4719
+ animation: "flue-circular-rotate 1.4s linear infinite",
4720
+ transformOrigin: "center center",
4721
+ width: "100%",
4722
+ height: "100%"
4723
+ } : {
4724
+ transform: "rotate(-90deg)",
4725
+ width: "100%",
4726
+ height: "100%"
4727
+ }), D = computed(() => `${w} ${w}`), k = computed(() => C.value === null ? 0 : w - Math.min(Math.max(C.value || 0, 0), 1) * w), A = computed(() => C.value === null ? { animation: "flue-circular-dash 1.4s ease-in-out infinite" } : { transition: "stroke-dashoffset 0.3s linear" });
4728
+ return (C, w) => (openBlock(), createElementBlock("div", {
4729
+ class: "flue-circular-progress-indicator",
4730
+ style: normalizeStyle(T.value)
4731
+ }, [(openBlock(), createElementBlock("svg", {
4732
+ viewBox: "0 0 40 40",
4733
+ style: normalizeStyle(E.value)
4734
+ }, [createElementVNode("circle", {
4735
+ class: "flue-circular-progress-track",
4736
+ cx: "20",
4737
+ cy: "20",
4738
+ r: radius,
4739
+ fill: "none",
4740
+ stroke: e.backgroundColor?.toString() || "transparent",
4741
+ "stroke-width": e.strokeWidth
4742
+ }, null, 8, _hoisted_1), createElementVNode("circle", {
4743
+ class: "flue-circular-progress-value",
4744
+ cx: "20",
4745
+ cy: "20",
4746
+ r: radius,
4747
+ fill: "none",
4748
+ stroke: e.color.toString(),
4749
+ "stroke-width": e.strokeWidth,
4750
+ "stroke-linecap": "round",
4751
+ "stroke-dasharray": D.value,
4752
+ "stroke-dashoffset": k.value,
4753
+ style: normalizeStyle(A.value)
4754
+ }, null, 12, _hoisted_2)], 4))], 4));
4755
+ }
4756
+ }), [["__scopeId", "data-v-f3b133b5"]]);
4610
4757
  setTransform(!1);
4611
- export { AlertDialog_default as AlertDialog, Align_default as Align, Alignment, AnimatedContainer_default as AnimatedContainer, AnimatedOpacity_default as AnimatedOpacity, AppBar_default as AppBar, AspectRatio_default as AspectRatio, AssetImage, BlurStyle, Border, BorderRadius, BorderSide, BottomNavigationBar_default as BottomNavigationBar, BottomSheet_default as BottomSheet, Box_default as Box, BoxAlignment, BoxConstraints, BoxDecoration, BoxFit, BoxShadow, BoxShape, Builder_default as Builder, Button_default as Button, ButtonStyle, Card_default as Card, Center_default as Center, Checkbox_default as Checkbox, CheckboxGroup_default as CheckboxGroup, Clip, ClipOval_default as ClipOval, ClipRRect_default as ClipRRect, Color, ColorUtils, Colors, Column_default as Column, ConstrainedBox_default as ConstrainedBox, Container_default as Container, CrossAxisAlignment, CupertinoActivityIndicator_default as CupertinoActivityIndicator, CupertinoColors, CupertinoContextMenu_default as CupertinoContextMenu, CupertinoNavigationBar_default as CupertinoNavigationBar, CupertinoPageScaffold_default as CupertinoPageScaffold, DecorationImage, Divider_default as Divider, EdgeInsets, Expanded_default as Expanded, Fixed_default as Fixed, FlexBox_default as FlexBox, FontStyle, FontWeight, GestureDetector_default as GestureDetector, GridView_default as GridView, Icon_default as Icon, IgnorePointer_default as IgnorePointer, Image_default as Image, InkWell_default as InkWell, LayoutBuilder_default as LayoutBuilder, LinearGradient, ListTile_default as ListTile, ListView_default as ListView, MainAxisAlignment, Matrix4, MediaQuery_default as MediaQuery, MediaQueryKey, MemoryImage, NetworkImage, Opacity_default as Opacity, Orientation, OutlineInputBorder, Padding_default as Padding, Positioned_default as Positioned, RadialGradient, Radio_default as Radio, RadioGroup_default as RadioGroup, RadioListTile_default as RadioListTile, RangeSlider_default as RangeSlider, Row_default as Row, SafeArea_default as SafeArea, Scaffold_default as Scaffold, ScrollView_default as ScrollView, SegmentedControl_default as SegmentedControl, Size, SizedBox_default as SizedBox, Slider_default as Slider, SnackBar, Spacer_default as Spacer, Stack_default as Stack, StackFit, Sticky_default as Sticky, Switch_default as Switch, Text_default as Text, TextAlign, TextArea_default as TextArea, TextBaseline, TextDecoration, TextDecorationStyle, TextDirection, TextField_default as TextField, TextOverflow, TextStyle, TileMode, Transform_default as Transform, UnderlineInputBorder, Wrap_default as Wrap, borderRadiusToStyle, borderSideToStyle, borderToStyle, boxConstraintsToStyle, boxDecorationToStyle, boxShadowToCSS, buttonStyleToStyle, computeLuminance, createAssetImage, darken, decorationImageToStyle, edgeInsetsToStyle, isBorderRadius, isBorderSide, isBorders, isBoxConstraints, isBoxDecoration, isBoxShadow, isEdgeInsets, isImageProvider, isTextStyle, lighten, marginToStyle, matrix4ToCSSStyle, normalizeSrc, paddingToStyle, px2vw, setAssetBaseURL, setBaseUrl, setDefaultVW, setTransform, sizeToStyle, toCSSStyle as textStyleToCSSStyle, toCSSStyle, useMediaQuery, withAlpha, withBlue, withGreen, withOpacity, withRed };
4758
+ export { AlertDialog_default as AlertDialog, Align_default as Align, Alignment, AnimatedContainer_default as AnimatedContainer, AnimatedOpacity_default as AnimatedOpacity, AppBar_default as AppBar, AspectRatio_default as AspectRatio, AssetImage, BlurStyle, Border, BorderRadius, BorderSide, BottomNavigationBar_default as BottomNavigationBar, BottomSheet_default as BottomSheet, Box_default as Box, BoxAlignment, BoxConstraints, BoxDecoration, BoxFit, BoxShadow, BoxShape, Builder_default as Builder, Button_default as Button, ButtonStyle, Card_default as Card, Center_default as Center, Checkbox_default as Checkbox, CheckboxGroup_default as CheckboxGroup, CircularProgressIndicator_default as CircularProgressIndicator, Clip, ClipOval_default as ClipOval, ClipRRect_default as ClipRRect, Color, ColorUtils, Colors, Column_default as Column, ConstrainedBox_default as ConstrainedBox, Container_default as Container, CrossAxisAlignment, CupertinoActivityIndicator_default as CupertinoActivityIndicator, CupertinoColors, CupertinoContextMenu_default as CupertinoContextMenu, CupertinoNavigationBar_default as CupertinoNavigationBar, CupertinoPageScaffold_default as CupertinoPageScaffold, DecorationImage, Divider_default as Divider, EdgeInsets, Expanded_default as Expanded, Fixed_default as Fixed, FlexBox_default as FlexBox, FontStyle, FontWeight, GestureDetector_default as GestureDetector, GridView_default as GridView, Icon_default as Icon, IgnorePointer_default as IgnorePointer, Image_default as Image, ImageColorBackground_default as ImageColorBackground, ImageUtils, InkWell_default as InkWell, LayoutBuilder_default as LayoutBuilder, LinearGradient, LinearProgressIndicator_default as LinearProgressIndicator, ListTile_default as ListTile, ListView_default as ListView, MainAxisAlignment, Matrix4, MediaQuery_default as MediaQuery, MediaQueryKey, MemoryImage, NetworkImage, Opacity_default as Opacity, Orientation, OutlineInputBorder, Padding_default as Padding, Positioned_default as Positioned, RadialGradient, Radio_default as Radio, RadioGroup_default as RadioGroup, RadioListTile_default as RadioListTile, RangeSlider_default as RangeSlider, Row_default as Row, SafeArea_default as SafeArea, Scaffold_default as Scaffold, ScrollView_default as ScrollView, SegmentedControl_default as SegmentedControl, Size, SizedBox_default as SizedBox, Slider_default as Slider, SnackBar, Spacer_default as Spacer, Stack_default as Stack, StackFit, Sticky_default as Sticky, Switch_default as Switch, Text_default as Text, TextAlign, TextArea_default as TextArea, TextBaseline, TextDecoration, TextDecorationStyle, TextDirection, TextField_default as TextField, TextOverflow, TextStyle, TileMode, Transform_default as Transform, UnderlineInputBorder, Wrap_default as Wrap, borderRadiusToStyle, borderSideToStyle, borderToStyle, boxConstraintsToStyle, boxDecorationToStyle, boxShadowToCSS, buttonStyleToStyle, computeLuminance, createAssetImage, darken, decorationImageToStyle, edgeInsetsToStyle, extractDominantColor, isBorderRadius, isBorderSide, isBorders, isBoxConstraints, isBoxDecoration, isBoxShadow, isEdgeInsets, isImageProvider, isTextStyle, lighten, marginToStyle, matrix4ToCSSStyle, normalizeSrc, paddingToStyle, px2vw, setAssetBaseURL, setBaseUrl, setDefaultVW, setTransform, sizeToStyle, toCSSStyle as textStyleToCSSStyle, toCSSStyle, useMediaQuery, withAlpha, withBlue, withGreen, withOpacity, withRed };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "fluekit",
3
- "version": "1.7.0",
3
+ "version": "2.0.0",
4
4
  "description": "A Flutter-style Layout UI kit for Vue",
5
5
  "homepage": "https://fi2zz.github.io/fluekit/",
6
6
  "repository": {