@portfoliablejs/valence 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +23 -0
- package/package.json +68 -0
- package/public/favicon.svg +1 -0
- package/public/icons.svg +24 -0
- package/src/assets/devices/apple/mobile/consulta.avif +0 -0
- package/src/assets/devices/apple/mobile/iphone17.avif +0 -0
- package/src/assets/devices/apple/mobile/iphone6.avif +0 -0
- package/src/assets/devices/apple/mobile/iphonex.avif +0 -0
- package/src/assets/devices/apple/wearables/appleWatch.avif +0 -0
- package/src/assets/hero.png +0 -0
- package/src/assets/javascript.svg +1 -0
- package/src/assets/vite.svg +1 -0
- package/src/counter.js +9 -0
- package/src/index.js +25 -0
- package/src/lib/i18n.js +50 -0
- package/src/main.js +50 -0
- package/src/stories/assets/mockups/desktop/apple/Apple MacBook Air/Device/Apple MacBook Air Gold.avif +0 -0
- package/src/stories/assets/mockups/desktop/apple/Apple MacBook Air/Device/Apple MacBook Air Silver.avif +0 -0
- package/src/stories/assets/mockups/desktop/apple/Apple MacBook Air/Device/Apple MacBook Air Space Grey.avif +0 -0
- package/src/stories/assets/mockups/desktop/apple/Apple MacBook Pro/Device/Apple Macbook Pro 13 Silver.avif +0 -0
- package/src/stories/assets/mockups/desktop/apple/Apple MacBook Pro/Device/Apple Macbook Pro 13 Space Grey.avif +0 -0
- package/src/stories/assets/mockups/desktop/apple/Apple MacBook Pro/Device/Apple Macbook Pro 16 Silver.avif +0 -0
- package/src/stories/assets/mockups/desktop/apple/Apple MacBook Pro/Device/Apple Macbook Pro 16 Space Grey.avif +0 -0
- package/src/stories/assets/mockups/desktop/apple/Apple Macbook/Device/Apple-Macbook-Gold.avif +0 -0
- package/src/stories/assets/mockups/desktop/apple/Apple Macbook/Device/Apple-Macbook-Space-Grey.avif +0 -0
- package/src/stories/assets/mockups/desktop/apple/Apple Pro Display XDR/Device/Apple Pro Display XDR.avif +0 -0
- package/src/stories/assets/mockups/desktop/apple/Apple Thunderbolt Display/Device/Apple Thunderbolt Display.avif +0 -0
- package/src/stories/assets/mockups/desktop/apple/Apple iMac/Device/Apple iMac.avif +0 -0
- package/src/stories/assets/mockups/desktop/apple/Apple iMac 24 2021/Device/Apple iMac 24 Blue.avif +0 -0
- package/src/stories/assets/mockups/desktop/apple/Apple iMac 24 2021/Device/Apple iMac 24 Green.avif +0 -0
- package/src/stories/assets/mockups/desktop/apple/Apple iMac 24 2021/Device/Apple iMac 24 Orange.avif +0 -0
- package/src/stories/assets/mockups/desktop/apple/Apple iMac 24 2021/Device/Apple iMac 24 Purple.avif +0 -0
- package/src/stories/assets/mockups/desktop/apple/Apple iMac 24 2021/Device/Apple iMac 24 Red.avif +0 -0
- package/src/stories/assets/mockups/desktop/apple/Apple iMac 24 2021/Device/Apple iMac 24 Silver.avif +0 -0
- package/src/stories/assets/mockups/desktop/apple/Apple iMac 24 2021/Device/Apple iMac 24 Yellow.avif +0 -0
- package/src/stories/assets/mockups/desktop/apple/Apple iMac Pro/Device/Apple iMac Pro.avif +0 -0
- package/src/stories/assets/mockups/desktop/apple/Apple iMac Retina/Device/Apple iMac Retina.avif +0 -0
- package/src/stories/assets/mockups/desktop/dell/Dell UltraSharp HD 5K Monitor/Device/Dell UltraSharp 5K Monitor 27 90deg.avif +0 -0
- package/src/stories/assets/mockups/desktop/dell/Dell UltraSharp HD 5K Monitor/Device/Dell UltraSharp 5K Monitor 27.avif +0 -0
- package/src/stories/assets/mockups/desktop/dell/Dell UltraSharp Monitor/24 Inch/Device/Dell UltraSharp 24 90deg.avif +0 -0
- package/src/stories/assets/mockups/desktop/dell/Dell UltraSharp Monitor/24 Inch/Device/Dell UltraSharp 24.avif +0 -0
- package/src/stories/assets/mockups/desktop/dell/Dell UltraSharp Monitor/27 Inch/Device/Dell UltraSharp 27 90deg.avif +0 -0
- package/src/stories/assets/mockups/desktop/dell/Dell UltraSharp Monitor/27 Inch/Device/Dell UltraSharp 27.avif +0 -0
- package/src/stories/assets/mockups/mobile/apple/Apple iPhone 11/Device/Apple iPhone 11 Black.avif +0 -0
- package/src/stories/assets/mockups/mobile/apple/Apple iPhone 11/Device/Apple iPhone 11 Green.avif +0 -0
- package/src/stories/assets/mockups/mobile/apple/Apple iPhone 11/Device/Apple iPhone 11 Purple.avif +0 -0
- package/src/stories/assets/mockups/mobile/apple/Apple iPhone 11/Device/Apple iPhone 11 Red.avif +0 -0
- package/src/stories/assets/mockups/mobile/apple/Apple iPhone 11/Device/Apple iPhone 11 White.avif +0 -0
- package/src/stories/assets/mockups/mobile/apple/Apple iPhone 11/Device/Apple iPhone 11 Yellow.avif +0 -0
- package/src/stories/assets/mockups/mobile/apple/Apple iPhone 11 Pro/Device/Apple iPhone 11 Pro Gold.avif +0 -0
- package/src/stories/assets/mockups/mobile/apple/Apple iPhone 11 Pro/Device/Apple iPhone 11 Pro Midnight Green.avif +0 -0
- package/src/stories/assets/mockups/mobile/apple/Apple iPhone 11 Pro/Device/Apple iPhone 11 Pro Silver.avif +0 -0
- package/src/stories/assets/mockups/mobile/apple/Apple iPhone 11 Pro/Device/Apple iPhone 11 Pro Space Grey.avif +0 -0
- package/src/stories/assets/mockups/mobile/apple/Apple iPhone 11 Pro Max/Device/Apple iPhone 11 Pro Max Gold.avif +0 -0
- package/src/stories/assets/mockups/mobile/apple/Apple iPhone 11 Pro Max/Device/Apple iPhone 11 Pro Max Midnight Green.avif +0 -0
- package/src/stories/assets/mockups/mobile/apple/Apple iPhone 11 Pro Max/Device/Apple iPhone 11 Pro Max Silver.avif +0 -0
- package/src/stories/assets/mockups/mobile/apple/Apple iPhone 11 Pro Max/Device/Apple iPhone 11 Pro Max Space Grey.avif +0 -0
- package/src/stories/assets/mockups/mobile/apple/Apple iPhone 12/Device/Apple iPhone 12 Black.avif +0 -0
- package/src/stories/assets/mockups/mobile/apple/Apple iPhone 12/Device/Apple iPhone 12 Blue.avif +0 -0
- package/src/stories/assets/mockups/mobile/apple/Apple iPhone 12/Device/Apple iPhone 12 Green.avif +0 -0
- package/src/stories/assets/mockups/mobile/apple/Apple iPhone 12/Device/Apple iPhone 12 Red.avif +0 -0
- package/src/stories/assets/mockups/mobile/apple/Apple iPhone 12/Device/Apple iPhone 12 White.avif +0 -0
- package/src/stories/assets/mockups/mobile/apple/Apple iPhone 12 Mini/Device/Apple iPhone 12 Mini Black.avif +0 -0
- package/src/stories/assets/mockups/mobile/apple/Apple iPhone 12 Mini/Device/Apple iPhone 12 Mini Blue.avif +0 -0
- package/src/stories/assets/mockups/mobile/apple/Apple iPhone 12 Mini/Device/Apple iPhone 12 Mini Green.avif +0 -0
- package/src/stories/assets/mockups/mobile/apple/Apple iPhone 12 Mini/Device/Apple iPhone 12 Mini Red.avif +0 -0
- package/src/stories/assets/mockups/mobile/apple/Apple iPhone 12 Mini/Device/Apple iPhone 12 Mini White.avif +0 -0
- package/src/stories/assets/mockups/mobile/apple/Apple iPhone 12 Pro/Device/Apple iPhone 12 Pro Gold.avif +0 -0
- package/src/stories/assets/mockups/mobile/apple/Apple iPhone 12 Pro/Device/Apple iPhone 12 Pro Graphite.avif +0 -0
- package/src/stories/assets/mockups/mobile/apple/Apple iPhone 12 Pro/Device/Apple iPhone 12 Pro Pacific Blue.avif +0 -0
- package/src/stories/assets/mockups/mobile/apple/Apple iPhone 12 Pro/Device/Apple iPhone 12 Pro Silver.avif +0 -0
- package/src/stories/assets/mockups/mobile/apple/Apple iPhone 12 Pro Max/Device/Apple iPhone 12 Pro Max Gold.avif +0 -0
- package/src/stories/assets/mockups/mobile/apple/Apple iPhone 12 Pro Max/Device/Apple iPhone 12 Pro Max Graphite.avif +0 -0
- package/src/stories/assets/mockups/mobile/apple/Apple iPhone 12 Pro Max/Device/Apple iPhone 12 Pro Max Pacific Blue.avif +0 -0
- package/src/stories/assets/mockups/mobile/apple/Apple iPhone 12 Pro Max/Device/Apple iPhone 12 Pro Max Silver.avif +0 -0
- package/src/stories/assets/mockups/mobile/apple/Apple iPhone 13/Device/Apple iPhone 13 /342/200/224 Blue.avif +0 -0
- package/src/stories/assets/mockups/mobile/apple/Apple iPhone 13/Device/Apple iPhone 13 /342/200/224 Midnight.avif +0 -0
- package/src/stories/assets/mockups/mobile/apple/Apple iPhone 13/Device/Apple iPhone 13 /342/200/224 Pink.avif +0 -0
- package/src/stories/assets/mockups/mobile/apple/Apple iPhone 13/Device/Apple iPhone 13 /342/200/224 Red.avif +0 -0
- package/src/stories/assets/mockups/mobile/apple/Apple iPhone 13/Device/Apple iPhone 13 /342/200/224 Starlight.avif +0 -0
- package/src/stories/assets/mockups/mobile/apple/Apple iPhone 13 Mini/Device/iPhone 13 Mini /342/200/224 Blue.avif +0 -0
- package/src/stories/assets/mockups/mobile/apple/Apple iPhone 13 Mini/Device/iPhone 13 Mini /342/200/224 Midnight.avif +0 -0
- package/src/stories/assets/mockups/mobile/apple/Apple iPhone 13 Mini/Device/iPhone 13 Mini /342/200/224 Pink.avif +0 -0
- package/src/stories/assets/mockups/mobile/apple/Apple iPhone 13 Mini/Device/iPhone 13 Mini /342/200/224 Red.avif +0 -0
- package/src/stories/assets/mockups/mobile/apple/Apple iPhone 13 Mini/Device/iPhone 13 Mini /342/200/224 Starlight.avif +0 -0
- package/src/stories/assets/mockups/mobile/apple/Apple iPhone 13 Pro/Device/Apple iPhone 13 Pro /342/200/224 Gold.avif +0 -0
- package/src/stories/assets/mockups/mobile/apple/Apple iPhone 13 Pro/Device/Apple iPhone 13 Pro /342/200/224 Graphite.avif +0 -0
- package/src/stories/assets/mockups/mobile/apple/Apple iPhone 13 Pro/Device/Apple iPhone 13 Pro /342/200/224 Sierra Blue.avif +0 -0
- package/src/stories/assets/mockups/mobile/apple/Apple iPhone 13 Pro/Device/Apple iPhone 13 Pro /342/200/224 Silver.avif +0 -0
- package/src/stories/assets/mockups/mobile/apple/Apple iPhone 13 Pro Max/Device/Apple iPhone 13 Pro Max /342/200/224 Gold.avif +0 -0
- package/src/stories/assets/mockups/mobile/apple/Apple iPhone 13 Pro Max/Device/Apple iPhone 13 Pro Max /342/200/224 Graphite.avif +0 -0
- package/src/stories/assets/mockups/mobile/apple/Apple iPhone 13 Pro Max/Device/Apple iPhone 13 Pro Max /342/200/224 Sierra Blue.avif +0 -0
- package/src/stories/assets/mockups/mobile/apple/Apple iPhone 13 Pro Max/Device/Apple iPhone 13 Pro Max /342/200/224 Silver.avif +0 -0
- package/src/stories/assets/mockups/mobile/apple/Apple iPhone 5c/Device/Apple iPhone 5c Blue.avif +0 -0
- package/src/stories/assets/mockups/mobile/apple/Apple iPhone 5c/Device/Apple iPhone 5c Green.avif +0 -0
- package/src/stories/assets/mockups/mobile/apple/Apple iPhone 5c/Device/Apple iPhone 5c Red.avif +0 -0
- package/src/stories/assets/mockups/mobile/apple/Apple iPhone 5c/Device/Apple iPhone 5c White.avif +0 -0
- package/src/stories/assets/mockups/mobile/apple/Apple iPhone 5c/Device/Apple iPhone 5c Yellow.avif +0 -0
- package/src/stories/assets/mockups/mobile/apple/Apple iPhone 5s/Device/Apple iPhone 5s Gold.avif +0 -0
- package/src/stories/assets/mockups/mobile/apple/Apple iPhone 5s/Device/Apple iPhone 5s Silver.avif +0 -0
- package/src/stories/assets/mockups/mobile/apple/Apple iPhone 5s/Device/Apple iPhone 5s Space Gray.avif +0 -0
- package/src/stories/assets/mockups/mobile/apple/Apple iPhone 6s/Device/Apple iPhone 6s Gold.avif +0 -0
- package/src/stories/assets/mockups/mobile/apple/Apple iPhone 6s/Device/Apple iPhone 6s Rose Gold.avif +0 -0
- package/src/stories/assets/mockups/mobile/apple/Apple iPhone 6s/Device/Apple iPhone 6s Silver.avif +0 -0
- package/src/stories/assets/mockups/mobile/apple/Apple iPhone 6s/Device/Apple iPhone 6s Space Gray.avif +0 -0
- package/src/stories/assets/mockups/mobile/apple/Apple iPhone 6s Plus/Device/Apple iPhone 6s Plus Gold.avif +0 -0
- package/src/stories/assets/mockups/mobile/apple/Apple iPhone 6s Plus/Device/Apple iPhone 6s Plus Rose Gold.avif +0 -0
- package/src/stories/assets/mockups/mobile/apple/Apple iPhone 6s Plus/Device/Apple iPhone 6s Plus Silver.avif +0 -0
- package/src/stories/assets/mockups/mobile/apple/Apple iPhone 6s Plus/Device/Apple iPhone 6s Plus Space Gray.avif +0 -0
- package/src/stories/assets/mockups/mobile/apple/Apple iPhone 7/Device/Apple iPhone 7 Gold.avif +0 -0
- package/src/stories/assets/mockups/mobile/apple/Apple iPhone 7/Device/Apple iPhone 7 Jet Black.avif +0 -0
- package/src/stories/assets/mockups/mobile/apple/Apple iPhone 7/Device/Apple iPhone 7 Matte Black.avif +0 -0
- package/src/stories/assets/mockups/mobile/apple/Apple iPhone 7/Device/Apple iPhone 7 Rose Gold.avif +0 -0
- package/src/stories/assets/mockups/mobile/apple/Apple iPhone 7/Device/Apple iPhone 7 Silver.avif +0 -0
- package/src/stories/assets/mockups/mobile/apple/Apple iPhone 7 Plus/Device/Apple iPhone 7 Plus Gold.avif +0 -0
- package/src/stories/assets/mockups/mobile/apple/Apple iPhone 7 Plus/Device/Apple iPhone 7 Plus Jet Black.avif +0 -0
- package/src/stories/assets/mockups/mobile/apple/Apple iPhone 7 Plus/Device/Apple iPhone 7 Plus Matte Black.avif +0 -0
- package/src/stories/assets/mockups/mobile/apple/Apple iPhone 7 Plus/Device/Apple iPhone 7 Plus Rose Gold.avif +0 -0
- package/src/stories/assets/mockups/mobile/apple/Apple iPhone 7 Plus/Device/Apple iPhone 7 Plus Silver.avif +0 -0
- package/src/stories/assets/mockups/mobile/apple/Apple iPhone 8/Device/Apple iPhone 8 Gold.avif +0 -0
- package/src/stories/assets/mockups/mobile/apple/Apple iPhone 8/Device/Apple iPhone 8 Silver.avif +0 -0
- package/src/stories/assets/mockups/mobile/apple/Apple iPhone 8/Device/Apple iPhone 8 Space Grey.avif +0 -0
- package/src/stories/assets/mockups/mobile/apple/Apple iPhone 8 Plus/Device/Apple iPhone 8 Plus Gold.avif +0 -0
- package/src/stories/assets/mockups/mobile/apple/Apple iPhone 8 Plus/Device/Apple iPhone 8 Plus Silver.avif +0 -0
- package/src/stories/assets/mockups/mobile/apple/Apple iPhone 8 Plus/Device/Apple iPhone 8 Plus Space Grey.avif +0 -0
- package/src/stories/assets/mockups/mobile/apple/Apple iPhone SE/Device/Apple iPhone SE Black.avif +0 -0
- package/src/stories/assets/mockups/mobile/apple/Apple iPhone SE/Device/Apple iPhone SE Red.avif +0 -0
- package/src/stories/assets/mockups/mobile/apple/Apple iPhone SE/Device/Apple iPhone SE White.avif +0 -0
- package/src/stories/assets/mockups/mobile/apple/Apple iPhone X/Device/Apple iPhone X Silver.avif +0 -0
- package/src/stories/assets/mockups/mobile/apple/Apple iPhone X/Device/Apple iPhone X Space Grey.avif +0 -0
- package/src/stories/assets/mockups/mobile/apple/Apple iPhone XR/Device/Apple iPhone XR Blue.avif +0 -0
- package/src/stories/assets/mockups/mobile/apple/Apple iPhone XR/Device/Apple iPhone XR Coral.avif +0 -0
- package/src/stories/assets/mockups/mobile/apple/Apple iPhone XR/Device/Apple iPhone XR Red.avif +0 -0
- package/src/stories/assets/mockups/mobile/apple/Apple iPhone XR/Device/Apple iPhone XR Silver.avif +0 -0
- package/src/stories/assets/mockups/mobile/apple/Apple iPhone XR/Device/Apple iPhone XR Space Grey.avif +0 -0
- package/src/stories/assets/mockups/mobile/apple/Apple iPhone XR/Device/Apple iPhone XR Yellow.avif +0 -0
- package/src/stories/assets/mockups/mobile/apple/Apple iPhone XS/Device/Apple iPhone XS Gold.avif +0 -0
- package/src/stories/assets/mockups/mobile/apple/Apple iPhone XS/Device/Apple iPhone XS Silver.avif +0 -0
- package/src/stories/assets/mockups/mobile/apple/Apple iPhone XS/Device/Apple iPhone XS Space Grey.avif +0 -0
- package/src/stories/assets/mockups/mobile/apple/Apple iPhone XS Max/Device/Apple iPhone XS Max Gold.avif +0 -0
- package/src/stories/assets/mockups/mobile/apple/Apple iPhone XS Max/Device/Apple iPhone XS Max Silver.avif +0 -0
- package/src/stories/assets/mockups/mobile/apple/Apple iPhone XS Max/Device/Apple iPhone XS Max Space Grey.avif +0 -0
- package/src/stories/assets/mockups/mobile/google/Google Pixel/Device/Google Pixel Quite Black.avif +0 -0
- package/src/stories/assets/mockups/mobile/google/Google Pixel/Device/Google Pixel Really Blue.avif +0 -0
- package/src/stories/assets/mockups/mobile/google/Google Pixel/Device/Google Pixel Very Silver.avif +0 -0
- package/src/stories/assets/mockups/mobile/google/Google Pixel 2/Device/Google PIxel 2 Kinda Blue.avif +0 -0
- package/src/stories/assets/mockups/mobile/google/Google Pixel 2/Device/Google Pixel 2 Clearly White.avif +0 -0
- package/src/stories/assets/mockups/mobile/google/Google Pixel 2/Device/Google Pixel 2 Just Black.avif +0 -0
- White.avif +0 -0
- package/src/stories/assets/mockups/mobile/google/Google Pixel 2 XL/Device/Google Pixel 2 XL Just Black.avif +0 -0
- package/src/stories/assets/mockups/mobile/google/Google Pixel 3/Device/Google Pixel 3 - Clearly White.avif +0 -0
- package/src/stories/assets/mockups/mobile/google/Google Pixel 3/Device/Google Pixel 3 - Just Black.avif +0 -0
- package/src/stories/assets/mockups/mobile/google/Google Pixel 3/Device/Google Pixel 3 - Not Pink.avif +0 -0
- package/src/stories/assets/mockups/mobile/google/Google Pixel 3 XL/Device/Google Pixel 3 XL - Clearly White.avif +0 -0
- package/src/stories/assets/mockups/mobile/google/Google Pixel 3 XL/Device/Google Pixel 3 XL - Just Black.avif +0 -0
- package/src/stories/assets/mockups/mobile/google/Google Pixel 3 XL/Device/Google Pixel 3 XL - Not Pink.avif +0 -0
- package/src/stories/assets/mockups/mobile/google/Google Pixel 4/Device/Google Pixel 4 Clearly White.avif +0 -0
- package/src/stories/assets/mockups/mobile/google/Google Pixel 4/Device/Google Pixel 4 Just Black.avif +0 -0
- package/src/stories/assets/mockups/mobile/google/Google Pixel 4/Device/Google Pixel 4 Oh So Orange.avif +0 -0
- package/src/stories/assets/mockups/mobile/google/Google Pixel 4 XL/Device/Google Pixel 4 XL Clearly White.avif +0 -0
- package/src/stories/assets/mockups/mobile/google/Google Pixel 4 XL/Device/Google Pixel 4 XL Just Black.avif +0 -0
- package/src/stories/assets/mockups/mobile/google/Google Pixel 4 XL/Device/Google Pixel 4 XL Oh So Orange.avif +0 -0
- package/src/stories/assets/mockups/mobile/google/Google Pixel 5/Device/Google Pixel 5 Just Black.avif +0 -0
- package/src/stories/assets/mockups/mobile/google/Google Pixel 5/Device/Google Pixel 5/302/240Sorta Sage.avif +0 -0
- package/src/stories/assets/mockups/mobile/google/Nexus 4/Device/Nexus 4.avif +0 -0
- package/src/stories/assets/mockups/mobile/google/Nexus 5X/Device/Nexus 5x.avif +0 -0
- package/src/stories/assets/mockups/mobile/google/Nexus 6P/Device/Nexus 6P.avif +0 -0
- package/src/stories/assets/mockups/mobile/google/Nexus 9/Device/Nexus 9.avif +0 -0
- package/src/stories/assets/mockups/mobile/htcone/HTC One A9/Device/HTC One A9 Black.avif +0 -0
- package/src/stories/assets/mockups/mobile/htcone/HTC One A9/Device/HTC One A9 White.avif +0 -0
- package/src/stories/assets/mockups/mobile/huawei/Huawei P8/Device/Huawei P8 Black.avif +0 -0
- package/src/stories/assets/mockups/mobile/huawei/Huawei P8/Device/Huawei P8 White.avif +0 -0
- package/src/stories/assets/mockups/mobile/microsoft/Microsoft Lumia 950/Device/Microsoft Lumia 950 Black.avif +0 -0
- package/src/stories/assets/mockups/mobile/microsoft/Microsoft Lumia 950/Device/Microsoft Lumia 950 White.avif +0 -0
- package/src/stories/assets/mockups/mobile/motorola/Motorola Moto E/Device/Motorola Moto E Black.avif +0 -0
- package/src/stories/assets/mockups/mobile/motorola/Motorola Moto E/Device/Motorola Moto E White.avif +0 -0
- package/src/stories/assets/mockups/mobile/motorola/Motorola Moto G/Device/Motorola Moto G.avif +0 -0
- package/src/stories/assets/mockups/mobile/samsung/Samsung Galaxy Note 5/Device/Samsung Galaxy Note 5 Black.avif +0 -0
- package/src/stories/assets/mockups/mobile/samsung/Samsung Galaxy Note 5/Device/Samsung Galaxy Note 5 Gold.avif +0 -0
- package/src/stories/assets/mockups/mobile/samsung/Samsung Galaxy Note 5/Device/Samsung Galaxy Note 5 Pink.avif +0 -0
- package/src/stories/assets/mockups/mobile/samsung/Samsung Galaxy Note 5/Device/Samsung Galaxy Note 5 Silver Titanium.avif +0 -0
- package/src/stories/assets/mockups/mobile/samsung/Samsung Galaxy Note 5/Device/Samsung Galaxy Note 5 White.avif +0 -0
- package/src/stories/assets/mockups/mobile/samsung/Samsung Galaxy Note10/Device/Samsung Galaxy Note10 Aura Black.avif +0 -0
- package/src/stories/assets/mockups/mobile/samsung/Samsung Galaxy Note10/Device/Samsung Galaxy Note10 Aura Glow.avif +0 -0
- package/src/stories/assets/mockups/mobile/samsung/Samsung Galaxy Note10/Device/Samsung Galaxy Note10 Aura Pink.avif +0 -0
- package/src/stories/assets/mockups/mobile/samsung/Samsung Galaxy Note10/Device/Samsung Galaxy Note10 Aura Red.avif +0 -0
- package/src/stories/assets/mockups/mobile/samsung/Samsung Galaxy Note10/Device/Samsung Galaxy Note10 Aura White.avif +0 -0
- package/src/stories/assets/mockups/mobile/samsung/Samsung Galaxy Note10+/Device/Samsung Galaxy Note10+ Aura Black.avif +0 -0
- package/src/stories/assets/mockups/mobile/samsung/Samsung Galaxy Note10+/Device/Samsung Galaxy Note10+ Aura Blue.avif +0 -0
- package/src/stories/assets/mockups/mobile/samsung/Samsung Galaxy Note10+/Device/Samsung Galaxy Note10+ Aura Glow.avif +0 -0
- package/src/stories/assets/mockups/mobile/samsung/Samsung Galaxy Note10+/Device/Samsung Galaxy Note10+ Aura White.avif +0 -0
- package/src/stories/assets/mockups/mobile/samsung/Samsung Galaxy S Duos/Device/Samsung Galaxy S Duos.avif +0 -0
- package/src/stories/assets/mockups/mobile/samsung/Samsung Galaxy S10/Device/Samsung Galaxy S10 Flamingo Pink.avif +0 -0
- package/src/stories/assets/mockups/mobile/samsung/Samsung Galaxy S10/Device/Samsung Galaxy S10 Prism Black.avif +0 -0
- package/src/stories/assets/mockups/mobile/samsung/Samsung Galaxy S10/Device/Samsung Galaxy S10 Prism Blue.avif +0 -0
- package/src/stories/assets/mockups/mobile/samsung/Samsung Galaxy S10/Device/Samsung Galaxy S10 Prism Green.avif +0 -0
- package/src/stories/assets/mockups/mobile/samsung/Samsung Galaxy S10/Device/Samsung Galaxy S10 Prism White.avif +0 -0
- package/src/stories/assets/mockups/mobile/samsung/Samsung Galaxy S10+/Device/Samsung Galaxy S10+ Ceramic White.avif +0 -0
- package/src/stories/assets/mockups/mobile/samsung/Samsung Galaxy S10+/Device/Samsung Galaxy S10+ Flamingo Pink.avif +0 -0
- package/src/stories/assets/mockups/mobile/samsung/Samsung Galaxy S10+/Device/Samsung Galaxy S10+ Prism Black.avif +0 -0
- package/src/stories/assets/mockups/mobile/samsung/Samsung Galaxy S10+/Device/Samsung Galaxy S10+ Prism Blue.avif +0 -0
- package/src/stories/assets/mockups/mobile/samsung/Samsung Galaxy S10+/Device/Samsung Galaxy S10+ Prism Green.avif +0 -0
- package/src/stories/assets/mockups/mobile/samsung/Samsung Galaxy S10+/Device/Samsung Galaxy S10+ Prism White.avif +0 -0
- package/src/stories/assets/mockups/mobile/samsung/Samsung Galaxy S20/Device/Samsung Galaxy S20 Cloud Blue.avif +0 -0
- package/src/stories/assets/mockups/mobile/samsung/Samsung Galaxy S20/Device/Samsung Galaxy S20 Cloud Pink.avif +0 -0
- package/src/stories/assets/mockups/mobile/samsung/Samsung Galaxy S20/Device/Samsung Galaxy S20 Cosmic Gray.avif +0 -0
- package/src/stories/assets/mockups/mobile/samsung/Samsung Galaxy S20 Ultra/Device/Samsung Galaxy S20 Utra Cosmic Black.avif +0 -0
- package/src/stories/assets/mockups/mobile/samsung/Samsung Galaxy S20 Ultra/Device/Samsung Galaxy S20 Utra Cosmic Gray.avif +0 -0
- package/src/stories/assets/mockups/mobile/samsung/Samsung Galaxy S20+/Device/Samsung Galaxy S20+ Cloud Blue.avif +0 -0
- package/src/stories/assets/mockups/mobile/samsung/Samsung Galaxy S20+/Device/Samsung Galaxy S20+ Cosmic Black.avif +0 -0
- package/src/stories/assets/mockups/mobile/samsung/Samsung Galaxy S20+/Device/Samsung Galaxy S20+ Cosmic Gray.avif +0 -0
- package/src/stories/assets/mockups/mobile/samsung/Samsung Galaxy S21 5G/Device/Samsung Galaxy S21 5G /342/200/224 Black.avif +0 -0
- package/src/stories/assets/mockups/mobile/samsung/Samsung Galaxy S21 5G/Device/Samsung Galaxy S21 5G /342/200/224 Pink.avif +0 -0
- package/src/stories/assets/mockups/mobile/samsung/Samsung Galaxy S21 5G/Device/Samsung Galaxy S21 5G /342/200/224 Violet.avif +0 -0
- package/src/stories/assets/mockups/mobile/samsung/Samsung Galaxy S21 5G/Device/Samsung Galaxy S21 5G /342/200/224 White.avif +0 -0
- package/src/stories/assets/mockups/mobile/samsung/Samsung Galaxy S21 Ultra 5G/Device/Samsung Galaxy S21 Ultra 5G /342/200/224 Black.avif +0 -0
- package/src/stories/assets/mockups/mobile/samsung/Samsung Galaxy S21 Ultra 5G/Device/Samsung Galaxy S21 Ultra 5G /342/200/224 Silver.avif +0 -0
- package/src/stories/assets/mockups/mobile/samsung/Samsung Galaxy S21+/Device/Samsung Galaxy S21+ 5G /342/200/224 Black.avif +0 -0
- package/src/stories/assets/mockups/mobile/samsung/Samsung Galaxy S21+/Device/Samsung Galaxy S21+ 5G /342/200/224 Silver.avif +0 -0
- package/src/stories/assets/mockups/mobile/samsung/Samsung Galaxy S21+/Device/Samsung Galaxy S21+ 5G /342/200/224 Violet.avif +0 -0
- package/src/stories/assets/mockups/mobile/samsung/Samsung Galaxy S3/Device/Samsung Galaxy S3.avif +0 -0
- package/src/stories/assets/mockups/mobile/samsung/Samsung Galaxy S5/Device/Samsung Galaxy S5 Black.avif +0 -0
- package/src/stories/assets/mockups/mobile/samsung/Samsung Galaxy S5/Device/Samsung Galaxy S5 White.avif +0 -0
- package/src/stories/assets/mockups/mobile/samsung/Samsung Galaxy S7/Device/Samsung Galaxy S7 Black.avif +0 -0
- package/src/stories/assets/mockups/mobile/samsung/Samsung Galaxy S7/Device/Samsung Galaxy S7 Gold.avif +0 -0
- package/src/stories/assets/mockups/mobile/samsung/Samsung Galaxy S7/Device/Samsung Galaxy S7 Silver.avif +0 -0
- package/src/stories/assets/mockups/mobile/samsung/Samsung Galaxy S7/Device/Samsung Galaxy S7 White.avif +0 -0
- package/src/stories/assets/mockups/mobile/samsung/Samsung Galaxy S8/Device/Samsung Galaxy S8 Arctic Silver.avif +0 -0
- package/src/stories/assets/mockups/mobile/samsung/Samsung Galaxy S8/Device/Samsung Galaxy S8 Coral Blue.avif +0 -0
- package/src/stories/assets/mockups/mobile/samsung/Samsung Galaxy S8/Device/Samsung Galaxy S8 Maple Gold.avif +0 -0
- package/src/stories/assets/mockups/mobile/samsung/Samsung Galaxy S8/Device/Samsung Galaxy S8 Midnight Black.avif +0 -0
- package/src/stories/assets/mockups/mobile/samsung/Samsung Galaxy S8/Device/Samsung Galaxy S8 Orchid Gray.avif +0 -0
- package/src/stories/assets/mockups/mobile/samsung/Samsung Galaxy S9/Device/Samsung Galaxy S9 Burgundy Red.avif +0 -0
- package/src/stories/assets/mockups/mobile/samsung/Samsung Galaxy S9/Device/Samsung Galaxy S9 Coral Blue.avif +0 -0
- package/src/stories/assets/mockups/mobile/samsung/Samsung Galaxy S9/Device/Samsung Galaxy S9 Lilac Purple.avif +0 -0
- package/src/stories/assets/mockups/mobile/samsung/Samsung Galaxy S9/Device/Samsung Galaxy S9 Midnight Black.avif +0 -0
- package/src/stories/assets/mockups/mobile/samsung/Samsung Galaxy S9/Device/Samsung Galaxy S9 Sunrise Gold.avif +0 -0
- package/src/stories/assets/mockups/mobile/samsung/Samsung Galaxy S9/Device/Samsung Galaxy S9 Titanium Gray.avif +0 -0
- package/src/stories/assets/mockups/mobile/samsung/Samsung Galaxy Y/Device/Samsung Galaxy Y Black.avif +0 -0
- package/src/stories/assets/mockups/mobile/samsung/Samsung Galaxy Y/Device/Samsung Galaxy Y White.avif +0 -0
- package/src/stories/assets/mockups/mobile/xiaomi/Xiaomi Mi Mix Alpha/Device/Xiaomi Mi Mix Alpha Back.avif +0 -0
- package/src/stories/assets/mockups/mobile/xiaomi/Xiaomi Mi Mix Alpha/Device/Xiaomi Mi Mix Alpha Front.avif +0 -0
- package/src/stories/assets/mockups/mobile/xiaomi/Xiaomi Mi Mix Alpha/Device/Xiaomi Mi Mix Alpha Side.avif +0 -0
- package/src/stories/assets/mockups/tablet/apple/Apple iPad/Device/Apple iPad Gold.avif +0 -0
- package/src/stories/assets/mockups/tablet/apple/Apple iPad/Device/Apple iPad Silver.avif +0 -0
- package/src/stories/assets/mockups/tablet/apple/Apple iPad/Device/Apple iPad Space Grey.avif +0 -0
- package/src/stories/assets/mockups/tablet/apple/Apple iPad Air 2020/Device/Apple iPad Air 2020 Green Landscape.avif +0 -0
- package/src/stories/assets/mockups/tablet/apple/Apple iPad Air 2020/Device/Apple iPad Air 2020 Green Portrait.avif +0 -0
- package/src/stories/assets/mockups/tablet/apple/Apple iPad Air 2020/Device/Apple iPad Air 2020 Rose Gold Landscape.avif +0 -0
- package/src/stories/assets/mockups/tablet/apple/Apple iPad Air 2020/Device/Apple iPad Air 2020 Rose Gold Portrait.avif +0 -0
- package/src/stories/assets/mockups/tablet/apple/Apple iPad Air 2020/Device/Apple iPad Air 2020 Silver Landscape.avif +0 -0
- package/src/stories/assets/mockups/tablet/apple/Apple iPad Air 2020/Device/Apple iPad Air 2020 Silver Portrait.avif +0 -0
- package/src/stories/assets/mockups/tablet/apple/Apple iPad Air 2020/Device/Apple iPad Air 2020 Sky Blue Landscape.avif +0 -0
- package/src/stories/assets/mockups/tablet/apple/Apple iPad Air 2020/Device/Apple iPad Air 2020 Sky Blue Portrait.avif +0 -0
- package/src/stories/assets/mockups/tablet/apple/Apple iPad Air 2020/Device/Apple iPad Air 2020 Space Gray Landscape.avif +0 -0
- package/src/stories/assets/mockups/tablet/apple/Apple iPad Air 2020/Device/Apple iPad Air 2020 Space Gray Portrait.avif +0 -0
- package/src/stories/assets/mockups/tablet/apple/Apple iPad Mini/Device/Apple iPad Mini Gold.avif +0 -0
- package/src/stories/assets/mockups/tablet/apple/Apple iPad Mini/Device/Apple iPad Mini Silver.avif +0 -0
- package/src/stories/assets/mockups/tablet/apple/Apple iPad Mini/Device/Apple iPad Mini Space Grey.avif +0 -0
- package/src/stories/assets/mockups/tablet/apple/Apple iPad Pro/Device/Device with Pencil/Apple iPad Pro 11 Silver - Landscape.avif +0 -0
- package/src/stories/assets/mockups/tablet/apple/Apple iPad Pro/Device/Device with Pencil/Apple iPad Pro 11 Silver - Portrait.avif +0 -0
- package/src/stories/assets/mockups/tablet/apple/Apple iPad Pro/Device/Device with Pencil/Apple iPad Pro 11 Space Gray - Landscape.avif +0 -0
- package/src/stories/assets/mockups/tablet/apple/Apple iPad Pro/Device/Device with Pencil/Apple iPad Pro 11 Space Gray - Portrait.avif +0 -0
- package/src/stories/assets/mockups/tablet/apple/Apple iPad Pro/Device/Device with Pencil/Apple iPad Pro 13 Silver - Landscape.avif +0 -0
- package/src/stories/assets/mockups/tablet/apple/Apple iPad Pro/Device/Device with Pencil/Apple iPad Pro 13 Silver - Portrait.avif +0 -0
- package/src/stories/assets/mockups/tablet/apple/Apple iPad Pro/Device/Device with Pencil/Apple iPad Pro 13 Space Gray - Landscape.avif +0 -0
- package/src/stories/assets/mockups/tablet/apple/Apple iPad Pro/Device/Device with Pencil/Apple iPad Pro 13 Space Gray - Portrait.avif +0 -0
- package/src/stories/assets/mockups/tablet/apple/Apple iPad Pro/Device/Device without Pencil/Apple iPad Pro 11 Silver - Landscape.avif +0 -0
- package/src/stories/assets/mockups/tablet/apple/Apple iPad Pro/Device/Device without Pencil/Apple iPad Pro 11 Silver - Portrait.avif +0 -0
- package/src/stories/assets/mockups/tablet/apple/Apple iPad Pro/Device/Device without Pencil/Apple iPad Pro 11 Space Gray - Landscape.avif +0 -0
- package/src/stories/assets/mockups/tablet/apple/Apple iPad Pro/Device/Device without Pencil/Apple iPad Pro 11 Space Gray - Portrait.avif +0 -0
- package/src/stories/assets/mockups/tablet/apple/Apple iPad Pro/Device/Device without Pencil/Apple iPad Pro 13 Silver - Landscape.avif +0 -0
- package/src/stories/assets/mockups/tablet/apple/Apple iPad Pro/Device/Device without Pencil/Apple iPad Pro 13 Silver - Portrait.avif +0 -0
- package/src/stories/assets/mockups/tablet/apple/Apple iPad Pro/Device/Device without Pencil/Apple iPad Pro 13 Space Gray - Landscape.avif +0 -0
- package/src/stories/assets/mockups/tablet/apple/Apple iPad Pro/Device/Device without Pencil/Apple iPad Pro 13 Space Gray - Portrait.avif +0 -0
- package/src/stories/assets/mockups/tablet/dell/Dell XPS 13/Device/Dell XPS 13.avif +0 -0
- package/src/stories/assets/mockups/tablet/dell/Dell XPS 15/Device/Dell XPS 15.avif +0 -0
- package/src/stories/assets/mockups/tablet/google/Google Slate/Device/Google Pixel Slate.avif +0 -0
- package/src/stories/assets/mockups/tablet/microsoft/Microsoft Surface 3/Device/Microsoft Surface Pro 3.avif +0 -0
- package/src/stories/assets/mockups/tablet/microsoft/Microsoft Surface Book/Device/Microsoft Surface Book.avif +0 -0
- package/src/stories/assets/mockups/tablet/microsoft/Microsoft Surface Pro 4/Device/Microsoft Surface Pro 4.avif +0 -0
- package/src/stories/assets/mockups/tablet/microsoft/Microsoft Surface Pro X/Device/Surface Pro X Black.avif +0 -0
- package/src/stories/assets/mockups/tablet/microsoft/Microsoft Surface Pro X/Device/Surface Pro X Silver.avif +0 -0
- package/src/stories/assets/mockups/television/samsung/Samsung Frame/Device/Samsung Frame - Beige with Studio Stand.avif +0 -0
- package/src/stories/assets/mockups/television/samsung/Samsung Frame/Device/Samsung Frame - Beige without Stand.avif +0 -0
- package/src/stories/assets/mockups/television/samsung/Samsung Frame/Device/Samsung Frame - Beige.avif +0 -0
- package/src/stories/assets/mockups/television/samsung/Samsung Frame/Device/Samsung Frame - Black with Studio Stand.avif +0 -0
- package/src/stories/assets/mockups/television/samsung/Samsung Frame/Device/Samsung Frame - Black without Stand.avif +0 -0
- package/src/stories/assets/mockups/television/samsung/Samsung Frame/Device/Samsung Frame - Black.avif +0 -0
- package/src/stories/assets/mockups/television/samsung/Samsung Frame/Device/Samsung Frame - Brown with Studio Stand.avif +0 -0
- package/src/stories/assets/mockups/television/samsung/Samsung Frame/Device/Samsung Frame - Brown without Stand.avif +0 -0
- package/src/stories/assets/mockups/television/samsung/Samsung Frame/Device/Samsung Frame - Brown.avif +0 -0
- package/src/stories/assets/mockups/television/samsung/Samsung Frame/Device/Samsung Frame - White with Studio Stand.avif +0 -0
- package/src/stories/assets/mockups/television/samsung/Samsung Frame/Device/Samsung Frame - White without Stand.avif +0 -0
- package/src/stories/assets/mockups/television/samsung/Samsung Frame/Device/Samsung Frame - White.avif +0 -0
- package/src/stories/assets/mockups/television/sony/Sony W850C/Device/Sony W850C.avif +0 -0
- package/src/stories/assets/mockups/wearable/apple/Apple Watch/Device/38mm/Device Closed/Apple Watch 38mm Black Steel + Black Closed.avif +0 -0
- package/src/stories/assets/mockups/wearable/apple/Apple Watch/Device/38mm/Device Closed/Apple Watch 38mm Gold + Black Leather Closed.avif +0 -0
- package/src/stories/assets/mockups/wearable/apple/Apple Watch/Device/38mm/Device Closed/Apple Watch 38mm Gold + Midnight Blue Closed.avif +0 -0
- package/src/stories/assets/mockups/wearable/apple/Apple Watch/Device/38mm/Device Closed/Apple Watch 38mm Rose Gold + Black Leather Closed.avif +0 -0
- package/src/stories/assets/mockups/wearable/apple/Apple Watch/Device/38mm/Device Closed/Apple Watch 38mm Rose Gold + Lavender Closed.avif +0 -0
- package/src/stories/assets/mockups/wearable/apple/Apple Watch/Device/38mm/Device Closed/Apple Watch 38mm Sport Aluminum + Blue Closed.avif +0 -0
- package/src/stories/assets/mockups/wearable/apple/Apple Watch/Device/38mm/Device Closed/Apple Watch 38mm Sport Aluminum + Fog Closed.avif +0 -0
- package/src/stories/assets/mockups/wearable/apple/Apple Watch/Device/38mm/Device Closed/Apple Watch 38mm Sport Aluminum + Green Closed.avif +0 -0
- package/src/stories/assets/mockups/wearable/apple/Apple Watch/Device/38mm/Device Closed/Apple Watch 38mm Sport Aluminum + Red Closed.avif +0 -0
- package/src/stories/assets/mockups/wearable/apple/Apple Watch/Device/38mm/Device Closed/Apple Watch 38mm Sport Aluminum + Walnut Closed.avif +0 -0
- package/src/stories/assets/mockups/wearable/apple/Apple Watch/Device/38mm/Device Closed/Apple Watch 38mm Sport Aluminum + White Closed.avif +0 -0
- package/src/stories/assets/mockups/wearable/apple/Apple Watch/Device/38mm/Device Closed/Apple Watch 38mm Sport Aluminum Gold + Antique White Closed.avif +0 -0
- package/src/stories/assets/mockups/wearable/apple/Apple Watch/Device/38mm/Device Closed/Apple Watch 38mm Sport Aluminum Rose Gold + Stone Closed.avif +0 -0
- package/src/stories/assets/mockups/wearable/apple/Apple Watch/Device/38mm/Device Closed/Apple Watch 38mm Sport Space Gray + Black Closed.avif +0 -0
- package/src/stories/assets/mockups/wearable/apple/Apple Watch/Device/38mm/Device Closed/Apple Watch 38mm Stainless Steel + Black Leather Closed.avif +0 -0
- package/src/stories/assets/mockups/wearable/apple/Apple Watch/Device/38mm/Device Closed/Apple Watch 38mm Steel + White Closed.avif +0 -0
- package/src/stories/assets/mockups/wearable/apple/Apple Watch/Device/42mm/Device Closed/Apple Watch 42mm Black Steel + Black Closed.avif +0 -0
- package/src/stories/assets/mockups/wearable/apple/Apple Watch/Device/42mm/Device Closed/Apple Watch 42mm Gold + Black Leather Closed.avif +0 -0
- package/src/stories/assets/mockups/wearable/apple/Apple Watch/Device/42mm/Device Closed/Apple Watch 42mm Gold + Midnight Blue Closed.avif +0 -0
- package/src/stories/assets/mockups/wearable/apple/Apple Watch/Device/42mm/Device Closed/Apple Watch 42mm Rose Gold + Black Leather Closed.avif +0 -0
- package/src/stories/assets/mockups/wearable/apple/Apple Watch/Device/42mm/Device Closed/Apple Watch 42mm Rose Gold + Lavender Closed.avif +0 -0
- package/src/stories/assets/mockups/wearable/apple/Apple Watch/Device/42mm/Device Closed/Apple Watch 42mm Sport Aluminum + Blue Closed.avif +0 -0
- package/src/stories/assets/mockups/wearable/apple/Apple Watch/Device/42mm/Device Closed/Apple Watch 42mm Sport Aluminum + Fog Closed.avif +0 -0
- package/src/stories/assets/mockups/wearable/apple/Apple Watch/Device/42mm/Device Closed/Apple Watch 42mm Sport Aluminum + Green Closed.avif +0 -0
- package/src/stories/assets/mockups/wearable/apple/Apple Watch/Device/42mm/Device Closed/Apple Watch 42mm Sport Aluminum + Red Closed.avif +0 -0
- package/src/stories/assets/mockups/wearable/apple/Apple Watch/Device/42mm/Device Closed/Apple Watch 42mm Sport Aluminum + Walnut Closed.avif +0 -0
- package/src/stories/assets/mockups/wearable/apple/Apple Watch/Device/42mm/Device Closed/Apple Watch 42mm Sport Aluminum + White Closed.avif +0 -0
- package/src/stories/assets/mockups/wearable/apple/Apple Watch/Device/42mm/Device Closed/Apple Watch 42mm Sport Aluminum Gold + Antique White Closed.avif +0 -0
- package/src/stories/assets/mockups/wearable/apple/Apple Watch/Device/42mm/Device Closed/Apple Watch 42mm Sport Aluminum Rose Gold + Stone Closed.avif +0 -0
- package/src/stories/assets/mockups/wearable/apple/Apple Watch/Device/42mm/Device Closed/Apple Watch 42mm Sport Space Gray + Black Closed.avif +0 -0
- package/src/stories/assets/mockups/wearable/apple/Apple Watch/Device/42mm/Device Closed/Apple Watch 42mm Stainless Steel + Black Leather Closed.avif +0 -0
- package/src/stories/assets/mockups/wearable/apple/Apple Watch/Device/42mm/Device Closed/Apple Watch 42mm Steel + White Closed.avif +0 -0
- package/src/stories/assets/mockups/wearable/apple/Apple Watch 2/Device/38mm/Device Closed/Apple Watch 38mm Black Steel + Black Closed.avif +0 -0
- package/src/stories/assets/mockups/wearable/apple/Apple Watch 2/Device/38mm/Device Closed/Apple Watch 38mm Edition Closed.avif +0 -0
- package/src/stories/assets/mockups/wearable/apple/Apple Watch 2/Device/38mm/Device Closed/Apple Watch 38mm Rose Gold Aluminum + Midnight Blue Closed.avif +0 -0
- package/src/stories/assets/mockups/wearable/apple/Apple Watch 2/Device/38mm/Device Closed/Apple Watch 38mm Silver Aluminum + Cocoa Closed.avif +0 -0
- package/src/stories/assets/mockups/wearable/apple/Apple Watch 2/Device/38mm/Device Closed/Apple Watch 38mm Silver Aluminum + Concrete Closed.avif +0 -0
- package/src/stories/assets/mockups/wearable/apple/Apple Watch 2/Device/38mm/Device Closed/Apple Watch 38mm Silver Aluminum + Flat Silver Volt Nike Closed.avif +0 -0
- package/src/stories/assets/mockups/wearable/apple/Apple Watch 2/Device/38mm/Device Closed/Apple Watch 38mm Silver Aluminum + Flat Silver White Nike Closed.avif +0 -0
- package/src/stories/assets/mockups/wearable/apple/Apple Watch 2/Device/38mm/Device Closed/Apple Watch 38mm Silver Aluminum + Ocean Blue Closed.avif +0 -0
- package/src/stories/assets/mockups/wearable/apple/Apple Watch 2/Device/38mm/Device Closed/Apple Watch 38mm Silver Aluminum + Red Closed.avif +0 -0
- package/src/stories/assets/mockups/wearable/apple/Apple Watch 2/Device/38mm/Device Closed/Apple Watch 38mm Silver Aluminum + Turquoise Closed.avif +0 -0
- package/src/stories/assets/mockups/wearable/apple/Apple Watch 2/Device/38mm/Device Closed/Apple Watch 38mm Silver Aluminum + White Closed.avif +0 -0
- package/src/stories/assets/mockups/wearable/apple/Apple Watch 2/Device/38mm/Device Closed/Apple Watch 38mm Silver Aluminum + Yellow Closed.avif +0 -0
- package/src/stories/assets/mockups/wearable/apple/Apple Watch 2/Device/38mm/Device Closed/Apple Watch 38mm Space Gray Aluminum + Black Closed.avif +0 -0
- package/src/stories/assets/mockups/wearable/apple/Apple Watch 2/Device/38mm/Device Closed/Apple Watch 38mm Space Gray Aluminum + Black Cool Gray Nike Closed.avif +0 -0
- package/src/stories/assets/mockups/wearable/apple/Apple Watch 2/Device/38mm/Device Closed/Apple Watch 38mm Space Gray Aluminum + Black Volt Nike Closed.avif +0 -0
- package/src/stories/assets/mockups/wearable/apple/Apple Watch 2/Device/38mm/Device Closed/Apple Watch 38mm Sport Aluminum + Walnut Closed.avif +0 -0
- package/src/stories/assets/mockups/wearable/apple/Apple Watch 2/Device/38mm/Device Closed/Apple Watch 38mm Steel + White Closed.avif +0 -0
- package/src/stories/assets/mockups/wearable/apple/Apple Watch 2/Device/42mm/Device Closed/Apple Watch 42mm Edition Closed.avif +0 -0
- package/src/stories/assets/mockups/wearable/apple/Apple Watch 2/Device/42mm/Device Closed/Apple Watch 42mm Gold Aluminum + Cocoa Closed.avif +0 -0
- package/src/stories/assets/mockups/wearable/apple/Apple Watch 2/Device/42mm/Device Closed/Apple Watch 42mm Rose Gold Aluminum + Midnight Blue Closed.avif +0 -0
- package/src/stories/assets/mockups/wearable/apple/Apple Watch 2/Device/42mm/Device Closed/Apple Watch 42mm Silver Aluminum + Concrete Closed.avif +0 -0
- package/src/stories/assets/mockups/wearable/apple/Apple Watch 2/Device/42mm/Device Closed/Apple Watch 42mm Silver Aluminum + Flat Silver Volt Nike Closed.avif +0 -0
- package/src/stories/assets/mockups/wearable/apple/Apple Watch 2/Device/42mm/Device Closed/Apple Watch 42mm Silver Aluminum + Flat Silver White Nike Closed.avif +0 -0
- package/src/stories/assets/mockups/wearable/apple/Apple Watch 2/Device/42mm/Device Closed/Apple Watch 42mm Silver Aluminum + Green Closed.avif +0 -0
- package/src/stories/assets/mockups/wearable/apple/Apple Watch 2/Device/42mm/Device Closed/Apple Watch 42mm Silver Aluminum + Light Pink Closed.avif +0 -0
- package/src/stories/assets/mockups/wearable/apple/Apple Watch 2/Device/42mm/Device Closed/Apple Watch 42mm Silver Aluminum + Ocean Blue Closed.avif +0 -0
- package/src/stories/assets/mockups/wearable/apple/Apple Watch 2/Device/42mm/Device Closed/Apple Watch 42mm Silver Aluminum + Pink Sand Closed.avif +0 -0
- package/src/stories/assets/mockups/wearable/apple/Apple Watch 2/Device/42mm/Device Closed/Apple Watch 42mm Silver Aluminum + Red Closed.avif +0 -0
- package/src/stories/assets/mockups/wearable/apple/Apple Watch 2/Device/42mm/Device Closed/Apple Watch 42mm Silver Aluminum + Turquoise Closed.avif +0 -0
- package/src/stories/assets/mockups/wearable/apple/Apple Watch 2/Device/42mm/Device Closed/Apple Watch 42mm Silver Aluminum + White Closed.avif +0 -0
- package/src/stories/assets/mockups/wearable/apple/Apple Watch 2/Device/42mm/Device Closed/Apple Watch 42mm Silver Aluminum + Yellow Closed.avif +0 -0
- package/src/stories/assets/mockups/wearable/apple/Apple Watch 2/Device/42mm/Device Closed/Apple Watch 42mm Space Black Steel + Black Closed.avif +0 -0
- package/src/stories/assets/mockups/wearable/apple/Apple Watch 2/Device/42mm/Device Closed/Apple Watch 42mm Space Gray Aluminum + Black Closed.avif +0 -0
- package/src/stories/assets/mockups/wearable/apple/Apple Watch 2/Device/42mm/Device Closed/Apple Watch 42mm Space Gray Aluminum + Black Cool Gray Nike Closed.avif +0 -0
- package/src/stories/assets/mockups/wearable/apple/Apple Watch 2/Device/42mm/Device Closed/Apple Watch 42mm Space Gray Aluminum + Black Volt Nike Closed.avif +0 -0
- package/src/stories/assets/mockups/wearable/apple/Apple Watch 2/Device/42mm/Device Closed/Apple Watch 42mm Steel + White Closed.avif +0 -0
- package/src/stories/assets/mockups/wearable/apple/Apple Watch Series 5/Device/44mm/Closed/Apple Watch 44mm Gold Aluminum + Pink Sand Closed.avif +0 -0
- package/src/stories/assets/mockups/wearable/apple/Apple Watch Series 5/Device/44mm/Closed/Apple Watch 44mm Gold Stainless Steel + Stone Closed.avif +0 -0
- package/src/stories/assets/mockups/wearable/apple/Apple Watch Series 5/Device/44mm/Closed/Apple Watch 44mm Silver Aluminum + Clementine Closed.avif +0 -0
- package/src/stories/assets/mockups/wearable/apple/Apple Watch Series 5/Device/44mm/Closed/Apple Watch 44mm Space Black Stainless Steel + Alaskan Blue Closed.avif +0 -0
- package/src/stories/assets/mockups/wearable/apple/Apple Watch Series 5/Device/44mm/Closed/Apple Watch 44mm Space Black Titanium + Pine Green Closed.avif +0 -0
- package/src/stories/assets/mockups/wearable/apple/Apple Watch Series 5/Device/44mm/Closed/Apple Watch 44mm Space Grey Aluminum + Black Closed.avif +0 -0
- package/src/stories/assets/mockups/wearable/apple/Apple Watch Series 5/Device/44mm/Closed/Apple Watch 44mm Stainless Steel + Lemon Cream Closed.avif +0 -0
- package/src/stories/assets/mockups/wearable/apple/Apple Watch Series 5/Device/44mm/Closed/Apple Watch 44mm Titanium + Red Closed.avif +0 -0
- package/src/stories/assets/mockups/wearable/apple/Apple Watch Series 5/Device/44mm/Closed/Apple Watch 44mm White Ceramic + White Closed.avif +0 -0
- package/src/stories/assets/mockups/wearable/apple/Apple Watch Series 6/Device/With Bands/Cyprus Green Solo Loop/40mm/Apple Watch 40mm Blue Aluminum Cyprus Green Solo Loop.avif +0 -0
- package/src/stories/assets/mockups/wearable/apple/Apple Watch Series 6/Device/With Bands/Cyprus Green Solo Loop/40mm/Apple Watch 40mm Dark Titanium Cyprus Green Solo Loop.avif +0 -0
- package/src/stories/assets/mockups/wearable/apple/Apple Watch Series 6/Device/With Bands/Cyprus Green Solo Loop/40mm/Apple Watch 40mm Gold Aluminum Cyprus Green Solo Loop.avif +0 -0
- package/src/stories/assets/mockups/wearable/apple/Apple Watch Series 6/Device/With Bands/Cyprus Green Solo Loop/40mm/Apple Watch 40mm Gold Stainless Steel Cyprus Green Solo Loop.avif +0 -0
- package/src/stories/assets/mockups/wearable/apple/Apple Watch Series 6/Device/With Bands/Cyprus Green Solo Loop/40mm/Apple Watch 40mm Graphite Stainless Steel Cyprus Green Solo Loop.avif +0 -0
- package/src/stories/assets/mockups/wearable/apple/Apple Watch Series 6/Device/With Bands/Cyprus Green Solo Loop/40mm/Apple Watch 40mm Light Titanium Cyprus Green Solo Loop.avif +0 -0
- package/src/stories/assets/mockups/wearable/apple/Apple Watch Series 6/Device/With Bands/Cyprus Green Solo Loop/40mm/Apple Watch 40mm Red Aluminum Cyprus Green Solo Loop.avif +0 -0
- package/src/stories/assets/mockups/wearable/apple/Apple Watch Series 6/Device/With Bands/Cyprus Green Solo Loop/40mm/Apple Watch 40mm Silver Aluminum Cyprus Green Solo Loop.avif +0 -0
- package/src/stories/assets/mockups/wearable/apple/Apple Watch Series 6/Device/With Bands/Cyprus Green Solo Loop/40mm/Apple Watch 40mm Silver Stainless Steel Cyprus Green Solo Loop.avif +0 -0
- package/src/stories/assets/mockups/wearable/apple/Apple Watch Series 6/Device/With Bands/Cyprus Green Solo Loop/40mm/Apple Watch 40mm Space Gray Aluminum Cyprus Green Solo Loop.avif +0 -0
- package/src/stories/assets/mockups/wearable/apple/Apple Watch Series 6/Device/With Bands/Cyprus Green Solo Loop/44mm/Apple Watch 44mm Blue Aluminum Cyprus Green Solo Loop.avif +0 -0
- package/src/stories/assets/mockups/wearable/apple/Apple Watch Series 6/Device/With Bands/Cyprus Green Solo Loop/44mm/Apple Watch 44mm Dark Titanium Cyprus Green Solo Loop.avif +0 -0
- package/src/stories/assets/mockups/wearable/apple/Apple Watch Series 6/Device/With Bands/Cyprus Green Solo Loop/44mm/Apple Watch 44mm Gold Aluminum Cyprus Green Solo Loop.avif +0 -0
- package/src/stories/assets/mockups/wearable/apple/Apple Watch Series 6/Device/With Bands/Cyprus Green Solo Loop/44mm/Apple Watch 44mm Gold Stainless Steel Cyprus Green Solo Loop.avif +0 -0
- package/src/stories/assets/mockups/wearable/apple/Apple Watch Series 6/Device/With Bands/Cyprus Green Solo Loop/44mm/Apple Watch 44mm Graphite Stainless Steel Cyprus Green Solo Loop.avif +0 -0
- package/src/stories/assets/mockups/wearable/apple/Apple Watch Series 6/Device/With Bands/Cyprus Green Solo Loop/44mm/Apple Watch 44mm Light Titanium Cyprus Green Solo Loop.avif +0 -0
- package/src/stories/assets/mockups/wearable/apple/Apple Watch Series 6/Device/With Bands/Cyprus Green Solo Loop/44mm/Apple Watch 44mm Red Aluminum Cyprus Green Solo Loop.avif +0 -0
- package/src/stories/assets/mockups/wearable/apple/Apple Watch Series 6/Device/With Bands/Cyprus Green Solo Loop/44mm/Apple Watch 44mm Silver Aluminum Cyprus Green Solo Loop.avif +0 -0
- package/src/stories/assets/mockups/wearable/apple/Apple Watch Series 6/Device/With Bands/Cyprus Green Solo Loop/44mm/Apple Watch 44mm Silver Stainless Steel Cyprus Green Solo Loop.avif +0 -0
- package/src/stories/assets/mockups/wearable/apple/Apple Watch Series 6/Device/With Bands/Cyprus Green Solo Loop/44mm/Apple Watch 44mm Space Gray Aluminum Cyprus Green Solo Loop.avif +0 -0
- package/src/stories/assets/mockups/wearable/apple/Apple Watch Series 6/Device/With Bands/Ginger Solo Loop/40mm/Apple Watch 40mm Blue Aluminum Ginger Solo Loop.avif +0 -0
- package/src/stories/assets/mockups/wearable/apple/Apple Watch Series 6/Device/With Bands/Ginger Solo Loop/40mm/Apple Watch 40mm Dark Titanium Ginger Solo Loop.avif +0 -0
- package/src/stories/assets/mockups/wearable/apple/Apple Watch Series 6/Device/With Bands/Ginger Solo Loop/40mm/Apple Watch 40mm Gold Aluminum Ginger Solo Loop.avif +0 -0
- package/src/stories/assets/mockups/wearable/apple/Apple Watch Series 6/Device/With Bands/Ginger Solo Loop/40mm/Apple Watch 40mm Gold Stainless Steel Ginger Solo Loop.avif +0 -0
- package/src/stories/assets/mockups/wearable/apple/Apple Watch Series 6/Device/With Bands/Ginger Solo Loop/40mm/Apple Watch 40mm Graphite Stainless Steel Ginger Solo Loop.avif +0 -0
- package/src/stories/assets/mockups/wearable/apple/Apple Watch Series 6/Device/With Bands/Ginger Solo Loop/40mm/Apple Watch 40mm Light Titanium Ginger Solo Loop.avif +0 -0
- package/src/stories/assets/mockups/wearable/apple/Apple Watch Series 6/Device/With Bands/Ginger Solo Loop/40mm/Apple Watch 40mm Red Aluminum Ginger Solo Loop.avif +0 -0
- package/src/stories/assets/mockups/wearable/apple/Apple Watch Series 6/Device/With Bands/Ginger Solo Loop/40mm/Apple Watch 40mm Silver Aluminum Ginger Solo Loop.avif +0 -0
- package/src/stories/assets/mockups/wearable/apple/Apple Watch Series 6/Device/With Bands/Ginger Solo Loop/40mm/Apple Watch 40mm Silver Stainless Steel Ginger Solo Loop.avif +0 -0
- package/src/stories/assets/mockups/wearable/apple/Apple Watch Series 6/Device/With Bands/Ginger Solo Loop/40mm/Apple Watch 40mm Space Gray Aluminum Ginger Solo Loop.avif +0 -0
- package/src/stories/assets/mockups/wearable/apple/Apple Watch Series 6/Device/With Bands/Ginger Solo Loop/44mm/Apple Watch 44mm Blue Aluminum Ginger Solo Loop.avif +0 -0
- package/src/stories/assets/mockups/wearable/apple/Apple Watch Series 6/Device/With Bands/Ginger Solo Loop/44mm/Apple Watch 44mm Dark Titanium Ginger Solo Loop.avif +0 -0
- package/src/stories/assets/mockups/wearable/apple/Apple Watch Series 6/Device/With Bands/Ginger Solo Loop/44mm/Apple Watch 44mm Gold Aluminum Ginger Solo Loop.avif +0 -0
- package/src/stories/assets/mockups/wearable/apple/Apple Watch Series 6/Device/With Bands/Ginger Solo Loop/44mm/Apple Watch 44mm Gold Stainless Steel Ginger Solo Loop.avif +0 -0
- package/src/stories/assets/mockups/wearable/apple/Apple Watch Series 6/Device/With Bands/Ginger Solo Loop/44mm/Apple Watch 44mm Graphite Stainless Steel Ginger Solo Loop.avif +0 -0
- package/src/stories/assets/mockups/wearable/apple/Apple Watch Series 6/Device/With Bands/Ginger Solo Loop/44mm/Apple Watch 44mm Light Titanium Ginger Solo Loop.avif +0 -0
- package/src/stories/assets/mockups/wearable/apple/Apple Watch Series 6/Device/With Bands/Ginger Solo Loop/44mm/Apple Watch 44mm Red Aluminum Ginger Solo Loop.avif +0 -0
- package/src/stories/assets/mockups/wearable/apple/Apple Watch Series 6/Device/With Bands/Ginger Solo Loop/44mm/Apple Watch 44mm Silver Aluminum Ginger Solo Loop.avif +0 -0
- package/src/stories/assets/mockups/wearable/apple/Apple Watch Series 6/Device/With Bands/Ginger Solo Loop/44mm/Apple Watch 44mm Silver Stainless Steel Ginger Solo Loop.avif +0 -0
- package/src/stories/assets/mockups/wearable/apple/Apple Watch Series 6/Device/With Bands/Ginger Solo Loop/44mm/Apple Watch 44mm Space Gray Aluminum Ginger Solo Loop.avif +0 -0
- package/src/stories/assets/mockups/wearable/apple/Apple Watch Series 6/Device/With Bands/Pink Citrus Sport Closed/40mm/Apple Watch 40mm Blue Aluminum Pink Citrus Sport.avif +0 -0
- package/src/stories/assets/mockups/wearable/apple/Apple Watch Series 6/Device/With Bands/Pink Citrus Sport Closed/40mm/Apple Watch 40mm Dark Titanium Pink Citrus Sport.avif +0 -0
- package/src/stories/assets/mockups/wearable/apple/Apple Watch Series 6/Device/With Bands/Pink Citrus Sport Closed/40mm/Apple Watch 40mm Gold Aluminum Pink Citrus Sport.avif +0 -0
- package/src/stories/assets/mockups/wearable/apple/Apple Watch Series 6/Device/With Bands/Pink Citrus Sport Closed/40mm/Apple Watch 40mm Gold Stainless Steel Pink Citrus Sport.avif +0 -0
- package/src/stories/assets/mockups/wearable/apple/Apple Watch Series 6/Device/With Bands/Pink Citrus Sport Closed/40mm/Apple Watch 40mm Graphite Stainless Steel Pink Citrus Sport.avif +0 -0
- package/src/stories/assets/mockups/wearable/apple/Apple Watch Series 6/Device/With Bands/Pink Citrus Sport Closed/40mm/Apple Watch 40mm Light Titanium Pink Citrus Sport.avif +0 -0
- package/src/stories/assets/mockups/wearable/apple/Apple Watch Series 6/Device/With Bands/Pink Citrus Sport Closed/40mm/Apple Watch 40mm Red Aluminum Pink Citrus Sport.avif +0 -0
- package/src/stories/assets/mockups/wearable/apple/Apple Watch Series 6/Device/With Bands/Pink Citrus Sport Closed/40mm/Apple Watch 40mm Silver Aluminum Pink Citrus Sport.avif +0 -0
- package/src/stories/assets/mockups/wearable/apple/Apple Watch Series 6/Device/With Bands/Pink Citrus Sport Closed/40mm/Apple Watch 40mm Silver Stainless Steel Pink Citrus Sport.avif +0 -0
- package/src/stories/assets/mockups/wearable/apple/Apple Watch Series 6/Device/With Bands/Pink Citrus Sport Closed/40mm/Apple Watch 40mm Space Gray Aluminum Pink Citrus Sport.avif +0 -0
- package/src/stories/assets/mockups/wearable/apple/Apple Watch Series 6/Device/With Bands/Pink Citrus Sport Closed/44mm/Apple Watch 44mm Blue Aluminum Pink Citrus Sport.avif +0 -0
- package/src/stories/assets/mockups/wearable/apple/Apple Watch Series 6/Device/With Bands/Pink Citrus Sport Closed/44mm/Apple Watch 44mm Dark Titanium Pink Citrus Sport.avif +0 -0
- package/src/stories/assets/mockups/wearable/apple/Apple Watch Series 6/Device/With Bands/Pink Citrus Sport Closed/44mm/Apple Watch 44mm Gold Aluminum Pink Citrus Sport.avif +0 -0
- package/src/stories/assets/mockups/wearable/apple/Apple Watch Series 6/Device/With Bands/Pink Citrus Sport Closed/44mm/Apple Watch 44mm Gold Stainless Steel Pink Citrus Sport.avif +0 -0
- package/src/stories/assets/mockups/wearable/apple/Apple Watch Series 6/Device/With Bands/Pink Citrus Sport Closed/44mm/Apple Watch 44mm Graphite Stainless Steel Pink Citrus Sport.avif +0 -0
- package/src/stories/assets/mockups/wearable/apple/Apple Watch Series 6/Device/With Bands/Pink Citrus Sport Closed/44mm/Apple Watch 44mm Light Titanium Pink Citrus Sport.avif +0 -0
- package/src/stories/assets/mockups/wearable/apple/Apple Watch Series 6/Device/With Bands/Pink Citrus Sport Closed/44mm/Apple Watch 44mm Red Aluminum Pink Citrus Sport.avif +0 -0
- package/src/stories/assets/mockups/wearable/apple/Apple Watch Series 6/Device/With Bands/Pink Citrus Sport Closed/44mm/Apple Watch 44mm Silver Aluminum Pink Citrus Sport.avif +0 -0
- package/src/stories/assets/mockups/wearable/apple/Apple Watch Series 6/Device/With Bands/Pink Citrus Sport Closed/44mm/Apple Watch 44mm Silver Stainless Steel Pink Citrus Sport.avif +0 -0
- package/src/stories/assets/mockups/wearable/apple/Apple Watch Series 6/Device/With Bands/Pink Citrus Sport Closed/44mm/Apple Watch 44mm Space Gray Aluminum Pink Citrus Sport.avif +0 -0
- package/src/stories/assets/mockups/wearable/apple/Apple Watch Series 6/Device/Without Bands/40mm/Apple Watch 40mm Blue Aluminum.avif +0 -0
- package/src/stories/assets/mockups/wearable/apple/Apple Watch Series 6/Device/Without Bands/40mm/Apple Watch 40mm Dark Titanium.avif +0 -0
- package/src/stories/assets/mockups/wearable/apple/Apple Watch Series 6/Device/Without Bands/40mm/Apple Watch 40mm Gold Aluminum.avif +0 -0
- package/src/stories/assets/mockups/wearable/apple/Apple Watch Series 6/Device/Without Bands/40mm/Apple Watch 40mm Gold Stainless Steel.avif +0 -0
- package/src/stories/assets/mockups/wearable/apple/Apple Watch Series 6/Device/Without Bands/40mm/Apple Watch 40mm Graphite Stainless Steel.avif +0 -0
- package/src/stories/assets/mockups/wearable/apple/Apple Watch Series 6/Device/Without Bands/40mm/Apple Watch 40mm Light Titanium.avif +0 -0
- package/src/stories/assets/mockups/wearable/apple/Apple Watch Series 6/Device/Without Bands/40mm/Apple Watch 40mm Red Aluminum.avif +0 -0
- package/src/stories/assets/mockups/wearable/apple/Apple Watch Series 6/Device/Without Bands/40mm/Apple Watch 40mm Silver Aluminum.avif +0 -0
- package/src/stories/assets/mockups/wearable/apple/Apple Watch Series 6/Device/Without Bands/40mm/Apple Watch 40mm Silver Stainless Steel.avif +0 -0
- package/src/stories/assets/mockups/wearable/apple/Apple Watch Series 6/Device/Without Bands/40mm/Apple Watch 40mm Space Gray Aluminum.avif +0 -0
- package/src/stories/assets/mockups/wearable/apple/Apple Watch Series 6/Device/Without Bands/44mm/Apple Watch 44mm Blue Aluminum.avif +0 -0
- package/src/stories/assets/mockups/wearable/apple/Apple Watch Series 6/Device/Without Bands/44mm/Apple Watch 44mm Dark Titanium.avif +0 -0
- package/src/stories/assets/mockups/wearable/apple/Apple Watch Series 6/Device/Without Bands/44mm/Apple Watch 44mm Gold Aluminum.avif +0 -0
- package/src/stories/assets/mockups/wearable/apple/Apple Watch Series 6/Device/Without Bands/44mm/Apple Watch 44mm Gold Stainless Steel.avif +0 -0
- package/src/stories/assets/mockups/wearable/apple/Apple Watch Series 6/Device/Without Bands/44mm/Apple Watch 44mm Graphite Stainless Steel.avif +0 -0
- package/src/stories/assets/mockups/wearable/apple/Apple Watch Series 6/Device/Without Bands/44mm/Apple Watch 44mm Light Titanium.avif +0 -0
- package/src/stories/assets/mockups/wearable/apple/Apple Watch Series 6/Device/Without Bands/44mm/Apple Watch 44mm Red Aluminum.avif +0 -0
- package/src/stories/assets/mockups/wearable/apple/Apple Watch Series 6/Device/Without Bands/44mm/Apple Watch 44mm Silver Aluminum.avif +0 -0
- package/src/stories/assets/mockups/wearable/apple/Apple Watch Series 6/Device/Without Bands/44mm/Apple Watch 44mm Silver Stainless Steel.avif +0 -0
- package/src/stories/assets/mockups/wearable/apple/Apple Watch Series 6/Device/Without Bands/44mm/Apple Watch 44mm Space Gray Aluminum.avif +0 -0
- package/src/stories/assets/mockups/wearable/motorola/Motorola Moto 360/Device Closed/Motorola Moto 360 Men Black + Black Closed.avif +0 -0
- package/src/stories/assets/mockups/wearable/motorola/Motorola Moto 360/Device Closed/Motorola Moto 360 Men Black + Cognac Closed.avif +0 -0
- package/src/stories/assets/mockups/wearable/motorola/Motorola Moto 360/Device Closed/Motorola Moto 360 Men Gold + Black Closed.avif +0 -0
- package/src/stories/assets/mockups/wearable/motorola/Motorola Moto 360/Device Closed/Motorola Moto 360 Men Gold + Cognac Closed.avif +0 -0
- package/src/stories/assets/mockups/wearable/motorola/Motorola Moto 360/Device Closed/Motorola Moto 360 Men Silver + Black Closed.avif +0 -0
- package/src/stories/assets/mockups/wearable/motorola/Motorola Moto 360/Device Closed/Motorola Moto 360 Men Silver + Cognac Closed.avif +0 -0
- package/src/stories/assets/mockups/wearable/motorola/Motorola Moto 360/Device Closed/Motorola Moto 360 Women Gold + Blush Closed.avif +0 -0
- package/src/stories/assets/mockups/wearable/motorola/Motorola Moto 360/Device Closed/Motorola Moto 360 Women Gold + Stone Closed.avif +0 -0
- package/src/stories/assets/mockups/wearable/motorola/Motorola Moto 360/Device Closed/Motorola Moto 360 Women Rose Gold + Blush Closed.avif +0 -0
- package/src/stories/assets/mockups/wearable/motorola/Motorola Moto 360/Device Closed/Motorola Moto 360 Women Rose Gold + Stone Grey Closed.avif +0 -0
- package/src/stories/assets/mockups/wearable/motorola/Motorola Moto 360/Device Closed/Motorola Moto 360 Women Silver + Blush Closed.avif +0 -0
- package/src/stories/assets/mockups/wearable/motorola/Motorola Moto 360/Device Closed/Motorola Moto 360 Women Silver + Stone Grey Closed.avif +0 -0
- package/src/stories/assets/mockups/wearable/motorola/Motorola Moto 360/Device Open/Motorola Moto 360 Men Black + Black Open.avif +0 -0
- package/src/stories/assets/mockups/wearable/motorola/Motorola Moto 360/Device Open/Motorola Moto 360 Men Black + Cognac Open.avif +0 -0
- package/src/stories/assets/mockups/wearable/motorola/Motorola Moto 360/Device Open/Motorola Moto 360 Men Gold + Black Open.avif +0 -0
- package/src/stories/assets/mockups/wearable/motorola/Motorola Moto 360/Device Open/Motorola Moto 360 Men Gold + Cognac Open.avif +0 -0
- package/src/stories/assets/mockups/wearable/motorola/Motorola Moto 360/Device Open/Motorola Moto 360 Men Silver + Black Open.avif +0 -0
- package/src/stories/assets/mockups/wearable/motorola/Motorola Moto 360/Device Open/Motorola Moto 360 Men Silver + Cognac Open.avif +0 -0
- package/src/stories/assets/mockups/wearable/motorola/Motorola Moto 360/Device Open/Motorola Moto 360 Women Gold + Blush Open.avif +0 -0
- package/src/stories/assets/mockups/wearable/motorola/Motorola Moto 360/Device Open/Motorola Moto 360 Women Gold + Stone Open.avif +0 -0
- package/src/stories/assets/mockups/wearable/motorola/Motorola Moto 360/Device Open/Motorola Moto 360 Women Rose Gold + Blush Open.avif +0 -0
- package/src/stories/assets/mockups/wearable/motorola/Motorola Moto 360/Device Open/Motorola Moto 360 Women Rose Gold + Stone Grey Open.avif +0 -0
- package/src/stories/assets/mockups/wearable/motorola/Motorola Moto 360/Device Open/Motorola Moto 360 Women Silver + Blush Open.avif +0 -0
- package/src/stories/assets/mockups/wearable/motorola/Motorola Moto 360/Device Open/Motorola Moto 360 Women Silver + Stone Grey Open.avif +0 -0
- package/src/stories/assets/mockups/wearable/sony/Sony SmartWatch 3/Device Closed/Sony SmartWatch 3 Black Closed.avif +0 -0
- package/src/stories/assets/mockups/wearable/sony/Sony SmartWatch 3/Device Closed/Sony SmartWatch 3 White Closed.avif +0 -0
- package/src/stories/assets/mockups/wearable/sony/Sony SmartWatch 3/Device Open/Sony SmartWatch 3 Black Open.avif +0 -0
- package/src/stories/assets/mockups/wearable/sony/Sony SmartWatch 3/Device Open/Sony SmartWatch 3 White Open.avif +0 -0
- package/src/stories/atoms/Button/Button.Architecture.mdx +384 -0
- package/src/stories/atoms/Button/Button.Changelog.mdx +124 -0
- package/src/stories/atoms/Button/Button.js +131 -0
- package/src/stories/atoms/Button/Button.stories.js +535 -0
- package/src/stories/atoms/Button/button.css +585 -0
- package/src/stories/atoms/Check/Check.Architecture.mdx +227 -0
- package/src/stories/atoms/Check/Check.Changelog.mdx +73 -0
- package/src/stories/atoms/Check/Check.js +122 -0
- package/src/stories/atoms/Check/Check.stories.js +196 -0
- package/src/stories/atoms/Check/check.css +159 -0
- package/src/stories/atoms/Divider/Divider.Architecture.mdx +202 -0
- package/src/stories/atoms/Divider/Divider.Changelog.mdx +73 -0
- package/src/stories/atoms/Divider/Divider.js +74 -0
- package/src/stories/atoms/Divider/Divider.stories.js +158 -0
- package/src/stories/atoms/Divider/divider.css +84 -0
- package/src/stories/atoms/Icon/Icon.Architecture.mdx +224 -0
- package/src/stories/atoms/Icon/Icon.Changelog.mdx +73 -0
- package/src/stories/atoms/Icon/Icon.stories.js +177 -0
- package/src/stories/atoms/Icon/Iconography.js +603 -0
- package/src/stories/atoms/Icon/iconography.css +67 -0
- package/src/stories/atoms/KBD/Kbd.Architecture.mdx +211 -0
- package/src/stories/atoms/KBD/Kbd.Changelog.mdx +72 -0
- package/src/stories/atoms/KBD/Kbd.js +71 -0
- package/src/stories/atoms/KBD/Kbd.stories.js +182 -0
- package/src/stories/atoms/KBD/kbd.css +110 -0
- package/src/stories/atoms/Loader/Loader.Architecture.mdx +216 -0
- package/src/stories/atoms/Loader/Loader.Changelog.mdx +66 -0
- package/src/stories/atoms/Loader/Loader.js +88 -0
- package/src/stories/atoms/Loader/Loader.stories.js +130 -0
- package/src/stories/atoms/Loader/loader.css +132 -0
- package/src/stories/atoms/MetricCard/MetricCard.Architecture.mdx +207 -0
- package/src/stories/atoms/MetricCard/MetricCard.Changelog.mdx +34 -0
- package/src/stories/atoms/MetricCard/MetricCard.js +142 -0
- package/src/stories/atoms/MetricCard/MetricCard.stories.js +368 -0
- package/src/stories/atoms/MetricCard/metric-card.css +181 -0
- package/src/stories/atoms/Pill/Pill.Architecture.mdx +270 -0
- package/src/stories/atoms/Pill/Pill.Changelog.mdx +72 -0
- package/src/stories/atoms/Pill/Pill.js +323 -0
- package/src/stories/atoms/Pill/Pill.stories.js +478 -0
- package/src/stories/atoms/Pill/pill.css +174 -0
- package/src/stories/atoms/Radio/Radio.Architecture.mdx +204 -0
- package/src/stories/atoms/Radio/Radio.Changelog.mdx +67 -0
- package/src/stories/atoms/Radio/Radio.js +125 -0
- package/src/stories/atoms/Radio/Radio.stories.js +191 -0
- package/src/stories/atoms/Radio/radio.css +170 -0
- package/src/stories/atoms/SeekBar/SeekBar.Architecture.mdx +245 -0
- package/src/stories/atoms/SeekBar/SeekBar.Changelog.mdx +67 -0
- package/src/stories/atoms/SeekBar/SeekBar.js +385 -0
- package/src/stories/atoms/SeekBar/SeekBar.stories.js +375 -0
- package/src/stories/atoms/SeekBar/seek-bar.css +302 -0
- package/src/stories/atoms/SliderDot/SliderDot.Architecture.mdx +215 -0
- package/src/stories/atoms/SliderDot/SliderDot.Changelog.mdx +67 -0
- package/src/stories/atoms/SliderDot/SliderDot.js +98 -0
- package/src/stories/atoms/SliderDot/SliderDot.stories.js +153 -0
- package/src/stories/atoms/SliderDot/slider-dot.css +146 -0
- package/src/stories/atoms/Subtitle/Subtitle.Architecture.mdx +237 -0
- package/src/stories/atoms/Subtitle/Subtitle.Changelog.mdx +66 -0
- package/src/stories/atoms/Subtitle/Subtitle.js +160 -0
- package/src/stories/atoms/Subtitle/Subtitle.stories.js +274 -0
- package/src/stories/atoms/Subtitle/subtitle.css +132 -0
- package/src/stories/atoms/TOC/TOC.Architecture.mdx +111 -0
- package/src/stories/atoms/TOC/TOC.Changelog.mdx +84 -0
- package/src/stories/atoms/TOC/TOC.js +311 -0
- package/src/stories/atoms/TOC/TOC.stories.js +205 -0
- package/src/stories/atoms/TOC/toc.css +138 -0
- package/src/stories/atoms/Tab/Tab.Architecture.mdx +255 -0
- package/src/stories/atoms/Tab/Tab.Changelog.mdx +67 -0
- package/src/stories/atoms/Tab/Tab.js +130 -0
- package/src/stories/atoms/Tab/Tab.stories.js +165 -0
- package/src/stories/atoms/Tab/tab.css +178 -0
- package/src/stories/atoms/Thumbnail/Thumbnail.Architecture.mdx +279 -0
- package/src/stories/atoms/Thumbnail/Thumbnail.Changelog.mdx +133 -0
- package/src/stories/atoms/Thumbnail/Thumbnail.js +585 -0
- package/src/stories/atoms/Thumbnail/Thumbnail.stories.js +199 -0
- package/src/stories/atoms/Thumbnail/thumbnail-manifest.generated.js +6039 -0
- package/src/stories/atoms/Thumbnail/thumbnail.css +106 -0
- package/src/stories/atoms/Toggle/Toggle.Architecture.mdx +272 -0
- package/src/stories/atoms/Toggle/Toggle.Changelog.mdx +67 -0
- package/src/stories/atoms/Toggle/Toggle.js +232 -0
- package/src/stories/atoms/Toggle/Toggle.stories.js +167 -0
- package/src/stories/atoms/Toggle/toggle.css +447 -0
- package/src/stories/contributing/Contributing.mdx +73 -0
- package/src/stories/contributing/DocumentingArchitecture.mdx +216 -0
- package/src/stories/contributing/DocumentingChangelog.mdx +162 -0
- package/src/stories/contributing/DocumentingComponents.mdx +248 -0
- package/src/stories/getting-started/Changelog.mdx +47 -0
- package/src/stories/getting-started/DesignTokens.mdx +47 -0
- package/src/stories/getting-started/Disclaimers.mdx +153 -0
- package/src/stories/getting-started/Installation.mdx +71 -0
- package/src/stories/getting-started/Introduction.mdx +51 -0
- package/src/stories/getting-started/PortfoliableIntegration.mdx +265 -0
- package/src/stories/getting-started/Theming.mdx +48 -0
- package/src/stories/molecules/AudioPlayer/AudioPlayer.Architecture.mdx +299 -0
- package/src/stories/molecules/AudioPlayer/AudioPlayer.Changelog.mdx +72 -0
- package/src/stories/molecules/AudioPlayer/AudioPlayer.js +395 -0
- package/src/stories/molecules/AudioPlayer/AudioPlayer.stories.js +259 -0
- package/src/stories/molecules/AudioPlayer/audio-player.css +276 -0
- package/src/stories/molecules/Breadcrumb/Breadcrumb.Architecture.mdx +222 -0
- package/src/stories/molecules/Breadcrumb/Breadcrumb.Changelog.mdx +30 -0
- package/src/stories/molecules/Breadcrumb/Breadcrumb.js +382 -0
- package/src/stories/molecules/Breadcrumb/Breadcrumb.stories.js +213 -0
- package/src/stories/molecules/Breadcrumb/breadcrumb.css +149 -0
- package/src/stories/molecules/CaseNavigator/CaseNavigator.Architecture.mdx +294 -0
- package/src/stories/molecules/CaseNavigator/CaseNavigator.Changelog.mdx +71 -0
- package/src/stories/molecules/CaseNavigator/CaseNavigator.js +527 -0
- package/src/stories/molecules/CaseNavigator/CaseNavigator.stories.js +550 -0
- package/src/stories/molecules/CaseNavigator/case-navigator.css +318 -0
- package/src/stories/molecules/ComboTabs/ComboTabs.js +80 -0
- package/src/stories/molecules/ComboTabs/ComboTabs.stories.js +30 -0
- package/src/stories/molecules/ComboTabs/combo-tabs.css +48 -0
- package/src/stories/molecules/GalleryItem/GalleryItem.Architecture.mdx +264 -0
- package/src/stories/molecules/GalleryItem/GalleryItem.Changelog.mdx +142 -0
- package/src/stories/molecules/GalleryItem/GalleryItem.js +201 -0
- package/src/stories/molecules/GalleryItem/GalleryItem.stories.js +312 -0
- package/src/stories/molecules/GalleryItem/gallery-item.css +113 -0
- package/src/stories/molecules/ItemRow/ItemRow.Architecture.mdx +271 -0
- package/src/stories/molecules/ItemRow/ItemRow.Changelog.mdx +72 -0
- package/src/stories/molecules/ItemRow/ItemRow.js +320 -0
- package/src/stories/molecules/ItemRow/ItemRow.stories.js +323 -0
- package/src/stories/molecules/ItemRow/item-row.css +229 -0
- package/src/stories/molecules/NavigationMenu/NavigationMenu.Architecture.mdx +179 -0
- package/src/stories/molecules/NavigationMenu/NavigationMenu.Changelog.mdx +82 -0
- package/src/stories/molecules/NavigationMenu/NavigationMenu.js +335 -0
- package/src/stories/molecules/NavigationMenu/NavigationMenu.stories.js +295 -0
- package/src/stories/molecules/NavigationMenu/navigation-menu.css +88 -0
- package/src/stories/molecules/Summary/Summary.Architecture.mdx +186 -0
- package/src/stories/molecules/Summary/Summary.Changelog.mdx +34 -0
- package/src/stories/molecules/Summary/Summary.js +171 -0
- package/src/stories/molecules/Summary/Summary.stories.js +264 -0
- package/src/stories/molecules/Summary/summary.css +182 -0
- package/src/stories/molecules/Toast/Toast.Architecture.mdx +272 -0
- package/src/stories/molecules/Toast/Toast.Changelog.mdx +71 -0
- package/src/stories/molecules/Toast/Toast.js +141 -0
- package/src/stories/molecules/Toast/Toast.stories.js +250 -0
- package/src/stories/molecules/Toast/toast.css +149 -0
- package/src/stories/molecules/Tooltip/Tooltip.Architecture.mdx +255 -0
- package/src/stories/molecules/Tooltip/Tooltip.Changelog.mdx +71 -0
- package/src/stories/molecules/Tooltip/Tooltip.js +135 -0
- package/src/stories/molecules/Tooltip/Tooltip.stories.js +211 -0
- package/src/stories/molecules/Tooltip/tooltip.css +168 -0
- package/src/stories/molecules/VideoControls/VideoControls.Architecture.mdx +260 -0
- package/src/stories/molecules/VideoControls/VideoControls.Changelog.mdx +72 -0
- package/src/stories/molecules/VideoControls/VideoControls.js +157 -0
- package/src/stories/molecules/VideoControls/VideoControls.stories.js +214 -0
- package/src/stories/molecules/VideoControls/video-controls.css +70 -0
- package/src/stories/organisms/Article/Article.Architecture.mdx +215 -0
- package/src/stories/organisms/Article/Article.Changelog.mdx +45 -0
- package/src/stories/organisms/Article/Article.js +398 -0
- package/src/stories/organisms/Article/Article.stories.js +589 -0
- package/src/stories/organisms/Article/article.css +1324 -0
- package/src/stories/organisms/ComboCard/ComboCard.js +44 -0
- package/src/stories/organisms/ComboCard/ComboCard.stories.js +18 -0
- package/src/stories/organisms/ComboCard/combo-card.css +25 -0
- package/src/stories/organisms/ContextualMenu/ContextualMenu.Architecture.mdx +296 -0
- package/src/stories/organisms/ContextualMenu/ContextualMenu.Changelog.mdx +98 -0
- package/src/stories/organisms/ContextualMenu/ContextualMenu.js +396 -0
- package/src/stories/organisms/ContextualMenu/ContextualMenu.stories.js +409 -0
- package/src/stories/organisms/ContextualMenu/contextual-menu.css +255 -0
- package/src/stories/organisms/Gallery/Gallery.Architecture.mdx +181 -0
- package/src/stories/organisms/Gallery/Gallery.Changelog.mdx +74 -0
- package/src/stories/organisms/Gallery/Gallery.js +549 -0
- package/src/stories/organisms/Gallery/Gallery.stories.js +175 -0
- package/src/stories/organisms/Gallery/gallery.css +59 -0
- package/src/stories/organisms/Header/Header.Architecture.mdx +195 -0
- package/src/stories/organisms/Header/Header.Changelog.mdx +32 -0
- package/src/stories/organisms/Header/Header.js +151 -0
- package/src/stories/organisms/Header/Header.stories.js +212 -0
- package/src/stories/organisms/Header/header.css +48 -0
- package/src/stories/organisms/VideoPlayer/VideoPlayer.js +156 -0
- package/src/stories/organisms/VideoPlayer/VideoPlayer.stories.js +63 -0
- package/src/stories/organisms/VideoPlayer/video-player.css +45 -0
- package/src/stories/sub-atomic/Accessibility/Accessibility.mdx +478 -0
- package/src/stories/sub-atomic/Accessibility/accessibility.css +111 -0
- package/src/stories/sub-atomic/Architecture/Architecture.mdx +176 -0
- package/src/stories/sub-atomic/Borderography/Borderography.mdx +94 -0
- package/src/stories/sub-atomic/Borderography/borderography.css +12 -0
- package/src/stories/sub-atomic/Choreography/Choreography.mdx +322 -0
- package/src/stories/sub-atomic/Choreography/choreography.css +18 -0
- package/src/stories/sub-atomic/Chromography/Chromography.mdx +116 -0
- package/src/stories/sub-atomic/Chromography/chromography.css +44 -0
- package/src/stories/sub-atomic/Curvography/Curvography.mdx +104 -0
- package/src/stories/sub-atomic/Curvography/curvography.css +9 -0
- package/src/stories/sub-atomic/Depthography/Depthography.mdx +79 -0
- package/src/stories/sub-atomic/Depthography/depthography.css +11 -0
- package/src/stories/sub-atomic/Formography/Formography.mdx +202 -0
- package/src/stories/sub-atomic/Formography/formography.css +82 -0
- package/src/stories/sub-atomic/Gridography/Gridography.mdx +94 -0
- package/src/stories/sub-atomic/Gridography/gridography.css +15 -0
- package/src/stories/sub-atomic/Iconography/Iconography.js +304 -0
- package/src/stories/sub-atomic/Iconography/Iconography.mdx +281 -0
- package/src/stories/sub-atomic/Layoutography/Layoutography.mdx +213 -0
- package/src/stories/sub-atomic/Layoutography/layoutography.css +71 -0
- package/src/stories/sub-atomic/Mermaid/MermaidDiagram.js +42 -0
- package/src/stories/sub-atomic/Mermaid/mermaid.css +243 -0
- package/src/stories/sub-atomic/Opacityography/Opacityography.mdx +78 -0
- package/src/stories/sub-atomic/Opacityography/opacityography.css +10 -0
- package/src/stories/sub-atomic/Shadowgraphy/Shadowgraphy.mdx +83 -0
- package/src/stories/sub-atomic/Shadowgraphy/shadowgraphy.css +9 -0
- package/src/stories/sub-atomic/Sizography/Sizography.mdx +190 -0
- package/src/stories/sub-atomic/Sizography/sizography.css +21 -0
- package/src/stories/sub-atomic/Spatialography/Spatialography.mdx +162 -0
- package/src/stories/sub-atomic/Spatialography/spatialography.css +26 -0
- package/src/stories/sub-atomic/Stateography/Stateography.mdx +287 -0
- package/src/stories/sub-atomic/Surfaceography/Surfaceography.mdx +169 -0
- package/src/stories/sub-atomic/Surfaceography/surfaceography.css +54 -0
- package/src/stories/sub-atomic/Thumbnails/Thumbnails.mdx +221 -0
- package/src/stories/sub-atomic/Typography/Typography.mdx +201 -0
- package/src/stories/sub-atomic/Typography/typography.css +23 -0
- package/src/stories/sub-atomic/index.css +1 -0
- package/src/stories/templates/HomeView/HomeView.js +164 -0
- package/src/stories/templates/HomeView/HomeView.stories.js +83 -0
- package/src/stories/templates/HomeView/homeview.css +110 -0
- package/src/style.css +67 -0
|
@@ -0,0 +1,175 @@
|
|
|
1
|
+
// src/stories/organisms/Gallery/Gallery.stories.js
|
|
2
|
+
import { html } from 'lit';
|
|
3
|
+
import { expect, fireEvent, fn } from 'storybook/test';
|
|
4
|
+
import './Gallery';
|
|
5
|
+
import '../../molecules/GalleryItem/GalleryItem';
|
|
6
|
+
|
|
7
|
+
export default {
|
|
8
|
+
title: 'Organisms/Gallery [v1.0.0]',
|
|
9
|
+
component: 'ds-gallery',
|
|
10
|
+
tags: ['autodocs'],
|
|
11
|
+
parameters: {
|
|
12
|
+
layout: 'fullscreen',
|
|
13
|
+
docs: {
|
|
14
|
+
description: {
|
|
15
|
+
component:
|
|
16
|
+
'The `ds-gallery` organism renders a generated row of `ds-gallery-item` cards and lets the user drag the strip horizontally with a soft, Apple-like overscroll feel. Use `item-count` to control how many gallery items are rendered, with five items as the default.',
|
|
17
|
+
},
|
|
18
|
+
},
|
|
19
|
+
},
|
|
20
|
+
argTypes: {
|
|
21
|
+
engine: {
|
|
22
|
+
name: 'engine',
|
|
23
|
+
control: 'text',
|
|
24
|
+
description: 'Motion preset used for drag follow, overscroll, and edge-return timing.',
|
|
25
|
+
table: {
|
|
26
|
+
category: 'Component: Motion',
|
|
27
|
+
defaultValue: { summary: 'minimal' },
|
|
28
|
+
},
|
|
29
|
+
},
|
|
30
|
+
itemCount: {
|
|
31
|
+
name: 'item-count',
|
|
32
|
+
control: { type: 'range', min: 1, max: 8, step: 1 },
|
|
33
|
+
description: 'Controls how many GalleryItem cards are rendered by the gallery.',
|
|
34
|
+
table: {
|
|
35
|
+
category: 'Component: Core Controls',
|
|
36
|
+
defaultValue: { summary: '5' },
|
|
37
|
+
},
|
|
38
|
+
},
|
|
39
|
+
itemGap: {
|
|
40
|
+
name: 'item-gap',
|
|
41
|
+
control: 'text',
|
|
42
|
+
description: 'Horizontal gap between gallery items.',
|
|
43
|
+
table: {
|
|
44
|
+
category: 'Component: Layout',
|
|
45
|
+
defaultValue: { summary: '100px' },
|
|
46
|
+
},
|
|
47
|
+
},
|
|
48
|
+
onCaseSelect: {
|
|
49
|
+
action: 'ds-case-select',
|
|
50
|
+
description: 'Fires when a generated GalleryItem thumbnail is selected.',
|
|
51
|
+
table: { category: 'Events' },
|
|
52
|
+
},
|
|
53
|
+
},
|
|
54
|
+
args: {
|
|
55
|
+
engine: 'minimal',
|
|
56
|
+
itemCount: 5,
|
|
57
|
+
itemGap: '100px',
|
|
58
|
+
onCaseSelect: fn(),
|
|
59
|
+
},
|
|
60
|
+
render: (args) => html`
|
|
61
|
+
<div style="min-height: 100vh; width: 100%; padding: 0 50px; box-sizing: border-box; display: flex; align-items: center; justify-content: center; background: transparent;">
|
|
62
|
+
<div style="width: 100%;">
|
|
63
|
+
<ds-gallery
|
|
64
|
+
style="width: 100%; --gallery-item-gap: ${args.itemGap};"
|
|
65
|
+
.engine=${args.engine}
|
|
66
|
+
.itemCount=${args.itemCount}
|
|
67
|
+
@ds-case-select=${args.onCaseSelect}
|
|
68
|
+
></ds-gallery>
|
|
69
|
+
</div>
|
|
70
|
+
</div>
|
|
71
|
+
`,
|
|
72
|
+
};
|
|
73
|
+
|
|
74
|
+
export const Default = {
|
|
75
|
+
parameters: {
|
|
76
|
+
docs: {
|
|
77
|
+
description: {
|
|
78
|
+
story: 'The default gallery renders five generated GalleryItem cards and keeps the strip flush without any outer padding.',
|
|
79
|
+
},
|
|
80
|
+
},
|
|
81
|
+
},
|
|
82
|
+
play: async ({ canvasElement, args, step }) => {
|
|
83
|
+
const gallery = canvasElement.querySelector('ds-gallery');
|
|
84
|
+
|
|
85
|
+
await step('Render the default five GalleryItem cards', async () => {
|
|
86
|
+
expect(gallery).toBeTruthy();
|
|
87
|
+
expect(gallery.shadowRoot.querySelectorAll('ds-gallery-item').length).toBe(5);
|
|
88
|
+
});
|
|
89
|
+
|
|
90
|
+
await step('Bubble a selection event from the first item', async () => {
|
|
91
|
+
const firstItem = gallery.shadowRoot.querySelector('ds-gallery-item');
|
|
92
|
+
const thumb = firstItem.shadowRoot.querySelector('.case-thumb-wrapper');
|
|
93
|
+
fireEvent.click(thumb);
|
|
94
|
+
expect(args.onCaseSelect).toHaveBeenCalled();
|
|
95
|
+
});
|
|
96
|
+
|
|
97
|
+
await step('Support arrow and enter navigation from the gallery viewport', async () => {
|
|
98
|
+
const viewport = gallery.shadowRoot.querySelector('.gallery-viewport');
|
|
99
|
+
viewport.focus();
|
|
100
|
+
fireEvent.keyDown(viewport, { key: 'ArrowRight' });
|
|
101
|
+
expect(gallery.shadowRoot.activeElement?.shadowRoot?.activeElement || gallery.shadowRoot.activeElement).toBeTruthy();
|
|
102
|
+
fireEvent.keyDown(viewport, { key: 'Enter' });
|
|
103
|
+
});
|
|
104
|
+
},
|
|
105
|
+
};
|
|
106
|
+
|
|
107
|
+
export const ThreeItems = {
|
|
108
|
+
args: {
|
|
109
|
+
itemCount: 3,
|
|
110
|
+
},
|
|
111
|
+
parameters: {
|
|
112
|
+
docs: {
|
|
113
|
+
description: {
|
|
114
|
+
story: 'A compact gallery variant that proves the item-count prop can reduce the row to three cards.',
|
|
115
|
+
},
|
|
116
|
+
},
|
|
117
|
+
},
|
|
118
|
+
play: async ({ canvasElement, step }) => {
|
|
119
|
+
const gallery = canvasElement.querySelector('ds-gallery');
|
|
120
|
+
|
|
121
|
+
await step('Render only three generated items', async () => {
|
|
122
|
+
expect(gallery.shadowRoot.querySelectorAll('ds-gallery-item').length).toBe(3);
|
|
123
|
+
});
|
|
124
|
+
},
|
|
125
|
+
};
|
|
126
|
+
|
|
127
|
+
export const EightItems = {
|
|
128
|
+
args: {
|
|
129
|
+
itemCount: 8,
|
|
130
|
+
},
|
|
131
|
+
parameters: {
|
|
132
|
+
docs: {
|
|
133
|
+
description: {
|
|
134
|
+
story: 'An extended gallery that fills the track with the full internal item pool and confirms the generated cards scale cleanly.',
|
|
135
|
+
},
|
|
136
|
+
},
|
|
137
|
+
},
|
|
138
|
+
play: async ({ canvasElement, step }) => {
|
|
139
|
+
const gallery = canvasElement.querySelector('ds-gallery');
|
|
140
|
+
|
|
141
|
+
await step('Render the full eight-item pool', async () => {
|
|
142
|
+
expect(gallery.shadowRoot.querySelectorAll('ds-gallery-item').length).toBe(8);
|
|
143
|
+
});
|
|
144
|
+
},
|
|
145
|
+
};
|
|
146
|
+
|
|
147
|
+
export const SoftEdgeDrag = {
|
|
148
|
+
args: {
|
|
149
|
+
itemCount: 5,
|
|
150
|
+
},
|
|
151
|
+
parameters: {
|
|
152
|
+
docs: {
|
|
153
|
+
description: {
|
|
154
|
+
story: 'Exercises the drag physics by pulling past the leading edge and verifying the overscroll stays restrained before settling back into place.',
|
|
155
|
+
},
|
|
156
|
+
},
|
|
157
|
+
},
|
|
158
|
+
play: async ({ canvasElement, step }) => {
|
|
159
|
+
const gallery = canvasElement.querySelector('ds-gallery');
|
|
160
|
+
const viewport = gallery.shadowRoot.querySelector('.gallery-viewport');
|
|
161
|
+
const track = gallery.shadowRoot.querySelector('.gallery-track');
|
|
162
|
+
|
|
163
|
+
await step('Pull the gallery beyond the left edge', async () => {
|
|
164
|
+
fireEvent.pointerDown(viewport, { button: 0, pointerId: 1, clientX: 120, clientY: 120 });
|
|
165
|
+
fireEvent.pointerMove(window, { pointerId: 1, clientX: 380, clientY: 120 });
|
|
166
|
+
expect(track.style.transform).not.toBe('translate3d(0px, 0, 0)');
|
|
167
|
+
expect(track.style.transform).toContain('px');
|
|
168
|
+
fireEvent.pointerUp(window, { pointerId: 1 });
|
|
169
|
+
});
|
|
170
|
+
|
|
171
|
+
await step('Snap the gallery back to the resting position', async () => {
|
|
172
|
+
expect(track.style.transform).toBe('translate3d(0px, 0, 0)');
|
|
173
|
+
});
|
|
174
|
+
},
|
|
175
|
+
};
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
/* src/stories/organisms/Gallery/gallery.css */
|
|
2
|
+
:host {
|
|
3
|
+
display: block;
|
|
4
|
+
width: 100%;
|
|
5
|
+
height: auto;
|
|
6
|
+
overflow: visible;
|
|
7
|
+
box-sizing: border-box;
|
|
8
|
+
transform: scale(1);
|
|
9
|
+
transform-origin: center center;
|
|
10
|
+
transition: transform 280ms cubic-bezier(0.22, 1, 0.36, 1);
|
|
11
|
+
will-change: transform;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
:host(.is-dragging) {
|
|
15
|
+
transform: scale(0.97);
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
:host([a11y-reduce-motion]) {
|
|
19
|
+
transition: none;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
:host([a11y-reduce-motion].is-dragging) {
|
|
23
|
+
transform: scale(1);
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
.gallery-viewport {
|
|
27
|
+
width: 100%;
|
|
28
|
+
overflow-x: visible;
|
|
29
|
+
overflow-y: visible;
|
|
30
|
+
cursor: grab;
|
|
31
|
+
user-select: none;
|
|
32
|
+
-webkit-user-select: none;
|
|
33
|
+
touch-action: pan-y;
|
|
34
|
+
box-sizing: border-box;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
.gallery-viewport.is-dragging {
|
|
38
|
+
cursor: grabbing;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
.gallery-track {
|
|
42
|
+
display: flex;
|
|
43
|
+
align-items: flex-end;
|
|
44
|
+
gap: var(--gallery-item-gap, clamp(32px, 4vw, 72px));
|
|
45
|
+
width: max-content;
|
|
46
|
+
will-change: transform;
|
|
47
|
+
transform: translate3d(0, 0, 0);
|
|
48
|
+
box-sizing: border-box;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
.gallery-track.is-dragging {
|
|
52
|
+
transition: none !important;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
:host([a11y-reduce-motion]) .gallery-track,
|
|
56
|
+
:host([a11y-reduce-motion]) .gallery-viewport,
|
|
57
|
+
:host([a11y-reduce-motion]) .gallery-track.is-dragging {
|
|
58
|
+
transition: none !important;
|
|
59
|
+
}
|
|
@@ -0,0 +1,195 @@
|
|
|
1
|
+
import { Meta } from '@storybook/addon-docs/blocks';
|
|
2
|
+
|
|
3
|
+
<Meta title="Organisms/Header [v1.0.0]/Architecture" />
|
|
4
|
+
|
|
5
|
+
# `ds-header`
|
|
6
|
+
|
|
7
|
+
The `ds-header` component is a **stateless (presentational)** Organism designed to compose top-level application navigation chrome. It places a controlled `ds-breadcrumb` region on the far left and a `ds-navigation-menu` region on the far right while preserving a strict **State In / Events Out** contract for the host application.
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## Principles
|
|
12
|
+
|
|
13
|
+
### Dumb Composition Boundary
|
|
14
|
+
The component strictly adheres to the **Unidirectional Data Flow** paradigm:
|
|
15
|
+
* **State In (Attributes / Properties):** The host app binds breadcrumb arrays, visibility flags, and navigation-menu presentational attributes onto `<ds-header>`.
|
|
16
|
+
* **Events Out (Child Events Forwarded):** The organism does not create domain state of its own. Instead, it allows child events such as `ds-breadcrumb-select` and `ds-navigation-menu-language-select` to bubble outward unchanged.
|
|
17
|
+
* **No Smart App Logic:** Routing, locale changes, accessibility preference persistence, and profile actions remain fully external to the component.
|
|
18
|
+
|
|
19
|
+
### Fixed Edge Alignment
|
|
20
|
+
The visual contract is intentionally rigid:
|
|
21
|
+
* **Left Anchor:** The breadcrumb region expands from the far left edge of the header content row.
|
|
22
|
+
* **Right Anchor:** The navigation menu remains pinned to the far right edge through flex layout and auto margin separation.
|
|
23
|
+
* **Viewport Shell:** The host element and internal shell stretch to the full viewport width, making the organism suitable for app-level framing rather than inline card use.
|
|
24
|
+
|
|
25
|
+
<mermaid-diagram chart={`
|
|
26
|
+
flowchart LR
|
|
27
|
+
Host["Host SPA / Smart App"] -->|bind props| Header["ds-header"]
|
|
28
|
+
Header --> Breadcrumb["ds-breadcrumb"]
|
|
29
|
+
Header --> Nav["ds-navigation-menu"]
|
|
30
|
+
Breadcrumb -->|bubble events| Host
|
|
31
|
+
Nav -->|bubble events| Host
|
|
32
|
+
|
|
33
|
+
style Host fill:#f8fafc,stroke:#94a3b8,stroke-width:2px,color:#0f172a
|
|
34
|
+
style Header fill:#eff6ff,stroke:#3b82f6,stroke-width:2px,color:#1e3a8a
|
|
35
|
+
style Breadcrumb fill:#ffffff,stroke:#93c5fd,color:#1e3a8a
|
|
36
|
+
style Nav fill:#ffffff,stroke:#93c5fd,color:#1e3a8a
|
|
37
|
+
`} />
|
|
38
|
+
|
|
39
|
+
---
|
|
40
|
+
|
|
41
|
+
## Internal Composition
|
|
42
|
+
|
|
43
|
+
### Structural Regions
|
|
44
|
+
|
|
45
|
+
<table>
|
|
46
|
+
<thead>
|
|
47
|
+
<tr>
|
|
48
|
+
<th>Region</th>
|
|
49
|
+
<th>Rendered Element</th>
|
|
50
|
+
<th>Description</th>
|
|
51
|
+
</tr>
|
|
52
|
+
</thead>
|
|
53
|
+
<tbody>
|
|
54
|
+
<tr>
|
|
55
|
+
<td>`header-shell`</td>
|
|
56
|
+
<td>`<header>`</td>
|
|
57
|
+
<td>Full-width semantic landmark container delegating the host ARIA label.</td>
|
|
58
|
+
</tr>
|
|
59
|
+
<tr>
|
|
60
|
+
<td>`breadcrumb-region`</td>
|
|
61
|
+
<td>`<ds-breadcrumb>`</td>
|
|
62
|
+
<td>Flexible left-aligned region that can be hidden through `show-breadcrumb="false"`.</td>
|
|
63
|
+
</tr>
|
|
64
|
+
<tr>
|
|
65
|
+
<td>`navigation-region`</td>
|
|
66
|
+
<td>`<ds-navigation-menu>`</td>
|
|
67
|
+
<td>Right-aligned action group that remains mounted and receives pass-through attributes from the host element.</td>
|
|
68
|
+
</tr>
|
|
69
|
+
</tbody>
|
|
70
|
+
</table>
|
|
71
|
+
|
|
72
|
+
---
|
|
73
|
+
|
|
74
|
+
## API Contract
|
|
75
|
+
|
|
76
|
+
### Properties & Attributes
|
|
77
|
+
|
|
78
|
+
<table>
|
|
79
|
+
<thead>
|
|
80
|
+
<tr>
|
|
81
|
+
<th>Property / Attribute</th>
|
|
82
|
+
<th>Type</th>
|
|
83
|
+
<th>Default</th>
|
|
84
|
+
<th>Description</th>
|
|
85
|
+
</tr>
|
|
86
|
+
</thead>
|
|
87
|
+
<tbody>
|
|
88
|
+
<tr>
|
|
89
|
+
<td>`breadcrumbItems`</td>
|
|
90
|
+
<td>`Array`</td>
|
|
91
|
+
<td>`null`</td>
|
|
92
|
+
<td>Controlled breadcrumb item stack forwarded to the composed `ds-breadcrumb` instance.</td>
|
|
93
|
+
</tr>
|
|
94
|
+
<tr>
|
|
95
|
+
<td>`breadcrumbMenuItems`</td>
|
|
96
|
+
<td>`Array`</td>
|
|
97
|
+
<td>`null`</td>
|
|
98
|
+
<td>Optional fallback menu options array forwarded to the breadcrumb molecule.</td>
|
|
99
|
+
</tr>
|
|
100
|
+
<tr>
|
|
101
|
+
<td>`show-breadcrumb`</td>
|
|
102
|
+
<td>`boolean`</td>
|
|
103
|
+
<td>`true`</td>
|
|
104
|
+
<td>Mounts or hides the left breadcrumb region without changing navigation behavior.</td>
|
|
105
|
+
</tr>
|
|
106
|
+
<tr>
|
|
107
|
+
<td>`show-language-menu`</td>
|
|
108
|
+
<td>`boolean`</td>
|
|
109
|
+
<td>`true`</td>
|
|
110
|
+
<td>Controls visibility of the language action inside the composed navigation menu.</td>
|
|
111
|
+
</tr>
|
|
112
|
+
<tr>
|
|
113
|
+
<td>`avatar-src`, `avatar-alt`, tooltip and aria-label props</td>
|
|
114
|
+
<td>`string` / `boolean`</td>
|
|
115
|
+
<td>Inherited from child molecule defaults</td>
|
|
116
|
+
<td>Presentational pass-through API forwarded directly to `ds-navigation-menu`.</td>
|
|
117
|
+
</tr>
|
|
118
|
+
</tbody>
|
|
119
|
+
</table>
|
|
120
|
+
|
|
121
|
+
### Emitted Custom Events
|
|
122
|
+
|
|
123
|
+
<table>
|
|
124
|
+
<thead>
|
|
125
|
+
<tr>
|
|
126
|
+
<th>Event Name</th>
|
|
127
|
+
<th>Source</th>
|
|
128
|
+
<th>Bubbles / Composed</th>
|
|
129
|
+
<th>Description</th>
|
|
130
|
+
</tr>
|
|
131
|
+
</thead>
|
|
132
|
+
<tbody>
|
|
133
|
+
<tr>
|
|
134
|
+
<td>`ds-breadcrumb-home`</td>
|
|
135
|
+
<td>`ds-breadcrumb`</td>
|
|
136
|
+
<td>`true` / `true`</td>
|
|
137
|
+
<td>Signals that the root breadcrumb item was activated.</td>
|
|
138
|
+
</tr>
|
|
139
|
+
<tr>
|
|
140
|
+
<td>`ds-breadcrumb-return`</td>
|
|
141
|
+
<td>`ds-breadcrumb`</td>
|
|
142
|
+
<td>`true` / `true`</td>
|
|
143
|
+
<td>Signals a step-back breadcrumb action.</td>
|
|
144
|
+
</tr>
|
|
145
|
+
<tr>
|
|
146
|
+
<td>`ds-breadcrumb-select`</td>
|
|
147
|
+
<td>`ds-breadcrumb`</td>
|
|
148
|
+
<td>`true` / `true`</td>
|
|
149
|
+
<td>Signals selection of a breadcrumb item or contextual option.</td>
|
|
150
|
+
</tr>
|
|
151
|
+
<tr>
|
|
152
|
+
<td>`ds-navigation-menu-*`</td>
|
|
153
|
+
<td>`ds-navigation-menu`</td>
|
|
154
|
+
<td>`true` / `true`</td>
|
|
155
|
+
<td>Pass-through navigation events for language, accessibility, about, and option selection interactions.</td>
|
|
156
|
+
</tr>
|
|
157
|
+
</tbody>
|
|
158
|
+
</table>
|
|
159
|
+
|
|
160
|
+
### Sub-Atomic CSS Custom Property Hooks
|
|
161
|
+
|
|
162
|
+
<table>
|
|
163
|
+
<thead>
|
|
164
|
+
<tr>
|
|
165
|
+
<th>CSS Custom Property</th>
|
|
166
|
+
<th>Fallback Default</th>
|
|
167
|
+
<th>Description</th>
|
|
168
|
+
</tr>
|
|
169
|
+
</thead>
|
|
170
|
+
<tbody>
|
|
171
|
+
<tr>
|
|
172
|
+
<td>`--ds-header-gap`</td>
|
|
173
|
+
<td>`var(--space-lg, 16px)`</td>
|
|
174
|
+
<td>Overrides the spacing between the left and right header regions.</td>
|
|
175
|
+
</tr>
|
|
176
|
+
<tr>
|
|
177
|
+
<td>`--ds-header-min-height`</td>
|
|
178
|
+
<td>`var(--size-height-sm, 44px)`</td>
|
|
179
|
+
<td>Overrides the minimum height of the header row.</td>
|
|
180
|
+
</tr>
|
|
181
|
+
<tr>
|
|
182
|
+
<td>`--ds-header-padding`</td>
|
|
183
|
+
<td>`24px 28px`</td>
|
|
184
|
+
<td>Overrides the internal viewport-edge padding applied to the full-width header shell.</td>
|
|
185
|
+
</tr>
|
|
186
|
+
</tbody>
|
|
187
|
+
</table>
|
|
188
|
+
|
|
189
|
+
---
|
|
190
|
+
|
|
191
|
+
## Accessibility & Semantics
|
|
192
|
+
|
|
193
|
+
* **Semantic Landmark:** The organism renders an internal `<header>` element and delegates `aria-label` from the host for top-level navigation context.
|
|
194
|
+
* **Child Accessibility Preservation:** Accessibility mechanics remain owned by `ds-breadcrumb` and `ds-navigation-menu`, allowing those molecules to preserve their own tooltip, keyboard, and contextual menu semantics.
|
|
195
|
+
* **Visibility Without State Loss:** Optional regions are hidden through presentational toggles rather than destructive mutation of application state, keeping host control explicit and reversible.
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { Meta } from '@storybook/addon-docs/blocks';
|
|
2
|
+
|
|
3
|
+
<Meta title="Organisms/Header [v1.0.0]/Changelog" />
|
|
4
|
+
|
|
5
|
+
# Changelog
|
|
6
|
+
|
|
7
|
+
<br />
|
|
8
|
+
|
|
9
|
+
## [1.0.0] - 2026-07-23
|
|
10
|
+
|
|
11
|
+
<br />
|
|
12
|
+
|
|
13
|
+
### Initial Release
|
|
14
|
+
|
|
15
|
+
The stable debut of the `ds-header` layout organism. This component establishes a full-width presentational header shell that composes `ds-breadcrumb` and `ds-navigation-menu` into a single app-level chrome surface while preserving a strict dumb-component contract.
|
|
16
|
+
|
|
17
|
+
<br />
|
|
18
|
+
|
|
19
|
+
### Added
|
|
20
|
+
- **Viewport-Width Header Shell:** Created `<ds-header>` as a full-width organism that stretches across the viewport and maintains explicit left/right edge anchoring for its composed regions.
|
|
21
|
+
- **Molecule Composition Contract:** Integrated `ds-breadcrumb` on the far left and `ds-navigation-menu` on the far right using a rigid flex layout intended for smart-app page framing.
|
|
22
|
+
- **Presentational Visibility Toggles:** Added `show-breadcrumb` and `show-language-menu` booleans so the host application can suppress optional UI regions without introducing smart behavior into the component itself.
|
|
23
|
+
- **Navigation Attribute Forwarding:** Implemented pass-through forwarding for avatar, tooltip, keyboard shortcut, aria-label, and disabled-state props into the child navigation menu.
|
|
24
|
+
- **Storybook Coverage:** Added `Complete`, `NoBreadcrumb`, and `NoLanguageMenu` stories with explicit descriptions validating alignment and optional-region behavior.
|
|
25
|
+
|
|
26
|
+
### Fixed
|
|
27
|
+
- **Export Surface Completion:** Filled the missing `src/stories/organisms/Header/Header.js` module expected by the package entry export map.
|
|
28
|
+
- **Contextual Menu Canvas Clipping:** Increased the Header story canvas height and bottom breathing room so the navigation menu popovers can open without being visually cut off in the preview.
|
|
29
|
+
|
|
30
|
+
---
|
|
31
|
+
|
|
32
|
+
*This changelog is specific to the `<ds-header>` component. For design system global releases, refer to the main [Getting Started/Changelog](?path=/docs/getting-started-changelog--docs).*
|
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
import css from './header.css?inline';
|
|
2
|
+
import '../../molecules/Breadcrumb/Breadcrumb.js';
|
|
3
|
+
import '../../molecules/NavigationMenu/NavigationMenu.js';
|
|
4
|
+
|
|
5
|
+
const NAVIGATION_MENU_ATTRIBUTES = [
|
|
6
|
+
'language-tooltip',
|
|
7
|
+
'language-kbd-label',
|
|
8
|
+
'language-kbd-key',
|
|
9
|
+
'language-kbd-show-plus',
|
|
10
|
+
'language-aria-label',
|
|
11
|
+
'accessibility-tooltip',
|
|
12
|
+
'accessibility-kbd-label',
|
|
13
|
+
'accessibility-kbd-key',
|
|
14
|
+
'accessibility-kbd-show-plus',
|
|
15
|
+
'accessibility-aria-label',
|
|
16
|
+
'about-tooltip',
|
|
17
|
+
'about-kbd-label',
|
|
18
|
+
'about-kbd-key',
|
|
19
|
+
'about-kbd-show-plus',
|
|
20
|
+
'about-aria-label',
|
|
21
|
+
'avatar-src',
|
|
22
|
+
'avatar-alt',
|
|
23
|
+
'disabled'
|
|
24
|
+
];
|
|
25
|
+
|
|
26
|
+
export class Header extends HTMLElement {
|
|
27
|
+
static get observedAttributes() {
|
|
28
|
+
return ['aria-label', 'show-breadcrumb', 'show-language-menu', ...NAVIGATION_MENU_ATTRIBUTES];
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
constructor() {
|
|
32
|
+
super();
|
|
33
|
+
this.attachShadow({ mode: 'open' });
|
|
34
|
+
this._breadcrumbItems = null;
|
|
35
|
+
this._breadcrumbMenuItems = null;
|
|
36
|
+
|
|
37
|
+
this.shadowRoot.innerHTML = `
|
|
38
|
+
<style>${css}</style>
|
|
39
|
+
<header class="header-shell" aria-label="Header">
|
|
40
|
+
<div class="header-content">
|
|
41
|
+
<div class="breadcrumb-region">
|
|
42
|
+
<ds-breadcrumb></ds-breadcrumb>
|
|
43
|
+
</div>
|
|
44
|
+
<div class="navigation-region">
|
|
45
|
+
<ds-navigation-menu></ds-navigation-menu>
|
|
46
|
+
</div>
|
|
47
|
+
</div>
|
|
48
|
+
</header>
|
|
49
|
+
`;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
connectedCallback() {
|
|
53
|
+
this.headerEl = this.shadowRoot.querySelector('.header-shell');
|
|
54
|
+
this.breadcrumbRegion = this.shadowRoot.querySelector('.breadcrumb-region');
|
|
55
|
+
this.navigationRegion = this.shadowRoot.querySelector('.navigation-region');
|
|
56
|
+
this.breadcrumbEl = this.shadowRoot.querySelector('ds-breadcrumb');
|
|
57
|
+
this.navigationEl = this.shadowRoot.querySelector('ds-navigation-menu');
|
|
58
|
+
this.render();
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
attributeChangedCallback(name, oldValue, newValue) {
|
|
62
|
+
if (oldValue === newValue) return;
|
|
63
|
+
if (this.headerEl) {
|
|
64
|
+
this.render();
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
get breadcrumbItems() {
|
|
69
|
+
return this._breadcrumbItems;
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
set breadcrumbItems(items) {
|
|
73
|
+
this._breadcrumbItems = Array.isArray(items) ? items : null;
|
|
74
|
+
this.render();
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
get breadcrumbMenuItems() {
|
|
78
|
+
return this._breadcrumbMenuItems;
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
set breadcrumbMenuItems(items) {
|
|
82
|
+
this._breadcrumbMenuItems = Array.isArray(items) ? items : null;
|
|
83
|
+
this.render();
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
get showBreadcrumb() {
|
|
87
|
+
return this.getAttribute('show-breadcrumb') !== 'false';
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
set showBreadcrumb(value) {
|
|
91
|
+
this.setAttribute('show-breadcrumb', value ? 'true' : 'false');
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
get showLanguageMenu() {
|
|
95
|
+
return this.getAttribute('show-language-menu') !== 'false';
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
set showLanguageMenu(value) {
|
|
99
|
+
this.setAttribute('show-language-menu', value ? 'true' : 'false');
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
_forwardNavigationAttributes() {
|
|
103
|
+
NAVIGATION_MENU_ATTRIBUTES.forEach((attributeName) => {
|
|
104
|
+
if (this.hasAttribute(attributeName)) {
|
|
105
|
+
this.navigationEl.setAttribute(attributeName, this.getAttribute(attributeName) || '');
|
|
106
|
+
} else {
|
|
107
|
+
this.navigationEl.removeAttribute(attributeName);
|
|
108
|
+
}
|
|
109
|
+
});
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
_syncLanguageVisibility() {
|
|
113
|
+
const showLanguageMenu = this.showLanguageMenu;
|
|
114
|
+
const navigationShadow = this.navigationEl.shadowRoot;
|
|
115
|
+
|
|
116
|
+
if (!navigationShadow) return;
|
|
117
|
+
|
|
118
|
+
const languageItem = navigationShadow.querySelector('.menu-item-language');
|
|
119
|
+
const languageMenu = navigationShadow.querySelector('.language-menu');
|
|
120
|
+
|
|
121
|
+
if (languageItem) {
|
|
122
|
+
languageItem.style.display = showLanguageMenu ? '' : 'none';
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
if (!showLanguageMenu && languageMenu) {
|
|
126
|
+
languageMenu.removeAttribute('open');
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
render() {
|
|
131
|
+
if (!this.headerEl) return;
|
|
132
|
+
|
|
133
|
+
this.headerEl.setAttribute('aria-label', this.getAttribute('aria-label') || 'Header');
|
|
134
|
+
|
|
135
|
+
this.breadcrumbRegion.hidden = !this.showBreadcrumb;
|
|
136
|
+
this.breadcrumbEl.visible = this.showBreadcrumb;
|
|
137
|
+
|
|
138
|
+
if (Array.isArray(this._breadcrumbItems)) {
|
|
139
|
+
this.breadcrumbEl.items = this._breadcrumbItems;
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
this.breadcrumbEl.menuItems = this._breadcrumbMenuItems;
|
|
143
|
+
|
|
144
|
+
this._forwardNavigationAttributes();
|
|
145
|
+
this._syncLanguageVisibility();
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
if (!customElements.get('ds-header')) {
|
|
150
|
+
customElements.define('ds-header', Header);
|
|
151
|
+
}
|