maglevcms 1.4.0 → 1.5.1

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 (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']),