@pixelated-tech/components 3.1.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +231 -0
- package/dist/components/buzzwordbingo/buzzwordbingo.css +42 -0
- package/dist/components/buzzwordbingo/buzzwordbingo.js +35 -0
- package/dist/components/callout/callout.js +95 -0
- package/dist/components/callout/callout.scss +331 -0
- package/dist/components/carousel/carousel.css +178 -0
- package/dist/components/carousel/carousel.drag.js +203 -0
- package/dist/components/carousel/carousel.js +124 -0
- package/dist/components/cms/calendly.js +20 -0
- package/dist/components/cms/cloudinary.image.js +132 -0
- package/dist/components/cms/cloudinary.js +106 -0
- package/dist/components/cms/contentful.delivery.js +247 -0
- package/dist/components/cms/contentful.items.components.js +243 -0
- package/dist/components/cms/contentful.items.css +131 -0
- package/dist/components/cms/contentful.management.js +254 -0
- package/dist/components/cms/flickr.js +160 -0
- package/dist/components/cms/google.reviews.components.js +36 -0
- package/dist/components/cms/google.reviews.functions.js +26 -0
- package/dist/components/cms/gravatar.components.js +41 -0
- package/dist/components/cms/gravatar.functions.js +52 -0
- package/dist/components/cms/hubspot.components.js +45 -0
- package/dist/components/cms/hubspot.js +34 -0
- package/dist/components/cms/instagram.components.js +40 -0
- package/dist/components/cms/instagram.functions.js +67 -0
- package/dist/components/cms/wordpress.components.js +47 -0
- package/dist/components/cms/wordpress.css +55 -0
- package/dist/components/cms/wordpress.functions.js +49 -0
- package/dist/components/config/config.client.js +22 -0
- package/dist/components/config/config.example.js +70 -0
- package/dist/components/config/config.js +53 -0
- package/dist/components/config/config.server.js +11 -0
- package/dist/components/config/config.types.js +2 -0
- package/dist/components/general/css.js +60 -0
- package/dist/components/general/headers.css +16 -0
- package/dist/components/general/headers.js +27 -0
- package/dist/components/general/image.js +81 -0
- package/dist/components/general/layout.js +147 -0
- package/dist/components/general/layout.scss +47 -0
- package/dist/components/general/loading.js +36 -0
- package/dist/components/general/loading.scss +80 -0
- package/dist/components/general/microinteractions.css +229 -0
- package/dist/components/general/microinteractions.js +87 -0
- package/dist/components/general/modal.css +65 -0
- package/dist/components/general/modal.js +52 -0
- package/dist/components/general/table.css +73 -0
- package/dist/components/general/table.js +108 -0
- package/dist/components/linkedin/pixelated.linkedin.js +180 -0
- package/dist/components/linkedin/pixelated.linkedin1.js +102 -0
- package/dist/components/linkedin/pixelated.linkedin2.js +92 -0
- package/dist/components/markdown/markdown.css +12 -0
- package/dist/components/markdown/markdown.js +39 -0
- package/dist/components/menu/menu-accordion.css +198 -0
- package/dist/components/menu/menu-accordion.js +183 -0
- package/dist/components/menu/menu-expando.css +127 -0
- package/dist/components/menu/menu-expando.js +48 -0
- package/dist/components/menu/menu-simple.css +76 -0
- package/dist/components/menu/menu-simple.js +56 -0
- package/dist/components/nerdjoke/nerdjoke.css +69 -0
- package/dist/components/nerdjoke/nerdjoke.js +95 -0
- package/dist/components/pagebuilder/components/ComponentPropertiesForm.js +15 -0
- package/dist/components/pagebuilder/components/ComponentSelector.js +67 -0
- package/dist/components/pagebuilder/components/ComponentTree.js +95 -0
- package/dist/components/pagebuilder/components/PageBuilderUI.js +48 -0
- package/dist/components/pagebuilder/components/PageEngine.js +97 -0
- package/dist/components/pagebuilder/components/SaveLoadSection.js +168 -0
- package/dist/components/pagebuilder/components/pagebuilder.scss +123 -0
- package/dist/components/pagebuilder/form/form.css +101 -0
- package/dist/components/pagebuilder/form/form.js +455 -0
- package/dist/components/pagebuilder/form/form.submit.js +65 -0
- package/dist/components/pagebuilder/form/formcomponents.js +359 -0
- package/dist/components/pagebuilder/form/formvalidations.js +80 -0
- package/dist/components/pagebuilder/lib/componentGeneration.js +105 -0
- package/dist/components/pagebuilder/lib/componentMap.js +32 -0
- package/dist/components/pagebuilder/lib/componentMetadata.js +146 -0
- package/dist/components/pagebuilder/lib/pageStorageContentful.js +142 -0
- package/dist/components/pagebuilder/lib/pageStorageLocal.js +143 -0
- package/dist/components/pagebuilder/lib/pageStorageTypes.js +1 -0
- package/dist/components/pagebuilder/lib/propTypeIntrospection.js +177 -0
- package/dist/components/pagebuilder/lib/types.js +4 -0
- package/dist/components/pagebuilder/lib/usePageBuilder.js +234 -0
- package/dist/components/recipe/recipe.css +107 -0
- package/dist/components/recipe/recipe.js +161 -0
- package/dist/components/resume/resume.css +162 -0
- package/dist/components/resume/resume.js +195 -0
- package/dist/components/seo/404.css +25 -0
- package/dist/components/seo/404.js +32 -0
- package/dist/components/seo/googleanalytics.js +70 -0
- package/dist/components/seo/googlemap.js +15 -0
- package/dist/components/seo/googlesearch.css +30 -0
- package/dist/components/seo/googlesearch.js +37 -0
- package/dist/components/seo/metadata.js +156 -0
- package/dist/components/seo/sitemap.js +171 -0
- package/dist/components/shoppingcart/ebay.components.js +203 -0
- package/dist/components/shoppingcart/ebay.css +131 -0
- package/dist/components/shoppingcart/ebay.functions.js +240 -0
- package/dist/components/shoppingcart/paypal.js +169 -0
- package/dist/components/shoppingcart/shoppingcart.components.js +257 -0
- package/dist/components/shoppingcart/shoppingcart.css +122 -0
- package/dist/components/shoppingcart/shoppingcart.functions.js +324 -0
- package/dist/components/sidepanel/sidepanel.css +129 -0
- package/dist/components/sidepanel/sidepanel.js +54 -0
- package/dist/components/socialcard/socialcard.css +118 -0
- package/dist/components/socialcard/socialcard.js +317 -0
- package/dist/components/tiles/tiles.css +77 -0
- package/dist/components/tiles/tiles.js +38 -0
- package/dist/components/timeline/timeline.css +139 -0
- package/dist/components/timeline/timeline.js +28 -0
- package/dist/components/utilities/api.js +36 -0
- package/dist/components/utilities/functions.js +98 -0
- package/dist/components/yelp/yelp.js +50 -0
- package/dist/css/pixelated.font.scss +68 -0
- package/dist/css/pixelated.global.css +548 -0
- package/dist/css/pixelated.grid.scss +82 -0
- package/dist/data/404-data.json +104 -0
- package/dist/data/buzzwords.js +28 -0
- package/dist/data/form.json +370 -0
- package/dist/data/recipes.json +1917 -0
- package/dist/data/references.json +139 -0
- package/dist/data/requests.json +137 -0
- package/dist/data/resume.json +2577 -0
- package/dist/data/routes.json +184 -0
- package/dist/data/routes2.json +117 -0
- package/dist/data/shipping.to.json +422 -0
- package/dist/index.js +78 -0
- package/dist/index.server.js +35 -0
- package/dist/types/components/buzzwordbingo/buzzwordbingo.d.ts +26 -0
- package/dist/types/components/buzzwordbingo/buzzwordbingo.d.ts.map +1 -0
- package/dist/types/components/callout/callout.d.ts +53 -0
- package/dist/types/components/callout/callout.d.ts.map +1 -0
- package/dist/types/components/carousel/carousel.d.ts +28 -0
- package/dist/types/components/carousel/carousel.d.ts.map +1 -0
- package/dist/types/components/carousel/carousel.drag.d.ts +12 -0
- package/dist/types/components/carousel/carousel.drag.d.ts.map +1 -0
- package/dist/types/components/cms/calendly.d.ts +11 -0
- package/dist/types/components/cms/calendly.d.ts.map +1 -0
- package/dist/types/components/cms/cloudinary.d.ts +27 -0
- package/dist/types/components/cms/cloudinary.d.ts.map +1 -0
- package/dist/types/components/cms/cloudinary.image.d.ts +56 -0
- package/dist/types/components/cms/cloudinary.image.d.ts.map +1 -0
- package/dist/types/components/cms/contentful.delivery.d.ts +149 -0
- package/dist/types/components/cms/contentful.delivery.d.ts.map +1 -0
- package/dist/types/components/cms/contentful.items.components.d.ts +38 -0
- package/dist/types/components/cms/contentful.items.components.d.ts.map +1 -0
- package/dist/types/components/cms/contentful.management.d.ts +71 -0
- package/dist/types/components/cms/contentful.management.d.ts.map +1 -0
- package/dist/types/components/cms/flickr.d.ts +39 -0
- package/dist/types/components/cms/flickr.d.ts.map +1 -0
- package/dist/types/components/cms/google.reviews.components.d.ts +7 -0
- package/dist/types/components/cms/google.reviews.components.d.ts.map +1 -0
- package/dist/types/components/cms/google.reviews.functions.d.ts +25 -0
- package/dist/types/components/cms/google.reviews.functions.d.ts.map +1 -0
- package/dist/types/components/cms/gravatar.components.d.ts +26 -0
- package/dist/types/components/cms/gravatar.components.d.ts.map +1 -0
- package/dist/types/components/cms/gravatar.functions.d.ts +53 -0
- package/dist/types/components/cms/gravatar.functions.d.ts.map +1 -0
- package/dist/types/components/cms/hubspot.components.d.ts +15 -0
- package/dist/types/components/cms/hubspot.components.d.ts.map +1 -0
- package/dist/types/components/cms/hubspot.d.ts +18 -0
- package/dist/types/components/cms/hubspot.d.ts.map +1 -0
- package/dist/types/components/cms/instagram.components.d.ts +10 -0
- package/dist/types/components/cms/instagram.components.d.ts.map +1 -0
- package/dist/types/components/cms/instagram.functions.d.ts +63 -0
- package/dist/types/components/cms/instagram.functions.d.ts.map +1 -0
- package/dist/types/components/cms/wordpress.components.d.ts +11 -0
- package/dist/types/components/cms/wordpress.components.d.ts.map +1 -0
- package/dist/types/components/cms/wordpress.functions.d.ts +28 -0
- package/dist/types/components/cms/wordpress.functions.d.ts.map +1 -0
- package/dist/types/components/config/config.client.d.ts +13 -0
- package/dist/types/components/config/config.client.d.ts.map +1 -0
- package/dist/types/components/config/config.d.ts +12 -0
- package/dist/types/components/config/config.d.ts.map +1 -0
- package/dist/types/components/config/config.example.d.ts +4 -0
- package/dist/types/components/config/config.example.d.ts.map +1 -0
- package/dist/types/components/config/config.server.d.ts +7 -0
- package/dist/types/components/config/config.server.d.ts.map +1 -0
- package/dist/types/components/config/config.types.d.ts +84 -0
- package/dist/types/components/config/config.types.d.ts.map +1 -0
- package/dist/types/components/general/css.d.ts +3 -0
- package/dist/types/components/general/css.d.ts.map +1 -0
- package/dist/types/components/general/headers.d.ts +19 -0
- package/dist/types/components/general/headers.d.ts.map +1 -0
- package/dist/types/components/general/image.d.ts +3 -0
- package/dist/types/components/general/image.d.ts.map +1 -0
- package/dist/types/components/general/layout.d.ts +73 -0
- package/dist/types/components/general/layout.d.ts.map +1 -0
- package/dist/types/components/general/loading.d.ts +11 -0
- package/dist/types/components/general/loading.d.ts.map +1 -0
- package/dist/types/components/general/microinteractions.d.ts +20 -0
- package/dist/types/components/general/microinteractions.d.ts.map +1 -0
- package/dist/types/components/general/modal.d.ts +8 -0
- package/dist/types/components/general/modal.d.ts.map +1 -0
- package/dist/types/components/general/table.d.ts +12 -0
- package/dist/types/components/general/table.d.ts.map +1 -0
- package/dist/types/components/linkedin/pixelated.linkedin.d.ts +2 -0
- package/dist/types/components/linkedin/pixelated.linkedin.d.ts.map +1 -0
- package/dist/types/components/linkedin/pixelated.linkedin1.d.ts +2 -0
- package/dist/types/components/linkedin/pixelated.linkedin1.d.ts.map +1 -0
- package/dist/types/components/linkedin/pixelated.linkedin2.d.ts +2 -0
- package/dist/types/components/linkedin/pixelated.linkedin2.d.ts.map +1 -0
- package/dist/types/components/markdown/markdown.d.ts +12 -0
- package/dist/types/components/markdown/markdown.d.ts.map +1 -0
- package/dist/types/components/menu/menu-accordion.d.ts +44 -0
- package/dist/types/components/menu/menu-accordion.d.ts.map +1 -0
- package/dist/types/components/menu/menu-expando.d.ts +20 -0
- package/dist/types/components/menu/menu-expando.d.ts.map +1 -0
- package/dist/types/components/menu/menu-simple.d.ts +28 -0
- package/dist/types/components/menu/menu-simple.d.ts.map +1 -0
- package/dist/types/components/nerdjoke/nerdjoke.d.ts +23 -0
- package/dist/types/components/nerdjoke/nerdjoke.d.ts.map +1 -0
- package/dist/types/components/pagebuilder/components/ComponentPropertiesForm.d.ts +11 -0
- package/dist/types/components/pagebuilder/components/ComponentPropertiesForm.d.ts.map +1 -0
- package/dist/types/components/pagebuilder/components/ComponentSelector.d.ts +15 -0
- package/dist/types/components/pagebuilder/components/ComponentSelector.d.ts.map +1 -0
- package/dist/types/components/pagebuilder/components/ComponentTree.d.ts +17 -0
- package/dist/types/components/pagebuilder/components/ComponentTree.d.ts.map +1 -0
- package/dist/types/components/pagebuilder/components/PageBuilderUI.d.ts +10 -0
- package/dist/types/components/pagebuilder/components/PageBuilderUI.d.ts.map +1 -0
- package/dist/types/components/pagebuilder/components/PageEngine.d.ts +23 -0
- package/dist/types/components/pagebuilder/components/PageEngine.d.ts.map +1 -0
- package/dist/types/components/pagebuilder/components/SaveLoadSection.d.ts +12 -0
- package/dist/types/components/pagebuilder/components/SaveLoadSection.d.ts.map +1 -0
- package/dist/types/components/pagebuilder/form/form.d.ts +46 -0
- package/dist/types/components/pagebuilder/form/form.d.ts.map +1 -0
- package/dist/types/components/pagebuilder/form/form.submit.d.ts +3 -0
- package/dist/types/components/pagebuilder/form/form.submit.d.ts.map +1 -0
- package/dist/types/components/pagebuilder/form/formcomponents.d.ts +205 -0
- package/dist/types/components/pagebuilder/form/formcomponents.d.ts.map +1 -0
- package/dist/types/components/pagebuilder/form/formvalidations.d.ts +29 -0
- package/dist/types/components/pagebuilder/form/formvalidations.d.ts.map +1 -0
- package/dist/types/components/pagebuilder/lib/componentGeneration.d.ts +17 -0
- package/dist/types/components/pagebuilder/lib/componentGeneration.d.ts.map +1 -0
- package/dist/types/components/pagebuilder/lib/componentMap.d.ts +25 -0
- package/dist/types/components/pagebuilder/lib/componentMap.d.ts.map +1 -0
- package/dist/types/components/pagebuilder/lib/componentMetadata.d.ts +22 -0
- package/dist/types/components/pagebuilder/lib/componentMetadata.d.ts.map +1 -0
- package/dist/types/components/pagebuilder/lib/pageStorageContentful.d.ts +25 -0
- package/dist/types/components/pagebuilder/lib/pageStorageContentful.d.ts.map +1 -0
- package/dist/types/components/pagebuilder/lib/pageStorageLocal.d.ts +23 -0
- package/dist/types/components/pagebuilder/lib/pageStorageLocal.d.ts.map +1 -0
- package/dist/types/components/pagebuilder/lib/pageStorageTypes.d.ts +25 -0
- package/dist/types/components/pagebuilder/lib/pageStorageTypes.d.ts.map +1 -0
- package/dist/types/components/pagebuilder/lib/propTypeIntrospection.d.ts +24 -0
- package/dist/types/components/pagebuilder/lib/propTypeIntrospection.d.ts.map +1 -0
- package/dist/types/components/pagebuilder/lib/types.d.ts +34 -0
- package/dist/types/components/pagebuilder/lib/types.d.ts.map +1 -0
- package/dist/types/components/pagebuilder/lib/usePageBuilder.d.ts +24 -0
- package/dist/types/components/pagebuilder/lib/usePageBuilder.d.ts.map +1 -0
- package/dist/types/components/recipe/recipe.d.ts +66 -0
- package/dist/types/components/recipe/recipe.d.ts.map +1 -0
- package/dist/types/components/resume/resume.d.ts +85 -0
- package/dist/types/components/resume/resume.d.ts.map +1 -0
- package/dist/types/components/seo/404.d.ts +10 -0
- package/dist/types/components/seo/404.d.ts.map +1 -0
- package/dist/types/components/seo/googleanalytics.d.ts +23 -0
- package/dist/types/components/seo/googleanalytics.d.ts.map +1 -0
- package/dist/types/components/seo/googlemap.d.ts +15 -0
- package/dist/types/components/seo/googlemap.d.ts.map +1 -0
- package/dist/types/components/seo/googlesearch.d.ts +10 -0
- package/dist/types/components/seo/googlesearch.d.ts.map +1 -0
- package/dist/types/components/seo/metadata.d.ts +35 -0
- package/dist/types/components/seo/metadata.d.ts.map +1 -0
- package/dist/types/components/seo/sitemap.d.ts +47 -0
- package/dist/types/components/seo/sitemap.d.ts.map +1 -0
- package/dist/types/components/shoppingcart/ebay.components.d.ts +46 -0
- package/dist/types/components/shoppingcart/ebay.components.d.ts.map +1 -0
- package/dist/types/components/shoppingcart/ebay.functions.d.ts +76 -0
- package/dist/types/components/shoppingcart/ebay.functions.d.ts.map +1 -0
- package/dist/types/components/shoppingcart/paypal.d.ts +16 -0
- package/dist/types/components/shoppingcart/paypal.d.ts.map +1 -0
- package/dist/types/components/shoppingcart/shoppingcart.components.d.ts +35 -0
- package/dist/types/components/shoppingcart/shoppingcart.components.d.ts.map +1 -0
- package/dist/types/components/shoppingcart/shoppingcart.functions.d.ts +89 -0
- package/dist/types/components/shoppingcart/shoppingcart.functions.d.ts.map +1 -0
- package/dist/types/components/sidepanel/sidepanel.d.ts +18 -0
- package/dist/types/components/sidepanel/sidepanel.d.ts.map +1 -0
- package/dist/types/components/socialcard/socialcard.d.ts +20 -0
- package/dist/types/components/socialcard/socialcard.d.ts.map +1 -0
- package/dist/types/components/tiles/tiles.d.ts +28 -0
- package/dist/types/components/tiles/tiles.d.ts.map +1 -0
- package/dist/types/components/timeline/timeline.d.ts +31 -0
- package/dist/types/components/timeline/timeline.d.ts.map +1 -0
- package/dist/types/components/utilities/api.d.ts +16 -0
- package/dist/types/components/utilities/api.d.ts.map +1 -0
- package/dist/types/components/utilities/functions.d.ts +11 -0
- package/dist/types/components/utilities/functions.d.ts.map +1 -0
- package/dist/types/components/yelp/yelp.d.ts +5 -0
- package/dist/types/components/yelp/yelp.d.ts.map +1 -0
- package/dist/types/data/buzzwords.d.ts +2 -0
- package/dist/types/data/buzzwords.d.ts.map +1 -0
- package/dist/types/index.d.ts +76 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.server.d.ts +30 -0
- package/dist/types/index.server.d.ts.map +1 -0
- package/dist/types/stories/buzzword-bingo.stories.d.ts +13 -0
- package/dist/types/stories/buzzword-bingo.stories.d.ts.map +1 -0
- package/dist/types/stories/callout.many.stories.d.ts +8 -0
- package/dist/types/stories/callout.many.stories.d.ts.map +1 -0
- package/dist/types/stories/callout.stories.d.ts +69 -0
- package/dist/types/stories/callout.stories.d.ts.map +1 -0
- package/dist/types/stories/carousel-hero.stories.d.ts +22 -0
- package/dist/types/stories/carousel-hero.stories.d.ts.map +1 -0
- package/dist/types/stories/carousel-reviews.stories.d.ts +38 -0
- package/dist/types/stories/carousel-reviews.stories.d.ts.map +1 -0
- package/dist/types/stories/carousel-workportfolio.stories.d.ts +22 -0
- package/dist/types/stories/carousel-workportfolio.stories.d.ts.map +1 -0
- package/dist/types/stories/carousel.stories.d.ts +41 -0
- package/dist/types/stories/carousel.stories.d.ts.map +1 -0
- package/dist/types/stories/cms.contentful.item.stories.d.ts +21 -0
- package/dist/types/stories/cms.contentful.item.stories.d.ts.map +1 -0
- package/dist/types/stories/cms.contentful.items.stories.d.ts +20 -0
- package/dist/types/stories/cms.contentful.items.stories.d.ts.map +1 -0
- package/dist/types/stories/cms.contentful.stories.d.ts +9 -0
- package/dist/types/stories/cms.contentful.stories.d.ts.map +1 -0
- package/dist/types/stories/cms.google.reviews.stories.d.ts +11 -0
- package/dist/types/stories/cms.google.reviews.stories.d.ts.map +1 -0
- package/dist/types/stories/cms.gravatar.stories.d.ts +88 -0
- package/dist/types/stories/cms.gravatar.stories.d.ts.map +1 -0
- package/dist/types/stories/cms.instagram.stories.d.ts +16 -0
- package/dist/types/stories/cms.instagram.stories.d.ts.map +1 -0
- package/dist/types/stories/cms.wordpress.stories.d.ts +26 -0
- package/dist/types/stories/cms.wordpress.stories.d.ts.map +1 -0
- package/dist/types/stories/general.headers.stories.d.ts +27 -0
- package/dist/types/stories/general.headers.stories.d.ts.map +1 -0
- package/dist/types/stories/general.loading.stories.d.ts +11 -0
- package/dist/types/stories/general.loading.stories.d.ts.map +1 -0
- package/dist/types/stories/general.microinteractions.stories.d.ts +9 -0
- package/dist/types/stories/general.microinteractions.stories.d.ts.map +1 -0
- package/dist/types/stories/general.modal.stories.d.ts +9 -0
- package/dist/types/stories/general.modal.stories.d.ts.map +1 -0
- package/dist/types/stories/general.table.stories.d.ts +15 -0
- package/dist/types/stories/general.table.stories.d.ts.map +1 -0
- package/dist/types/stories/layout.stories.d.ts +299 -0
- package/dist/types/stories/layout.stories.d.ts.map +1 -0
- package/dist/types/stories/markdown.stories.d.ts +13 -0
- package/dist/types/stories/markdown.stories.d.ts.map +1 -0
- package/dist/types/stories/menu-accordion.stories.d.ts +34 -0
- package/dist/types/stories/menu-accordion.stories.d.ts.map +1 -0
- package/dist/types/stories/menu-simple.stories.d.ts +43 -0
- package/dist/types/stories/menu-simple.stories.d.ts.map +1 -0
- package/dist/types/stories/nerdjoke.stories.d.ts +10 -0
- package/dist/types/stories/nerdjoke.stories.d.ts.map +1 -0
- package/dist/types/stories/pagebuilder.form-builder.stories.d.ts +10 -0
- package/dist/types/stories/pagebuilder.form-builder.stories.d.ts.map +1 -0
- package/dist/types/stories/pagebuilder.form-engine.stories.d.ts +16 -0
- package/dist/types/stories/pagebuilder.form-engine.stories.d.ts.map +1 -0
- package/dist/types/stories/pagebuilder.form-extractor.stories.d.ts +10 -0
- package/dist/types/stories/pagebuilder.form-extractor.stories.d.ts.map +1 -0
- package/dist/types/stories/pagebuilder.stories.d.ts +29 -0
- package/dist/types/stories/pagebuilder.stories.d.ts.map +1 -0
- package/dist/types/stories/pagebuilder.usageguide.stories.d.ts +29 -0
- package/dist/types/stories/pagebuilder.usageguide.stories.d.ts.map +1 -0
- package/dist/types/stories/pageengine.stories.d.ts +32 -0
- package/dist/types/stories/pageengine.stories.d.ts.map +1 -0
- package/dist/types/stories/recipe.stories.d.ts +16 -0
- package/dist/types/stories/recipe.stories.d.ts.map +1 -0
- package/dist/types/stories/resume.stories.d.ts +283 -0
- package/dist/types/stories/resume.stories.d.ts.map +1 -0
- package/dist/types/stories/seo.404.stories.d.ts +18 -0
- package/dist/types/stories/seo.404.stories.d.ts.map +1 -0
- package/dist/types/stories/seo.googleanalytics.stories.d.ts +12 -0
- package/dist/types/stories/seo.googleanalytics.stories.d.ts.map +1 -0
- package/dist/types/stories/seo.googlesearch.stories.d.ts +12 -0
- package/dist/types/stories/seo.googlesearch.stories.d.ts.map +1 -0
- package/dist/types/stories/seo.metadata.stories.d.ts +25 -0
- package/dist/types/stories/seo.metadata.stories.d.ts.map +1 -0
- package/dist/types/stories/seo.sitemap.stories.d.ts +8 -0
- package/dist/types/stories/seo.sitemap.stories.d.ts.map +1 -0
- package/dist/types/stories/shoppingcart.ebay.item.stories.d.ts +21 -0
- package/dist/types/stories/shoppingcart.ebay.item.stories.d.ts.map +1 -0
- package/dist/types/stories/shoppingcart.ebay.items.stories.d.ts +21 -0
- package/dist/types/stories/shoppingcart.ebay.items.stories.d.ts.map +1 -0
- package/dist/types/stories/shoppingcart.stories.d.ts +9 -0
- package/dist/types/stories/shoppingcart.stories.d.ts.map +1 -0
- package/dist/types/stories/sidepanel.stories.d.ts +85 -0
- package/dist/types/stories/sidepanel.stories.d.ts.map +1 -0
- package/dist/types/stories/socialcard.stories.d.ts +81 -0
- package/dist/types/stories/socialcard.stories.d.ts.map +1 -0
- package/dist/types/stories/tiles.stories.d.ts +9 -0
- package/dist/types/stories/tiles.stories.d.ts.map +1 -0
- package/dist/types/stories/timeline.stories.d.ts +19 -0
- package/dist/types/stories/timeline.stories.d.ts.map +1 -0
- package/dist/types/tests/pixelated.api.test.d.ts +2 -0
- package/dist/types/tests/pixelated.api.test.d.ts.map +1 -0
- package/dist/types/tests/pixelated.callout.test.d.ts +2 -0
- package/dist/types/tests/pixelated.callout.test.d.ts.map +1 -0
- package/dist/types/tests/pixelated.carousel.test.d.ts +2 -0
- package/dist/types/tests/pixelated.carousel.test.d.ts.map +1 -0
- package/dist/types/tests/pixelated.menu-accordion.test.d.ts +2 -0
- package/dist/types/tests/pixelated.menu-accordion.test.d.ts.map +1 -0
- package/dist/types/tests/pixelated.menu-simple.test.d.ts +2 -0
- package/dist/types/tests/pixelated.menu-simple.test.d.ts.map +1 -0
- package/dist/types/tests/pixelated.nerdjoke.test.d.ts +2 -0
- package/dist/types/tests/pixelated.nerdjoke.test.d.ts.map +1 -0
- package/dist/types/tests/pixelated.recipe.test.d.ts +2 -0
- package/dist/types/tests/pixelated.recipe.test.d.ts.map +1 -0
- package/dist/types/tests/pixelated.resume.test.d.ts +2 -0
- package/dist/types/tests/pixelated.resume.test.d.ts.map +1 -0
- package/dist/types/tests/pixelated.socialcard.test.d.ts +2 -0
- package/dist/types/tests/pixelated.socialcard.test.d.ts.map +1 -0
- package/package.json +136 -0
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
.loading {
|
|
2
|
+
display: none;
|
|
3
|
+
position: fixed;
|
|
4
|
+
top: 50%;
|
|
5
|
+
left: 50%;
|
|
6
|
+
transform: translate(-50%, -50%);
|
|
7
|
+
width: 55px;
|
|
8
|
+
height: 55px;
|
|
9
|
+
margin: -14px 0 0 -14px;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
div.spinner {
|
|
13
|
+
position: relative;
|
|
14
|
+
width: 54px;
|
|
15
|
+
height: 54px;
|
|
16
|
+
display: inline-block;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
div.spinner div {
|
|
20
|
+
width: 12%;
|
|
21
|
+
height: 26%;
|
|
22
|
+
// background: #000;
|
|
23
|
+
background: #369;
|
|
24
|
+
position: absolute;
|
|
25
|
+
left: 44.5%;
|
|
26
|
+
top: 37%;
|
|
27
|
+
opacity: 0;
|
|
28
|
+
|
|
29
|
+
animation: fade 1s linear infinite;
|
|
30
|
+
border-radius: 50px;
|
|
31
|
+
box-shadow: 0 0 3px rgba(0,0,0,0.2);
|
|
32
|
+
|
|
33
|
+
-webkit-animation: fade 1s linear infinite;
|
|
34
|
+
-webkit-border-radius: 50px;
|
|
35
|
+
-webkit-box-shadow: 0 0 3px rgba(0,0,0,0.2);
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
/*
|
|
39
|
+
div.spinner div.bar1 {-webkit-transform:rotate(0deg) translate(0, -142%); -webkit-animation-delay: 0s;}
|
|
40
|
+
div.spinner div.bar2 {-webkit-transform:rotate(30deg) translate(0, -142%); -webkit-animation-delay: -0.9167s;}
|
|
41
|
+
div.spinner div.bar3 {-webkit-transform:rotate(60deg) translate(0, -142%); -webkit-animation-delay: -0.833s;}
|
|
42
|
+
div.spinner div.bar4 {-webkit-transform:rotate(90deg) translate(0, -142%); -webkit-animation-delay: -0.75s;}
|
|
43
|
+
div.spinner div.bar5 {-webkit-transform:rotate(120deg) translate(0, -142%); -webkit-animation-delay: -0.667s;}
|
|
44
|
+
div.spinner div.bar6 {-webkit-transform:rotate(150deg) translate(0, -142%); -webkit-animation-delay: -0.5833s;}
|
|
45
|
+
div.spinner div.bar7 {-webkit-transform:rotate(180deg) translate(0, -142%); -webkit-animation-delay: -0.5s;}
|
|
46
|
+
div.spinner div.bar8 {-webkit-transform:rotate(210deg) translate(0, -142%); -webkit-animation-delay: -0.41667s;}
|
|
47
|
+
div.spinner div.bar9 {-webkit-transform:rotate(240deg) translate(0, -142%); -webkit-animation-delay: -0.333s;}
|
|
48
|
+
div.spinner div.bar10 {-webkit-transform:rotate(270deg) translate(0, -142%); -webkit-animation-delay: -0.25s;}
|
|
49
|
+
div.spinner div.bar11 {-webkit-transform:rotate(300deg) translate(0, -142%); -webkit-animation-delay: -0.1667s;}
|
|
50
|
+
div.spinner div.bar12 {-webkit-transform:rotate(330deg) translate(0, -142%); -webkit-animation-delay: -0.0833s;}
|
|
51
|
+
*/
|
|
52
|
+
|
|
53
|
+
.spinner {
|
|
54
|
+
div {
|
|
55
|
+
@for $i from 1 through 12 {
|
|
56
|
+
&.bar#{$i} {
|
|
57
|
+
// Calculate rotation angle: (i - 1) * 30 degrees
|
|
58
|
+
$rotation: 360deg - ( ($i - 1) * 30deg);
|
|
59
|
+
// Calculate animation delay: -((i - 1) / 12) * 1 second
|
|
60
|
+
$delay: -( calc( ($i - 1) / 12) * 1s );
|
|
61
|
+
transform: rotate($rotation) translate(0, -142%);
|
|
62
|
+
-webkit-transform: rotate($rotation) translate(0, -142%);
|
|
63
|
+
animation-delay: $delay;
|
|
64
|
+
-webkit-animation-delay: $delay;
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
@-webkit-keyframes fade {
|
|
71
|
+
from {opacity: 1;}
|
|
72
|
+
to {opacity: 0.10;}
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
@keyframes fade {
|
|
76
|
+
from {opacity: 1;}
|
|
77
|
+
to {opacity: 0.10;}
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
|
|
@@ -0,0 +1,229 @@
|
|
|
1
|
+
|
|
2
|
+
/* ========================================
|
|
3
|
+
========== MICRO ANIMATIONS ===========
|
|
4
|
+
======================================== */
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
/* ========== BUTTON RING ON HOVER ========== */
|
|
10
|
+
body.buttonring {
|
|
11
|
+
button,
|
|
12
|
+
.button,
|
|
13
|
+
.centeredbutton {
|
|
14
|
+
/* ALSO USE CLASS = BUTTON */
|
|
15
|
+
outline: 0px solid transparent !important; /* Initial transparent outline */
|
|
16
|
+
outline-offset: 3px; /* Optional: Adjusts the distance of the outline from the border */
|
|
17
|
+
transition: outline-width 0.25s ease-in-out, outline-color 0.3s ease-in-out;
|
|
18
|
+
/* cursor: pointer; */
|
|
19
|
+
}
|
|
20
|
+
button:hover,
|
|
21
|
+
.button:hover,
|
|
22
|
+
.centeredbutton:hover {
|
|
23
|
+
outline-width: 5px !important; /* Outline animates out 5px */
|
|
24
|
+
outline-color: #369 !important; /* Or a different color for the outline */
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
/* ========== SHOPPING CART BUTTON PULSE GLOW ========== */
|
|
32
|
+
@keyframes pulse-glow {
|
|
33
|
+
0% {
|
|
34
|
+
transform: scale(1);
|
|
35
|
+
/* box-shadow: 0 0 0 0 rgba(52, 152, 219, 0.7); */
|
|
36
|
+
box-shadow: 0 0 0 0 rgba(0, 0, 0, 1.0);
|
|
37
|
+
}
|
|
38
|
+
50% {
|
|
39
|
+
transform: scale(1.1);
|
|
40
|
+
}
|
|
41
|
+
100% {
|
|
42
|
+
transform: scale(1.0);
|
|
43
|
+
box-shadow: 0 0 0 10px rgba(0, 0, 0, 0);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
body.cartpulse .pixCart #pixCartButton {
|
|
47
|
+
animation: pulse-glow 2s infinite;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
|
|
53
|
+
/* ========== FORM GLOW ON HOVER AND FOCUS ========== */
|
|
54
|
+
body.formglow {
|
|
55
|
+
|
|
56
|
+
form div {
|
|
57
|
+
padding: 5px
|
|
58
|
+
}
|
|
59
|
+
form button, input, select, textarea {
|
|
60
|
+
transition: all 0.25s ease-in-out,
|
|
61
|
+
all 0.25s ease-in-out;
|
|
62
|
+
outline: 5px solid transparent !important;
|
|
63
|
+
}
|
|
64
|
+
form input:hover,
|
|
65
|
+
select:hover,
|
|
66
|
+
textarea:hover {
|
|
67
|
+
outline: 5px solid rgba(0, 208, 0, 0.2) !important;
|
|
68
|
+
outline-offset: 3px;
|
|
69
|
+
}
|
|
70
|
+
form button:hover,
|
|
71
|
+
input:focus, input:focus:hover,
|
|
72
|
+
select:focus, select:focus:hover,
|
|
73
|
+
textarea:focus, textarea:focus:hover {
|
|
74
|
+
outline: 5px solid rgba(0, 208, 0, 1) !important;
|
|
75
|
+
outline-offset: 3px;
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
|
|
81
|
+
|
|
82
|
+
|
|
83
|
+
/* ========== IMG GREYSCALE HOVER ========== */
|
|
84
|
+
body.grayscalehover {
|
|
85
|
+
|
|
86
|
+
img {
|
|
87
|
+
filter: grayscale(100%);
|
|
88
|
+
transition: filter 0.25s ease-in-out; /* Optional: for a smooth transition */
|
|
89
|
+
}
|
|
90
|
+
img:hover {
|
|
91
|
+
filter: grayscale(0%);
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
|
|
97
|
+
|
|
98
|
+
/* ========== IMG HUE ROTATE ON HOVER ========== */
|
|
99
|
+
@keyframes RotateHue {
|
|
100
|
+
from { filter: hue-rotate(0deg); }
|
|
101
|
+
to { filter: hue-rotate(360deg); }
|
|
102
|
+
}
|
|
103
|
+
body.imghue img {
|
|
104
|
+
--do-nothing: true;
|
|
105
|
+
}
|
|
106
|
+
body.imghue img:hover {
|
|
107
|
+
animation: RotateHue 1.5s linear infinite alternate;
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
|
|
111
|
+
|
|
112
|
+
|
|
113
|
+
/* ========== IMG ZOOM AND ROTATE ON HOVER ========== */
|
|
114
|
+
body.imgscale {
|
|
115
|
+
img:not(.imgContain, .imgCover) {
|
|
116
|
+
/* text-align: center;
|
|
117
|
+
max-width: 100%;
|
|
118
|
+
height: auto; */
|
|
119
|
+
transition: transform 125ms linear;
|
|
120
|
+
}
|
|
121
|
+
img:hover:not(.imgContain, .imgCover) {
|
|
122
|
+
transform: scale(1.1) ;
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
|
|
127
|
+
|
|
128
|
+
|
|
129
|
+
|
|
130
|
+
/* ========== IMG ZOOM AND ROTATE ON HOVER ========== */
|
|
131
|
+
body.imgtwist {
|
|
132
|
+
img:not(.imgContain, .imgCover) {
|
|
133
|
+
/* text-align: center;
|
|
134
|
+
max-width: 100%;
|
|
135
|
+
height: auto; */
|
|
136
|
+
transition: transform 125ms linear;
|
|
137
|
+
}
|
|
138
|
+
img:hover:not(.imgContain, .imgCover) {
|
|
139
|
+
transform: scale(1.1) rotate(-5deg);
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
|
|
144
|
+
|
|
145
|
+
|
|
146
|
+
|
|
147
|
+
/*
|
|
148
|
+
/* ========== SIMPLE MENU BUTTON LEFT FILL HOVER ==========
|
|
149
|
+
.menuItem a:before {
|
|
150
|
+
position: absolute;
|
|
151
|
+
content: "";
|
|
152
|
+
top: 0;
|
|
153
|
+
left: 0;
|
|
154
|
+
width: 0;
|
|
155
|
+
height: 100%;
|
|
156
|
+
background: #1d93da;
|
|
157
|
+
transition: all .25s;
|
|
158
|
+
z-index: -1;
|
|
159
|
+
}
|
|
160
|
+
.menuItem a:hover {
|
|
161
|
+
border-left: 0px solid transparent !important;
|
|
162
|
+
text-indent: 0px !important;
|
|
163
|
+
color: #fff;
|
|
164
|
+
}
|
|
165
|
+
.menuItem a:hover:before {
|
|
166
|
+
width: 100%;
|
|
167
|
+
}
|
|
168
|
+
*/
|
|
169
|
+
|
|
170
|
+
|
|
171
|
+
|
|
172
|
+
|
|
173
|
+
/* ========== SIMPLE MENU BUTTON CENTER FILL HOVER ========== */
|
|
174
|
+
body.simplemenubutton .menu .menuItem {
|
|
175
|
+
--do-nothing: true;
|
|
176
|
+
}
|
|
177
|
+
body.simplemenubutton .menu .menuItem {
|
|
178
|
+
a {
|
|
179
|
+
text-align: center;
|
|
180
|
+
position: relative;
|
|
181
|
+
text-indent: 0px !important;
|
|
182
|
+
z-index: 10;
|
|
183
|
+
}
|
|
184
|
+
a:before,
|
|
185
|
+
a:after {
|
|
186
|
+
content: "";
|
|
187
|
+
position: absolute;
|
|
188
|
+
background-color: #1d93da;
|
|
189
|
+
width: 0%;
|
|
190
|
+
height: 100%;
|
|
191
|
+
top: 0;
|
|
192
|
+
transition: all 0.25s ease-in-out;
|
|
193
|
+
z-index: -1;
|
|
194
|
+
}
|
|
195
|
+
a:before {
|
|
196
|
+
left: 50%;
|
|
197
|
+
transform: translateX(-50%);
|
|
198
|
+
}
|
|
199
|
+
a:after {
|
|
200
|
+
right: 50%;
|
|
201
|
+
transform: translateX(50%);
|
|
202
|
+
}
|
|
203
|
+
a:hover {
|
|
204
|
+
border-left: 0px solid transparent !important;
|
|
205
|
+
text-indent: 0px !important;
|
|
206
|
+
color: #fff;
|
|
207
|
+
}
|
|
208
|
+
a:hover:before,
|
|
209
|
+
a:hover:after {
|
|
210
|
+
width: 100%;
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
|
|
214
|
+
|
|
215
|
+
|
|
216
|
+
|
|
217
|
+
/* ========== SCROLL UP FADE ========== */
|
|
218
|
+
@keyframes slideInFromBottom {
|
|
219
|
+
0% { transform: translateY(50%); opacity: 0; }
|
|
220
|
+
100% { transform: translateY(0); opacity: 1; }
|
|
221
|
+
}
|
|
222
|
+
.scrollfade {
|
|
223
|
+
animation: slideInFromBottom 0.5s ease-out forwards;
|
|
224
|
+
/* 'forwards' ensures the animation stays at its end state */
|
|
225
|
+
}
|
|
226
|
+
.hidden {
|
|
227
|
+
opacity: 0;
|
|
228
|
+
transform: translateY(50%); /* Or other initial state */
|
|
229
|
+
}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
// import React, { useState, useEffect } from 'react';
|
|
2
|
+
import PropTypes from "prop-types";
|
|
3
|
+
import './microinteractions.css';
|
|
4
|
+
/* ========== MICRO ANIMATIONS ========== */
|
|
5
|
+
MicroInteractions.propTypes = {
|
|
6
|
+
buttonring: PropTypes.bool,
|
|
7
|
+
cartpulse: PropTypes.bool,
|
|
8
|
+
formglow: PropTypes.bool,
|
|
9
|
+
grayscalehover: PropTypes.bool,
|
|
10
|
+
imgscale: PropTypes.bool,
|
|
11
|
+
imgtwist: PropTypes.bool,
|
|
12
|
+
imghue: PropTypes.bool,
|
|
13
|
+
simplemenubutton: PropTypes.bool,
|
|
14
|
+
scrollfadeElements: PropTypes.string,
|
|
15
|
+
};
|
|
16
|
+
export function MicroInteractions(props) {
|
|
17
|
+
// const debug = true ;
|
|
18
|
+
const body = document.body;
|
|
19
|
+
for (const propName in props) {
|
|
20
|
+
if (Object.prototype.hasOwnProperty.call(props, propName)) {
|
|
21
|
+
if (props[propName] === true) {
|
|
22
|
+
body.classList.add(propName);
|
|
23
|
+
}
|
|
24
|
+
else if (props[propName] === false) {
|
|
25
|
+
body.classList.remove(propName);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
if (props.scrollfadeElements)
|
|
30
|
+
ScrollFade(props.scrollfadeElements);
|
|
31
|
+
}
|
|
32
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
33
|
+
function isElementInViewport(el) {
|
|
34
|
+
const rect = el.getBoundingClientRect();
|
|
35
|
+
return (rect.top >= 0 &&
|
|
36
|
+
rect.left >= 0 &&
|
|
37
|
+
rect.bottom <= (window.innerHeight || document.documentElement.clientHeight) &&
|
|
38
|
+
rect.right <= (window.innerWidth || document.documentElement.clientWidth));
|
|
39
|
+
}
|
|
40
|
+
function isElementPartiallyInViewport(el) {
|
|
41
|
+
const rect = el.getBoundingClientRect();
|
|
42
|
+
return (rect.top < (window.innerHeight || document.documentElement.clientHeight) &&
|
|
43
|
+
rect.left < (window.innerWidth || document.documentElement.clientWidth) &&
|
|
44
|
+
rect.bottom > 0 &&
|
|
45
|
+
rect.right > 0);
|
|
46
|
+
}
|
|
47
|
+
function ScrollFade(elements) {
|
|
48
|
+
const options = {
|
|
49
|
+
root: null, // Observes intersection with the viewport
|
|
50
|
+
rootMargin: "0px 0px -100px 0px", // Shrinks the top of the root by 200px
|
|
51
|
+
threshold: 0 // Triggers when any part of the element intersects the adjusted root
|
|
52
|
+
};
|
|
53
|
+
const observer = new IntersectionObserver((entries) => {
|
|
54
|
+
entries.forEach((entry) => {
|
|
55
|
+
if (entry.isIntersecting) {
|
|
56
|
+
// if (entry.intersectionRatio > 0.5) {
|
|
57
|
+
// Add the animation class when the element enters the viewport
|
|
58
|
+
entry.target.classList.add('scrollfade');
|
|
59
|
+
entry.target.classList.remove('hidden');
|
|
60
|
+
// Optionally, stop observing once animated if you only want it to animate once
|
|
61
|
+
observer.unobserve(entry.target);
|
|
62
|
+
}
|
|
63
|
+
else {
|
|
64
|
+
// Optionally, remove the animation class if you want it to re-animate on re-entry
|
|
65
|
+
// entry.target.classList.remove('hidden');
|
|
66
|
+
// entry.target.classList.remove('scrollfade');
|
|
67
|
+
}
|
|
68
|
+
});
|
|
69
|
+
}, options);
|
|
70
|
+
// Select the elements you want to observe and initially hide them
|
|
71
|
+
const elementsToAnimate = document.querySelectorAll(elements);
|
|
72
|
+
elementsToAnimate.forEach((element) => {
|
|
73
|
+
if (isElementPartiallyInViewport(element)) {
|
|
74
|
+
if (element.classList.contains('hidden')) {
|
|
75
|
+
element.classList.remove('hidden');
|
|
76
|
+
}
|
|
77
|
+
if (element.classList.contains('scrollfade')) {
|
|
78
|
+
element.classList.remove('scrollfade');
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
else {
|
|
82
|
+
// Apply initial hidden state to elements NOT on the screen
|
|
83
|
+
element.classList.add('hidden'); // Apply initial hidden state
|
|
84
|
+
observer.observe(element); // Start observing each element
|
|
85
|
+
}
|
|
86
|
+
});
|
|
87
|
+
}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
|
|
2
|
+
.modal {
|
|
3
|
+
|
|
4
|
+
position: fixed; /* Stay in place */
|
|
5
|
+
z-index: 1000; /* Sit on top */
|
|
6
|
+
top: 50%;
|
|
7
|
+
left: 50%;
|
|
8
|
+
transform: translate(-50%, -50%);
|
|
9
|
+
width: 100%; /* Full width */
|
|
10
|
+
height: 100%; /* Full height */
|
|
11
|
+
overflow: auto; /* Enable scroll if needed */
|
|
12
|
+
background-color: rgb(0,0,0); /* Fallback color */
|
|
13
|
+
background-color: rgba(0,0,0,0.4); /* Black w/ opacity */
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
/* Modal Content/Box */
|
|
17
|
+
.modalContent {
|
|
18
|
+
background-color: #fefefe;
|
|
19
|
+
margin: 15% auto; /* 15% from the top and centered */
|
|
20
|
+
padding: 20px;
|
|
21
|
+
border: 1px solid #888;
|
|
22
|
+
max-width: 80%;
|
|
23
|
+
width: fit-content;
|
|
24
|
+
position: relative;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
.modalContent img {
|
|
28
|
+
border: 2px solid #aaa;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
/* The Close Button */
|
|
32
|
+
.modalClose {
|
|
33
|
+
color: #aaa;
|
|
34
|
+
font-size: 28px;
|
|
35
|
+
line-height: 26px;
|
|
36
|
+
font-weight: bold;
|
|
37
|
+
text-align: center;
|
|
38
|
+
position: absolute;
|
|
39
|
+
float: right;
|
|
40
|
+
right: 10px;
|
|
41
|
+
top: 10px;
|
|
42
|
+
width: 30px;
|
|
43
|
+
height:30px;
|
|
44
|
+
background-color: white;
|
|
45
|
+
border: 1px solid #999;
|
|
46
|
+
-moz-border-radius: 5px;
|
|
47
|
+
-webkit-border-radius: 5px;
|
|
48
|
+
border-radius: 5px;
|
|
49
|
+
z-index: 10;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
.modalClose:hover,
|
|
53
|
+
.modalClose:focus {
|
|
54
|
+
color: black;
|
|
55
|
+
text-decoration: none;
|
|
56
|
+
cursor: pointer;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
.show {
|
|
60
|
+
display: block;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
.hide{
|
|
64
|
+
display: none;
|
|
65
|
+
}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { useEffect } from 'react';
|
|
4
|
+
import './modal.css';
|
|
5
|
+
/*
|
|
6
|
+
https://www.w3schools.com/howto/howto_css_modals.asp
|
|
7
|
+
*/
|
|
8
|
+
export function Modal(props) {
|
|
9
|
+
const myModalID = "myModal" + (props.modalID ?? '');
|
|
10
|
+
const myModalCloseID = "myModalClose" + (props.modalID ?? '');
|
|
11
|
+
useEffect(() => {
|
|
12
|
+
const handleModalClose = (event) => {
|
|
13
|
+
event.preventDefault();
|
|
14
|
+
const myModal = document.getElementById(myModalID);
|
|
15
|
+
if (myModal) {
|
|
16
|
+
myModal.style.display = 'none';
|
|
17
|
+
}
|
|
18
|
+
};
|
|
19
|
+
const myModalClose = document.getElementById(myModalCloseID);
|
|
20
|
+
if (myModalClose) {
|
|
21
|
+
myModalClose.addEventListener('click', handleModalClose);
|
|
22
|
+
}
|
|
23
|
+
;
|
|
24
|
+
const handleWindowOnClick = (event) => {
|
|
25
|
+
const myModal = document.getElementById(myModalID);
|
|
26
|
+
if (event.target == myModal) {
|
|
27
|
+
if (myModal) {
|
|
28
|
+
myModal.style.display = "none";
|
|
29
|
+
}
|
|
30
|
+
;
|
|
31
|
+
}
|
|
32
|
+
};
|
|
33
|
+
window.addEventListener('click', handleWindowOnClick);
|
|
34
|
+
return () => {
|
|
35
|
+
window.removeEventListener('click', handleWindowOnClick);
|
|
36
|
+
if (myModalClose) {
|
|
37
|
+
myModalClose.removeEventListener('click', handleModalClose);
|
|
38
|
+
}
|
|
39
|
+
;
|
|
40
|
+
};
|
|
41
|
+
}, []);
|
|
42
|
+
return (_jsx("div", { id: myModalID, className: "modal", style: { display: 'none' }, children: _jsxs("div", { className: "modalContent", children: [_jsx("span", { id: myModalCloseID, className: "modalClose", "aria-hidden": "true", children: "\u00D7" }), props.modalContent] }) }));
|
|
43
|
+
}
|
|
44
|
+
export const handleModalOpen = (event, modalID) => {
|
|
45
|
+
const myModalID = "myModal" + (modalID ?? '');
|
|
46
|
+
event.preventDefault();
|
|
47
|
+
const myModal = document.getElementById(myModalID);
|
|
48
|
+
if (myModal) {
|
|
49
|
+
myModal.style.display = 'block';
|
|
50
|
+
}
|
|
51
|
+
;
|
|
52
|
+
};
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
table.pixTable, .pixTable th, .pixTable tr, .pixTable td {
|
|
2
|
+
border : 1px solid #ccc ;
|
|
3
|
+
text-align: left;
|
|
4
|
+
}
|
|
5
|
+
|
|
6
|
+
table.pixTable {
|
|
7
|
+
width: 100%
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
table.pixTable {
|
|
11
|
+
th {
|
|
12
|
+
text-transform: uppercase;
|
|
13
|
+
font-size: 1.2em;
|
|
14
|
+
padding: 5px;
|
|
15
|
+
color: #369;
|
|
16
|
+
text-decoration: none;
|
|
17
|
+
white-space: nowrap;
|
|
18
|
+
}
|
|
19
|
+
th:hover {
|
|
20
|
+
text-decoration: underline;
|
|
21
|
+
}
|
|
22
|
+
td {
|
|
23
|
+
padding: 5px;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
button#showDialog,
|
|
28
|
+
button#saveDialog,
|
|
29
|
+
button#closeDialog {
|
|
30
|
+
font-size: 1.1em;
|
|
31
|
+
padding: 2px 5px;
|
|
32
|
+
margin: 5px !important;
|
|
33
|
+
vertical-align: middle;
|
|
34
|
+
outline: none;
|
|
35
|
+
border: 1px solid #CCC;
|
|
36
|
+
border-radius: 5px;
|
|
37
|
+
|
|
38
|
+
padding: 5px 20px;
|
|
39
|
+
-webkit-box-shadow: 0 0 5px 2px #CCC;
|
|
40
|
+
-moz-box-shadow: 0 0 5px 2px #CCC;
|
|
41
|
+
box-shadow: 0 0 5px 2px #CCC;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
button#showDialog:hover,
|
|
45
|
+
button#saveDialog:hover,
|
|
46
|
+
button#closeDialog:hover {
|
|
47
|
+
outline: none;
|
|
48
|
+
border: 1px solid #0C0;
|
|
49
|
+
-webkit-box-shadow: 0 0 5px 2px #CCC;
|
|
50
|
+
-moz-box-shadow: 0 0 5px 2px #CCC;
|
|
51
|
+
box-shadow: 0 0 5px 2px #CCC;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
dialog {
|
|
55
|
+
padding: 20px;
|
|
56
|
+
position: absolute;
|
|
57
|
+
top: 50%;
|
|
58
|
+
left: 50%;
|
|
59
|
+
transform: translate(-50%, -50%);
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
|
|
63
|
+
.sortArrow {
|
|
64
|
+
display: inline-block;
|
|
65
|
+
margin-left: 5px;
|
|
66
|
+
font-size: 0.8em;
|
|
67
|
+
}
|
|
68
|
+
.sortArrow.asc::before {
|
|
69
|
+
content: '▲'; /* Up arrow for ascending */
|
|
70
|
+
}
|
|
71
|
+
.sortArrow.desc::before {
|
|
72
|
+
content: '▼'; /* Down arrow for descending */
|
|
73
|
+
}
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useState } from 'react';
|
|
3
|
+
import PropTypes from 'prop-types';
|
|
4
|
+
import { SmartImage } from '../cms/cloudinary.image';
|
|
5
|
+
import './table.css';
|
|
6
|
+
function isImageURL(url) {
|
|
7
|
+
const isImage = /\.(jpeg|jpg|gif|png|webp|svg|bmp)$/i.test(url);
|
|
8
|
+
const isURL = () => { try {
|
|
9
|
+
new URL(url);
|
|
10
|
+
return true;
|
|
11
|
+
}
|
|
12
|
+
catch {
|
|
13
|
+
return false;
|
|
14
|
+
} };
|
|
15
|
+
return isImage && isURL;
|
|
16
|
+
}
|
|
17
|
+
Table.propTypes = {
|
|
18
|
+
data: PropTypes.array.isRequired,
|
|
19
|
+
id: PropTypes.string.isRequired,
|
|
20
|
+
sortable: PropTypes.bool,
|
|
21
|
+
};
|
|
22
|
+
export function Table(props) {
|
|
23
|
+
const [tableData, setTableData] = useState(props.data);
|
|
24
|
+
function getHeadings(data) {
|
|
25
|
+
const headings = Object.keys(data[0]).map((key, i) => {
|
|
26
|
+
return (props.sortable && props.sortable == true)
|
|
27
|
+
? _jsxs("th", { onClick: () => { sortTable(key); }, children: [key, " ", _jsx("span", { className: "sortArrow" })] }, i)
|
|
28
|
+
: _jsx("th", { children: key }, i);
|
|
29
|
+
});
|
|
30
|
+
return _jsx("tr", { children: headings });
|
|
31
|
+
}
|
|
32
|
+
function getRows(data) {
|
|
33
|
+
return data.map((obj, i) => {
|
|
34
|
+
return _jsx("tr", { children: getCells(obj) }, i);
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
function getCells(obj) {
|
|
38
|
+
return Object.values(obj).map((value, i) => {
|
|
39
|
+
const myValue = (isImageURL(value)) ? _jsx(SmartImage, { src: value, title: value, alt: value }) : value;
|
|
40
|
+
return _jsx("td", { children: myValue }, i);
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
/* ========== SORT FUNCTIONS ========== */
|
|
44
|
+
function getHeader(column) {
|
|
45
|
+
const table = document.getElementById(props.id);
|
|
46
|
+
const headers = table.querySelectorAll('th');
|
|
47
|
+
let myHeader = undefined;
|
|
48
|
+
headers.forEach(header => {
|
|
49
|
+
if (header.innerText.trim().toUpperCase() === column.trim().toUpperCase()) {
|
|
50
|
+
myHeader = header;
|
|
51
|
+
}
|
|
52
|
+
});
|
|
53
|
+
return (myHeader);
|
|
54
|
+
}
|
|
55
|
+
function getDirection(header) {
|
|
56
|
+
const arrow = header.querySelector('.sortArrow');
|
|
57
|
+
let oldDirection = '';
|
|
58
|
+
if (arrow) {
|
|
59
|
+
const oldClassList = arrow.classList;
|
|
60
|
+
if (oldClassList.contains('asc')) {
|
|
61
|
+
oldDirection = 'asc';
|
|
62
|
+
}
|
|
63
|
+
else if (oldClassList.contains('desc')) {
|
|
64
|
+
oldDirection = 'desc';
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
return (oldDirection);
|
|
68
|
+
}
|
|
69
|
+
function clearAllArrows() {
|
|
70
|
+
const table = document.getElementById(props.id);
|
|
71
|
+
const headers = table.querySelectorAll('th');
|
|
72
|
+
headers.forEach(header => {
|
|
73
|
+
const arrow = header.querySelector('.sortArrow');
|
|
74
|
+
if (arrow) {
|
|
75
|
+
arrow.classList.remove('asc', 'desc');
|
|
76
|
+
}
|
|
77
|
+
});
|
|
78
|
+
}
|
|
79
|
+
function updateArrow(column, oldDirection) {
|
|
80
|
+
const header = getHeader(column);
|
|
81
|
+
const arrow = header.querySelector('.sortArrow');
|
|
82
|
+
if (arrow) {
|
|
83
|
+
if (oldDirection == 'asc') {
|
|
84
|
+
arrow.classList.add('desc');
|
|
85
|
+
}
|
|
86
|
+
else {
|
|
87
|
+
arrow.classList.add('asc');
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
function sortTable(column) {
|
|
92
|
+
const oldTableData = [...tableData];
|
|
93
|
+
const myHeader = getHeader(column);
|
|
94
|
+
if (myHeader && getDirection(myHeader) === 'asc') {
|
|
95
|
+
setTableData(oldTableData.sort((a, b) => b[column].localeCompare(a[column])));
|
|
96
|
+
}
|
|
97
|
+
else {
|
|
98
|
+
setTableData(oldTableData.sort((a, b) => a[column].localeCompare(b[column])));
|
|
99
|
+
}
|
|
100
|
+
if (myHeader) {
|
|
101
|
+
const oldDirection = getDirection(myHeader);
|
|
102
|
+
clearAllArrows();
|
|
103
|
+
updateArrow(column, oldDirection);
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
return (_jsx("div", { children: _jsxs("table", { id: props.id ?? undefined, className: "pixTable", children: [_jsx("thead", { children: getHeadings(tableData) }), _jsx("tbody", { children: getRows(tableData) })] }) }));
|
|
107
|
+
}
|
|
108
|
+
;
|