@automattic/onboarding 1.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.
- package/README.md +20 -0
- package/dist/cjs/action-buttons/index.js +50 -0
- package/dist/cjs/action-buttons/index.js.map +1 -0
- package/dist/cjs/action-buttons/style.scss +108 -0
- package/dist/cjs/cart/create-cart-manager-client.js +30 -0
- package/dist/cjs/cart/create-cart-manager-client.js.map +1 -0
- package/dist/cjs/cart/index.js +239 -0
- package/dist/cjs/cart/index.js.map +1 -0
- package/dist/cjs/confetti/index.js +8 -0
- package/dist/cjs/confetti/index.js.map +1 -0
- package/dist/cjs/feature-icon/index.js +19 -0
- package/dist/cjs/feature-icon/index.js.map +1 -0
- package/dist/cjs/flow-progress/index.js +14 -0
- package/dist/cjs/flow-progress/index.js.map +1 -0
- package/dist/cjs/flow-progress/style.scss +5 -0
- package/dist/cjs/flow-progress/use-flow-progress.js +92 -0
- package/dist/cjs/flow-progress/use-flow-progress.js.map +1 -0
- package/dist/cjs/hooray/index.js +12 -0
- package/dist/cjs/hooray/index.js.map +1 -0
- package/dist/cjs/hooray/style.scss +66 -0
- package/dist/cjs/index.js +54 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/intent-screen/index.js +11 -0
- package/dist/cjs/intent-screen/index.js.map +1 -0
- package/dist/cjs/mshots-image/index.js +234 -0
- package/dist/cjs/mshots-image/index.js.map +1 -0
- package/dist/cjs/mshots-image/style.scss +43 -0
- package/dist/cjs/navigator/hooks/index.js +6 -0
- package/dist/cjs/navigator/hooks/index.js.map +1 -0
- package/dist/cjs/navigator/hooks/use-navigator-listener.js +16 -0
- package/dist/cjs/navigator/hooks/use-navigator-listener.js.map +1 -0
- package/dist/cjs/navigator/index.js +18 -0
- package/dist/cjs/navigator/index.js.map +1 -0
- package/dist/cjs/navigator/navigator-buttons/index.js +23 -0
- package/dist/cjs/navigator/navigator-buttons/index.js.map +1 -0
- package/dist/cjs/navigator/navigator-buttons/style.scss +47 -0
- package/dist/cjs/navigator/navigator-header/index.js +13 -0
- package/dist/cjs/navigator/navigator-header/index.js.map +1 -0
- package/dist/cjs/navigator/navigator-header/style.scss +45 -0
- package/dist/cjs/navigator/navigator-item-group/index.js +10 -0
- package/dist/cjs/navigator/navigator-item-group/index.js.map +1 -0
- package/dist/cjs/navigator/navigator-item-group/style.scss +28 -0
- package/dist/cjs/navigator/navigator-listener/index.js +9 -0
- package/dist/cjs/navigator/navigator-listener/index.js.map +1 -0
- package/dist/cjs/navigator/navigator-screen/index.js +16 -0
- package/dist/cjs/navigator/navigator-screen/index.js.map +1 -0
- package/dist/cjs/navigator/navigator-screens/hooks/index.js +8 -0
- package/dist/cjs/navigator/navigator-screens/hooks/index.js.map +1 -0
- package/dist/cjs/navigator/navigator-screens/hooks/use-navigator-buttons.js +17 -0
- package/dist/cjs/navigator/navigator-screens/hooks/use-navigator-buttons.js.map +1 -0
- package/dist/cjs/navigator/navigator-screens/hooks/use-navigator-screens.js +14 -0
- package/dist/cjs/navigator/navigator-screens/hooks/use-navigator-screens.js.map +1 -0
- package/dist/cjs/navigator/navigator-screens/index.js +9 -0
- package/dist/cjs/navigator/navigator-screens/index.js.map +1 -0
- package/dist/cjs/navigator/navigator-screens/navigator-screens.js +18 -0
- package/dist/cjs/navigator/navigator-screens/navigator-screens.js.map +1 -0
- package/dist/cjs/navigator/navigator-screens/navigator-screens.scss +60 -0
- package/dist/cjs/navigator/navigator-screens/types.js +3 -0
- package/dist/cjs/navigator/navigator-screens/types.js.map +1 -0
- package/dist/cjs/notice/index.js +12 -0
- package/dist/cjs/notice/index.js.map +1 -0
- package/dist/cjs/notice/style.scss +19 -0
- package/dist/cjs/progress/index.js +11 -0
- package/dist/cjs/progress/index.js.map +1 -0
- package/dist/cjs/progress/style.scss +34 -0
- package/dist/cjs/select-card-checkbox/index.js +17 -0
- package/dist/cjs/select-card-checkbox/index.js.map +1 -0
- package/dist/cjs/select-card-checkbox/style.scss +30 -0
- package/dist/cjs/select-card-radio/index.js +21 -0
- package/dist/cjs/select-card-radio/index.js.map +1 -0
- package/dist/cjs/select-card-radio/style.scss +44 -0
- package/dist/cjs/select-items/index.js +13 -0
- package/dist/cjs/select-items/index.js.map +1 -0
- package/dist/cjs/select-items/style.scss +96 -0
- package/dist/cjs/select-items-alt/index.js +14 -0
- package/dist/cjs/select-items-alt/index.js.map +1 -0
- package/dist/cjs/select-items-alt/style.scss +72 -0
- package/dist/cjs/sensei-logo/index.js +8 -0
- package/dist/cjs/sensei-logo/index.js.map +1 -0
- package/dist/cjs/setup-tailored-site-after-creation.js +109 -0
- package/dist/cjs/setup-tailored-site-after-creation.js.map +1 -0
- package/dist/cjs/step-container/index.js +65 -0
- package/dist/cjs/step-container/index.js.map +1 -0
- package/dist/cjs/step-container/style.scss +304 -0
- package/dist/cjs/step-navigation-link/index.js +35 -0
- package/dist/cjs/step-navigation-link/index.js.map +1 -0
- package/dist/cjs/step-navigation-link/style.scss +42 -0
- package/dist/cjs/titles/index.js +13 -0
- package/dist/cjs/titles/index.js.map +1 -0
- package/dist/cjs/titles/styles.scss +29 -0
- package/dist/cjs/upload-and-set-site-logo.js +32 -0
- package/dist/cjs/upload-and-set-site-logo.js.map +1 -0
- package/dist/cjs/utils/contrastChecker.js +38 -0
- package/dist/cjs/utils/contrastChecker.js.map +1 -0
- package/dist/cjs/utils/domain-suggester.js +113 -0
- package/dist/cjs/utils/domain-suggester.js.map +1 -0
- package/dist/cjs/utils/flows.js +218 -0
- package/dist/cjs/utils/flows.js.map +1 -0
- package/dist/cjs/utils/index.js +13 -0
- package/dist/cjs/utils/index.js.map +1 -0
- package/dist/cjs/utils/is-domain.js +22 -0
- package/dist/cjs/utils/is-domain.js.map +1 -0
- package/dist/cjs/utils/use-data-loss-warning.js +20 -0
- package/dist/cjs/utils/use-data-loss-warning.js.map +1 -0
- package/dist/cjs/videopress-logo/index.js +8 -0
- package/dist/cjs/videopress-logo/index.js.map +1 -0
- package/dist/esm/action-buttons/index.js +42 -0
- package/dist/esm/action-buttons/index.js.map +1 -0
- package/dist/esm/action-buttons/style.scss +108 -0
- package/dist/esm/cart/create-cart-manager-client.js +27 -0
- package/dist/esm/cart/create-cart-manager-client.js.map +1 -0
- package/dist/esm/cart/index.js +229 -0
- package/dist/esm/cart/index.js.map +1 -0
- package/dist/esm/confetti/index.js +6 -0
- package/dist/esm/confetti/index.js.map +1 -0
- package/dist/esm/feature-icon/index.js +16 -0
- package/dist/esm/feature-icon/index.js.map +1 -0
- package/dist/esm/flow-progress/index.js +12 -0
- package/dist/esm/flow-progress/index.js.map +1 -0
- package/dist/esm/flow-progress/style.scss +5 -0
- package/dist/esm/flow-progress/use-flow-progress.js +88 -0
- package/dist/esm/flow-progress/use-flow-progress.js.map +1 -0
- package/dist/esm/hooray/index.js +9 -0
- package/dist/esm/hooray/index.js.map +1 -0
- package/dist/esm/hooray/style.scss +66 -0
- package/dist/esm/index.js +22 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/intent-screen/index.js +8 -0
- package/dist/esm/intent-screen/index.js.map +1 -0
- package/dist/esm/mshots-image/index.js +229 -0
- package/dist/esm/mshots-image/index.js.map +1 -0
- package/dist/esm/mshots-image/style.scss +43 -0
- package/dist/esm/navigator/hooks/index.js +2 -0
- package/dist/esm/navigator/hooks/index.js.map +1 -0
- package/dist/esm/navigator/hooks/use-navigator-listener.js +14 -0
- package/dist/esm/navigator/hooks/use-navigator-listener.js.map +1 -0
- package/dist/esm/navigator/index.js +8 -0
- package/dist/esm/navigator/index.js.map +1 -0
- package/dist/esm/navigator/navigator-buttons/index.js +17 -0
- package/dist/esm/navigator/navigator-buttons/index.js.map +1 -0
- package/dist/esm/navigator/navigator-buttons/style.scss +47 -0
- package/dist/esm/navigator/navigator-header/index.js +11 -0
- package/dist/esm/navigator/navigator-header/index.js.map +1 -0
- package/dist/esm/navigator/navigator-header/style.scss +45 -0
- package/dist/esm/navigator/navigator-item-group/index.js +8 -0
- package/dist/esm/navigator/navigator-item-group/index.js.map +1 -0
- package/dist/esm/navigator/navigator-item-group/style.scss +28 -0
- package/dist/esm/navigator/navigator-listener/index.js +7 -0
- package/dist/esm/navigator/navigator-listener/index.js.map +1 -0
- package/dist/esm/navigator/navigator-screen/index.js +14 -0
- package/dist/esm/navigator/navigator-screen/index.js.map +1 -0
- package/dist/esm/navigator/navigator-screens/hooks/index.js +3 -0
- package/dist/esm/navigator/navigator-screens/hooks/index.js.map +1 -0
- package/dist/esm/navigator/navigator-screens/hooks/use-navigator-buttons.js +14 -0
- package/dist/esm/navigator/navigator-screens/hooks/use-navigator-buttons.js.map +1 -0
- package/dist/esm/navigator/navigator-screens/hooks/use-navigator-screens.js +11 -0
- package/dist/esm/navigator/navigator-screens/hooks/use-navigator-screens.js.map +1 -0
- package/dist/esm/navigator/navigator-screens/index.js +4 -0
- package/dist/esm/navigator/navigator-screens/index.js.map +1 -0
- package/dist/esm/navigator/navigator-screens/navigator-screens.js +15 -0
- package/dist/esm/navigator/navigator-screens/navigator-screens.js.map +1 -0
- package/dist/esm/navigator/navigator-screens/navigator-screens.scss +60 -0
- package/dist/esm/navigator/navigator-screens/types.js +2 -0
- package/dist/esm/navigator/navigator-screens/types.js.map +1 -0
- package/dist/esm/notice/index.js +9 -0
- package/dist/esm/notice/index.js.map +1 -0
- package/dist/esm/notice/style.scss +19 -0
- package/dist/esm/progress/index.js +8 -0
- package/dist/esm/progress/index.js.map +1 -0
- package/dist/esm/progress/style.scss +34 -0
- package/dist/esm/select-card-checkbox/index.js +14 -0
- package/dist/esm/select-card-checkbox/index.js.map +1 -0
- package/dist/esm/select-card-checkbox/style.scss +30 -0
- package/dist/esm/select-card-radio/index.js +15 -0
- package/dist/esm/select-card-radio/index.js.map +1 -0
- package/dist/esm/select-card-radio/style.scss +44 -0
- package/dist/esm/select-items/index.js +10 -0
- package/dist/esm/select-items/index.js.map +1 -0
- package/dist/esm/select-items/style.scss +96 -0
- package/dist/esm/select-items-alt/index.js +11 -0
- package/dist/esm/select-items-alt/index.js.map +1 -0
- package/dist/esm/select-items-alt/style.scss +72 -0
- package/dist/esm/sensei-logo/index.js +6 -0
- package/dist/esm/sensei-logo/index.js.map +1 -0
- package/dist/esm/setup-tailored-site-after-creation.js +103 -0
- package/dist/esm/setup-tailored-site-after-creation.js.map +1 -0
- package/dist/esm/step-container/index.js +62 -0
- package/dist/esm/step-container/index.js.map +1 -0
- package/dist/esm/step-container/style.scss +304 -0
- package/dist/esm/step-navigation-link/index.js +32 -0
- package/dist/esm/step-navigation-link/index.js.map +1 -0
- package/dist/esm/step-navigation-link/style.scss +42 -0
- package/dist/esm/titles/index.js +7 -0
- package/dist/esm/titles/index.js.map +1 -0
- package/dist/esm/titles/styles.scss +29 -0
- package/dist/esm/upload-and-set-site-logo.js +27 -0
- package/dist/esm/upload-and-set-site-logo.js.map +1 -0
- package/dist/esm/utils/contrastChecker.js +33 -0
- package/dist/esm/utils/contrastChecker.js.map +1 -0
- package/dist/esm/utils/domain-suggester.js +108 -0
- package/dist/esm/utils/domain-suggester.js.map +1 -0
- package/dist/esm/utils/flows.js +179 -0
- package/dist/esm/utils/flows.js.map +1 -0
- package/dist/esm/utils/index.js +6 -0
- package/dist/esm/utils/index.js.map +1 -0
- package/dist/esm/utils/is-domain.js +18 -0
- package/dist/esm/utils/is-domain.js.map +1 -0
- package/dist/esm/utils/use-data-loss-warning.js +16 -0
- package/dist/esm/utils/use-data-loss-warning.js.map +1 -0
- package/dist/esm/videopress-logo/index.js +6 -0
- package/dist/esm/videopress-logo/index.js.map +1 -0
- package/dist/styles/base-styles.scss +7 -0
- package/dist/styles/mixins.scss +262 -0
- package/dist/styles/variables.scss +26 -0
- package/dist/styles/z-index.scss +41 -0
- package/dist/tsconfig-cjs.tsbuildinfo +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/dist/types/action-buttons/index.d.ts +17 -0
- package/dist/types/action-buttons/index.d.ts.map +1 -0
- package/dist/types/cart/create-cart-manager-client.d.ts +3 -0
- package/dist/types/cart/create-cart-manager-client.d.ts.map +1 -0
- package/dist/types/cart/index.d.ts +47 -0
- package/dist/types/cart/index.d.ts.map +1 -0
- package/dist/types/confetti/index.d.ts +6 -0
- package/dist/types/confetti/index.d.ts.map +1 -0
- package/dist/types/feature-icon/index.d.ts +9 -0
- package/dist/types/feature-icon/index.d.ts.map +1 -0
- package/dist/types/flow-progress/index.d.ts +9 -0
- package/dist/types/flow-progress/index.d.ts.map +1 -0
- package/dist/types/flow-progress/use-flow-progress.d.ts +11 -0
- package/dist/types/flow-progress/use-flow-progress.d.ts.map +1 -0
- package/dist/types/hooray/index.d.ts +10 -0
- package/dist/types/hooray/index.d.ts.map +1 -0
- package/dist/types/index.d.ts +25 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/intent-screen/index.d.ts +12 -0
- package/dist/types/intent-screen/index.d.ts.map +1 -0
- package/dist/types/mshots-image/index.d.ts +21 -0
- package/dist/types/mshots-image/index.d.ts.map +1 -0
- package/dist/types/navigator/hooks/index.d.ts +3 -0
- package/dist/types/navigator/hooks/index.d.ts.map +1 -0
- package/dist/types/navigator/hooks/use-navigator-listener.d.ts +4 -0
- package/dist/types/navigator/hooks/use-navigator-listener.d.ts.map +1 -0
- package/dist/types/navigator/index.d.ts +8 -0
- package/dist/types/navigator/index.d.ts.map +1 -0
- package/dist/types/navigator/navigator-buttons/index.d.ts +17 -0
- package/dist/types/navigator/navigator-buttons/index.d.ts.map +1 -0
- package/dist/types/navigator/navigator-header/index.d.ts +12 -0
- package/dist/types/navigator/navigator-header/index.d.ts.map +1 -0
- package/dist/types/navigator/navigator-item-group/index.d.ts +9 -0
- package/dist/types/navigator/navigator-item-group/index.d.ts.map +1 -0
- package/dist/types/navigator/navigator-listener/index.d.ts +7 -0
- package/dist/types/navigator/navigator-listener/index.d.ts.map +1 -0
- package/dist/types/navigator/navigator-screen/index.d.ts +11 -0
- package/dist/types/navigator/navigator-screen/index.d.ts.map +1 -0
- package/dist/types/navigator/navigator-screens/hooks/index.d.ts +3 -0
- package/dist/types/navigator/navigator-screens/hooks/index.d.ts.map +1 -0
- package/dist/types/navigator/navigator-screens/hooks/use-navigator-buttons.d.ts +4 -0
- package/dist/types/navigator/navigator-screens/hooks/use-navigator-buttons.d.ts.map +1 -0
- package/dist/types/navigator/navigator-screens/hooks/use-navigator-screens.d.ts +4 -0
- package/dist/types/navigator/navigator-screens/hooks/use-navigator-screens.d.ts.map +1 -0
- package/dist/types/navigator/navigator-screens/index.d.ts +4 -0
- package/dist/types/navigator/navigator-screens/index.d.ts.map +1 -0
- package/dist/types/navigator/navigator-screens/navigator-screens.d.ts +12 -0
- package/dist/types/navigator/navigator-screens/navigator-screens.d.ts.map +1 -0
- package/dist/types/navigator/navigator-screens/types.d.ts +17 -0
- package/dist/types/navigator/navigator-screens/types.d.ts.map +1 -0
- package/dist/types/notice/index.d.ts +7 -0
- package/dist/types/notice/index.d.ts.map +1 -0
- package/dist/types/progress/index.d.ts +10 -0
- package/dist/types/progress/index.d.ts.map +1 -0
- package/dist/types/select-card-checkbox/index.d.ts +11 -0
- package/dist/types/select-card-checkbox/index.d.ts.map +1 -0
- package/dist/types/select-card-radio/index.d.ts +22 -0
- package/dist/types/select-card-radio/index.d.ts.map +1 -0
- package/dist/types/select-items/index.d.ts +25 -0
- package/dist/types/select-items/index.d.ts.map +1 -0
- package/dist/types/select-items-alt/index.d.ts +19 -0
- package/dist/types/select-items-alt/index.d.ts.map +1 -0
- package/dist/types/sensei-logo/index.d.ts +8 -0
- package/dist/types/sensei-logo/index.d.ts.map +1 -0
- package/dist/types/setup-tailored-site-after-creation.d.ts +8 -0
- package/dist/types/setup-tailored-site-after-creation.d.ts.map +1 -0
- package/dist/types/step-container/index.d.ts +45 -0
- package/dist/types/step-container/index.d.ts.map +1 -0
- package/dist/types/step-navigation-link/index.d.ts +18 -0
- package/dist/types/step-navigation-link/index.d.ts.map +1 -0
- package/dist/types/titles/index.d.ts +12 -0
- package/dist/types/titles/index.d.ts.map +1 -0
- package/dist/types/upload-and-set-site-logo.d.ts +13 -0
- package/dist/types/upload-and-set-site-logo.d.ts.map +1 -0
- package/dist/types/utils/contrastChecker.d.ts +17 -0
- package/dist/types/utils/contrastChecker.d.ts.map +1 -0
- package/dist/types/utils/domain-suggester.d.ts +15 -0
- package/dist/types/utils/domain-suggester.d.ts.map +1 -0
- package/dist/types/utils/flows.d.ts +89 -0
- package/dist/types/utils/flows.d.ts.map +1 -0
- package/dist/types/utils/index.d.ts +6 -0
- package/dist/types/utils/index.d.ts.map +1 -0
- package/dist/types/utils/is-domain.d.ts +2 -0
- package/dist/types/utils/is-domain.d.ts.map +1 -0
- package/dist/types/utils/use-data-loss-warning.d.ts +2 -0
- package/dist/types/utils/use-data-loss-warning.d.ts.map +1 -0
- package/dist/types/videopress-logo/index.d.ts +8 -0
- package/dist/types/videopress-logo/index.d.ts.map +1 -0
- package/jest.config.js +5 -0
- package/package.json +63 -0
- package/src/action-buttons/index.tsx +113 -0
- package/src/action-buttons/style.scss +108 -0
- package/src/cart/create-cart-manager-client.ts +34 -0
- package/src/cart/index.tsx +375 -0
- package/src/cart/test/index.ts +172 -0
- package/src/confetti/index.tsx +95 -0
- package/src/feature-icon/index.tsx +102 -0
- package/src/flow-progress/index.tsx +22 -0
- package/src/flow-progress/style.scss +5 -0
- package/src/flow-progress/use-flow-progress.ts +108 -0
- package/src/hooray/index.tsx +34 -0
- package/src/hooray/style.scss +66 -0
- package/src/index.ts +36 -0
- package/src/intent-screen/README.md +12 -0
- package/src/intent-screen/index.tsx +26 -0
- package/src/intent-screen/test/index.tsx +197 -0
- package/src/mshots-image/index.tsx +368 -0
- package/src/mshots-image/style.scss +43 -0
- package/src/mshots-image/test/mshots-image.tsx +5 -0
- package/src/navigator/hooks/index.tsx +2 -0
- package/src/navigator/hooks/use-navigator-listener.tsx +18 -0
- package/src/navigator/index.ts +7 -0
- package/src/navigator/navigator-buttons/index.tsx +58 -0
- package/src/navigator/navigator-buttons/style.scss +47 -0
- package/src/navigator/navigator-header/index.tsx +40 -0
- package/src/navigator/navigator-header/style.scss +45 -0
- package/src/navigator/navigator-item-group/index.tsx +23 -0
- package/src/navigator/navigator-item-group/style.scss +28 -0
- package/src/navigator/navigator-listener/index.tsx +12 -0
- package/src/navigator/navigator-screen/index.tsx +24 -0
- package/src/navigator/navigator-screens/hooks/index.tsx +2 -0
- package/src/navigator/navigator-screens/hooks/use-navigator-buttons.tsx +32 -0
- package/src/navigator/navigator-screens/hooks/use-navigator-screens.tsx +57 -0
- package/src/navigator/navigator-screens/index.ts +3 -0
- package/src/navigator/navigator-screens/navigator-screens.scss +60 -0
- package/src/navigator/navigator-screens/navigator-screens.tsx +41 -0
- package/src/navigator/navigator-screens/types.ts +15 -0
- package/src/notice/index.tsx +16 -0
- package/src/notice/style.scss +19 -0
- package/src/progress/index.tsx +23 -0
- package/src/progress/style.scss +34 -0
- package/src/select-card-checkbox/index.tsx +38 -0
- package/src/select-card-checkbox/style.scss +30 -0
- package/src/select-card-radio/index.tsx +64 -0
- package/src/select-card-radio/style.scss +44 -0
- package/src/select-card-radio/test/index.tsx +50 -0
- package/src/select-items/README.md +13 -0
- package/src/select-items/index.tsx +90 -0
- package/src/select-items/style.scss +96 -0
- package/src/select-items-alt/README.md +13 -0
- package/src/select-items-alt/index.tsx +61 -0
- package/src/select-items-alt/style.scss +72 -0
- package/src/sensei-logo/index.tsx +30 -0
- package/src/setup-tailored-site-after-creation.ts +149 -0
- package/src/step-container/index.tsx +251 -0
- package/src/step-container/style.scss +304 -0
- package/src/step-navigation-link/index.tsx +71 -0
- package/src/step-navigation-link/style.scss +42 -0
- package/src/titles/index.tsx +36 -0
- package/src/titles/styles.scss +29 -0
- package/src/types.d.ts +1 -0
- package/src/upload-and-set-site-logo.ts +38 -0
- package/src/utils/contrastChecker.ts +52 -0
- package/src/utils/domain-suggester.ts +126 -0
- package/src/utils/flows.ts +232 -0
- package/src/utils/index.ts +5 -0
- package/src/utils/is-domain.ts +18 -0
- package/src/utils/test/domain-suggester.ts +87 -0
- package/src/utils/use-data-loss-warning.ts +17 -0
- package/src/videopress-logo/index.tsx +36 -0
- package/styles/base-styles.scss +7 -0
- package/styles/mixins.scss +262 -0
- package/styles/variables.scss +26 -0
- package/styles/z-index.scss +41 -0
- package/tsconfig-cjs.json +7 -0
- package/tsconfig.json +15 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-flow-progress.js","sourceRoot":"","sources":["../../../src/flow-progress/use-flow-progress.ts"],"names":[],"mappings":";;;AAAA,0CAQwB;AASxB,MAAM,KAAK,GAAmD;IAC7D,UAAU,EAAE;QACX,KAAK,EAAE,CAAC;QACR,IAAI,EAAE,CAAC;QACP,eAAe,EAAE,CAAC;QAClB,eAAe,EAAE,CAAC;QAClB,OAAO,EAAE,CAAC;QACV,kBAAkB,EAAE,CAAC;QACrB,WAAW,EAAE,CAAC;QACd,SAAS,EAAE,CAAC;KACZ;IACD,CAAE,wBAAgB,CAAE,EAAE;QACrB,KAAK,EAAE,CAAC;QACR,IAAI,EAAE,CAAC;QACP,QAAQ,EAAE,CAAC;QACX,cAAc,EAAE,CAAC;QACjB,OAAO,EAAE,CAAC;QACV,KAAK,EAAE,CAAC;QACR,SAAS,EAAE,CAAC;KACZ;IACD,CAAE,4BAAoB,CAAE,EAAE;QACzB,OAAO,EAAE,CAAC;QACV,IAAI,EAAE,CAAC;QACP,QAAQ,EAAE,CAAC;QACX,cAAc,EAAE,CAAC;QACjB,KAAK,EAAE,CAAC;QACR,SAAS,EAAE,CAAC;KACZ;IACD,CAAE,iBAAS,CAAE,EAAE;QACd,IAAI,EAAE,CAAC;QACP,SAAS,EAAE,CAAC;QACZ,WAAW,EAAE,CAAC;QACd,SAAS,EAAE,CAAC;KACZ;IACD,UAAU,EAAE;QACX,KAAK,EAAE,CAAC;QACR,eAAe,EAAE,CAAC;QAClB,IAAI,EAAE,CAAC;QACP,OAAO,EAAE,CAAC;QACV,aAAa,EAAE,CAAC;QAChB,UAAU,EAAE,CAAC;QACb,SAAS,EAAE,CAAC;KACZ;IACD,CAAE,0BAAkB,CAAE,EAAE;QACvB,KAAK,EAAE,CAAC;QACR,UAAU,EAAE,CAAC;KACb;IACD,CAAE,mCAA2B,CAAE,EAAE;QAChC,UAAU,EAAE,CAAC;KACb;IACD,MAAM,EAAE;QACP,WAAW,EAAE,CAAC;QACd,YAAY,EAAE,CAAC;QACf,UAAU,EAAE,CAAC;QACb,aAAa,EAAE,CAAC;QAChB,YAAY,EAAE,CAAC;KACf;IACD,CAAE,sBAAc,CAAE,EAAE;QACnB,KAAK,EAAE,CAAC;QACR,aAAa,EAAE,CAAC;QAChB,cAAc,EAAE,CAAC;QACjB,OAAO,EAAE,CAAC;QACV,UAAU,EAAE,CAAC;QACb,UAAU,EAAE,CAAC;QACb,aAAa,EAAE,CAAC;QAChB,SAAS,EAAE,CAAC;QACZ,YAAY,EAAE,CAAC;KACf;IACD,CAAE,sBAAc,CAAE,EAAE;QACnB,OAAO,EAAE,CAAC;QACV,aAAa,EAAE,CAAC;QAChB,UAAU,EAAE,CAAC;QACb,gBAAgB,EAAE,CAAC;QACnB,iBAAiB,EAAE,CAAC;KACpB;CACD,CAAC;AAEK,MAAM,eAAe,GAAG,CAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,KAAmB,EAAE,EAAG,EAAE;IAC3F,IAAK,CAAE,QAAQ,IAAI,CAAE,QAAQ,EAAG,CAAC;QAChC,OAAO;IACR,CAAC;IAED,MAAM,IAAI,GAAG,KAAK,CAAE,WAAW,IAAI,QAAQ,CAAE,CAAC;IAE9C,OAAO,CACN,IAAI,IAAI;QACP,QAAQ,EAAE,IAAI,CAAE,QAAQ,CAAE;QAC1B,KAAK,EAAE,IAAI,CAAC,GAAG,CAAE,GAAG,MAAM,CAAC,MAAM,CAAE,IAAI,CAAE,CAAE;KAC3C,CACD,CAAC;AACH,CAAC,CAAC;AAbW,QAAA,eAAe,mBAa1B"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const tslib_1 = require("tslib");
|
|
4
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
+
const clsx_1 = tslib_1.__importDefault(require("clsx"));
|
|
6
|
+
const confetti_1 = tslib_1.__importDefault(require("../confetti"));
|
|
7
|
+
require("./style.scss");
|
|
8
|
+
const Hooray = ({ className, animate = false, children, ...additionalProps }) => {
|
|
9
|
+
return ((0, jsx_runtime_1.jsxs)("div", { className: (0, clsx_1.default)(`onboarding-hooray`, { 'onboarding-hooray__animate': animate }, className), ...additionalProps, children: [(0, jsx_runtime_1.jsx)(confetti_1.default, {}), children] }));
|
|
10
|
+
};
|
|
11
|
+
exports.default = Hooray;
|
|
12
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/hooray/index.tsx"],"names":[],"mappings":";;;;AAAA,wDAAwB;AAExB,mEAAmC;AAEnC,wBAAsB;AAQtB,MAAM,MAAM,GAAqC,CAAE,EAClD,SAAS,EACT,OAAO,GAAG,KAAK,EACf,QAAQ,EACR,GAAG,eAAe,EAClB,EAAG,EAAE;IACL,OAAO,CACN,iCACC,SAAS,EAAG,IAAA,cAAI,EACf,mBAAmB,EACnB,EAAE,4BAA4B,EAAE,OAAO,EAAE,EACzC,SAAS,CACT,KACI,eAAe,aAEpB,uBAAC,kBAAQ,KAAG,EACV,QAAQ,IACL,CACN,CAAC;AACH,CAAC,CAAC;AAEF,kBAAe,MAAM,CAAC"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
@import "@wordpress/base-styles/breakpoints";
|
|
2
|
+
@import "@wordpress/base-styles/mixins";
|
|
3
|
+
|
|
4
|
+
.onboarding-hooray {
|
|
5
|
+
text-align: center;
|
|
6
|
+
|
|
7
|
+
svg {
|
|
8
|
+
max-width: 350px;
|
|
9
|
+
margin-bottom: -20px;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
.onboarding-title {
|
|
13
|
+
font-size: 3rem;
|
|
14
|
+
color: var(--studio-gray-100);
|
|
15
|
+
margin-bottom: 0.75rem;
|
|
16
|
+
|
|
17
|
+
@media (max-width: 1080px) {
|
|
18
|
+
line-height: 1;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
.onboarding-subtitle {
|
|
23
|
+
color: var(--studio-gray-50);
|
|
24
|
+
margin-bottom: 1.5em;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
.components-button.action-buttons__next {
|
|
28
|
+
min-width: 100px;
|
|
29
|
+
padding: 10px 24px !important;
|
|
30
|
+
margin: 0 0.75em 0.75em 0.75em;
|
|
31
|
+
border-radius: 4px;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
.onboarding-hooray__animate {
|
|
36
|
+
.onboarding-title {
|
|
37
|
+
animation: hooray-fade 0.9s ease-in-out, hooray-jump 0.8s cubic-bezier(0.21, 0.19, 0.24, 0.99);
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
.onboarding-subtitle,
|
|
41
|
+
.components-button.action-buttons__next.is-primary {
|
|
42
|
+
opacity: 0;
|
|
43
|
+
animation: hooray-fade 0.9s ease-in-out 0.8s forwards, hooray-jump 0.8s cubic-bezier(0.21, 0.19, 0.24, 0.99) 0.8s forwards;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
@keyframes hooray-fade {
|
|
49
|
+
from {
|
|
50
|
+
opacity: 0;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
to {
|
|
54
|
+
opacity: 1;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
@keyframes hooray-jump {
|
|
59
|
+
from {
|
|
60
|
+
transform: translateY(20px);
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
to {
|
|
64
|
+
transform: none;
|
|
65
|
+
}
|
|
66
|
+
}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SelectCardCheckbox = exports.Notice = exports.MShotsImage = exports.StepNavigationLink = exports.StepContainer = exports.SelectItemsAlt = exports.SelectItems = exports.IntentScreen = exports.Confetti = exports.Hooray = exports.Progress = exports.FeatureIcon = exports.uploadAndSetSiteLogo = exports.base64ImageToBlob = exports.setupSiteAfterCreation = exports.setThemeOnSite = exports.replaceProductsInCart = exports.addProductsToCart = exports.addPlanToCart = exports.createSiteWithCart = exports.ArrowButton = exports.SkipButton = exports.NextButton = exports.BackButton = exports.ActionButtons = exports.useFlowProgress = exports.SubTitle = exports.Title = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
var titles_1 = require("./titles");
|
|
6
|
+
Object.defineProperty(exports, "Title", { enumerable: true, get: function () { return titles_1.Title; } });
|
|
7
|
+
Object.defineProperty(exports, "SubTitle", { enumerable: true, get: function () { return titles_1.SubTitle; } });
|
|
8
|
+
var use_flow_progress_1 = require("./flow-progress/use-flow-progress");
|
|
9
|
+
Object.defineProperty(exports, "useFlowProgress", { enumerable: true, get: function () { return use_flow_progress_1.useFlowProgress; } });
|
|
10
|
+
var action_buttons_1 = require("./action-buttons");
|
|
11
|
+
Object.defineProperty(exports, "ActionButtons", { enumerable: true, get: function () { return tslib_1.__importDefault(action_buttons_1).default; } });
|
|
12
|
+
Object.defineProperty(exports, "BackButton", { enumerable: true, get: function () { return action_buttons_1.BackButton; } });
|
|
13
|
+
Object.defineProperty(exports, "NextButton", { enumerable: true, get: function () { return action_buttons_1.NextButton; } });
|
|
14
|
+
Object.defineProperty(exports, "SkipButton", { enumerable: true, get: function () { return action_buttons_1.SkipButton; } });
|
|
15
|
+
Object.defineProperty(exports, "ArrowButton", { enumerable: true, get: function () { return action_buttons_1.ArrowButton; } });
|
|
16
|
+
var cart_1 = require("./cart");
|
|
17
|
+
Object.defineProperty(exports, "createSiteWithCart", { enumerable: true, get: function () { return cart_1.createSiteWithCart; } });
|
|
18
|
+
Object.defineProperty(exports, "addPlanToCart", { enumerable: true, get: function () { return cart_1.addPlanToCart; } });
|
|
19
|
+
Object.defineProperty(exports, "addProductsToCart", { enumerable: true, get: function () { return cart_1.addProductsToCart; } });
|
|
20
|
+
Object.defineProperty(exports, "replaceProductsInCart", { enumerable: true, get: function () { return cart_1.replaceProductsInCart; } });
|
|
21
|
+
Object.defineProperty(exports, "setThemeOnSite", { enumerable: true, get: function () { return cart_1.setThemeOnSite; } });
|
|
22
|
+
var setup_tailored_site_after_creation_1 = require("./setup-tailored-site-after-creation");
|
|
23
|
+
Object.defineProperty(exports, "setupSiteAfterCreation", { enumerable: true, get: function () { return setup_tailored_site_after_creation_1.setupSiteAfterCreation; } });
|
|
24
|
+
Object.defineProperty(exports, "base64ImageToBlob", { enumerable: true, get: function () { return setup_tailored_site_after_creation_1.base64ImageToBlob; } });
|
|
25
|
+
var upload_and_set_site_logo_1 = require("./upload-and-set-site-logo");
|
|
26
|
+
Object.defineProperty(exports, "uploadAndSetSiteLogo", { enumerable: true, get: function () { return upload_and_set_site_logo_1.uploadAndSetSiteLogo; } });
|
|
27
|
+
var feature_icon_1 = require("./feature-icon");
|
|
28
|
+
Object.defineProperty(exports, "FeatureIcon", { enumerable: true, get: function () { return tslib_1.__importDefault(feature_icon_1).default; } });
|
|
29
|
+
var progress_1 = require("./progress");
|
|
30
|
+
Object.defineProperty(exports, "Progress", { enumerable: true, get: function () { return tslib_1.__importDefault(progress_1).default; } });
|
|
31
|
+
var hooray_1 = require("./hooray");
|
|
32
|
+
Object.defineProperty(exports, "Hooray", { enumerable: true, get: function () { return tslib_1.__importDefault(hooray_1).default; } });
|
|
33
|
+
var confetti_1 = require("./confetti");
|
|
34
|
+
Object.defineProperty(exports, "Confetti", { enumerable: true, get: function () { return tslib_1.__importDefault(confetti_1).default; } });
|
|
35
|
+
var intent_screen_1 = require("./intent-screen");
|
|
36
|
+
Object.defineProperty(exports, "IntentScreen", { enumerable: true, get: function () { return tslib_1.__importDefault(intent_screen_1).default; } });
|
|
37
|
+
var select_items_1 = require("./select-items");
|
|
38
|
+
Object.defineProperty(exports, "SelectItems", { enumerable: true, get: function () { return tslib_1.__importDefault(select_items_1).default; } });
|
|
39
|
+
var select_items_alt_1 = require("./select-items-alt");
|
|
40
|
+
Object.defineProperty(exports, "SelectItemsAlt", { enumerable: true, get: function () { return tslib_1.__importDefault(select_items_alt_1).default; } });
|
|
41
|
+
var step_container_1 = require("./step-container");
|
|
42
|
+
Object.defineProperty(exports, "StepContainer", { enumerable: true, get: function () { return tslib_1.__importDefault(step_container_1).default; } });
|
|
43
|
+
var step_navigation_link_1 = require("./step-navigation-link");
|
|
44
|
+
Object.defineProperty(exports, "StepNavigationLink", { enumerable: true, get: function () { return tslib_1.__importDefault(step_navigation_link_1).default; } });
|
|
45
|
+
var mshots_image_1 = require("./mshots-image");
|
|
46
|
+
Object.defineProperty(exports, "MShotsImage", { enumerable: true, get: function () { return tslib_1.__importDefault(mshots_image_1).default; } });
|
|
47
|
+
tslib_1.__exportStar(require("./navigator"), exports);
|
|
48
|
+
var notice_1 = require("./notice");
|
|
49
|
+
Object.defineProperty(exports, "Notice", { enumerable: true, get: function () { return tslib_1.__importDefault(notice_1).default; } });
|
|
50
|
+
var select_card_checkbox_1 = require("./select-card-checkbox");
|
|
51
|
+
Object.defineProperty(exports, "SelectCardCheckbox", { enumerable: true, get: function () { return tslib_1.__importDefault(select_card_checkbox_1).default; } });
|
|
52
|
+
tslib_1.__exportStar(require("./utils"), exports);
|
|
53
|
+
tslib_1.__exportStar(require("./select-card-radio"), exports);
|
|
54
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;AAAA,mCAA2C;AAAlC,+FAAA,KAAK,OAAA;AAAE,kGAAA,QAAQ,OAAA;AACxB,uEAAoE;AAA3D,oHAAA,eAAe,OAAA;AACxB,mDAM0B;AALzB,wIAAA,OAAO,OAAiB;AACxB,4GAAA,UAAU,OAAA;AACV,4GAAA,UAAU,OAAA;AACV,4GAAA,UAAU,OAAA;AACV,6GAAA,WAAW,OAAA;AAEZ,+BAMgB;AALf,0GAAA,kBAAkB,OAAA;AAClB,qGAAA,aAAa,OAAA;AACb,yGAAA,iBAAiB,OAAA;AACjB,6GAAA,qBAAqB,OAAA;AACrB,sGAAA,cAAc,OAAA;AAEf,2FAAiG;AAAxF,4IAAA,sBAAsB,OAAA;AAAE,uIAAA,iBAAiB,OAAA;AAClD,uEAAkE;AAAzD,gIAAA,oBAAoB,OAAA;AAC7B,+CAAwD;AAA/C,oIAAA,OAAO,OAAe;AAC/B,uCAAiD;AAAxC,6HAAA,OAAO,OAAY;AAC5B,mCAA6C;AAApC,yHAAA,OAAO,OAAU;AAC1B,uCAAiD;AAAxC,6HAAA,OAAO,OAAY;AAC5B,iDAA0D;AAAjD,sIAAA,OAAO,OAAgB;AAChC,+CAAwD;AAA/C,oIAAA,OAAO,OAAe;AAC/B,uDAA+D;AAAtD,2IAAA,OAAO,OAAkB;AAClC,mDAA4D;AAAnD,wIAAA,OAAO,OAAiB;AACjC,+DAAuE;AAA9D,mJAAA,OAAO,OAAsB;AACtC,+CAAwD;AAA/C,oIAAA,OAAO,OAAe;AAC/B,sDAA4B;AAC5B,mCAA6C;AAApC,yHAAA,OAAO,OAAU;AAC1B,+DAAuE;AAA9D,mJAAA,OAAO,OAAsB;AACtC,kDAAwB;AACxB,8DAAoC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const tslib_1 = require("tslib");
|
|
4
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
+
const select_items_1 = tslib_1.__importDefault(require("../select-items"));
|
|
6
|
+
const select_items_alt_1 = tslib_1.__importDefault(require("../select-items-alt"));
|
|
7
|
+
const IntentScreen = ({ intents, intentsAlt, onSelect, preventWidows, }) => {
|
|
8
|
+
return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(select_items_1.default, { items: intents, onSelect: onSelect, preventWidows: preventWidows }), (0, jsx_runtime_1.jsx)(select_items_alt_1.default, { items: intentsAlt, onSelect: onSelect })] }));
|
|
9
|
+
};
|
|
10
|
+
exports.default = IntentScreen;
|
|
11
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/intent-screen/index.tsx"],"names":[],"mappings":";;;;AACA,2EAA0D;AAC1D,mFAAoE;AASpE,MAAM,YAAY,GAAG,CAAsB,EAC1C,OAAO,EACP,UAAU,EACV,QAAQ,EACR,aAAa,GACD,EAAG,EAAE;IACjB,OAAO,CACN,6DACC,uBAAC,sBAAW,IAAC,KAAK,EAAG,OAAO,EAAG,QAAQ,EAAG,QAAQ,EAAG,aAAa,EAAG,aAAa,GAAK,EACvF,uBAAC,0BAAc,IAAC,KAAK,EAAG,UAAU,EAAG,QAAQ,EAAG,QAAQ,GAAK,IAC3D,CACH,CAAC;AACH,CAAC,CAAC;AAEF,kBAAe,YAAY,CAAC"}
|
|
@@ -0,0 +1,234 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.mshotsUrl = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
6
|
+
const url_1 = require("@wordpress/url");
|
|
7
|
+
const clsx_1 = tslib_1.__importDefault(require("clsx"));
|
|
8
|
+
const debug_1 = tslib_1.__importDefault(require("debug"));
|
|
9
|
+
const react_1 = require("react");
|
|
10
|
+
require("./style.scss");
|
|
11
|
+
const debug = (0, debug_1.default)('design-picker:mshots-image');
|
|
12
|
+
function mshotsUrl(targetUrl, options, count = 0) {
|
|
13
|
+
const mshotsUrl = 'https://s0.wp.com/mshots/v1/';
|
|
14
|
+
const mshotsRequest = (0, url_1.addQueryArgs)(mshotsUrl + encodeURIComponent(targetUrl), {
|
|
15
|
+
...options,
|
|
16
|
+
count,
|
|
17
|
+
});
|
|
18
|
+
return mshotsRequest;
|
|
19
|
+
}
|
|
20
|
+
exports.mshotsUrl = mshotsUrl;
|
|
21
|
+
const MAXTRIES = 10;
|
|
22
|
+
// This custom react hook returns null while the image is loading and the page
|
|
23
|
+
// (not image) URL once loading is complete.
|
|
24
|
+
//
|
|
25
|
+
// It also triggers a re-render (via setState()) when the value changes, so just
|
|
26
|
+
// check that the requested URL matches the returned URL.
|
|
27
|
+
//
|
|
28
|
+
// Note the loading may occur immediately if the image is already available, or
|
|
29
|
+
// may take several seconds if mshots has to generate and cache new images.
|
|
30
|
+
//
|
|
31
|
+
// The calling code doesn't need to worry about the details except that you'll
|
|
32
|
+
// want some sort of loading display.
|
|
33
|
+
//
|
|
34
|
+
// Inspired by https://stackoverflow.com/a/60458593
|
|
35
|
+
const useMshotsImg = (src, options, imgRef) => {
|
|
36
|
+
const [loadedImg, setLoadedImg] = (0, react_1.useState)(null);
|
|
37
|
+
const [count, setCount] = (0, react_1.useState)(0);
|
|
38
|
+
const previousSrc = (0, react_1.useRef)(src);
|
|
39
|
+
const timeoutIdRef = (0, react_1.useRef)();
|
|
40
|
+
const previousImg = (0, react_1.useRef)(null);
|
|
41
|
+
const previousOptions = (0, react_1.useRef)();
|
|
42
|
+
// Oddly, we need to assign to current here after ref creation in order to
|
|
43
|
+
// pass the equivalence check and avoid a spurious reset
|
|
44
|
+
previousOptions.current = options;
|
|
45
|
+
// Note: Mshots doesn't care about the "count" param, but it is important
|
|
46
|
+
// to browser caching. Getting this wrong looks like the url resolving
|
|
47
|
+
// before the image is ready.
|
|
48
|
+
(0, react_1.useEffect)(() => {
|
|
49
|
+
// If there's been a "props" change we need to reset everything:
|
|
50
|
+
if (options !== previousOptions.current ||
|
|
51
|
+
(src !== previousSrc.current && imgRef.current)) {
|
|
52
|
+
// Make sure an old image can't trigger a spurious state update
|
|
53
|
+
debug('resetting mShotsUrl request');
|
|
54
|
+
if (src !== previousSrc.current) {
|
|
55
|
+
debug('src changed\nfrom', previousSrc.current, '\nto', src);
|
|
56
|
+
}
|
|
57
|
+
if (options !== previousOptions.current) {
|
|
58
|
+
debug('options changed\nfrom', previousOptions.current, '\nto', options);
|
|
59
|
+
}
|
|
60
|
+
if (previousImg.current && previousImg.current.onload) {
|
|
61
|
+
previousImg.current.onload = null;
|
|
62
|
+
if (timeoutIdRef.current) {
|
|
63
|
+
clearTimeout(timeoutIdRef.current);
|
|
64
|
+
timeoutIdRef.current = undefined;
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
setCount(0);
|
|
68
|
+
if (previousImg.current !== imgRef.current) {
|
|
69
|
+
previousImg.current = imgRef.current;
|
|
70
|
+
}
|
|
71
|
+
previousOptions.current = options;
|
|
72
|
+
previousSrc.current = src;
|
|
73
|
+
}
|
|
74
|
+
const srcUrl = mshotsUrl(src, options, count);
|
|
75
|
+
if (imgRef.current) {
|
|
76
|
+
imgRef.current.onload = () => {
|
|
77
|
+
// Detect default image (Don't request a 400x300 image).
|
|
78
|
+
//
|
|
79
|
+
// If this turns out to be a problem, it might help to know that the
|
|
80
|
+
// http request status for the default is a 307. Unfortunately we
|
|
81
|
+
// don't get the request through an img element so we'd need to
|
|
82
|
+
// take a completely different approach using ajax.
|
|
83
|
+
if (imgRef.current?.naturalWidth !== 400 || imgRef.current?.naturalHeight !== 300) {
|
|
84
|
+
setLoadedImg(src);
|
|
85
|
+
}
|
|
86
|
+
else if (count < MAXTRIES) {
|
|
87
|
+
// Only refresh 10 times
|
|
88
|
+
// Triggers a target.src change with increasing timeouts
|
|
89
|
+
timeoutIdRef.current = window.setTimeout(() => setCount((count) => count + 1), count * 500);
|
|
90
|
+
}
|
|
91
|
+
};
|
|
92
|
+
imgRef.current.src = srcUrl;
|
|
93
|
+
}
|
|
94
|
+
return () => {
|
|
95
|
+
if (imgRef.current && imgRef.current.onload) {
|
|
96
|
+
imgRef.current.onload = null;
|
|
97
|
+
}
|
|
98
|
+
if (previousImg.current && previousImg.current.onload) {
|
|
99
|
+
previousImg.current.onload = null;
|
|
100
|
+
}
|
|
101
|
+
clearTimeout(timeoutIdRef.current);
|
|
102
|
+
};
|
|
103
|
+
}, [src, count, options, imgRef]);
|
|
104
|
+
return loadedImg;
|
|
105
|
+
};
|
|
106
|
+
// Temporary for A/B test.
|
|
107
|
+
const useMshotsImgTreatment = (src, options) => {
|
|
108
|
+
const [loadedImg, setLoadedImg] = (0, react_1.useState)();
|
|
109
|
+
const [count, setCount] = (0, react_1.useState)(0);
|
|
110
|
+
const previousSrc = (0, react_1.useRef)(src);
|
|
111
|
+
const imgRef = (0, react_1.useRef)();
|
|
112
|
+
const timeoutIdRef = (0, react_1.useRef)();
|
|
113
|
+
const previousImg = (0, react_1.useRef)();
|
|
114
|
+
const previousOptions = (0, react_1.useRef)();
|
|
115
|
+
// Oddly, we need to assign to current here after ref creation in order to
|
|
116
|
+
// pass the equivalence check and avoid a spurious reset
|
|
117
|
+
previousOptions.current = options;
|
|
118
|
+
// Note: Mshots doesn't care about the "count" param, but it is important
|
|
119
|
+
// to browser caching. Getting this wrong looks like the url resolving
|
|
120
|
+
// before the image is ready.
|
|
121
|
+
(0, react_1.useEffect)(() => {
|
|
122
|
+
// If there's been a "props" change we need to reset everything:
|
|
123
|
+
if (options !== previousOptions.current ||
|
|
124
|
+
(src !== previousSrc.current && imgRef.current)) {
|
|
125
|
+
// Make sure an old image can't trigger a spurious state update
|
|
126
|
+
debug('resetting mShotsUrl request');
|
|
127
|
+
if (src !== previousSrc.current) {
|
|
128
|
+
debug('src changed\nfrom', previousSrc.current, '\nto', src);
|
|
129
|
+
}
|
|
130
|
+
if (options !== previousOptions.current) {
|
|
131
|
+
debug('options changed\nfrom', previousOptions.current, '\nto', options);
|
|
132
|
+
}
|
|
133
|
+
if (previousImg.current && previousImg.current.onload) {
|
|
134
|
+
previousImg.current.onload = null;
|
|
135
|
+
if (timeoutIdRef.current) {
|
|
136
|
+
clearTimeout(timeoutIdRef.current);
|
|
137
|
+
timeoutIdRef.current = undefined;
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
setLoadedImg(undefined);
|
|
141
|
+
setCount(0);
|
|
142
|
+
previousImg.current = imgRef.current;
|
|
143
|
+
previousOptions.current = options;
|
|
144
|
+
previousSrc.current = src;
|
|
145
|
+
}
|
|
146
|
+
const srcUrl = mshotsUrl(src, options, count);
|
|
147
|
+
const newImage = new Image();
|
|
148
|
+
newImage.onload = () => {
|
|
149
|
+
// Detect default image (Don't request a 400x300 image).
|
|
150
|
+
//
|
|
151
|
+
// If this turns out to be a problem, it might help to know that the
|
|
152
|
+
// http request status for the default is a 307. Unfortunately we
|
|
153
|
+
// don't get the request through an img element so we'd need to
|
|
154
|
+
// take a completely different approach using ajax.
|
|
155
|
+
if (newImage.naturalWidth !== 400 || newImage.naturalHeight !== 300) {
|
|
156
|
+
// Note we're using the naked object here, not the ref, because
|
|
157
|
+
// this is the callback on the image itself. We'd never want
|
|
158
|
+
// the image to finish loading and set some other image.
|
|
159
|
+
setLoadedImg(newImage);
|
|
160
|
+
}
|
|
161
|
+
else if (count < MAXTRIES) {
|
|
162
|
+
// Only refresh 10 times
|
|
163
|
+
// Triggers a target.src change with increasing timeouts
|
|
164
|
+
timeoutIdRef.current = window.setTimeout(() => setCount((count) => count + 1), count * 500);
|
|
165
|
+
}
|
|
166
|
+
};
|
|
167
|
+
newImage.src = srcUrl;
|
|
168
|
+
imgRef.current = newImage;
|
|
169
|
+
return () => {
|
|
170
|
+
if (imgRef.current && imgRef.current.onload) {
|
|
171
|
+
imgRef.current.onload = null;
|
|
172
|
+
}
|
|
173
|
+
clearTimeout(timeoutIdRef.current);
|
|
174
|
+
};
|
|
175
|
+
}, [src, count, options]);
|
|
176
|
+
return loadedImg;
|
|
177
|
+
};
|
|
178
|
+
const MShotsImageControl = ({ url, 'aria-labelledby': labelledby, alt, options, scrollable = false, }) => {
|
|
179
|
+
const imgRef = (0, react_1.useRef)(null);
|
|
180
|
+
const currentlyLoadedUrl = useMshotsImg(url, options, imgRef);
|
|
181
|
+
const src = imgRef.current?.src || '';
|
|
182
|
+
const visible = src && url === currentlyLoadedUrl;
|
|
183
|
+
const backgroundImage = src && `url( ${src} )`;
|
|
184
|
+
const animationScrollSpeedInPixelsPerSecond = 400;
|
|
185
|
+
const animationDuration = (imgRef.current?.naturalHeight || 600) / animationScrollSpeedInPixelsPerSecond;
|
|
186
|
+
const scrollableStyles = {
|
|
187
|
+
backgroundImage,
|
|
188
|
+
transition: `background-position ${animationDuration}s`,
|
|
189
|
+
};
|
|
190
|
+
const style = {
|
|
191
|
+
...(scrollable ? scrollableStyles : {}),
|
|
192
|
+
};
|
|
193
|
+
const className = (0, clsx_1.default)('mshots-image__container', scrollable && 'hover-scroll', visible ? 'mshots-image-visible' : 'mshots-image__loader');
|
|
194
|
+
if (options?.oldHighResImageLoading) {
|
|
195
|
+
return scrollable ? ((0, jsx_runtime_1.jsx)("div", { className: className, style: style, "aria-labelledby": labelledby, children: (0, jsx_runtime_1.jsx)("img", { ref: imgRef, className: "mshots-dummy-image", "aria-hidden": "true", alt: "" }) })) : ((0, jsx_runtime_1.jsx)("img", { ref: imgRef, className, style, src, alt, "aria-labelledby": labelledby, alt: alt }));
|
|
196
|
+
} // else, prettier doesn't like having an else after a return
|
|
197
|
+
return scrollable ? ((0, jsx_runtime_1.jsx)("div", { className: className, style: style, "aria-labelledby": labelledby, children: (0, jsx_runtime_1.jsx)("img", { ref: imgRef, loading: "lazy", className: "mshots-dummy-image", "aria-hidden": "true", alt: "" }) })) : ((0, jsx_runtime_1.jsx)("img", { loading: "lazy", ref: imgRef, className, style, src, alt, "aria-labelledby": labelledby, alt: alt }));
|
|
198
|
+
};
|
|
199
|
+
// Temporary for A/B test.
|
|
200
|
+
const MShotsImageTreatment = ({ url, 'aria-labelledby': labelledby, alt, options, scrollable = false, }) => {
|
|
201
|
+
const maybeImage = useMshotsImgTreatment(url, options);
|
|
202
|
+
const src = maybeImage?.src || '';
|
|
203
|
+
const visible = !!src;
|
|
204
|
+
const backgroundImage = maybeImage?.src && `url( ${maybeImage?.src} )`;
|
|
205
|
+
const animationScrollSpeedInPixelsPerSecond = 400;
|
|
206
|
+
const animationDuration = (maybeImage?.naturalHeight || 600) / animationScrollSpeedInPixelsPerSecond;
|
|
207
|
+
const scrollableStyles = {
|
|
208
|
+
backgroundImage,
|
|
209
|
+
transition: `background-position ${animationDuration}s`,
|
|
210
|
+
};
|
|
211
|
+
const style = {
|
|
212
|
+
...(scrollable ? scrollableStyles : {}),
|
|
213
|
+
};
|
|
214
|
+
const className = (0, clsx_1.default)('mshots-image__container', scrollable && 'hover-scroll', visible ? 'mshots-image-visible' : 'mshots-image__loader');
|
|
215
|
+
// The "! visible" here is only to dodge a particularly specific css
|
|
216
|
+
// rule effecting the placeholder while loading static images:
|
|
217
|
+
// '.design-picker .design-picker__image-frame img { ..., height: auto }'
|
|
218
|
+
return scrollable || !visible ? ((0, jsx_runtime_1.jsx)("div", { className: className, style: style, "aria-labelledby": labelledby })) : ((0, jsx_runtime_1.jsx)("img", { className, style, src, alt, "aria-labelledby": labelledby, alt: alt }));
|
|
219
|
+
};
|
|
220
|
+
// For hover-scroll, we use a div with a background image (rather than an img element)
|
|
221
|
+
// in order to use transitions between `top` and `bottom` on the
|
|
222
|
+
// `background-position` property.
|
|
223
|
+
// The "normal" top & bottom properties are problematic individually because we
|
|
224
|
+
// don't know how big the images will be, and using both gets the
|
|
225
|
+
// right positions but with no transition (as they're different properties).
|
|
226
|
+
const MShotsImage = ({ url, 'aria-labelledby': labelledby, alt, options, scrollable = false, }) => {
|
|
227
|
+
// Return MShotsImageControl or MShotsImageTreatment depending on options.oldHighResImageLoading
|
|
228
|
+
if (options?.oldHighResImageLoading) {
|
|
229
|
+
return ((0, jsx_runtime_1.jsx)(MShotsImageTreatment, { url: url, "aria-labelledby": labelledby, alt: alt, options: options, scrollable: scrollable }));
|
|
230
|
+
}
|
|
231
|
+
return ((0, jsx_runtime_1.jsx)(MShotsImageControl, { url: url, "aria-labelledby": labelledby, alt: alt, options: options, scrollable: scrollable }));
|
|
232
|
+
};
|
|
233
|
+
exports.default = MShotsImage;
|
|
234
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/mshots-image/index.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
@import "../../styles/mixins";
|
|
2
|
+
|
|
3
|
+
.mshots-image__loader {
|
|
4
|
+
@include onboarding-placeholder();
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
.mshots-image__container {
|
|
8
|
+
height: 100%;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
.hover-scroll {
|
|
12
|
+
background-size: 100%;
|
|
13
|
+
background-position: top;
|
|
14
|
+
background-repeat: no-repeat;
|
|
15
|
+
margin-left: auto;
|
|
16
|
+
margin-right: auto;
|
|
17
|
+
|
|
18
|
+
&:hover {
|
|
19
|
+
background-position: bottom;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
.mshots-image-visible {
|
|
24
|
+
animation: fadein 300ms;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
// Increase specificity by repeating class name.
|
|
28
|
+
.mshots-dummy-image.mshots-dummy-image {
|
|
29
|
+
position: absolute;
|
|
30
|
+
display: block;
|
|
31
|
+
visibility: hidden;
|
|
32
|
+
height: 0;
|
|
33
|
+
width: 0;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
@keyframes fadein {
|
|
37
|
+
from {
|
|
38
|
+
opacity: 0;
|
|
39
|
+
}
|
|
40
|
+
to {
|
|
41
|
+
opacity: 1;
|
|
42
|
+
}
|
|
43
|
+
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.useNavigatorListener = void 0;
|
|
4
|
+
var use_navigator_listener_1 = require("./use-navigator-listener");
|
|
5
|
+
Object.defineProperty(exports, "useNavigatorListener", { enumerable: true, get: function () { return __importDefault(use_navigator_listener_1).default; } });
|
|
6
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/navigator/hooks/index.tsx"],"names":[],"mappings":";;;AAAA,mEAA2E;AAAlE,+IAAA,OAAO,OAAwB"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const components_1 = require("@wordpress/components");
|
|
4
|
+
const react_1 = require("react");
|
|
5
|
+
const useNavigatorListener = (onNavigatorPathChange) => {
|
|
6
|
+
const { location } = (0, components_1.__experimentalUseNavigator)();
|
|
7
|
+
const previousPathRef = (0, react_1.useRef)('');
|
|
8
|
+
(0, react_1.useEffect)(() => {
|
|
9
|
+
if (location.path && location.path !== previousPathRef.current) {
|
|
10
|
+
onNavigatorPathChange?.(location.path);
|
|
11
|
+
previousPathRef.current = location.path;
|
|
12
|
+
}
|
|
13
|
+
}, [location.path, onNavigatorPathChange]);
|
|
14
|
+
};
|
|
15
|
+
exports.default = useNavigatorListener;
|
|
16
|
+
//# sourceMappingURL=use-navigator-listener.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-navigator-listener.js","sourceRoot":"","sources":["../../../../src/navigator/hooks/use-navigator-listener.tsx"],"names":[],"mappings":";;AAAA,sDAAmF;AACnF,iCAA0C;AAI1C,MAAM,oBAAoB,GAAG,CAAE,qBAA6C,EAAG,EAAE;IAChF,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAA,uCAAY,GAAE,CAAC;IACpC,MAAM,eAAe,GAAG,IAAA,cAAM,EAAE,EAAE,CAAE,CAAC;IAErC,IAAA,iBAAS,EAAE,GAAG,EAAE;QACf,IAAK,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,IAAI,KAAK,eAAe,CAAC,OAAO,EAAG,CAAC;YAClE,qBAAqB,EAAE,CAAE,QAAQ,CAAC,IAAI,CAAE,CAAC;YACzC,eAAe,CAAC,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC;QACzC,CAAC;IACF,CAAC,EAAE,CAAE,QAAQ,CAAC,IAAI,EAAE,qBAAqB,CAAE,CAAE,CAAC;AAC/C,CAAC,CAAC;AAEF,kBAAe,oBAAoB,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.NavigatorScreen = exports.NavigatorListener = exports.NavigatorItemGroup = exports.NavigatorHeader = exports.NavigatorItem = exports.NavigatorButtonAsItem = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
tslib_1.__exportStar(require("./hooks"), exports);
|
|
6
|
+
var navigator_buttons_1 = require("./navigator-buttons");
|
|
7
|
+
Object.defineProperty(exports, "NavigatorButtonAsItem", { enumerable: true, get: function () { return navigator_buttons_1.NavigatorButtonAsItem; } });
|
|
8
|
+
Object.defineProperty(exports, "NavigatorItem", { enumerable: true, get: function () { return navigator_buttons_1.NavigatorItem; } });
|
|
9
|
+
var navigator_header_1 = require("./navigator-header");
|
|
10
|
+
Object.defineProperty(exports, "NavigatorHeader", { enumerable: true, get: function () { return tslib_1.__importDefault(navigator_header_1).default; } });
|
|
11
|
+
var navigator_item_group_1 = require("./navigator-item-group");
|
|
12
|
+
Object.defineProperty(exports, "NavigatorItemGroup", { enumerable: true, get: function () { return tslib_1.__importDefault(navigator_item_group_1).default; } });
|
|
13
|
+
var navigator_listener_1 = require("./navigator-listener");
|
|
14
|
+
Object.defineProperty(exports, "NavigatorListener", { enumerable: true, get: function () { return tslib_1.__importDefault(navigator_listener_1).default; } });
|
|
15
|
+
var navigator_screen_1 = require("./navigator-screen");
|
|
16
|
+
Object.defineProperty(exports, "NavigatorScreen", { enumerable: true, get: function () { return tslib_1.__importDefault(navigator_screen_1).default; } });
|
|
17
|
+
tslib_1.__exportStar(require("./navigator-screens"), exports);
|
|
18
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/navigator/index.ts"],"names":[],"mappings":";;;;AAAA,kDAAwB;AACxB,yDAA2E;AAAlE,0HAAA,qBAAqB,OAAA;AAAE,kHAAA,aAAa,OAAA;AAC7C,uDAAgE;AAAvD,4IAAA,OAAO,OAAmB;AACnC,+DAAuE;AAA9D,mJAAA,OAAO,OAAsB;AACtC,2DAAoE;AAA3D,gJAAA,OAAO,OAAqB;AACrC,uDAAgE;AAAvD,4IAAA,OAAO,OAAmB;AACnC,8DAAoC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.NavigatorButtonAsItem = exports.NavigatorItem = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
6
|
+
const components_1 = require("@wordpress/components");
|
|
7
|
+
const i18n_1 = require("@wordpress/i18n");
|
|
8
|
+
const icons_1 = require("@wordpress/icons");
|
|
9
|
+
const clsx_1 = tslib_1.__importDefault(require("clsx"));
|
|
10
|
+
require("./style.scss");
|
|
11
|
+
function NavigatorItem({ icon, checked, active, children, ...props }) {
|
|
12
|
+
const content = icon ? ((0, jsx_runtime_1.jsxs)(components_1.__experimentalHStack, { justify: "flex-start", children: [(0, jsx_runtime_1.jsx)(icons_1.Icon, { className: "navigator-item__icon", icon: checked ? icons_1.check : icon, size: 24 }), (0, jsx_runtime_1.jsx)(components_1.FlexItem, { className: "navigator-item__text", display: "flex", isBlock: true, children: children })] })) : ((0, jsx_runtime_1.jsx)(components_1.FlexItem, { display: "flex", isBlock: true, children: children }));
|
|
13
|
+
const forwardIcon = (0, i18n_1.isRTL)() ? icons_1.chevronLeft : icons_1.chevronRight;
|
|
14
|
+
return ((0, jsx_runtime_1.jsx)(components_1.__experimentalItem, { ...props, className: (0, clsx_1.default)('navigator-item', {
|
|
15
|
+
'navigator-item--active': active,
|
|
16
|
+
}), children: (0, jsx_runtime_1.jsxs)(components_1.__experimentalHStack, { justify: "space-between", children: [content, (0, jsx_runtime_1.jsx)(icons_1.Icon, { icon: forwardIcon, size: 24 })] }) }));
|
|
17
|
+
}
|
|
18
|
+
exports.NavigatorItem = NavigatorItem;
|
|
19
|
+
const NavigatorButtonAsItem = ({ ...props }) => {
|
|
20
|
+
return (0, jsx_runtime_1.jsx)(components_1.__experimentalNavigatorButton, { as: NavigatorItem, ...props });
|
|
21
|
+
};
|
|
22
|
+
exports.NavigatorButtonAsItem = NavigatorButtonAsItem;
|
|
23
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/navigator/navigator-buttons/index.tsx"],"names":[],"mappings":";;;;;AAAA,sDAK+B;AAC/B,0CAAwC;AACxC,4CAA0E;AAC1E,wDAAwB;AACxB,wBAAsB;AAetB,SAAgB,aAAa,CAAE,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAsB;IAC/F,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,CACtB,wBAAC,iCAAM,IAAC,OAAO,EAAC,YAAY,aAC3B,uBAAC,YAAI,IAAC,SAAS,EAAC,sBAAsB,EAAC,IAAI,EAAG,OAAO,CAAC,CAAC,CAAC,aAAK,CAAC,CAAC,CAAC,IAAI,EAAG,IAAI,EAAG,EAAE,GAAK,EACrF,uBAAC,qBAAQ,IAAC,SAAS,EAAC,sBAAsB,EAAC,OAAO,EAAC,MAAM,EAAC,OAAO,kBAC9D,QAAQ,GACA,IACH,CACT,CAAC,CAAC,CAAC,CACH,uBAAC,qBAAQ,IAAC,OAAO,EAAC,MAAM,EAAC,OAAO,kBAC7B,QAAQ,GACA,CACX,CAAC;IAEF,MAAM,WAAW,GAAG,IAAA,YAAK,GAAE,CAAC,CAAC,CAAC,mBAAW,CAAC,CAAC,CAAC,oBAAY,CAAC;IAEzD,OAAO,CACN,uBAAC,+BAAI,OACC,KAAK,EACV,SAAS,EAAG,IAAA,cAAI,EAAE,gBAAgB,EAAE;YACnC,wBAAwB,EAAE,MAAM;SAChC,CAAE,YAEH,wBAAC,iCAAM,IAAC,OAAO,EAAC,eAAe,aAC5B,OAAO,EACT,uBAAC,YAAI,IAAC,IAAI,EAAG,WAAW,EAAG,IAAI,EAAG,EAAE,GAAK,IACjC,GACH,CACP,CAAC;AACH,CAAC;AA7BD,sCA6BC;AAEM,MAAM,qBAAqB,GAAG,CAAE,EAAE,GAAG,KAAK,EAA8B,EAAG,EAAE;IACnF,OAAO,uBAAC,0CAAe,IAAC,EAAE,EAAG,aAAa,KAAQ,KAAK,GAAK,CAAC;AAC9D,CAAC,CAAC;AAFW,QAAA,qBAAqB,yBAEhC"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
@import "@automattic/typography/styles/fonts";
|
|
2
|
+
|
|
3
|
+
.components-item.navigator-item {
|
|
4
|
+
height: 44px;
|
|
5
|
+
line-height: 44px;
|
|
6
|
+
padding: 0 5px 0 8px;
|
|
7
|
+
margin: 0 -5px 0 -8px;
|
|
8
|
+
font-size: $font-body-small;
|
|
9
|
+
font-weight: 400;
|
|
10
|
+
letter-spacing: -0.15px;
|
|
11
|
+
color: var(--studio-gray-100);
|
|
12
|
+
border: none;
|
|
13
|
+
background: transparent;
|
|
14
|
+
cursor: pointer;
|
|
15
|
+
|
|
16
|
+
svg {
|
|
17
|
+
flex-shrink: 0;
|
|
18
|
+
fill: currentColor;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
&:hover,
|
|
22
|
+
&:focus-visible {
|
|
23
|
+
color: var(--studio-blue-50);
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
&:focus {
|
|
27
|
+
box-shadow: none;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
&:focus-visible {
|
|
31
|
+
border-color: var(--color-primary);
|
|
32
|
+
box-shadow: 0 0 0 2px var(--color-primary-light);
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
&:active {
|
|
36
|
+
background-color: var(--studio-blue-0);
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
.navigator-item__text {
|
|
40
|
+
padding-left: 1px;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
&--active {
|
|
44
|
+
background-color: var(--studio-blue-0);
|
|
45
|
+
color: var(--studio-blue-50);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
4
|
+
const components_1 = require("@automattic/components");
|
|
5
|
+
const components_2 = require("@wordpress/components");
|
|
6
|
+
const i18n_calypso_1 = require("i18n-calypso");
|
|
7
|
+
require("./style.scss");
|
|
8
|
+
const NavigatorHeader = ({ title, description, hideBack, onBack }) => {
|
|
9
|
+
const translate = (0, i18n_calypso_1.useTranslate)();
|
|
10
|
+
return ((0, jsx_runtime_1.jsxs)("div", { className: "navigator-header", children: [(0, jsx_runtime_1.jsxs)(components_2.__experimentalHStack, { className: "navigator-header__heading", spacing: 2, justify: "flex-start", children: [!hideBack && ((0, jsx_runtime_1.jsx)(components_2.__experimentalNavigatorBackButton, { as: components_1.Button, title: translate('Back'), borderless: true, "aria-label": translate('Navigate to the previous view'), onClick: onBack, children: (0, jsx_runtime_1.jsx)(components_1.Gridicon, { icon: "chevron-left", size: 16 }) })), (0, jsx_runtime_1.jsx)("h2", { children: title })] }), description && (0, jsx_runtime_1.jsx)("p", { className: "navigator-header__description", children: description })] }));
|
|
11
|
+
};
|
|
12
|
+
exports.default = NavigatorHeader;
|
|
13
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/navigator/navigator-header/index.tsx"],"names":[],"mappings":";;;AAAA,uDAA0D;AAC1D,sDAG+B;AAC/B,+CAA6D;AAC7D,wBAAsB;AAStB,MAAM,eAAe,GAAG,CAAE,EAAE,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,EAAS,EAAG,EAAE;IAC7E,MAAM,SAAS,GAAG,IAAA,2BAAY,GAAE,CAAC;IAEjC,OAAO,CACN,iCAAK,SAAS,EAAC,kBAAkB,aAChC,wBAAC,iCAAM,IAAC,SAAS,EAAC,2BAA2B,EAAC,OAAO,EAAG,CAAC,EAAG,OAAO,EAAC,YAAY,aAC7E,CAAE,QAAQ,IAAI,CACf,uBAAC,8CAAmB,IACnB,EAAE,EAAG,mBAAM,EACX,KAAK,EAAG,SAAS,CAAE,MAAM,CAAE,EAC3B,UAAU,sBACG,SAAS,CAAE,+BAA+B,CAAE,EACzD,OAAO,EAAG,MAAM,YAEhB,uBAAC,qBAAQ,IAAC,IAAI,EAAC,cAAc,EAAC,IAAI,EAAG,EAAE,GAAK,GACvB,CACtB,EACD,yCAAM,KAAK,GAAO,IACV,EACP,WAAW,IAAI,8BAAG,SAAS,EAAC,+BAA+B,YAAG,WAAW,GAAM,IAC5E,CACN,CAAC;AACH,CAAC,CAAC;AAEF,kBAAe,eAAe,CAAC"}
|