apptify 0.6.2 → 0.7.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (131) hide show
  1. package/README.md +1 -1
  2. package/THIRD_PARTY_LICENSES.txt +23 -0
  3. package/dist/apptify.css +1 -1
  4. package/dist/apptify.js +2395 -2451
  5. package/dist/components/AppleCard.vue.d.ts +1 -1
  6. package/dist/components/button.d.ts +3 -3
  7. package/dist/components/content.d.ts +81 -20
  8. package/dist/components/forms.d.ts +2 -2
  9. package/dist/components/foundation.d.ts +136 -14
  10. package/dist/components/mobile-image-viewer.d.ts +35 -12
  11. package/dist/components/navibar.d.ts +2 -2
  12. package/dist/components/overlays.d.ts +10 -59
  13. package/dist/components/scrollbar.d.ts +88 -0
  14. package/dist/components/speed-dial.d.ts +157 -0
  15. package/dist/core/context.d.ts +11 -0
  16. package/dist/core/device.d.ts +2 -0
  17. package/dist/core/image-gallery-motion.d.ts +2 -1
  18. package/dist/core/image-motion.d.ts +1 -1
  19. package/dist/core/layers.d.ts +1 -0
  20. package/dist/core/motion-driver.d.ts +40 -0
  21. package/dist/core/motion.d.ts +1 -1
  22. package/dist/core/ripple.d.ts +16 -0
  23. package/dist/core/scroll-motion.d.ts +6 -0
  24. package/dist/core/scrollbar.d.ts +14 -0
  25. package/dist/core/speed-dial.d.ts +21 -0
  26. package/dist/index.d.ts +240 -29
  27. package/docs/COMPONENTS.md +11 -7
  28. package/package.json +5 -7
  29. package/templates/playground/README.md +1 -1
  30. package/templates/playground/package.json +1 -2
  31. package/templates/playground/source-snapshot.json +300 -67
  32. package/templates/playground/src/App.vue +1 -0
  33. package/templates/playground/src/ComponentDemo.vue +30 -21
  34. package/templates/playground/src/catalog.ts +70 -65
  35. package/templates/playground/src/components/ComponentIndex.vue +10 -14
  36. package/templates/playground/src/components/MasonryFeed.vue +52 -0
  37. package/templates/playground/src/components/UserMenu.vue +1 -1
  38. package/templates/playground/src/components/forbidden-paper-scene.vue +367 -0
  39. package/templates/playground/src/components/forbidden-paper-story.ts +233 -0
  40. package/templates/playground/src/editor/ComponentPlayground.vue +91 -0
  41. package/templates/playground/src/editor/ConfigurableEditor.vue +1 -1
  42. package/templates/playground/src/editor/apple-input-source.ts +1 -1
  43. package/templates/playground/src/editor/component-metadata.ts +72 -0
  44. package/templates/playground/src/editor/component-playground.ts +163 -0
  45. package/templates/playground/src/editor/contract.ts +1 -1
  46. package/templates/playground/src/editor/documents.ts +11 -2
  47. package/templates/playground/src/editor/handbook.ts +22 -0
  48. package/templates/playground/src/editor/handbooks/apple-accordion.ts +66 -0
  49. package/templates/playground/src/editor/handbooks/apple-action-sheet.ts +72 -0
  50. package/templates/playground/src/editor/handbooks/apple-alert.ts +67 -0
  51. package/templates/playground/src/editor/handbooks/apple-aside.ts +32 -0
  52. package/templates/playground/src/editor/handbooks/apple-auto-size.ts +32 -0
  53. package/templates/playground/src/editor/handbooks/apple-autocomplete.ts +114 -0
  54. package/templates/playground/src/editor/handbooks/apple-avatar-group.ts +50 -0
  55. package/templates/playground/src/editor/handbooks/apple-avatar.ts +56 -0
  56. package/templates/playground/src/editor/handbooks/apple-back-top.ts +62 -0
  57. package/templates/playground/src/editor/handbooks/apple-badge.ts +62 -0
  58. package/templates/playground/src/editor/handbooks/apple-breadcrumbs.ts +38 -0
  59. package/templates/playground/src/editor/handbooks/apple-button.ts +92 -0
  60. package/templates/playground/src/editor/handbooks/apple-card.ts +112 -0
  61. package/templates/playground/src/editor/handbooks/apple-cascader.ts +102 -0
  62. package/templates/playground/src/editor/handbooks/apple-checkbox.ts +85 -0
  63. package/templates/playground/src/editor/handbooks/apple-color-picker.ts +79 -0
  64. package/templates/playground/src/editor/handbooks/apple-container.ts +26 -0
  65. package/templates/playground/src/editor/handbooks/apple-date-picker.ts +104 -0
  66. package/templates/playground/src/editor/handbooks/apple-dialog.ts +151 -0
  67. package/templates/playground/src/editor/handbooks/apple-divider.ts +38 -0
  68. package/templates/playground/src/editor/handbooks/apple-drawer.ts +151 -0
  69. package/templates/playground/src/editor/handbooks/apple-empty.ts +43 -0
  70. package/templates/playground/src/editor/handbooks/apple-floating-group.ts +51 -0
  71. package/templates/playground/src/editor/handbooks/apple-form-field.ts +69 -0
  72. package/templates/playground/src/editor/handbooks/apple-form.ts +76 -0
  73. package/templates/playground/src/editor/handbooks/apple-grid.ts +32 -0
  74. package/templates/playground/src/editor/handbooks/apple-image.ts +122 -0
  75. package/templates/playground/src/editor/handbooks/apple-infinite-scroll.ts +73 -0
  76. package/templates/playground/src/editor/handbooks/apple-link.ts +68 -0
  77. package/templates/playground/src/editor/handbooks/apple-list.ts +67 -0
  78. package/templates/playground/src/editor/handbooks/apple-menu.ts +72 -0
  79. package/templates/playground/src/editor/handbooks/apple-navibar.ts +100 -0
  80. package/templates/playground/src/editor/handbooks/apple-otp-input.ts +108 -0
  81. package/templates/playground/src/editor/handbooks/apple-overlay-host.ts +13 -0
  82. package/templates/playground/src/editor/handbooks/apple-pagination.ts +61 -0
  83. package/templates/playground/src/editor/handbooks/apple-popover.ts +112 -0
  84. package/templates/playground/src/editor/handbooks/apple-progress.ts +56 -0
  85. package/templates/playground/src/editor/handbooks/apple-provider.ts +32 -0
  86. package/templates/playground/src/editor/handbooks/apple-pull-refresh.ts +61 -0
  87. package/templates/playground/src/editor/handbooks/apple-radio-group.ts +91 -0
  88. package/templates/playground/src/editor/handbooks/apple-rate.ts +97 -0
  89. package/templates/playground/src/editor/handbooks/apple-scroll-bar.ts +15 -0
  90. package/templates/playground/src/editor/handbooks/apple-search.ts +49 -0
  91. package/templates/playground/src/editor/handbooks/apple-segmented-control.ts +85 -0
  92. package/templates/playground/src/editor/handbooks/apple-select.ts +91 -0
  93. package/templates/playground/src/editor/handbooks/apple-sheet.ts +151 -0
  94. package/templates/playground/src/editor/handbooks/apple-skeleton.ts +74 -0
  95. package/templates/playground/src/editor/handbooks/apple-slider.ts +103 -0
  96. package/templates/playground/src/editor/handbooks/apple-snackbar.ts +89 -0
  97. package/templates/playground/src/editor/handbooks/apple-speed-dial-item.ts +16 -0
  98. package/templates/playground/src/editor/handbooks/apple-speed-dial.ts +13 -0
  99. package/templates/playground/src/editor/handbooks/apple-spinner.ts +38 -0
  100. package/templates/playground/src/editor/handbooks/apple-stack.ts +44 -0
  101. package/templates/playground/src/editor/handbooks/apple-statistic.ts +69 -0
  102. package/templates/playground/src/editor/handbooks/apple-stepper.ts +91 -0
  103. package/templates/playground/src/editor/handbooks/apple-steps.ts +61 -0
  104. package/templates/playground/src/editor/handbooks/apple-switch.ts +79 -0
  105. package/templates/playground/src/editor/handbooks/apple-tab-bar.ts +66 -0
  106. package/templates/playground/src/editor/handbooks/apple-table.ts +176 -0
  107. package/templates/playground/src/editor/handbooks/apple-tabs.ts +72 -0
  108. package/templates/playground/src/editor/handbooks/apple-tag.ts +56 -0
  109. package/templates/playground/src/editor/handbooks/apple-textarea.ts +109 -0
  110. package/templates/playground/src/editor/handbooks/apple-timeline.ts +44 -0
  111. package/templates/playground/src/editor/handbooks/apple-tooltip.ts +45 -0
  112. package/templates/playground/src/editor/handbooks/apple-transition.ts +44 -0
  113. package/templates/playground/src/editor/handbooks/apple-tree.ts +84 -0
  114. package/templates/playground/src/editor/handbooks/apple-upload.ts +126 -0
  115. package/templates/playground/src/editor/playground-examples.ts +105 -0
  116. package/templates/playground/src/images.ts +3 -0
  117. package/templates/playground/src/router/index.ts +19 -2
  118. package/templates/playground/src/style.css +4 -4
  119. package/templates/playground/src/views/403.vue +65 -0
  120. package/templates/playground/src/views/component-docs/[component].vue +11 -14
  121. package/templates/playground/src/views/components.vue +11 -41
  122. package/templates/playground/src/views/index.vue +3 -1
  123. package/templates/playground/src/views/settings.vue +5 -2
  124. package/templates/playground/tooling/playground-editor.mjs +4 -3
  125. package/tooling/playground-editor.mjs +4 -3
  126. package/tooling/prepare-playground.mjs +3 -3
  127. package/tooling/test-playground-package.mjs +10 -0
  128. package/dist/components/gallery-scrollbar.d.ts +0 -46
  129. package/dist/core/desktop-image-enter.d.ts +0 -6
  130. package/dist/core/desktop-image-return.d.ts +0 -1
  131. package/templates/playground/src/components/DirectoryDialog.vue +0 -20
@@ -349,7 +349,18 @@ export declare const AppleProvider: import("vue").DefineComponent<import("vue").
349
349
  clear(): void;
350
350
  };
351
351
  portalTarget: import("vue").Ref<HTMLElement | undefined, HTMLElement | undefined>;
352
+ speedDial: import("vue").Raw<{
353
+ entries: import("vue").ShallowRef<import("../core/speed-dial").SpeedDialEntry[], import("../core/speed-dial").SpeedDialEntry[]>;
354
+ host: import("vue").Ref<string | undefined, string | undefined>;
355
+ hostDepth: import("vue").Ref<number, number>;
356
+ mobile: import("vue").Ref<boolean, boolean>;
357
+ open: import("vue").Ref<boolean, boolean>;
358
+ activeDirectory: import("vue").Ref<string | undefined, string | undefined>;
359
+ register(entry: import("../core/speed-dial").SpeedDialEntry): void;
360
+ unregister(id: string): void;
361
+ }>;
352
362
  isTouchDevice: Readonly<import("vue").Ref<boolean, boolean>>;
363
+ isVerticalScreen: Readonly<import("vue").Ref<boolean, boolean>>;
353
364
  dialog: <T = unknown>(settings: Omit<import("..").OverlayOptions, "kind">) => import("..").OverlayHandle<T>;
354
365
  notify: (message: string, settings?: Omit<import("..").OverlayOptions, "kind" | "message">) => import("..").OverlayHandle<unknown>;
355
366
  sendMessage: <T = unknown>(channel: string, payload?: T) => unknown[];
@@ -696,7 +707,18 @@ export declare const AppleProvider: import("vue").DefineComponent<import("vue").
696
707
  clear(): void;
697
708
  };
698
709
  portalTarget: import("vue").Ref<HTMLElement | undefined, HTMLElement | undefined>;
710
+ speedDial: import("vue").Raw<{
711
+ entries: import("vue").ShallowRef<import("../core/speed-dial").SpeedDialEntry[], import("../core/speed-dial").SpeedDialEntry[]>;
712
+ host: import("vue").Ref<string | undefined, string | undefined>;
713
+ hostDepth: import("vue").Ref<number, number>;
714
+ mobile: import("vue").Ref<boolean, boolean>;
715
+ open: import("vue").Ref<boolean, boolean>;
716
+ activeDirectory: import("vue").Ref<string | undefined, string | undefined>;
717
+ register(entry: import("../core/speed-dial").SpeedDialEntry): void;
718
+ unregister(id: string): void;
719
+ }>;
699
720
  isTouchDevice: Readonly<import("vue").Ref<boolean, boolean>>;
721
+ isVerticalScreen: Readonly<import("vue").Ref<boolean, boolean>>;
700
722
  dialog: <T = unknown>(settings: Omit<import("..").OverlayOptions, "kind">) => import("..").OverlayHandle<T>;
701
723
  notify: (message: string, settings?: Omit<import("..").OverlayOptions, "kind" | "message">) => import("..").OverlayHandle<unknown>;
702
724
  sendMessage: <T = unknown>(channel: string, payload?: T) => unknown[];
@@ -705,6 +727,7 @@ export declare const AppleProvider: import("vue").DefineComponent<import("vue").
705
727
  detach(): void;
706
728
  dispose(): void;
707
729
  }>>;
730
+ disposeScrollBars: (() => void) | null;
708
731
  }, {
709
732
  inheritedTheme(): string | undefined;
710
733
  inheritedMotion(): Motion | undefined;
@@ -1051,7 +1074,18 @@ export declare const AppleProvider: import("vue").DefineComponent<import("vue").
1051
1074
  clear(): void;
1052
1075
  };
1053
1076
  portalTarget: import("vue").Ref<HTMLElement | undefined, HTMLElement | undefined>;
1077
+ speedDial: import("vue").Raw<{
1078
+ entries: import("vue").ShallowRef<import("../core/speed-dial").SpeedDialEntry[], import("../core/speed-dial").SpeedDialEntry[]>;
1079
+ host: import("vue").Ref<string | undefined, string | undefined>;
1080
+ hostDepth: import("vue").Ref<number, number>;
1081
+ mobile: import("vue").Ref<boolean, boolean>;
1082
+ open: import("vue").Ref<boolean, boolean>;
1083
+ activeDirectory: import("vue").Ref<string | undefined, string | undefined>;
1084
+ register(entry: import("../core/speed-dial").SpeedDialEntry): void;
1085
+ unregister(id: string): void;
1086
+ }>;
1054
1087
  isTouchDevice: Readonly<import("vue").Ref<boolean, boolean>>;
1088
+ isVerticalScreen: Readonly<import("vue").Ref<boolean, boolean>>;
1055
1089
  dialog: <T = unknown>(settings: Omit<import("..").OverlayOptions, "kind">) => import("..").OverlayHandle<T>;
1056
1090
  notify: (message: string, settings?: Omit<import("..").OverlayOptions, "kind" | "message">) => import("..").OverlayHandle<unknown>;
1057
1091
  sendMessage: <T = unknown>(channel: string, payload?: T) => unknown[];
@@ -1082,6 +1116,14 @@ export declare const AppleImage: import("vue").DefineComponent<import("vue").Ext
1082
1116
  type: StringConstructor;
1083
1117
  default: string;
1084
1118
  };
1119
+ autoplay: {
1120
+ type: BooleanConstructor;
1121
+ default: boolean;
1122
+ };
1123
+ interval: {
1124
+ type: NumberConstructor;
1125
+ default: number;
1126
+ };
1085
1127
  galleryLayout: {
1086
1128
  type: PropType<"compact" | "tiled" | "tiled-wrap">;
1087
1129
  default: string;
@@ -1109,15 +1151,19 @@ export declare const AppleImage: import("vue").DefineComponent<import("vue").Ext
1109
1151
  };
1110
1152
  }>, {
1111
1153
  uid: string;
1154
+ isVerticalScreen: Readonly<import("vue").Ref<boolean, boolean>>;
1112
1155
  }, {
1113
1156
  open: boolean;
1114
1157
  previewing: boolean;
1115
1158
  failed: boolean;
1116
1159
  loaded: boolean;
1117
1160
  previewIndex: number;
1118
- mobile: boolean;
1119
- viewportQuery: MediaQueryList | null;
1120
1161
  thumbnails: import("vue").Raw<Map<number, HTMLImageElement>>;
1162
+ autoplayTimer: ReturnType<typeof setTimeout> | null;
1163
+ hovered: boolean;
1164
+ focused: boolean;
1165
+ pageHidden: boolean;
1166
+ arrowCenter: number | null;
1121
1167
  galleryLoaded: Record<number, boolean>;
1122
1168
  galleryFailed: Record<number, boolean>;
1123
1169
  gallerySizes: Record<string, PhotoSize>;
@@ -1138,16 +1184,21 @@ export declare const AppleImage: import("vue").DefineComponent<import("vue").Ext
1138
1184
  images(): AppleViewerImage[];
1139
1185
  grouped(): boolean;
1140
1186
  layout(): "compact" | "tiled" | "tiled-wrap";
1187
+ canAutoplay(): boolean;
1141
1188
  }, {
1189
+ stopAutoplay(): void;
1190
+ restartAutoplay(): void;
1191
+ syncVisibility(): void;
1192
+ measureArrows(): void;
1193
+ stepImage(direction: number): void;
1142
1194
  normalizeIndex(value: number): number;
1143
1195
  observeGallery(): void;
1144
1196
  cancelGalleryScroll(): void;
1145
1197
  interruptGalleryScroll(): void;
1146
1198
  galleryWheel(event: WheelEvent): void;
1147
- syncViewport(): void;
1148
1199
  afterPreview(): void;
1149
1200
  origin(index: number, reveal?: boolean): HTMLImageElement | null;
1150
- showImage(index: number): void;
1201
+ showImage(index: number, snap?: string): void;
1151
1202
  scrolled(): void;
1152
1203
  galleryPointerDown(event: PointerEvent): void;
1153
1204
  galleryPointerMove(event: PointerEvent): void;
@@ -1177,6 +1228,14 @@ export declare const AppleImage: import("vue").DefineComponent<import("vue").Ext
1177
1228
  type: StringConstructor;
1178
1229
  default: string;
1179
1230
  };
1231
+ autoplay: {
1232
+ type: BooleanConstructor;
1233
+ default: boolean;
1234
+ };
1235
+ interval: {
1236
+ type: NumberConstructor;
1237
+ default: number;
1238
+ };
1180
1239
  galleryLayout: {
1181
1240
  type: PropType<"compact" | "tiled" | "tiled-wrap">;
1182
1241
  default: string;
@@ -1214,6 +1273,8 @@ export declare const AppleImage: import("vue").DefineComponent<import("vue").Ext
1214
1273
  squared: boolean;
1215
1274
  preview: boolean;
1216
1275
  gallery: AppleImageItem | (string | AppleImageItem)[];
1276
+ autoplay: boolean;
1277
+ interval: number;
1217
1278
  galleryLayout: "compact" | "tiled" | "tiled-wrap";
1218
1279
  galleryShape: "square" | "natural";
1219
1280
  aspectRatio: string | number;
@@ -1675,7 +1736,18 @@ export declare const foundationComponents: {
1675
1736
  clear(): void;
1676
1737
  };
1677
1738
  portalTarget: import("vue").Ref<HTMLElement | undefined, HTMLElement | undefined>;
1739
+ speedDial: import("vue").Raw<{
1740
+ entries: import("vue").ShallowRef<import("../core/speed-dial").SpeedDialEntry[], import("../core/speed-dial").SpeedDialEntry[]>;
1741
+ host: import("vue").Ref<string | undefined, string | undefined>;
1742
+ hostDepth: import("vue").Ref<number, number>;
1743
+ mobile: import("vue").Ref<boolean, boolean>;
1744
+ open: import("vue").Ref<boolean, boolean>;
1745
+ activeDirectory: import("vue").Ref<string | undefined, string | undefined>;
1746
+ register(entry: import("../core/speed-dial").SpeedDialEntry): void;
1747
+ unregister(id: string): void;
1748
+ }>;
1678
1749
  isTouchDevice: Readonly<import("vue").Ref<boolean, boolean>>;
1750
+ isVerticalScreen: Readonly<import("vue").Ref<boolean, boolean>>;
1679
1751
  dialog: <T = unknown>(settings: Omit<import("..").OverlayOptions, "kind">) => import("..").OverlayHandle<T>;
1680
1752
  notify: (message: string, settings?: Omit<import("..").OverlayOptions, "kind" | "message">) => import("..").OverlayHandle<unknown>;
1681
1753
  sendMessage: <T = unknown>(channel: string, payload?: T) => unknown[];
@@ -2022,7 +2094,18 @@ export declare const foundationComponents: {
2022
2094
  clear(): void;
2023
2095
  };
2024
2096
  portalTarget: import("vue").Ref<HTMLElement | undefined, HTMLElement | undefined>;
2097
+ speedDial: import("vue").Raw<{
2098
+ entries: import("vue").ShallowRef<import("../core/speed-dial").SpeedDialEntry[], import("../core/speed-dial").SpeedDialEntry[]>;
2099
+ host: import("vue").Ref<string | undefined, string | undefined>;
2100
+ hostDepth: import("vue").Ref<number, number>;
2101
+ mobile: import("vue").Ref<boolean, boolean>;
2102
+ open: import("vue").Ref<boolean, boolean>;
2103
+ activeDirectory: import("vue").Ref<string | undefined, string | undefined>;
2104
+ register(entry: import("../core/speed-dial").SpeedDialEntry): void;
2105
+ unregister(id: string): void;
2106
+ }>;
2025
2107
  isTouchDevice: Readonly<import("vue").Ref<boolean, boolean>>;
2108
+ isVerticalScreen: Readonly<import("vue").Ref<boolean, boolean>>;
2026
2109
  dialog: <T = unknown>(settings: Omit<import("..").OverlayOptions, "kind">) => import("..").OverlayHandle<T>;
2027
2110
  notify: (message: string, settings?: Omit<import("..").OverlayOptions, "kind" | "message">) => import("..").OverlayHandle<unknown>;
2028
2111
  sendMessage: <T = unknown>(channel: string, payload?: T) => unknown[];
@@ -2031,6 +2114,7 @@ export declare const foundationComponents: {
2031
2114
  detach(): void;
2032
2115
  dispose(): void;
2033
2116
  }>>;
2117
+ disposeScrollBars: (() => void) | null;
2034
2118
  }, {
2035
2119
  inheritedTheme(): string | undefined;
2036
2120
  inheritedMotion(): Motion | undefined;
@@ -2377,7 +2461,18 @@ export declare const foundationComponents: {
2377
2461
  clear(): void;
2378
2462
  };
2379
2463
  portalTarget: import("vue").Ref<HTMLElement | undefined, HTMLElement | undefined>;
2464
+ speedDial: import("vue").Raw<{
2465
+ entries: import("vue").ShallowRef<import("../core/speed-dial").SpeedDialEntry[], import("../core/speed-dial").SpeedDialEntry[]>;
2466
+ host: import("vue").Ref<string | undefined, string | undefined>;
2467
+ hostDepth: import("vue").Ref<number, number>;
2468
+ mobile: import("vue").Ref<boolean, boolean>;
2469
+ open: import("vue").Ref<boolean, boolean>;
2470
+ activeDirectory: import("vue").Ref<string | undefined, string | undefined>;
2471
+ register(entry: import("../core/speed-dial").SpeedDialEntry): void;
2472
+ unregister(id: string): void;
2473
+ }>;
2380
2474
  isTouchDevice: Readonly<import("vue").Ref<boolean, boolean>>;
2475
+ isVerticalScreen: Readonly<import("vue").Ref<boolean, boolean>>;
2381
2476
  dialog: <T = unknown>(settings: Omit<import("..").OverlayOptions, "kind">) => import("..").OverlayHandle<T>;
2382
2477
  notify: (message: string, settings?: Omit<import("..").OverlayOptions, "kind" | "message">) => import("..").OverlayHandle<unknown>;
2383
2478
  sendMessage: <T = unknown>(channel: string, payload?: T) => unknown[];
@@ -2389,7 +2484,7 @@ export declare const foundationComponents: {
2389
2484
  }, true, {}, any>;
2390
2485
  AppleButton: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
2391
2486
  variant: {
2392
- type: PropType<"primary" | "secondary" | "outline" | "danger">;
2487
+ type: PropType<"primary" | "secondary" | "outline" | "borderless" | "danger">;
2393
2488
  default: string;
2394
2489
  };
2395
2490
  size: {
@@ -2416,7 +2511,7 @@ export declare const foundationComponents: {
2416
2511
  };
2417
2512
  }>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "click"[], "click", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
2418
2513
  variant: {
2419
- type: PropType<"primary" | "secondary" | "outline" | "danger">;
2514
+ type: PropType<"primary" | "secondary" | "outline" | "borderless" | "danger">;
2420
2515
  default: string;
2421
2516
  };
2422
2517
  size: {
@@ -2448,7 +2543,7 @@ export declare const foundationComponents: {
2448
2543
  disabled: boolean;
2449
2544
  iconOnly: boolean;
2450
2545
  loading: boolean;
2451
- variant: "secondary" | "danger" | "primary" | "outline";
2546
+ variant: "secondary" | "danger" | "primary" | "outline" | "borderless";
2452
2547
  ripple: boolean;
2453
2548
  type: "reset" | "submit" | "button";
2454
2549
  motion: import("..").ComponentMotion;
@@ -2512,7 +2607,7 @@ export declare const foundationComponents: {
2512
2607
  }>> & Readonly<{}>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, import("vue").PublicProps, {
2513
2608
  shadow: "none" | "static" | "normal" | "focused";
2514
2609
  motion: import("..").ComponentMotion;
2515
- zoom: "none" | "big" | "small";
2610
+ zoom: "none" | "small" | "big";
2516
2611
  imageAlt: string;
2517
2612
  }, true, {}, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, {}, any, import("vue").ComponentProvideOptions, {
2518
2613
  P: {};
@@ -2549,7 +2644,7 @@ export declare const foundationComponents: {
2549
2644
  }>> & Readonly<{}>, {}, {}, {}, {}, {
2550
2645
  shadow: "none" | "static" | "normal" | "focused";
2551
2646
  motion: import("..").ComponentMotion;
2552
- zoom: "none" | "big" | "small";
2647
+ zoom: "none" | "small" | "big";
2553
2648
  imageAlt: string;
2554
2649
  }>;
2555
2650
  __isFragment?: never;
@@ -2583,7 +2678,7 @@ export declare const foundationComponents: {
2583
2678
  }>> & Readonly<{}>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, {
2584
2679
  shadow: "none" | "static" | "normal" | "focused";
2585
2680
  motion: import("..").ComponentMotion;
2586
- zoom: "none" | "big" | "small";
2681
+ zoom: "none" | "small" | "big";
2587
2682
  imageAlt: string;
2588
2683
  }, {}, string, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, import("vue").ComponentProvideOptions> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & (new () => {
2589
2684
  $slots: {
@@ -2613,6 +2708,14 @@ export declare const foundationComponents: {
2613
2708
  type: StringConstructor;
2614
2709
  default: string;
2615
2710
  };
2711
+ autoplay: {
2712
+ type: BooleanConstructor;
2713
+ default: boolean;
2714
+ };
2715
+ interval: {
2716
+ type: NumberConstructor;
2717
+ default: number;
2718
+ };
2616
2719
  galleryLayout: {
2617
2720
  type: PropType<"compact" | "tiled" | "tiled-wrap">;
2618
2721
  default: string;
@@ -2640,15 +2743,19 @@ export declare const foundationComponents: {
2640
2743
  };
2641
2744
  }>, {
2642
2745
  uid: string;
2746
+ isVerticalScreen: Readonly<import("vue").Ref<boolean, boolean>>;
2643
2747
  }, {
2644
2748
  open: boolean;
2645
2749
  previewing: boolean;
2646
2750
  failed: boolean;
2647
2751
  loaded: boolean;
2648
2752
  previewIndex: number;
2649
- mobile: boolean;
2650
- viewportQuery: MediaQueryList | null;
2651
2753
  thumbnails: import("vue").Raw<Map<number, HTMLImageElement>>;
2754
+ autoplayTimer: ReturnType<typeof setTimeout> | null;
2755
+ hovered: boolean;
2756
+ focused: boolean;
2757
+ pageHidden: boolean;
2758
+ arrowCenter: number | null;
2652
2759
  galleryLoaded: Record<number, boolean>;
2653
2760
  galleryFailed: Record<number, boolean>;
2654
2761
  gallerySizes: Record<string, PhotoSize>;
@@ -2669,16 +2776,21 @@ export declare const foundationComponents: {
2669
2776
  images(): AppleViewerImage[];
2670
2777
  grouped(): boolean;
2671
2778
  layout(): "compact" | "tiled" | "tiled-wrap";
2779
+ canAutoplay(): boolean;
2672
2780
  }, {
2781
+ stopAutoplay(): void;
2782
+ restartAutoplay(): void;
2783
+ syncVisibility(): void;
2784
+ measureArrows(): void;
2785
+ stepImage(direction: number): void;
2673
2786
  normalizeIndex(value: number): number;
2674
2787
  observeGallery(): void;
2675
2788
  cancelGalleryScroll(): void;
2676
2789
  interruptGalleryScroll(): void;
2677
2790
  galleryWheel(event: WheelEvent): void;
2678
- syncViewport(): void;
2679
2791
  afterPreview(): void;
2680
2792
  origin(index: number, reveal?: boolean): HTMLImageElement | null;
2681
- showImage(index: number): void;
2793
+ showImage(index: number, snap?: string): void;
2682
2794
  scrolled(): void;
2683
2795
  galleryPointerDown(event: PointerEvent): void;
2684
2796
  galleryPointerMove(event: PointerEvent): void;
@@ -2708,6 +2820,14 @@ export declare const foundationComponents: {
2708
2820
  type: StringConstructor;
2709
2821
  default: string;
2710
2822
  };
2823
+ autoplay: {
2824
+ type: BooleanConstructor;
2825
+ default: boolean;
2826
+ };
2827
+ interval: {
2828
+ type: NumberConstructor;
2829
+ default: number;
2830
+ };
2711
2831
  galleryLayout: {
2712
2832
  type: PropType<"compact" | "tiled" | "tiled-wrap">;
2713
2833
  default: string;
@@ -2745,6 +2865,8 @@ export declare const foundationComponents: {
2745
2865
  squared: boolean;
2746
2866
  preview: boolean;
2747
2867
  gallery: AppleImageItem | (string | AppleImageItem)[];
2868
+ autoplay: boolean;
2869
+ interval: number;
2748
2870
  galleryLayout: "compact" | "tiled" | "tiled-wrap";
2749
2871
  galleryShape: "square" | "natural";
2750
2872
  aspectRatio: string | number;
@@ -1,4 +1,5 @@
1
1
  import { type PropType } from 'vue';
2
+ import { MotionDriver } from '../core/motion-driver';
2
3
  import { type PhotoGeometry, type PhotoPoint, type PhotoSize } from '../core/image-geometry';
3
4
  import type { AppleViewerImage } from './overlays';
4
5
  type Phase = 'preparing' | 'opening' | 'open' | 'settling' | 'closing';
@@ -36,9 +37,14 @@ interface PhotoLayer {
36
37
  persistent: () => boolean;
37
38
  arrows?: (event: KeyboardEvent) => void;
38
39
  }
40
+ interface Pose {
41
+ scale: number;
42
+ pan: PhotoPoint;
43
+ }
39
44
  interface Flight {
40
45
  base: PhotoSize;
41
46
  pose: Keyframe;
47
+ rotation?: number;
42
48
  }
43
49
  export declare function createMobileImageViewer(registerLayer: (layer: PhotoLayer) => () => void): import("vue").DefineComponent<import("vue").ExtractPropTypes<{
44
50
  modelValue: BooleanConstructor;
@@ -56,7 +62,9 @@ export declare function createMobileImageViewer(registerLayer: (layer: PhotoLaye
56
62
  type: PropType<import("..").ComponentMotion>;
57
63
  default: string;
58
64
  };
59
- }>, {}, {
65
+ }>, {
66
+ isVerticalScreen: Readonly<import("vue").Ref<boolean, boolean>>;
67
+ }, {
60
68
  present: boolean;
61
69
  current: number;
62
70
  phase: Phase;
@@ -66,18 +74,21 @@ export declare function createMobileImageViewer(registerLayer: (layer: PhotoLaye
66
74
  viewportOrigin: PhotoPoint;
67
75
  sizes: Record<number, PhotoSize>;
68
76
  failures: Record<number, boolean>;
77
+ rotations: Record<number, number>;
69
78
  scale: number;
70
79
  pan: PhotoPoint;
71
80
  drag: PhotoPoint;
72
81
  swipe: number;
82
+ dragKind: "pan" | "dismiss";
73
83
  paging: {
74
84
  from: number;
75
85
  direction: number;
76
86
  } | null;
77
- zooming: boolean;
78
- flight: Flight | null;
87
+ flights: Record<number, Flight>;
88
+ poses: Record<number, Pose>;
79
89
  background: number;
80
90
  chrome: number;
91
+ driver: MotionDriver | null;
81
92
  pointers: import("vue").Raw<Map<number, PhotoPoint>>;
82
93
  gesture: Gesture | null;
83
94
  pendingTap: {
@@ -87,8 +98,6 @@ export declare function createMobileImageViewer(registerLayer: (layer: PhotoLaye
87
98
  } | null;
88
99
  tapTimer: number | null;
89
100
  masked: Mask | null;
90
- animations: import("vue").Raw<Animation[]>;
91
- epoch: number;
92
101
  suppressClickUntil: number;
93
102
  disposeLayer: (() => void) | null;
94
103
  resizeObserver: ResizeObserver | null;
@@ -97,18 +106,23 @@ export declare function createMobileImageViewer(registerLayer: (layer: PhotoLaye
97
106
  resolvedMotion(): string;
98
107
  pictures(): AppleViewerImage[];
99
108
  loaded(): boolean;
109
+ flight(): Flight | null;
100
110
  fitted(): PhotoSize;
101
111
  dragScale(): number;
102
112
  backdropOpacity(): number;
103
113
  }, {
114
+ fitImage(index: number): PhotoSize;
104
115
  clearTap(): void;
105
116
  tap(point: PhotoPoint): void;
117
+ refreshPhase(): void;
106
118
  cancelAnimations(): void;
107
- animate(entries: Array<{
108
- element: HTMLElement;
109
- from: Keyframe;
110
- to: Keyframe;
111
- }>, duration: number, curve?: string): Promise<boolean>;
119
+ pose(index?: number): Pose;
120
+ frame(index?: number): HTMLElement | null | undefined;
121
+ paintedPhoto(): {
122
+ geometry: PhotoGeometry;
123
+ rotation: number;
124
+ };
125
+ interactive(requireLoaded?: boolean): boolean;
112
126
  measure(): void;
113
127
  openViewer(): Promise<void>;
114
128
  inspectImages(): Promise<void>;
@@ -116,11 +130,15 @@ export declare function createMobileImageViewer(registerLayer: (layer: PhotoLaye
116
130
  imageFailed(index: number, event: Event): void;
117
131
  restoreThumbnail(): void;
118
132
  maskThumbnail(reveal?: boolean): HTMLImageElement | null;
119
- normalGeometry(): PhotoGeometry;
120
- fly(from: PhotoGeometry, to: PhotoGeometry, opening: boolean): Promise<boolean>;
133
+ normalGeometry(index?: number): PhotoGeometry;
134
+ fly(from: PhotoGeometry, to: PhotoGeometry, opening: boolean, rotation?: number, presence?: {
135
+ background: number;
136
+ chrome: number;
137
+ }, preserveCrop?: boolean): Promise<boolean>;
121
138
  enter(): Promise<void>;
122
139
  close(): void;
123
140
  closeViewer(emit: boolean): Promise<void>;
141
+ finishClose(): Promise<void>;
124
142
  select(index: number, velocity?: number): Promise<void>;
125
143
  slideOffset(index: number): number;
126
144
  atPageEdge(offset: number): boolean;
@@ -131,7 +149,12 @@ export declare function createMobileImageViewer(registerLayer: (layer: PhotoLaye
131
149
  pointerMove(event: PointerEvent): void;
132
150
  pointerUp(event: PointerEvent, cancelled?: boolean): void;
133
151
  settlePose(): Promise<void>;
152
+ movePose(index: number, from: number[], target: number[], frequency?: number): Promise<void>;
153
+ zoomTarget(): number[];
134
154
  toggleZoom(point: PhotoPoint): Promise<void>;
155
+ stepZoom(direction: number): void;
156
+ zoomTo(scale: number, point: PhotoPoint, frequency?: number): Promise<void>;
157
+ rotate(direction: number): Promise<void>;
135
158
  zoom(event: WheelEvent): void;
136
159
  }, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("change" | "close" | "error" | "update:modelValue" | "update:index" | "after-close")[], "change" | "close" | "error" | "update:modelValue" | "update:index" | "after-close", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
137
160
  modelValue: BooleanConstructor;
@@ -96,8 +96,8 @@ export declare const AppleNavibar: import("vue").DefineComponent<import("vue").E
96
96
  onToggle?: ((...args: any[]) => any) | undefined;
97
97
  "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
98
98
  }>, {
99
- fixed: boolean;
100
99
  label: string;
100
+ fixed: boolean;
101
101
  motion: import("..").ComponentMotion;
102
102
  items: AppleItem[];
103
103
  brand: string;
@@ -227,8 +227,8 @@ export declare const navigationComponents: {
227
227
  onToggle?: ((...args: any[]) => any) | undefined;
228
228
  "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
229
229
  }>, {
230
- fixed: boolean;
231
230
  label: string;
231
+ fixed: boolean;
232
232
  motion: import("..").ComponentMotion;
233
233
  items: AppleItem[];
234
234
  brand: string;
@@ -1,6 +1,5 @@
1
1
  import { type PopupPositioner } from '../core/popup-placement';
2
2
  import { type Component, type PropType } from 'vue';
3
- import { type PanzoomObject } from '@panzoom/panzoom';
4
3
  import { type OverlayEntry } from '../core/context';
5
4
  type Motion = 'inherit' | 'auto' | 'full' | 'reduced' | 'none';
6
5
  type CloseReason = 'escape' | 'backdrop' | 'cancel' | 'confirm' | 'close';
@@ -486,9 +485,7 @@ export declare const AppleSnackbar: import("vue").DefineComponent<import("vue").
486
485
  type: PropType<Motion>;
487
486
  default: Motion;
488
487
  };
489
- }>, {
490
- isTouchDevice: Readonly<import("vue").Ref<boolean, boolean>>;
491
- }, {
488
+ }>, {}, {
492
489
  timer: ReturnType<typeof setTimeout> | null;
493
490
  remaining: number;
494
491
  started: number;
@@ -500,7 +497,7 @@ export declare const AppleSnackbar: import("vue").DefineComponent<import("vue").
500
497
  pause(): void;
501
498
  resume(): void;
502
499
  close(reason?: string): void;
503
- }, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("close" | "update:modelValue" | "after-close" | "action")[], "close" | "update:modelValue" | "after-close" | "action", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
500
+ }, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("close" | "action" | "update:modelValue" | "after-close")[], "close" | "action" | "update:modelValue" | "after-close", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
504
501
  modelValue: {
505
502
  type: BooleanConstructor;
506
503
  default: boolean;
@@ -540,13 +537,13 @@ export declare const AppleSnackbar: import("vue").DefineComponent<import("vue").
540
537
  onAction?: ((...args: any[]) => any) | undefined;
541
538
  }>, {
542
539
  message: string;
540
+ action: string;
543
541
  title: string;
544
542
  tone: "error" | "danger" | "success" | "warning" | "default" | "info";
545
543
  duration: number;
546
544
  motion: Motion;
547
545
  modelValue: boolean;
548
546
  closable: boolean;
549
- action: string;
550
547
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
551
548
  export declare const AppleOverlayHost: import("vue").DefineComponent<{}, {}, {
552
549
  present: Array<{
@@ -662,9 +659,9 @@ export declare const ApplePopover: import("vue").DefineComponent<import("vue").E
662
659
  "onAfter-close"?: ((...args: any[]) => any) | undefined;
663
660
  onOpen?: ((...args: any[]) => any) | undefined;
664
661
  }>, {
662
+ label: string;
665
663
  width: string | number;
666
664
  placement: "top" | "bottom" | "left" | "right";
667
- label: string;
668
665
  disabled: boolean;
669
666
  motion: Motion;
670
667
  role: string;
@@ -850,53 +847,9 @@ export declare const InternalImageViewer: import("vue").DefineComponent<import("
850
847
  default: Motion;
851
848
  };
852
849
  origin: PropType<(index: number, reveal?: boolean) => HTMLImageElement | null>;
853
- }>, {}, {
854
- disposeLayer: (() => void) | null;
855
- depth: number;
856
- isTop: boolean;
857
- current: number;
858
- panzoom: PanzoomObject | null;
859
- loaded: boolean;
860
- failed: boolean;
861
- rotation: number;
862
- pageDirection: number;
863
- pageWidth: number;
864
- enterController: AbortController | null;
865
- entering: Promise<void> | null;
866
- returning: Promise<void> | null;
867
- returnController: AbortController | null;
868
- releaseNavigation: (() => void) | null;
869
- preloaded: import("vue").Raw<Set<string>>;
870
- pointerStart: {
871
- x: number;
872
- y: number;
873
- } | null;
874
- mobile: boolean;
875
- viewportQuery: MediaQueryList | null;
876
- }, {
850
+ }>, {}, {}, {
877
851
  resolvedMotion(): string;
878
- safeIndex(): number;
879
- currentImage(): AppleViewerImage | undefined;
880
- }, {
881
- syncViewport(): void;
882
- resetImage(): void;
883
- imageLoaded(event?: Event): void;
884
- catchZoom(): void;
885
- zoomOptions(): {
886
- animate: boolean;
887
- duration: 300;
888
- easing: string;
889
- };
890
- finishEntry(): void;
891
- stepZoom(direction: number): void;
892
- toggleZoom(event: MouseEvent): void;
893
- navigate(direction: number): void;
894
- syncLayer(): Promise<void>;
895
- afterClose(): void;
896
- close(): void;
897
- zoom(event: WheelEvent): void;
898
- change(previous: number, index: number, direction?: number): void;
899
- }, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("change" | "close" | "error" | "update:modelValue" | "update:index" | "after-close")[], "change" | "close" | "error" | "update:modelValue" | "update:index" | "after-close", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
852
+ }, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("change" | "close" | "error" | "update:modelValue" | "update:index" | "after-close")[], "change" | "close" | "error" | "update:modelValue" | "update:index" | "after-close", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
900
853
  modelValue: BooleanConstructor;
901
854
  images: {
902
855
  type: PropType<Array<string | AppleViewerImage>>;
@@ -1401,9 +1354,7 @@ export declare const overlayComponents: {
1401
1354
  type: PropType<Motion>;
1402
1355
  default: Motion;
1403
1356
  };
1404
- }>, {
1405
- isTouchDevice: Readonly<import("vue").Ref<boolean, boolean>>;
1406
- }, {
1357
+ }>, {}, {
1407
1358
  timer: ReturnType<typeof setTimeout> | null;
1408
1359
  remaining: number;
1409
1360
  started: number;
@@ -1415,7 +1366,7 @@ export declare const overlayComponents: {
1415
1366
  pause(): void;
1416
1367
  resume(): void;
1417
1368
  close(reason?: string): void;
1418
- }, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("close" | "update:modelValue" | "after-close" | "action")[], "close" | "update:modelValue" | "after-close" | "action", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
1369
+ }, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("close" | "action" | "update:modelValue" | "after-close")[], "close" | "action" | "update:modelValue" | "after-close", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
1419
1370
  modelValue: {
1420
1371
  type: BooleanConstructor;
1421
1372
  default: boolean;
@@ -1455,13 +1406,13 @@ export declare const overlayComponents: {
1455
1406
  onAction?: ((...args: any[]) => any) | undefined;
1456
1407
  }>, {
1457
1408
  message: string;
1409
+ action: string;
1458
1410
  title: string;
1459
1411
  tone: "error" | "danger" | "success" | "warning" | "default" | "info";
1460
1412
  duration: number;
1461
1413
  motion: Motion;
1462
1414
  modelValue: boolean;
1463
1415
  closable: boolean;
1464
- action: string;
1465
1416
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
1466
1417
  AppleOverlayHost: import("vue").DefineComponent<{}, {}, {
1467
1418
  present: Array<{
@@ -1577,9 +1528,9 @@ export declare const overlayComponents: {
1577
1528
  "onAfter-close"?: ((...args: any[]) => any) | undefined;
1578
1529
  onOpen?: ((...args: any[]) => any) | undefined;
1579
1530
  }>, {
1531
+ label: string;
1580
1532
  width: string | number;
1581
1533
  placement: "top" | "bottom" | "left" | "right";
1582
- label: string;
1583
1534
  disabled: boolean;
1584
1535
  motion: Motion;
1585
1536
  role: string;