@strapi/plugin-cloud 0.0.0-experimental.abc → 0.0.0-experimental.ac0b37f438d80d7bc0aac7a959887e09309ac752

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.
Files changed (119) hide show
  1. package/README.md +8 -4
  2. package/dist/admin/components/CLIDeployTabs.js +138 -0
  3. package/dist/admin/components/CLIDeployTabs.js.map +1 -0
  4. package/dist/admin/components/CLIDeployTabs.mjs +136 -0
  5. package/dist/admin/components/CLIDeployTabs.mjs.map +1 -0
  6. package/dist/admin/components/CloudDeploy.js +207 -0
  7. package/dist/admin/components/CloudDeploy.js.map +1 -0
  8. package/dist/admin/components/CloudDeploy.mjs +205 -0
  9. package/dist/admin/components/CloudDeploy.mjs.map +1 -0
  10. package/dist/admin/components/CloudFeatures.js +56 -0
  11. package/dist/admin/components/CloudFeatures.js.map +1 -0
  12. package/dist/admin/components/CloudFeatures.mjs +54 -0
  13. package/dist/admin/components/CloudFeatures.mjs.map +1 -0
  14. package/dist/admin/components/Initializer.js +15 -0
  15. package/dist/admin/components/Initializer.js.map +1 -0
  16. package/dist/admin/components/Initializer.mjs +13 -0
  17. package/dist/admin/components/Initializer.mjs.map +1 -0
  18. package/dist/admin/index.js +73 -4
  19. package/dist/admin/index.js.map +1 -1
  20. package/dist/admin/index.mjs +68 -4
  21. package/dist/admin/index.mjs.map +1 -1
  22. package/dist/admin/pages/App.js +33 -0
  23. package/dist/admin/pages/App.js.map +1 -0
  24. package/dist/admin/pages/App.mjs +31 -0
  25. package/dist/admin/pages/App.mjs.map +1 -0
  26. package/dist/admin/pages/HomePage.js +66 -0
  27. package/dist/admin/pages/HomePage.js.map +1 -0
  28. package/dist/admin/pages/HomePage.mjs +64 -0
  29. package/dist/admin/pages/HomePage.mjs.map +1 -0
  30. package/dist/admin/pluginId.js +6 -0
  31. package/dist/admin/pluginId.js.map +1 -0
  32. package/dist/admin/pluginId.mjs +4 -0
  33. package/dist/admin/pluginId.mjs.map +1 -0
  34. package/dist/admin/src/components/CLIDeployTabs.d.ts +2 -0
  35. package/dist/admin/src/components/CloudDeploy.d.ts +2 -0
  36. package/dist/admin/src/components/CloudFeatures.d.ts +2 -0
  37. package/dist/admin/src/index.d.ts +7 -4
  38. package/dist/admin/src/pages/HomePage.d.ts +1 -2
  39. package/dist/admin/translations/cs.json.js +25 -0
  40. package/dist/admin/translations/cs.json.js.map +1 -0
  41. package/dist/admin/translations/cs.json.mjs +23 -0
  42. package/dist/admin/translations/cs.json.mjs.map +1 -0
  43. package/dist/admin/translations/en.json.js +25 -0
  44. package/dist/admin/translations/en.json.js.map +1 -0
  45. package/dist/admin/translations/en.json.mjs +23 -0
  46. package/dist/admin/translations/en.json.mjs.map +1 -0
  47. package/dist/admin/translations/es.json.js +25 -0
  48. package/dist/admin/translations/es.json.js.map +1 -0
  49. package/dist/admin/translations/es.json.mjs +23 -0
  50. package/dist/admin/translations/es.json.mjs.map +1 -0
  51. package/dist/admin/translations/fr.json.js +25 -0
  52. package/dist/admin/translations/fr.json.js.map +1 -0
  53. package/dist/admin/translations/fr.json.mjs +23 -0
  54. package/dist/admin/translations/fr.json.mjs.map +1 -0
  55. package/dist/admin/translations/it.json.js +25 -0
  56. package/dist/admin/translations/it.json.js.map +1 -0
  57. package/dist/admin/translations/it.json.mjs +23 -0
  58. package/dist/admin/translations/it.json.mjs.map +1 -0
  59. package/dist/admin/translations/ja.json.js +26 -0
  60. package/dist/admin/translations/ja.json.js.map +1 -0
  61. package/dist/admin/translations/ja.json.mjs +24 -0
  62. package/dist/admin/translations/ja.json.mjs.map +1 -0
  63. package/dist/admin/translations/ko.json.js +25 -0
  64. package/dist/admin/translations/ko.json.js.map +1 -0
  65. package/dist/admin/translations/ko.json.mjs +23 -0
  66. package/dist/admin/translations/ko.json.mjs.map +1 -0
  67. package/dist/admin/translations/nl.json.js +25 -0
  68. package/dist/admin/translations/nl.json.js.map +1 -0
  69. package/dist/admin/translations/nl.json.mjs +23 -0
  70. package/dist/admin/translations/nl.json.mjs.map +1 -0
  71. package/dist/admin/translations/pl.json.js +26 -0
  72. package/dist/admin/translations/pl.json.js.map +1 -0
  73. package/dist/admin/translations/pl.json.mjs +24 -0
  74. package/dist/admin/translations/pl.json.mjs.map +1 -0
  75. package/dist/admin/translations/ru.json.js +25 -0
  76. package/dist/admin/translations/ru.json.js.map +1 -0
  77. package/dist/admin/translations/ru.json.mjs +23 -0
  78. package/dist/admin/translations/ru.json.mjs.map +1 -0
  79. package/dist/admin/translations/sk.json.js +25 -0
  80. package/dist/admin/translations/sk.json.js.map +1 -0
  81. package/dist/admin/translations/sk.json.mjs +23 -0
  82. package/dist/admin/translations/sk.json.mjs.map +1 -0
  83. package/dist/admin/translations/tr.json.js +25 -0
  84. package/dist/admin/translations/tr.json.js.map +1 -0
  85. package/dist/admin/translations/tr.json.mjs +23 -0
  86. package/dist/admin/translations/tr.json.mjs.map +1 -0
  87. package/dist/admin/translations/uk.json.js +25 -0
  88. package/dist/admin/translations/uk.json.js.map +1 -0
  89. package/dist/admin/translations/uk.json.mjs +23 -0
  90. package/dist/admin/translations/uk.json.mjs.map +1 -0
  91. package/dist/admin/utils/getTrad.js +8 -0
  92. package/dist/admin/utils/getTrad.js.map +1 -0
  93. package/dist/admin/utils/getTrad.mjs +6 -0
  94. package/dist/admin/utils/getTrad.mjs.map +1 -0
  95. package/dist/admin/utils/prefixPluginTranslations.js +11 -0
  96. package/dist/admin/utils/prefixPluginTranslations.js.map +1 -0
  97. package/dist/admin/utils/prefixPluginTranslations.mjs +9 -0
  98. package/dist/admin/utils/prefixPluginTranslations.mjs.map +1 -0
  99. package/package.json +31 -18
  100. package/dist/_chunks/App-7JtAJmoO.mjs +0 -401
  101. package/dist/_chunks/App-7JtAJmoO.mjs.map +0 -1
  102. package/dist/_chunks/App-z8awPSuN.js +0 -401
  103. package/dist/_chunks/App-z8awPSuN.js.map +0 -1
  104. package/dist/_chunks/en-DqzxMgb_.mjs +0 -21
  105. package/dist/_chunks/en-DqzxMgb_.mjs.map +0 -1
  106. package/dist/_chunks/en-j5SB1oBn.js +0 -21
  107. package/dist/_chunks/en-j5SB1oBn.js.map +0 -1
  108. package/dist/_chunks/fr-3fwSSssz.mjs +0 -21
  109. package/dist/_chunks/fr-3fwSSssz.mjs.map +0 -1
  110. package/dist/_chunks/fr-Y8WZfiox.js +0 -21
  111. package/dist/_chunks/fr-Y8WZfiox.js.map +0 -1
  112. package/dist/_chunks/index-BblYODtA.js +0 -78
  113. package/dist/_chunks/index-BblYODtA.js.map +0 -1
  114. package/dist/_chunks/index-Dm1hdDVe.mjs +0 -79
  115. package/dist/_chunks/index-Dm1hdDVe.mjs.map +0 -1
  116. package/dist/admin/src/components/Cloud.d.ts +0 -2
  117. package/dist/admin/src/components/Github.d.ts +0 -2
  118. package/dist/admin/src/components/Icons/LinkIcon.d.ts +0 -1
  119. package/dist/admin/src/components/Icons/UploadIcon.d.ts +0 -1
package/README.md CHANGED
@@ -1,6 +1,10 @@
1
- # Strapi Cloud Plugin
1
+ # ☁️ Strapi Cloud Plugin ☁️
2
2
 
3
- A simple plugin giving instructions on how to deploy your Strapi local project to Strapi Cloud:
3
+ A plugin to easily deploy your Strapi project to [Strapi Cloud](https://cloud.strapi.io). Provides a UI to select a deployment method and launch your project in a few clicks.
4
4
 
5
- - Upload your project to GitHub if not already done.
6
- - Authenticate & Deploy on Strapi Cloud.
5
+ ---
6
+
7
+ ## ✨ Features
8
+
9
+ - Choose between **Strapi Cloud dashboard** (recommended) and **CLI** deployment methods
10
+ - Built-in guidance and quick access to documentation
@@ -0,0 +1,138 @@
1
+ 'use strict';
2
+
3
+ var jsxRuntime = require('react/jsx-runtime');
4
+ var strapiAdmin = require('@strapi/admin/strapi-admin');
5
+ var designSystem = require('@strapi/design-system');
6
+ var icons = require('@strapi/icons');
7
+ var reactIntl = require('react-intl');
8
+ var getTrad = require('../utils/getTrad.js');
9
+
10
+ const CopyCommandButton = ({ command })=>{
11
+ const { formatMessage } = reactIntl.useIntl();
12
+ const { toggleNotification } = strapiAdmin.useNotification();
13
+ const { copy } = strapiAdmin.useClipboard();
14
+ const copyLabel = formatMessage({
15
+ id: getTrad.getTrad('Homepage.deploy.cli.copy'),
16
+ defaultMessage: 'Copy'
17
+ });
18
+ const handleCopy = async ()=>{
19
+ const didCopy = await copy(command);
20
+ if (didCopy) {
21
+ toggleNotification({
22
+ type: 'success',
23
+ message: formatMessage({
24
+ id: getTrad.getTrad('Homepage.deploy.cli.copySuccess'),
25
+ defaultMessage: 'Command copied to clipboard'
26
+ })
27
+ });
28
+ }
29
+ };
30
+ return /*#__PURE__*/ jsxRuntime.jsx(designSystem.Tooltip, {
31
+ label: copyLabel,
32
+ children: /*#__PURE__*/ jsxRuntime.jsx(designSystem.IconButton, {
33
+ size: "XS",
34
+ variant: "ghost",
35
+ label: copyLabel,
36
+ onClick: handleCopy,
37
+ children: /*#__PURE__*/ jsxRuntime.jsx(icons.Duplicate, {})
38
+ })
39
+ });
40
+ };
41
+ const commands = {
42
+ yarn: {
43
+ link: 'yarn strapi link',
44
+ deploy: 'yarn strapi deploy'
45
+ },
46
+ npm: {
47
+ link: 'npm run strapi link',
48
+ deploy: 'npm run strapi deploy'
49
+ }
50
+ };
51
+ const CLIDeployTabs = ()=>{
52
+ const { formatMessage } = reactIntl.useIntl();
53
+ return /*#__PURE__*/ jsxRuntime.jsx(designSystem.Box, {
54
+ minWidth: "28em",
55
+ maxWidth: "28em",
56
+ paddingTop: 8,
57
+ children: /*#__PURE__*/ jsxRuntime.jsxs(designSystem.Tabs.Root, {
58
+ defaultValue: "yarn",
59
+ children: [
60
+ /*#__PURE__*/ jsxRuntime.jsxs(designSystem.Tabs.List, {
61
+ "aria-label": formatMessage({
62
+ id: getTrad.getTrad('Homepage.deploy.cli.ariaLabel'),
63
+ defaultMessage: 'Package manager'
64
+ }),
65
+ children: [
66
+ /*#__PURE__*/ jsxRuntime.jsx(designSystem.Tabs.Trigger, {
67
+ value: "yarn",
68
+ children: /*#__PURE__*/ jsxRuntime.jsx(designSystem.Typography, {
69
+ variant: "omega",
70
+ children: "Yarn"
71
+ })
72
+ }),
73
+ /*#__PURE__*/ jsxRuntime.jsx(designSystem.Tabs.Trigger, {
74
+ value: "npm",
75
+ children: /*#__PURE__*/ jsxRuntime.jsx(designSystem.Typography, {
76
+ variant: "omega",
77
+ children: "NPM"
78
+ })
79
+ })
80
+ ]
81
+ }),
82
+ [
83
+ 'yarn',
84
+ 'npm'
85
+ ].map((packageManager)=>/*#__PURE__*/ jsxRuntime.jsx(designSystem.Tabs.Content, {
86
+ value: packageManager,
87
+ children: /*#__PURE__*/ jsxRuntime.jsx(designSystem.Box, {
88
+ background: "neutral100",
89
+ children: /*#__PURE__*/ jsxRuntime.jsx(designSystem.Box, {
90
+ padding: 4,
91
+ children: /*#__PURE__*/ jsxRuntime.jsxs(designSystem.Flex, {
92
+ direction: "column",
93
+ gap: 4,
94
+ children: [
95
+ /*#__PURE__*/ jsxRuntime.jsxs(designSystem.Flex, {
96
+ direction: "row",
97
+ justifyContent: "space-between",
98
+ alignItems: "center",
99
+ gap: 2,
100
+ children: [
101
+ /*#__PURE__*/ jsxRuntime.jsx(designSystem.Typography, {
102
+ tag: "code",
103
+ textColor: "neutral800",
104
+ children: commands[packageManager].link
105
+ }),
106
+ /*#__PURE__*/ jsxRuntime.jsx(CopyCommandButton, {
107
+ command: commands[packageManager].link
108
+ })
109
+ ]
110
+ }),
111
+ /*#__PURE__*/ jsxRuntime.jsxs(designSystem.Flex, {
112
+ direction: "row",
113
+ justifyContent: "space-between",
114
+ alignItems: "center",
115
+ gap: 2,
116
+ children: [
117
+ /*#__PURE__*/ jsxRuntime.jsx(designSystem.Typography, {
118
+ tag: "code",
119
+ textColor: "neutral800",
120
+ children: commands[packageManager].deploy
121
+ }),
122
+ /*#__PURE__*/ jsxRuntime.jsx(CopyCommandButton, {
123
+ command: commands[packageManager].deploy
124
+ })
125
+ ]
126
+ })
127
+ ]
128
+ })
129
+ })
130
+ })
131
+ }, packageManager))
132
+ ]
133
+ })
134
+ });
135
+ };
136
+
137
+ exports.CLIDeployTabs = CLIDeployTabs;
138
+ //# sourceMappingURL=CLIDeployTabs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CLIDeployTabs.js","sources":["../../../admin/src/components/CLIDeployTabs.tsx"],"sourcesContent":["import { useClipboard, useNotification } from '@strapi/admin/strapi-admin';\nimport { Box, Typography, Tabs, IconButton, Flex, Tooltip } from '@strapi/design-system';\nimport { Duplicate } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\n\nimport { getTrad } from '../utils/getTrad';\n\nconst CopyCommandButton = ({ command }: { command: string }) => {\n const { formatMessage } = useIntl();\n const { toggleNotification } = useNotification();\n const { copy } = useClipboard();\n\n const copyLabel = formatMessage({\n id: getTrad('Homepage.deploy.cli.copy'),\n defaultMessage: 'Copy',\n });\n\n const handleCopy = async () => {\n const didCopy = await copy(command);\n\n if (didCopy) {\n toggleNotification({\n type: 'success',\n message: formatMessage({\n id: getTrad('Homepage.deploy.cli.copySuccess'),\n defaultMessage: 'Command copied to clipboard',\n }),\n });\n }\n };\n\n return (\n <Tooltip label={copyLabel}>\n <IconButton size=\"XS\" variant=\"ghost\" label={copyLabel} onClick={handleCopy}>\n <Duplicate />\n </IconButton>\n </Tooltip>\n );\n};\n\nconst commands: Record<'yarn' | 'npm', { link: string; deploy: string }> = {\n yarn: {\n link: 'yarn strapi link',\n deploy: 'yarn strapi deploy',\n },\n npm: {\n link: 'npm run strapi link',\n deploy: 'npm run strapi deploy',\n },\n};\n\nconst CLIDeployTabs = () => {\n const { formatMessage } = useIntl();\n\n return (\n <Box minWidth=\"28em\" maxWidth=\"28em\" paddingTop={8}>\n <Tabs.Root defaultValue=\"yarn\">\n <Tabs.List\n aria-label={formatMessage({\n id: getTrad('Homepage.deploy.cli.ariaLabel'),\n defaultMessage: 'Package manager',\n })}\n >\n <Tabs.Trigger value=\"yarn\">\n <Typography variant=\"omega\">Yarn</Typography>\n </Tabs.Trigger>\n <Tabs.Trigger value=\"npm\">\n <Typography variant=\"omega\">NPM</Typography>\n </Tabs.Trigger>\n </Tabs.List>\n\n {(['yarn', 'npm'] as const).map((packageManager) => (\n <Tabs.Content key={packageManager} value={packageManager}>\n <Box background=\"neutral100\">\n <Box padding={4}>\n <Flex direction=\"column\" gap={4}>\n <Flex direction=\"row\" justifyContent=\"space-between\" alignItems=\"center\" gap={2}>\n <Typography tag=\"code\" textColor=\"neutral800\">\n {commands[packageManager].link}\n </Typography>\n <CopyCommandButton command={commands[packageManager].link} />\n </Flex>\n <Flex direction=\"row\" justifyContent=\"space-between\" alignItems=\"center\" gap={2}>\n <Typography tag=\"code\" textColor=\"neutral800\">\n {commands[packageManager].deploy}\n </Typography>\n <CopyCommandButton command={commands[packageManager].deploy} />\n </Flex>\n </Flex>\n </Box>\n </Box>\n </Tabs.Content>\n ))}\n </Tabs.Root>\n </Box>\n );\n};\n\nexport { CLIDeployTabs };\n"],"names":["CopyCommandButton","command","formatMessage","useIntl","toggleNotification","useNotification","copy","useClipboard","copyLabel","id","getTrad","defaultMessage","handleCopy","didCopy","type","message","_jsx","Tooltip","label","IconButton","size","variant","onClick","Duplicate","commands","yarn","link","deploy","npm","CLIDeployTabs","Box","minWidth","maxWidth","paddingTop","_jsxs","Tabs","Root","defaultValue","List","aria-label","Trigger","value","Typography","map","packageManager","Content","background","padding","Flex","direction","gap","justifyContent","alignItems","tag","textColor"],"mappings":";;;;;;;;;AAOA,MAAMA,iBAAAA,GAAoB,CAAC,EAAEC,OAAO,EAAuB,GAAA;IACzD,MAAM,EAAEC,aAAa,EAAE,GAAGC,iBAAAA,EAAAA;IAC1B,MAAM,EAAEC,kBAAkB,EAAE,GAAGC,2BAAAA,EAAAA;IAC/B,MAAM,EAAEC,IAAI,EAAE,GAAGC,wBAAAA,EAAAA;AAEjB,IAAA,MAAMC,YAAYN,aAAAA,CAAc;AAC9BO,QAAAA,EAAAA,EAAIC,eAAAA,CAAQ,0BAAA,CAAA;QACZC,cAAAA,EAAgB;AAClB,KAAA,CAAA;AAEA,IAAA,MAAMC,UAAAA,GAAa,UAAA;QACjB,MAAMC,OAAAA,GAAU,MAAMP,IAAAA,CAAKL,OAAAA,CAAAA;AAE3B,QAAA,IAAIY,OAAAA,EAAS;YACXT,kBAAAA,CAAmB;gBACjBU,IAAAA,EAAM,SAAA;AACNC,gBAAAA,OAAAA,EAASb,aAAAA,CAAc;AACrBO,oBAAAA,EAAAA,EAAIC,eAAAA,CAAQ,iCAAA,CAAA;oBACZC,cAAAA,EAAgB;AAClB,iBAAA;AACF,aAAA,CAAA;AACF,QAAA;AACF,IAAA,CAAA;AAEA,IAAA,qBACEK,cAAA,CAACC,oBAAAA,EAAAA;QAAQC,KAAAA,EAAOV,SAAAA;AACd,QAAA,QAAA,gBAAAQ,cAAA,CAACG,uBAAAA,EAAAA;YAAWC,IAAAA,EAAK,IAAA;YAAKC,OAAAA,EAAQ,OAAA;YAAQH,KAAAA,EAAOV,SAAAA;YAAWc,OAAAA,EAASV,UAAAA;AAC/D,YAAA,QAAA,gBAAAI,cAAA,CAACO,eAAAA,EAAAA,EAAAA;;;AAIT,CAAA;AAEA,MAAMC,QAAAA,GAAqE;IACzEC,IAAAA,EAAM;QACJC,IAAAA,EAAM,kBAAA;QACNC,MAAAA,EAAQ;AACV,KAAA;IACAC,GAAAA,EAAK;QACHF,IAAAA,EAAM,qBAAA;QACNC,MAAAA,EAAQ;AACV;AACF,CAAA;AAEA,MAAME,aAAAA,GAAgB,IAAA;IACpB,MAAM,EAAE3B,aAAa,EAAE,GAAGC,iBAAAA,EAAAA;AAE1B,IAAA,qBACEa,cAAA,CAACc,gBAAAA,EAAAA;QAAIC,QAAAA,EAAS,MAAA;QAAOC,QAAAA,EAAS,MAAA;QAAOC,UAAAA,EAAY,CAAA;gCAC/CC,eAAA,CAACC,kBAAKC,IAAI,EAAA;YAACC,YAAAA,EAAa,MAAA;;AACtB,8BAAAH,eAAA,CAACC,kBAAKG,IAAI,EAAA;AACRC,oBAAAA,YAAAA,EAAYrC,aAAAA,CAAc;AACxBO,wBAAAA,EAAAA,EAAIC,eAAAA,CAAQ,+BAAA,CAAA;wBACZC,cAAAA,EAAgB;AAClB,qBAAA,CAAA;;AAEA,sCAAAK,cAAA,CAACmB,kBAAKK,OAAO,EAAA;4BAACC,KAAAA,EAAM,MAAA;AAClB,4BAAA,QAAA,gBAAAzB,cAAA,CAAC0B,uBAAAA,EAAAA;gCAAWrB,OAAAA,EAAQ,OAAA;AAAQ,gCAAA,QAAA,EAAA;;;AAE9B,sCAAAL,cAAA,CAACmB,kBAAKK,OAAO,EAAA;4BAACC,KAAAA,EAAM,KAAA;AAClB,4BAAA,QAAA,gBAAAzB,cAAA,CAAC0B,uBAAAA,EAAAA;gCAAWrB,OAAAA,EAAQ,OAAA;AAAQ,gCAAA,QAAA,EAAA;;;;;AAI9B,gBAAA;AAAC,oBAAA,MAAA;AAAQ,oBAAA;AAAM,iBAAA,CAAWsB,GAAG,CAAC,CAACC,cAAAA,iBAC/B5B,cAAA,CAACmB,kBAAKU,OAAO,EAAA;wBAAsBJ,KAAAA,EAAOG,cAAAA;AACxC,wBAAA,QAAA,gBAAA5B,cAAA,CAACc,gBAAAA,EAAAA;4BAAIgB,UAAAA,EAAW,YAAA;AACd,4BAAA,QAAA,gBAAA9B,cAAA,CAACc,gBAAAA,EAAAA;gCAAIiB,OAAAA,EAAS,CAAA;AACZ,gCAAA,QAAA,gBAAAb,eAAA,CAACc,iBAAAA,EAAAA;oCAAKC,SAAAA,EAAU,QAAA;oCAASC,GAAAA,EAAK,CAAA;;sDAC5BhB,eAAA,CAACc,iBAAAA,EAAAA;4CAAKC,SAAAA,EAAU,KAAA;4CAAME,cAAAA,EAAe,eAAA;4CAAgBC,UAAAA,EAAW,QAAA;4CAASF,GAAAA,EAAK,CAAA;;8DAC5ElC,cAAA,CAAC0B,uBAAAA,EAAAA;oDAAWW,GAAAA,EAAI,MAAA;oDAAOC,SAAAA,EAAU,YAAA;8DAC9B9B,QAAQ,CAACoB,cAAAA,CAAe,CAAClB;;8DAE5BV,cAAA,CAAChB,iBAAAA,EAAAA;AAAkBC,oDAAAA,OAAAA,EAASuB,QAAQ,CAACoB,cAAAA,CAAe,CAAClB;;;;sDAEvDQ,eAAA,CAACc,iBAAAA,EAAAA;4CAAKC,SAAAA,EAAU,KAAA;4CAAME,cAAAA,EAAe,eAAA;4CAAgBC,UAAAA,EAAW,QAAA;4CAASF,GAAAA,EAAK,CAAA;;8DAC5ElC,cAAA,CAAC0B,uBAAAA,EAAAA;oDAAWW,GAAAA,EAAI,MAAA;oDAAOC,SAAAA,EAAU,YAAA;8DAC9B9B,QAAQ,CAACoB,cAAAA,CAAe,CAACjB;;8DAE5BX,cAAA,CAAChB,iBAAAA,EAAAA;AAAkBC,oDAAAA,OAAAA,EAASuB,QAAQ,CAACoB,cAAAA,CAAe,CAACjB;;;;;;;;AAd5CiB,qBAAAA,EAAAA,cAAAA,CAAAA;;;;AAwB7B;;;;"}
@@ -0,0 +1,136 @@
1
+ import { jsx, jsxs } from 'react/jsx-runtime';
2
+ import { useNotification, useClipboard } from '@strapi/admin/strapi-admin';
3
+ import { Box, Tabs, Typography, Flex, Tooltip, IconButton } from '@strapi/design-system';
4
+ import { Duplicate } from '@strapi/icons';
5
+ import { useIntl } from 'react-intl';
6
+ import { getTrad } from '../utils/getTrad.mjs';
7
+
8
+ const CopyCommandButton = ({ command })=>{
9
+ const { formatMessage } = useIntl();
10
+ const { toggleNotification } = useNotification();
11
+ const { copy } = useClipboard();
12
+ const copyLabel = formatMessage({
13
+ id: getTrad('Homepage.deploy.cli.copy'),
14
+ defaultMessage: 'Copy'
15
+ });
16
+ const handleCopy = async ()=>{
17
+ const didCopy = await copy(command);
18
+ if (didCopy) {
19
+ toggleNotification({
20
+ type: 'success',
21
+ message: formatMessage({
22
+ id: getTrad('Homepage.deploy.cli.copySuccess'),
23
+ defaultMessage: 'Command copied to clipboard'
24
+ })
25
+ });
26
+ }
27
+ };
28
+ return /*#__PURE__*/ jsx(Tooltip, {
29
+ label: copyLabel,
30
+ children: /*#__PURE__*/ jsx(IconButton, {
31
+ size: "XS",
32
+ variant: "ghost",
33
+ label: copyLabel,
34
+ onClick: handleCopy,
35
+ children: /*#__PURE__*/ jsx(Duplicate, {})
36
+ })
37
+ });
38
+ };
39
+ const commands = {
40
+ yarn: {
41
+ link: 'yarn strapi link',
42
+ deploy: 'yarn strapi deploy'
43
+ },
44
+ npm: {
45
+ link: 'npm run strapi link',
46
+ deploy: 'npm run strapi deploy'
47
+ }
48
+ };
49
+ const CLIDeployTabs = ()=>{
50
+ const { formatMessage } = useIntl();
51
+ return /*#__PURE__*/ jsx(Box, {
52
+ minWidth: "28em",
53
+ maxWidth: "28em",
54
+ paddingTop: 8,
55
+ children: /*#__PURE__*/ jsxs(Tabs.Root, {
56
+ defaultValue: "yarn",
57
+ children: [
58
+ /*#__PURE__*/ jsxs(Tabs.List, {
59
+ "aria-label": formatMessage({
60
+ id: getTrad('Homepage.deploy.cli.ariaLabel'),
61
+ defaultMessage: 'Package manager'
62
+ }),
63
+ children: [
64
+ /*#__PURE__*/ jsx(Tabs.Trigger, {
65
+ value: "yarn",
66
+ children: /*#__PURE__*/ jsx(Typography, {
67
+ variant: "omega",
68
+ children: "Yarn"
69
+ })
70
+ }),
71
+ /*#__PURE__*/ jsx(Tabs.Trigger, {
72
+ value: "npm",
73
+ children: /*#__PURE__*/ jsx(Typography, {
74
+ variant: "omega",
75
+ children: "NPM"
76
+ })
77
+ })
78
+ ]
79
+ }),
80
+ [
81
+ 'yarn',
82
+ 'npm'
83
+ ].map((packageManager)=>/*#__PURE__*/ jsx(Tabs.Content, {
84
+ value: packageManager,
85
+ children: /*#__PURE__*/ jsx(Box, {
86
+ background: "neutral100",
87
+ children: /*#__PURE__*/ jsx(Box, {
88
+ padding: 4,
89
+ children: /*#__PURE__*/ jsxs(Flex, {
90
+ direction: "column",
91
+ gap: 4,
92
+ children: [
93
+ /*#__PURE__*/ jsxs(Flex, {
94
+ direction: "row",
95
+ justifyContent: "space-between",
96
+ alignItems: "center",
97
+ gap: 2,
98
+ children: [
99
+ /*#__PURE__*/ jsx(Typography, {
100
+ tag: "code",
101
+ textColor: "neutral800",
102
+ children: commands[packageManager].link
103
+ }),
104
+ /*#__PURE__*/ jsx(CopyCommandButton, {
105
+ command: commands[packageManager].link
106
+ })
107
+ ]
108
+ }),
109
+ /*#__PURE__*/ jsxs(Flex, {
110
+ direction: "row",
111
+ justifyContent: "space-between",
112
+ alignItems: "center",
113
+ gap: 2,
114
+ children: [
115
+ /*#__PURE__*/ jsx(Typography, {
116
+ tag: "code",
117
+ textColor: "neutral800",
118
+ children: commands[packageManager].deploy
119
+ }),
120
+ /*#__PURE__*/ jsx(CopyCommandButton, {
121
+ command: commands[packageManager].deploy
122
+ })
123
+ ]
124
+ })
125
+ ]
126
+ })
127
+ })
128
+ })
129
+ }, packageManager))
130
+ ]
131
+ })
132
+ });
133
+ };
134
+
135
+ export { CLIDeployTabs };
136
+ //# sourceMappingURL=CLIDeployTabs.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CLIDeployTabs.mjs","sources":["../../../admin/src/components/CLIDeployTabs.tsx"],"sourcesContent":["import { useClipboard, useNotification } from '@strapi/admin/strapi-admin';\nimport { Box, Typography, Tabs, IconButton, Flex, Tooltip } from '@strapi/design-system';\nimport { Duplicate } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\n\nimport { getTrad } from '../utils/getTrad';\n\nconst CopyCommandButton = ({ command }: { command: string }) => {\n const { formatMessage } = useIntl();\n const { toggleNotification } = useNotification();\n const { copy } = useClipboard();\n\n const copyLabel = formatMessage({\n id: getTrad('Homepage.deploy.cli.copy'),\n defaultMessage: 'Copy',\n });\n\n const handleCopy = async () => {\n const didCopy = await copy(command);\n\n if (didCopy) {\n toggleNotification({\n type: 'success',\n message: formatMessage({\n id: getTrad('Homepage.deploy.cli.copySuccess'),\n defaultMessage: 'Command copied to clipboard',\n }),\n });\n }\n };\n\n return (\n <Tooltip label={copyLabel}>\n <IconButton size=\"XS\" variant=\"ghost\" label={copyLabel} onClick={handleCopy}>\n <Duplicate />\n </IconButton>\n </Tooltip>\n );\n};\n\nconst commands: Record<'yarn' | 'npm', { link: string; deploy: string }> = {\n yarn: {\n link: 'yarn strapi link',\n deploy: 'yarn strapi deploy',\n },\n npm: {\n link: 'npm run strapi link',\n deploy: 'npm run strapi deploy',\n },\n};\n\nconst CLIDeployTabs = () => {\n const { formatMessage } = useIntl();\n\n return (\n <Box minWidth=\"28em\" maxWidth=\"28em\" paddingTop={8}>\n <Tabs.Root defaultValue=\"yarn\">\n <Tabs.List\n aria-label={formatMessage({\n id: getTrad('Homepage.deploy.cli.ariaLabel'),\n defaultMessage: 'Package manager',\n })}\n >\n <Tabs.Trigger value=\"yarn\">\n <Typography variant=\"omega\">Yarn</Typography>\n </Tabs.Trigger>\n <Tabs.Trigger value=\"npm\">\n <Typography variant=\"omega\">NPM</Typography>\n </Tabs.Trigger>\n </Tabs.List>\n\n {(['yarn', 'npm'] as const).map((packageManager) => (\n <Tabs.Content key={packageManager} value={packageManager}>\n <Box background=\"neutral100\">\n <Box padding={4}>\n <Flex direction=\"column\" gap={4}>\n <Flex direction=\"row\" justifyContent=\"space-between\" alignItems=\"center\" gap={2}>\n <Typography tag=\"code\" textColor=\"neutral800\">\n {commands[packageManager].link}\n </Typography>\n <CopyCommandButton command={commands[packageManager].link} />\n </Flex>\n <Flex direction=\"row\" justifyContent=\"space-between\" alignItems=\"center\" gap={2}>\n <Typography tag=\"code\" textColor=\"neutral800\">\n {commands[packageManager].deploy}\n </Typography>\n <CopyCommandButton command={commands[packageManager].deploy} />\n </Flex>\n </Flex>\n </Box>\n </Box>\n </Tabs.Content>\n ))}\n </Tabs.Root>\n </Box>\n );\n};\n\nexport { CLIDeployTabs };\n"],"names":["CopyCommandButton","command","formatMessage","useIntl","toggleNotification","useNotification","copy","useClipboard","copyLabel","id","getTrad","defaultMessage","handleCopy","didCopy","type","message","_jsx","Tooltip","label","IconButton","size","variant","onClick","Duplicate","commands","yarn","link","deploy","npm","CLIDeployTabs","Box","minWidth","maxWidth","paddingTop","_jsxs","Tabs","Root","defaultValue","List","aria-label","Trigger","value","Typography","map","packageManager","Content","background","padding","Flex","direction","gap","justifyContent","alignItems","tag","textColor"],"mappings":"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"}
@@ -0,0 +1,207 @@
1
+ 'use strict';
2
+
3
+ var jsxRuntime = require('react/jsx-runtime');
4
+ var designSystem = require('@strapi/design-system');
5
+ var icons = require('@strapi/icons');
6
+ var reactIntl = require('react-intl');
7
+ var CLIDeployTabs = require('./CLIDeployTabs.js');
8
+ var getTrad = require('../utils/getTrad.js');
9
+
10
+ const CloudDeploy = ()=>{
11
+ const { formatMessage } = reactIntl.useIntl();
12
+ const documentationLink = formatMessage({
13
+ id: getTrad.getTrad('Homepage.deploy.documentation'),
14
+ defaultMessage: 'Having trouble? Check our documentation'
15
+ });
16
+ return /*#__PURE__*/ jsxRuntime.jsxs(designSystem.Box, {
17
+ paddingBottom: 5,
18
+ children: [
19
+ /*#__PURE__*/ jsxRuntime.jsx(designSystem.Flex, {
20
+ direction: "column",
21
+ children: /*#__PURE__*/ jsxRuntime.jsx(designSystem.Typography, {
22
+ variant: "delta",
23
+ paddingBottom: 5,
24
+ paddingTop: 2,
25
+ children: formatMessage({
26
+ id: getTrad.getTrad('Homepage.deploy.title'),
27
+ defaultMessage: 'Choose your preferred deployment method'
28
+ })
29
+ })
30
+ }),
31
+ /*#__PURE__*/ jsxRuntime.jsxs(designSystem.Tabs.Root, {
32
+ defaultValue: "cloud",
33
+ variant: "simple",
34
+ children: [
35
+ /*#__PURE__*/ jsxRuntime.jsx(designSystem.Flex, {
36
+ direction: "column",
37
+ children: /*#__PURE__*/ jsxRuntime.jsxs(designSystem.Tabs.List, {
38
+ "aria-label": formatMessage({
39
+ id: getTrad.getTrad('Homepage.deploy.ariaLabel'),
40
+ defaultMessage: 'Deployment options'
41
+ }),
42
+ children: [
43
+ /*#__PURE__*/ jsxRuntime.jsx(designSystem.Tabs.Trigger, {
44
+ value: "cloud",
45
+ children: /*#__PURE__*/ jsxRuntime.jsx(designSystem.Box, {
46
+ minWidth: {
47
+ initial: '10em',
48
+ medium: '20em'
49
+ },
50
+ children: /*#__PURE__*/ jsxRuntime.jsxs(designSystem.Flex, {
51
+ direction: "row",
52
+ gap: 2,
53
+ justifyContent: "center",
54
+ children: [
55
+ /*#__PURE__*/ jsxRuntime.jsx(designSystem.Typography, {
56
+ variant: "omega",
57
+ children: "Cloud"
58
+ }),
59
+ /*#__PURE__*/ jsxRuntime.jsx(designSystem.Badge, {
60
+ active: true,
61
+ children: formatMessage({
62
+ id: getTrad.getTrad('Homepage.deploy.git.badge'),
63
+ defaultMessage: 'Recommended'
64
+ })
65
+ })
66
+ ]
67
+ })
68
+ })
69
+ }),
70
+ /*#__PURE__*/ jsxRuntime.jsx(designSystem.Tabs.Trigger, {
71
+ value: "cli",
72
+ children: /*#__PURE__*/ jsxRuntime.jsx(designSystem.Box, {
73
+ minWidth: {
74
+ initial: '10em',
75
+ medium: '20em'
76
+ },
77
+ children: /*#__PURE__*/ jsxRuntime.jsx(designSystem.Flex, {
78
+ justifyContent: "center",
79
+ children: /*#__PURE__*/ jsxRuntime.jsx(designSystem.Typography, {
80
+ variant: "omega",
81
+ children: "CLI"
82
+ })
83
+ })
84
+ })
85
+ })
86
+ ]
87
+ })
88
+ }),
89
+ /*#__PURE__*/ jsxRuntime.jsxs(designSystem.Box, {
90
+ children: [
91
+ /*#__PURE__*/ jsxRuntime.jsx(designSystem.Tabs.Content, {
92
+ value: "cloud",
93
+ children: /*#__PURE__*/ jsxRuntime.jsxs(designSystem.Flex, {
94
+ direction: "column",
95
+ paddingTop: 6,
96
+ children: [
97
+ /*#__PURE__*/ jsxRuntime.jsx(designSystem.Box, {
98
+ children: /*#__PURE__*/ jsxRuntime.jsx(designSystem.BaseLink, {
99
+ isExternal: true,
100
+ href: "https://cloud.strapi.io/login?utm_campaign=Strapi%20Cloud%20Plugin&utm_source=In-Product&utm_medium=CTA",
101
+ children: /*#__PURE__*/ jsxRuntime.jsx(icons.CloudUpload, {
102
+ height: 40,
103
+ width: 40,
104
+ fill: "buttonPrimary600"
105
+ })
106
+ })
107
+ }),
108
+ /*#__PURE__*/ jsxRuntime.jsx(designSystem.Box, {
109
+ paddingBottom: 2,
110
+ paddingTop: 5,
111
+ children: /*#__PURE__*/ jsxRuntime.jsx(designSystem.Typography, {
112
+ variant: "delta",
113
+ textColor: "neutral1000",
114
+ children: formatMessage({
115
+ id: getTrad.getTrad('Homepage.deploy.git.title'),
116
+ defaultMessage: 'Deploy to Strapi Cloud'
117
+ })
118
+ })
119
+ }),
120
+ /*#__PURE__*/ jsxRuntime.jsx(designSystem.Typography, {
121
+ variant: "omega",
122
+ textColor: "neutral600",
123
+ children: formatMessage({
124
+ id: getTrad.getTrad('Homepage.deploy.git.subTitle'),
125
+ defaultMessage: 'Deploy a GitHub or GitLab project directly within Strapi Cloud'
126
+ })
127
+ }),
128
+ /*#__PURE__*/ jsxRuntime.jsx(designSystem.Box, {
129
+ paddingTop: 8,
130
+ children: /*#__PURE__*/ jsxRuntime.jsx(designSystem.LinkButton, {
131
+ variant: "default",
132
+ endIcon: /*#__PURE__*/ jsxRuntime.jsx(icons.ExternalLink, {
133
+ fill: "neutral0"
134
+ }),
135
+ href: "https://cloud.strapi.io/login?utm_campaign=Strapi%20Cloud%20Plugin&utm_source=In-Product&utm_medium=CTA",
136
+ isExternal: true,
137
+ size: "M",
138
+ children: formatMessage({
139
+ id: getTrad.getTrad('Homepage.deploy.git.button'),
140
+ defaultMessage: 'Deploy to Strapi Cloud'
141
+ })
142
+ })
143
+ }),
144
+ /*#__PURE__*/ jsxRuntime.jsx(designSystem.Box, {
145
+ paddingTop: 5,
146
+ children: /*#__PURE__*/ jsxRuntime.jsx(designSystem.Link, {
147
+ isExternal: true,
148
+ href: "https://docs.strapi.io/cloud/getting-started/deployment",
149
+ children: documentationLink
150
+ })
151
+ })
152
+ ]
153
+ })
154
+ }),
155
+ /*#__PURE__*/ jsxRuntime.jsx(designSystem.Tabs.Content, {
156
+ value: "cli",
157
+ children: /*#__PURE__*/ jsxRuntime.jsxs(designSystem.Flex, {
158
+ direction: "column",
159
+ paddingTop: 6,
160
+ children: [
161
+ /*#__PURE__*/ jsxRuntime.jsx(icons.Code, {
162
+ height: 40,
163
+ width: 40,
164
+ fill: "buttonPrimary600"
165
+ }),
166
+ /*#__PURE__*/ jsxRuntime.jsx(designSystem.Box, {
167
+ paddingBottom: 2,
168
+ paddingTop: 5,
169
+ children: /*#__PURE__*/ jsxRuntime.jsx(designSystem.Typography, {
170
+ variant: "delta",
171
+ textColor: "neutral1000",
172
+ children: formatMessage({
173
+ id: getTrad.getTrad('Homepage.deploy.cli.title'),
174
+ defaultMessage: 'Deploy via CLI'
175
+ })
176
+ })
177
+ }),
178
+ /*#__PURE__*/ jsxRuntime.jsx(designSystem.Typography, {
179
+ variant: "omega",
180
+ textColor: "neutral600",
181
+ children: formatMessage({
182
+ id: getTrad.getTrad('Homepage.deploy.cli.subTitle'),
183
+ defaultMessage: 'Use the command line to link your project to an existing Strapi Cloud project, and deploy your changes directly from the CLI.'
184
+ })
185
+ }),
186
+ /*#__PURE__*/ jsxRuntime.jsx(CLIDeployTabs.CLIDeployTabs, {}),
187
+ /*#__PURE__*/ jsxRuntime.jsx(designSystem.Box, {
188
+ paddingTop: 5,
189
+ children: /*#__PURE__*/ jsxRuntime.jsx(designSystem.Link, {
190
+ isExternal: true,
191
+ href: "https://docs.strapi.io/cloud/getting-started/deployment-cli",
192
+ children: documentationLink
193
+ })
194
+ })
195
+ ]
196
+ })
197
+ })
198
+ ]
199
+ })
200
+ ]
201
+ })
202
+ ]
203
+ });
204
+ };
205
+
206
+ exports.CloudDeploy = CloudDeploy;
207
+ //# sourceMappingURL=CloudDeploy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CloudDeploy.js","sources":["../../../admin/src/components/CloudDeploy.tsx"],"sourcesContent":["/*\n *\n * Cloud component\n *\n */\n\nimport {\n Box,\n Flex,\n Typography,\n Link,\n LinkButton,\n Tabs,\n Badge,\n BaseLink,\n} from '@strapi/design-system';\nimport { ExternalLink, CloudUpload, Code } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\n\nimport { CLIDeployTabs } from '../components/CLIDeployTabs';\nimport { getTrad } from '../utils/getTrad';\n\nconst CloudDeploy = () => {\n const { formatMessage } = useIntl();\n\n const documentationLink = formatMessage({\n id: getTrad('Homepage.deploy.documentation'),\n defaultMessage: 'Having trouble? Check our documentation',\n });\n\n return (\n <Box paddingBottom={5}>\n <Flex direction=\"column\">\n <Typography variant=\"delta\" paddingBottom={5} paddingTop={2}>\n {formatMessage({\n id: getTrad('Homepage.deploy.title'),\n defaultMessage: 'Choose your preferred deployment method',\n })}\n </Typography>\n </Flex>\n\n <Tabs.Root defaultValue=\"cloud\" variant=\"simple\">\n <Flex direction=\"column\">\n <Tabs.List\n aria-label={formatMessage({\n id: getTrad('Homepage.deploy.ariaLabel'),\n defaultMessage: 'Deployment options',\n })}\n >\n <Tabs.Trigger value=\"cloud\">\n <Box minWidth={{ initial: '10em', medium: '20em' }}>\n <Flex direction=\"row\" gap={2} justifyContent=\"center\">\n <Typography variant=\"omega\">Cloud</Typography>\n <Badge active>\n {formatMessage({\n id: getTrad('Homepage.deploy.git.badge'),\n defaultMessage: 'Recommended',\n })}\n </Badge>\n </Flex>\n </Box>\n </Tabs.Trigger>\n\n <Tabs.Trigger value=\"cli\">\n <Box minWidth={{ initial: '10em', medium: '20em' }}>\n <Flex justifyContent=\"center\">\n <Typography variant=\"omega\">CLI</Typography>\n </Flex>\n </Box>\n </Tabs.Trigger>\n </Tabs.List>\n </Flex>\n\n <Box>\n <Tabs.Content value=\"cloud\">\n <Flex direction=\"column\" paddingTop={6}>\n <Box>\n <BaseLink\n isExternal\n href=\"https://cloud.strapi.io/login?utm_campaign=Strapi%20Cloud%20Plugin&utm_source=In-Product&utm_medium=CTA\"\n >\n <CloudUpload height={40} width={40} fill=\"buttonPrimary600\" />\n </BaseLink>\n </Box>\n <Box paddingBottom={2} paddingTop={5}>\n <Typography variant=\"delta\" textColor=\"neutral1000\">\n {formatMessage({\n id: getTrad('Homepage.deploy.git.title'),\n defaultMessage: 'Deploy to Strapi Cloud',\n })}\n </Typography>\n </Box>\n <Typography variant=\"omega\" textColor=\"neutral600\">\n {formatMessage({\n id: getTrad('Homepage.deploy.git.subTitle'),\n defaultMessage: 'Deploy a GitHub or GitLab project directly within Strapi Cloud',\n })}\n </Typography>\n <Box paddingTop={8}>\n <LinkButton\n variant=\"default\"\n endIcon={<ExternalLink fill=\"neutral0\" />}\n href=\"https://cloud.strapi.io/login?utm_campaign=Strapi%20Cloud%20Plugin&utm_source=In-Product&utm_medium=CTA\"\n isExternal\n size=\"M\"\n >\n {formatMessage({\n id: getTrad('Homepage.deploy.git.button'),\n defaultMessage: 'Deploy to Strapi Cloud',\n })}\n </LinkButton>\n </Box>\n <Box paddingTop={5}>\n <Link isExternal href=\"https://docs.strapi.io/cloud/getting-started/deployment\">\n {documentationLink}\n </Link>\n </Box>\n </Flex>\n </Tabs.Content>\n\n <Tabs.Content value=\"cli\">\n <Flex direction=\"column\" paddingTop={6}>\n <Code height={40} width={40} fill=\"buttonPrimary600\" />\n <Box paddingBottom={2} paddingTop={5}>\n <Typography variant=\"delta\" textColor=\"neutral1000\">\n {formatMessage({\n id: getTrad('Homepage.deploy.cli.title'),\n defaultMessage: 'Deploy via CLI',\n })}\n </Typography>\n </Box>\n <Typography variant=\"omega\" textColor=\"neutral600\">\n {formatMessage({\n id: getTrad('Homepage.deploy.cli.subTitle'),\n defaultMessage:\n 'Use the command line to link your project to an existing Strapi Cloud project, and deploy your changes directly from the CLI.',\n })}\n </Typography>\n\n <CLIDeployTabs />\n\n <Box paddingTop={5}>\n <Link isExternal href=\"https://docs.strapi.io/cloud/getting-started/deployment-cli\">\n {documentationLink}\n </Link>\n </Box>\n </Flex>\n </Tabs.Content>\n </Box>\n </Tabs.Root>\n </Box>\n );\n};\n\nexport { CloudDeploy };\n"],"names":["CloudDeploy","formatMessage","useIntl","documentationLink","id","getTrad","defaultMessage","_jsxs","Box","paddingBottom","_jsx","Flex","direction","Typography","variant","paddingTop","Tabs","Root","defaultValue","List","aria-label","Trigger","value","minWidth","initial","medium","gap","justifyContent","Badge","active","Content","BaseLink","isExternal","href","CloudUpload","height","width","fill","textColor","LinkButton","endIcon","ExternalLink","size","Link","Code","CLIDeployTabs"],"mappings":"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"}