@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,264 @@
|
|
|
1
|
+
import { Meta } from '@storybook/addon-docs/blocks';
|
|
2
|
+
|
|
3
|
+
<Meta title="Molecules/Gallery Item [v1.2.0]/Architecture" />
|
|
4
|
+
|
|
5
|
+
# `ds-gallery-item`
|
|
6
|
+
|
|
7
|
+
The `ds-gallery-item` component is a presentational Molecule that composes a clickable preview thumbnail (`ds-thumbnail`), metadata text, and optional action pills for portfolio and case study catalogs.
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## Principles
|
|
12
|
+
|
|
13
|
+
### Unidirectional Data Flow
|
|
14
|
+
The component follows the **State In / Events Out** pattern:
|
|
15
|
+
* **State In (Attributes):** Host applications provide title, short description, read time, thumbnail source, thumbnail frame selectors (`thumb-category`, `thumb-brand`, `thumb-model`, `thumb-color`, optional `thumb-device-src`), frame ratio, and state flags (`is-protected`, `is-unlocked`, `has-video`, `has-repo`, `has-live`).
|
|
16
|
+
* **Events Out (`ds-case-select`):** The thumbnail activation surface dispatches selection intent via a bubbling/composed CustomEvent.
|
|
17
|
+
* **Derived Presentation State:** Lock/unlock visuals and pill visibility are derived from host-provided booleans only.
|
|
18
|
+
|
|
19
|
+
<mermaid-diagram chart={`
|
|
20
|
+
flowchart LR
|
|
21
|
+
subgraph Host["Host Application / Router"]
|
|
22
|
+
State["Current Case State"]
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
subgraph WebComp["Valence Molecule"]
|
|
26
|
+
Card["ds-gallery-item"]
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
State -->|"1. State In\n title, short-desc, thumb-src, thumb-model, flags"| Card
|
|
30
|
+
Card -->|"2. Event Out\n ds-case-select"| State
|
|
31
|
+
|
|
32
|
+
style Host fill:#f8fafc,stroke:#94a3b8,stroke-width:2px,color:#0f172a
|
|
33
|
+
style WebComp fill:#eff6ff,stroke:#3b82f6,stroke-width:2px,color:#1e3a8a
|
|
34
|
+
style State fill:#ffffff,stroke:#cbd5e1,color:#0f172a
|
|
35
|
+
style Card fill:#ffffff,stroke:#93c5fd,color:#1e3a8a
|
|
36
|
+
`} />
|
|
37
|
+
|
|
38
|
+
---
|
|
39
|
+
|
|
40
|
+
## Slot Architecture
|
|
41
|
+
|
|
42
|
+
`ds-gallery-item` is a sealed Shadow DOM component. It does not expose slots and controls all child composition internally.
|
|
43
|
+
|
|
44
|
+
### Slot Hierarchy Table
|
|
45
|
+
|
|
46
|
+
<table>
|
|
47
|
+
<thead>
|
|
48
|
+
<tr>
|
|
49
|
+
<th>Slot Name</th>
|
|
50
|
+
<th>Type / Allowed Children</th>
|
|
51
|
+
<th>Description</th>
|
|
52
|
+
<th>Fallback Behavior</th>
|
|
53
|
+
</tr>
|
|
54
|
+
</thead>
|
|
55
|
+
<tbody>
|
|
56
|
+
<tr>
|
|
57
|
+
<td>`default`</td>
|
|
58
|
+
<td>None</td>
|
|
59
|
+
<td>Internal composition only (`ds-thumbnail`, title row, read-time, pills).</td>
|
|
60
|
+
<td>Renders an internal fallback title and empty metadata when attributes are omitted.</td>
|
|
61
|
+
</tr>
|
|
62
|
+
</tbody>
|
|
63
|
+
</table>
|
|
64
|
+
|
|
65
|
+
---
|
|
66
|
+
|
|
67
|
+
## API Contract
|
|
68
|
+
|
|
69
|
+
### Properties & Attributes
|
|
70
|
+
|
|
71
|
+
<table>
|
|
72
|
+
<thead>
|
|
73
|
+
<tr>
|
|
74
|
+
<th>Property</th>
|
|
75
|
+
<th>Attribute</th>
|
|
76
|
+
<th>Type</th>
|
|
77
|
+
<th>Default</th>
|
|
78
|
+
<th>Description</th>
|
|
79
|
+
</tr>
|
|
80
|
+
</thead>
|
|
81
|
+
<tbody>
|
|
82
|
+
<tr>
|
|
83
|
+
<td>`title`</td>
|
|
84
|
+
<td>`title`</td>
|
|
85
|
+
<td>`string`</td>
|
|
86
|
+
<td>`'Case Title'`</td>
|
|
87
|
+
<td>Primary card heading for the case item.</td>
|
|
88
|
+
</tr>
|
|
89
|
+
<tr>
|
|
90
|
+
<td>`shortDesc`</td>
|
|
91
|
+
<td>`short-desc`</td>
|
|
92
|
+
<td>`string`</td>
|
|
93
|
+
<td>`''`</td>
|
|
94
|
+
<td>Secondary descriptive text beneath the heading.</td>
|
|
95
|
+
</tr>
|
|
96
|
+
<tr>
|
|
97
|
+
<td>`readTime`</td>
|
|
98
|
+
<td>`read-time`</td>
|
|
99
|
+
<td>`string`</td>
|
|
100
|
+
<td>`''`</td>
|
|
101
|
+
<td>Optional reading/viewing duration label.</td>
|
|
102
|
+
</tr>
|
|
103
|
+
<tr>
|
|
104
|
+
<td>`thumbSrc`</td>
|
|
105
|
+
<td>`thumb-src`</td>
|
|
106
|
+
<td>`string`</td>
|
|
107
|
+
<td>`''`</td>
|
|
108
|
+
<td>Image URL fed into child `ds-thumbnail` via `screen-image`.</td>
|
|
109
|
+
</tr>
|
|
110
|
+
<tr>
|
|
111
|
+
<td>`aspectRatio`</td>
|
|
112
|
+
<td>`aspect-ratio`</td>
|
|
113
|
+
<td>`string`</td>
|
|
114
|
+
<td>`'9:19.5'`</td>
|
|
115
|
+
<td>Frame ratio applied to the thumbnail wrapper (for example `1:1`, `16:9`).</td>
|
|
116
|
+
</tr>
|
|
117
|
+
<tr>
|
|
118
|
+
<td>`thumbCategory`</td>
|
|
119
|
+
<td>`thumb-category`</td>
|
|
120
|
+
<td>`string`</td>
|
|
121
|
+
<td>`'mobile'`</td>
|
|
122
|
+
<td>Category passed to child `ds-thumbnail` catalog selection.</td>
|
|
123
|
+
</tr>
|
|
124
|
+
<tr>
|
|
125
|
+
<td>`thumbBrand`</td>
|
|
126
|
+
<td>`thumb-brand`</td>
|
|
127
|
+
<td>`string`</td>
|
|
128
|
+
<td>`'apple'`</td>
|
|
129
|
+
<td>Brand passed to child `ds-thumbnail` catalog selection.</td>
|
|
130
|
+
</tr>
|
|
131
|
+
<tr>
|
|
132
|
+
<td>`thumbModel`</td>
|
|
133
|
+
<td>`thumb-model`</td>
|
|
134
|
+
<td>`string`</td>
|
|
135
|
+
<td>`'Apple iPhone 12'`</td>
|
|
136
|
+
<td>Model passed to child `ds-thumbnail` catalog selection.</td>
|
|
137
|
+
</tr>
|
|
138
|
+
<tr>
|
|
139
|
+
<td>`thumbColor`</td>
|
|
140
|
+
<td>`thumb-color`</td>
|
|
141
|
+
<td>`string`</td>
|
|
142
|
+
<td>`'Black'`</td>
|
|
143
|
+
<td>Color variant passed to child `ds-thumbnail` catalog selection.</td>
|
|
144
|
+
</tr>
|
|
145
|
+
<tr>
|
|
146
|
+
<td>`thumbDeviceSrc`</td>
|
|
147
|
+
<td>`thumb-device-src`</td>
|
|
148
|
+
<td>`string`</td>
|
|
149
|
+
<td>`''`</td>
|
|
150
|
+
<td>Optional direct frame URL override for `ds-thumbnail` (`device-src`).</td>
|
|
151
|
+
</tr>
|
|
152
|
+
<tr>
|
|
153
|
+
<td>`isProtected`</td>
|
|
154
|
+
<td>`is-protected`</td>
|
|
155
|
+
<td>`boolean`</td>
|
|
156
|
+
<td>`false`</td>
|
|
157
|
+
<td>Enables lock icon rendering and protected state behavior.</td>
|
|
158
|
+
</tr>
|
|
159
|
+
<tr>
|
|
160
|
+
<td>`isUnlocked`</td>
|
|
161
|
+
<td>`is-unlocked`</td>
|
|
162
|
+
<td>`boolean`</td>
|
|
163
|
+
<td>`false`</td>
|
|
164
|
+
<td>When paired with `is-protected`, toggles lock-open state and normal text visibility.</td>
|
|
165
|
+
</tr>
|
|
166
|
+
<tr>
|
|
167
|
+
<td>`hasVideo`</td>
|
|
168
|
+
<td>`has-video`</td>
|
|
169
|
+
<td>`boolean`</td>
|
|
170
|
+
<td>`false`</td>
|
|
171
|
+
<td>Shows localized video/pitch pill when unlocked.</td>
|
|
172
|
+
</tr>
|
|
173
|
+
<tr>
|
|
174
|
+
<td>`hasRepo`</td>
|
|
175
|
+
<td>`has-repo`</td>
|
|
176
|
+
<td>`boolean`</td>
|
|
177
|
+
<td>`false`</td>
|
|
178
|
+
<td>Shows localized repository pill when unlocked.</td>
|
|
179
|
+
</tr>
|
|
180
|
+
<tr>
|
|
181
|
+
<td>`hasLive`</td>
|
|
182
|
+
<td>`has-live`</td>
|
|
183
|
+
<td>`boolean`</td>
|
|
184
|
+
<td>`false`</td>
|
|
185
|
+
<td>Shows localized live demo pill when unlocked.</td>
|
|
186
|
+
</tr>
|
|
187
|
+
</tbody>
|
|
188
|
+
</table>
|
|
189
|
+
|
|
190
|
+
### Emitted Custom Events
|
|
191
|
+
|
|
192
|
+
<table>
|
|
193
|
+
<thead>
|
|
194
|
+
<tr>
|
|
195
|
+
<th>Event Name</th>
|
|
196
|
+
<th>Bubbles / Composed</th>
|
|
197
|
+
<th>Detail Payload</th>
|
|
198
|
+
<th>Description</th>
|
|
199
|
+
</tr>
|
|
200
|
+
</thead>
|
|
201
|
+
<tbody>
|
|
202
|
+
<tr>
|
|
203
|
+
<td>`ds-case-select`</td>
|
|
204
|
+
<td>`true` / `true`</td>
|
|
205
|
+
<td>`{}`</td>
|
|
206
|
+
<td>Emitted when the user activates the thumbnail surface via click, Enter, or Space.</td>
|
|
207
|
+
</tr>
|
|
208
|
+
</tbody>
|
|
209
|
+
</table>
|
|
210
|
+
|
|
211
|
+
### Sub-Atomic CSS Custom Property Hooks
|
|
212
|
+
|
|
213
|
+
<table>
|
|
214
|
+
<thead>
|
|
215
|
+
<tr>
|
|
216
|
+
<th>CSS Custom Property</th>
|
|
217
|
+
<th>Fallback Default</th>
|
|
218
|
+
<th>Description</th>
|
|
219
|
+
</tr>
|
|
220
|
+
</thead>
|
|
221
|
+
<tbody>
|
|
222
|
+
<tr>
|
|
223
|
+
<td>`--device-h-gallery`</td>
|
|
224
|
+
<td>`55vh`</td>
|
|
225
|
+
<td>Controls rendered thumbnail height.</td>
|
|
226
|
+
</tr>
|
|
227
|
+
<tr>
|
|
228
|
+
<td>`--ds-thumbnail-screen-radius`</td>
|
|
229
|
+
<td>`var(--radius-lg)`</td>
|
|
230
|
+
<td>Controls corner radius of the thumbnail image surface.</td>
|
|
231
|
+
</tr>
|
|
232
|
+
</tbody>
|
|
233
|
+
</table>
|
|
234
|
+
|
|
235
|
+
---
|
|
236
|
+
|
|
237
|
+
## Accessibility & Interaction
|
|
238
|
+
|
|
239
|
+
* **Keyboard Activation:** Selection surface supports `Enter` and `Space` key activation.
|
|
240
|
+
* **Focusable Surface:** Thumbnail host is exposed with `tabindex="0"` and `role="button"`.
|
|
241
|
+
* **Protected State Redaction:** Locked cards hide read time, blur the thumbnail surface, and replace title/description text.
|
|
242
|
+
* **Semantic Indicator:** Protected cards display lock-open / lock-closed iconography to communicate current availability.
|
|
243
|
+
|
|
244
|
+
---
|
|
245
|
+
|
|
246
|
+
## Integration Example
|
|
247
|
+
|
|
248
|
+
```javascript
|
|
249
|
+
import 'valence/src/stories/molecules/GalleryItem/GalleryItem.js';
|
|
250
|
+
|
|
251
|
+
const card = document.createElement('ds-gallery-item');
|
|
252
|
+
card.setAttribute('title', 'Agentic AI Design');
|
|
253
|
+
card.setAttribute('short-desc', 'Exploration of orchestration and UX.');
|
|
254
|
+
card.setAttribute('thumb-src', '/holofante.avif');
|
|
255
|
+
card.setAttribute('thumb-model', 'Apple iPhone 12');
|
|
256
|
+
card.setAttribute('thumb-color', 'Black');
|
|
257
|
+
card.setAttribute('read-time', '3 min');
|
|
258
|
+
card.setAttribute('has-video', '');
|
|
259
|
+
card.addEventListener('ds-case-select', () => {
|
|
260
|
+
console.log('Open case details');
|
|
261
|
+
});
|
|
262
|
+
|
|
263
|
+
document.body.appendChild(card);
|
|
264
|
+
```
|
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
import { Meta } from '@storybook/addon-docs/blocks';
|
|
2
|
+
|
|
3
|
+
<Meta title="Molecules/Gallery Item [v1.2.0]/Changelog" />
|
|
4
|
+
|
|
5
|
+
# Changelog
|
|
6
|
+
|
|
7
|
+
<br />
|
|
8
|
+
|
|
9
|
+
## [1.2.0] - 2026-07-23
|
|
10
|
+
|
|
11
|
+
<br />
|
|
12
|
+
|
|
13
|
+
### Thumbnail Frame Controls & iPhone 12 Defaults
|
|
14
|
+
|
|
15
|
+
This release removes the forced `custom-only` thumbnail mode in `ds-gallery-item`, exposes full frame-selector props, and organizes Storybook controls into clear categories with iPhone 12 defaults.
|
|
16
|
+
|
|
17
|
+
<br />
|
|
18
|
+
|
|
19
|
+
### Summary of Changes
|
|
20
|
+
|
|
21
|
+
<table>
|
|
22
|
+
<thead>
|
|
23
|
+
<tr>
|
|
24
|
+
<th>Classification</th>
|
|
25
|
+
<th>Scope / Context</th>
|
|
26
|
+
<th>Description</th>
|
|
27
|
+
</tr>
|
|
28
|
+
</thead>
|
|
29
|
+
<tbody>
|
|
30
|
+
<tr>
|
|
31
|
+
<td>`Changed`</td>
|
|
32
|
+
<td>`GalleryItem.js`</td>
|
|
33
|
+
<td>Removed forced `custom-only` from child `ds-thumbnail` and enabled full frame rendering mode by default.</td>
|
|
34
|
+
</tr>
|
|
35
|
+
<tr>
|
|
36
|
+
<td>`Added`</td>
|
|
37
|
+
<td>`GalleryItem.js`</td>
|
|
38
|
+
<td>Added thumbnail passthrough attributes: `thumb-category`, `thumb-brand`, `thumb-model`, `thumb-color`, and optional `thumb-device-src`.</td>
|
|
39
|
+
</tr>
|
|
40
|
+
<tr>
|
|
41
|
+
<td>`Changed`</td>
|
|
42
|
+
<td>`GalleryItem.stories.js`</td>
|
|
43
|
+
<td>Exposed thumbnail frame controls in story args and grouped controls by category (Content, Thumbnail Frame, Layout, State, Pills).</td>
|
|
44
|
+
</tr>
|
|
45
|
+
<tr>
|
|
46
|
+
<td>`Changed`</td>
|
|
47
|
+
<td>`GalleryItem.stories.js`</td>
|
|
48
|
+
<td>Set default frame values to Apple iPhone 12 (mobile/apple/Apple iPhone 12/Black).</td>
|
|
49
|
+
</tr>
|
|
50
|
+
</tbody>
|
|
51
|
+
</table>
|
|
52
|
+
|
|
53
|
+
<br />
|
|
54
|
+
|
|
55
|
+
### Added
|
|
56
|
+
- **Thumbnail Frame Props:** Story + component now expose device frame selection inputs for catalog-driven rendering.
|
|
57
|
+
|
|
58
|
+
### Changed
|
|
59
|
+
- **Default Device:** Updated default framed thumbnail presentation to Apple iPhone 12.
|
|
60
|
+
- **Story Controls Taxonomy:** Reorganized controls into distinct contributor-friendly groups.
|
|
61
|
+
|
|
62
|
+
---
|
|
63
|
+
|
|
64
|
+
<br />
|
|
65
|
+
|
|
66
|
+
## [1.1.0] - 2026-07-23
|
|
67
|
+
|
|
68
|
+
<br />
|
|
69
|
+
|
|
70
|
+
### Thumbnail Composition Update
|
|
71
|
+
|
|
72
|
+
This release updates `ds-gallery-item` to compose the shared `ds-thumbnail` atom instead of rendering a local image wrapper, and adds dedicated architecture/changelog documentation for maintainers.
|
|
73
|
+
|
|
74
|
+
<br />
|
|
75
|
+
|
|
76
|
+
### Summary of Changes
|
|
77
|
+
|
|
78
|
+
<table>
|
|
79
|
+
<thead>
|
|
80
|
+
<tr>
|
|
81
|
+
<th>Classification</th>
|
|
82
|
+
<th>Scope / Context</th>
|
|
83
|
+
<th>Description</th>
|
|
84
|
+
</tr>
|
|
85
|
+
</thead>
|
|
86
|
+
<tbody>
|
|
87
|
+
<tr>
|
|
88
|
+
<td>`Changed`</td>
|
|
89
|
+
<td>`GalleryItem.js`</td>
|
|
90
|
+
<td>Replaced local thumbnail wrapper/image composition with `ds-thumbnail` (`custom-only`) as the render surface.</td>
|
|
91
|
+
</tr>
|
|
92
|
+
<tr>
|
|
93
|
+
<td>`Changed`</td>
|
|
94
|
+
<td>`gallery-item.css`</td>
|
|
95
|
+
<td>Updated thumbnail styles to target the `ds-thumbnail` host and preserve hover, focus, and active interaction feedback.</td>
|
|
96
|
+
</tr>
|
|
97
|
+
<tr>
|
|
98
|
+
<td>`Fixed`</td>
|
|
99
|
+
<td>`locked visuals`</td>
|
|
100
|
+
<td>Locked-state blur is now applied to the shared thumbnail host consistently with protected-card behavior.</td>
|
|
101
|
+
</tr>
|
|
102
|
+
<tr>
|
|
103
|
+
<td>`Added`</td>
|
|
104
|
+
<td>`component docs`</td>
|
|
105
|
+
<td>Added architecture and changelog MDX coverage for `ds-gallery-item` to align with Valence molecule documentation standards.</td>
|
|
106
|
+
</tr>
|
|
107
|
+
</tbody>
|
|
108
|
+
</table>
|
|
109
|
+
|
|
110
|
+
<br />
|
|
111
|
+
|
|
112
|
+
### Added
|
|
113
|
+
- **Architecture Documentation:** Introduced `GalleryItem.Architecture.mdx` covering API, event contract, interaction model, and CSS hooks.
|
|
114
|
+
- **Changelog Coverage:** Added component-level release notes with scoped, classified updates.
|
|
115
|
+
|
|
116
|
+
### Changed
|
|
117
|
+
- **Thumbnail Surface:** Gallery cards now pass `thumb-src` into `ds-thumbnail` via `screen-image` and preserve ratio/height constraints.
|
|
118
|
+
- **Interaction Layer:** Existing click/keyboard select behavior remains on the same gallery thumbnail surface semantics.
|
|
119
|
+
|
|
120
|
+
### Fixed
|
|
121
|
+
- **Shared Thumbnail Consistency:** Gallery items now rely on the design system's thumbnail atom for image rendering behavior rather than duplicating local image mechanics.
|
|
122
|
+
|
|
123
|
+
---
|
|
124
|
+
|
|
125
|
+
## [1.0.0] - 2026-07-21
|
|
126
|
+
|
|
127
|
+
<br />
|
|
128
|
+
|
|
129
|
+
### Initial Release
|
|
130
|
+
|
|
131
|
+
Initial release of the `ds-gallery-item` molecule for case study card previews, lock-state redaction, and optional metadata pills.
|
|
132
|
+
|
|
133
|
+
<br />
|
|
134
|
+
|
|
135
|
+
### Added
|
|
136
|
+
- **Gallery Item Molecule:** Added `<ds-gallery-item>` with title, short description, read-time, lock icon, and pills support.
|
|
137
|
+
- **Selection Event:** Added `ds-case-select` custom event for host-level case navigation.
|
|
138
|
+
- **Protected State Support:** Added `is-protected` and `is-unlocked` behavior for locked/unlocked rendering.
|
|
139
|
+
|
|
140
|
+
---
|
|
141
|
+
|
|
142
|
+
*This changelog is specific to the `<ds-gallery-item>` component. For design system global releases, refer to the main [Getting Started/Changelog](?path=/docs/getting-started-changelog--docs).*
|
|
@@ -0,0 +1,201 @@
|
|
|
1
|
+
// src/stories/molecules/GalleryItem/GalleryItem.js
|
|
2
|
+
import css from './gallery-item.css?inline';
|
|
3
|
+
import '../../atoms/Pill/Pill.js';
|
|
4
|
+
import '../../atoms/Thumbnail/Thumbnail.js';
|
|
5
|
+
import '../../sub-atomic/Iconography/Iconography.js';
|
|
6
|
+
|
|
7
|
+
export class GalleryItem extends HTMLElement {
|
|
8
|
+
static get observedAttributes() {
|
|
9
|
+
return [
|
|
10
|
+
'title',
|
|
11
|
+
'short-desc',
|
|
12
|
+
'read-time',
|
|
13
|
+
'thumb-src',
|
|
14
|
+
'aspect-ratio',
|
|
15
|
+
'thumb-category',
|
|
16
|
+
'thumb-brand',
|
|
17
|
+
'thumb-model',
|
|
18
|
+
'thumb-color',
|
|
19
|
+
'thumb-device-src',
|
|
20
|
+
'thumb-custom-only',
|
|
21
|
+
'show-title',
|
|
22
|
+
'show-short-desc',
|
|
23
|
+
'show-read-time',
|
|
24
|
+
'show-thumbnail',
|
|
25
|
+
'is-protected',
|
|
26
|
+
'is-unlocked',
|
|
27
|
+
'has-video',
|
|
28
|
+
'has-repo',
|
|
29
|
+
'has-live',
|
|
30
|
+
];
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
getCategoryHeight(category) {
|
|
34
|
+
const map = {
|
|
35
|
+
wearable: '26vh',
|
|
36
|
+
mobile: '40vh',
|
|
37
|
+
tablet: '46vh',
|
|
38
|
+
desktop: '32vh',
|
|
39
|
+
television: '30vh',
|
|
40
|
+
};
|
|
41
|
+
|
|
42
|
+
const baseHeight = map[category] || '40vh';
|
|
43
|
+
return `calc(${baseHeight} * 1.25)`;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
constructor() {
|
|
47
|
+
super();
|
|
48
|
+
this.attachShadow({ mode: 'open' });
|
|
49
|
+
this.shadowRoot.innerHTML = `
|
|
50
|
+
<style>${css}</style>
|
|
51
|
+
<ds-thumbnail class="case-thumb-wrapper" tabindex="0" role="button"></ds-thumbnail>
|
|
52
|
+
<div class="gallery-item-meta">
|
|
53
|
+
<div class="gallery-item-text">
|
|
54
|
+
<div class="gallery-item-title-wrapper">
|
|
55
|
+
<h4 class="gallery-item-title">
|
|
56
|
+
<ds-icon class="lock-icon" size="14" style="display: none;"></ds-icon>
|
|
57
|
+
<span class="title-text"></span>
|
|
58
|
+
</h4>
|
|
59
|
+
<span class="gallery-read-time">
|
|
60
|
+
<ds-icon name="play" size="10"></ds-icon>
|
|
61
|
+
<span class="read-time-text"></span>
|
|
62
|
+
</span>
|
|
63
|
+
</div>
|
|
64
|
+
<p class="gallery-item-shortdesc"></p>
|
|
65
|
+
</div>
|
|
66
|
+
<div class="gallery-item-pills"></div>
|
|
67
|
+
</div>
|
|
68
|
+
`;
|
|
69
|
+
|
|
70
|
+
this.thumbWrapper = this.shadowRoot.querySelector('.case-thumb-wrapper');
|
|
71
|
+
|
|
72
|
+
this.thumbWrapper.addEventListener('click', () => this.dispatchSelect());
|
|
73
|
+
this.thumbWrapper.addEventListener('keydown', (e) => {
|
|
74
|
+
if (e.key === 'Enter' || e.key === ' ') {
|
|
75
|
+
e.preventDefault();
|
|
76
|
+
this.dispatchSelect();
|
|
77
|
+
}
|
|
78
|
+
});
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
dispatchSelect() {
|
|
82
|
+
this.dispatchEvent(new CustomEvent('ds-case-select', { bubbles: true, composed: true }));
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
connectedCallback() { this.render(); }
|
|
86
|
+
attributeChangedCallback() { this.render(); }
|
|
87
|
+
|
|
88
|
+
parseToggleAttr(name, defaultValue = true) {
|
|
89
|
+
const raw = this.getAttribute(name);
|
|
90
|
+
if (raw === null) return defaultValue;
|
|
91
|
+
|
|
92
|
+
const normalized = String(raw).trim().toLowerCase();
|
|
93
|
+
if (['false', '0', 'off', 'no'].includes(normalized)) return false;
|
|
94
|
+
if (['true', '1', 'on', 'yes', ''].includes(normalized)) return true;
|
|
95
|
+
|
|
96
|
+
return defaultValue;
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
render() {
|
|
100
|
+
const title = this.getAttribute('title') || 'Case Title';
|
|
101
|
+
const shortDesc = this.getAttribute('short-desc') || '';
|
|
102
|
+
const readTime = this.getAttribute('read-time') || '';
|
|
103
|
+
const thumbSrc = this.getAttribute('thumb-src') || '';
|
|
104
|
+
const thumbCategory = this.getAttribute('thumb-category') || 'mobile';
|
|
105
|
+
const thumbBrand = this.getAttribute('thumb-brand') || 'apple';
|
|
106
|
+
const thumbModel = this.getAttribute('thumb-model') || 'Apple iPhone 12';
|
|
107
|
+
const thumbColor = this.getAttribute('thumb-color') || 'Black';
|
|
108
|
+
const thumbDeviceSrc = this.getAttribute('thumb-device-src') || '';
|
|
109
|
+
const thumbCustomOnly = this.hasAttribute('thumb-custom-only');
|
|
110
|
+
const aspectRatio = this.getAttribute('aspect-ratio');
|
|
111
|
+
const showTitle = this.parseToggleAttr('show-title', true);
|
|
112
|
+
const showShortDesc = this.parseToggleAttr('show-short-desc', true);
|
|
113
|
+
const showReadTime = this.parseToggleAttr('show-read-time', true);
|
|
114
|
+
const showThumbnail = this.parseToggleAttr('show-thumbnail', true);
|
|
115
|
+
|
|
116
|
+
const isProtected = this.hasAttribute('is-protected');
|
|
117
|
+
const isUnlocked = this.hasAttribute('is-unlocked');
|
|
118
|
+
const hasVideo = this.hasAttribute('has-video');
|
|
119
|
+
const hasRepo = this.hasAttribute('has-repo');
|
|
120
|
+
const hasLive = this.hasAttribute('has-live');
|
|
121
|
+
|
|
122
|
+
const isLocked = isProtected && !isUnlocked;
|
|
123
|
+
|
|
124
|
+
// Frame Logic
|
|
125
|
+
if (thumbCustomOnly && aspectRatio) {
|
|
126
|
+
this.thumbWrapper.style.aspectRatio = aspectRatio.replace(':', ' / ');
|
|
127
|
+
} else {
|
|
128
|
+
this.thumbWrapper.style.removeProperty('aspect-ratio');
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
this.thumbWrapper.style.setProperty('--device-h-gallery', this.getCategoryHeight(thumbCategory));
|
|
132
|
+
|
|
133
|
+
// Thumbnail atom
|
|
134
|
+
this.thumbWrapper.setAttribute('screen-image', thumbSrc);
|
|
135
|
+
this.thumbWrapper.setAttribute('category', thumbCategory);
|
|
136
|
+
this.thumbWrapper.setAttribute('brand', thumbBrand);
|
|
137
|
+
this.thumbWrapper.setAttribute('model', thumbModel);
|
|
138
|
+
this.thumbWrapper.setAttribute('color', thumbColor);
|
|
139
|
+
if (thumbDeviceSrc) {
|
|
140
|
+
this.thumbWrapper.setAttribute('device-src', thumbDeviceSrc);
|
|
141
|
+
} else {
|
|
142
|
+
this.thumbWrapper.removeAttribute('device-src');
|
|
143
|
+
}
|
|
144
|
+
if (thumbCustomOnly) {
|
|
145
|
+
this.thumbWrapper.setAttribute('custom-only', '');
|
|
146
|
+
} else {
|
|
147
|
+
this.thumbWrapper.removeAttribute('custom-only');
|
|
148
|
+
}
|
|
149
|
+
this.thumbWrapper.setAttribute('max-height', 'var(--device-h-gallery, 55vh)');
|
|
150
|
+
this.thumbWrapper.setAttribute('aria-label', `Thumbnail for ${title}`);
|
|
151
|
+
this.thumbWrapper.classList.toggle('locked-thumb', isLocked);
|
|
152
|
+
this.thumbWrapper.style.display = showThumbnail ? 'inline-flex' : 'none';
|
|
153
|
+
if (showThumbnail) {
|
|
154
|
+
this.thumbWrapper.setAttribute('tabindex', '0');
|
|
155
|
+
this.thumbWrapper.setAttribute('role', 'button');
|
|
156
|
+
this.thumbWrapper.removeAttribute('aria-hidden');
|
|
157
|
+
} else {
|
|
158
|
+
this.thumbWrapper.removeAttribute('tabindex');
|
|
159
|
+
this.thumbWrapper.removeAttribute('role');
|
|
160
|
+
this.thumbWrapper.setAttribute('aria-hidden', 'true');
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
// Text
|
|
164
|
+
const titleEl = this.shadowRoot.querySelector('.gallery-item-title');
|
|
165
|
+
this.shadowRoot.querySelector('.title-text').textContent = isLocked ? 'Protected Case' : title;
|
|
166
|
+
titleEl.style.display = showTitle ? 'flex' : 'none';
|
|
167
|
+
|
|
168
|
+
const descEl = this.shadowRoot.querySelector('.gallery-item-shortdesc');
|
|
169
|
+
descEl.textContent = isLocked ? 'Protected content placeholder.' : shortDesc;
|
|
170
|
+
descEl.classList.toggle('locked-shortdesc', isLocked);
|
|
171
|
+
descEl.style.display = showShortDesc ? 'block' : 'none';
|
|
172
|
+
|
|
173
|
+
// Read Time
|
|
174
|
+
const readTimeEl = this.shadowRoot.querySelector('.gallery-read-time');
|
|
175
|
+
this.shadowRoot.querySelector('.read-time-text').textContent = readTime;
|
|
176
|
+
readTimeEl.style.display = (!showReadTime || isLocked || !readTime) ? 'none' : 'flex';
|
|
177
|
+
|
|
178
|
+
// Lock Icon
|
|
179
|
+
const lockIcon = this.shadowRoot.querySelector('.lock-icon');
|
|
180
|
+
if (isProtected) {
|
|
181
|
+
lockIcon.setAttribute('name', isUnlocked ? 'lock-open' : 'lock-closed');
|
|
182
|
+
lockIcon.style.display = 'inline-flex';
|
|
183
|
+
} else {
|
|
184
|
+
lockIcon.style.display = 'none';
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
// Pills
|
|
188
|
+
const pillsContainer = this.shadowRoot.querySelector('.gallery-item-pills');
|
|
189
|
+
pillsContainer.innerHTML = '';
|
|
190
|
+
if (!isLocked) {
|
|
191
|
+
const t = typeof window.t === 'function' ? window.t : (k) => k;
|
|
192
|
+
if (hasVideo) pillsContainer.innerHTML += `<ds-pill label="${t('pitch')}"></ds-pill>`;
|
|
193
|
+
if (hasRepo) pillsContainer.innerHTML += `<ds-pill label="${t('repo')}"></ds-pill>`;
|
|
194
|
+
if (hasLive) pillsContainer.innerHTML += `<ds-pill label="${t('demo')}"></ds-pill>`;
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
|
|
199
|
+
if (!customElements.get('ds-gallery-item')) {
|
|
200
|
+
customElements.define('ds-gallery-item', GalleryItem);
|
|
201
|
+
}
|