@mixd-id/web-scaffold 0.2.240706 → 0.2.250801010
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.
- package/docs/components/Dashboard.md +56 -0
- package/log.txt +7 -0
- package/package.json +27 -19
- package/src/components/404.vue +61 -0
- package/src/components/AccountIcon.vue +19 -0
- package/src/components/Ahref.vue +1 -1
- package/src/components/Alert.vue +4 -13
- package/src/components/ArrayList.vue +49 -0
- package/src/components/Article.vue +24 -30
- package/src/components/Button.vue +83 -169
- package/src/components/Card.vue +257 -0
- package/src/components/Carousel.vue +61 -60
- package/src/components/Cart.vue +192 -0
- package/src/components/CartIcon.vue +89 -0
- package/src/components/ChartBar.vue +2 -3
- package/src/components/Checkbox.vue +20 -11
- package/src/components/Checkout.vue +373 -0
- package/src/components/CheckoutDelivery.vue +267 -0
- package/src/components/CodeEditor.vue +5 -16
- package/src/components/CollapsiblePanel.vue +70 -0
- package/src/components/ColorPicker.vue +12 -5
- package/src/components/ColorPicker2.vue +41 -19
- package/src/components/ColorPicker3.vue +100 -0
- package/src/components/Confirm.vue +9 -7
- package/src/components/ContextMenu.vue +122 -206
- package/src/components/ContextMenuItem.vue +53 -0
- package/src/components/Dashboard.vue +243 -0
- package/src/components/Dashboard2.vue +118 -0
- package/src/components/DashboardComponentSelector.vue +96 -0
- package/src/components/DashboardConfigs.vue +202 -0
- package/src/components/Datepicker.vue +102 -41
- package/src/components/DayTimeRange.vue +3 -2
- package/src/components/Dropdown.vue +7 -4
- package/src/components/Flex.vue +14 -40
- package/src/components/GHeatMaps.vue +2 -2
- package/src/components/Grid.vue +6 -6
- package/src/components/HTMLEditor.vue +27 -14
- package/src/components/Image.vue +62 -108
- package/src/components/ImagePreview.vue +14 -4
- package/src/components/ImageUploader.vue +114 -0
- package/src/components/ImportModal.vue +3 -3
- package/src/components/Link.vue +62 -6
- package/src/components/List.vue +528 -403
- package/src/components/ListContextMenu.vue +88 -0
- package/src/components/ListItem.vue +6 -4
- package/src/components/ListPage1.vue +14 -15
- package/src/components/ListView.vue +5 -6
- package/src/components/ListViewSettings.vue +2 -2
- package/src/components/LogViewerItem.vue +1 -1
- package/src/components/MarkdownEdit.vue +128 -0
- package/src/components/MarkdownPreview.vue +102 -0
- package/src/components/MenuItem1.vue +36 -0
- package/src/components/Modal.vue +95 -43
- package/src/components/MultiDropdown.vue +124 -0
- package/src/components/MultilineText.vue +1 -4
- package/src/components/OTPField.vue +40 -26
- package/src/components/ObjectTree.vue +1 -1
- package/src/components/PageBuilder.vue +3 -3
- package/src/components/Paragraph.vue +1 -2
- package/src/components/PresetSelectorFilterItem.vue +107 -95
- package/src/components/Radio.vue +1 -1
- package/src/components/SearchModal.vue +153 -0
- package/src/components/Slider.vue +1 -1
- package/src/components/Svg.vue +1 -1
- package/src/components/SvgEditor.vue +173 -0
- package/src/components/Switch.vue +4 -5
- package/src/components/Table.vue +2 -2
- package/src/components/TableView.vue +2 -3
- package/src/components/TableViewHead.vue +2 -2
- package/src/components/Tabs.vue +1 -1
- package/src/components/Testimonial.vue +2 -2
- package/src/components/Text.vue +7 -22
- package/src/components/TextEditor.vue +3 -3
- package/src/components/TextWithTag.vue +61 -30
- package/src/components/Textarea.vue +16 -22
- package/src/components/Textbox.vue +9 -19
- package/src/components/Timepicker.vue +25 -15
- package/src/components/Toast.vue +5 -3
- package/src/components/TreeMenu.vue +122 -0
- package/src/components/TreeView.vue +15 -10
- package/src/components/TreeView2.vue +38 -0
- package/src/components/TreeViewItem.vue +58 -29
- package/src/components/TreeViewItem2.vue +55 -0
- package/src/components/Uploader.vue +45 -0
- package/src/components/Video.vue +119 -0
- package/src/components/VirtualGrid.vue +24 -7
- package/src/components/VirtualTable.vue +363 -128
- package/src/configs/dashboard/data-table.js +9 -0
- package/src/configs/web-page-builder.js +118 -0
- package/src/directives/intersect.js +26 -0
- package/src/hooks/device.js +14 -0
- package/src/index.js +62 -107
- package/src/mixin/component.js +151 -67
- package/src/themes/default/index.js +118 -159
- package/src/utils/dashboard.js +22 -962
- package/src/utils/helpers.cjs +635 -0
- package/src/utils/helpers.js +91 -60
- package/src/utils/helpers.mjs +245 -12
- package/src/utils/importer.js +22 -3
- package/src/utils/list.mjs +1509 -0
- package/src/utils/preset-selector.cjs +1455 -0
- package/src/utils/preset-selector.js +489 -95
- package/src/utils/preset-selector.mjs +59 -20
- package/src/utils/queue.js +63 -0
- package/src/utils/web.mjs +120 -0
- package/src/utils/wss.js +38 -36
- package/src/utils/wss.mjs +24 -19
- package/src/widgets/AhrefSetting.vue +16 -13
- package/src/widgets/ArticleSetting.vue +15 -27
- package/src/widgets/BackgroundColorSetting.vue +153 -0
- package/src/widgets/BorderColorSetting.vue +57 -0
- package/src/widgets/BotEditor/BotEditorActions.vue +3 -2
- package/src/widgets/BotEditor/BotEditorSettings.vue +21 -0
- package/src/widgets/BotEditor.vue +35 -15
- package/src/widgets/ButtonSetting.vue +12 -13
- package/src/widgets/CarouselSetting.vue +33 -45
- package/src/widgets/CartSetting.vue +46 -0
- package/src/widgets/CheckoutSetting.vue +46 -0
- package/src/widgets/CollapsiblePanelSetting.vue +46 -0
- package/src/widgets/ColumnSelector.vue +29 -5
- package/src/widgets/ComponentSetting.vue +1 -1
- package/src/widgets/ComponentSetting2.vue +145 -236
- package/src/widgets/ComponentSetting3.vue +1 -1
- package/src/widgets/ContactForm.vue +3 -3
- package/src/widgets/ContactFormSetting.vue +41 -30
- package/src/widgets/Dashboard/BarChart.vue +47 -11
- package/src/widgets/Dashboard/BarChartSetting.vue +1 -1
- package/src/widgets/Dashboard/DataTable.vue +125 -0
- package/src/widgets/Dashboard/DataTableSetting.vue +243 -0
- package/src/widgets/Dashboard/DatasourceSelector.vue +1 -1
- package/src/widgets/Dashboard/Doughnut.vue +49 -7
- package/src/widgets/Dashboard/DoughnutSetting.vue +2 -2
- package/src/widgets/Dashboard/Metric.vue +78 -19
- package/src/widgets/Dashboard/MetricSetting.vue +81 -28
- package/src/widgets/Dashboard/Pie.vue +55 -6
- package/src/widgets/Dashboard/PieSetting.vue +1 -1
- package/src/widgets/Dashboard/PolarArea.vue +49 -7
- package/src/widgets/Dashboard/PolarAreaSetting.vue +1 -1
- package/src/widgets/Dashboard/SharingModal.vue +4 -5
- package/src/widgets/Dashboard/ViewSelector.vue +2 -2
- package/src/widgets/Dashboard/VirtualTableSetting.vue +121 -184
- package/src/widgets/{Dashboard.vue → Dashboard0.vue} +426 -343
- package/src/widgets/EmbeddedVideoSetting.vue +7 -5
- package/src/widgets/FAQ.vue +16 -3
- package/src/widgets/FAQSetting.vue +53 -47
- package/src/widgets/FeatureList.vue +3 -0
- package/src/widgets/FeatureListSetting.vue +112 -102
- package/src/widgets/FlexSetting.vue +83 -106
- package/src/widgets/GridSetting.vue +71 -196
- package/src/widgets/Header2.vue +34 -71
- package/src/widgets/Header2Setting.vue +95 -179
- package/src/widgets/HeaderSetting.vue +16 -18
- package/src/widgets/IconListSetting.vue +69 -65
- package/src/widgets/ImageSetting.vue +33 -60
- package/src/widgets/LinkSetting.vue +60 -37
- package/src/widgets/LinkSettingModal.vue +173 -0
- package/src/widgets/LogViewer.vue +1 -1
- package/src/widgets/MarginSetting.vue +2 -2
- package/src/widgets/MenuEditor.vue +1 -1
- package/src/widgets/MenuItem1Setting.vue +78 -0
- package/src/widgets/ModalSetting.vue +42 -44
- package/src/widgets/MultiValueSetting.vue +2 -2
- package/src/widgets/MultiValueSetting2.vue +78 -45
- package/src/widgets/OGSettingModal.vue +103 -0
- package/src/widgets/PaddingSetting.vue +2 -2
- package/src/widgets/ParagraphSetting.vue +16 -13
- package/src/widgets/PositionSetting.vue +209 -0
- package/src/widgets/PresetBar.vue +359 -210
- package/src/widgets/PresetBarPivot.vue +31 -19
- package/src/widgets/PresetSelector.vue +29 -17
- package/src/widgets/SearchModalSetting.vue +70 -0
- package/src/widgets/Share.vue +1 -2
- package/src/widgets/ShareSetting.vue +67 -60
- package/src/widgets/StyleSetting.vue +365 -150
- package/src/widgets/TestimonialSetting.vue +97 -88
- package/src/widgets/TextBlockSetting.vue +16 -13
- package/src/widgets/UserActionBuilder/UserActionConsole.vue +30 -10
- package/src/widgets/UserActionBuilder/UserActionOutput.vue +2 -2
- package/src/widgets/UserActionBuilder/UserActionOutputReply.vue +64 -87
- package/src/widgets/UserActionBuilder/UserActionProps.vue +3 -3
- package/src/widgets/UserActionBuilder.vue +4 -16
- package/src/widgets/WebComponentSelector.vue +15 -11
- package/src/widgets/WebLayoutSelector.vue +41 -270
- package/src/widgets/WebPageBuilder.vue +1019 -707
- package/src/widgets/WebPageBuilder2.vue +7 -7
- package/src/widgets/WebPageBuilder4/ButtonSetting.vue +0 -8
- package/src/widgets/WebPageBuilder4/CarouselSetting.vue +63 -7
- package/src/widgets/WebPageBuilder4/FlexAlignSetting.vue +3 -3
- package/src/widgets/WebPageBuilder4/FlexSetting.vue +1 -10
- package/src/widgets/WebPageBuilder4/MultiValueSetting.vue +2 -2
- package/src/widgets/WebPageBuilder4/PropertySetting.vue +0 -7
- package/src/widgets/WebPageBuilder4/WebPageComponentSelector.vue +1 -7
- package/src/widgets/WebPageBuilder4.vue +289 -575
- package/src/widgets/WebPageSelector.vue +1 -1
- package/src/widgets/YoutubeVideoSetting.vue +16 -13
- package/tailwind.config.js +3 -35
- package/docs/schema/user-action.json +0 -266
- package/src/App.vue +0 -25
- package/src/components/SearchButton.vue +0 -57
- package/src/entry-client.js +0 -27
- package/src/entry-server.js +0 -73
- package/src/events/event.js +0 -2
- package/src/main.js +0 -29
- package/src/mixin/website.js +0 -121
- package/src/router.js +0 -57
- package/src/widgets/MobileMenu.vue +0 -182
- package/src/widgets/WebPageBuilder4/ActionSetting.vue +0 -158
- package/src/widgets/WebPageBuilder4/ColorSetting.vue +0 -63
- package/src/widgets/WebPageBuilder4/DataSetting.vue +0 -92
- package/src/widgets/WebPageBuilder4/FontSizeSetting.vue +0 -76
- package/src/widgets/WebPageBuilder4/LinkSetting.vue +0 -68
- package/src/widgets/WebPageBuilder4/MobileMenuSetting.vue +0 -106
- package/src/widgets/WebPageBuilder4/Setting.vue +0 -73
- package/src/widgets/WebPageBuilder4/StyleSetting.vue +0 -77
- package/src/widgets/WebPageBuilder4/SvgSetting.vue +0 -207
- package/src/widgets/WebPageBuilder4/TextTransformSetting.vue +0 -70
- package/src/widgets/WebPageBuilder4/WebPageDataEdit.vue +0 -121
- package/test.json +0 -22
- /package/src/widgets/{Header1.vue → Header0.vue} +0 -0
- /package/src/widgets/{Header1Setting.vue → Header0Setting.vue} +0 -0
|
@@ -1,169 +1,308 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div :class="$style.comp">
|
|
3
3
|
|
|
4
|
-
<div
|
|
5
|
-
v-show="_.value === viewType">
|
|
6
|
-
<div class="flex flex-col gap-8">
|
|
4
|
+
<div class="flex flex-col divide-y divide-border-50">
|
|
7
5
|
|
|
8
|
-
|
|
6
|
+
<div class="flex flex-col gap-4 p-6">
|
|
7
|
+
|
|
8
|
+
<strong @dblclick="log(item)">Style</strong>
|
|
9
9
|
|
|
10
|
-
|
|
11
|
-
|
|
10
|
+
<div>
|
|
11
|
+
<div class="flex flex-row">
|
|
12
|
+
<div class="flex-1">
|
|
13
|
+
<small class="text-text-400">Font Family</small>
|
|
14
|
+
</div>
|
|
15
|
+
<div class="flex flex-row gap-1 self-center">
|
|
16
|
+
<button type="button" class="text-xs px-1" :class="selectorIndexes['fontFamily'] === 0 ? 'bg-primary text-white': ''" @click="selectorIndexes['fontFamily'] = 0">base</button>
|
|
17
|
+
<button type="button" class="text-xs px-1" :class="selectorIndexes['fontFamily'] === 1 ? 'bg-primary text-white': ''" @click="selectorIndexes['fontFamily'] = 1">md</button>
|
|
18
|
+
<button type="button" class="text-xs px-1" :class="selectorIndexes['fontFamily'] === 2 ? 'bg-primary text-white': ''" @click="selectorIndexes['fontFamily'] = 2">lg</button>
|
|
19
|
+
<button type="button" class="text-xs px-1" :class="selectorIndexes['fontFamily'] === 3 ? 'bg-primary text-white': ''" @click="selectorIndexes['fontFamily'] = 3">xl</button>
|
|
20
|
+
</div>
|
|
12
21
|
</div>
|
|
22
|
+
<Dropdown v-model="media['*']['font-family'][selectorIndex('fontFamily')]" class="mt-1">
|
|
23
|
+
<option value="">Default</option>
|
|
24
|
+
<option v-for="opt in components.fontFamily"
|
|
25
|
+
:value="`${opt[1]}`">
|
|
26
|
+
{{ opt[0] }}
|
|
27
|
+
</option>
|
|
28
|
+
</Dropdown>
|
|
29
|
+
</div>
|
|
13
30
|
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
<div>
|
|
19
|
-
<label :class="$style.label">Font Family</label>
|
|
20
|
-
<Dropdown v-model="mediaOf(_.value, '*')['font-family']" class="mt-1">
|
|
21
|
-
<option value="">Default</option>
|
|
22
|
-
<option v-for="opt in components.fontFamily"
|
|
23
|
-
:value="`${opt[1]}`">
|
|
24
|
-
{{ opt[0] }}
|
|
25
|
-
</option>
|
|
26
|
-
</Dropdown>
|
|
27
|
-
</div>
|
|
28
|
-
|
|
29
|
-
<div>
|
|
30
|
-
<label :class="$style.label">Font Size</label>
|
|
31
|
-
<Dropdown v-model="mediaOf(_.value, 'html, .html')['font-size']" class="mt-1">
|
|
32
|
-
<option value="">Default</option>
|
|
33
|
-
<option v-for="opt in components.fontSize"
|
|
34
|
-
:value="`${opt[1]}`">
|
|
35
|
-
{{ opt[0] }}
|
|
36
|
-
</option>
|
|
37
|
-
</Dropdown>
|
|
38
|
-
</div>
|
|
39
|
-
|
|
40
|
-
<div>
|
|
41
|
-
<label :class="$style.label">Primary Color</label>
|
|
42
|
-
<div class="mt-1 grid grid-cols-8 gap-4">
|
|
43
|
-
<ColorPicker v-model="mediaOf(_.value, 'html, .html')['--primary-100']"
|
|
44
|
-
mode="hex" :custom-color="true" value-type="rgb" />
|
|
45
|
-
<ColorPicker v-model="mediaOf(_.value, 'html, .html')['--primary-200']"
|
|
46
|
-
mode="hex" :custom-color="true" value-type="rgb" />
|
|
47
|
-
<ColorPicker v-model="mediaOf(_.value, 'html, .html')['--primary-300']"
|
|
48
|
-
mode="hex" :custom-color="true" value-type="rgb" />
|
|
49
|
-
<ColorPicker v-model="mediaOf(_.value, 'html, .html')['--primary-400']"
|
|
50
|
-
mode="hex" :custom-color="true" value-type="rgb" />
|
|
51
|
-
<ColorPicker v-model="mediaOf(_.value, 'html, .html')['--primary-500']"
|
|
52
|
-
mode="hex" :custom-color="true" value-type="rgb" />
|
|
53
|
-
<ColorPicker v-model="mediaOf(_.value, 'html, .html')['--primary-600']"
|
|
54
|
-
mode="hex" :custom-color="true" value-type="rgb" />
|
|
55
|
-
<ColorPicker v-model="mediaOf(_.value, 'html, .html')['--primary-700']"
|
|
56
|
-
mode="hex" :custom-color="true" value-type="rgb" />
|
|
57
|
-
<ColorPicker v-model="mediaOf(_.value, 'html, .html')['--primary-800']"
|
|
58
|
-
mode="hex" :custom-color="true" value-type="rgb" />
|
|
59
|
-
</div>
|
|
60
|
-
</div>
|
|
61
|
-
|
|
62
|
-
<div>
|
|
63
|
-
<label :class="$style.label">Secondary Color</label>
|
|
64
|
-
<div class="mt-1 grid grid-cols-8 gap-4">
|
|
65
|
-
<ColorPicker v-model="mediaOf(_.value, 'html, .html')['--secondary-100']"
|
|
66
|
-
mode="hex" :custom-color="true" value-type="rgb" />
|
|
67
|
-
<ColorPicker v-model="mediaOf(_.value, 'html, .html')['--secondary-200']"
|
|
68
|
-
mode="hex" :custom-color="true" value-type="rgb" />
|
|
69
|
-
<ColorPicker v-model="mediaOf(_.value, 'html, .html')['--secondary-300']"
|
|
70
|
-
mode="hex" :custom-color="true" value-type="rgb" />
|
|
71
|
-
<ColorPicker v-model="mediaOf(_.value, 'html, .html')['--secondary-400']"
|
|
72
|
-
mode="hex" :custom-color="true" value-type="rgb" />
|
|
73
|
-
<ColorPicker v-model="mediaOf(_.value, 'html, .html')['--secondary-500']"
|
|
74
|
-
mode="hex" :custom-color="true" value-type="rgb" />
|
|
75
|
-
<ColorPicker v-model="mediaOf(_.value, 'html, .html')['--secondary-600']"
|
|
76
|
-
mode="hex" :custom-color="true" value-type="rgb" />
|
|
77
|
-
<ColorPicker v-model="mediaOf(_.value, 'html, .html')['--secondary-700']"
|
|
78
|
-
mode="hex" :custom-color="true" value-type="rgb" />
|
|
79
|
-
<ColorPicker v-model="mediaOf(_.value, 'html, .html')['--secondary-800']"
|
|
80
|
-
mode="hex" :custom-color="true" value-type="rgb" />
|
|
81
|
-
</div>
|
|
82
|
-
</div>
|
|
83
|
-
|
|
84
|
-
<div>
|
|
85
|
-
<label :class="$style.label">Text Color</label>
|
|
86
|
-
<div class="mt-1 grid grid-cols-8 gap-4">
|
|
87
|
-
<ColorPicker v-model="mediaOf(_.value, 'html, .html')['--text-100']"
|
|
88
|
-
mode="hex" :custom-color="true" value-type="rgb" />
|
|
89
|
-
<ColorPicker v-model="mediaOf(_.value, 'html, .html')['--text-200']"
|
|
90
|
-
mode="hex" :custom-color="true" value-type="rgb" />
|
|
91
|
-
<ColorPicker v-model="mediaOf(_.value, 'html, .html')['--text-300']"
|
|
92
|
-
mode="hex" :custom-color="true" value-type="rgb" />
|
|
93
|
-
<ColorPicker v-model="mediaOf(_.value, 'html, .html')['--text-400']"
|
|
94
|
-
mode="hex" :custom-color="true" value-type="rgb" />
|
|
95
|
-
<ColorPicker v-model="mediaOf(_.value, 'html, .html')['--text-500']"
|
|
96
|
-
mode="hex" :custom-color="true" value-type="rgb" />
|
|
97
|
-
<ColorPicker v-model="mediaOf(_.value, 'html, .html')['--text-600']"
|
|
98
|
-
mode="hex" :custom-color="true" value-type="rgb" />
|
|
99
|
-
<ColorPicker v-model="mediaOf(_.value, 'html, .html')['--text-700']"
|
|
100
|
-
mode="hex" :custom-color="true" value-type="rgb" />
|
|
101
|
-
<ColorPicker v-model="mediaOf(_.value, 'html, .html')['--text-800']"
|
|
102
|
-
mode="hex" :custom-color="true" value-type="rgb" />
|
|
103
|
-
</div>
|
|
31
|
+
<div>
|
|
32
|
+
<div class="flex flex-row">
|
|
33
|
+
<div class="flex-1">
|
|
34
|
+
<small class="text-text-400">Font Size</small>
|
|
104
35
|
</div>
|
|
36
|
+
<div class="flex flex-row gap-1 self-center">
|
|
37
|
+
<button type="button" class="text-xs px-1" :class="selectorIndexes['fontSize'] === 0 ? 'bg-primary text-white': ''" @click="selectorIndexes['fontSize'] = 0">base</button>
|
|
38
|
+
<button type="button" class="text-xs px-1" :class="selectorIndexes['fontSize'] === 1 ? 'bg-primary text-white': ''" @click="selectorIndexes['fontSize'] = 1">md</button>
|
|
39
|
+
<button type="button" class="text-xs px-1" :class="selectorIndexes['fontSize'] === 2 ? 'bg-primary text-white': ''" @click="selectorIndexes['fontSize'] = 2">lg</button>
|
|
40
|
+
<button type="button" class="text-xs px-1" :class="selectorIndexes['fontSize'] === 3 ? 'bg-primary text-white': ''" @click="selectorIndexes['fontSize'] = 3">xl</button>
|
|
41
|
+
</div>
|
|
42
|
+
</div>
|
|
43
|
+
<Dropdown v-model="media['html, .html']['font-size'][selectorIndex('fontSize')]" class="mt-1">
|
|
44
|
+
<option value="">Default</option>
|
|
45
|
+
<option v-for="opt in components.fontSize"
|
|
46
|
+
:value="`${opt[1]}`">
|
|
47
|
+
{{ opt[0] }}
|
|
48
|
+
</option>
|
|
49
|
+
</Dropdown>
|
|
50
|
+
</div>
|
|
105
51
|
|
|
52
|
+
<div>
|
|
53
|
+
<div class="flex flex-row">
|
|
54
|
+
<div class="flex-1">
|
|
55
|
+
<small class="text-text-400">Primary Color</small>
|
|
56
|
+
</div>
|
|
57
|
+
<div class="flex flex-row gap-1 self-center">
|
|
58
|
+
<button type="button" class="text-xs px-1" :class="selectorIndexes['primary'] === 0 ? 'bg-primary text-white': ''" @click="selectorIndexes['primary'] = 0">base</button>
|
|
59
|
+
<button type="button" class="text-xs px-1" :class="selectorIndexes['primary'] === 1 ? 'bg-primary text-white': ''" @click="selectorIndexes['primary'] = 1">md</button>
|
|
60
|
+
<button type="button" class="text-xs px-1" :class="selectorIndexes['primary'] === 2 ? 'bg-primary text-white': ''" @click="selectorIndexes['primary'] = 2">lg</button>
|
|
61
|
+
<button type="button" class="text-xs px-1" :class="selectorIndexes['primary'] === 3 ? 'bg-primary text-white': ''" @click="selectorIndexes['primary'] = 3">xl</button>
|
|
62
|
+
</div>
|
|
106
63
|
</div>
|
|
64
|
+
<div class="grid grid-cols-8 gap-2 mt-2">
|
|
65
|
+
<div class="flex flex-col items-center gap-2">
|
|
66
|
+
<ColorPicker v-model="media['html, .html']['--primary-800'][selectorIndex('primary')]"
|
|
67
|
+
mode="hex" :custom-color="true" value-type="rgb" />
|
|
68
|
+
<small class="text-text-400 text-xs">+300</small>
|
|
69
|
+
</div>
|
|
70
|
+
|
|
71
|
+
<div class="flex flex-col items-center gap-2">
|
|
72
|
+
<ColorPicker v-model="media['html, .html']['--primary-700'][selectorIndex('primary')]"
|
|
73
|
+
mode="hex" :custom-color="true" value-type="rgb" />
|
|
74
|
+
<small class="text-text-400 text-xs">+200</small>
|
|
75
|
+
</div>
|
|
76
|
+
|
|
77
|
+
<div class="flex flex-col items-center gap-2">
|
|
78
|
+
<ColorPicker v-model="media['html, .html']['--primary-600'][selectorIndex('primary')]"
|
|
79
|
+
mode="hex" :custom-color="true" value-type="rgb" />
|
|
80
|
+
<small class="text-text-400 text-xs">+100</small>
|
|
81
|
+
</div>
|
|
82
|
+
|
|
83
|
+
<div class="flex flex-col items-center gap-2">
|
|
84
|
+
<ColorPicker v-model="media['html, .html']['--primary-500'][selectorIndex('primary')]"
|
|
85
|
+
mode="hex" :custom-color="true" value-type="rgb" />
|
|
86
|
+
<small class="text-text-400 text-xs">normal</small>
|
|
87
|
+
</div>
|
|
88
|
+
|
|
89
|
+
<div class="flex flex-col items-center gap-2">
|
|
90
|
+
<ColorPicker v-model="media['html, .html']['--primary-400'][selectorIndex('primary')]"
|
|
91
|
+
mode="hex" :custom-color="true" value-type="rgb" />
|
|
92
|
+
<small class="text-text-400 text-xs">-100</small>
|
|
93
|
+
</div>
|
|
107
94
|
|
|
95
|
+
<div class="flex flex-col items-center gap-2">
|
|
96
|
+
<ColorPicker v-model="media['html, .html']['--primary-300'][selectorIndex('primary')]"
|
|
97
|
+
mode="hex" :custom-color="true" value-type="rgb" />
|
|
98
|
+
<small class="text-text-400 text-xs">-200</small>
|
|
99
|
+
</div>
|
|
100
|
+
|
|
101
|
+
<div class="flex flex-col items-center gap-2">
|
|
102
|
+
<ColorPicker v-model="media['html, .html']['--primary-200'][selectorIndex('primary')]"
|
|
103
|
+
mode="hex" :custom-color="true" value-type="rgb" />
|
|
104
|
+
<small class="text-text-400 text-xs">-300</small>
|
|
105
|
+
</div>
|
|
108
106
|
|
|
107
|
+
<div class="flex flex-col items-center gap-2">
|
|
108
|
+
<ColorPicker v-model="media['html, .html']['--primary-100'][selectorIndex('primary')]"
|
|
109
|
+
mode="hex" :custom-color="true" value-type="rgb" />
|
|
110
|
+
<small class="text-text-400 text-xs">-400</small>
|
|
111
|
+
</div>
|
|
112
|
+
</div>
|
|
109
113
|
</div>
|
|
110
114
|
|
|
111
115
|
<div>
|
|
116
|
+
<div class="flex flex-row">
|
|
117
|
+
<div class="flex-1">
|
|
118
|
+
<small class="text-text-400">Secondary Color</small>
|
|
119
|
+
</div>
|
|
120
|
+
<div class="flex flex-row gap-1 self-center">
|
|
121
|
+
<button type="button" class="text-xs px-1" :class="selectorIndexes['secondary'] === 0 ? 'bg-primary text-white': ''" @click="selectorIndexes['secondary'] = 0">base</button>
|
|
122
|
+
<button type="button" class="text-xs px-1" :class="selectorIndexes['secondary'] === 1 ? 'bg-primary text-white': ''" @click="selectorIndexes['secondary'] = 1">md</button>
|
|
123
|
+
<button type="button" class="text-xs px-1" :class="selectorIndexes['secondary'] === 2 ? 'bg-primary text-white': ''" @click="selectorIndexes['secondary'] = 2">lg</button>
|
|
124
|
+
<button type="button" class="text-xs px-1" :class="selectorIndexes['secondary'] === 3 ? 'bg-primary text-white': ''" @click="selectorIndexes['secondary'] = 3">xl</button>
|
|
125
|
+
</div>
|
|
126
|
+
</div>
|
|
127
|
+
<div class="grid grid-cols-8 gap-2 mt-2">
|
|
128
|
+
<div class="flex flex-col items-center gap-2">
|
|
129
|
+
<ColorPicker v-model="media['html, .html']['--secondary-800'][selectorIndex('secondary')]"
|
|
130
|
+
mode="hex" :custom-color="true" value-type="rgb" />
|
|
131
|
+
<small class="text-text-400 text-xs">800</small>
|
|
132
|
+
</div>
|
|
133
|
+
|
|
134
|
+
<div class="flex flex-col items-center gap-2">
|
|
135
|
+
<ColorPicker v-model="media['html, .html']['--secondary-700'][selectorIndex('secondary')]"
|
|
136
|
+
mode="hex" :custom-color="true" value-type="rgb" />
|
|
137
|
+
<small class="text-text-400 text-xs">700</small>
|
|
138
|
+
</div>
|
|
139
|
+
|
|
140
|
+
<div class="flex flex-col items-center gap-2">
|
|
141
|
+
<ColorPicker v-model="media['html, .html']['--secondary-600'][selectorIndex('secondary')]"
|
|
142
|
+
mode="hex" :custom-color="true" value-type="rgb" />
|
|
143
|
+
<small class="text-text-400 text-xs">600</small>
|
|
144
|
+
</div>
|
|
145
|
+
|
|
146
|
+
<div class="flex flex-col items-center gap-2">
|
|
147
|
+
<ColorPicker v-model="media['html, .html']['--secondary-500'][selectorIndex('secondary')]"
|
|
148
|
+
mode="hex" :custom-color="true" value-type="rgb" />
|
|
149
|
+
<small class="text-text-400 text-xs">500</small>
|
|
150
|
+
</div>
|
|
112
151
|
|
|
113
|
-
|
|
114
|
-
|
|
152
|
+
<div class="flex flex-col items-center gap-2">
|
|
153
|
+
<ColorPicker v-model="media['html, .html']['--secondary-400'][selectorIndex('secondary')]"
|
|
154
|
+
mode="hex" :custom-color="true" value-type="rgb" />
|
|
155
|
+
<small class="text-text-400 text-xs">400</small>
|
|
156
|
+
</div>
|
|
157
|
+
|
|
158
|
+
<div class="flex flex-col items-center gap-2">
|
|
159
|
+
<ColorPicker v-model="media['html, .html']['--secondary-300'][selectorIndex('secondary')]"
|
|
160
|
+
mode="hex" :custom-color="true" value-type="rgb" />
|
|
161
|
+
<small class="text-text-400 text-xs">300</small>
|
|
162
|
+
</div>
|
|
163
|
+
|
|
164
|
+
<div class="flex flex-col items-center gap-2">
|
|
165
|
+
<ColorPicker v-model="media['html, .html']['--secondary-200'][selectorIndex('secondary')]"
|
|
166
|
+
mode="hex" :custom-color="true" value-type="rgb" />
|
|
167
|
+
<small class="text-text-400 text-xs">200</small>
|
|
168
|
+
</div>
|
|
169
|
+
|
|
170
|
+
<div class="flex flex-col items-center gap-2">
|
|
171
|
+
<ColorPicker v-model="media['html, .html']['--secondary-100'][selectorIndex('secondary')]"
|
|
172
|
+
mode="hex" :custom-color="true" value-type="rgb" />
|
|
173
|
+
<small class="text-text-400 text-xs">100</small>
|
|
174
|
+
</div>
|
|
115
175
|
</div>
|
|
176
|
+
</div>
|
|
116
177
|
|
|
117
|
-
|
|
178
|
+
<div>
|
|
179
|
+
<div class="flex flex-row">
|
|
180
|
+
<div class="flex-1">
|
|
181
|
+
<small class="text-text-400">Text Color</small>
|
|
182
|
+
</div>
|
|
183
|
+
<div class="flex flex-row gap-1 self-center">
|
|
184
|
+
<button type="button" class="text-xs px-1" :class="selectorIndexes['text'] === 0 ? 'bg-primary text-white': ''" @click="selectorIndexes['text'] = 0">base</button>
|
|
185
|
+
<button type="button" class="text-xs px-1" :class="selectorIndexes['text'] === 1 ? 'bg-primary text-white': ''" @click="selectorIndexes['text'] = 1">md</button>
|
|
186
|
+
<button type="button" class="text-xs px-1" :class="selectorIndexes['text'] === 2 ? 'bg-primary text-white': ''" @click="selectorIndexes['text'] = 2">lg</button>
|
|
187
|
+
<button type="button" class="text-xs px-1" :class="selectorIndexes['text'] === 3 ? 'bg-primary text-white': ''" @click="selectorIndexes['text'] = 3">xl</button>
|
|
188
|
+
</div>
|
|
189
|
+
</div>
|
|
190
|
+
<div class="grid grid-cols-8 gap-2 mt-2">
|
|
191
|
+
<div class="flex flex-col items-center gap-2">
|
|
192
|
+
<ColorPicker v-model="media['html, .html']['--text-800'][selectorIndex('text')]"
|
|
193
|
+
mode="hex" :custom-color="true" value-type="rgb" />
|
|
194
|
+
<small class="text-text-400 text-xs">800</small>
|
|
195
|
+
</div>
|
|
196
|
+
|
|
197
|
+
<div class="flex flex-col items-center gap-2">
|
|
198
|
+
<ColorPicker v-model="media['html, .html']['--text-700'][selectorIndex('text')]"
|
|
199
|
+
mode="hex" :custom-color="true" value-type="rgb" />
|
|
200
|
+
<small class="text-text-400 text-xs">700</small>
|
|
201
|
+
</div>
|
|
202
|
+
|
|
203
|
+
<div class="flex flex-col items-center gap-2">
|
|
204
|
+
<ColorPicker v-model="media['html, .html']['--text-600'][selectorIndex('text')]"
|
|
205
|
+
mode="hex" :custom-color="true" value-type="rgb" />
|
|
206
|
+
<small class="text-text-400 text-xs">600</small>
|
|
207
|
+
</div>
|
|
208
|
+
|
|
209
|
+
<div class="flex flex-col items-center gap-2">
|
|
210
|
+
<ColorPicker v-model="media['html, .html']['--text-500'][selectorIndex('text')]"
|
|
211
|
+
mode="hex" :custom-color="true" value-type="rgb" />
|
|
212
|
+
<small class="text-text-400 text-xs">500</small>
|
|
213
|
+
</div>
|
|
214
|
+
|
|
215
|
+
<div class="flex flex-col items-center gap-2">
|
|
216
|
+
<ColorPicker v-model="media['html, .html']['--text-400'][selectorIndex('text')]"
|
|
217
|
+
mode="hex" :custom-color="true" value-type="rgb" />
|
|
218
|
+
<small class="text-text-400 text-xs">400</small>
|
|
219
|
+
</div>
|
|
118
220
|
|
|
119
|
-
|
|
221
|
+
<div class="flex flex-col items-center gap-2">
|
|
222
|
+
<ColorPicker v-model="media['html, .html']['--text-300'][selectorIndex('text')]"
|
|
223
|
+
mode="hex" :custom-color="true" value-type="rgb" />
|
|
224
|
+
<small class="text-text-400 text-xs">300</small>
|
|
225
|
+
</div>
|
|
120
226
|
|
|
121
|
-
<div>
|
|
122
|
-
<
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
<option v-for="opt in components.fontFamily"
|
|
126
|
-
:value="`${opt[1]}`">
|
|
127
|
-
{{ opt[0] }}
|
|
128
|
-
</option>
|
|
129
|
-
</Dropdown>
|
|
227
|
+
<div class="flex flex-col items-center gap-2">
|
|
228
|
+
<ColorPicker v-model="media['html, .html']['--text-200'][selectorIndex('text')]"
|
|
229
|
+
mode="hex" :custom-color="true" value-type="rgb" />
|
|
230
|
+
<small class="text-text-400 text-xs">200</small>
|
|
130
231
|
</div>
|
|
131
232
|
|
|
233
|
+
<div class="flex flex-col items-center gap-2">
|
|
234
|
+
<ColorPicker v-model="media['html, .html']['--text-100'][selectorIndex('text')]"
|
|
235
|
+
mode="hex" :custom-color="true" value-type="rgb" />
|
|
236
|
+
<small class="text-text-400 text-xs">100</small>
|
|
237
|
+
</div>
|
|
132
238
|
</div>
|
|
133
239
|
</div>
|
|
134
240
|
|
|
135
|
-
|
|
136
|
-
|
|
241
|
+
<div>
|
|
242
|
+
<div class="flex flex-row">
|
|
243
|
+
<div class="flex-1">
|
|
244
|
+
<small class="text-text-400">Background Color</small>
|
|
245
|
+
</div>
|
|
246
|
+
<div class="flex flex-row gap-1 self-center">
|
|
247
|
+
<button type="button" class="text-xs px-1" :class="selectorIndexes['base'] === 0 ? 'bg-primary text-white': ''" @click="selectorIndexes['base'] = 0">base</button>
|
|
248
|
+
<button type="button" class="text-xs px-1" :class="selectorIndexes['base'] === 1 ? 'bg-primary text-white': ''" @click="selectorIndexes['base'] = 1">md</button>
|
|
249
|
+
<button type="button" class="text-xs px-1" :class="selectorIndexes['base'] === 2 ? 'bg-primary text-white': ''" @click="selectorIndexes['base'] = 2">lg</button>
|
|
250
|
+
<button type="button" class="text-xs px-1" :class="selectorIndexes['base'] === 3 ? 'bg-primary text-white': ''" @click="selectorIndexes['base'] = 3">xl</button>
|
|
251
|
+
</div>
|
|
252
|
+
</div>
|
|
253
|
+
<div class="grid grid-cols-8 gap-2 mt-2">
|
|
254
|
+
<div class="flex flex-col items-center gap-2">
|
|
255
|
+
<ColorPicker v-model="media['html, .html']['--base-300'][selectorIndex('base')]"
|
|
256
|
+
mode="hex" :custom-color="true" value-type="rgb" />
|
|
257
|
+
<small class="text-text-400 text-xs">300</small>
|
|
258
|
+
</div>
|
|
137
259
|
|
|
138
|
-
|
|
260
|
+
<div class="flex flex-col items-center gap-2">
|
|
261
|
+
<ColorPicker v-model="media['html, .html']['--base-400'][selectorIndex('base')]"
|
|
262
|
+
mode="hex" :custom-color="true" value-type="rgb" />
|
|
263
|
+
<small class="text-text-400 text-xs">400</small>
|
|
264
|
+
</div>
|
|
265
|
+
|
|
266
|
+
<div class="flex flex-col items-center gap-2">
|
|
267
|
+
<ColorPicker v-model="media['html, .html']['--base-500'][selectorIndex('base')]"
|
|
268
|
+
mode="hex" :custom-color="true" value-type="rgb" />
|
|
269
|
+
<small class="text-text-400 text-xs">500</small>
|
|
270
|
+
</div>
|
|
271
|
+
</div>
|
|
272
|
+
</div>
|
|
139
273
|
|
|
140
|
-
<div class="flex flex-row gap-4 items-center cursor-pointer">
|
|
141
|
-
<strong class="flex-1 text-text-400">Splash</strong>
|
|
142
274
|
</div>
|
|
143
275
|
|
|
144
|
-
<div class="
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
276
|
+
<div class="p-6">
|
|
277
|
+
|
|
278
|
+
<small class="text-text-400">Splash</small>
|
|
279
|
+
|
|
280
|
+
<div class="mt-1 flex flex-col items-center gap-2">
|
|
281
|
+
<Image ref="splashImg"
|
|
282
|
+
:src="item.props.splash"
|
|
283
|
+
:editable="true"
|
|
284
|
+
@change="setSplash"
|
|
285
|
+
class="aspect-square bg-text-50 rounded-lg w-[100px]" />
|
|
286
|
+
|
|
287
|
+
<div class="flex flex-row gap-8">
|
|
288
|
+
<button type="button" class="text-primary"
|
|
289
|
+
@click="$refs.splashImg.edit()">
|
|
290
|
+
Upload
|
|
291
|
+
</button>
|
|
292
|
+
<button type="button" class="text-primary"
|
|
293
|
+
@click="removeSplash">
|
|
294
|
+
Remove
|
|
295
|
+
</button>
|
|
296
|
+
</div>
|
|
160
297
|
</div>
|
|
298
|
+
|
|
161
299
|
</div>
|
|
162
300
|
|
|
163
|
-
|
|
301
|
+
<div class="p-6 text-center">
|
|
302
|
+
<br />
|
|
303
|
+
<button type="button" class="text-text-300 hover:text-primary" @click="resetMedia">Reset</button>
|
|
304
|
+
</div>
|
|
164
305
|
|
|
165
|
-
<div class="p-6 text-center">
|
|
166
|
-
<button type="button" class="text-primary" @click="resetMedia">Reset to Default Style</button>
|
|
167
306
|
</div>
|
|
168
307
|
|
|
169
308
|
</div>
|
|
@@ -172,6 +311,60 @@
|
|
|
172
311
|
<script>
|
|
173
312
|
|
|
174
313
|
import ColorPicker from "../components/ColorPicker.vue";
|
|
314
|
+
import tinycolor from "tinycolor2";
|
|
315
|
+
|
|
316
|
+
const defaultMedia = {
|
|
317
|
+
":root": {
|
|
318
|
+
"--spacing-1": [],
|
|
319
|
+
"--spacing-2": [],
|
|
320
|
+
"--spacing-3": [],
|
|
321
|
+
"--spacing-4": [],
|
|
322
|
+
"--spacing-5": [],
|
|
323
|
+
"--spacing-6": [],
|
|
324
|
+
"--spacing-7": [],
|
|
325
|
+
"--spacing-8": [],
|
|
326
|
+
"--spacing-9": [],
|
|
327
|
+
"--spacing-10": [],
|
|
328
|
+
"--spacing-11": [],
|
|
329
|
+
"--spacing-12": []
|
|
330
|
+
},
|
|
331
|
+
"*": {
|
|
332
|
+
"font-family": [ "Poppins, sans-serif" ]
|
|
333
|
+
},
|
|
334
|
+
"html, .html": {
|
|
335
|
+
"font-size": [ '16px', '15px' ],
|
|
336
|
+
"--base-300": [ "rgb(235, 235, 235)" ],
|
|
337
|
+
"--base-400": [ "rgb(245, 245, 245)" ],
|
|
338
|
+
"--base-500": [ "rgb(255, 255, 255)" ],
|
|
339
|
+
"--primary-100": [],
|
|
340
|
+
"--primary-200": [],
|
|
341
|
+
"--primary-300": [],
|
|
342
|
+
"--primary-400": [],
|
|
343
|
+
"--primary-500": [ "rgb(0, 0, 0)" ],
|
|
344
|
+
"--primary-600": [ "rgb(15, 15, 15)" ],
|
|
345
|
+
"--primary-700": [],
|
|
346
|
+
"--primary-800": [],
|
|
347
|
+
"--primary-900": [],
|
|
348
|
+
"--secondary-100": [],
|
|
349
|
+
"--secondary-200": [],
|
|
350
|
+
"--secondary-300": [],
|
|
351
|
+
"--secondary-400": [],
|
|
352
|
+
"--secondary-500": [],
|
|
353
|
+
"--secondary-600": [],
|
|
354
|
+
"--secondary-700": [],
|
|
355
|
+
"--secondary-800": [],
|
|
356
|
+
"--secondary-900": [],
|
|
357
|
+
"--text-100": [],
|
|
358
|
+
"--text-200": [],
|
|
359
|
+
"--text-300": [],
|
|
360
|
+
"--text-400": [],
|
|
361
|
+
"--text-500": [ "rgb(33, 33, 33)" ],
|
|
362
|
+
"--text-600": [],
|
|
363
|
+
"--text-700": [],
|
|
364
|
+
"--text-800": [],
|
|
365
|
+
"--text-900": []
|
|
366
|
+
},
|
|
367
|
+
}
|
|
175
368
|
|
|
176
369
|
export default{
|
|
177
370
|
components: {ColorPicker},
|
|
@@ -189,6 +382,8 @@ export default{
|
|
|
189
382
|
|
|
190
383
|
viewType: String,
|
|
191
384
|
|
|
385
|
+
viewIndex: Number,
|
|
386
|
+
|
|
192
387
|
viewTypes: Array,
|
|
193
388
|
|
|
194
389
|
},
|
|
@@ -226,14 +421,28 @@ export default{
|
|
|
226
421
|
return this.media[key][propertyKey]
|
|
227
422
|
},
|
|
228
423
|
|
|
229
|
-
|
|
424
|
+
generateShade(key, value){
|
|
425
|
+
this.mediaOf('', 'html, .html')[`${key}`] = value
|
|
426
|
+
this.mediaOf('', 'html, .html')[`${key}-500`] = value
|
|
427
|
+
|
|
428
|
+
const lightenLevels = [[50, 52], [100, 37], [200, 26], [300, 12], [400, 6]];
|
|
429
|
+
const darkenLevels = [[600, 6], [700, 12], [800, 18], [900, 24]];
|
|
430
|
+
|
|
431
|
+
for(let [ idx, lvl ] of lightenLevels){
|
|
432
|
+
this.mediaOf(this.viewType, 'html, .html')[`${key}-${idx}`] =
|
|
433
|
+
tinycolor(`rgb(${value})`).lighten(lvl).toRgbString().substring(4).slice(0, -1)
|
|
434
|
+
}
|
|
230
435
|
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
this.item.props.media[key] = { '*': {}, 'html, .html': {}, 'h1, h2, h3, h4, h5':{} }
|
|
436
|
+
for(let [ idx, lvl ] of darkenLevels){
|
|
437
|
+
this.mediaOf(this.viewType, 'html, .html')[`${key}-${idx}`] =
|
|
438
|
+
tinycolor(`rgb(${value})`).darken(lvl).toRgbString().substring(4).slice(0, -1)
|
|
235
439
|
}
|
|
440
|
+
},
|
|
236
441
|
|
|
442
|
+
resetMedia(){
|
|
443
|
+
this.confirm('Reset styles?', () => {
|
|
444
|
+
this.media = defaultMedia
|
|
445
|
+
})
|
|
237
446
|
},
|
|
238
447
|
|
|
239
448
|
setSplash(base64, file){
|
|
@@ -254,6 +463,12 @@ export default{
|
|
|
254
463
|
|
|
255
464
|
removeSplash(){
|
|
256
465
|
this.item.props.splash = null
|
|
466
|
+
},
|
|
467
|
+
|
|
468
|
+
selectorIndex(selector){
|
|
469
|
+
if(!this.selectorIndexes[selector])
|
|
470
|
+
this.selectorIndexes[selector] = 0
|
|
471
|
+
return this.selectorIndexes[selector]
|
|
257
472
|
}
|
|
258
473
|
|
|
259
474
|
},
|
|
@@ -264,19 +479,10 @@ export default{
|
|
|
264
479
|
computed: {
|
|
265
480
|
|
|
266
481
|
media(){
|
|
267
|
-
if(!this.item.props.media)
|
|
268
|
-
this.
|
|
269
|
-
}
|
|
270
|
-
|
|
482
|
+
if(!this.item.props.media)
|
|
483
|
+
this.item.props.media = JSON.parse(JSON.stringify(defaultMedia))
|
|
271
484
|
return this.item.props.media
|
|
272
|
-
}
|
|
273
|
-
|
|
274
|
-
fontFamily(){
|
|
275
|
-
if(!Array.isArray(this.item.props['font-family']))
|
|
276
|
-
this.item.props['font-family'] = []
|
|
277
|
-
|
|
278
|
-
return this.item.props['font-family']
|
|
279
|
-
},
|
|
485
|
+
}
|
|
280
486
|
|
|
281
487
|
},
|
|
282
488
|
|
|
@@ -293,10 +499,14 @@ export default{
|
|
|
293
499
|
['Montserrat', 'Montserrat, sans-serif'],
|
|
294
500
|
['Noto Sans', '"Noto Sans", sans-serif'],
|
|
295
501
|
['Oswald', 'Oswald, sans-serif'],
|
|
502
|
+
['Oxygen', 'Oxygen, sans-serif'],
|
|
296
503
|
['Poppins', 'Poppins, sans-serif'],
|
|
504
|
+
['Quantico', 'Quantico, sans-serif'],
|
|
297
505
|
['Raleway', 'Raleway, sans-serif'],
|
|
506
|
+
['Reddit Sans', '"Reddit Sans", sans-serif'],
|
|
298
507
|
['Roboto', '"Roboto", sans-serif'],
|
|
299
508
|
['Roboto Slab', '"Roboto Slab", serif'],
|
|
509
|
+
['Volkhov', 'Volkhov, serif'],
|
|
300
510
|
['Work Sans', '"Work Sans", serif'],
|
|
301
511
|
],
|
|
302
512
|
|
|
@@ -309,9 +519,14 @@ export default{
|
|
|
309
519
|
[ '16px', '16px' ],
|
|
310
520
|
[ '17px', '17px' ],
|
|
311
521
|
[ '18px', '18px' ],
|
|
522
|
+
[ '19px', '19px' ],
|
|
523
|
+
[ '20px', '20px' ],
|
|
524
|
+
[ '21px', '21px' ],
|
|
312
525
|
]
|
|
313
526
|
},
|
|
314
527
|
|
|
528
|
+
selectorIndexes: {}
|
|
529
|
+
|
|
315
530
|
}
|
|
316
531
|
},
|
|
317
532
|
|