@orion-studios/payload-studio 0.6.0-beta.141 → 0.6.0-beta.142

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.
@@ -1125,7 +1125,8 @@ var registerProjectDynamicComponents = (editor, adapter) => {
1125
1125
  name: `data-orion-${trait.name.replace(/[A-Z]/g, (char) => `-${char.toLowerCase()}`)}`,
1126
1126
  options: trait.options,
1127
1127
  placeholder: trait.placeholder,
1128
- type: trait.type
1128
+ type: trait.type,
1129
+ ...trait.type === "checkbox" ? { valueFalse: "false", valueTrue: "true" } : {}
1129
1130
  }))
1130
1131
  ]
1131
1132
  }
@@ -1463,11 +1464,31 @@ var decorateStylePanelTabOrder = () => {
1463
1464
  true
1464
1465
  );
1465
1466
  };
1467
+ var decorateBuilderTraitToggles = () => {
1468
+ const traitsRoot = document.getElementById("orion-builder-v2-traits");
1469
+ if (!traitsRoot) {
1470
+ return;
1471
+ }
1472
+ traitsRoot.querySelectorAll('input[type="checkbox"]').forEach((input) => {
1473
+ const trait = input.closest(".gjs-trt-trait");
1474
+ trait?.classList.add("has-orion-builder-toggle-trait");
1475
+ input.setAttribute("role", "switch");
1476
+ input.setAttribute("aria-checked", input.checked ? "true" : "false");
1477
+ if (input.dataset.orionToggleBound === "true") {
1478
+ return;
1479
+ }
1480
+ input.dataset.orionToggleBound = "true";
1481
+ input.addEventListener("change", () => {
1482
+ input.setAttribute("aria-checked", input.checked ? "true" : "false");
1483
+ });
1484
+ });
1485
+ };
1466
1486
  var decorateBuilderControls = (root = document) => {
1467
1487
  decorateBuilderSettingHelp(root);
1468
1488
  decorateBuilderColorEyeDroppers(root);
1469
1489
  decorateBuilderNumericSteppers(root);
1470
1490
  decorateStylePanelTabOrder();
1491
+ decorateBuilderTraitToggles();
1471
1492
  };
1472
1493
  var closeBuilderHelpPopovers = (except) => {
1473
1494
  document.querySelectorAll(".is-builder-help-open").forEach((element) => {
@@ -1001,7 +1001,8 @@ var registerProjectDynamicComponents = (editor, adapter) => {
1001
1001
  name: `data-orion-${trait.name.replace(/[A-Z]/g, (char) => `-${char.toLowerCase()}`)}`,
1002
1002
  options: trait.options,
1003
1003
  placeholder: trait.placeholder,
1004
- type: trait.type
1004
+ type: trait.type,
1005
+ ...trait.type === "checkbox" ? { valueFalse: "false", valueTrue: "true" } : {}
1005
1006
  }))
1006
1007
  ]
1007
1008
  }
@@ -1339,11 +1340,31 @@ var decorateStylePanelTabOrder = () => {
1339
1340
  true
1340
1341
  );
1341
1342
  };
1343
+ var decorateBuilderTraitToggles = () => {
1344
+ const traitsRoot = document.getElementById("orion-builder-v2-traits");
1345
+ if (!traitsRoot) {
1346
+ return;
1347
+ }
1348
+ traitsRoot.querySelectorAll('input[type="checkbox"]').forEach((input) => {
1349
+ const trait = input.closest(".gjs-trt-trait");
1350
+ trait?.classList.add("has-orion-builder-toggle-trait");
1351
+ input.setAttribute("role", "switch");
1352
+ input.setAttribute("aria-checked", input.checked ? "true" : "false");
1353
+ if (input.dataset.orionToggleBound === "true") {
1354
+ return;
1355
+ }
1356
+ input.dataset.orionToggleBound = "true";
1357
+ input.addEventListener("change", () => {
1358
+ input.setAttribute("aria-checked", input.checked ? "true" : "false");
1359
+ });
1360
+ });
1361
+ };
1342
1362
  var decorateBuilderControls = (root = document) => {
1343
1363
  decorateBuilderSettingHelp(root);
1344
1364
  decorateBuilderColorEyeDroppers(root);
1345
1365
  decorateBuilderNumericSteppers(root);
1346
1366
  decorateStylePanelTabOrder();
1367
+ decorateBuilderTraitToggles();
1347
1368
  };
1348
1369
  var closeBuilderHelpPopovers = (except) => {
1349
1370
  document.querySelectorAll(".is-builder-help-open").forEach((element) => {
@@ -1180,6 +1180,79 @@
1180
1180
  resize: vertical;
1181
1181
  }
1182
1182
 
1183
+ .orion-builder-v2-inspector #orion-builder-v2-traits .gjs-trt-trait.has-orion-builder-toggle-trait {
1184
+ border: 1px solid #e4c6b3;
1185
+ border-radius: 8px;
1186
+ margin-bottom: 8px !important;
1187
+ min-height: 54px;
1188
+ padding: 10px 12px;
1189
+ }
1190
+
1191
+ .orion-builder-v2-inspector #orion-builder-v2-traits .gjs-trt-trait.has-orion-builder-toggle-trait .gjs-trt-trait__wrp {
1192
+ align-items: center !important;
1193
+ display: grid !important;
1194
+ gap: 12px !important;
1195
+ grid-template-columns: minmax(0, 1fr) auto !important;
1196
+ width: 100% !important;
1197
+ }
1198
+
1199
+ .orion-builder-v2-inspector #orion-builder-v2-traits .gjs-trt-trait.has-orion-builder-toggle-trait .gjs-label-wrp,
1200
+ .orion-builder-v2-inspector #orion-builder-v2-traits .gjs-trt-trait.has-orion-builder-toggle-trait .gjs-field-wrp,
1201
+ .orion-builder-v2-inspector #orion-builder-v2-traits .gjs-trt-trait.has-orion-builder-toggle-trait .gjs-trt-trait__cnt {
1202
+ display: block !important;
1203
+ margin: 0 !important;
1204
+ width: auto !important;
1205
+ }
1206
+
1207
+ .orion-builder-v2-inspector #orion-builder-v2-traits .gjs-trt-trait.has-orion-builder-toggle-trait .gjs-trt-trait__label,
1208
+ .orion-builder-v2-inspector #orion-builder-v2-traits .gjs-trt-trait.has-orion-builder-toggle-trait .gjs-label {
1209
+ margin: 0 !important;
1210
+ white-space: normal !important;
1211
+ }
1212
+
1213
+ .orion-builder-v2-inspector #orion-builder-v2-traits .gjs-trt-trait.has-orion-builder-toggle-trait .gjs-field {
1214
+ background: transparent !important;
1215
+ border: 0 !important;
1216
+ box-shadow: none !important;
1217
+ height: auto !important;
1218
+ min-height: 0 !important;
1219
+ overflow: visible !important;
1220
+ padding: 0 !important;
1221
+ width: auto !important;
1222
+ }
1223
+
1224
+ .orion-builder-v2-inspector #orion-builder-v2-traits .gjs-trt-trait.has-orion-builder-toggle-trait input[type='checkbox'] {
1225
+ appearance: none;
1226
+ background: radial-gradient(circle at 8px 50%, #ffffff 0 6px, transparent 6.5px), #f1e3d6;
1227
+ border: 1px solid #d6b7a1 !important;
1228
+ border-radius: 999px;
1229
+ box-shadow: none;
1230
+ box-sizing: border-box;
1231
+ cursor: pointer;
1232
+ display: block;
1233
+ height: 18px !important;
1234
+ margin: 0 !important;
1235
+ max-width: none !important;
1236
+ min-height: 0 !important;
1237
+ min-width: 0 !important;
1238
+ padding: 0 !important;
1239
+ transition:
1240
+ background-color 0.15s ease,
1241
+ border-color 0.15s ease,
1242
+ box-shadow 0.15s ease;
1243
+ width: 34px !important;
1244
+ }
1245
+
1246
+ .orion-builder-v2-inspector #orion-builder-v2-traits .gjs-trt-trait.has-orion-builder-toggle-trait input[type='checkbox']:checked {
1247
+ background: radial-gradient(circle at calc(100% - 8px) 50%, #ffffff 0 6px, transparent 6.5px), var(--builder-v2-accent);
1248
+ border-color: rgba(255, 255, 255, 0.72) !important;
1249
+ }
1250
+
1251
+ .orion-builder-v2-inspector #orion-builder-v2-traits .gjs-trt-trait.has-orion-builder-toggle-trait input[type='checkbox']:focus-visible {
1252
+ outline: 2px solid rgba(35, 54, 84, 0.32) !important;
1253
+ outline-offset: 3px;
1254
+ }
1255
+
1183
1256
  .orion-builder-v2-editor .gjs-sm-sectors {
1184
1257
  display: grid;
1185
1258
  gap: 10px;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@orion-studios/payload-studio",
3
- "version": "0.6.0-beta.141",
3
+ "version": "0.6.0-beta.142",
4
4
  "description": "Base CMS, builder, and custom admin toolkit for Orion Studios websites",
5
5
  "types": "./dist/index.d.ts",
6
6
  "main": "./dist/index.js",