{"version":3,"file":"index-ClL4pNXi.mjs","sources":["../../admin/src/pluginId.ts","../../admin/src/utils/getTranslation.ts","../../admin/src/components/Field/Icon.tsx","../../admin/src/components/Initializer.tsx","../../admin/src/utils/prefixPluginTranslations.ts","../../admin/src/index.ts"],"sourcesContent":["import pluginPkg from '../../package.json';\n\nexport const PLUGIN_ID = pluginPkg.name.replace(/^(@sklinet\\/strapi-)plugin-/i, '');","import { PLUGIN_ID } from '../pluginId';\n\nconst getTranslation = (id: string) => `${PLUGIN_ID}.${id}`;\n\nexport { getTranslation };\n","import React from 'react';\nimport styled from 'styled-components';\nimport { Flex } from '@strapi/design-system';\nimport { Play } from '@strapi/icons';\n\nconst IconBox = styled(Flex)`\n    /* Hard code color values */\n    /* to stay consistent between themes */\n    background-color: #f0f0ff; /* primary100 */\n    border: 1px solid #d9d8ff; /* primary200 */\n    svg > path {\n        fill: #4945ff; /* primary600 */\n    }\n`;\n\nconst FieldIcon = () => {\n    return (\n        <IconBox justifyContent=\"center\" alignItems=\"center\" width={7} height={6} hasRadius aria-hidden>\n            <Play />\n        </IconBox>\n    );\n};\n\nexport default FieldIcon;\n","import { useEffect, useRef } from 'react';\n\nimport { PLUGIN_ID } from '../pluginId';\n\ntype InitializerProps = {\n  setPlugin: (id: string) => void;\n};\n\nconst Initializer = ({ setPlugin }: InitializerProps) => {\n  const ref = useRef(setPlugin);\n\n  useEffect(() => {\n    ref.current(PLUGIN_ID);\n  }, []);\n\n  return null;\n};\n\nexport { Initializer };\n","type TradOptions = Record<string, string>;\n\nexport const prefixPluginTranslations = (trad: TradOptions, pluginId: string): TradOptions => {\n  if (!pluginId) {\n    throw new TypeError(\"pluginId can't be empty\");\n  }\n  return Object.keys(trad).reduce((acc, current) => {\n    acc[`${pluginId}.${current}`] = trad[current];\n    return acc;\n  }, {} as TradOptions);\n};\n","import { getTranslation } from './utils/getTranslation';\nimport FieldIcon from './components/Field/Icon';\nimport { Initializer } from './components/Initializer';\nimport { PLUGIN_ID } from './pluginId';\nimport { prefixPluginTranslations } from './utils/prefixPluginTranslations';\n\nexport default {\n    register(app: any) {\n        app.customFields.register({\n            name: 'video',\n            pluginId: PLUGIN_ID,\n            type: 'json',\n            icon: FieldIcon,\n            intlLabel: {\n                id: getTranslation('video-field.label'),\n                defaultMessage: 'Video',\n            },\n            intlDescription: {\n                id: getTranslation('video-field.description'),\n                defaultMessage: 'Video field for YouTube or Vimeo.',\n            },\n            components: {\n                Input: async () =>\n                    import(/* webpackChunkName: \"video-field-input-component\" */ './components/Field/Input'),\n            },\n        });\n\n        app.registerPlugin({\n          id: PLUGIN_ID,\n          initializer: Initializer,\n          isReady: false,\n          name: PLUGIN_ID,\n        });\n    },\n\n    async registerTrads(app: any) {\n        const { locales } = app;\n\n        const importedTranslations = await Promise.all(\n            (locales as string[]).map((locale) => {\n                return import(`./translations/${locale}.json`)\n                    .then(({ default: data }) => {\n                        return {\n                            data: prefixPluginTranslations(data, PLUGIN_ID),\n                            locale,\n                        };\n                    })\n                    .catch(() => {\n                        return {\n                            data: {},\n                            locale,\n                        };\n                    });\n            }),\n        );\n\n        return importedTranslations;\n    },\n};\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEO,MAAM,YAAY,UAAU,KAAK,QAAQ,gCAAgC,EAAE;ACAlF,MAAM,iBAAiB,CAAC,OAAe,GAAG,SAAS,IAAI,EAAE;ACGzD,MAAM,UAAU,OAAO,IAAI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAU3B,MAAM,YAAY,MAAM;AACpB,6BACK,SAAQ,EAAA,gBAAe,UAAS,YAAW,UAAS,OAAO,GAAG,QAAQ,GAAG,WAAS,MAAC,eAAW,MAC3F,UAAA,oBAAC,QAAK,EACV,CAAA;AAER;ACbA,MAAM,cAAc,CAAC,EAAE,gBAAkC;AACjD,QAAA,MAAM,OAAO,SAAS;AAE5B,YAAU,MAAM;AACd,QAAI,QAAQ,SAAS;AAAA,EACvB,GAAG,CAAE,CAAA;AAEE,SAAA;AACT;ACda,MAAA,2BAA2B,CAAC,MAAmB,aAAkC;AAC5F,MAAI,CAAC,UAAU;AACP,UAAA,IAAI,UAAU,yBAAyB;AAAA,EAC/C;AACA,SAAO,OAAO,KAAK,IAAI,EAAE,OAAO,CAAC,KAAK,YAAY;AAChD,QAAI,GAAG,QAAQ,IAAI,OAAO,EAAE,IAAI,KAAK,OAAO;AACrC,WAAA;AAAA,EACT,GAAG,CAAiB,CAAA;AACtB;ACJA,MAAe,QAAA;AAAA,EACX,SAAS,KAAU;AACf,QAAI,aAAa,SAAS;AAAA,MACtB,MAAM;AAAA,MACN,UAAU;AAAA,MACV,MAAM;AAAA,MACN,MAAM;AAAA,MACN,WAAW;AAAA,QACP,IAAI,eAAe,mBAAmB;AAAA,QACtC,gBAAgB;AAAA,MACpB;AAAA,MACA,iBAAiB;AAAA,QACb,IAAI,eAAe,yBAAyB;AAAA,QAC5C,gBAAgB;AAAA,MACpB;AAAA,MACA,YAAY;AAAA,QACR,OAAO,YACH;AAAA;AAAA,UAA6D;AAAA,QAA0B;AAAA,MAC/F;AAAA,IAAA,CACH;AAED,QAAI,eAAe;AAAA,MACjB,IAAI;AAAA,MACJ,aAAa;AAAA,MACb,SAAS;AAAA,MACT,MAAM;AAAA,IAAA,CACP;AAAA,EACL;AAAA,EAEA,MAAM,cAAc,KAAU;AACpB,UAAA,EAAE,QAAY,IAAA;AAEd,UAAA,uBAAuB,MAAM,QAAQ;AAAA,MACtC,QAAqB,IAAI,CAAC,WAAW;AAC3B,eAAA,qCAA+B,uBAAA,OAAA,EAAA,0BAAA,MAAA,OAAA,mBAAA,GAAA,0BAAA,MAAA,OAAA,mBAAA,GAAA,0BAAA,MAAA,OAAA,mBAAA,EAAA,CAAA,GAAA,kBAAA,MAAA,OAAA,EACjC,KAAK,CAAC,EAAE,SAAS,KAAA,MAAW;AAClB,iBAAA;AAAA,YACH,MAAM,yBAAyB,MAAM,SAAS;AAAA,YAC9C;AAAA,UAAA;AAAA,QACJ,CACH,EACA,MAAM,MAAM;AACF,iBAAA;AAAA,YACH,MAAM,CAAC;AAAA,YACP;AAAA,UAAA;AAAA,QACJ,CACH;AAAA,MAAA,CACR;AAAA,IAAA;AAGE,WAAA;AAAA,EACX;AACJ;"}