alchemy_cms 8.0.5 → 8.0.6

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.
@@ -31,19 +31,3 @@ import "alchemy_admin/components/spinner"
31
31
  import "alchemy_admin/components/tags_autocomplete"
32
32
  import "alchemy_admin/components/tinymce"
33
33
  import "alchemy_admin/components/update_check"
34
-
35
- await Promise.race([
36
- // Load all global custom elements
37
- Promise.allSettled([
38
- customElements.whenDefined("alchemy-button"),
39
- customElements.whenDefined("alchemy-icon"),
40
- customElements.whenDefined("alchemy-growl"),
41
- customElements.whenDefined("alchemy-message"),
42
- customElements.whenDefined("alchemy-spinner")
43
- ]),
44
- // Resolve after two seconds
45
- new Promise((resolve) => setTimeout(resolve, 1250))
46
- ])
47
-
48
- // Remove the class, showing the page content
49
- document.documentElement.classList.remove("loading-custom-elements")
@@ -69,7 +69,7 @@
69
69
  &.disabled,
70
70
  &[disabled] {
71
71
  background-color: var(--button-disabled-bg-color);
72
- border-color: var(--button-border-color);
72
+ border-color: var(--button-disabled-border-color);
73
73
  cursor: not-allowed;
74
74
  box-shadow: none;
75
75
  outline: none;
@@ -10,10 +10,6 @@ html {
10
10
  background-color: var(--color-blue_medium) !important;
11
11
  z-index: 400001;
12
12
  }
13
-
14
- &.loading-custom-elements body {
15
- opacity: 0;
16
- }
17
13
  }
18
14
 
19
15
  *,
@@ -59,6 +55,17 @@ body {
59
55
  &.prevent-scrolling {
60
56
  overflow: hidden;
61
57
  }
58
+
59
+ &:has(:not(:defined)) {
60
+ opacity: var(--custom-elements-loaded, 0);
61
+ animation: custom-elements-loaded 0 linear 250ms forwards;
62
+ }
63
+ }
64
+
65
+ @keyframes custom-elements-loaded {
66
+ to {
67
+ --custom-elements-loaded: 1;
68
+ }
62
69
  }
63
70
 
64
71
  a {
@@ -93,16 +93,20 @@ alchemy-tinymce {
93
93
  border-radius: var(--border-radius_medium);
94
94
  }
95
95
 
96
- #main-content-elements {
96
+ alchemy-elements-window {
97
97
  --scrollable-elements-offset: calc(
98
98
  var(--top-menu-height) + var(--toolbar-height)
99
99
  );
100
+ }
101
+
102
+ #main-content-elements {
100
103
  padding: var(--spacing-2) var(--spacing-1) 2px;
101
104
  }
102
105
 
103
- #fixed-elements sl-tab-panel {
106
+ #fixed-elements {
104
107
  --scrollable-elements-offset: calc(
105
- var(--top-menu-height) + var(--toolbar-height) + 51px
108
+ var(--top-menu-height) + var(--toolbar-height) +
109
+ var(--fixed-elements-tabs-height, 51px)
106
110
  );
107
111
  }
108
112
 
@@ -0,0 +1,6 @@
1
+ <sl-tab slot="nav" panel="fixed-element-<%= element.id %>">
2
+ <%= element.display_name %>
3
+ </sl-tab>
4
+ <sl-tab-panel id="fixed_element_<%= element.id %>" name="fixed-element-<%= element.id %>" style="--padding: 0" class="scrollable-elements">
5
+ <%= render Alchemy::ElementEditor.new(element) %>
6
+ </sl-tab-panel>
@@ -8,6 +8,9 @@
8
8
 
9
9
  <% if @element.fixed? %>
10
10
  <% target = "fixed_element_#{@element.id}" %>
11
+ <%= turbo_stream.append "fixed-elements",
12
+ partial: "alchemy/admin/elements/fixed_element",
13
+ locals: {element: @element} %>
11
14
  <% elsif @element.parent_element %>
12
15
  <% target = "element_#{@element.parent_element_id}_nested_elements" %>
13
16
  <% else %>
@@ -25,11 +25,7 @@
25
25
  <sl-tab slot="nav" panel="main-content-elements">
26
26
  <%= Alchemy.t(:main_content) %>
27
27
  </sl-tab>
28
- <% @fixed_elements.each do |element| %>
29
- <sl-tab slot="nav" panel="fixed-element-<%= element.id %>">
30
- <%= element.display_name %>
31
- </sl-tab>
32
- <% end %>
28
+ <%= render partial: "fixed_element", collection: @fixed_elements, as: :element %>
33
29
  <sl-tab-panel
34
30
  name="main-content-elements"
35
31
  class="sortable-elements scrollable-elements"
@@ -40,11 +36,6 @@
40
36
  >
41
37
  <%= render @elements.map { |element| Alchemy::ElementEditor.new(element) } %>
42
38
  </sl-tab-panel>
43
- <% @fixed_elements.each do |element| %>
44
- <sl-tab-panel id="fixed_element_<%= element.id %>" name="fixed-element-<%= element.id %>" style="--padding: 0" class="scrollable-elements">
45
- <%= render Alchemy::ElementEditor.new(element) %>
46
- </sl-tab-panel>
47
- <% end %>
48
39
  </sl-tab-group>
49
40
  <% else %>
50
41
  <div
@@ -1,5 +1,5 @@
1
1
  <!DOCTYPE html>
2
- <html lang="<%= ::I18n.locale %>" class="no-js loading-custom-elements">
2
+ <html lang="<%= ::I18n.locale %>" class="no-js">
3
3
  <head>
4
4
  <meta charset="utf-8">
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1">
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Alchemy
4
- VERSION = "8.0.5"
4
+ VERSION = "8.0.6"
5
5
 
6
6
  def self.version
7
7
  VERSION
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: alchemy_cms
3
3
  version: !ruby/object:Gem::Version
4
- version: 8.0.5
4
+ version: 8.0.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Thomas von Deyen
@@ -1039,6 +1039,7 @@ files:
1039
1039
  - app/views/alchemy/admin/dashboard/widgets/_users.html.erb
1040
1040
  - app/views/alchemy/admin/elements/_add_nested_element_form.html.erb
1041
1041
  - app/views/alchemy/admin/elements/_element.html.erb
1042
+ - app/views/alchemy/admin/elements/_fixed_element.html.erb
1042
1043
  - app/views/alchemy/admin/elements/_footer.html.erb
1043
1044
  - app/views/alchemy/admin/elements/_form.html.erb
1044
1045
  - app/views/alchemy/admin/elements/_header.html.erb