@jumoo/usync 17.5.0 → 17.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 (33) hide show
  1. package/LICENCE +372 -372
  2. package/README.md +10 -10
  3. package/dist/components/usync-action-box.js +61 -61
  4. package/dist/components/usync-change-detail.js +409 -409
  5. package/dist/components/usync-change-view.js +49 -49
  6. package/dist/components/usync-progress-box.js +106 -106
  7. package/dist/components/usync-result-row.js +61 -61
  8. package/dist/components/usync-results-group-view.js +55 -55
  9. package/dist/components/usync-results-view.js +63 -63
  10. package/dist/components/usync-sync-file-info-view.js +10 -10
  11. package/dist/dialogs/details-modal-element.js +37 -37
  12. package/dist/dialogs/error-modal-element.js +21 -21
  13. package/dist/dialogs/legacy-modal-element.js +22 -22
  14. package/dist/dialogs/single-import-modal.element.js +30 -30
  15. package/dist/icons/svg/logo.js +20 -20
  16. package/dist/lang/files/da-dk.js +12 -12
  17. package/dist/lang/files/de-de.js +12 -12
  18. package/dist/lang/files/en-us.js +12 -12
  19. package/dist/lang/files/es-es.js +12 -12
  20. package/dist/lang/files/fr-fr.js +12 -12
  21. package/dist/lang/files/nl-nl.js +12 -12
  22. package/dist/tree/usync.menu-element.js +8 -8
  23. package/dist/workspace/components/usync-action-button.js +50 -50
  24. package/dist/workspace/components/usync-file-picker.element.js +33 -33
  25. package/dist/workspace/components/usync-file-upload.element.js +25 -25
  26. package/dist/workspace/dialogs/import-modal.element.js +22 -22
  27. package/dist/workspace/views/addons/addons.element.js +97 -97
  28. package/dist/workspace/views/default/default.element.js +186 -186
  29. package/dist/workspace/views/legacy/legacy.element.js +81 -81
  30. package/dist/workspace/views/settings/components/usyncSettingItem.element.js +38 -38
  31. package/dist/workspace/views/settings/settings.element.js +124 -124
  32. package/dist/workspace/workspace.element.js +16 -16
  33. package/package.json +70 -70
@@ -35,18 +35,18 @@ let SyncLegacyFilesElement = class SyncLegacyFilesElement extends UmbLitElement
35
35
  });
36
36
  }
37
37
  render() {
38
- return html `<umb-body-layout>
39
- ${this.renderLegacyNote()} ${this.renderActions()}
38
+ return html `<umb-body-layout>
39
+ ${this.renderLegacyNote()} ${this.renderActions()}
40
40
  </umb-body-layout>`;
41
41
  }
42
42
  renderLegacyNote() {
43
- return html ` <uui-box headline="Legacy uSync files detected">
44
- <p>
45
- uSync has found an old uSync folder at
46
- <strong>${this._legacy?.legacyFolder ?? ''}</strong>. It is likely that the
47
- content will need converting in some way.
48
- </p>
49
- ${this.renderLegacyTypes(this._legacy?.legacyTypes)}
43
+ return html ` <uui-box headline="Legacy uSync files detected">
44
+ <p>
45
+ uSync has found an old uSync folder at
46
+ <strong>${this._legacy?.legacyFolder ?? ''}</strong>. It is likely that the
47
+ content will need converting in some way.
48
+ </p>
49
+ ${this.renderLegacyTypes(this._legacy?.legacyTypes)}
50
50
  </uui-box>`;
51
51
  }
52
52
  renderLegacyTypes(legacyTypes) {
@@ -56,57 +56,57 @@ let SyncLegacyFilesElement = class SyncLegacyFilesElement extends UmbLitElement
56
56
  const legacyTypeHtml = legacyTypes.map((datatype) => {
57
57
  return html `<li>${datatype}</li>`;
58
58
  });
59
- return html `
60
- <div>
61
- <h3>Obsolete DataTypes</h3>
62
- <p>
63
- The following DataTypes - found in the legacy folder - are no longer supported
64
- in Umbraco 14+ and will need to be converted.
65
- </p>
66
- <ul>
67
- ${legacyTypeHtml}
68
- </ul>
69
- <p>
70
- You can convert these DataTypes using
71
- <a href="https://github.com/Jumoo/uSyncMigrations" target="_blank"
72
- >uSync.Migrations</a
73
- ><br />
74
- </p>
75
- </div>
59
+ return html `
60
+ <div>
61
+ <h3>Obsolete DataTypes</h3>
62
+ <p>
63
+ The following DataTypes - found in the legacy folder - are no longer supported
64
+ in Umbraco 14+ and will need to be converted.
65
+ </p>
66
+ <ul>
67
+ ${legacyTypeHtml}
68
+ </ul>
69
+ <p>
70
+ You can convert these DataTypes using
71
+ <a href="https://github.com/Jumoo/uSyncMigrations" target="_blank"
72
+ >uSync.Migrations</a
73
+ ><br />
74
+ </p>
75
+ </div>
76
76
  `;
77
77
  }
78
78
  renderActions() {
79
- return html `
80
- <div class="legacy-actions">
81
- <uui-box>
82
- <div class="actions">
83
- <uui-button
84
- label="copy"
85
- color="positive"
86
- look="primary"
87
- @click=${__classPrivateFieldGet(this, _SyncLegacyFilesElement_instances, "m", _SyncLegacyFilesElement_onCopy)}
88
- >Overwrite v${this._legacy?.latestVersion} folder</uui-button
89
- >
90
- <p>
91
- Copy the contents of the legacy folder to the new
92
- ${this._legacy?.latestFolder} folder
93
- </p>
94
- </div>
95
- </uui-box>
96
-
97
- <uui-box>
98
- <div class="actions">
99
- <uui-button
100
- label="ignore"
101
- color="warning"
102
- look="primary"
103
- @click=${__classPrivateFieldGet(this, _SyncLegacyFilesElement_instances, "m", _SyncLegacyFilesElement_onIgnore)}
104
- >Ignore legacy folder</uui-button
105
- >
106
- <p>Ignore the legacy folder and continue</p>
107
- </div>
108
- </uui-box>
109
- </div>
79
+ return html `
80
+ <div class="legacy-actions">
81
+ <uui-box>
82
+ <div class="actions">
83
+ <uui-button
84
+ label="copy"
85
+ color="positive"
86
+ look="primary"
87
+ @click=${__classPrivateFieldGet(this, _SyncLegacyFilesElement_instances, "m", _SyncLegacyFilesElement_onCopy)}
88
+ >Overwrite v${this._legacy?.latestVersion} folder</uui-button
89
+ >
90
+ <p>
91
+ Copy the contents of the legacy folder to the new
92
+ ${this._legacy?.latestFolder} folder
93
+ </p>
94
+ </div>
95
+ </uui-box>
96
+
97
+ <uui-box>
98
+ <div class="actions">
99
+ <uui-button
100
+ label="ignore"
101
+ color="warning"
102
+ look="primary"
103
+ @click=${__classPrivateFieldGet(this, _SyncLegacyFilesElement_instances, "m", _SyncLegacyFilesElement_onIgnore)}
104
+ >Ignore legacy folder</uui-button
105
+ >
106
+ <p>Ignore the legacy folder and continue</p>
107
+ </div>
108
+ </uui-box>
109
+ </div>
110
110
  `;
111
111
  }
112
112
  };
@@ -152,30 +152,30 @@ _SyncLegacyFilesElement_onIgnore = async function _SyncLegacyFilesElement_onIgno
152
152
  console.log('ignore cancelled by user');
153
153
  });
154
154
  };
155
- SyncLegacyFilesElement.styles = css `
156
- uui-box {
157
- margin-bottom: var(--uui-size-3);
158
- }
159
-
160
- .legacy-actions {
161
- display: flex;
162
- gap: var(--uui-size-space-4);
163
- justify-content: space-between;
164
- }
165
-
166
- .legacy-actions uui-box {
167
- flex-basis: 50%;
168
- }
169
-
170
- .legacy-actions .actions {
171
- display: flex;
172
- flex-direction: column;
173
- align-items: center;
174
- }
175
-
176
- uui-button {
177
- font-size: var(--uui-type-h5-size);
178
- }
155
+ SyncLegacyFilesElement.styles = css `
156
+ uui-box {
157
+ margin-bottom: var(--uui-size-3);
158
+ }
159
+
160
+ .legacy-actions {
161
+ display: flex;
162
+ gap: var(--uui-size-space-4);
163
+ justify-content: space-between;
164
+ }
165
+
166
+ .legacy-actions uui-box {
167
+ flex-basis: 50%;
168
+ }
169
+
170
+ .legacy-actions .actions {
171
+ display: flex;
172
+ flex-direction: column;
173
+ align-items: center;
174
+ }
175
+
176
+ uui-button {
177
+ font-size: var(--uui-type-h5-size);
178
+ }
179
179
  `;
180
180
  __decorate([
181
181
  state()
@@ -17,14 +17,14 @@ let uSyncSettingItemElement = class uSyncSettingItemElement extends LitElement {
17
17
  _uSyncSettingItemElement_instances.add(this);
18
18
  }
19
19
  render() {
20
- return html `
21
- <div class="usync-setting-value">
22
- <div class="info">
23
- <h5>${this.name}</h5>
24
- <div>${this.description}</div>
25
- </div>
26
- <div class="value">${__classPrivateFieldGet(this, _uSyncSettingItemElement_instances, "m", _uSyncSettingItemElement_renderValue).call(this)}</div>
27
- </div>
20
+ return html `
21
+ <div class="usync-setting-value">
22
+ <div class="info">
23
+ <h5>${this.name}</h5>
24
+ <div>${this.description}</div>
25
+ </div>
26
+ <div class="value">${__classPrivateFieldGet(this, _uSyncSettingItemElement_instances, "m", _uSyncSettingItemElement_renderValue).call(this)}</div>
27
+ </div>
28
28
  `;
29
29
  }
30
30
  };
@@ -35,10 +35,10 @@ _uSyncSettingItemElement_renderValue = function _uSyncSettingItemElement_renderV
35
35
  }
36
36
  if (typeof this.value == 'boolean') {
37
37
  const classes = { _set: this.value };
38
- return html `
39
- <uui-icon
40
- name=${this.value ? 'icon-check' : 'icon-wrong'}
41
- class=${classMap(classes)}></uui-icon>
38
+ return html `
39
+ <uui-icon
40
+ name=${this.value ? 'icon-check' : 'icon-wrong'}
41
+ class=${classMap(classes)}></uui-icon>
42
42
  `;
43
43
  }
44
44
  else {
@@ -46,8 +46,8 @@ _uSyncSettingItemElement_renderValue = function _uSyncSettingItemElement_renderV
46
46
  const list = this.value.map((v) => {
47
47
  return html `<li>${v}</li>`;
48
48
  });
49
- return html `<ul>
50
- ${list}
49
+ return html `<ul>
50
+ ${list}
51
51
  </ul>`;
52
52
  }
53
53
  else {
@@ -55,30 +55,30 @@ _uSyncSettingItemElement_renderValue = function _uSyncSettingItemElement_renderV
55
55
  }
56
56
  }
57
57
  };
58
- uSyncSettingItemElement.styles = css `
59
- .usync-setting-value {
60
- display: flex;
61
- justify-content: space-between;
62
- padding: var(--uui-size-space-2) 0;
63
- border-bottom: 1px solid var(--uui-color-divider);
64
- }
65
-
66
- .usync-setting-value h5 {
67
- margin: 0;
68
- padding: 0;
69
- }
70
-
71
- uui-icon {
72
- color: var(--uui-color-danger);
73
- }
74
-
75
- uui-icon._set {
76
- color: var(--uui-color-positive);
77
- }
78
-
79
- ul {
80
- list-style: none;
81
- }
58
+ uSyncSettingItemElement.styles = css `
59
+ .usync-setting-value {
60
+ display: flex;
61
+ justify-content: space-between;
62
+ padding: var(--uui-size-space-2) 0;
63
+ border-bottom: 1px solid var(--uui-color-divider);
64
+ }
65
+
66
+ .usync-setting-value h5 {
67
+ margin: 0;
68
+ padding: 0;
69
+ }
70
+
71
+ uui-icon {
72
+ color: var(--uui-color-danger);
73
+ }
74
+
75
+ uui-icon._set {
76
+ color: var(--uui-color-positive);
77
+ }
78
+
79
+ ul {
80
+ list-style: none;
81
+ }
82
82
  `;
83
83
  __decorate([
84
84
  property({ type: String })
@@ -29,137 +29,137 @@ let USyncSettingsViewElement = class USyncSettingsViewElement extends UmbElement
29
29
  });
30
30
  }
31
31
  render() {
32
- return html `
33
- <umb-body-layout>
34
- <div class="usync-settings-layout">
35
- <div>
36
- <uui-box headline=${this.localize.termOrDefault('USyncSettings_settings', 'uSync Settings')}>
37
- <usync-setting-item
38
- .name=${this.localize.termOrDefault('USyncSettings_processingMode', 'Processing Mode')}
39
- .description=${this.localize.termOrDefault('USyncSettings_processingModeDesc', 'How the uSync process runs, either in the background or interactively (Normal)')}
40
- .value=${this.settings?.processingMode}></usync-setting-item>
41
- <usync-setting-item
42
- .name=${this.localize.termOrDefault('USyncSettings_importAtStartup', 'Import at startup')}
43
- .description=${this.localize.termOrDefault('USyncSettings_importAtStartupDesc', 'Run an import of files from the disk when Umbraco starts')}
44
- .value=${this.settings?.importAtStartup}></usync-setting-item>
45
- <usync-setting-item
46
- .name=${this.localize.termOrDefault('USyncSettings_exportAtStartup', 'Export at startup')}
47
- .description=${this.localize.termOrDefault('USyncSettings_exportAtStartupDesc', 'Export the Umbraco settings when the site starts up')}
48
- .value=${this.settings?.exportAtStartup}></usync-setting-item>
49
-
50
- <usync-setting-item
51
- .name=${this.localize.termOrDefault('USyncSettings_exportOnSave', 'Export on save')}
52
- .description=${this.localize.termOrDefault('USyncSettings_exportOnSaveDesc', 'Generate uSync files when items are saved')}
53
- .value=${this.settings?.exportOnSave}></usync-setting-item>
54
-
55
- <usync-setting-item
56
- .name=${this.localize.termOrDefault('USyncSettings_uiEnabledGroups', 'UI Enabled groups')}
57
- .description=${this.localize.termOrDefault('USyncSettings_uiEnabledGroupsDesc', 'Handler groups that can be seen/used on the dashboard')}
58
- .value=${this.settings?.uiEnabledGroups}></usync-setting-item>
59
-
60
- <usync-setting-item
61
- .name=${this.localize.termOrDefault('USyncSettings_failOnMissingParent', 'Fail on missing parent')}
62
- .description=${this.localize.termOrDefault('USyncSettings_failOnMissingParentDesc', 'Fail on missing parent')}
63
- .value=${this.settings?.failOnMissingParent}></usync-setting-item>
64
- </uui-box>
65
-
66
- <uui-box headline=${this.localize.termOrDefault('USyncSettings_filesAndFolders', 'File and folders')}>
67
- <usync-setting-item
68
- .name=${this.localize.termOrDefault('USyncSettings_rootSite', 'Root Site')}
69
- .description=${this.localize.termOrDefault('USyncSettings_rootSiteDesc', 'Is this site a root for other sites.')}
70
- .value=${this.settings?.isRootSite}></usync-setting-item>
71
-
72
- <usync-setting-item
73
- .name=${this.localize.termOrDefault('USyncSettings_rootLocked', 'Root Locked')}
74
- .description=${this.localize.termOrDefault('USyncSettings_rootLockedDesc', 'Are changes for items that are from the root site locked?')}
75
- .value=${this.settings?.lockRoot}></usync-setting-item>
76
-
77
- <usync-setting-item
78
- .name=${this.localize.termOrDefault('USyncSettings_folders', 'Folders')}
79
- .description=${this.localize.termOrDefault('USyncSettings_foldersDesc', 'Folders uSync will look for files, (items are normally saved into last folder in the list)')}
80
- .value=${this.settings?.folders}></usync-setting-item>
81
- </uui-box>
82
- </div>
83
-
84
- <div>
85
- <uui-box headline=${this.localize.termOrDefault('USyncSettings_handlerDefaults', 'Handler defaults')}>
86
- <usync-setting-item
87
- .name=${this.localize.termOrDefault('USyncSettings_handlerSet', 'Default handler set')}
88
- .description=${this.localize.termOrDefault('USyncSettings_handlerSetDesc', 'The default handler set to use for the site')}
89
- .value=${this.settings?.defaultSet}></usync-setting-item>
90
-
91
- <usync-setting-item
92
- .name=${this.localize.termOrDefault('USyncSettings_flatStructure', 'Flat structure')}
93
- .description=${this.localize.termOrDefault('USyncSettings_flatStructureDesc', 'All items of a type are stored in a flat folder structure')}
32
+ return html `
33
+ <umb-body-layout>
34
+ <div class="usync-settings-layout">
35
+ <div>
36
+ <uui-box headline=${this.localize.termOrDefault('USyncSettings_settings', 'uSync Settings')}>
37
+ <usync-setting-item
38
+ .name=${this.localize.termOrDefault('USyncSettings_processingMode', 'Processing Mode')}
39
+ .description=${this.localize.termOrDefault('USyncSettings_processingModeDesc', 'How the uSync process runs, either in the background or interactively (Normal)')}
40
+ .value=${this.settings?.processingMode}></usync-setting-item>
41
+ <usync-setting-item
42
+ .name=${this.localize.termOrDefault('USyncSettings_importAtStartup', 'Import at startup')}
43
+ .description=${this.localize.termOrDefault('USyncSettings_importAtStartupDesc', 'Run an import of files from the disk when Umbraco starts')}
44
+ .value=${this.settings?.importAtStartup}></usync-setting-item>
45
+ <usync-setting-item
46
+ .name=${this.localize.termOrDefault('USyncSettings_exportAtStartup', 'Export at startup')}
47
+ .description=${this.localize.termOrDefault('USyncSettings_exportAtStartupDesc', 'Export the Umbraco settings when the site starts up')}
48
+ .value=${this.settings?.exportAtStartup}></usync-setting-item>
49
+
50
+ <usync-setting-item
51
+ .name=${this.localize.termOrDefault('USyncSettings_exportOnSave', 'Export on save')}
52
+ .description=${this.localize.termOrDefault('USyncSettings_exportOnSaveDesc', 'Generate uSync files when items are saved')}
53
+ .value=${this.settings?.exportOnSave}></usync-setting-item>
54
+
55
+ <usync-setting-item
56
+ .name=${this.localize.termOrDefault('USyncSettings_uiEnabledGroups', 'UI Enabled groups')}
57
+ .description=${this.localize.termOrDefault('USyncSettings_uiEnabledGroupsDesc', 'Handler groups that can be seen/used on the dashboard')}
58
+ .value=${this.settings?.uiEnabledGroups}></usync-setting-item>
59
+
60
+ <usync-setting-item
61
+ .name=${this.localize.termOrDefault('USyncSettings_failOnMissingParent', 'Fail on missing parent')}
62
+ .description=${this.localize.termOrDefault('USyncSettings_failOnMissingParentDesc', 'Fail on missing parent')}
63
+ .value=${this.settings?.failOnMissingParent}></usync-setting-item>
64
+ </uui-box>
65
+
66
+ <uui-box headline=${this.localize.termOrDefault('USyncSettings_filesAndFolders', 'File and folders')}>
67
+ <usync-setting-item
68
+ .name=${this.localize.termOrDefault('USyncSettings_rootSite', 'Root Site')}
69
+ .description=${this.localize.termOrDefault('USyncSettings_rootSiteDesc', 'Is this site a root for other sites.')}
70
+ .value=${this.settings?.isRootSite}></usync-setting-item>
71
+
72
+ <usync-setting-item
73
+ .name=${this.localize.termOrDefault('USyncSettings_rootLocked', 'Root Locked')}
74
+ .description=${this.localize.termOrDefault('USyncSettings_rootLockedDesc', 'Are changes for items that are from the root site locked?')}
75
+ .value=${this.settings?.lockRoot}></usync-setting-item>
76
+
77
+ <usync-setting-item
78
+ .name=${this.localize.termOrDefault('USyncSettings_folders', 'Folders')}
79
+ .description=${this.localize.termOrDefault('USyncSettings_foldersDesc', 'Folders uSync will look for files, (items are normally saved into last folder in the list)')}
80
+ .value=${this.settings?.folders}></usync-setting-item>
81
+ </uui-box>
82
+ </div>
83
+
84
+ <div>
85
+ <uui-box headline=${this.localize.termOrDefault('USyncSettings_handlerDefaults', 'Handler defaults')}>
86
+ <usync-setting-item
87
+ .name=${this.localize.termOrDefault('USyncSettings_handlerSet', 'Default handler set')}
88
+ .description=${this.localize.termOrDefault('USyncSettings_handlerSetDesc', 'The default handler set to use for the site')}
89
+ .value=${this.settings?.defaultSet}></usync-setting-item>
90
+
91
+ <usync-setting-item
92
+ .name=${this.localize.termOrDefault('USyncSettings_flatStructure', 'Flat structure')}
93
+ .description=${this.localize.termOrDefault('USyncSettings_flatStructureDesc', 'All items of a type are stored in a flat folder structure')}
94
94
  .value=${this.handlerSettings?.handlerDefaults
95
- ?.useFlatStructure}></usync-setting-item>
96
-
97
- <usync-setting-item
98
- .name=${this.localize.termOrDefault('USyncSettings_guidNames', 'Use guids for filenames')}
99
- .description=${this.localize.termOrDefault('USyncSettings_guidNamesDesc', 'Use the GUID of an item as the filename')}
95
+ ?.useFlatStructure}></usync-setting-item>
96
+
97
+ <usync-setting-item
98
+ .name=${this.localize.termOrDefault('USyncSettings_guidNames', 'Use guids for filenames')}
99
+ .description=${this.localize.termOrDefault('USyncSettings_guidNamesDesc', 'Use the GUID of an item as the filename')}
100
100
  .value=${this.handlerSettings?.handlerDefaults
101
- ?.guidNames}></usync-setting-item>
102
-
103
- <usync-setting-item
104
- .name=${this.localize.termOrDefault('USyncSettings_handlerGroups', 'Handler groups')}
105
- .description=${this.localize.termOrDefault('USyncSettings_handlerGroupsDesc', 'Groups to limit handler set to')}
101
+ ?.guidNames}></usync-setting-item>
102
+
103
+ <usync-setting-item
104
+ .name=${this.localize.termOrDefault('USyncSettings_handlerGroups', 'Handler groups')}
105
+ .description=${this.localize.termOrDefault('USyncSettings_handlerGroupsDesc', 'Groups to limit handler set to')}
106
106
  .value=${this.handlerSettings?.handlerDefaults
107
- ?.group}></usync-setting-item>
108
-
109
- <usync-setting-item
110
- .name=${this.localize.termOrDefault('USyncSettings_failOnMissingParent', 'Fail on missing parent')}
111
- .description=${this.localize.termOrDefault('USyncSettings_failOnMissingParentDesc', 'Fail on missing parent')}
107
+ ?.group}></usync-setting-item>
108
+
109
+ <usync-setting-item
110
+ .name=${this.localize.termOrDefault('USyncSettings_failOnMissingParent', 'Fail on missing parent')}
111
+ .description=${this.localize.termOrDefault('USyncSettings_failOnMissingParentDesc', 'Fail on missing parent')}
112
112
  .value=${this.handlerSettings?.handlerDefaults
113
- ?.failOnMissingParent}></usync-setting-item>
114
-
115
- <usync-setting-item
116
- .name=${this.localize.termOrDefault('USyncSettings_disabledHandlers', 'Disabled Handlers')}
117
- .description=${this.localize.termOrDefault('USyncSettings_disabledHandlersDesc', 'Handlers explicitly disabled for this handler set')}
118
- .value=${this.handlerSettings?.disabledHandlers}></usync-setting-item>
119
- </uui-box>
120
- <uui-box headline=${this.localize.termOrDefault('USyncSettings_bootSettings', 'First boot settings')}>
121
- <usync-setting-item
122
- .name=${this.localize.termOrDefault('USyncSettings_firstBoot', 'Import on First boot')}
123
- .description=${this.localize.termOrDefault('USyncSettings_firstBootDesc', 'Run the import process on first boot of the site')}
124
- .value=${this.settings?.importOnFirstBoot}></usync-setting-item>
125
- ${when(this.settings?.importOnFirstBoot, () => html ` <usync-setting-item
126
- .name=${this.localize.termOrDefault('USyncSettings_firstBootGroup', 'First boot groups')}
127
- .description=${this.localize.termOrDefault('USyncSettings_firstBootGroupDesc', 'The groups to run on first boot')}
128
- .value=${this.settings?.firstBootGroup}></usync-setting-item>`)}
129
- </uui-box>
130
- </div>
131
- </div>
132
- <div class="setting-link">
133
- <umb-localize key="USyncSettings_help"></umb-localize>
134
- </div>
135
- </umb-body-layout>
113
+ ?.failOnMissingParent}></usync-setting-item>
114
+
115
+ <usync-setting-item
116
+ .name=${this.localize.termOrDefault('USyncSettings_disabledHandlers', 'Disabled Handlers')}
117
+ .description=${this.localize.termOrDefault('USyncSettings_disabledHandlersDesc', 'Handlers explicitly disabled for this handler set')}
118
+ .value=${this.handlerSettings?.disabledHandlers}></usync-setting-item>
119
+ </uui-box>
120
+ <uui-box headline=${this.localize.termOrDefault('USyncSettings_bootSettings', 'First boot settings')}>
121
+ <usync-setting-item
122
+ .name=${this.localize.termOrDefault('USyncSettings_firstBoot', 'Import on First boot')}
123
+ .description=${this.localize.termOrDefault('USyncSettings_firstBootDesc', 'Run the import process on first boot of the site')}
124
+ .value=${this.settings?.importOnFirstBoot}></usync-setting-item>
125
+ ${when(this.settings?.importOnFirstBoot, () => html ` <usync-setting-item
126
+ .name=${this.localize.termOrDefault('USyncSettings_firstBootGroup', 'First boot groups')}
127
+ .description=${this.localize.termOrDefault('USyncSettings_firstBootGroupDesc', 'The groups to run on first boot')}
128
+ .value=${this.settings?.firstBootGroup}></usync-setting-item>`)}
129
+ </uui-box>
130
+ </div>
131
+ </div>
132
+ <div class="setting-link">
133
+ <umb-localize key="USyncSettings_help"></umb-localize>
134
+ </div>
135
+ </umb-body-layout>
136
136
  `;
137
137
  }
138
138
  };
139
- USyncSettingsViewElement.styles = css `
140
- :host {
141
- display: block;
142
- }
143
-
144
- .usync-settings-layout {
145
- display: grid;
146
- grid-template-columns: 5fr 5fr;
147
- grid-template-rows: auto auto;
148
- gap: var(--uui-size-space-5);
149
- row-gap: var(--uui-size-space-5);
150
- grid-auto-flow: row;
151
- grid-template-areas: 'settings info', 'handler info';
152
- }
153
-
154
- .usync-settings-layout > div {
155
- display: flex;
156
- flex-direction: column;
157
- gap: var(--uui-size-space-6);
158
- }
159
-
160
- .setting-link {
161
- text-align: center;
162
- }
139
+ USyncSettingsViewElement.styles = css `
140
+ :host {
141
+ display: block;
142
+ }
143
+
144
+ .usync-settings-layout {
145
+ display: grid;
146
+ grid-template-columns: 5fr 5fr;
147
+ grid-template-rows: auto auto;
148
+ gap: var(--uui-size-space-5);
149
+ row-gap: var(--uui-size-space-5);
150
+ grid-auto-flow: row;
151
+ grid-template-areas: 'settings info', 'handler info';
152
+ }
153
+
154
+ .usync-settings-layout > div {
155
+ display: flex;
156
+ flex-direction: column;
157
+ gap: var(--uui-size-space-6);
158
+ }
159
+
160
+ .setting-link {
161
+ text-align: center;
162
+ }
163
163
  `;
164
164
  __decorate([
165
165
  state()
@@ -35,28 +35,28 @@ let uSyncWorkspaceRootElement = class uSyncWorkspaceRootElement extends UmbEleme
35
35
  this.version = `v${addons?.version ?? uSyncConstants.version}`;
36
36
  }
37
37
  render() {
38
- return html `
39
- <umb-workspace-editor .enforceNoFooter=${true}>
40
- <div slot="header" class="header">
41
- <div>
42
- <strong><umb-localize key="uSync_name"></umb-localize></strong><br /><em
43
- >${this.version}</em
44
- >
45
- </div>
46
- </div>
47
- </umb-workspace-editor>
38
+ return html `
39
+ <umb-workspace-editor .enforceNoFooter=${true}>
40
+ <div slot="header" class="header">
41
+ <div>
42
+ <strong><umb-localize key="uSync_name"></umb-localize></strong><br /><em
43
+ >${this.version}</em
44
+ >
45
+ </div>
46
+ </div>
47
+ </umb-workspace-editor>
48
48
  `;
49
49
  }
50
50
  };
51
51
  _uSyncWorkspaceRootElement_workspaceContext = new WeakMap();
52
52
  uSyncWorkspaceRootElement.styles = [
53
53
  UmbTextStyles,
54
- css `
55
- umb-workspace-editor > div.header {
56
- display: flex;
57
- align-items: center;
58
- align-content: center;
59
- }
54
+ css `
55
+ umb-workspace-editor > div.header {
56
+ display: flex;
57
+ align-items: center;
58
+ align-content: center;
59
+ }
60
60
  `,
61
61
  ];
62
62
  __decorate([