{"version":3,"file":"d417d7e58cb8addd736c2470da99d0787b3bc6d9-c44a569d72e803163483.js","mappings":"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","sources":["webpack://axon-division/./src/content/projects/alexander-boyd-displays.project.ts","webpack://axon-division/./src/content/projects/tbm-animation.project.ts","webpack://axon-division/./src/components/YouTubeEmbed/YouTubeEmbed.tsx","webpack://axon-division/./src/constants/hashtags.constants.ts","webpack://axon-division/./src/content/projects/majestic-ireland.project.ts","webpack://axon-division/./src/hooks/useFloatInOnVisible.transition.hook.ts","webpack://axon-division/./src/content/projects/urgent-animation.project.ts","webpack://axon-division/./src/content/projects/cpd-animation.project.ts","webpack://axon-division/./src/utils/number.utils.ts","webpack://axon-division/./src/components/FeaturedEntriesGrid/FeaturedEntry.tsx","webpack://axon-division/./src/components/FeaturedEntriesGrid/FeaturedEntriesGrid.tsx","webpack://axon-division/./src/components/GridRow/GridRow.tsx","webpack://axon-division/./src/constants/categories.constants.ts","webpack://axon-division/./src/components/Spacer/Spacer.tsx","webpack://axon-division/./src/components/StandardTextBlock/StandardTextBlock.tsx","webpack://axon-division/./src/utils/typography.utils.ts","webpack://axon-division/./src/components/Widowless/Widowless.tsx","webpack://axon-division/./src/constants/sectors.constants.ts","webpack://axon-division/./src/components/GridRow/GridRowEndColumn.tsx","webpack://axon-division/./src/hooks/useAnimateTextEnterByLine.hook.ts","webpack://axon-division/./src/content/projects/aaa-idp-animation.project.ts","webpack://axon-division/./src/utils/entry.utils.ts","webpack://axon-division/./src/components/EntryMetaInfoHeader/EntryMetaInfoHeader.tsx"],"sourcesContent":["import { graphql, useStaticQuery } from \"gatsby\";\nimport { Category } from \"../../constants/categories.constants\";\nimport { Hashtag } from \"../../constants/hashtags.constants\";\nimport { ProjectMetaInfo, ProjectMetaInfoWithQueriedResources } from \"../../types/app.types\";\nimport { AlexanderBoydDisplaysImagesQuery } from \"../../types/generated\";\n\nexport const ProjectMetaInfoAlexanderBoydDisplays: ProjectMetaInfo = {\n name: \"alexander-boyd-displays\",\n displayName: \"Alexander Boyd Displays\",\n abbreviation: \"ABD\",\n subtitle: \"Website & Animation advertisement\",\n // TODO\n description: \"\",\n categories: [\n Category.design,\n Category.websites,\n ],\n sectors: [\n ],\n hashtags: [\n Hashtag.animations,\n ],\n // hasPage: false,\n hasPage: true,\n keywords: [\n 'Alexander Boyd Displays',\n 'animation design',\n 'web design',\n 'motion graphics',\n ],\n}\nexport const useAlexanderBoydDisplaysInfo = () => {\n const AlexanderBoydDisplaysImages: AlexanderBoydDisplaysImagesQuery = useStaticQuery(graphql`\n query AlexanderBoydDisplaysImages {\n featuredImage: file(relativePath: {eq: \"images/alexander-boyd-displays/alexander-boyd-displays-video-screenshot-cinema.jpg\"}) {\n childImageSharp {\n gatsbyImageData(width: 1280, height: 720)\n }\n }\n }\n `)\n const info: ProjectMetaInfoWithQueriedResources = {\n ...ProjectMetaInfoAlexanderBoydDisplays,\n featuredImage: {\n image: AlexanderBoydDisplaysImages.featuredImage!.childImageSharp,\n title: 'Alexander Boyd Display Advertisement Video Preview',\n alt: 'Alexander Boyd Display Advertisement Video Preview Image showing a man putting up outdoors posters on the exterior wall of a vintage cinema',\n },\n }\n return info;\n}","import { graphql, useStaticQuery } from \"gatsby\";\nimport { Category } from \"../../constants/categories.constants\";\nimport { Hashtag } from \"../../constants/hashtags.constants\";\nimport { Sector } from \"../../constants/sectors.constants\";\nimport { ProjectMetaInfo, ProjectMetaInfoWithQueriedResources } from \"../../types/app.types\";\nimport { AaaidpAnimationImagesQuery } from \"../../types/generated\";\n\nexport const ProjectMetaInfoTBMAnimation: ProjectMetaInfo = {\n name: \"tbm-animation\",\n displayName: \"TBM Animation\",\n abbreviation: \"TBM Animation\",\n subtitle: \"Animation produced for TBM\",\n // TODO\n description: \"Animation produced for Total Brand Management (TBM) Solutions.\",\n categories: [\n Category.design,\n ],\n sectors: [\n Sector.eCommerceAndRetail,\n ],\n hashtags: [\n Hashtag.animations,\n ],\n hasPage: true,\n keywords: [\n 'TBM',\n 'Total Brand Management',\n 'animation design',\n 'advertisement design',\n 'motion graphics',\n ],\n}\nexport const useTBMAnimationInfo = () => {\n const TBMAnimationImages: TbmAnimationImagesQuery = useStaticQuery(graphql`\n query TBMAnimationImages {\n featuredImage: file(relativePath: {eq: \"images/tbm-animation/tbm-animation-featured-image.png\"}) {\n childImageSharp {\n gatsbyImageData(width: 1280, height: 720)\n }\n }\n pageBackgroundImage: file(relativePath: {eq: \"images/tbm-animation/tbm-animation-background.png\"}) {\n childImageSharp {\n gatsbyImageData(width: 1280, height: 720)\n }\n }\n }\n `)\n const info: ProjectMetaInfoWithQueriedResources = {\n ...ProjectMetaInfoTBMAnimation,\n featuredImage: {\n image: TBMAnimationImages.featuredImage!.childImageSharp,\n title: 'TBM Video Preview',\n alt: 'TBM Video Preview Image',\n },\n pageBackgroundImage: {\n image: TBMAnimationImages.pageBackgroundImage!.childImageSharp,\n title: 'TBM Video Preview',\n alt: 'TBM Video Preview Image',\n },\n }\n return info;\n}","import { Observer } from 'mobx-react-lite';\nimport React from 'react';\nimport { useAppContext } from '../../controllers/app.controller';\nimport { isIE } from '../../utils/browsers.utils';\nimport './YouTubeEmbed.scss';\n\ntype YouTubeEmbedProps = {\n src: string,\n title: string,\n}\n\nconst YouTubeEmbed: React.FC = props => {\n const { UI } = useAppContext();\n return (\n
\n \n
\n )} />\n}\n\nexport default YouTubeEmbed;","export enum Hashtag {\n 'branding' = 'branding',\n 'digitalDesign' = 'digitalDesign',\n 'printDesign' = 'printDesign',\n 'animations' = 'animations',\n}\n\nexport const DesignHashtags = [\n Hashtag.digitalDesign,\n Hashtag.animations,\n Hashtag.branding,\n Hashtag.printDesign,\n]","import { graphql, useStaticQuery } from \"gatsby\";\nimport { Category } from \"../../constants/categories.constants\";\nimport { Sector } from \"../../constants/sectors.constants\";\nimport { ImageWithMetaInfo, ProjectMetaInfo, ProjectMetaInfoWithQueriedResources } from \"../../types/app.types\";\nimport { MajesticIrelandImagesQuery } from \"../../types/generated\";\n\nexport const ProjectMetaInfoMajesticIreland: ProjectMetaInfo = {\n name: \"majestic-ireland\",\n displayName: \"Majestic Ireland\",\n abbreviation: \"Majestic Ireland\",\n subtitle: \"Irish Luxury Tourism Company\",\n description: \"We really enjoyed the cooperation with the team from Majestic Ireland in creating this beautiful website that shows off the most beautiful scenes throughout the island Ireland. Majestic Ireland Road Trips is an Irish tourism company that provides tailor-made self drive or chauffeur driven luxury vacations with an extensive range of super cars or high-end motoring options.\",\n categories: [\n Category.websites,\n ],\n sectors: [\n Sector.tourism,\n ],\n url: \"https://majesticirelandroadtrips.com/\",\n hasPage: true,\n keywords: [\n 'Majestic Ireland',\n 'Road Trips',\n 'tourism',\n 'Irish Travel',\n 'Ireland',\n 'web design',\n 'web development',\n 'WordPress',\n ],\n}\nexport const useMajesticIrelandInfo = () => {\n const MajesticIrelandImages: MajesticIrelandImagesQuery = useStaticQuery(graphql`\n query MajesticIrelandImages {\n featuredImage: file(relativePath: {eq: \"images/majestic-ireland/majestic-ireland-skellig-michael.jpg\"}) {\n childImageSharp {\n gatsbyImageData(width: 1280, height: 720)\n }\n }\n gallery: allFile(\n sort: {fields: name},\n filter: {\n extension: {regex: \"/(jpg)|(jpeg)|(png)/\"}, \n relativeDirectory: {eq: \"images/majestic-ireland/gallery\"}\n }\n ) {\n edges {\n node {\n name\n childImageSharp {\n gatsbyImageData(width: 2560, height: 1440)\n }\n }\n }\n }\n mobileScreenshots: allFile(\n sort: {fields: name},\n filter: {\n extension: {regex: \"/(jpg)|(jpeg)|(png)/\"},\n relativeDirectory: {eq: \"images/majestic-ireland/mobile-screenshots\"}\n }\n ) {\n edges {\n node {\n name\n childImageSharp {\n gatsbyImageData(\n width: 238\n )\n }\n }\n }\n }\n }\n `)\n const imageMetaData: Partial[] = [\n {\n title: 'Majestic Ireland Homepage Screenshot',\n alt: 'Majestic Ireland Homepage Screenshot, desktop version',\n },\n {\n title: 'Majestic Ireland: Wishlist Feature',\n alt: 'Majestic Ireland: Wishlist Screen, desktop version',\n },\n ]\n const info: ProjectMetaInfoWithQueriedResources = {\n ...ProjectMetaInfoMajesticIreland,\n featuredImage: {\n image: MajesticIrelandImages.featuredImage!.childImageSharp!,\n alt: 'Majestic Ireland Road Trips',\n title: 'Majestic Ireland: Skellig Michael under stormy clouds',\n },\n gallery: MajesticIrelandImages.gallery.edges.map((edge, i) => ({\n image: edge.node.childImageSharp?.gatsbyImageData,\n ...imageMetaData[i]\n })),\n // TODO: provide better title / alt values,\n mobileScreenshots: MajesticIrelandImages.mobileScreenshots.edges.map((edge, i) => ({\n image: edge.node.childImageSharp,\n title: edge.node.name,\n alt: edge.node.name,\n }))\n }\n return info;\n}","import { Expo, TweenLite } from 'gsap';\nimport { isBuildTime } from \"../env\";\nimport { isIE } from '../utils/browsers.utils';\nimport { observeVisibility } from \"../utils/visibilityObserver.util\";\nimport { useOnMount } from \"./lifecycle.hooks\";\nimport { ObservableRef } from \"./useObservableRef.hook\";\n\nexport const useFloatInOnVisible = (\n id: string, \n observedRef: ObservableRef, \n animationTargetRef?: ObservableRef,\n delay?: number,\n duration?: number\n) => {\n useOnMount(() => {\n if (isBuildTime) return;\n if (isIE) return;\n const getElement = () => (animationTargetRef ?? observedRef).current;\n TweenLite.set(getElement(), { opacity: 0 });\n observeVisibility(observedRef, {\n id,\n once: true,\n onBecomeVisible: () => {\n const element = getElement();\n if (!element) return;\n TweenLite.fromTo(element, duration ?? .5, {\n opacity: 0,\n y: 100,\n }, {\n delay: delay ?? (.19 * Math.random()),\n ease: Expo.easeOut,\n opacity: 1,\n y: 0,\n });\n },\n })\n })\n}","import { graphql, useStaticQuery } from \"gatsby\";\nimport { Category } from \"../../constants/categories.constants\";\nimport { Hashtag } from \"../../constants/hashtags.constants\";\nimport { Sector } from \"../../constants/sectors.constants\";\nimport { ProjectMetaInfo, ProjectMetaInfoWithQueriedResources } from \"../../types/app.types\";\nimport { AaaidpAnimationImagesQuery } from \"../../types/generated\";\n\nexport const ProjectMetaInfoUrgentAnimation: ProjectMetaInfo = {\n name: \"urgent-animation\",\n displayName: \"Urgent Animation\",\n abbreviation: \"Urgent Animation\",\n subtitle: \"Animation produced for Urgent.ie\",\n // TODO\n description: \"Animation produced for Urgent.ie.\",\n categories: [\n Category.design,\n ],\n sectors: [\n Sector.eCommerceAndRetail,\n ],\n hashtags: [\n Hashtag.animations,\n ],\n hasPage: true,\n keywords: [\n 'Urgent.ie',\n 'animation design',\n 'advertisement design',\n 'motion graphics',\n ],\n}\nexport const useUrgentAnimationInfo = () => {\n const UrgentAnimationImages: UrgentAnimationImagesQuery = useStaticQuery(graphql`\n query UrgentAnimationImages {\n featuredImage: file(relativePath: {eq: \"images/urgent-animation/urgent-animation-featured-image.png\"}) {\n childImageSharp {\n gatsbyImageData(width: 1280, height: 720)\n }\n }\n pageBackgroundImage: file(relativePath: {eq: \"images/urgent-animation/urgent-animation-background.png\"}) {\n childImageSharp {\n gatsbyImageData(width: 1280, height: 720)\n }\n }\n }\n `)\n const info: ProjectMetaInfoWithQueriedResources = {\n ...ProjectMetaInfoUrgentAnimation,\n featuredImage: {\n image: UrgentAnimationImages.featuredImage!.childImageSharp,\n title: 'Urgent Video Preview',\n alt: 'Urgent Video Preview Image',\n },\n pageBackgroundImage: {\n image: UrgentAnimationImages.pageBackgroundImage!.childImageSharp,\n title: 'Urgent Video Preview',\n alt: 'Urgent Video Preview Image',\n },\n }\n return info;\n}","import { graphql, useStaticQuery } from \"gatsby\";\nimport { Category } from \"../../constants/categories.constants\";\nimport { Hashtag } from \"../../constants/hashtags.constants\";\nimport { Sector } from \"../../constants/sectors.constants\";\nimport { ProjectMetaInfo, ProjectMetaInfoWithQueriedResources } from \"../../types/app.types\";\nimport { AaaidpAnimationImagesQuery } from \"../../types/generated\";\n\nexport const ProjectMetaInfoCPDAnimation: ProjectMetaInfo = {\n name: \"cpd-animation\",\n displayName: \"CPD Animation\",\n abbreviation: \"CPD Animation\",\n subtitle: \"Animation produced for CPD\",\n // TODO\n description: \"Animation produced for Carnet de Passages (CPD) to inform what is an FIA / AIT Carnet De Passages En Douane.\",\n categories: [\n Category.design,\n ],\n sectors: [\n Sector.governmentAndNPO,\n ],\n hashtags: [\n Hashtag.animations,\n ],\n hasPage: true,\n keywords: [\n 'CPD',\n 'Carnet de Passage',\n 'animation design',\n 'advertisement design',\n 'motion graphics',\n ],\n}\nexport const useCPDAnimationInfo = () => {\n const CPDAnimationImages: CpdAnimationImagesQuery = useStaticQuery(graphql`\n query CPDAnimationImages {\n featuredImage: file(relativePath: {eq: \"images/cpd-animation/cpd-animation-featured-image.png\"}) {\n childImageSharp {\n gatsbyImageData(width: 1280, height: 720)\n }\n }\n pageBackgroundImage: file(relativePath: {eq: \"images/cpd-animation/cpd-animation-background.png\"}) {\n childImageSharp {\n gatsbyImageData(width: 1280, height: 720)\n }\n }\n }\n `)\n const info: ProjectMetaInfoWithQueriedResources = {\n ...ProjectMetaInfoCPDAnimation,\n featuredImage: {\n image: CPDAnimationImages.featuredImage!.childImageSharp,\n title: 'CPD Video Preview',\n alt: 'CPD Video Preview Image showing how to drive your car across borders',\n },\n pageBackgroundImage: {\n image: CPDAnimationImages.pageBackgroundImage!.childImageSharp,\n title: 'CPD Video Preview',\n alt: 'CPD Video Preview Image showing how to drive your car across borders',\n },\n }\n return info;\n}","export function padZero(value: number | null = 0, length: number = 2) {\n let valueString = value?.toString() || '0';\n while (valueString.length < length) {\n valueString = '0' + valueString;\n }\n return valueString;\n}\n","import { GatsbyImage, getImage } from 'gatsby-plugin-image';\nimport { Observer } from 'mobx-react-lite';\nimport React from 'react';\nimport { useFloatInOnVisible } from '../../hooks/useFloatInOnVisible.transition.hook';\nimport { useObservableRef } from '../../hooks/useObservableRef.hook';\nimport { EntryMetaInfoWithQueriedResources } from '../../types/app.types';\nimport { getEntryPagePath } from '../../utils/entry.utils';\nimport { padZero } from '../../utils/number.utils';\nimport { AnimatedLink } from '../AnimatedLink/AnimatedLink';\nimport EntryMetaInfoHeader from '../EntryMetaInfoHeader/EntryMetaInfoHeader';\nimport './FeaturedEntry.scss';\n\ntype FeaturedEntryProps = {\n entry: EntryMetaInfoWithQueriedResources,\n /** This number should be bigger than zero */\n number?: number,\n}\n\nconst FeaturedEntry: React.FC = props => {\n const id = `FeaturedEntry--${props.entry.name}`;\n const image = getImage(props.entry.featuredImage?.image);\n const ref = useObservableRef();\n const animationRef = useObservableRef();\n useFloatInOnVisible(id, ref, animationRef);\n return {\n const imageEl = image ? : null;\n const children = <>\n {props.number && {padZero(props.number)}}\n \n {image &&
\n {imageEl}\n
}\n \n const commonAttr = {\n className: 'FeaturedEntryInner',\n children,\n ref: animationRef,\n 'data-rect-offset': 5\n }\n return
\n { props.entry.hasPage ? :
\n }\n
\n }} />\n}\n\nexport default FeaturedEntry;","import { Observer } from 'mobx-react-lite';\nimport React from 'react';\nimport { EntryMetaInfoWithQueriedResources } from '../../types/app.types';\nimport './FeaturedEntriesGrid.scss';\nimport FeaturedEntry from './FeaturedEntry';\n\ntype FeaturedEntriesGridProps = {\n entries: EntryMetaInfoWithQueriedResources[]\n}\n\nconst FeaturedEntriesGrid: React.FC = props => {\n return (\n
    \n { props.entries.map((e, i) => \n \n ) }\n
\n )} />\n}\n\nexport default FeaturedEntriesGrid;","import React from 'react';\nimport joinClassName from '../../utils/className.utils';\nimport './GridRow.scss';\n\ntype GridRowProps = {\n className?: string,\n}\n\nconst GridRow: React.FC = props => {\n return
\n {props.children}\n
\n}\n\nexport default GridRow;","export enum Category {\n 'apps' = 'apps',\n 'websites' = 'websites',\n 'design' = 'design',\n}\n","import React from 'react';\nimport { isStandardSize, Size } from '../../constants/sizes.constants';\nimport './Spacer.scss';\n\ntype SpacerProps = {\n size?: Size | string | number,\n inline?: boolean,\n}\n\nconst Spacer: React.FC = props => {\n const { size = '1em' } = props;\n const isCustomValue = typeof props.size === 'number' || !isStandardSize(size);\n const style = {\n display: props.inline ? 'inline-block' : undefined,\n width: isCustomValue ? size : undefined,\n height: isCustomValue ? size : undefined,\n }\n return
\n}\n\nexport default Spacer;","import React from 'react';\nimport { AnimateTextEnterByLineProps, useAnimateTextEnterByLine } from '../../hooks/useAnimateTextEnterByLine.hook';\nimport { useObservableRef } from '../../hooks/useObservableRef.hook';\nimport joinClassName from '../../utils/className.utils';\nimport './StandardTextBlock.scss';\n\ntype StandardTextBlockProps = AnimateTextEnterByLineProps & {\n className?: string\n}\n\nconst StandardTextBlock: React.FC = props => {\n const ref = useObservableRef();\n useAnimateTextEnterByLine(ref, props);\n return
\n {props.children}\n
\n}\n\nexport default StandardTextBlock;","const widowPreventerRegex = /\\s(?=[^\\s]*$)/g;\n\nexport const preventWidows = (s: string) => s.replace(widowPreventerRegex, '\\u00A0');","import React from 'react';\nimport { preventWidows } from '../../utils/typography.utils';\n\ntype WidowlessProps = {\n as?: keyof HTMLElementTagNameMap,\n className?: string,\n children: string,\n onClick?: React.MouseEventHandler,\n}\n\nconst Widowless: React.FC = props => React.createElement(\n props.as ?? 'p', {\n ...props,\n children: preventWidows(props.children)\n }\n)\n\nexport default Widowless;","export enum Sector {\n 'all' = 'all',\n // 'agriculture' = 'agriculture',\n // 'aviation' = 'aviation',\n // 'construction' = 'construction',\n 'eCommerceAndRetail' = 'eCommerceAndRetail',\n 'eLearning' = 'eLearning',\n 'energy' = 'energy',\n 'entertainmentAndEvents' = 'entertainmentAndEvents',\n 'finance' = 'finance',\n 'governmentAndNPO' = 'governmentAndNPO',\n 'healthAndFitness' = 'healthAndFitness',\n 'lgbtq' = 'lgbtq',\n 'motorsports' = 'motorsports',\n 'musicAndAudio' = 'musicAndAudio',\n 'newsAndMedia' = 'newsAndMedia',\n 'tourism' = 'tourism',\n}\n\nexport const sectorsPreferredOrder = [\n Sector.all,\n Sector.healthAndFitness,\n Sector.eCommerceAndRetail,\n Sector.governmentAndNPO,\n Sector.finance,\n Sector.motorsports,\n Sector.tourism,\n Sector.entertainmentAndEvents,\n Sector.eLearning,\n Sector.musicAndAudio,\n Sector.lgbtq,\n // Sector.aviation,\n // Sector.construction,\n // Sector.agriculture,\n Sector.energy,\n Sector.newsAndMedia,\n]\n\nexport type SectorDefinition = {\n name: string,\n abbreviation?: string,\n slug: string,\n}\n\nexport const sectorDefinitions: Record = {\n [Sector.all]: { name: 'All Sectors', slug: 'all' },\n // [Sector.agriculture]: { name: 'Agriculture', slug: 'agriculture' },\n // [Sector.aviation]: { name: 'Aviation', slug: 'aviation' },\n // [Sector.construction]: { name: 'Construction', slug: 'construction' },\n [Sector.eCommerceAndRetail]: { name: 'eCommerce & Retail', slug: 'ecommerce-and-retail' },\n [Sector.eLearning]: { name: 'eLearning', slug: 'elearning' },\n [Sector.energy]: { name: 'Energy', slug: 'energy' },\n [Sector.entertainmentAndEvents]: { name: 'Entertainment & Events', slug: 'entertainment-and-events' },\n [Sector.finance]: { name: 'Finance', slug: 'finance' },\n [Sector.governmentAndNPO]: { name: 'Government & NPO', abbreviation: 'Gov & NPO', slug: 'government-and-npo' },\n [Sector.healthAndFitness]: { name: 'Health & Fitness', slug: 'health-and-fitness' },\n [Sector.lgbtq]: { name: 'LGBTQ+', slug: 'lgbtq' },\n [Sector.motorsports]: { name: 'Motorsports', slug: 'motorsports' },\n [Sector.musicAndAudio]: { name: 'Music & Audio', slug: 'music-and-audio' },\n [Sector.newsAndMedia]: { name: 'News & Media', slug: 'news-and-media' },\n [Sector.tourism]: { name: 'Tourism', slug: 'tourism' },\n}\n\nexport const isSectorEnum = (s: string): s is Sector => s in Sector;\n\nexport const getSectorName = (s?: Sometimes) => {\n if (!s) return undefined;\n if (isSectorEnum(s)) return sectorDefinitions[s].name;\n const [sector, def] = Object.entries(sectorDefinitions).find(([key, value]) => value.slug === s || value.name === s || value.abbreviation === s) || [];\n return def?.name;\n}\nexport const getSectorFromSlug = (s?: Sometimes) => {\n const [sector, def] = Object.entries(sectorDefinitions).find(([key, value]) => value.slug === s) || [];\n return sector as Sector | undefined;\n}","import React from 'react';\n\ntype GridRowEndColumnProps = {}\n\nconst GridRowEndColumn: React.FC = props => {\n return
\n {props.children}\n
\n}\n\nexport default GridRowEndColumn;","import { Expo, TweenMax } from 'gsap';\nimport { SplitText } from 'gsap/SplitText';\nimport { when } from \"mobx\";\nimport { PageSectionContext, usePageSectionContext } from \"../components/PageSection/PageSection\";\nimport { useAppContext } from '../controllers/app.controller';\nimport { isBrowser, isProduction } from \"../env\";\nimport { makeDisposerController } from \"../utils/disposer.utils\";\nimport { waitForFontsToLoad } from \"../utils/fonts.utils\";\nimport { log } from '../utils/loggers.utils';\nimport { highPerf } from '../utils/performance.utils';\nimport { isObject } from \"../utils/typeChecks.utils\";\nimport tick from \"../utils/waiters.utils\";\nimport { useOnMount } from \"./lifecycle.hooks\";\nimport { ObservableRef } from \"./useObservableRef.hook\";\n\nexport type AnimateTextEnterByLineProps = {\n animateTextEnter?: {\n delay?: number,\n onlyWhenParentSectionVisible?: boolean,\n } | true,\n}\n\nexport const useAnimateTextEnterByLine = (\n ref: ObservableRef, \n props: AnimateTextEnterByLineProps,\n context?: PageSectionContext,\n) => {\n const { UI } = useAppContext();\n const autoContext = usePageSectionContext();\n const pageSection = context ?? autoContext;\n useOnMount(() => {\n if (isProduction && UI.isFirstLoad) return;\n if (!highPerf) return;\n const d = makeDisposerController();\n const animateIn = async () => {\n if (isBrowser) {\n await waitForFontsToLoad();\n if (!ref.current) return;\n const spiltText = new SplitText(ref.current.children, { type: 'lines' });\n TweenMax.set(spiltText.lines, { opacity: 0 });\n if (isObject(props.animateTextEnter)) {\n if (props.animateTextEnter.delay) {\n await tick(props.animateTextEnter.delay);\n }\n if (props.animateTextEnter.onlyWhenParentSectionVisible) {\n await when(() => pageSection.visible);\n log('visible now', pageSection.id);\n }\n }\n if (!ref.current) return;\n const styles = getComputedStyle(ref.current);\n const YOffset = parseInt(styles.fontSize ?? 64) * 1;\n TweenMax.fromTo(spiltText.lines!, .62, {\n opacity: 0,\n y: YOffset,\n }, {\n opacity: 1,\n y: 0,\n ease: Expo.easeOut,\n stagger: .05,\n onComplete: () => spiltText.revert()\n });\n }\n }\n if (props.animateTextEnter) animateIn();\n return d.disposer\n })\n}","import { graphql, useStaticQuery } from \"gatsby\";\nimport { Category } from \"../../constants/categories.constants\";\nimport { Hashtag } from \"../../constants/hashtags.constants\";\nimport { Sector } from \"../../constants/sectors.constants\";\nimport { ProjectMetaInfo, ProjectMetaInfoWithQueriedResources } from \"../../types/app.types\";\nimport { AaaidpAnimationImagesQuery } from \"../../types/generated\";\n\nexport const ProjectMetaInfoAAAIDPAnimation: ProjectMetaInfo = {\n name: \"aaa-idp-animation\",\n displayName: \"IDP Introduction Video\",\n abbreviation: \"IDP Animation\",\n subtitle: \"Animation advertisement produced for AAA\",\n // TODO\n description: \"An animation we produced for Australian Automobile Association (AAA) to introduce the International Driving Permit.\",\n categories: [\n Category.design,\n ],\n sectors: [\n Sector.governmentAndNPO,\n ],\n hashtags: [\n Hashtag.animations,\n ],\n hasPage: true,\n keywords: [\n 'AAA',\n 'Australian Automobile Association',\n 'IDP',\n 'International Driving Permit',\n 'animation design',\n 'advertisement design',\n 'motion graphics',\n ],\n}\nexport const useAAAIDPAnimationInfo = () => {\n const AAAIDPAnimationImages: AaaidpAnimationImagesQuery = useStaticQuery(graphql`\n query AAAIDPAnimationImages {\n featuredImage: file(relativePath: {eq: \"images/aaa-idp-animation/aaa-idp-animation-frame-driving-towards-airport-to-travel-abroad.png\"}) {\n childImageSharp {\n gatsbyImageData(width: 1280, height: 720)\n }\n }\n pageBackgroundImage: file(relativePath: {eq: \"images/aaa-idp-animation/aaa-idp-animation-background-plane-landing-scene.png\"}) {\n childImageSharp {\n gatsbyImageData(width: 1280, height: 720)\n }\n }\n }\n `)\n const info: ProjectMetaInfoWithQueriedResources = {\n ...ProjectMetaInfoAAAIDPAnimation,\n featuredImage: {\n image: AAAIDPAnimationImages.featuredImage!.childImageSharp,\n title: 'IDP Introduction Video Preview',\n alt: 'IDP Introduction Video Preview Image showing two persons in a car driving towards the airport to travel abroad',\n },\n pageBackgroundImage: {\n image: AAAIDPAnimationImages.pageBackgroundImage!.childImageSharp,\n title: 'IDP Introduction Video Preview',\n alt: 'IDP Introduction Video Preview Image showing two persons in a car driving towards the airport to travel abroad',\n },\n }\n return info;\n}","import { ProjectMetaInfo } from \"../types/app.types\";\nimport { isString } from \"./typeChecks.utils\";\n\nexport const getEntryPagePath = (p: string | ProjectMetaInfo) => {\n const slug = isString(p) ? p : p.name;\n return isString(p) ? `/projects/${slug}` : `/${p.type ?? 'project'}s/${slug}`;\n}","import { Observer } from 'mobx-react-lite';\nimport React from 'react';\nimport { EntryMetaInfo } from '../../types/app.types';\nimport joinClassName from '../../utils/className.utils';\nimport { getEntryPagePath } from '../../utils/entry.utils';\nimport { AnimatedLink } from '../AnimatedLink/AnimatedLink';\nimport Widowless from '../Widowless/Widowless';\nimport './EntryMetaInfoHeader.scss';\n\ntype EntryMetaInfoHeaderProps = {\n className?: string,\n entry: EntryMetaInfo,\n doNotAutoLink?: boolean,\n}\n\nconst EntryMetaInfoHeader: React.FC = props => {\n return (\n
\n

\n {props.entry.hasPage && !props.doNotAutoLink ? : props.entry.displayName}\n

\n {props.entry.subtitle}\n
\n )} />\n}\n\nexport default EntryMetaInfoHeader;"],"names":["ProjectMetaInfoAlexanderBoydDisplays","name","displayName","abbreviation","subtitle","description","categories","Category","design","websites","sectors","hashtags","Hashtag","animations","hasPage","keywords","useAlexanderBoydDisplaysInfo","AlexanderBoydDisplaysImages","useStaticQuery","_objectSpread","featuredImage","image","childImageSharp","title","alt","ProjectMetaInfoTBMAnimation","Sector","eCommerceAndRetail","useTBMAnimationInfo","TBMAnimationImages","pageBackgroundImage","props","UI","useAppContext","_jsx","Observer","children","className","src","frameBorder","allow","allowFullScreen","width","isIE","Math","min","viewport","undefined","height","round","DesignHashtags","digitalDesign","branding","printDesign","ProjectMetaInfoMajesticIreland","tourism","url","useMajesticIrelandInfo","MajesticIrelandImages","imageMetaData","gallery","edges","map","edge","i","_edge$node$childImage","node","gatsbyImageData","mobileScreenshots","useFloatInOnVisible","id","observedRef","animationTargetRef","delay","duration","useOnMount","isBuildTime","getElement","current","TweenLite","set","opacity","observeVisibility","once","onBecomeVisible","element","fromTo","y","random","ease","Expo","easeOut","ProjectMetaInfoUrgentAnimation","useUrgentAnimationInfo","UrgentAnimationImages","ProjectMetaInfoCPDAnimation","governmentAndNPO","useCPDAnimationInfo","CPDAnimationImages","padZero","value","length","_value","valueString","toString","_props$entry$featured","entry","getImage","ref","useObservableRef","animationRef","_ref","_props$entry$featured2","_props$entry$featured3","_props$entry$featured4","_props$entry$featured5","imageEl","GatsbyImage","objectFit","objectPosition","commonAttr","_jsxs","_Fragment","number","EntryMetaInfoHeader","doNotAutoLink","AnimatedLink","to","getEntryPagePath","entries","e","FeaturedEntry","joinClassName","size","isCustomValue","isStandardSize","style","display","inline","useAnimateTextEnterByLine","widowPreventerRegex","_props$as","s","React","as","replace","sectorsPreferredOrder","all","healthAndFitness","finance","motorsports","entertainmentAndEvents","eLearning","musicAndAudio","lgbtq","energy","newsAndMedia","sectorDefinitions","slug","getSectorName","isSectorEnum","sector","def","Object","find","key","getSectorFromSlug","_ref2","context","autoContext","usePageSectionContext","pageSection","isProduction","isFirstLoad","highPerf","d","makeDisposerController","animateTextEnter","async","isBrowser","_styles$fontSize","waitForFontsToLoad","spiltText","SplitText","type","TweenMax","lines","isObject","tick","onlyWhenParentSectionVisible","when","visible","log","styles","getComputedStyle","YOffset","parseInt","fontSize","stagger","onComplete","revert","animateIn","disposer","ProjectMetaInfoAAAIDPAnimation","useAAAIDPAnimationInfo","AAAIDPAnimationImages","p","_p$type","isString","Widowless"],"sourceRoot":""}