maglevcms 1.4.0 → 1.5.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (110) hide show
  1. checksums.yaml +4 -4
  2. data/app/components/maglev/content/image.rb +1 -1
  3. data/app/controllers/maglev/api/assets_controller.rb +3 -3
  4. data/app/controllers/maglev/application_controller.rb +5 -0
  5. data/app/controllers/maglev/assets_controller.rb +1 -1
  6. data/app/controllers/maglev/editor_controller.rb +12 -3
  7. data/app/frontend/admin/controllers/screenshot_controller.js +5 -1
  8. data/app/frontend/editor/App.vue +1 -1
  9. data/app/frontend/editor/components/dynamic-form/dynamic-input.vue +17 -18
  10. data/app/frontend/editor/components/dynamic-form/index.vue +1 -1
  11. data/app/frontend/editor/components/header-nav/device-toggler.vue +1 -1
  12. data/app/frontend/editor/components/header-nav/index.vue +3 -3
  13. data/app/frontend/editor/components/header-nav/locale-toggler/index.vue +4 -4
  14. data/app/frontend/editor/components/header-nav/preview-toggler.vue +3 -3
  15. data/app/frontend/editor/components/header-nav/publish-button.vue +3 -3
  16. data/app/frontend/editor/components/header-nav/save-button.vue +1 -1
  17. data/app/frontend/editor/components/icon-library/index.vue +1 -1
  18. data/app/frontend/editor/components/image-library/index.vue +2 -2
  19. data/app/frontend/editor/components/image-library/list-item.vue +1 -1
  20. data/app/frontend/editor/components/image-library/uploader.vue +1 -1
  21. data/app/frontend/editor/components/kit/accordion.vue +8 -3
  22. data/app/frontend/editor/components/kit/checkbox-input.vue +1 -1
  23. data/app/frontend/editor/components/kit/collection-item-input.vue +7 -4
  24. data/app/frontend/editor/components/kit/color-input/core-input.vue +17 -12
  25. data/app/frontend/editor/components/kit/color-input/preset-button.vue +14 -10
  26. data/app/frontend/editor/components/kit/color-input/preset-dropdown.vue +8 -7
  27. data/app/frontend/editor/components/kit/color-input.vue +2 -4
  28. data/app/frontend/editor/components/kit/confirmation-button.vue +3 -3
  29. data/app/frontend/editor/components/kit/divider.vue +4 -4
  30. data/app/frontend/editor/components/kit/dropdown.vue +1 -1
  31. data/app/frontend/editor/components/kit/hint.vue +3 -3
  32. data/app/frontend/editor/components/kit/icon-input.vue +4 -4
  33. data/app/frontend/editor/components/kit/icon.vue +7 -2
  34. data/app/frontend/editor/components/kit/image-input.vue +5 -5
  35. data/app/frontend/editor/components/kit/index.js +25 -25
  36. data/app/frontend/editor/components/kit/link-input.vue +6 -6
  37. data/app/frontend/editor/components/kit/list-item-button.vue +2 -2
  38. data/app/frontend/editor/components/kit/modal-root.vue +3 -3
  39. data/app/frontend/editor/components/kit/modal.vue +2 -2
  40. data/app/frontend/editor/components/kit/page-icon.vue +2 -2
  41. data/app/frontend/editor/components/kit/pagination/index.vue +3 -3
  42. data/app/frontend/editor/components/kit/rich-text-input/block-button.vue +10 -10
  43. data/app/frontend/editor/components/kit/rich-text-input/menu-button.vue +1 -1
  44. data/app/frontend/editor/components/kit/rich-text-input/table-button.vue +18 -12
  45. data/app/frontend/editor/components/kit/rich-text-input.vue +1 -1
  46. data/app/frontend/editor/components/kit/search-input.vue +3 -3
  47. data/app/frontend/editor/components/kit/select-input.vue +19 -5
  48. data/app/frontend/editor/components/kit/simple-select.vue +1 -1
  49. data/app/frontend/editor/components/kit/submit-button.vue +4 -4
  50. data/app/frontend/editor/components/kit/tabs.vue +2 -2
  51. data/app/frontend/editor/components/kit/text-input.vue +1 -1
  52. data/app/frontend/editor/components/kit/textarea-input.vue +1 -1
  53. data/app/frontend/editor/components/link-picker/email.vue +1 -1
  54. data/app/frontend/editor/components/link-picker/index.vue +1 -1
  55. data/app/frontend/editor/components/link-picker/page.vue +5 -5
  56. data/app/frontend/editor/components/link-picker/url.vue +2 -2
  57. data/app/frontend/editor/components/page/edit.vue +3 -3
  58. data/app/frontend/editor/components/page/form/main.vue +3 -3
  59. data/app/frontend/editor/components/page/form/seo.vue +5 -5
  60. data/app/frontend/editor/components/page/list/list-item.vue +12 -12
  61. data/app/frontend/editor/components/page/new.vue +3 -3
  62. data/app/frontend/editor/components/section-block-pane/index.vue +1 -1
  63. data/app/frontend/editor/components/section-block-pane/setting-list.vue +1 -1
  64. data/app/frontend/editor/components/section-highlighter/bottom-actions.vue +1 -1
  65. data/app/frontend/editor/components/section-highlighter/top-left-actions.vue +7 -3
  66. data/app/frontend/editor/components/section-highlighter/top-right-actions.vue +9 -6
  67. data/app/frontend/editor/components/section-list/list-item.vue +12 -5
  68. data/app/frontend/editor/components/section-pane/block-list/list-item.vue +3 -3
  69. data/app/frontend/editor/components/section-pane/block-list/new-block-button.vue +4 -4
  70. data/app/frontend/editor/components/section-pane/block-tree/new-nested-block-button.vue +4 -4
  71. data/app/frontend/editor/components/section-pane/block-tree/tree-node.vue +2 -2
  72. data/app/frontend/editor/components/section-pane/index.vue +2 -2
  73. data/app/frontend/editor/components/section-pane/setting-list.vue +1 -1
  74. data/app/frontend/editor/components/sidebar-nav.vue +5 -5
  75. data/app/frontend/editor/components/style-pane/index.vue +1 -1
  76. data/app/frontend/editor/components/theme-section-list/index.vue +2 -2
  77. data/app/frontend/editor/components/theme-section-list/list-item.vue +1 -1
  78. data/app/frontend/editor/layouts/slide-pane.vue +1 -1
  79. data/app/frontend/editor/locales/index.js +5 -2
  80. data/app/frontend/editor/misc/utils.js +10 -7
  81. data/app/frontend/editor/mixins/global.js +1 -1
  82. data/app/frontend/editor/services/api.js +2 -2
  83. data/app/frontend/editor/services/image.js +6 -2
  84. data/app/frontend/editor/services/section.js +1 -0
  85. data/app/frontend/editor/store/actions/page.js +1 -1
  86. data/app/frontend/editor/store/getters.js +1 -1
  87. data/app/frontend/editor/views/content-pane.vue +9 -5
  88. data/app/frontend/editor/views/page-preview.vue +5 -1
  89. data/app/frontend/editor/views/pages/index.vue +1 -1
  90. data/app/frontend/live-preview-client/rails.js +1 -1
  91. data/app/frontend/live-preview-client/run-scripts.js +22 -24
  92. data/app/models/maglev/asset.rb +14 -0
  93. data/app/models/maglev/page/search_concern.rb +2 -1
  94. data/app/models/maglev/page.rb +18 -0
  95. data/app/models/maglev/page_path.rb +17 -0
  96. data/app/models/maglev/site.rb +24 -0
  97. data/db/migrate/20200824085207_create_maglev_sites.rb +2 -1
  98. data/db/migrate/20200824104648_create_maglev_pages.rb +2 -1
  99. data/db/migrate/20201206172020_create_maglev_assets.rb +2 -1
  100. data/db/migrate/20210830085101_create_maglev_page_paths.rb +3 -2
  101. data/lib/maglev/engine.rb +1 -0
  102. data/lib/maglev/migration.rb +20 -0
  103. data/lib/maglev/version.rb +1 -1
  104. data/lib/maglev.rb +7 -0
  105. data/lib/tasks/maglev_tasks.rake +1 -1
  106. data/package.json +21 -17
  107. data/{postcss.config.js → postcss.config.cjs} +1 -1
  108. data/yarn.lock +1171 -1009
  109. metadata +23 -9
  110. data/.eslintrc.js +0 -49
@@ -8,17 +8,17 @@
8
8
  <span v-if="isDefaultState" data-button-label>{{ defaultLabel }}</span>
9
9
 
10
10
  <span v-if="isInProgressState" class="flex items-center justify-center">
11
- <icon name="ri-loader-4-line" spin color="#fff" key="progress" />
11
+ <uikit-icon name="ri-loader-4-line" spin color="#fff" key="progress" />
12
12
  <span class="ml-2" data-button-label>{{ inProgressLabel }}</span>
13
13
  </span>
14
14
 
15
15
  <span v-if="isSuccessState" class="flex items-center justify-center">
16
- <icon name="ri-check-line" color="#fff" key="success" />
16
+ <uikit-icon name="ri-check-line" color="#fff" key="success" />
17
17
  <span class="ml-2" data-button-label>{{ successLabel }}</span>
18
18
  </span>
19
19
 
20
20
  <span v-if="isFailState" class="flex items-center justify-center">
21
- <icon name="ri-alert-line" color="#fff" key="fail" />
21
+ <uikit-icon name="ri-alert-line" color="#fff" key="fail" />
22
22
  <span class="ml-2" data-button-label>{{ failLabel }}</span>
23
23
  </span>
24
24
  </button>
@@ -26,7 +26,7 @@
26
26
 
27
27
  <script>
28
28
  export default {
29
- name: 'SubmitButton',
29
+ name: 'UIKitSubmitButton',
30
30
  props: {
31
31
  type: {
32
32
  type: String,
@@ -8,7 +8,7 @@
8
8
  v-for="(tab, index) in tabs"
9
9
  :key="`tab-${index}`"
10
10
  type="button"
11
- class=" py-1 pb-0 px-4 block hover:text-editor-primary focus:outline-none border-b-2 z-10"
11
+ class="py-1 pb-0 px-4 block hover:text-editor-primary focus:outline-none border-b-2 z-10"
12
12
  :class="{
13
13
  'text-gray-500 border-transparent': index !== currentIndex,
14
14
  'text-editor-primary font-medium border-editor-primary':
@@ -43,7 +43,7 @@
43
43
 
44
44
  <script>
45
45
  export default {
46
- name: 'Tabs',
46
+ name: 'UIKitTabs',
47
47
  props: {
48
48
  tabs: { type: Array, default: () => [] },
49
49
  firstIndex: { type: Number, default: 0 },
@@ -31,7 +31,7 @@
31
31
  import FocusedInputMixin from '@/mixins/focused-input'
32
32
 
33
33
  export default {
34
- name: 'TextInput',
34
+ name: 'UIKitTextInput',
35
35
  mixins: [FocusedInputMixin],
36
36
  props: {
37
37
  label: { type: String, default: 'Label' },
@@ -30,7 +30,7 @@
30
30
  import FocusedInputMixin from '@/mixins/focused-input'
31
31
 
32
32
  export default {
33
- name: 'TextInput',
33
+ name: 'UIKitTextInput',
34
34
  mixins: [FocusedInputMixin],
35
35
  props: {
36
36
  label: { type: String, default: 'Label' },
@@ -1,6 +1,6 @@
1
1
  <template>
2
2
  <div>
3
- <text-input
3
+ <uikit-text-input
4
4
  :label="$t(`linkPicker.email.input.label`)"
5
5
  name="email"
6
6
  v-model="emailInput"
@@ -1,6 +1,6 @@
1
1
  <template>
2
2
  <div class="mt-4">
3
- <tabs
3
+ <uikit-tabs
4
4
  :tabs="tabs"
5
5
  :firstIndex="firstTabIndex"
6
6
  :otherProps="{ currentLink: link }"
@@ -1,6 +1,6 @@
1
1
  <template>
2
2
  <div>
3
- <select-input
3
+ <uikit-select-input
4
4
  :label="$t(`linkPicker.page.input.label`)"
5
5
  :placeholder="$t(`linkPicker.page.input.placeholder`)"
6
6
  :searchEnabled="true"
@@ -23,10 +23,10 @@
23
23
  </span>
24
24
  </div>
25
25
  </template>
26
- </select-input>
26
+ </uikit-select-input>
27
27
 
28
28
  <div class="mt-6" v-if="hasPageSections">
29
- <select-input
29
+ <uikit-select-input
30
30
  :label="$t(`linkPicker.page.sectionInput.label`)"
31
31
  :placeholder="$t(`linkPicker.page.sectionInput.placeholder`)"
32
32
  :emptyLabel="$t(`linkPicker.page.sectionInput.emptyLabel`)"
@@ -42,10 +42,10 @@
42
42
  <span class="font-bold">{{ item.name }}</span>
43
43
  </div>
44
44
  </template>
45
- </select-input>
45
+ </uikit-select-input>
46
46
  </div>
47
47
 
48
- <checkbox-input
48
+ <uikit-checkbox-input
49
49
  :label="$t(`linkPicker.shared.newWindowInput.label`)"
50
50
  name="openNewWindow"
51
51
  class="mt-6"
@@ -1,12 +1,12 @@
1
1
  <template>
2
2
  <div>
3
- <text-input
3
+ <uikit-text-input
4
4
  :label="$t(`linkPicker.url.input.label`)"
5
5
  name="href"
6
6
  v-model="hrefInput"
7
7
  />
8
8
 
9
- <checkbox-input
9
+ <uikit-checkbox-input
10
10
  :label="$t(`linkPicker.shared.newWindowInput.label`)"
11
11
  name="openNewWindow"
12
12
  class="mt-6"
@@ -1,6 +1,6 @@
1
1
  <template>
2
2
  <div class="flex flex-col flex-1 overflow-y-hidden">
3
- <tabs
3
+ <uikit-tabs
4
4
  :tabs="tabs"
5
5
  :otherProps="{ page: editedPage, errors }"
6
6
  sharedClass="px-1/2"
@@ -8,7 +8,7 @@
8
8
  @on-change="onChange"
9
9
  />
10
10
  <div class="mt-auto">
11
- <submit-button
11
+ <uikit-submit-button
12
12
  type="button"
13
13
  class="big-submit-button"
14
14
  defaultColorClass="bg-editor-primary"
@@ -17,7 +17,7 @@
17
17
  @click="updatePage"
18
18
  >
19
19
  {{ $t('page.edit.submitButton') }}
20
- </submit-button>
20
+ </uikit-submit-button>
21
21
  <button
22
22
  class="cancel-button"
23
23
  v-if="insideModal"
@@ -1,13 +1,13 @@
1
1
  <template>
2
2
  <div class="mt-2 grid grid-cols-1 gap-4">
3
- <text-input
3
+ <uikit-text-input
4
4
  :label="$t(`page.form.title`)"
5
5
  name="title"
6
6
  v-model="titleInput"
7
7
  :error="errors.title"
8
8
  />
9
9
 
10
- <text-input
10
+ <uikit-text-input
11
11
  :label="$t(`page.form.path`)"
12
12
  name="path"
13
13
  v-model="pathInput"
@@ -15,7 +15,7 @@
15
15
  v-if="!isPageIndex || !page.id"
16
16
  />
17
17
 
18
- <checkbox-input
18
+ <uikit-checkbox-input
19
19
  :label="$t(`page.form.visible`)"
20
20
  :placeholder="$t(`page.form.visiblePlaceholder`)"
21
21
  name="visible"
@@ -1,6 +1,6 @@
1
1
  <template>
2
2
  <div class="mt-2 grid grid-cols-1 gap-4">
3
- <textarea-input
3
+ <uikit-textarea-input
4
4
  :label="$t(`page.form.seoTitle`)"
5
5
  name="seo-title"
6
6
  :max-length="60"
@@ -8,7 +8,7 @@
8
8
  v-model="seoTitleInput"
9
9
  />
10
10
 
11
- <textarea-input
11
+ <uikit-textarea-input
12
12
  :label="$t(`page.form.metaDescription`)"
13
13
  name="meta-description"
14
14
  :max-length="155"
@@ -16,7 +16,7 @@
16
16
  v-model="metaDescriptionInput"
17
17
  />
18
18
 
19
- <textarea-input
19
+ <uikit-textarea-input
20
20
  :label="$t(`page.form.ogTitle`)"
21
21
  name="og-title"
22
22
  :max-length="60"
@@ -24,7 +24,7 @@
24
24
  v-model="ogTitleInput"
25
25
  />
26
26
 
27
- <textarea-input
27
+ <uikit-textarea-input
28
28
  :label="$t(`page.form.ogDescription`)"
29
29
  name="og-description"
30
30
  :max-length="200"
@@ -32,7 +32,7 @@
32
32
  v-model="ogDescriptionInput"
33
33
  />
34
34
 
35
- <image-input
35
+ <uikit-image-input
36
36
  :label="$t(`page.form.ogImageUrl`)"
37
37
  name="og-image-url"
38
38
  :hasAltText="false"
@@ -6,9 +6,9 @@
6
6
  :to="{ name: 'editPage', params: { pageId: page.path } }"
7
7
  class="flex flex-grow items-center text-gray-800"
8
8
  >
9
- <page-icon :page="page" />
9
+ <uikit-page-icon :page="page" />
10
10
  <span class="ml-4">{{ page.title }}</span>
11
- <icon
11
+ <uikit-icon
12
12
  class="ml-4 text-gray-400"
13
13
  name="ri-eye-off-line"
14
14
  size="1rem"
@@ -16,12 +16,12 @@
16
16
  />
17
17
  </router-link>
18
18
  <div class="ml-auto pr-2 relative">
19
- <dropdown v-on="$listeners">
19
+ <uikit-dropdown v-on="$listeners">
20
20
  <template v-slot:button>
21
21
  <button
22
22
  class="px-1 py-1 rounded-full bg-editor-primary bg-opacity-0 hover:text-gray-900 text-gray-600 focus:outline-none hover:bg-opacity-10 transition-colors duration-200"
23
23
  >
24
- <icon name="ri-more-2-fill" size="1.25rem" />
24
+ <uikit-icon name="ri-more-2-fill" size="1.25rem" />
25
25
  </button>
26
26
  </template>
27
27
  <template v-slot:content>
@@ -30,7 +30,7 @@
30
30
  class="flex items-center px-4 py-4 hover:bg-gray-100 transition-colors duration-200 focus:outline-none"
31
31
  @click.stop="openEditPageModal"
32
32
  >
33
- <icon name="ri-settings-5-line" />
33
+ <uikit-icon name="ri-settings-5-line" />
34
34
  <span class="ml-2 whitespace-nowrap">{{
35
35
  $t('page.list.item.edit')
36
36
  }}</span>
@@ -39,7 +39,7 @@
39
39
  class="flex items-center px-4 py-4 hover:bg-gray-100 transition-colors duration-200 focus:outline-none"
40
40
  @click.stop="clonePage"
41
41
  >
42
- <icon name="ri-file-copy-line" />
42
+ <uikit-icon name="ri-file-copy-line" />
43
43
  <span class="ml-2">{{ $t('page.list.item.clone') }}</span>
44
44
  </button>
45
45
  <button
@@ -47,7 +47,7 @@
47
47
  @click.stop="hidePage"
48
48
  v-if="isVisible"
49
49
  >
50
- <icon name="ri-eye-off-line" />
50
+ <uikit-icon name="ri-eye-off-line" />
51
51
  <span class="ml-2">{{ $t('page.list.item.hide') }}</span>
52
52
  </button>
53
53
  <button
@@ -55,10 +55,10 @@
55
55
  @click.stop="showPage"
56
56
  v-if="!isVisible"
57
57
  >
58
- <icon name="ri-eye-line" />
58
+ <uikit-icon name="ri-eye-line" />
59
59
  <span class="ml-2">{{ $t('page.list.item.show') }}</span>
60
60
  </button>
61
- <confirmation-button
61
+ <uikit-confirmation-button
62
62
  @confirm="deletePage"
63
63
  ref="deleteDropdown"
64
64
  v-if="!isIndexPage"
@@ -66,13 +66,13 @@
66
66
  <button
67
67
  class="flex items-center w-full px-4 py-4 hover:bg-gray-100 transition-colors duration-200 focus:outline-none"
68
68
  >
69
- <icon name="delete-bin-line" />
69
+ <uikit-icon name="delete-bin-line" />
70
70
  <span class="ml-2">{{ $t('page.list.item.delete') }}</span>
71
71
  </button>
72
- </confirmation-button>
72
+ </uikit-confirmation-button>
73
73
  </div>
74
74
  </template>
75
- </dropdown>
75
+ </uikit-dropdown>
76
76
  </div>
77
77
  </div>
78
78
  </template>
@@ -1,6 +1,6 @@
1
1
  <template>
2
2
  <div class="flex flex-col flex-1 overflow-y-hidden">
3
- <tabs
3
+ <uikit-tabs
4
4
  :tabs="tabs"
5
5
  :otherProps="{ page, errors }"
6
6
  sharedClass="px-1/2"
@@ -8,7 +8,7 @@
8
8
  @on-change="onChange"
9
9
  />
10
10
  <div class="mt-auto">
11
- <submit-button
11
+ <uikit-submit-button
12
12
  type="button"
13
13
  class="big-submit-button"
14
14
  defaultColorClass="bg-editor-primary"
@@ -17,7 +17,7 @@
17
17
  @click="createPage"
18
18
  >
19
19
  {{ $t('page.new.submitButton') }}
20
- </submit-button>
20
+ </uikit-submit-button>
21
21
  <button class="cancel-button" @click="$emit('on-close')">
22
22
  {{ $t('page.new.cancelButton') }}
23
23
  </button>
@@ -1,5 +1,5 @@
1
1
  <template>
2
- <tabs
2
+ <uikit-tabs
3
3
  :tabs="tabs"
4
4
  :firstIndex="tabIndexFromRoute"
5
5
  :otherProps="{ sectionBlockId: currentSectionBlock.id, settingId }"
@@ -34,7 +34,7 @@ export default {
34
34
  },
35
35
  i18nScope() {
36
36
  return `${this.currentSectionBlockI18nScope}.settings`
37
- }
37
+ },
38
38
  },
39
39
  methods: {
40
40
  ...mapActions(['updateSectionBlockContent']),
@@ -17,7 +17,7 @@
17
17
  @keypress.enter="navigate"
18
18
  class="button top-4"
19
19
  >
20
- <icon name="ri-add-line" size="1.5rem" />
20
+ <uikit-icon name="ri-add-line" size="1.5rem" />
21
21
  </button>
22
22
  </router-link>
23
23
  </div>
@@ -12,7 +12,7 @@
12
12
  @click="moveHoveredSection('up')"
13
13
  v-if="displayMoveArrows"
14
14
  >
15
- <icon name="arrow-up-s-line" />
15
+ <uikit-icon name="arrow-up-s-line" />
16
16
  </button>
17
17
  <button
18
18
  type="button"
@@ -20,7 +20,7 @@
20
20
  @click="moveHoveredSection('down')"
21
21
  v-if="displayMoveArrows"
22
22
  >
23
- <icon name="arrow-down-s-line" />
23
+ <uikit-icon name="arrow-down-s-line" />
24
24
  </button>
25
25
  </div>
26
26
  </template>
@@ -35,7 +35,11 @@ export default {
35
35
  },
36
36
  computed: {
37
37
  name() {
38
- return this.$st(`${this.currentI18nScope}.sections.${this.sectionType}.name`) || this.hoveredSection.name
38
+ return (
39
+ this.$st(
40
+ `${this.currentI18nScope}.sections.${this.sectionType}.name`,
41
+ ) || this.hoveredSection.name
42
+ )
39
43
  },
40
44
  sectionType() {
41
45
  return this.hoveredSection.definition.id
@@ -15,7 +15,7 @@
15
15
  @keypress.enter="navigate"
16
16
  class="ml-2 button"
17
17
  >
18
- <icon name="ri-pencil-line" />
18
+ <uikit-icon name="ri-pencil-line" />
19
19
  </button>
20
20
  </router-link>
21
21
 
@@ -35,7 +35,7 @@
35
35
  @keypress.enter="navigate"
36
36
  class="ml-2 button"
37
37
  >
38
- <icon name="ri-play-list-add-line" />
38
+ <uikit-icon name="ri-play-list-add-line" />
39
39
  </button>
40
40
  </router-link>
41
41
 
@@ -55,15 +55,18 @@
55
55
  @keypress.enter="navigate"
56
56
  class="ml-2 button"
57
57
  >
58
- <icon name="ri-settings-5-line" />
58
+ <uikit-icon name="ri-settings-5-line" />
59
59
  </button>
60
60
  </router-link>
61
61
 
62
- <confirmation-button class="ml-2 pointer-events-auto" @confirm="remove">
62
+ <uikit-confirmation-button
63
+ class="ml-2 pointer-events-auto"
64
+ @confirm="remove"
65
+ >
63
66
  <div class="button">
64
- <icon name="delete-bin-line" />
67
+ <uikit-icon name="delete-bin-line" />
65
68
  </div>
66
- </confirmation-button>
69
+ </uikit-confirmation-button>
67
70
  </div>
68
71
  </template>
69
72
 
@@ -8,13 +8,16 @@
8
8
  >
9
9
  <span>{{ name | truncate(40) }}</span>
10
10
  </router-link>
11
- <confirmation-button @confirm="removeSection(section.id)" v-on="$listeners">
11
+ <uikit-confirmation-button
12
+ @confirm="removeSection(section.id)"
13
+ v-on="$listeners"
14
+ >
12
15
  <button
13
16
  class="px-1 py-1 rounded-full bg-gray-600 bg-opacity-0 hover:text-gray-900 text-gray-600 focus:outline-none hover:bg-opacity-10 transition-colors duration-200"
14
17
  >
15
- <icon name="ri-close-line" size="1.25rem" />
18
+ <uikit-icon name="ri-close-line" size="1.25rem" />
16
19
  </button>
17
- </confirmation-button>
20
+ </uikit-confirmation-button>
18
21
  </div>
19
22
  </template>
20
23
 
@@ -28,8 +31,12 @@ export default {
28
31
  },
29
32
  computed: {
30
33
  name() {
31
- return this.$st(`${this.currentI18nScope}.sections.${this.section.type}.name`) || this.section.name
32
- }
34
+ return (
35
+ this.$st(
36
+ `${this.currentI18nScope}.sections.${this.section.type}.name`,
37
+ ) || this.section.name
38
+ )
39
+ },
33
40
  },
34
41
  methods: {
35
42
  ...mapActions(['removeSection']),
@@ -22,12 +22,12 @@
22
22
  </router-link>
23
23
  <div class="flex items-center">
24
24
  <slot name="actions"></slot>
25
- <confirmation-button
25
+ <uikit-confirmation-button
26
26
  @confirm="removeSectionBlock(sectionBlock.id)"
27
27
  v-on="$listeners"
28
28
  >
29
- <list-item-button iconName="ri-close-line" />
30
- </confirmation-button>
29
+ <uikit-list-item-button iconName="ri-close-line" />
30
+ </uikit-confirmation-button>
31
31
  </div>
32
32
  </div>
33
33
  </template>
@@ -1,6 +1,6 @@
1
1
  <template>
2
2
  <div v-if="hasTypes" class="w-full button-wrapper">
3
- <dropdown
3
+ <uikit-dropdown
4
4
  ref="dropdown"
5
5
  placement="top"
6
6
  v-on="$listeners"
@@ -8,7 +8,7 @@
8
8
  >
9
9
  <template v-slot:button>
10
10
  <button class="big-submit-button bg-editor-primary">
11
- <icon name="ri-add-line" size="1.5rem" />
11
+ <uikit-icon name="ri-add-line" size="1.5rem" />
12
12
  <span class="ml-3">{{ $t('sectionPane.blockList.add') }}</span>
13
13
  </button>
14
14
  </template>
@@ -24,13 +24,13 @@
24
24
  </button>
25
25
  </div>
26
26
  </template>
27
- </dropdown>
27
+ </uikit-dropdown>
28
28
  <button
29
29
  class="big-submit-button bg-editor-primary"
30
30
  @click="addSectionBlock"
31
31
  v-else
32
32
  >
33
- <icon name="ri-add-line" size="1.5rem" />
33
+ <uikit-icon name="ri-add-line" size="1.5rem" />
34
34
  <span class="ml-3">{{ $t('sectionPane.blockList.add') }}</span>
35
35
  </button>
36
36
  </div>
@@ -1,6 +1,6 @@
1
1
  <template>
2
2
  <div class="w-full">
3
- <dropdown
3
+ <uikit-dropdown
4
4
  placement="left"
5
5
  ref="dropdown"
6
6
  :fullWidth="true"
@@ -8,7 +8,7 @@
8
8
  v-if="hasMultipleTypes"
9
9
  >
10
10
  <template v-slot:button>
11
- <list-item-button iconName="ri-add-line" />
11
+ <uikit-list-item-button iconName="ri-add-line" />
12
12
  </template>
13
13
  <template v-slot:content>
14
14
  <div class="w-full flex flex-col">
@@ -22,8 +22,8 @@
22
22
  </button>
23
23
  </div>
24
24
  </template>
25
- </dropdown>
26
- <list-item-button
25
+ </uikit-dropdown>
26
+ <uikit-list-item-button
27
27
  iconName="ri-add-line"
28
28
  @click.native="addNestedSectionBlock"
29
29
  v-else
@@ -14,13 +14,13 @@
14
14
  v-on="$listeners"
15
15
  />
16
16
 
17
- <list-item-button
17
+ <uikit-list-item-button
18
18
  iconName="arrow-up-s-line"
19
19
  @click.native="moveSectionBlockUp"
20
20
  v-if="index > 0"
21
21
  />
22
22
 
23
- <list-item-button
23
+ <uikit-list-item-button
24
24
  iconName="arrow-down-s-line"
25
25
  @click.native="moveSectionBlockDown"
26
26
  v-if="!last"
@@ -1,5 +1,5 @@
1
1
  <template>
2
- <tabs
2
+ <uikit-tabs
3
3
  :tabs="tabs"
4
4
  :firstIndex="tabIndexFromRoute"
5
5
  :otherProps="{ sectionId: currentSection.id, settingId }"
@@ -71,7 +71,7 @@ export default {
71
71
  return this.currentSectionDefinition.blocksPresentation === 'tree'
72
72
  ? BlockTree
73
73
  : BlockList
74
- }
74
+ },
75
75
  },
76
76
  methods: {
77
77
  findTabIndexFromRoute() {
@@ -34,7 +34,7 @@ export default {
34
34
  },
35
35
  i18nScope() {
36
36
  return `${this.currentSectionI18nScope}.settings`
37
- }
37
+ },
38
38
  },
39
39
  methods: {
40
40
  ...mapActions(['updateSectionContent']),
@@ -17,7 +17,7 @@
17
17
  }"
18
18
  v-tooltip.right="$t('sidebarNav.addNewSectionTooltip')"
19
19
  >
20
- <icon name="add-box-line" size="1.5rem" />
20
+ <uikit-icon name="add-box-line" size="1.5rem" />
21
21
  </router-link>
22
22
  </li>
23
23
  <li>
@@ -30,7 +30,7 @@
30
30
  }"
31
31
  v-tooltip.right="$t('sidebarNav.managePageSectionsTooltip')"
32
32
  >
33
- <icon name="ri-stack-line" size="1.5rem" />
33
+ <uikit-icon name="ri-stack-line" size="1.5rem" />
34
34
  </router-link>
35
35
  </li>
36
36
  <li v-if="hasStyle">
@@ -43,7 +43,7 @@
43
43
  }"
44
44
  v-tooltip.right="$t('sidebarNav.editStyleTooltip')"
45
45
  >
46
- <icon name="ri-drop-line" size="1.25rem" />
46
+ <uikit-icon name="ri-drop-line" size="1.25rem" />
47
47
  </router-link>
48
48
  </li>
49
49
  <li>
@@ -53,7 +53,7 @@
53
53
  @click.prevent="openImageLibraryModal"
54
54
  v-tooltip.right="$t('sidebarNav.openImageLibraryTooltip')"
55
55
  >
56
- <icon name="image-line" size="1.5rem" />
56
+ <uikit-icon name="image-line" size="1.5rem" />
57
57
  </a>
58
58
  </li>
59
59
  <li v-if="false">
@@ -83,7 +83,7 @@
83
83
  class="flex justify-center py-5 -ml-4 -mr-4 hover:bg-editor-primary hover:bg-opacity-5 transition-colors duration-200"
84
84
  v-tooltip.right="$t('sidebarNav.leaveEditorTooltip')"
85
85
  >
86
- <icon name="logout-box-r-line" size="1.5rem" />
86
+ <uikit-icon name="logout-box-r-line" size="1.5rem" />
87
87
  </a>
88
88
  </li>
89
89
  </ol>
@@ -31,7 +31,7 @@ export default {
31
31
  },
32
32
  i18nScope() {
33
33
  return `${this.currentStyleI18nScope}.settings`
34
- }
34
+ },
35
35
  },
36
36
  methods: {
37
37
  ...mapActions(['previewStyle']),