@elementor/editor 0.11.1 → 0.12.0

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/CHANGELOG.md CHANGED
@@ -3,302 +3,179 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
- ## [0.11.1](https://github.com/elementor/elementor-packages/compare/@elementor/editor@0.11.0...@elementor/editor@0.11.1) (2024-07-16)
7
-
6
+ # [0.12.0](https://github.com/elementor/elementor-packages/compare/@elementor/editor@0.11.2...@elementor/editor@0.12.0) (2024-08-05)
8
7
 
9
8
  ### Bug Fixes
10
9
 
11
- * **editor:** remove extensions dependency [EDS-263] ([#204](https://github.com/elementor/elementor-packages/issues/204)) ([22ca6a4](https://github.com/elementor/elementor-packages/commit/22ca6a423818c479ef7fafc177bba6e45dd697ff))
12
-
10
+ - publish only necessary files to npm ([#226](https://github.com/elementor/elementor-packages/issues/226)) ([d808e2f](https://github.com/elementor/elementor-packages/commit/d808e2f60eb7ca2d7b8560d0b79c0e62c2f969a8))
13
11
 
12
+ ### Features
14
13
 
14
+ - **editor-editing-panel:** change textarea component [EDS-311] ([#221](https://github.com/elementor/elementor-packages/issues/221)) ([a9ab0d5](https://github.com/elementor/elementor-packages/commit/a9ab0d53e87086e323c4f024dca0eae93005e1a1))
15
+ - **editor-editing-panel:** settings and style tabs [EDS-277] ([#217](https://github.com/elementor/elementor-packages/issues/217)) ([c623797](https://github.com/elementor/elementor-packages/commit/c6237974d9940a2b58bdd1df3d835dc828e323f4))
15
16
 
17
+ ## [0.11.2](https://github.com/elementor/elementor-packages/compare/@elementor/editor@0.11.1...@elementor/editor@0.11.2) (2024-07-16)
16
18
 
17
- # [0.11.0](https://github.com/elementor/elementor-packages/compare/@elementor/editor@0.10.13...@elementor/editor@0.11.0) (2024-07-08)
18
-
19
+ **Note:** Version bump only for package @elementor/editor
19
20
 
20
- ### Features
21
+ ## [0.11.1](https://github.com/elementor/elementor-packages/compare/@elementor/editor@0.11.0...@elementor/editor@0.11.1) (2024-07-16)
21
22
 
22
- * **editor-editing-panel:** create editor panel package [EDS-226] ([#188](https://github.com/elementor/elementor-packages/issues/188)) ([e361aed](https://github.com/elementor/elementor-packages/commit/e361aed023c3a5d4dd329b354f1403de238da20e))
23
+ ### Bug Fixes
23
24
 
25
+ - **editor:** remove extensions dependency [EDS-263] ([#204](https://github.com/elementor/elementor-packages/issues/204)) ([22ca6a4](https://github.com/elementor/elementor-packages/commit/22ca6a423818c479ef7fafc177bba6e45dd697ff))
24
26
 
27
+ # [0.11.0](https://github.com/elementor/elementor-packages/compare/@elementor/editor@0.10.13...@elementor/editor@0.11.0) (2024-07-08)
25
28
 
29
+ ### Features
26
30
 
31
+ - **editor-editing-panel:** create editor panel package [EDS-226] ([#188](https://github.com/elementor/elementor-packages/issues/188)) ([e361aed](https://github.com/elementor/elementor-packages/commit/e361aed023c3a5d4dd329b354f1403de238da20e))
27
32
 
28
33
  ## [0.10.13](https://github.com/elementor/elementor-packages/compare/@elementor/editor@0.10.12...@elementor/editor@0.10.13) (2024-07-03)
29
34
 
30
35
  **Note:** Version bump only for package @elementor/editor
31
36
 
32
-
33
-
34
-
35
-
36
37
  ## [0.10.12](https://github.com/elementor/elementor-packages/compare/@elementor/editor@0.10.11...@elementor/editor@0.10.12) (2024-07-02)
37
38
 
38
39
  **Note:** Version bump only for package @elementor/editor
39
40
 
40
-
41
-
42
-
43
-
44
41
  ## [0.10.11](https://github.com/elementor/elementor-packages/compare/@elementor/editor@0.10.10...@elementor/editor@0.10.11) (2024-05-09)
45
42
 
46
43
  **Note:** Version bump only for package @elementor/editor
47
44
 
48
-
49
-
50
-
51
-
52
45
  ## [0.10.10](https://github.com/elementor/elementor-packages/compare/@elementor/editor@0.10.9...@elementor/editor@0.10.10) (2024-05-07)
53
46
 
54
47
  **Note:** Version bump only for package @elementor/editor
55
48
 
56
-
57
-
58
-
59
-
60
49
  ## [0.10.9](https://github.com/elementor/elementor-packages/compare/@elementor/editor@0.10.8...@elementor/editor@0.10.9) (2024-04-16)
61
50
 
62
51
  **Note:** Version bump only for package @elementor/editor
63
52
 
64
-
65
-
66
-
67
-
68
53
  ## [0.10.8](https://github.com/elementor/elementor-packages/compare/@elementor/editor@0.10.7...@elementor/editor@0.10.8) (2024-02-28)
69
54
 
70
55
  **Note:** Version bump only for package @elementor/editor
71
56
 
72
-
73
-
74
-
75
-
76
57
  ## [0.10.7](https://github.com/elementor/elementor-packages/compare/@elementor/editor@0.10.6...@elementor/editor@0.10.7) (2024-02-22)
77
58
 
78
59
  **Note:** Version bump only for package @elementor/editor
79
60
 
80
-
81
-
82
-
83
-
84
61
  ## [0.10.6](https://github.com/elementor/elementor-packages/compare/@elementor/editor@0.10.5...@elementor/editor@0.10.6) (2024-01-29)
85
62
 
86
63
  **Note:** Version bump only for package @elementor/editor
87
64
 
88
-
89
-
90
-
91
-
92
65
  ## [0.10.5](https://github.com/elementor/elementor-packages/compare/@elementor/editor@0.10.4...@elementor/editor@0.10.5) (2023-11-07)
93
66
 
94
67
  **Note:** Version bump only for package @elementor/editor
95
68
 
96
-
97
-
98
-
99
-
100
69
  ## [0.10.4](https://github.com/elementor/elementor-packages/compare/@elementor/editor@0.10.3...@elementor/editor@0.10.4) (2023-11-02)
101
70
 
102
71
  **Note:** Version bump only for package @elementor/editor
103
72
 
104
-
105
-
106
-
107
-
108
73
  ## [0.10.3](https://github.com/elementor/elementor-packages/compare/@elementor/editor@0.10.2...@elementor/editor@0.10.3) (2023-10-19)
109
74
 
110
75
  **Note:** Version bump only for package @elementor/editor
111
76
 
112
-
113
-
114
-
115
-
116
77
  ## [0.10.2](https://github.com/elementor/elementor-packages/compare/@elementor/editor@0.10.1...@elementor/editor@0.10.2) (2023-10-19)
117
78
 
118
79
  **Note:** Version bump only for package @elementor/editor
119
80
 
120
-
121
-
122
-
123
-
124
81
  ## [0.10.1](https://github.com/elementor/elementor-packages/compare/@elementor/editor@0.10.0...@elementor/editor@0.10.1) (2023-09-26)
125
82
 
126
83
  **Note:** Version bump only for package @elementor/editor
127
84
 
128
-
129
-
130
-
131
-
132
85
  # [0.10.0](https://github.com/elementor/elementor-packages/compare/@elementor/editor@0.9.0...@elementor/editor@0.10.0) (2023-09-14)
133
86
 
134
-
135
87
  ### Features
136
88
 
137
- * **v1-adapters:** mark private functions [ED-12029] ([#122](https://github.com/elementor/elementor-packages/issues/122)) ([2e79ccc](https://github.com/elementor/elementor-packages/commit/2e79ccc87add5f0508b5a142f9f6d832b4657062))
138
-
139
-
140
-
141
-
89
+ - **v1-adapters:** mark private functions [ED-12029] ([#122](https://github.com/elementor/elementor-packages/issues/122)) ([2e79ccc](https://github.com/elementor/elementor-packages/commit/2e79ccc87add5f0508b5a142f9f6d832b4657062))
142
90
 
143
91
  # [0.9.0](https://github.com/elementor/elementor-packages/compare/@elementor/editor@0.8.1...@elementor/editor@0.9.0) (2023-09-11)
144
92
 
145
-
146
93
  ### Features
147
94
 
148
- * **editor-documents:** mark experimental functions [ED-12066] ([#112](https://github.com/elementor/elementor-packages/issues/112)) ([f4b7a9a](https://github.com/elementor/elementor-packages/commit/f4b7a9ac7953a2b48062349495acff05b5640de3))
149
- * **store:** mark experimental functions [ED-12070] ([#114](https://github.com/elementor/elementor-packages/issues/114)) ([d790829](https://github.com/elementor/elementor-packages/commit/d79082911195c75f6d3a89a5619b234e2f5ce158))
150
-
151
-
152
-
153
-
95
+ - **editor-documents:** mark experimental functions [ED-12066] ([#112](https://github.com/elementor/elementor-packages/issues/112)) ([f4b7a9a](https://github.com/elementor/elementor-packages/commit/f4b7a9ac7953a2b48062349495acff05b5640de3))
96
+ - **store:** mark experimental functions [ED-12070] ([#114](https://github.com/elementor/elementor-packages/issues/114)) ([d790829](https://github.com/elementor/elementor-packages/commit/d79082911195c75f6d3a89a5619b234e2f5ce158))
154
97
 
155
98
  ## [0.8.1](https://github.com/elementor/elementor-packages/compare/@elementor/editor@0.8.0...@elementor/editor@0.8.1) (2023-08-02)
156
99
 
157
100
  **Note:** Version bump only for package @elementor/editor
158
101
 
159
-
160
-
161
-
162
-
163
102
  # [0.8.0](https://github.com/elementor/elementor-packages/compare/@elementor/editor@0.7.3...@elementor/editor@0.8.0) (2023-08-01)
164
103
 
165
-
166
104
  ### Features
167
105
 
168
- * **app-bar:** introduce integrations menu [ED-11437] ([#93](https://github.com/elementor/elementor-packages/issues/93)) ([507f367](https://github.com/elementor/elementor-packages/commit/507f367ea54e80ed29c22b64fe93f15353327c21))
169
-
170
-
171
-
172
-
106
+ - **app-bar:** introduce integrations menu [ED-11437] ([#93](https://github.com/elementor/elementor-packages/issues/93)) ([507f367](https://github.com/elementor/elementor-packages/commit/507f367ea54e80ed29c22b64fe93f15353327c21))
173
107
 
174
108
  ## [0.7.3](https://github.com/elementor/elementor-packages/compare/@elementor/editor@0.7.2...@elementor/editor@0.7.3) (2023-07-17)
175
109
 
176
110
  **Note:** Version bump only for package @elementor/editor
177
111
 
178
-
179
-
180
-
181
-
182
112
  ## [0.7.2](https://github.com/elementor/elementor-packages/compare/@elementor/editor@0.7.1...@elementor/editor@0.7.2) (2023-07-17)
183
113
 
184
114
  **Note:** Version bump only for package @elementor/editor
185
115
 
186
-
187
-
188
-
189
-
190
116
  ## [0.7.1](https://github.com/elementor/elementor-packages/compare/@elementor/editor@0.7.0...@elementor/editor@0.7.1) (2023-06-29)
191
117
 
192
118
  **Note:** Version bump only for package @elementor/editor
193
119
 
194
-
195
-
196
-
197
-
198
120
  # [0.7.0](https://github.com/elementor/elementor-packages/compare/@elementor/editor@0.6.2...@elementor/editor@0.7.0) (2023-06-28)
199
121
 
200
-
201
122
  ### Features
202
123
 
203
- * **query:** add support for React Query [ED-11193] ([#62](https://github.com/elementor/elementor-packages/issues/62)) ([d50db2f](https://github.com/elementor/elementor-packages/commit/d50db2f4b310e644ddc154620bef1a850764d9a2))
204
-
205
-
206
-
207
-
124
+ - **query:** add support for React Query [ED-11193] ([#62](https://github.com/elementor/elementor-packages/issues/62)) ([d50db2f](https://github.com/elementor/elementor-packages/commit/d50db2f4b310e644ddc154620bef1a850764d9a2))
208
125
 
209
126
  ## [0.6.2](https://github.com/elementor/elementor-packages/compare/@elementor/editor@0.6.1...@elementor/editor@0.6.2) (2023-06-25)
210
127
 
211
-
212
128
  ### Bug Fixes
213
129
 
214
- * **editor:** document query parameters are not synced properly [ED-11024] ([#54](https://github.com/elementor/elementor-packages/issues/54)) ([4c17080](https://github.com/elementor/elementor-packages/commit/4c17080a7cecec7c807954e9381fb7c840e51ea4))
215
-
216
-
217
-
218
-
130
+ - **editor:** document query parameters are not synced properly [ED-11024] ([#54](https://github.com/elementor/elementor-packages/issues/54)) ([4c17080](https://github.com/elementor/elementor-packages/commit/4c17080a7cecec7c807954e9381fb7c840e51ea4))
219
131
 
220
132
  ## [0.6.1](https://github.com/elementor/elementor-packages/compare/@elementor/editor@0.6.0...@elementor/editor@0.6.1) (2023-06-11)
221
133
 
222
134
  **Note:** Version bump only for package @elementor/editor
223
135
 
224
-
225
-
226
-
227
-
228
136
  # [0.6.0](https://github.com/elementor/elementor-packages/compare/@elementor/editor@0.5.1...@elementor/editor@0.6.0) (2023-06-06)
229
137
 
230
-
231
138
  ### Features
232
139
 
233
- * drop support for React 17 [ED-10982] ([#50](https://github.com/elementor/elementor-packages/issues/50)) ([59c576c](https://github.com/elementor/elementor-packages/commit/59c576ca218947dc0992616311d4d399a20e91a6))
234
-
235
-
236
-
237
-
140
+ - drop support for React 17 [ED-10982] ([#50](https://github.com/elementor/elementor-packages/issues/50)) ([59c576c](https://github.com/elementor/elementor-packages/commit/59c576ca218947dc0992616311d4d399a20e91a6))
238
141
 
239
142
  ## [0.5.1](https://github.com/elementor/elementor-packages/compare/@elementor/editor@0.5.0...@elementor/editor@0.5.1) (2023-06-05)
240
143
 
241
144
  **Note:** Version bump only for package @elementor/editor
242
145
 
243
-
244
-
245
-
246
-
247
146
  # [0.5.0](https://github.com/elementor/elementor-packages/compare/@elementor/editor@0.4.0...@elementor/editor@0.5.0) (2023-06-01)
248
147
 
249
-
250
148
  ### Features
251
149
 
252
- * add support for React 18 [ED-10905] ([#46](https://github.com/elementor/elementor-packages/issues/46)) ([c8915c6](https://github.com/elementor/elementor-packages/commit/c8915c6ea62550bcdeb5c8a576f311bedc35bcad))
253
-
254
-
255
-
256
-
150
+ - add support for React 18 [ED-10905] ([#46](https://github.com/elementor/elementor-packages/issues/46)) ([c8915c6](https://github.com/elementor/elementor-packages/commit/c8915c6ea62550bcdeb5c8a576f311bedc35bcad))
257
151
 
258
152
  # [0.4.0](https://github.com/elementor/elementor-packages/compare/@elementor/editor@0.3.0...@elementor/editor@0.4.0) (2023-05-30)
259
153
 
260
-
261
154
  ### Features
262
155
 
263
- * **editor-documents:** sync document name with V1 [ED-9930] ([#45](https://github.com/elementor/elementor-packages/issues/45)) ([b4d7250](https://github.com/elementor/elementor-packages/commit/b4d7250fb5ed03e21dafcf76a82756cf086ce212))
264
-
265
-
266
-
267
-
156
+ - **editor-documents:** sync document name with V1 [ED-9930] ([#45](https://github.com/elementor/elementor-packages/issues/45)) ([b4d7250](https://github.com/elementor/elementor-packages/commit/b4d7250fb5ed03e21dafcf76a82756cf086ce212))
268
157
 
269
158
  # 0.3.0 (2023-05-21)
270
159
 
271
-
272
160
  ### Features
273
161
 
274
- * **editor-site-navigation:** change post without refresh [ED-10713] ([#39](https://github.com/elementor/elementor-packages/issues/39)) ([b72e82f](https://github.com/elementor/elementor-packages/commit/b72e82f9adb9c1237300cbf603f33f268f9f0400))
275
- * **locations:** change api to support props for slots [ED-10730] ([#38](https://github.com/elementor/elementor-packages/issues/38)) ([44bec3c](https://github.com/elementor/elementor-packages/commit/44bec3cda1020037ba7105c6f05ce4baa8e3b376))
276
-
277
-
162
+ - **editor-site-navigation:** change post without refresh [ED-10713] ([#39](https://github.com/elementor/elementor-packages/issues/39)) ([b72e82f](https://github.com/elementor/elementor-packages/commit/b72e82f9adb9c1237300cbf603f33f268f9f0400))
163
+ - **locations:** change api to support props for slots [ED-10730] ([#38](https://github.com/elementor/elementor-packages/issues/38)) ([44bec3c](https://github.com/elementor/elementor-packages/commit/44bec3cda1020037ba7105c6f05ce4baa8e3b376))
278
164
 
279
165
  ## 0.2.1 (2023-05-11)
280
166
 
281
-
282
167
  ### Bug Fixes
283
168
 
284
- * **editor-app-bar:** make save options button disabled in site-settings [ED-10221] ([#30](https://github.com/elementor/elementor-packages/issues/30)) ([1991096](https://github.com/elementor/elementor-packages/commit/1991096115efeae7bc3648e4889899b85d7328d6))
285
-
286
-
169
+ - **editor-app-bar:** make save options button disabled in site-settings [ED-10221] ([#30](https://github.com/elementor/elementor-packages/issues/30)) ([1991096](https://github.com/elementor/elementor-packages/commit/1991096115efeae7bc3648e4889899b85d7328d6))
287
170
 
288
171
  # 0.2.0 (2023-05-09)
289
172
 
290
-
291
173
  ### Features
292
174
 
293
- * **env:** support consuming environment variables in packages [ED-10161] ([#26](https://github.com/elementor/elementor-packages/issues/26)) ([dd811ff](https://github.com/elementor/elementor-packages/commit/dd811ff71e43bf998ee07c6e1f380a379874a7fd))
294
-
295
-
296
-
297
-
175
+ - **env:** support consuming environment variables in packages [ED-10161] ([#26](https://github.com/elementor/elementor-packages/issues/26)) ([dd811ff](https://github.com/elementor/elementor-packages/commit/dd811ff71e43bf998ee07c6e1f380a379874a7fd))
298
176
 
299
177
  ## [0.2.1](https://github.com/elementor/elementor-packages/compare/v0.2.0...v0.2.1) (2023-05-11)
300
178
 
301
-
302
179
  ### Bug Fixes
303
180
 
304
- * **editor-app-bar:** make save options button disabled in site-settings [ED-10221] ([#30](https://github.com/elementor/elementor-packages/issues/30)) ([1991096](https://github.com/elementor/elementor-packages/commit/1991096115efeae7bc3648e4889899b85d7328d6))
181
+ - **editor-app-bar:** make save options button disabled in site-settings [ED-10221] ([#30](https://github.com/elementor/elementor-packages/issues/30)) ([1991096](https://github.com/elementor/elementor-packages/commit/1991096115efeae7bc3648e4889899b85d7328d6))
package/dist/index.js CHANGED
@@ -38,14 +38,8 @@ module.exports = __toCommonJS(src_exports);
38
38
 
39
39
  // src/locations.ts
40
40
  var import_locations = require("@elementor/locations");
41
- var {
42
- Slot: TopSlot,
43
- inject: injectIntoTop
44
- } = (0, import_locations.createLocation)();
45
- var {
46
- Slot: LogicSlot,
47
- inject: injectIntoLogic
48
- } = (0, import_locations.createLocation)();
41
+ var { Slot: TopSlot, inject: injectIntoTop } = (0, import_locations.createLocation)();
42
+ var { Slot: LogicSlot, inject: injectIntoLogic } = (0, import_locations.createLocation)();
49
43
 
50
44
  // src/init.tsx
51
45
  var React3 = __toESM(require("react"));
@@ -73,22 +67,16 @@ var import_editor_v1_adapters = require("@elementor/editor-v1-adapters");
73
67
  function useColorScheme() {
74
68
  const [colorScheme, setColorScheme] = (0, import_react.useState)(() => getV1ColorScheme());
75
69
  (0, import_react.useEffect)(() => {
76
- return (0, import_editor_v1_adapters.__privateListenTo)(
77
- (0, import_editor_v1_adapters.v1ReadyEvent)(),
78
- () => setColorScheme(getV1ColorScheme())
79
- );
70
+ return (0, import_editor_v1_adapters.__privateListenTo)((0, import_editor_v1_adapters.v1ReadyEvent)(), () => setColorScheme(getV1ColorScheme()));
80
71
  }, []);
81
72
  (0, import_react.useEffect)(() => {
82
- return (0, import_editor_v1_adapters.__privateListenTo)(
83
- (0, import_editor_v1_adapters.commandEndEvent)("document/elements/settings"),
84
- (e) => {
85
- const event = e;
86
- const isColorScheme = event.args?.settings && "ui_theme" in event.args.settings;
87
- if (isColorScheme) {
88
- setColorScheme(getV1ColorScheme());
89
- }
73
+ return (0, import_editor_v1_adapters.__privateListenTo)((0, import_editor_v1_adapters.commandEndEvent)("document/elements/settings"), (e) => {
74
+ const event = e;
75
+ const isColorScheme = event.args?.settings && "ui_theme" in event.args.settings;
76
+ if (isColorScheme) {
77
+ setColorScheme(getV1ColorScheme());
90
78
  }
91
- );
79
+ });
92
80
  }, []);
93
81
  return colorScheme;
94
82
  }
@@ -108,7 +96,10 @@ function init(domElement) {
108
96
  const store = (0, import_store.__createStore)();
109
97
  const queryClient = (0, import_query.createQueryClient)();
110
98
  (0, import_editor_v1_adapters2.__privateDispatchReadyEvent)();
111
- render2(/* @__PURE__ */ React3.createElement(import_store.__StoreProvider, { store }, /* @__PURE__ */ React3.createElement(import_query.QueryClientProvider, { client: queryClient }, /* @__PURE__ */ React3.createElement(import_ui2.DirectionProvider, { rtl: window.document.dir === "rtl" }, /* @__PURE__ */ React3.createElement(ThemeProvider, null, /* @__PURE__ */ React3.createElement(Shell, null))))), domElement);
99
+ render2(
100
+ /* @__PURE__ */ React3.createElement(import_store.__StoreProvider, { store }, /* @__PURE__ */ React3.createElement(import_query.QueryClientProvider, { client: queryClient }, /* @__PURE__ */ React3.createElement(import_ui2.DirectionProvider, { rtl: window.document.dir === "rtl" }, /* @__PURE__ */ React3.createElement(ThemeProvider, null, /* @__PURE__ */ React3.createElement(Shell, null))))),
101
+ domElement
102
+ );
112
103
  }
113
104
  function render2(app, domElement) {
114
105
  let renderFn;
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts","../src/locations.ts","../src/init.tsx","../src/components/shell.tsx","../src/components/theme-provider.tsx","../src/sync/use-color-scheme.ts"],"sourcesContent":["export { injectIntoTop, injectIntoLogic } from './locations';\nexport { default as init } from './init';\n","import { createLocation } from '@elementor/locations';\n\nexport const {\n\tSlot: TopSlot,\n\tinject: injectIntoTop,\n} = createLocation();\n\nexport const {\n\tSlot: LogicSlot,\n\tinject: injectIntoLogic,\n} = createLocation();\n","import * as React from 'react';\nimport * as ReactDOM from 'react-dom';\nimport { JSX } from 'react';\nimport { createRoot } from 'react-dom/client';\nimport Shell from './components/shell';\nimport { DirectionProvider } from '@elementor/ui';\nimport { __StoreProvider as StoreProvider, __createStore } from '@elementor/store';\nimport { __privateDispatchReadyEvent as dispatchReadyEvent } from '@elementor/editor-v1-adapters';\nimport ThemeProvider from './components/theme-provider';\nimport { createQueryClient, QueryClientProvider } from '@elementor/query';\n\nexport default function init( domElement: Element ): void {\n\tconst store = __createStore();\n\tconst queryClient = createQueryClient();\n\n\tdispatchReadyEvent();\n\n\trender( (\n\t\t<StoreProvider store={ store }>\n\t\t\t<QueryClientProvider client={ queryClient }>\n\t\t\t\t<DirectionProvider rtl={ window.document.dir === 'rtl' }>\n\t\t\t\t\t<ThemeProvider>\n\t\t\t\t\t\t<Shell />\n\t\t\t\t\t</ThemeProvider>\n\t\t\t\t</DirectionProvider>\n\t\t\t</QueryClientProvider>\n\t\t</StoreProvider>\n\t), domElement );\n}\n\n// Support conditional rendering based on the React version.\n// We use `createRoot` when available, but fallback to `ReactDOM.render` for older versions.\nfunction render( app: JSX.Element, domElement: Element ) {\n\tlet renderFn: () => void;\n\n\ttry {\n\t\tconst root = createRoot( domElement );\n\n\t\trenderFn = () => {\n\t\t\troot.render( app );\n\t\t};\n\t} catch ( e ) {\n\t\trenderFn = () => {\n\t\t\t// eslint-disable-next-line react/no-deprecated\n\t\t\tReactDOM.render( app, domElement );\n\t\t};\n\t}\n\n\trenderFn();\n}\n","import * as React from 'react';\nimport { LogicSlot, TopSlot } from '../locations';\n\nexport default function Shell() {\n\treturn (\n\t\t<>\n\t\t\t<TopSlot />\n\t\t\t<div style={ { display: 'none' } }>\n\t\t\t\t<LogicSlot />\n\t\t\t</div>\n\t\t</>\n\t);\n}\n","import * as React from 'react';\nimport { ThemeProvider as ThemeProviderBase } from '@elementor/ui';\nimport { useColorScheme } from '../sync/use-color-scheme';\n\nexport default function ThemeProvider( { children }: { children: React.ReactNode } ) {\n\tconst colorScheme = useColorScheme();\n\n\treturn (\n\t\t<ThemeProviderBase colorScheme={ colorScheme }>\n\t\t\t{ children }\n\t\t</ThemeProviderBase>\n\t);\n}\n","import { useEffect, useState } from 'react';\nimport { commandEndEvent, CommandEvent, __privateListenTo as listenTo, v1ReadyEvent } from '@elementor/editor-v1-adapters';\n\nexport type ColorScheme = 'auto' | 'dark' | 'light';\n\nexport type ExtendedWindow = Window & {\n\telementor: {\n\t\tgetPreferences: ( key: 'ui_theme' ) => ColorScheme,\n\t}\n}\n\nexport function useColorScheme() {\n\tconst [ colorScheme, setColorScheme ] = useState<ColorScheme>( () => getV1ColorScheme() );\n\n\tuseEffect( () => {\n\t\treturn listenTo(\n\t\t\tv1ReadyEvent(),\n\t\t\t() => setColorScheme( getV1ColorScheme() )\n\t\t);\n\t}, [] );\n\n\tuseEffect( () => {\n\t\treturn listenTo(\n\t\t\tcommandEndEvent( 'document/elements/settings' ),\n\t\t\t( e ) => {\n\t\t\t\tconst event = e as CommandEvent<{\n\t\t\t\t\tsettings: {\n\t\t\t\t\t\tui_theme?: ColorScheme,\n\t\t\t\t\t},\n\t\t\t\t}>;\n\n\t\t\t\t// The User-Preferences settings object has a key named `ui_theme` that controls the color scheme.\n\t\t\t\tconst isColorScheme = event.args?.settings && 'ui_theme' in event.args.settings;\n\n\t\t\t\tif ( isColorScheme ) {\n\t\t\t\t\tsetColorScheme( getV1ColorScheme() );\n\t\t\t\t}\n\t\t\t}\n\t\t);\n\t}, [] );\n\n\treturn colorScheme;\n}\n\nfunction getV1ColorScheme() {\n\treturn ( window as unknown as ExtendedWindow ).elementor?.getPreferences?.( 'ui_theme' ) || 'auto';\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAA,uBAA+B;AAExB,IAAM;AAAA,EACZ,MAAM;AAAA,EACN,QAAQ;AACT,QAAI,iCAAe;AAEZ,IAAM;AAAA,EACZ,MAAM;AAAA,EACN,QAAQ;AACT,QAAI,iCAAe;;;ACVnB,IAAAA,SAAuB;AACvB,eAA0B;AAE1B,oBAA2B;;;ACH3B,YAAuB;AAGR,SAAR,QAAyB;AAC/B,SACC,0DACC,oCAAC,aAAQ,GACT,oCAAC,SAAI,OAAQ,EAAE,SAAS,OAAO,KAC9B,oCAAC,eAAU,CACZ,CACD;AAEF;;;ADPA,IAAAC,aAAkC;AAClC,mBAAgE;AAChE,IAAAC,6BAAkE;;;AEPlE,IAAAC,SAAuB;AACvB,gBAAmD;;;ACDnD,mBAAoC;AACpC,gCAA2F;AAUpF,SAAS,iBAAiB;AAChC,QAAM,CAAE,aAAa,cAAe,QAAI,uBAAuB,MAAM,iBAAiB,CAAE;AAExF,8BAAW,MAAM;AAChB,eAAO,0BAAAC;AAAA,UACN,wCAAa;AAAA,MACb,MAAM,eAAgB,iBAAiB,CAAE;AAAA,IAC1C;AAAA,EACD,GAAG,CAAC,CAAE;AAEN,8BAAW,MAAM;AAChB,eAAO,0BAAAA;AAAA,UACN,2CAAiB,4BAA6B;AAAA,MAC9C,CAAE,MAAO;AACR,cAAM,QAAQ;AAOd,cAAM,gBAAgB,MAAM,MAAM,YAAY,cAAc,MAAM,KAAK;AAEvE,YAAK,eAAgB;AACpB,yBAAgB,iBAAiB,CAAE;AAAA,QACpC;AAAA,MACD;AAAA,IACD;AAAA,EACD,GAAG,CAAC,CAAE;AAEN,SAAO;AACR;AAEA,SAAS,mBAAmB;AAC3B,SAAS,OAAsC,WAAW,iBAAkB,UAAW,KAAK;AAC7F;;;AD1Ce,SAAR,cAAgC,EAAE,SAAS,GAAmC;AACpF,QAAM,cAAc,eAAe;AAEnC,SACC,qCAAC,UAAAC,eAAA,EAAkB,eAChB,QACH;AAEF;;;AFHA,mBAAuD;AAExC,SAAR,KAAuB,YAA4B;AACzD,QAAM,YAAQ,4BAAc;AAC5B,QAAM,kBAAc,gCAAkB;AAEtC,iCAAAC,6BAAmB;AAEnB,EAAAC,QACC,qCAAC,aAAAC,iBAAA,EAAc,SACd,qCAAC,oCAAoB,QAAS,eAC7B,qCAAC,gCAAkB,KAAM,OAAO,SAAS,QAAQ,SAChD,qCAAC,qBACA,qCAAC,WAAM,CACR,CACD,CACD,CACD,GACE,UAAW;AACf;AAIA,SAASD,QAAQ,KAAkB,YAAsB;AACxD,MAAI;AAEJ,MAAI;AACH,UAAM,WAAO,0BAAY,UAAW;AAEpC,eAAW,MAAM;AAChB,WAAK,OAAQ,GAAI;AAAA,IAClB;AAAA,EACD,SAAU,GAAI;AACb,eAAW,MAAM;AAEhB,MAAS,gBAAQ,KAAK,UAAW;AAAA,IAClC;AAAA,EACD;AAEA,WAAS;AACV;","names":["React","import_ui","import_editor_v1_adapters","React","listenTo","ThemeProviderBase","dispatchReadyEvent","render","StoreProvider"]}
1
+ {"version":3,"sources":["../src/index.ts","../src/locations.ts","../src/init.tsx","../src/components/shell.tsx","../src/components/theme-provider.tsx","../src/sync/use-color-scheme.ts"],"sourcesContent":["export { injectIntoTop, injectIntoLogic } from './locations';\nexport { default as init } from './init';\n","import { createLocation } from '@elementor/locations';\n\nexport const { Slot: TopSlot, inject: injectIntoTop } = createLocation();\n\nexport const { Slot: LogicSlot, inject: injectIntoLogic } = createLocation();\n","import * as React from 'react';\nimport * as ReactDOM from 'react-dom';\nimport { JSX } from 'react';\nimport { createRoot } from 'react-dom/client';\nimport Shell from './components/shell';\nimport { DirectionProvider } from '@elementor/ui';\nimport { __StoreProvider as StoreProvider, __createStore } from '@elementor/store';\nimport { __privateDispatchReadyEvent as dispatchReadyEvent } from '@elementor/editor-v1-adapters';\nimport ThemeProvider from './components/theme-provider';\nimport { createQueryClient, QueryClientProvider } from '@elementor/query';\n\nexport default function init( domElement: Element ): void {\n\tconst store = __createStore();\n\tconst queryClient = createQueryClient();\n\n\tdispatchReadyEvent();\n\n\trender(\n\t\t<StoreProvider store={ store }>\n\t\t\t<QueryClientProvider client={ queryClient }>\n\t\t\t\t<DirectionProvider rtl={ window.document.dir === 'rtl' }>\n\t\t\t\t\t<ThemeProvider>\n\t\t\t\t\t\t<Shell />\n\t\t\t\t\t</ThemeProvider>\n\t\t\t\t</DirectionProvider>\n\t\t\t</QueryClientProvider>\n\t\t</StoreProvider>,\n\t\tdomElement\n\t);\n}\n\n// Support conditional rendering based on the React version.\n// We use `createRoot` when available, but fallback to `ReactDOM.render` for older versions.\nfunction render( app: JSX.Element, domElement: Element ) {\n\tlet renderFn: () => void;\n\n\ttry {\n\t\tconst root = createRoot( domElement );\n\n\t\trenderFn = () => {\n\t\t\troot.render( app );\n\t\t};\n\t} catch ( e ) {\n\t\trenderFn = () => {\n\t\t\t// eslint-disable-next-line react/no-deprecated\n\t\t\tReactDOM.render( app, domElement );\n\t\t};\n\t}\n\n\trenderFn();\n}\n","import * as React from 'react';\nimport { LogicSlot, TopSlot } from '../locations';\n\nexport default function Shell() {\n\treturn (\n\t\t<>\n\t\t\t<TopSlot />\n\t\t\t<div style={ { display: 'none' } }>\n\t\t\t\t<LogicSlot />\n\t\t\t</div>\n\t\t</>\n\t);\n}\n","import * as React from 'react';\nimport { ThemeProvider as ThemeProviderBase } from '@elementor/ui';\nimport { useColorScheme } from '../sync/use-color-scheme';\n\nexport default function ThemeProvider( { children }: { children: React.ReactNode } ) {\n\tconst colorScheme = useColorScheme();\n\n\treturn <ThemeProviderBase colorScheme={ colorScheme }>{ children }</ThemeProviderBase>;\n}\n","import { useEffect, useState } from 'react';\nimport {\n\tcommandEndEvent,\n\tCommandEvent,\n\t__privateListenTo as listenTo,\n\tv1ReadyEvent,\n} from '@elementor/editor-v1-adapters';\n\nexport type ColorScheme = 'auto' | 'dark' | 'light';\n\nexport type ExtendedWindow = Window & {\n\telementor: {\n\t\tgetPreferences: ( key: 'ui_theme' ) => ColorScheme;\n\t};\n};\n\nexport function useColorScheme() {\n\tconst [ colorScheme, setColorScheme ] = useState< ColorScheme >( () => getV1ColorScheme() );\n\n\tuseEffect( () => {\n\t\treturn listenTo( v1ReadyEvent(), () => setColorScheme( getV1ColorScheme() ) );\n\t}, [] );\n\n\tuseEffect( () => {\n\t\treturn listenTo( commandEndEvent( 'document/elements/settings' ), ( e ) => {\n\t\t\tconst event = e as CommandEvent< {\n\t\t\t\tsettings: {\n\t\t\t\t\tui_theme?: ColorScheme;\n\t\t\t\t};\n\t\t\t} >;\n\n\t\t\t// The User-Preferences settings object has a key named `ui_theme` that controls the color scheme.\n\t\t\tconst isColorScheme = event.args?.settings && 'ui_theme' in event.args.settings;\n\n\t\t\tif ( isColorScheme ) {\n\t\t\t\tsetColorScheme( getV1ColorScheme() );\n\t\t\t}\n\t\t} );\n\t}, [] );\n\n\treturn colorScheme;\n}\n\nfunction getV1ColorScheme() {\n\treturn ( window as unknown as ExtendedWindow ).elementor?.getPreferences?.( 'ui_theme' ) || 'auto';\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAA,uBAA+B;AAExB,IAAM,EAAE,MAAM,SAAS,QAAQ,cAAc,QAAI,iCAAe;AAEhE,IAAM,EAAE,MAAM,WAAW,QAAQ,gBAAgB,QAAI,iCAAe;;;ACJ3E,IAAAA,SAAuB;AACvB,eAA0B;AAE1B,oBAA2B;;;ACH3B,YAAuB;AAGR,SAAR,QAAyB;AAC/B,SACC,0DACC,oCAAC,aAAQ,GACT,oCAAC,SAAI,OAAQ,EAAE,SAAS,OAAO,KAC9B,oCAAC,eAAU,CACZ,CACD;AAEF;;;ADPA,IAAAC,aAAkC;AAClC,mBAAgE;AAChE,IAAAC,6BAAkE;;;AEPlE,IAAAC,SAAuB;AACvB,gBAAmD;;;ACDnD,mBAAoC;AACpC,gCAKO;AAUA,SAAS,iBAAiB;AAChC,QAAM,CAAE,aAAa,cAAe,QAAI,uBAAyB,MAAM,iBAAiB,CAAE;AAE1F,8BAAW,MAAM;AAChB,eAAO,0BAAAC,uBAAU,wCAAa,GAAG,MAAM,eAAgB,iBAAiB,CAAE,CAAE;AAAA,EAC7E,GAAG,CAAC,CAAE;AAEN,8BAAW,MAAM;AAChB,eAAO,0BAAAA,uBAAU,2CAAiB,4BAA6B,GAAG,CAAE,MAAO;AAC1E,YAAM,QAAQ;AAOd,YAAM,gBAAgB,MAAM,MAAM,YAAY,cAAc,MAAM,KAAK;AAEvE,UAAK,eAAgB;AACpB,uBAAgB,iBAAiB,CAAE;AAAA,MACpC;AAAA,IACD,CAAE;AAAA,EACH,GAAG,CAAC,CAAE;AAEN,SAAO;AACR;AAEA,SAAS,mBAAmB;AAC3B,SAAS,OAAsC,WAAW,iBAAkB,UAAW,KAAK;AAC7F;;;ADzCe,SAAR,cAAgC,EAAE,SAAS,GAAmC;AACpF,QAAM,cAAc,eAAe;AAEnC,SAAO,qCAAC,UAAAC,eAAA,EAAkB,eAA8B,QAAU;AACnE;;;AFCA,mBAAuD;AAExC,SAAR,KAAuB,YAA4B;AACzD,QAAM,YAAQ,4BAAc;AAC5B,QAAM,kBAAc,gCAAkB;AAEtC,iCAAAC,6BAAmB;AAEnB,EAAAC;AAAA,IACC,qCAAC,aAAAC,iBAAA,EAAc,SACd,qCAAC,oCAAoB,QAAS,eAC7B,qCAAC,gCAAkB,KAAM,OAAO,SAAS,QAAQ,SAChD,qCAAC,qBACA,qCAAC,WAAM,CACR,CACD,CACD,CACD;AAAA,IACA;AAAA,EACD;AACD;AAIA,SAASD,QAAQ,KAAkB,YAAsB;AACxD,MAAI;AAEJ,MAAI;AACH,UAAM,WAAO,0BAAY,UAAW;AAEpC,eAAW,MAAM;AAChB,WAAK,OAAQ,GAAI;AAAA,IAClB;AAAA,EACD,SAAU,GAAI;AACb,eAAW,MAAM;AAEhB,MAAS,gBAAQ,KAAK,UAAW;AAAA,IAClC;AAAA,EACD;AAEA,WAAS;AACV;","names":["React","import_ui","import_editor_v1_adapters","React","listenTo","ThemeProviderBase","dispatchReadyEvent","render","StoreProvider"]}
package/dist/index.mjs CHANGED
@@ -1,13 +1,7 @@
1
1
  // src/locations.ts
2
2
  import { createLocation } from "@elementor/locations";
3
- var {
4
- Slot: TopSlot,
5
- inject: injectIntoTop
6
- } = createLocation();
7
- var {
8
- Slot: LogicSlot,
9
- inject: injectIntoLogic
10
- } = createLocation();
3
+ var { Slot: TopSlot, inject: injectIntoTop } = createLocation();
4
+ var { Slot: LogicSlot, inject: injectIntoLogic } = createLocation();
11
5
 
12
6
  // src/init.tsx
13
7
  import * as React3 from "react";
@@ -31,26 +25,24 @@ import { ThemeProvider as ThemeProviderBase } from "@elementor/ui";
31
25
 
32
26
  // src/sync/use-color-scheme.ts
33
27
  import { useEffect, useState } from "react";
34
- import { commandEndEvent, __privateListenTo as listenTo, v1ReadyEvent } from "@elementor/editor-v1-adapters";
28
+ import {
29
+ commandEndEvent,
30
+ __privateListenTo as listenTo,
31
+ v1ReadyEvent
32
+ } from "@elementor/editor-v1-adapters";
35
33
  function useColorScheme() {
36
34
  const [colorScheme, setColorScheme] = useState(() => getV1ColorScheme());
37
35
  useEffect(() => {
38
- return listenTo(
39
- v1ReadyEvent(),
40
- () => setColorScheme(getV1ColorScheme())
41
- );
36
+ return listenTo(v1ReadyEvent(), () => setColorScheme(getV1ColorScheme()));
42
37
  }, []);
43
38
  useEffect(() => {
44
- return listenTo(
45
- commandEndEvent("document/elements/settings"),
46
- (e) => {
47
- const event = e;
48
- const isColorScheme = event.args?.settings && "ui_theme" in event.args.settings;
49
- if (isColorScheme) {
50
- setColorScheme(getV1ColorScheme());
51
- }
39
+ return listenTo(commandEndEvent("document/elements/settings"), (e) => {
40
+ const event = e;
41
+ const isColorScheme = event.args?.settings && "ui_theme" in event.args.settings;
42
+ if (isColorScheme) {
43
+ setColorScheme(getV1ColorScheme());
52
44
  }
53
- );
45
+ });
54
46
  }, []);
55
47
  return colorScheme;
56
48
  }
@@ -70,7 +62,10 @@ function init(domElement) {
70
62
  const store = __createStore();
71
63
  const queryClient = createQueryClient();
72
64
  dispatchReadyEvent();
73
- render2(/* @__PURE__ */ React3.createElement(StoreProvider, { store }, /* @__PURE__ */ React3.createElement(QueryClientProvider, { client: queryClient }, /* @__PURE__ */ React3.createElement(DirectionProvider, { rtl: window.document.dir === "rtl" }, /* @__PURE__ */ React3.createElement(ThemeProvider, null, /* @__PURE__ */ React3.createElement(Shell, null))))), domElement);
65
+ render2(
66
+ /* @__PURE__ */ React3.createElement(StoreProvider, { store }, /* @__PURE__ */ React3.createElement(QueryClientProvider, { client: queryClient }, /* @__PURE__ */ React3.createElement(DirectionProvider, { rtl: window.document.dir === "rtl" }, /* @__PURE__ */ React3.createElement(ThemeProvider, null, /* @__PURE__ */ React3.createElement(Shell, null))))),
67
+ domElement
68
+ );
74
69
  }
75
70
  function render2(app, domElement) {
76
71
  let renderFn;
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/locations.ts","../src/init.tsx","../src/components/shell.tsx","../src/components/theme-provider.tsx","../src/sync/use-color-scheme.ts"],"sourcesContent":["import { createLocation } from '@elementor/locations';\n\nexport const {\n\tSlot: TopSlot,\n\tinject: injectIntoTop,\n} = createLocation();\n\nexport const {\n\tSlot: LogicSlot,\n\tinject: injectIntoLogic,\n} = createLocation();\n","import * as React from 'react';\nimport * as ReactDOM from 'react-dom';\nimport { JSX } from 'react';\nimport { createRoot } from 'react-dom/client';\nimport Shell from './components/shell';\nimport { DirectionProvider } from '@elementor/ui';\nimport { __StoreProvider as StoreProvider, __createStore } from '@elementor/store';\nimport { __privateDispatchReadyEvent as dispatchReadyEvent } from '@elementor/editor-v1-adapters';\nimport ThemeProvider from './components/theme-provider';\nimport { createQueryClient, QueryClientProvider } from '@elementor/query';\n\nexport default function init( domElement: Element ): void {\n\tconst store = __createStore();\n\tconst queryClient = createQueryClient();\n\n\tdispatchReadyEvent();\n\n\trender( (\n\t\t<StoreProvider store={ store }>\n\t\t\t<QueryClientProvider client={ queryClient }>\n\t\t\t\t<DirectionProvider rtl={ window.document.dir === 'rtl' }>\n\t\t\t\t\t<ThemeProvider>\n\t\t\t\t\t\t<Shell />\n\t\t\t\t\t</ThemeProvider>\n\t\t\t\t</DirectionProvider>\n\t\t\t</QueryClientProvider>\n\t\t</StoreProvider>\n\t), domElement );\n}\n\n// Support conditional rendering based on the React version.\n// We use `createRoot` when available, but fallback to `ReactDOM.render` for older versions.\nfunction render( app: JSX.Element, domElement: Element ) {\n\tlet renderFn: () => void;\n\n\ttry {\n\t\tconst root = createRoot( domElement );\n\n\t\trenderFn = () => {\n\t\t\troot.render( app );\n\t\t};\n\t} catch ( e ) {\n\t\trenderFn = () => {\n\t\t\t// eslint-disable-next-line react/no-deprecated\n\t\t\tReactDOM.render( app, domElement );\n\t\t};\n\t}\n\n\trenderFn();\n}\n","import * as React from 'react';\nimport { LogicSlot, TopSlot } from '../locations';\n\nexport default function Shell() {\n\treturn (\n\t\t<>\n\t\t\t<TopSlot />\n\t\t\t<div style={ { display: 'none' } }>\n\t\t\t\t<LogicSlot />\n\t\t\t</div>\n\t\t</>\n\t);\n}\n","import * as React from 'react';\nimport { ThemeProvider as ThemeProviderBase } from '@elementor/ui';\nimport { useColorScheme } from '../sync/use-color-scheme';\n\nexport default function ThemeProvider( { children }: { children: React.ReactNode } ) {\n\tconst colorScheme = useColorScheme();\n\n\treturn (\n\t\t<ThemeProviderBase colorScheme={ colorScheme }>\n\t\t\t{ children }\n\t\t</ThemeProviderBase>\n\t);\n}\n","import { useEffect, useState } from 'react';\nimport { commandEndEvent, CommandEvent, __privateListenTo as listenTo, v1ReadyEvent } from '@elementor/editor-v1-adapters';\n\nexport type ColorScheme = 'auto' | 'dark' | 'light';\n\nexport type ExtendedWindow = Window & {\n\telementor: {\n\t\tgetPreferences: ( key: 'ui_theme' ) => ColorScheme,\n\t}\n}\n\nexport function useColorScheme() {\n\tconst [ colorScheme, setColorScheme ] = useState<ColorScheme>( () => getV1ColorScheme() );\n\n\tuseEffect( () => {\n\t\treturn listenTo(\n\t\t\tv1ReadyEvent(),\n\t\t\t() => setColorScheme( getV1ColorScheme() )\n\t\t);\n\t}, [] );\n\n\tuseEffect( () => {\n\t\treturn listenTo(\n\t\t\tcommandEndEvent( 'document/elements/settings' ),\n\t\t\t( e ) => {\n\t\t\t\tconst event = e as CommandEvent<{\n\t\t\t\t\tsettings: {\n\t\t\t\t\t\tui_theme?: ColorScheme,\n\t\t\t\t\t},\n\t\t\t\t}>;\n\n\t\t\t\t// The User-Preferences settings object has a key named `ui_theme` that controls the color scheme.\n\t\t\t\tconst isColorScheme = event.args?.settings && 'ui_theme' in event.args.settings;\n\n\t\t\t\tif ( isColorScheme ) {\n\t\t\t\t\tsetColorScheme( getV1ColorScheme() );\n\t\t\t\t}\n\t\t\t}\n\t\t);\n\t}, [] );\n\n\treturn colorScheme;\n}\n\nfunction getV1ColorScheme() {\n\treturn ( window as unknown as ExtendedWindow ).elementor?.getPreferences?.( 'ui_theme' ) || 'auto';\n}\n"],"mappings":";AAAA,SAAS,sBAAsB;AAExB,IAAM;AAAA,EACZ,MAAM;AAAA,EACN,QAAQ;AACT,IAAI,eAAe;AAEZ,IAAM;AAAA,EACZ,MAAM;AAAA,EACN,QAAQ;AACT,IAAI,eAAe;;;ACVnB,YAAYA,YAAW;AACvB,YAAY,cAAc;AAE1B,SAAS,kBAAkB;;;ACH3B,YAAY,WAAW;AAGR,SAAR,QAAyB;AAC/B,SACC,0DACC,oCAAC,aAAQ,GACT,oCAAC,SAAI,OAAQ,EAAE,SAAS,OAAO,KAC9B,oCAAC,eAAU,CACZ,CACD;AAEF;;;ADPA,SAAS,yBAAyB;AAClC,SAAS,mBAAmB,eAAe,qBAAqB;AAChE,SAAS,+BAA+B,0BAA0B;;;AEPlE,YAAYC,YAAW;AACvB,SAAS,iBAAiB,yBAAyB;;;ACDnD,SAAS,WAAW,gBAAgB;AACpC,SAAS,iBAA+B,qBAAqB,UAAU,oBAAoB;AAUpF,SAAS,iBAAiB;AAChC,QAAM,CAAE,aAAa,cAAe,IAAI,SAAuB,MAAM,iBAAiB,CAAE;AAExF,YAAW,MAAM;AAChB,WAAO;AAAA,MACN,aAAa;AAAA,MACb,MAAM,eAAgB,iBAAiB,CAAE;AAAA,IAC1C;AAAA,EACD,GAAG,CAAC,CAAE;AAEN,YAAW,MAAM;AAChB,WAAO;AAAA,MACN,gBAAiB,4BAA6B;AAAA,MAC9C,CAAE,MAAO;AACR,cAAM,QAAQ;AAOd,cAAM,gBAAgB,MAAM,MAAM,YAAY,cAAc,MAAM,KAAK;AAEvE,YAAK,eAAgB;AACpB,yBAAgB,iBAAiB,CAAE;AAAA,QACpC;AAAA,MACD;AAAA,IACD;AAAA,EACD,GAAG,CAAC,CAAE;AAEN,SAAO;AACR;AAEA,SAAS,mBAAmB;AAC3B,SAAS,OAAsC,WAAW,iBAAkB,UAAW,KAAK;AAC7F;;;AD1Ce,SAAR,cAAgC,EAAE,SAAS,GAAmC;AACpF,QAAM,cAAc,eAAe;AAEnC,SACC,qCAAC,qBAAkB,eAChB,QACH;AAEF;;;AFHA,SAAS,mBAAmB,2BAA2B;AAExC,SAAR,KAAuB,YAA4B;AACzD,QAAM,QAAQ,cAAc;AAC5B,QAAM,cAAc,kBAAkB;AAEtC,qBAAmB;AAEnB,EAAAC,QACC,qCAAC,iBAAc,SACd,qCAAC,uBAAoB,QAAS,eAC7B,qCAAC,qBAAkB,KAAM,OAAO,SAAS,QAAQ,SAChD,qCAAC,qBACA,qCAAC,WAAM,CACR,CACD,CACD,CACD,GACE,UAAW;AACf;AAIA,SAASA,QAAQ,KAAkB,YAAsB;AACxD,MAAI;AAEJ,MAAI;AACH,UAAM,OAAO,WAAY,UAAW;AAEpC,eAAW,MAAM;AAChB,WAAK,OAAQ,GAAI;AAAA,IAClB;AAAA,EACD,SAAU,GAAI;AACb,eAAW,MAAM;AAEhB,MAAS,gBAAQ,KAAK,UAAW;AAAA,IAClC;AAAA,EACD;AAEA,WAAS;AACV;","names":["React","React","render"]}
1
+ {"version":3,"sources":["../src/locations.ts","../src/init.tsx","../src/components/shell.tsx","../src/components/theme-provider.tsx","../src/sync/use-color-scheme.ts"],"sourcesContent":["import { createLocation } from '@elementor/locations';\n\nexport const { Slot: TopSlot, inject: injectIntoTop } = createLocation();\n\nexport const { Slot: LogicSlot, inject: injectIntoLogic } = createLocation();\n","import * as React from 'react';\nimport * as ReactDOM from 'react-dom';\nimport { JSX } from 'react';\nimport { createRoot } from 'react-dom/client';\nimport Shell from './components/shell';\nimport { DirectionProvider } from '@elementor/ui';\nimport { __StoreProvider as StoreProvider, __createStore } from '@elementor/store';\nimport { __privateDispatchReadyEvent as dispatchReadyEvent } from '@elementor/editor-v1-adapters';\nimport ThemeProvider from './components/theme-provider';\nimport { createQueryClient, QueryClientProvider } from '@elementor/query';\n\nexport default function init( domElement: Element ): void {\n\tconst store = __createStore();\n\tconst queryClient = createQueryClient();\n\n\tdispatchReadyEvent();\n\n\trender(\n\t\t<StoreProvider store={ store }>\n\t\t\t<QueryClientProvider client={ queryClient }>\n\t\t\t\t<DirectionProvider rtl={ window.document.dir === 'rtl' }>\n\t\t\t\t\t<ThemeProvider>\n\t\t\t\t\t\t<Shell />\n\t\t\t\t\t</ThemeProvider>\n\t\t\t\t</DirectionProvider>\n\t\t\t</QueryClientProvider>\n\t\t</StoreProvider>,\n\t\tdomElement\n\t);\n}\n\n// Support conditional rendering based on the React version.\n// We use `createRoot` when available, but fallback to `ReactDOM.render` for older versions.\nfunction render( app: JSX.Element, domElement: Element ) {\n\tlet renderFn: () => void;\n\n\ttry {\n\t\tconst root = createRoot( domElement );\n\n\t\trenderFn = () => {\n\t\t\troot.render( app );\n\t\t};\n\t} catch ( e ) {\n\t\trenderFn = () => {\n\t\t\t// eslint-disable-next-line react/no-deprecated\n\t\t\tReactDOM.render( app, domElement );\n\t\t};\n\t}\n\n\trenderFn();\n}\n","import * as React from 'react';\nimport { LogicSlot, TopSlot } from '../locations';\n\nexport default function Shell() {\n\treturn (\n\t\t<>\n\t\t\t<TopSlot />\n\t\t\t<div style={ { display: 'none' } }>\n\t\t\t\t<LogicSlot />\n\t\t\t</div>\n\t\t</>\n\t);\n}\n","import * as React from 'react';\nimport { ThemeProvider as ThemeProviderBase } from '@elementor/ui';\nimport { useColorScheme } from '../sync/use-color-scheme';\n\nexport default function ThemeProvider( { children }: { children: React.ReactNode } ) {\n\tconst colorScheme = useColorScheme();\n\n\treturn <ThemeProviderBase colorScheme={ colorScheme }>{ children }</ThemeProviderBase>;\n}\n","import { useEffect, useState } from 'react';\nimport {\n\tcommandEndEvent,\n\tCommandEvent,\n\t__privateListenTo as listenTo,\n\tv1ReadyEvent,\n} from '@elementor/editor-v1-adapters';\n\nexport type ColorScheme = 'auto' | 'dark' | 'light';\n\nexport type ExtendedWindow = Window & {\n\telementor: {\n\t\tgetPreferences: ( key: 'ui_theme' ) => ColorScheme;\n\t};\n};\n\nexport function useColorScheme() {\n\tconst [ colorScheme, setColorScheme ] = useState< ColorScheme >( () => getV1ColorScheme() );\n\n\tuseEffect( () => {\n\t\treturn listenTo( v1ReadyEvent(), () => setColorScheme( getV1ColorScheme() ) );\n\t}, [] );\n\n\tuseEffect( () => {\n\t\treturn listenTo( commandEndEvent( 'document/elements/settings' ), ( e ) => {\n\t\t\tconst event = e as CommandEvent< {\n\t\t\t\tsettings: {\n\t\t\t\t\tui_theme?: ColorScheme;\n\t\t\t\t};\n\t\t\t} >;\n\n\t\t\t// The User-Preferences settings object has a key named `ui_theme` that controls the color scheme.\n\t\t\tconst isColorScheme = event.args?.settings && 'ui_theme' in event.args.settings;\n\n\t\t\tif ( isColorScheme ) {\n\t\t\t\tsetColorScheme( getV1ColorScheme() );\n\t\t\t}\n\t\t} );\n\t}, [] );\n\n\treturn colorScheme;\n}\n\nfunction getV1ColorScheme() {\n\treturn ( window as unknown as ExtendedWindow ).elementor?.getPreferences?.( 'ui_theme' ) || 'auto';\n}\n"],"mappings":";AAAA,SAAS,sBAAsB;AAExB,IAAM,EAAE,MAAM,SAAS,QAAQ,cAAc,IAAI,eAAe;AAEhE,IAAM,EAAE,MAAM,WAAW,QAAQ,gBAAgB,IAAI,eAAe;;;ACJ3E,YAAYA,YAAW;AACvB,YAAY,cAAc;AAE1B,SAAS,kBAAkB;;;ACH3B,YAAY,WAAW;AAGR,SAAR,QAAyB;AAC/B,SACC,0DACC,oCAAC,aAAQ,GACT,oCAAC,SAAI,OAAQ,EAAE,SAAS,OAAO,KAC9B,oCAAC,eAAU,CACZ,CACD;AAEF;;;ADPA,SAAS,yBAAyB;AAClC,SAAS,mBAAmB,eAAe,qBAAqB;AAChE,SAAS,+BAA+B,0BAA0B;;;AEPlE,YAAYC,YAAW;AACvB,SAAS,iBAAiB,yBAAyB;;;ACDnD,SAAS,WAAW,gBAAgB;AACpC;AAAA,EACC;AAAA,EAEA,qBAAqB;AAAA,EACrB;AAAA,OACM;AAUA,SAAS,iBAAiB;AAChC,QAAM,CAAE,aAAa,cAAe,IAAI,SAAyB,MAAM,iBAAiB,CAAE;AAE1F,YAAW,MAAM;AAChB,WAAO,SAAU,aAAa,GAAG,MAAM,eAAgB,iBAAiB,CAAE,CAAE;AAAA,EAC7E,GAAG,CAAC,CAAE;AAEN,YAAW,MAAM;AAChB,WAAO,SAAU,gBAAiB,4BAA6B,GAAG,CAAE,MAAO;AAC1E,YAAM,QAAQ;AAOd,YAAM,gBAAgB,MAAM,MAAM,YAAY,cAAc,MAAM,KAAK;AAEvE,UAAK,eAAgB;AACpB,uBAAgB,iBAAiB,CAAE;AAAA,MACpC;AAAA,IACD,CAAE;AAAA,EACH,GAAG,CAAC,CAAE;AAEN,SAAO;AACR;AAEA,SAAS,mBAAmB;AAC3B,SAAS,OAAsC,WAAW,iBAAkB,UAAW,KAAK;AAC7F;;;ADzCe,SAAR,cAAgC,EAAE,SAAS,GAAmC;AACpF,QAAM,cAAc,eAAe;AAEnC,SAAO,qCAAC,qBAAkB,eAA8B,QAAU;AACnE;;;AFCA,SAAS,mBAAmB,2BAA2B;AAExC,SAAR,KAAuB,YAA4B;AACzD,QAAM,QAAQ,cAAc;AAC5B,QAAM,cAAc,kBAAkB;AAEtC,qBAAmB;AAEnB,EAAAC;AAAA,IACC,qCAAC,iBAAc,SACd,qCAAC,uBAAoB,QAAS,eAC7B,qCAAC,qBAAkB,KAAM,OAAO,SAAS,QAAQ,SAChD,qCAAC,qBACA,qCAAC,WAAM,CACR,CACD,CACD,CACD;AAAA,IACA;AAAA,EACD;AACD;AAIA,SAASA,QAAQ,KAAkB,YAAsB;AACxD,MAAI;AAEJ,MAAI;AACH,UAAM,OAAO,WAAY,UAAW;AAEpC,eAAW,MAAM;AAChB,WAAK,OAAQ,GAAI;AAAA,IAClB;AAAA,EACD,SAAU,GAAI;AACb,eAAW,MAAM;AAEhB,MAAS,gBAAQ,KAAK,UAAW;AAAA,IAClC;AAAA,EACD;AAEA,WAAS;AACV;","names":["React","React","render"]}
package/package.json CHANGED
@@ -1,47 +1,54 @@
1
1
  {
2
- "name": "@elementor/editor",
3
- "description": "The main application for Elementor's editor",
4
- "version": "0.11.1",
5
- "private": false,
6
- "author": "Elementor Team",
7
- "homepage": "https://elementor.com/",
8
- "license": "GPL-3.0-or-later",
9
- "main": "dist/index.js",
10
- "module": "dist/index.mjs",
11
- "types": "dist/index.d.ts",
12
- "exports": {
13
- ".": {
14
- "import": "./dist/index.mjs",
15
- "require": "./dist/index.js",
16
- "types": "./dist/index.d.ts"
17
- },
18
- "./package.json": "./package.json"
19
- },
20
- "repository": {
21
- "type": "git",
22
- "url": "https://github.com/elementor/elementor-packages.git",
23
- "directory": "packages/core/editor"
24
- },
25
- "bugs": {
26
- "url": "https://github.com/elementor/elementor-packages/issues"
27
- },
28
- "publishConfig": {
29
- "access": "public"
30
- },
31
- "scripts": {
32
- "build": "tsup --config=../../tsup.build.ts",
33
- "dev": "tsup --config=../../tsup.dev.ts"
34
- },
35
- "dependencies": {
36
- "@elementor/editor-v1-adapters": "^0.7.0",
37
- "@elementor/locations": "^0.7.3",
38
- "@elementor/query": "^0.2.1",
39
- "@elementor/store": "^0.8.3",
40
- "@elementor/ui": "^1.4.61"
41
- },
42
- "peerDependencies": {
43
- "react": "^18.3.1",
44
- "react-dom": "^18.3.1"
45
- },
46
- "gitHead": "ea48212f4a9084fa323c3e70af093c5c0f6aa2d1"
2
+ "name": "@elementor/editor",
3
+ "description": "The main application for Elementor's editor",
4
+ "version": "0.12.0",
5
+ "private": false,
6
+ "author": "Elementor Team",
7
+ "homepage": "https://elementor.com/",
8
+ "license": "GPL-3.0-or-later",
9
+ "main": "dist/index.js",
10
+ "module": "dist/index.mjs",
11
+ "types": "dist/index.d.ts",
12
+ "exports": {
13
+ ".": {
14
+ "import": "./dist/index.mjs",
15
+ "require": "./dist/index.js",
16
+ "types": "./dist/index.d.ts"
17
+ },
18
+ "./package.json": "./package.json"
19
+ },
20
+ "repository": {
21
+ "type": "git",
22
+ "url": "git+https://github.com/elementor/elementor-packages.git",
23
+ "directory": "packages/core/editor"
24
+ },
25
+ "bugs": {
26
+ "url": "https://github.com/elementor/elementor-packages/issues"
27
+ },
28
+ "publishConfig": {
29
+ "access": "public"
30
+ },
31
+ "files": [
32
+ "README.md",
33
+ "CHANGELOG.md",
34
+ "/dist",
35
+ "/src",
36
+ "!**/__tests__"
37
+ ],
38
+ "scripts": {
39
+ "build": "tsup --config=../../tsup.build.ts",
40
+ "dev": "tsup --config=../../tsup.dev.ts"
41
+ },
42
+ "dependencies": {
43
+ "@elementor/editor-v1-adapters": "^0.8.1",
44
+ "@elementor/locations": "^0.7.5",
45
+ "@elementor/query": "^0.2.2",
46
+ "@elementor/store": "^0.8.5",
47
+ "@elementor/ui": "^1.14.2"
48
+ },
49
+ "peerDependencies": {
50
+ "react": "^18.3.1",
51
+ "react-dom": "^18.3.1"
52
+ },
53
+ "gitHead": "f4ca33da0842a29d83736d0a173633085edddaee"
47
54
  }
@@ -5,9 +5,5 @@ import { useColorScheme } from '../sync/use-color-scheme';
5
5
  export default function ThemeProvider( { children }: { children: React.ReactNode } ) {
6
6
  const colorScheme = useColorScheme();
7
7
 
8
- return (
9
- <ThemeProviderBase colorScheme={ colorScheme }>
10
- { children }
11
- </ThemeProviderBase>
12
- );
8
+ return <ThemeProviderBase colorScheme={ colorScheme }>{ children }</ThemeProviderBase>;
13
9
  }
package/src/init.tsx CHANGED
@@ -15,7 +15,7 @@ export default function init( domElement: Element ): void {
15
15
 
16
16
  dispatchReadyEvent();
17
17
 
18
- render( (
18
+ render(
19
19
  <StoreProvider store={ store }>
20
20
  <QueryClientProvider client={ queryClient }>
21
21
  <DirectionProvider rtl={ window.document.dir === 'rtl' }>
@@ -24,8 +24,9 @@ export default function init( domElement: Element ): void {
24
24
  </ThemeProvider>
25
25
  </DirectionProvider>
26
26
  </QueryClientProvider>
27
- </StoreProvider>
28
- ), domElement );
27
+ </StoreProvider>,
28
+ domElement
29
+ );
29
30
  }
30
31
 
31
32
  // Support conditional rendering based on the React version.
package/src/locations.ts CHANGED
@@ -1,11 +1,5 @@
1
1
  import { createLocation } from '@elementor/locations';
2
2
 
3
- export const {
4
- Slot: TopSlot,
5
- inject: injectIntoTop,
6
- } = createLocation();
3
+ export const { Slot: TopSlot, inject: injectIntoTop } = createLocation();
7
4
 
8
- export const {
9
- Slot: LogicSlot,
10
- inject: injectIntoLogic,
11
- } = createLocation();
5
+ export const { Slot: LogicSlot, inject: injectIntoLogic } = createLocation();
@@ -1,42 +1,41 @@
1
1
  import { useEffect, useState } from 'react';
2
- import { commandEndEvent, CommandEvent, __privateListenTo as listenTo, v1ReadyEvent } from '@elementor/editor-v1-adapters';
2
+ import {
3
+ commandEndEvent,
4
+ CommandEvent,
5
+ __privateListenTo as listenTo,
6
+ v1ReadyEvent,
7
+ } from '@elementor/editor-v1-adapters';
3
8
 
4
9
  export type ColorScheme = 'auto' | 'dark' | 'light';
5
10
 
6
11
  export type ExtendedWindow = Window & {
7
12
  elementor: {
8
- getPreferences: ( key: 'ui_theme' ) => ColorScheme,
9
- }
10
- }
13
+ getPreferences: ( key: 'ui_theme' ) => ColorScheme;
14
+ };
15
+ };
11
16
 
12
17
  export function useColorScheme() {
13
- const [ colorScheme, setColorScheme ] = useState<ColorScheme>( () => getV1ColorScheme() );
18
+ const [ colorScheme, setColorScheme ] = useState< ColorScheme >( () => getV1ColorScheme() );
14
19
 
15
20
  useEffect( () => {
16
- return listenTo(
17
- v1ReadyEvent(),
18
- () => setColorScheme( getV1ColorScheme() )
19
- );
21
+ return listenTo( v1ReadyEvent(), () => setColorScheme( getV1ColorScheme() ) );
20
22
  }, [] );
21
23
 
22
24
  useEffect( () => {
23
- return listenTo(
24
- commandEndEvent( 'document/elements/settings' ),
25
- ( e ) => {
26
- const event = e as CommandEvent<{
27
- settings: {
28
- ui_theme?: ColorScheme,
29
- },
30
- }>;
31
-
32
- // The User-Preferences settings object has a key named `ui_theme` that controls the color scheme.
33
- const isColorScheme = event.args?.settings && 'ui_theme' in event.args.settings;
34
-
35
- if ( isColorScheme ) {
36
- setColorScheme( getV1ColorScheme() );
37
- }
25
+ return listenTo( commandEndEvent( 'document/elements/settings' ), ( e ) => {
26
+ const event = e as CommandEvent< {
27
+ settings: {
28
+ ui_theme?: ColorScheme;
29
+ };
30
+ } >;
31
+
32
+ // The User-Preferences settings object has a key named `ui_theme` that controls the color scheme.
33
+ const isColorScheme = event.args?.settings && 'ui_theme' in event.args.settings;
34
+
35
+ if ( isColorScheme ) {
36
+ setColorScheme( getV1ColorScheme() );
38
37
  }
39
- );
38
+ } );
40
39
  }, [] );
41
40
 
42
41
  return colorScheme;
@@ -1,20 +0,0 @@
1
- import * as React from 'react';
2
- import { render, screen } from '@testing-library/react';
3
- import Shell from '../shell';
4
- import { injectIntoTop } from '../../locations';
5
-
6
- describe( '<Shell />', () => {
7
- it( 'should render', () => {
8
- // Arrange.
9
- injectIntoTop( {
10
- id: 'test',
11
- component: () => <div>test</div>,
12
- } );
13
-
14
- // Act.
15
- render( <Shell /> );
16
-
17
- // Assert.
18
- expect( screen.getByText( 'test' ) ).toBeInTheDocument();
19
- } );
20
- } );
@@ -1,86 +0,0 @@
1
- import { act, renderHook } from '@testing-library/react';
2
- import { ColorScheme, ExtendedWindow, useColorScheme } from '../use-color-scheme';
3
-
4
- describe( '@elementor/editor - useColorScheme', () => {
5
- it( 'should use the "auto" color scheme by default', () => {
6
- // Act.
7
- const { result } = renderHook( () => useColorScheme() );
8
-
9
- // Assert.
10
- expect( result.current ).toBe( 'auto' );
11
- } );
12
-
13
- it( 'should sync color scheme on V1 ready', () => {
14
- // Arrange.
15
- mockV1ColorScheme( 'dark' );
16
-
17
- // Act.
18
- const { result } = renderHook( () => useColorScheme() );
19
-
20
- act( () => {
21
- dispatchEvent( new CustomEvent( 'elementor/initialized' ) );
22
- } );
23
-
24
- // Assert.
25
- expect( result.current ).toBe( 'dark' );
26
- } );
27
-
28
- it( 'should sync color scheme on V1 change', () => {
29
- // Arrange.
30
- mockV1ColorScheme( 'auto' );
31
-
32
- const { result } = renderHook( () => useColorScheme() );
33
-
34
- // Assert - Before change.
35
- expect( result.current ).toBe( 'auto' );
36
-
37
- // Act - Change.
38
- act( () => {
39
- mockV1ColorScheme( 'dark' );
40
-
41
- dispatchEvent( new CustomEvent( 'elementor/commands/run/after', {
42
- detail: {
43
- command: 'document/elements/settings',
44
- args: {
45
- container: {
46
- id: 'editorPreferences_settings',
47
- },
48
- settings: {
49
- ui_theme: 'dark',
50
- },
51
- },
52
- },
53
- } ) );
54
- } );
55
-
56
- // Assert.
57
- expect( result.current ).toBe( 'dark' );
58
- } );
59
-
60
- it( 'should not sync color scheme on unrelated commands', () => {
61
- // Act.
62
- const { result } = renderHook( () => useColorScheme() );
63
-
64
- act( () => {
65
- dispatchEvent( new CustomEvent( 'elementor/commands/run/after', {
66
- detail: {
67
- command: 'document/elements/settings',
68
- args: {
69
- container: {
70
- id: 'some_other_container',
71
- },
72
- },
73
- },
74
- } ) );
75
- } );
76
-
77
- // Assert.
78
- expect( result.current ).toBe( 'auto' );
79
- } );
80
- } );
81
-
82
- function mockV1ColorScheme( colorScheme: ColorScheme ) {
83
- ( window as unknown as ExtendedWindow ).elementor = {
84
- getPreferences: () => colorScheme,
85
- };
86
- }
package/typedoc.config.js DELETED
@@ -1,6 +0,0 @@
1
- const configPackage = require( '../../../typedoc/typedoc.packages.config.js' );
2
-
3
- /**
4
- * @type {import('typedoc').TypeDocOptions}
5
- */
6
- module.exports = configPackage;