@sklinet/strapi-plugin-video-field
Version:
Add video field to your Strapi application.
1 lines • 5.73 kB
Source Map (JSON)
{"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;"}