create-tina-app 0.1.4 → 0.1.7

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 (41) hide show
  1. package/{examples/tina-tailwind-sidebar-demo/LICENSE → LICENSE} +1 -26
  2. package/dist/index.js +19 -11
  3. package/{examples/tina-tailwind-sidebar-demo/next-env.d.ts → dist/util/preRunChecks.d.ts} +1 -3
  4. package/package.json +11 -10
  5. package/CHANGELOG.md +0 -38
  6. package/examples/tina-tailwind-sidebar-demo/.tina/PageTemplate.ts +0 -427
  7. package/examples/tina-tailwind-sidebar-demo/.tina/ThemeTemplate.ts +0 -42
  8. package/examples/tina-tailwind-sidebar-demo/.tina/__generated__/_graphql.json +0 -4180
  9. package/examples/tina-tailwind-sidebar-demo/.tina/__generated__/_lookup.json +0 -68
  10. package/examples/tina-tailwind-sidebar-demo/.tina/__generated__/_schema.json +0 -851
  11. package/examples/tina-tailwind-sidebar-demo/.tina/__generated__/config/schema.json +0 -479
  12. package/examples/tina-tailwind-sidebar-demo/.tina/__generated__/schema.gql +0 -391
  13. package/examples/tina-tailwind-sidebar-demo/.tina/__generated__/types.ts +0 -520
  14. package/examples/tina-tailwind-sidebar-demo/.tina/schema.ts +0 -35
  15. package/examples/tina-tailwind-sidebar-demo/CHANGELOG.md +0 -95
  16. package/examples/tina-tailwind-sidebar-demo/README.md +0 -10
  17. package/examples/tina-tailwind-sidebar-demo/components/PageBlocks.tsx +0 -25
  18. package/examples/tina-tailwind-sidebar-demo/components/actions.js +0 -114
  19. package/examples/tina-tailwind-sidebar-demo/components/features.tsx +0 -171
  20. package/examples/tina-tailwind-sidebar-demo/components/footer.tsx +0 -247
  21. package/examples/tina-tailwind-sidebar-demo/components/hero.js +0 -156
  22. package/examples/tina-tailwind-sidebar-demo/components/icon.js +0 -264
  23. package/examples/tina-tailwind-sidebar-demo/components/modal.js +0 -79
  24. package/examples/tina-tailwind-sidebar-demo/components/nav.tsx +0 -121
  25. package/examples/tina-tailwind-sidebar-demo/components/section.js +0 -53
  26. package/examples/tina-tailwind-sidebar-demo/components/testimonial.tsx +0 -87
  27. package/examples/tina-tailwind-sidebar-demo/components/theme.tsx +0 -81
  28. package/examples/tina-tailwind-sidebar-demo/components/tina-wrapper.js +0 -85
  29. package/examples/tina-tailwind-sidebar-demo/content/data/homepage.json +0 -186
  30. package/examples/tina-tailwind-sidebar-demo/content/theme/NormalTheme.json +0 -5
  31. package/examples/tina-tailwind-sidebar-demo/graphql.config.js +0 -24
  32. package/examples/tina-tailwind-sidebar-demo/package.json +0 -41
  33. package/examples/tina-tailwind-sidebar-demo/pages/_app.js +0 -48
  34. package/examples/tina-tailwind-sidebar-demo/pages/admin.tsx +0 -26
  35. package/examples/tina-tailwind-sidebar-demo/pages/index.tsx +0 -186
  36. package/examples/tina-tailwind-sidebar-demo/postcss.config.js +0 -19
  37. package/examples/tina-tailwind-sidebar-demo/public/canal.jpg +0 -0
  38. package/examples/tina-tailwind-sidebar-demo/public/index.html +0 -42
  39. package/examples/tina-tailwind-sidebar-demo/styles.css +0 -20
  40. package/examples/tina-tailwind-sidebar-demo/tailwind.config.js +0 -83
  41. package/examples/tina-tailwind-sidebar-demo/tsconfig.json +0 -19
@@ -1,114 +0,0 @@
1
- /**
2
- Copyright 2021 Forestry.io Holdings, Inc.
3
- Licensed under the Apache License, Version 2.0 (the "License");
4
- you may not use this file except in compliance with the License.
5
- You may obtain a copy of the License at
6
- http://www.apache.org/licenses/LICENSE-2.0
7
- Unless required by applicable law or agreed to in writing, software
8
- distributed under the License is distributed on an "AS IS" BASIS,
9
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
10
- See the License for the specific language governing permissions and
11
- limitations under the License.
12
- */
13
-
14
- import * as React from 'react'
15
- import { ThemeContext } from './theme'
16
- import { BiRightArrowAlt } from 'react-icons/bi'
17
-
18
- export const Actions = ({ actions }) => {
19
- const theme = React.useContext(ThemeContext)
20
- return (
21
- <div className="w-full">
22
- <div className="flex flex-wrap items-center -mx-3 -my-2">
23
- {actions &&
24
- actions.map(function (action, index) {
25
- let element = null
26
- if (action.type === 'button') {
27
- element = (
28
- <button
29
- key={index}
30
- className={`z-10 relative flex items-center px-7 py-3 mx-3 my-2 font-semibold text-lg transition duration-150 ease-out text-white transition duration-500 ease-in-out ${
31
- theme?.btnStyle === 'rounded' && `rounded-lg`
32
- } ${
33
- theme?.btnStyle === 'round' && `rounded-full`
34
- } transform bg-${theme.color}-500 hover:bg-${
35
- theme.color
36
- }-600 bg-gradient-to-r from-${theme.color}-400 to-${
37
- theme.color
38
- }-600 focus:shadow-outline focus:outline-none focus:ring-2 ring-offset-current ring-offset-2 whitespace-nowrap`}
39
- style={{
40
- textShadow: '0 2px 5px rgba(0,0,0,0.1)',
41
- boxShadow: `0 0.5rem 3rem 0px rgba(var(--color-rgb-${theme.color}-600),0.35)`,
42
- }}
43
- >
44
- {action.label}
45
- {action.icon && (
46
- <BiRightArrowAlt
47
- className={`ml-1 -mr-1 w-6 h-6 text-${theme.color}-50`}
48
- />
49
- )}
50
- </button>
51
- )
52
- }
53
- if (action.type === 'link' || action.type === 'linkExternal') {
54
- element = (
55
- <a
56
- key={index}
57
- href="#"
58
- className={`inline-flex items-center font-semibold mx-3 my-2 text-lg transition duration-150 ease-out text-${theme.color}-600 dark:text-${theme.color}-400 hover:text-${theme.color}-400 dark:hover:text-${theme.color}-500`}
59
- style={{
60
- textShadow: `0 3px 7px rgba(var(--color-rgb-${theme.color}-400),0.2)`,
61
- }}
62
- >
63
- {action.label}
64
- {action.icon && (
65
- <BiRightArrowAlt
66
- className={`ml-0 mr-0 w-6 h-6 text-${theme.color}-500`}
67
- />
68
- )}
69
- </a>
70
- )
71
- }
72
- return element
73
- })}
74
- </div>
75
- </div>
76
- )
77
- }
78
-
79
- export const ACTION_FIELDS = [
80
- {
81
- label: 'Actions',
82
- name: 'actions',
83
- component: 'group-list',
84
- itemProps: (item) => ({
85
- label: item.label,
86
- }),
87
- defaultItem: () => ({
88
- label: 'Action Label',
89
- type: 'button',
90
- }),
91
- fields: [
92
- {
93
- label: 'Label',
94
- name: 'label',
95
- component: 'text',
96
- },
97
- {
98
- label: 'Type',
99
- name: 'type',
100
- component: 'radio-group',
101
- variant: 'button',
102
- options: [
103
- { label: 'Button', value: 'button' },
104
- { label: 'Link', value: 'link' },
105
- ],
106
- },
107
- {
108
- label: 'Icon',
109
- name: 'icon',
110
- component: 'toggle',
111
- },
112
- ],
113
- },
114
- ]
@@ -1,171 +0,0 @@
1
- /**
2
- Copyright 2021 Forestry.io Holdings, Inc.
3
- Licensed under the Apache License, Version 2.0 (the "License");
4
- you may not use this file except in compliance with the License.
5
- You may obtain a copy of the License at
6
- http://www.apache.org/licenses/LICENSE-2.0
7
- Unless required by applicable law or agreed to in writing, software
8
- distributed under the License is distributed on an "AS IS" BASIS,
9
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
10
- See the License for the specific language governing permissions and
11
- limitations under the License.
12
- */
13
-
14
- import { Icon, ICON_FIELDS } from './icon'
15
- import { Actions, ACTION_FIELDS } from './actions'
16
- import { Section, SectionFields } from './section'
17
- import {
18
- Features_Data,
19
- Features_Items_Data,
20
- } from '../.tina/__generated__/types'
21
-
22
- export const Feature = (data: Features_Items_Data) => {
23
- return (
24
- <div
25
- className="px-8 py-6 w-full xl:w-auto flex-grow xl:flex-shrink"
26
- style={{ flexBasis: '22rem' }}
27
- >
28
- <div className="max-w-lg">
29
- <div className={`mb-6 w-auto inline-block`}>
30
- <Icon icon={data?.icon} />
31
- </div>
32
- <h3 className="mb-4 transition duration-150 ease-out text-2xl font-semibold title-font">
33
- {data?.title}
34
- </h3>
35
- <p className="mb-5 transition duration-150 ease-out text-base opacity-80 leading-relaxed">
36
- {data?.text}
37
- </p>
38
- <Actions actions={data?.actions} />
39
- </div>
40
- </div>
41
- )
42
- }
43
-
44
- export const Features = (props: Features_Data) => {
45
- return (
46
- <Section variant={props?.style?.color || 'blue'}>
47
- <div className="container py-12 lg:py-24 mx-auto">
48
- <div className="flex flex-wrap text-left">
49
- {props.items?.map((item, i) => {
50
- return <Feature key={i} {...item} />
51
- })}
52
- </div>
53
- </div>
54
- </Section>
55
- )
56
- }
57
-
58
- export const features_template = {
59
- label: 'Features',
60
- defaultItem: {
61
- items: [
62
- {
63
- _template: 'feature',
64
- icon: {
65
- color: 'red',
66
- name: 'BiTrophy',
67
- style: 'circle',
68
- },
69
- title: 'Longer Information 1',
70
- text: "By eleven o'clock the next day we were well upon our way to the old English capital.",
71
- actions: [
72
- {
73
- label: 'Learn More',
74
- type: 'link',
75
- icon: 'true',
76
- },
77
- ],
78
- },
79
- {
80
- _template: 'feature',
81
- icon: {
82
- color: 'primary',
83
- name: 'BiPieChartAlt2',
84
- style: 'circle',
85
- },
86
- title: 'Longer Information 2',
87
- text: 'Connect to any data source, edit with Tina. Designed for the Jamstack with a focus on React-based sites. ',
88
- actions: [
89
- {
90
- label: 'Learn More',
91
- type: 'link',
92
- icon: 'true',
93
- },
94
- ],
95
- },
96
- {
97
- _template: 'feature',
98
- icon: {
99
- color: 'yellow',
100
- name: 'BiMapAlt',
101
- style: 'circle',
102
- },
103
- title: 'Longer Information 3',
104
- text: 'Connect to any data source, edit with Tina. Designed for the Jamstack with a focus on React-based sites. ',
105
- actions: [
106
- {
107
- label: 'Learn More',
108
- type: 'link',
109
- icon: 'true',
110
- },
111
- ],
112
- },
113
- ],
114
- style: {
115
- color: 'default',
116
- },
117
- },
118
- fields: [
119
- {
120
- label: 'Features',
121
- name: 'items',
122
- component: 'group-list',
123
- defaultItem: {
124
- icon: {
125
- color: 'primary',
126
- name: '',
127
- style: 'circle',
128
- },
129
- title: 'Feature Heading Text',
130
- text: 'Connect to any data source, edit with Tina. Designed for the Jamstack with a focus on React-based sites. ',
131
- actions: [
132
- {
133
- label: 'Learn More',
134
- type: 'link',
135
- icon: 'true',
136
- },
137
- ],
138
- style: {
139
- color: 'default',
140
- },
141
- },
142
- itemProps: (item) => ({
143
- label: item.title,
144
- }),
145
- fields: [
146
- ...ICON_FIELDS,
147
- {
148
- name: 'title',
149
- label: 'Title',
150
- component: 'text',
151
- },
152
- {
153
- name: 'text',
154
- label: 'Text',
155
- component: 'text',
156
- },
157
- ...ACTION_FIELDS,
158
- ],
159
- },
160
- {
161
- name: 'style',
162
- label: 'Style',
163
- component: 'group',
164
- fields: [...SectionFields],
165
- },
166
- ],
167
- }
168
-
169
- const FEATURE_BLOCKS = {
170
- feature: Feature,
171
- }
@@ -1,247 +0,0 @@
1
- /**
2
- Copyright 2021 Forestry.io Holdings, Inc.
3
- Licensed under the Apache License, Version 2.0 (the "License");
4
- you may not use this file except in compliance with the License.
5
- You may obtain a copy of the License at
6
- http://www.apache.org/licenses/LICENSE-2.0
7
- Unless required by applicable law or agreed to in writing, software
8
- distributed under the License is distributed on an "AS IS" BASIS,
9
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
10
- See the License for the specific language governing permissions and
11
- limitations under the License.
12
- */
13
-
14
- import * as React from 'react'
15
- import { ThemeContext } from './theme'
16
- import { Blocks } from './PageBlocks'
17
- import { FaInstagram, FaFacebookF, FaTwitter, FaGithub } from 'react-icons/fa'
18
- import { Homepage_Footer_Data, Nav_Data } from '../.tina/__generated__/types'
19
-
20
- export const Footer = ({
21
- footer,
22
- name = '',
23
- navList,
24
- }: {
25
- footer: Homepage_Footer_Data
26
- name: string
27
- navList: Nav_Data[]
28
- }) => {
29
- const theme = React.useContext(ThemeContext)
30
-
31
- return (
32
- <footer className="text-white bg-gradient-to-br from-gray-700 to-gray-800 dark:from-gray-900 dark:to-gray-800 body-font">
33
- <div className="relative">
34
- <div className="relative container mx-auto flex pt-8 lg:pt-3 z-10">
35
- <div className="w-full flex flex-col lg:flex-row flex-wrap py-12 px-8">
36
- <div className="mb-8 lg:mr-48 flex-grow-0 inline-block">
37
- <a className="">
38
- <h2 className="text-lg font-bold tracking-tight text-white uppercase transition duration-500 ease-in-out transform hover:text-lightBlack-500">
39
- {name}
40
- </h2>
41
- </a>
42
- </div>
43
- <div className="flex-grow flex flex-wrap justify-between -mx-6">
44
- {navList?.map((item, i) => {
45
- switch (item.__typename) {
46
- case 'Nav_Data':
47
- return <FooterNav key={i} {...item} />
48
- }
49
- })}
50
- {/* <Blocks data={data.navlist} blocks={FOOTER_BLOCKS} /> */}
51
- </div>
52
- </div>
53
- </div>
54
- <div
55
- className={`overflow-hidden absolute top-0 left-0 w-full h-full flex flex-row justify-center`}
56
- >
57
- <span
58
- className={`absolute opacity-30 w-2/3 h-64 bg-${theme.color}-500 -bottom-48 rounded-t-full`}
59
- style={{ filter: 'blur(10rem)' }}
60
- ></span>
61
- </div>
62
- <div
63
- className={`relative w-full opacity-90 z-10 bg-gradient-to-r from-gray-800 via-${theme.color}-400 to-gray-800`}
64
- style={{ height: '3px' }}
65
- ></div>
66
- <div className="bg-gray-800 dark:bg-gray-900 z-0 relative">
67
- <div className="container flex flex-col flex-wrap p-7 mx-auto sm:flex-row justify-center">
68
- <div className="flex justify-center">
69
- {footer?.social?.facebook && (
70
- <a
71
- href={footer.social.facebook}
72
- target="_blank"
73
- className="mx-2"
74
- >
75
- <FaFacebookF
76
- className={`h-6 w-auto text-white hover:text-${theme.color}-500`}
77
- />
78
- </a>
79
- )}
80
- {footer?.social?.twitter && (
81
- <a
82
- href={footer.social.twitter}
83
- target="_blank"
84
- className="mx-2"
85
- >
86
- <FaTwitter
87
- className={`h-6 w-auto text-white hover:text-${theme.color}-500`}
88
- />
89
- </a>
90
- )}
91
- {footer?.social?.instagram && (
92
- <a
93
- href={footer.social.instagram}
94
- target="_blank"
95
- className="mx-2"
96
- >
97
- <FaInstagram
98
- className={`h-6 w-auto text-white hover:text-${theme.color}-500`}
99
- />
100
- </a>
101
- )}
102
- {footer?.social?.github && (
103
- <a href={footer.social.github} target="_blank" className="mx-2">
104
- <FaGithub
105
- className={`h-6 w-auto text-white hover:text-${theme.color}-500`}
106
- />
107
- </a>
108
- )}
109
- </div>
110
- </div>
111
- </div>
112
- </div>
113
- </footer>
114
- )
115
- }
116
-
117
- export const FooterNav = (data: Nav_Data) => {
118
- const theme = React.useContext(ThemeContext)
119
-
120
- return (
121
- <div className="flex-grow px-6">
122
- <h3
123
- className={`mb-3 text-sm font-semibold tracking-widest text-${theme.color}-400 uppercase title-font`}
124
- style={{
125
- textShadow: `0 1px 3px rgba(var(--color-rgb-${theme.color}-600),0.3)`,
126
- }}
127
- >
128
- {data.title}
129
- </h3>
130
- <nav className="pb-8 list-none">
131
- {data.items &&
132
- data.items.map(function (item, index) {
133
- return (
134
- <li key={index}>
135
- <a
136
- href={item?.link || ''}
137
- className="text-sm text-gray-200 hover:text-white"
138
- >
139
- {item?.label || ''}
140
- </a>
141
- </li>
142
- )
143
- })}
144
- </nav>
145
- </div>
146
- )
147
- }
148
-
149
- export const footer_nav_template = {
150
- label: 'Footer Nav',
151
- defaultItem: {
152
- title: 'Product',
153
- items: [
154
- {
155
- label: 'Form Templates',
156
- link: '#',
157
- },
158
- {
159
- label: 'Landing Page',
160
- link: '#',
161
- },
162
- {
163
- label: 'Figma Files',
164
- link: '#',
165
- },
166
- {
167
- label: 'Background Info',
168
- link: '#',
169
- },
170
- ],
171
- },
172
- itemProps: (item) => ({
173
- label: item.title,
174
- }),
175
- fields: [
176
- {
177
- name: 'title',
178
- label: 'Title',
179
- component: 'text',
180
- },
181
- {
182
- name: 'items',
183
- label: 'Nav Items',
184
- component: 'group-list',
185
- itemProps: (item) => ({
186
- label: item.label,
187
- }),
188
- fields: [
189
- {
190
- name: 'label',
191
- label: 'Label',
192
- component: 'text',
193
- },
194
- {
195
- name: 'link',
196
- label: 'Link',
197
- component: 'text',
198
- },
199
- ],
200
- },
201
- ],
202
- }
203
-
204
- const FOOTER_BLOCKS = {
205
- nav: FooterNav,
206
- }
207
-
208
- export const FOOTER_FIELDS = [
209
- {
210
- label: 'Nav List',
211
- name: 'navlist',
212
- component: 'blocks',
213
- itemProps: (item) => ({
214
- label: item.title,
215
- }),
216
- templates: {
217
- nav: footer_nav_template,
218
- },
219
- },
220
- {
221
- name: 'social',
222
- label: 'Social Media',
223
- component: 'group',
224
- fields: [
225
- {
226
- name: 'facebook',
227
- label: 'Facebook',
228
- component: 'text',
229
- },
230
- {
231
- name: 'twitter',
232
- label: 'Twitter',
233
- component: 'text',
234
- },
235
- {
236
- name: 'instagram',
237
- label: 'Instagram',
238
- component: 'text',
239
- },
240
- {
241
- name: 'github',
242
- label: 'Github',
243
- component: 'text',
244
- },
245
- ],
246
- },
247
- ]
@@ -1,156 +0,0 @@
1
- /**
2
- Copyright 2021 Forestry.io Holdings, Inc.
3
- Licensed under the Apache License, Version 2.0 (the "License");
4
- you may not use this file except in compliance with the License.
5
- You may obtain a copy of the License at
6
- http://www.apache.org/licenses/LICENSE-2.0
7
- Unless required by applicable law or agreed to in writing, software
8
- distributed under the License is distributed on an "AS IS" BASIS,
9
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
10
- See the License for the specific language governing permissions and
11
- limitations under the License.
12
- */
13
-
14
- import * as React from 'react'
15
- import { ThemeContext } from './theme'
16
- import { ACTION_FIELDS, Actions } from './actions'
17
- import { Section, SectionFields } from './section'
18
-
19
- export const Hero = (data) => {
20
- const theme = React.useContext(ThemeContext)
21
-
22
- return (
23
- <Section variant={data?.style?.color || 'blue'}>
24
- <div className="w-full pt-20 lg:py-56 lg:text-left">
25
- <div className="px-8 pb-20 lg:pb-0 lg:w-1/2 lg:px-12">
26
- <div className="max-w-3xl mx-auto">
27
- <h2 className="w-full mb-5 text-md font-bold tracking-wide title-font">
28
- {data.tagline}
29
- </h2>
30
- <h3
31
- className={`w-full relative mb-6 text-5xl font-extrabold tracking-normal text-left title-font`}
32
- >
33
- {data.style?.color === 'primary' ? (
34
- <span
35
- className={`bg-clip-text text-transparent bg-gradient-to-r from-gray-600 to-gray-800`}
36
- style={{
37
- textShadow: `0 0.5rem 3rem rgba(var(--color-rgb-${theme.color}-600),0.35)`,
38
- boxDecorationBreak: 'clone',
39
- WebkitBoxDecorationBreak: 'clone',
40
- }}
41
- >
42
- {data.headline}
43
- </span>
44
- ) : (
45
- <span
46
- className={`bg-clip-text text-transparent bg-gradient-to-r from-${theme.color}-400 to-${theme.color}-600`}
47
- style={{
48
- textShadow: `0 0.5rem 3rem rgba(var(--color-rgb-${theme.color}-600),0.35)`,
49
- boxDecorationBreak: 'clone',
50
- WebkitBoxDecorationBreak: 'clone',
51
- }}
52
- >
53
- {data.headline}
54
- </span>
55
- )}
56
- </h3>
57
- <p className="w-full max-w-xl mb-8 opacity-80 transition duration-150 ease-out text-left text-lg leading-relaxed lg:text-xl lg:leading-relaxed">
58
- {data.paragraph}
59
- </p>
60
- <Actions actions={data.actions} />
61
- </div>
62
- </div>
63
- <div className="relative w-full h-auto lg:absolute lg:inset-y-0 lg:right-0 lg:w-1/2 lg:h-full">
64
- {data?.image && (
65
- <img
66
- className="lg:absolute lg:inset-0 w-full h-auto max-h-96 md:max-h-128 lg:max-h-full lg:h-full object-cover"
67
- alt={data.image.alt}
68
- src={data.image.src}
69
- />
70
- )}
71
- </div>
72
- </div>
73
- </Section>
74
- )
75
- }
76
-
77
- export const IMAGE_FIELDS = [
78
- {
79
- name: 'src',
80
- label: 'Image Source',
81
- component: 'text',
82
- },
83
- {
84
- name: 'alt',
85
- label: 'Alt Text',
86
- component: 'text',
87
- },
88
- ]
89
-
90
- export const hero_template = {
91
- label: 'Hero',
92
- defaultItem: {
93
- tagline: 'TAGLINE ABOVE TEXT',
94
- headline: 'This is a large display heading.',
95
- text: 'Give your team a contextual, intuitive editing experience without sacrificing code quality.',
96
- image: {
97
- src: '/canal.jpg',
98
- alt: 'Photo from Unsplash',
99
- },
100
- actions: [
101
- {
102
- label: 'Primary Action',
103
- type: 'button',
104
- icon: 'true',
105
- },
106
- {
107
- label: 'Learn More',
108
- type: 'link',
109
- },
110
- ],
111
- style: {
112
- color: 'tint',
113
- },
114
- },
115
- fields: [
116
- {
117
- name: '',
118
- label: 'Text',
119
- component: 'group',
120
- fields: [...SectionFields],
121
- },
122
- {
123
- name: 'image',
124
- label: 'Image',
125
- component: 'group',
126
- fields: IMAGE_FIELDS,
127
- },
128
- ...ACTION_FIELDS,
129
- {
130
- name: 'style',
131
- label: 'Style',
132
- component: 'group',
133
- fields: [
134
- {
135
- name: 'color',
136
- label: 'Color',
137
- component: 'select',
138
- options: [
139
- {
140
- label: 'Default',
141
- value: 'default',
142
- },
143
- {
144
- label: 'Tint',
145
- value: 'tint',
146
- },
147
- {
148
- label: 'Primary',
149
- value: 'primary',
150
- },
151
- ],
152
- },
153
- ],
154
- },
155
- ],
156
- }