@mappedin/viewer 0.32.1-fb06d51.0 → 0.32.2-a6589fc.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.
Files changed (163) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/dist/index.js +19892 -19582
  3. package/dist/types/src/components/async-image/index.d.ts +1 -0
  4. package/dist/types/src/components/card-item/index.d.ts +9 -0
  5. package/dist/types/src/components/caret/index.d.ts +1 -0
  6. package/dist/types/src/components/carousel/carousel.stories.d.ts +1 -0
  7. package/dist/types/src/components/carousel/index.d.ts +7 -0
  8. package/dist/types/src/components/{metadata-card → carousel}/utils.d.ts +4 -7
  9. package/dist/types/src/components/categories-text/categories-text.stories.d.ts +3 -0
  10. package/dist/types/src/components/categories-text/category-text-item.d.ts +7 -0
  11. package/dist/types/src/components/categories-text/category-text-list.d.ts +9 -0
  12. package/dist/types/src/components/categories-text/index.d.ts +8 -0
  13. package/dist/types/src/components/categories-text/utils.d.ts +18 -0
  14. package/dist/types/src/components/categories-text/utils.test.d.ts +1 -0
  15. package/dist/types/src/components/common/typography.d.ts +4 -2
  16. package/dist/types/src/components/common/typography.stories.d.ts +1 -0
  17. package/dist/types/src/components/legacy-metadata-card/utils.d.ts +6 -0
  18. package/dist/types/src/components/link-item/index.d.ts +10 -0
  19. package/dist/types/src/components/link-item/link-item.stories.d.ts +2 -0
  20. package/dist/types/src/components/link-item/utils.d.ts +7 -0
  21. package/dist/types/src/components/link-item/utils.test.d.ts +1 -0
  22. package/dist/types/src/components/location-link/index.d.ts +5 -0
  23. package/dist/types/src/components/location-link/location-link.stories.d.ts +2 -0
  24. package/dist/types/src/components/logo-box/index.d.ts +8 -0
  25. package/dist/types/src/components/logo-box/logo-box.stories.d.ts +3 -0
  26. package/dist/types/src/components/socials-item/index.d.ts +6 -0
  27. package/dist/types/src/components/socials-item/socials-item.stories.d.ts +2 -0
  28. package/dist/types/src/components/socials-item/utils.d.ts +12 -0
  29. package/dist/types/src/components/socials-item/utils.test.d.ts +1 -0
  30. package/dist/types/src/components/tilt-controls/use-drag-tilt.d.ts +1 -0
  31. package/dist/types/src/index.d.ts +2 -2
  32. package/dist/types/src/lib/hooks/accessibility.d.ts +6 -0
  33. package/dist/types/src/lib/hooks/use-focus.d.ts +5 -0
  34. package/dist/types/src/lib/hooks/use-responsive-size.d.ts +5 -2
  35. package/dist/types/src/lib/types/socials.d.ts +1 -0
  36. package/dist/types/src/lib/utils/image-utils.d.ts +4 -2
  37. package/dist/types/src/lib/utils/link-utils.d.ts +1 -0
  38. package/dist/types/src/lib/utils/link-utils.test.d.ts +1 -0
  39. package/e2e-tests/directions-state.spec.ts +74 -0
  40. package/e2e-tests/directions-state.spec.ts-snapshots/DIRECTIONS-state-1-Mobile-Chrome-darwin.png +0 -0
  41. package/e2e-tests/directions-state.spec.ts-snapshots/DIRECTIONS-state-1-Mobile-Safari-darwin.png +0 -0
  42. package/e2e-tests/directions-state.spec.ts-snapshots/DIRECTIONS-state-1-chromium-darwin.png +0 -0
  43. package/e2e-tests/directions-state.spec.ts-snapshots/DIRECTIONS-state-1-firefox-darwin.png +0 -0
  44. package/e2e-tests/directions-state.spec.ts-snapshots/DIRECTIONS-state-1-webkit-darwin.png +0 -0
  45. package/e2e-tests/directions-state.spec.ts-snapshots/DIRECTIONS-state-embedded-1-Mobile-Chrome-darwin.png +0 -0
  46. package/e2e-tests/directions-state.spec.ts-snapshots/DIRECTIONS-state-embedded-1-Mobile-Safari-darwin.png +0 -0
  47. package/e2e-tests/directions-state.spec.ts-snapshots/DIRECTIONS-state-embedded-1-chromium-darwin.png +0 -0
  48. package/e2e-tests/directions-state.spec.ts-snapshots/DIRECTIONS-state-embedded-1-firefox-darwin.png +0 -0
  49. package/e2e-tests/directions-state.spec.ts-snapshots/DIRECTIONS-state-embedded-1-webkit-darwin.png +0 -0
  50. package/e2e-tests/directions-state.spec.ts-snapshots/DIRECTIONS-state-from-dropped-pin-1-Mobile-Chrome-darwin.png +0 -0
  51. package/e2e-tests/directions-state.spec.ts-snapshots/DIRECTIONS-state-from-dropped-pin-1-Mobile-Safari-darwin.png +0 -0
  52. package/e2e-tests/directions-state.spec.ts-snapshots/DIRECTIONS-state-from-dropped-pin-1-chromium-darwin.png +0 -0
  53. package/e2e-tests/directions-state.spec.ts-snapshots/DIRECTIONS-state-from-dropped-pin-1-firefox-darwin.png +0 -0
  54. package/e2e-tests/directions-state.spec.ts-snapshots/DIRECTIONS-state-from-dropped-pin-1-webkit-darwin.png +0 -0
  55. package/e2e-tests/directions-state.spec.ts-snapshots/DIRECTIONS-state-from-dropped-pin-embedded-1-Mobile-Chrome-darwin.png +0 -0
  56. package/e2e-tests/directions-state.spec.ts-snapshots/DIRECTIONS-state-from-dropped-pin-embedded-1-Mobile-Safari-darwin.png +0 -0
  57. package/e2e-tests/directions-state.spec.ts-snapshots/DIRECTIONS-state-from-dropped-pin-embedded-1-chromium-darwin.png +0 -0
  58. package/e2e-tests/directions-state.spec.ts-snapshots/DIRECTIONS-state-from-dropped-pin-embedded-1-firefox-darwin.png +0 -0
  59. package/e2e-tests/directions-state.spec.ts-snapshots/DIRECTIONS-state-from-dropped-pin-embedded-1-webkit-darwin.png +0 -0
  60. package/e2e-tests/directions-state.spec.ts-snapshots/DIRECTIONS-state-from-nearest-entrance-1-Mobile-Chrome-darwin.png +0 -0
  61. package/e2e-tests/directions-state.spec.ts-snapshots/DIRECTIONS-state-from-nearest-entrance-1-Mobile-Safari-darwin.png +0 -0
  62. package/e2e-tests/directions-state.spec.ts-snapshots/DIRECTIONS-state-from-nearest-entrance-1-chromium-darwin.png +0 -0
  63. package/e2e-tests/directions-state.spec.ts-snapshots/DIRECTIONS-state-from-nearest-entrance-1-firefox-darwin.png +0 -0
  64. package/e2e-tests/directions-state.spec.ts-snapshots/DIRECTIONS-state-from-nearest-entrance-1-webkit-darwin.png +0 -0
  65. package/e2e-tests/directions-state.spec.ts-snapshots/DIRECTIONS-state-from-nearest-entrance-embedded-1-Mobile-Chrome-darwin.png +0 -0
  66. package/e2e-tests/directions-state.spec.ts-snapshots/DIRECTIONS-state-from-nearest-entrance-embedded-1-Mobile-Safari-darwin.png +0 -0
  67. package/e2e-tests/directions-state.spec.ts-snapshots/DIRECTIONS-state-from-nearest-entrance-embedded-1-chromium-darwin.png +0 -0
  68. package/e2e-tests/directions-state.spec.ts-snapshots/DIRECTIONS-state-from-nearest-entrance-embedded-1-firefox-darwin.png +0 -0
  69. package/e2e-tests/directions-state.spec.ts-snapshots/DIRECTIONS-state-from-nearest-entrance-embedded-1-webkit-darwin.png +0 -0
  70. package/e2e-tests/directions-state.spec.ts-snapshots/DIRECTIONS-state-from-selection-1-Mobile-Chrome-darwin.png +0 -0
  71. package/e2e-tests/directions-state.spec.ts-snapshots/DIRECTIONS-state-from-selection-1-Mobile-Safari-darwin.png +0 -0
  72. package/e2e-tests/directions-state.spec.ts-snapshots/DIRECTIONS-state-from-selection-1-chromium-darwin.png +0 -0
  73. package/e2e-tests/directions-state.spec.ts-snapshots/DIRECTIONS-state-from-selection-1-firefox-darwin.png +0 -0
  74. package/e2e-tests/directions-state.spec.ts-snapshots/DIRECTIONS-state-from-selection-1-webkit-darwin.png +0 -0
  75. package/e2e-tests/directions-state.spec.ts-snapshots/DIRECTIONS-state-from-selection-embedded-1-Mobile-Chrome-darwin.png +0 -0
  76. package/e2e-tests/directions-state.spec.ts-snapshots/DIRECTIONS-state-from-selection-embedded-1-Mobile-Safari-darwin.png +0 -0
  77. package/e2e-tests/directions-state.spec.ts-snapshots/DIRECTIONS-state-from-selection-embedded-1-chromium-darwin.png +0 -0
  78. package/e2e-tests/directions-state.spec.ts-snapshots/DIRECTIONS-state-from-selection-embedded-1-firefox-darwin.png +0 -0
  79. package/e2e-tests/directions-state.spec.ts-snapshots/DIRECTIONS-state-from-selection-embedded-1-webkit-darwin.png +0 -0
  80. package/e2e-tests/directions-state.spec.ts-snapshots/DIRECTIONS-state-level-selector-open-1-Mobile-Chrome-darwin.png +0 -0
  81. package/e2e-tests/directions-state.spec.ts-snapshots/DIRECTIONS-state-level-selector-open-1-Mobile-Safari-darwin.png +0 -0
  82. package/e2e-tests/directions-state.spec.ts-snapshots/DIRECTIONS-state-level-selector-open-1-chromium-darwin.png +0 -0
  83. package/e2e-tests/directions-state.spec.ts-snapshots/DIRECTIONS-state-level-selector-open-1-firefox-darwin.png +0 -0
  84. package/e2e-tests/directions-state.spec.ts-snapshots/DIRECTIONS-state-level-selector-open-1-webkit-darwin.png +0 -0
  85. package/e2e-tests/directions-state.spec.ts-snapshots/DIRECTIONS-state-level-selector-open-embedded-1-Mobile-Chrome-darwin.png +0 -0
  86. package/e2e-tests/directions-state.spec.ts-snapshots/DIRECTIONS-state-level-selector-open-embedded-1-Mobile-Safari-darwin.png +0 -0
  87. package/e2e-tests/directions-state.spec.ts-snapshots/DIRECTIONS-state-level-selector-open-embedded-1-chromium-darwin.png +0 -0
  88. package/e2e-tests/directions-state.spec.ts-snapshots/DIRECTIONS-state-level-selector-open-embedded-1-firefox-darwin.png +0 -0
  89. package/e2e-tests/directions-state.spec.ts-snapshots/DIRECTIONS-state-level-selector-open-embedded-1-webkit-darwin.png +0 -0
  90. package/e2e-tests/playwright.config.ts +77 -0
  91. package/e2e-tests/start-state.spec.ts +42 -0
  92. package/e2e-tests/start-state.spec.ts-snapshots/START-state-1-Mobile-Chrome-darwin.png +0 -0
  93. package/e2e-tests/start-state.spec.ts-snapshots/START-state-1-Mobile-Safari-darwin.png +0 -0
  94. package/e2e-tests/start-state.spec.ts-snapshots/START-state-1-chromium-darwin.png +0 -0
  95. package/e2e-tests/start-state.spec.ts-snapshots/START-state-1-firefox-darwin.png +0 -0
  96. package/e2e-tests/start-state.spec.ts-snapshots/START-state-1-webkit-darwin.png +0 -0
  97. package/e2e-tests/start-state.spec.ts-snapshots/START-state-embedded-1-Mobile-Chrome-darwin.png +0 -0
  98. package/e2e-tests/start-state.spec.ts-snapshots/START-state-embedded-1-Mobile-Safari-darwin.png +0 -0
  99. package/e2e-tests/start-state.spec.ts-snapshots/START-state-embedded-1-chromium-darwin.png +0 -0
  100. package/e2e-tests/start-state.spec.ts-snapshots/START-state-embedded-1-firefox-darwin.png +0 -0
  101. package/e2e-tests/start-state.spec.ts-snapshots/START-state-embedded-1-webkit-darwin.png +0 -0
  102. package/e2e-tests/start-state.spec.ts-snapshots/START-state-level-selector-open-1-Mobile-Chrome-darwin.png +0 -0
  103. package/e2e-tests/start-state.spec.ts-snapshots/START-state-level-selector-open-1-Mobile-Safari-darwin.png +0 -0
  104. package/e2e-tests/start-state.spec.ts-snapshots/START-state-level-selector-open-1-chromium-darwin.png +0 -0
  105. package/e2e-tests/start-state.spec.ts-snapshots/START-state-level-selector-open-1-firefox-darwin.png +0 -0
  106. package/e2e-tests/start-state.spec.ts-snapshots/START-state-level-selector-open-1-webkit-darwin.png +0 -0
  107. package/e2e-tests/start-state.spec.ts-snapshots/START-state-level-selector-open-embedded-1-Mobile-Chrome-darwin.png +0 -0
  108. package/e2e-tests/start-state.spec.ts-snapshots/START-state-level-selector-open-embedded-1-Mobile-Safari-darwin.png +0 -0
  109. package/e2e-tests/start-state.spec.ts-snapshots/START-state-level-selector-open-embedded-1-chromium-darwin.png +0 -0
  110. package/e2e-tests/start-state.spec.ts-snapshots/START-state-level-selector-open-embedded-1-firefox-darwin.png +0 -0
  111. package/e2e-tests/start-state.spec.ts-snapshots/START-state-level-selector-open-embedded-1-webkit-darwin.png +0 -0
  112. package/e2e-tests/start-state.spec.ts-snapshots/START-state-location-image-fullscreen-1-Mobile-Chrome-darwin.png +0 -0
  113. package/e2e-tests/start-state.spec.ts-snapshots/START-state-location-image-fullscreen-1-Mobile-Safari-darwin.png +0 -0
  114. package/e2e-tests/start-state.spec.ts-snapshots/START-state-location-image-fullscreen-1-chromium-darwin.png +0 -0
  115. package/e2e-tests/start-state.spec.ts-snapshots/START-state-location-image-fullscreen-1-firefox-darwin.png +0 -0
  116. package/e2e-tests/start-state.spec.ts-snapshots/START-state-location-image-fullscreen-1-webkit-darwin.png +0 -0
  117. package/e2e-tests/start-state.spec.ts-snapshots/START-state-location-image-fullscreen-embedded-1-Mobile-Chrome-darwin.png +0 -0
  118. package/e2e-tests/start-state.spec.ts-snapshots/START-state-location-image-fullscreen-embedded-1-Mobile-Safari-darwin.png +0 -0
  119. package/e2e-tests/start-state.spec.ts-snapshots/START-state-location-image-fullscreen-embedded-1-chromium-darwin.png +0 -0
  120. package/e2e-tests/start-state.spec.ts-snapshots/START-state-location-image-fullscreen-embedded-1-firefox-darwin.png +0 -0
  121. package/e2e-tests/start-state.spec.ts-snapshots/START-state-location-image-fullscreen-embedded-1-webkit-darwin.png +0 -0
  122. package/e2e-tests/start-state.spec.ts-snapshots/START-state-location-selected-1-Mobile-Chrome-darwin.png +0 -0
  123. package/e2e-tests/start-state.spec.ts-snapshots/START-state-location-selected-1-Mobile-Safari-darwin.png +0 -0
  124. package/e2e-tests/start-state.spec.ts-snapshots/START-state-location-selected-1-chromium-darwin.png +0 -0
  125. package/e2e-tests/start-state.spec.ts-snapshots/START-state-location-selected-1-firefox-darwin.png +0 -0
  126. package/e2e-tests/start-state.spec.ts-snapshots/START-state-location-selected-1-webkit-darwin.png +0 -0
  127. package/e2e-tests/start-state.spec.ts-snapshots/START-state-location-selected-embedded-1-Mobile-Chrome-darwin.png +0 -0
  128. package/e2e-tests/start-state.spec.ts-snapshots/START-state-location-selected-embedded-1-Mobile-Safari-darwin.png +0 -0
  129. package/e2e-tests/start-state.spec.ts-snapshots/START-state-location-selected-embedded-1-chromium-darwin.png +0 -0
  130. package/e2e-tests/start-state.spec.ts-snapshots/START-state-location-selected-embedded-1-firefox-darwin.png +0 -0
  131. package/e2e-tests/start-state.spec.ts-snapshots/START-state-location-selected-embedded-1-webkit-darwin.png +0 -0
  132. package/e2e-tests/start-state.spec.ts-snapshots/START-state-search-bar-focused-1-Mobile-Chrome-darwin.png +0 -0
  133. package/e2e-tests/start-state.spec.ts-snapshots/START-state-search-bar-focused-1-Mobile-Safari-darwin.png +0 -0
  134. package/e2e-tests/start-state.spec.ts-snapshots/START-state-search-bar-focused-1-chromium-darwin.png +0 -0
  135. package/e2e-tests/start-state.spec.ts-snapshots/START-state-search-bar-focused-1-firefox-darwin.png +0 -0
  136. package/e2e-tests/start-state.spec.ts-snapshots/START-state-search-bar-focused-1-webkit-darwin.png +0 -0
  137. package/e2e-tests/start-state.spec.ts-snapshots/START-state-search-bar-focused-embedded-1-Mobile-Chrome-darwin.png +0 -0
  138. package/e2e-tests/start-state.spec.ts-snapshots/START-state-search-bar-focused-embedded-1-Mobile-Safari-darwin.png +0 -0
  139. package/e2e-tests/start-state.spec.ts-snapshots/START-state-search-bar-focused-embedded-1-chromium-darwin.png +0 -0
  140. package/e2e-tests/start-state.spec.ts-snapshots/START-state-search-bar-focused-embedded-1-firefox-darwin.png +0 -0
  141. package/e2e-tests/start-state.spec.ts-snapshots/START-state-search-bar-focused-embedded-1-webkit-darwin.png +0 -0
  142. package/e2e-tests/start-state.spec.ts-snapshots/START-state-search-query-typed-1-Mobile-Chrome-darwin.png +0 -0
  143. package/e2e-tests/start-state.spec.ts-snapshots/START-state-search-query-typed-1-Mobile-Safari-darwin.png +0 -0
  144. package/e2e-tests/start-state.spec.ts-snapshots/START-state-search-query-typed-1-chromium-darwin.png +0 -0
  145. package/e2e-tests/start-state.spec.ts-snapshots/START-state-search-query-typed-1-firefox-darwin.png +0 -0
  146. package/e2e-tests/start-state.spec.ts-snapshots/START-state-search-query-typed-1-webkit-darwin.png +0 -0
  147. package/e2e-tests/start-state.spec.ts-snapshots/START-state-search-query-typed-embedded-1-Mobile-Chrome-darwin.png +0 -0
  148. package/e2e-tests/start-state.spec.ts-snapshots/START-state-search-query-typed-embedded-1-Mobile-Safari-darwin.png +0 -0
  149. package/e2e-tests/start-state.spec.ts-snapshots/START-state-search-query-typed-embedded-1-chromium-darwin.png +0 -0
  150. package/e2e-tests/start-state.spec.ts-snapshots/START-state-search-query-typed-embedded-1-firefox-darwin.png +0 -0
  151. package/e2e-tests/start-state.spec.ts-snapshots/START-state-search-query-typed-embedded-1-webkit-darwin.png +0 -0
  152. package/e2e-tests/test-utils.ts +53 -0
  153. package/package.json +5 -5
  154. package/dist/types/src/components/metadata-card/carousel.d.ts +0 -6
  155. /package/dist/types/src/components/{metadata-card → carousel}/nav-chevrons.d.ts +0 -0
  156. /package/dist/types/src/components/{metadata-card → carousel}/nav-pills.d.ts +0 -0
  157. /package/dist/types/src/components/{metadata-card → carousel}/utils.test.d.ts +0 -0
  158. /package/dist/types/src/components/{metadata-card → legacy-metadata-card}/card.d.ts +0 -0
  159. /package/dist/types/src/components/{metadata-card → legacy-metadata-card}/details-section.d.ts +0 -0
  160. /package/dist/types/src/components/{metadata-card → legacy-metadata-card}/directions-button.d.ts +0 -0
  161. /package/dist/types/src/components/{metadata-card → legacy-metadata-card}/index.d.ts +0 -0
  162. /package/dist/types/src/components/{metadata-card → legacy-metadata-card}/link-item.d.ts +0 -0
  163. /package/dist/types/src/components/{metadata-card → legacy-metadata-card}/metadata-card.stories.d.ts +0 -0
@@ -2,6 +2,7 @@ type TAsyncImageProps = {
2
2
  src?: string | string[];
3
3
  alt?: string;
4
4
  style?: React.CSSProperties;
5
+ role?: string;
5
6
  };
6
7
  declare const AsyncImage: React.FC<TAsyncImageProps>;
7
8
  export default AsyncImage;
@@ -0,0 +1,9 @@
1
+ import { PropsWithChildren } from 'react';
2
+ type TCardItemProps = {
3
+ className?: string;
4
+ left?: React.ReactNode;
5
+ tabIndex?: number;
6
+ role?: string;
7
+ };
8
+ declare const CardItem: React.FC<PropsWithChildren<TCardItemProps>>;
9
+ export default CardItem;
@@ -2,6 +2,7 @@ type TChevronProps = {
2
2
  size?: number;
3
3
  type?: 'chevron' | 'caret';
4
4
  direction?: 'up' | 'down' | 'left' | 'right';
5
+ color?: string;
5
6
  };
6
7
  declare const Caret: React.FC<TChevronProps>;
7
8
  export default Caret;
@@ -0,0 +1 @@
1
+ export declare const Default: () => import("react").JSX.Element;
@@ -0,0 +1,7 @@
1
+ type TCarouselProps = {
2
+ imageURLs: string[];
3
+ onFullScreenGalleryOpen?: () => void;
4
+ proxy?: boolean;
5
+ };
6
+ declare const Carousel: React.FC<TCarouselProps>;
7
+ export default Carousel;
@@ -1,17 +1,14 @@
1
- import ReactDOM from 'react-dom/client';
2
- import { TMetadataCardProps } from './card';
3
- /**
4
- * Imperative API to render the metadata card into a provided container element.
5
- */
6
- export declare const showMetadataCard: (container: Element, props: TMetadataCardProps) => ReactDOM.Root;
7
1
  export declare const useCarousel: (options: {
8
2
  imageURLs: string[];
9
3
  onFullScreenGalleryOpen?: () => void;
4
+ proxy?: boolean;
10
5
  }) => {
11
6
  imgIndex: number;
12
7
  nextImage: () => void;
13
8
  previousImage: () => void;
14
- currentImageSrc: string | undefined;
9
+ currentImageSources: (Partial<Record<"small" | "xsmall" | "medium", string>> & {
10
+ original: string;
11
+ }) | null;
15
12
  setImgIndex: (index: number) => void;
16
13
  showNavigationControls: boolean;
17
14
  handleKeyDown: (event: React.KeyboardEvent<HTMLDivElement>) => void;
@@ -0,0 +1,3 @@
1
+ import { Story } from '@ladle/react';
2
+ export declare const Default: Story;
3
+ export declare const ShortList: Story;
@@ -0,0 +1,7 @@
1
+ type TCategoryTextItemProps = {
2
+ index: number;
3
+ name: string;
4
+ onClick: () => void;
5
+ };
6
+ declare const CategoryTextItem: React.FC<TCategoryTextItemProps>;
7
+ export default CategoryTextItem;
@@ -0,0 +1,9 @@
1
+ type TCategoryTextListProps = {
2
+ categories: {
3
+ id: string;
4
+ name: string;
5
+ }[];
6
+ onCategoryClick?: (id: string) => void;
7
+ };
8
+ declare const CategoryTextList: React.FC<TCategoryTextListProps>;
9
+ export default CategoryTextList;
@@ -0,0 +1,8 @@
1
+ import { ComponentProps } from 'react';
2
+ import CategoryTextList from './category-text-list';
3
+ type TCategoriesTextProps = {
4
+ categories: ComponentProps<typeof CategoryTextList>['categories'];
5
+ onCategoryClick?: ComponentProps<typeof CategoryTextList>['onCategoryClick'];
6
+ };
7
+ declare const CategoriesText: React.FC<TCategoriesTextProps>;
8
+ export default CategoriesText;
@@ -0,0 +1,18 @@
1
+ type TUseCategoriesTextProps = {
2
+ collapsedHeight: number;
3
+ expandedHeight: number;
4
+ };
5
+ export declare const useCategoriesText: ({ collapsedHeight, expandedHeight }: TUseCategoriesTextProps) => {
6
+ wrapping: boolean;
7
+ expanded: boolean;
8
+ toggleExpanded: () => void;
9
+ height: number;
10
+ };
11
+ /**
12
+ * In order to make sure expanded text closes smoothly, we need to ensure it remains wrapping
13
+ * for the duration of the animation.
14
+ */
15
+ export declare const useWrapTextStyle: (expanded: boolean) => {
16
+ className: string;
17
+ };
18
+ export {};
@@ -6,10 +6,12 @@ type TFontProps = {
6
6
  strokeColor?: string;
7
7
  wrap?: boolean;
8
8
  allowSelect?: boolean;
9
+ link?: boolean;
9
10
  };
10
11
  export declare const fontStyle: import("styled-components").RuleSet<TFontProps>;
11
- export declare const textwrapStyle: import("styled-components").RuleSet<object>;
12
- export declare const Text: import("styled-components").IStyledComponent<"web", import("styled-components/dist/types").Substitute<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLParagraphElement>, HTMLParagraphElement>, TFontProps>>;
12
+ export declare const Text: import("styled-components").IStyledComponent<"web", import("styled-components/dist/types").Substitute<import("styled-components/dist/types").Substitute<import("styled-components/dist/types").Substitute<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLParagraphElement>, HTMLParagraphElement>, Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLParagraphElement>, HTMLParagraphElement>, "ref"> & {
13
+ ref?: ((instance: HTMLParagraphElement | null) => void | import("react").DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES[keyof import("react").DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES]) | import("react").RefObject<HTMLParagraphElement> | null | undefined;
14
+ }>, TFontProps>, TFontProps>>;
13
15
  /**
14
16
  * Style a substring within a string a different color.
15
17
  */
@@ -1,4 +1,5 @@
1
1
  import { Story } from '@ladle/react';
2
2
  export declare const Default: Story;
3
3
  export declare const Bold: Story;
4
+ export declare const Link: Story;
4
5
  export declare const DynamicSizing: Story;
@@ -0,0 +1,6 @@
1
+ import ReactDOM from 'react-dom/client';
2
+ import { TMetadataCardProps } from './card';
3
+ /**
4
+ * Imperative API to render the metadata card into a provided container element.
5
+ */
6
+ export declare const showMetadataCard: (container: Element, props: TMetadataCardProps) => ReactDOM.Root;
@@ -0,0 +1,10 @@
1
+ type TLinkItemProps = {
2
+ url: string;
3
+ name?: string;
4
+ /**
5
+ * Optionally override the icon. Defaults to `link-2-16x16`.
6
+ */
7
+ icon?: string;
8
+ };
9
+ declare const LinkItem: React.FC<TLinkItemProps>;
10
+ export default LinkItem;
@@ -0,0 +1,2 @@
1
+ import { Story } from '@ladle/react';
2
+ export declare const Default: Story;
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Process link to ensure it has a valid URL and name.
3
+ */
4
+ export declare const useLinkItem: (url: string, name?: string) => {
5
+ url: string;
6
+ name: string;
7
+ } | null;
@@ -0,0 +1,5 @@
1
+ type TLocationLinkProps = {
2
+ onClick: () => void;
3
+ };
4
+ declare const LocationLink: React.FC<TLocationLinkProps>;
5
+ export default LocationLink;
@@ -0,0 +1,2 @@
1
+ import { Story } from '@ladle/react';
2
+ export declare const Default: Story;
@@ -0,0 +1,8 @@
1
+ type TLogoBoxProps = {
2
+ src: string;
3
+ height?: number;
4
+ proxy?: boolean;
5
+ padding?: number;
6
+ };
7
+ declare const LogoBox: React.FC<TLogoBoxProps>;
8
+ export default LogoBox;
@@ -0,0 +1,3 @@
1
+ import { Story } from '@ladle/react';
2
+ export declare const Default: Story;
3
+ export declare const NoPadding: Story;
@@ -0,0 +1,6 @@
1
+ import { TSocialUrls } from './utils';
2
+ type TSocialsItemProps = {
3
+ socialUrls: TSocialUrls;
4
+ };
5
+ declare const SocialsItem: React.FC<TSocialsItemProps>;
6
+ export default SocialsItem;
@@ -0,0 +1,2 @@
1
+ import { Story } from '@ladle/react';
2
+ export declare const Default: Story;
@@ -0,0 +1,12 @@
1
+ import { TSocials } from '../../lib/types/socials';
2
+ export type TSocialUrls = {
3
+ [key in TSocials]?: string;
4
+ };
5
+ export declare const SOCIAL_ICONS: {
6
+ [key in TSocials]: string;
7
+ };
8
+ type TUseSocialsItemProps = {
9
+ socialUrls: TSocialUrls;
10
+ };
11
+ export declare const useSocialsItem: ({ socialUrls }: TUseSocialsItemProps) => (readonly [string, string])[];
12
+ export {};
@@ -12,5 +12,6 @@ declare const useDragTilt: ({ onChange }: TUseDragTiltProps) => {
12
12
  left: string;
13
13
  top: string;
14
14
  };
15
+ isDragging: boolean;
15
16
  };
16
17
  export default useDragTilt;
@@ -7,8 +7,8 @@ declare const start: (options: TStartViewerOptions) => void;
7
7
  * Start the viewer and try to load a map with some local MVF data.
8
8
  */
9
9
  declare const startWithLocalData: (options: TStartViewerWithLocalDataOptions) => void;
10
- export { default as MetadataCard } from './components/metadata-card/card';
11
- export { showMetadataCard } from './components/metadata-card/utils';
10
+ export { default as MetadataCard } from './components/legacy-metadata-card/card';
11
+ export { showMetadataCard } from './components/legacy-metadata-card/utils';
12
12
  export * from './lib/utils/image-utils';
13
13
  export { startWithLocalData };
14
14
  export default start;
@@ -45,6 +45,12 @@ export type TUseKeyboardListControllerOptions<T extends HTMLElement> = Partial<{
45
45
  * @default false
46
46
  */
47
47
  resetActiveItemOnBlur: boolean;
48
+ /**
49
+ * Whether the list is controlled with up/down keys or left/right keys.
50
+ *
51
+ * @default 'vertical'
52
+ */
53
+ direction: 'vertical' | 'horizontal' | 'both';
48
54
  }>;
49
55
  /**
50
56
  * Used to create an accessible list. Call this in an input or other component that
@@ -1,6 +1,11 @@
1
+ /**
2
+ * Indicates when an element is focused. Execute callbacks when focus changes with relation
3
+ * to the element.
4
+ */
1
5
  declare const useFocus: <T extends HTMLElement>(ref: React.RefObject<T>, options?: Partial<{
2
6
  within: boolean;
3
7
  onFocus?: () => void;
8
+ onKeyboardFocus?: () => void;
4
9
  onBlur?: () => void;
5
10
  }>) => {
6
11
  isFocused: boolean;
@@ -1,9 +1,12 @@
1
1
  /**
2
- * Respond to the size of an element using a ResizeObserver.
2
+ * Respond to the size of an element using a ResizeObserver. Width and height default to 0, use
3
+ * the `initialized` property to determine when the size has been initialized.
3
4
  */
4
5
  declare const useResponsiveSize: () => {
5
- elementRef: (ref: unknown) => void;
6
+ refFn: (ref: unknown) => void;
7
+ ref: HTMLElement | null;
6
8
  width: number;
7
9
  height: number;
10
+ initialized: boolean;
8
11
  };
9
12
  export default useResponsiveSize;
@@ -0,0 +1 @@
1
+ export type TSocials = 'twitter' | 'facebook' | 'instagram' | 'linkedin' | 'tiktok' | 'reddit' | 'pinterest';
@@ -30,10 +30,12 @@ export declare const approxAveragePixelColor: (src: string, options?: Partial<{
30
30
  */
31
31
  resolution: number;
32
32
  }>) => Promise<string>;
33
- export type TImageSize = 'xsmall' | 'medium';
34
33
  export declare const IMAGE_SIZE: {
35
- [key in TImageSize]: number;
34
+ readonly xsmall: 64;
35
+ readonly small: 256;
36
+ readonly medium: 512;
36
37
  };
38
+ export type TImageSize = keyof typeof IMAGE_SIZE;
37
39
  /**
38
40
  * Generate a new URL for an image resized to within a square of the specified dimension.
39
41
  */
@@ -1,2 +1,3 @@
1
1
  export declare const openLink: (link: string) => Window | null | undefined;
2
2
  export declare const isValidLink: (link: string) => boolean;
3
+ export declare const isValidSocialLink: (social: string, link: string) => boolean;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,74 @@
1
+ import { expect } from '@playwright/test';
2
+ import { testDefaultAndEmbedded } from './test-utils';
3
+
4
+ testDefaultAndEmbedded(
5
+ 'DIRECTIONS state',
6
+ async ({ page }) => {
7
+ await expect(page).toHaveScreenshot();
8
+ },
9
+ {
10
+ params: {
11
+ location: 's_89fd600b7990d544',
12
+ },
13
+ state: '/directions',
14
+ },
15
+ );
16
+
17
+ testDefaultAndEmbedded(
18
+ 'DIRECTIONS state: level selector open',
19
+ async ({ page }) => {
20
+ await page.locator('#level-selector').first().click();
21
+ await expect(page).toHaveScreenshot();
22
+ },
23
+ {
24
+ params: {
25
+ location: 's_89fd600b7990d544',
26
+ },
27
+ state: '/directions',
28
+ },
29
+ );
30
+
31
+ testDefaultAndEmbedded(
32
+ 'DIRECTIONS state: from selection',
33
+ async ({ page }) => {
34
+ await page.waitForTimeout(500);
35
+ await expect(page).toHaveScreenshot();
36
+ },
37
+ {
38
+ params: {
39
+ location: 's_89fd600b7990d544',
40
+ departure: 's_353c086e223c6984',
41
+ },
42
+ state: '/directions',
43
+ },
44
+ );
45
+
46
+ testDefaultAndEmbedded(
47
+ 'DIRECTIONS state: from dropped pin',
48
+ async ({ page }) => {
49
+ await page.waitForTimeout(500);
50
+ await expect(page).toHaveScreenshot();
51
+ },
52
+ {
53
+ params: {
54
+ location: 's_89fd600b7990d544',
55
+ departure: '-29.22599807556308,-51.35458385297357,m_8d8b9669cc38f561',
56
+ },
57
+ state: '/directions',
58
+ },
59
+ );
60
+
61
+ testDefaultAndEmbedded(
62
+ 'DIRECTIONS state: from nearest entrance',
63
+ async ({ page }) => {
64
+ await page.waitForTimeout(500);
65
+ await expect(page).toHaveScreenshot();
66
+ },
67
+ {
68
+ params: {
69
+ location: 's_89fd600b7990d544',
70
+ departure: 'e_1dcf257acc86da27+e_563524d9b2a2e04f+e_a9ce9893f5fbe9c6',
71
+ },
72
+ state: '/directions',
73
+ },
74
+ );
@@ -0,0 +1,77 @@
1
+ import { defineConfig, devices } from '@playwright/test';
2
+ import dotenv from 'dotenv';
3
+ import path from 'path';
4
+ import url from 'url';
5
+
6
+ // Node.js modules don't have __dirname or __filename
7
+ const __filename = url.fileURLToPath(import.meta.url);
8
+ const __dirname = path.dirname(__filename);
9
+ dotenv.config({ path: path.resolve(__dirname, '../.env') });
10
+
11
+ const APP_PORT = process.env.PORT || 5173;
12
+
13
+ /**
14
+ * See https://playwright.dev/docs/test-configuration.
15
+ */
16
+ export default defineConfig({
17
+ testDir: '.',
18
+ /* Run tests in files in parallel */
19
+ fullyParallel: true,
20
+ /* Fail the build on CI if you accidentally left test.only in the source code. */
21
+ forbidOnly: !!process.env.CI,
22
+ /* Retry on CI only */
23
+ retries: process.env.CI ? 2 : 0,
24
+ /* Opt out of parallel tests on CI. */
25
+ workers: process.env.CI ? 1 : undefined,
26
+ outputDir: '../../../coverage/viewer-playwright',
27
+ /* Reporter to use. See https://playwright.dev/docs/test-reporters */
28
+ reporter: [['json', { outputFile: '../../coverage/viewer-playwright/report.json' }]],
29
+ /* Shared settings for all the projects below. See https://playwright.dev/docs/api/class-testoptions. */
30
+ use: {
31
+ /* Base URL to use in actions like `await page.goto('/')`. */
32
+ // baseURL: 'http://127.0.0.1:3000',
33
+
34
+ /* Collect trace when retrying the failed test. See https://playwright.dev/docs/trace-viewer */
35
+ trace: 'on-first-retry',
36
+ },
37
+
38
+ /* Road labels are especially flaky, so we allow more pixels to be different */
39
+ expect: {
40
+ toHaveScreenshot: { maxDiffPixels: 1000 },
41
+ },
42
+
43
+ /* Configure projects for major browsers */
44
+ projects: [
45
+ {
46
+ name: 'chromium',
47
+ use: { ...devices['Desktop Chrome'] },
48
+ },
49
+
50
+ {
51
+ name: 'firefox',
52
+ use: { ...devices['Desktop Firefox'] },
53
+ },
54
+
55
+ {
56
+ name: 'webkit',
57
+ use: { ...devices['Desktop Safari'] },
58
+ },
59
+
60
+ /* Test against mobile viewports. */
61
+ {
62
+ name: 'Mobile Chrome',
63
+ use: { ...devices['Pixel 5'] },
64
+ },
65
+ {
66
+ name: 'Mobile Safari',
67
+ use: { ...devices['iPhone 12'] },
68
+ },
69
+ ],
70
+
71
+ /* Run your local dev server before starting the tests */
72
+ webServer: {
73
+ command: 'pnpm dev:playwright',
74
+ url: `http://localhost:${APP_PORT}`,
75
+ reuseExistingServer: !process.env.CI,
76
+ },
77
+ });