@innovastudio/contentbox 1.6.200 → 1.6.202

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/index.d.ts CHANGED
@@ -51,6 +51,12 @@ interface ContentBoxOptions {
51
51
 
52
52
  htmlButton?: boolean;
53
53
  sectionHtmlButton?: boolean;
54
+ /** Quick section controls under the Section breadcrumb of the panel. Default: false. Users can switch them on in Settings. */
55
+ sectionQuickTool?: boolean;
56
+ /** Section tools on the page (move, HTML, settings, remove). Default: true. Users can switch them off in Settings. */
57
+ sectionTool?: boolean;
58
+ /** Box tools on the page (background upload & select, box & module settings). Default: true. Users can switch them off in Settings. */
59
+ boxTool?: boolean;
54
60
  undoRedoButtons?: boolean;
55
61
  /** Content Size slider on the Box panel. Default: true. */
56
62
  contentSizeSlider?: boolean;
@@ -723,6 +729,12 @@ declare class ContentBox {
723
729
  openModal(url: string, options?: OpenModalOptions): void;
724
730
  screenMode: string;
725
731
  openFilePicker(type?: string, callback?: () => void): void;
732
+ /** Is an asset manager configured for this type of file? */
733
+ hasFilePicker(type?: string): boolean;
734
+ /** Upload a file from the user's computer; the callback gets its URL. */
735
+ openFileUpload(type?: string, callback?: (url: string) => void): void;
736
+ /** Select and upload buttons for a URL field in a plugin's settings. Select is included only where an asset manager is configured. */
737
+ createFileButtons(type?: string, callback?: (url: string) => void): HTMLButtonElement[];
726
738
  openColorPicker(
727
739
  currentColor: string,
728
740
  callback: (color: string) => void,
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "type": "module",
3
3
  "name": "@innovastudio/contentbox",
4
- "version": "1.6.200",
4
+ "version": "1.6.202",
5
5
  "description": "",
6
6
  "main": "public/contentbox/contentbox.esm.js",
7
7
  "types": "index.d.ts",
@@ -23,7 +23,8 @@
23
23
  "test:canvas": "node tests/canvas-size.mjs",
24
24
  "test:fonts": "node tests/fonts.mjs",
25
25
  "test:mode": "node tests/mode-buttons.mjs",
26
- "test": "node tests/box-structure.mjs && node tests/content-size-handles.mjs && node tests/spacing-panels.mjs && node tests/panel-section-state.mjs && node tests/device-row.mjs && node tests/canvas-size.mjs && node tests/fonts.mjs && node tests/mode-buttons.mjs"
26
+ "test:codesource": "node tests/code-source-mapping.mjs",
27
+ "test": "node tests/box-structure.mjs && node tests/content-size-handles.mjs && node tests/spacing-panels.mjs && node tests/panel-section-state.mjs && node tests/device-row.mjs && node tests/canvas-size.mjs && node tests/fonts.mjs && node tests/mode-buttons.mjs && node tests/code-source-mapping.mjs"
27
28
  },
28
29
  "keywords": [],
29
30
  "author": "",
@@ -71,7 +72,7 @@
71
72
  "@gltf-transform/core": "^4.5.0",
72
73
  "@gltf-transform/extensions": "^4.5.0",
73
74
  "@gltf-transform/functions": "^4.5.0",
74
- "@innovastudio/contentbuilder": "^1.5.218",
75
+ "@innovastudio/contentbuilder": "^1.5.220",
75
76
  "js-beautify": "^1.14.0",
76
77
  "marked": "^17.0.0",
77
78
  "meshoptimizer": "^1.2.0",
@@ -495,7 +495,7 @@ body.dark .motion-dock iframe, body.dark .cascade-dock iframe, body.dark .is-con
495
495
  }
496
496
  .builder-ui .panel-plugin label {
497
497
  display: flex;
498
- font-size: 14px;
498
+ font-size: 13px;
499
499
  line-height: 1.6;
500
500
  }
501
501
  .builder-ui .panel-plugin .cb-settings-form {
@@ -553,6 +553,7 @@ body.dark .motion-dock iframe, body.dark .cascade-dock iframe, body.dark .is-con
553
553
  .builder-ui .label.checkbox span {
554
554
  line-height: 1.2;
555
555
  margin-left: 7px;
556
+ font-weight: 300;
556
557
  }
557
558
  .builder-ui .label.unit > div {
558
559
  display: flex;
@@ -653,17 +654,10 @@ body.dark .motion-dock iframe, body.dark .cascade-dock iframe, body.dark .is-con
653
654
  padding: 2px;
654
655
  box-sizing: border-box;
655
656
  }
656
- .builder-ui .group:has(> button:nth-child(6)):not(:has(> button:nth-child(7))) {
657
+ .builder-ui .group.inserts:has(> button:nth-child(6)) {
657
658
  max-width: 133px;
658
659
  margin-right: 7px;
659
660
  }
660
- .builder-ui .group:has(> button:nth-child(7)):not(:has(> button:nth-child(9))) {
661
- width: 175px;
662
- margin-right: 7px;
663
- }
664
- .builder-ui .group:has(> button:nth-child(9)):not(:has(> button:nth-child(11))) {
665
- max-width: 216px;
666
- }
667
661
  .builder-ui .group.single {
668
662
  border-color: transparent;
669
663
  padding: 0;
@@ -928,6 +922,43 @@ body.controlpanel .builder-ui .is-controlpanel {
928
922
  right: 0px;
929
923
  box-shadow: rgba(0, 0, 0, 0.05) 0 0 16px 0px;
930
924
  }
925
+ body.controlpanel [data-cb-ui] .is-modal.cbxsettings div.is-modal-content {
926
+ width: 400px;
927
+ max-width: 94vw;
928
+ min-height: 0;
929
+ padding: 0 !important;
930
+ }
931
+ body.controlpanel [data-cb-ui] .is-modal.cbxsettings .cbx-set-body {
932
+ padding: 6px 18px 20px;
933
+ }
934
+ body.controlpanel [data-cb-ui] .is-modal.cbxsettings .cbx-set-row2 {
935
+ display: grid;
936
+ grid-template-columns: 1fr 1fr;
937
+ gap: 16px;
938
+ }
939
+ body.controlpanel [data-cb-ui] .is-modal.cbxsettings .cb-seg button.inert {
940
+ color: var(--cb-text-4);
941
+ background-color: transparent !important;
942
+ cursor: default;
943
+ }
944
+ body.controlpanel [data-cb-ui] .is-modal.cbxsettings .cb-seg button.inert:hover {
945
+ background-color: transparent !important;
946
+ }
947
+ body.controlpanel [data-cb-ui] .is-modal.cbxsettings .cbx-set-sep {
948
+ height: 1px;
949
+ background: var(--cb-line);
950
+ margin: 16px 0;
951
+ }
952
+ body.controlpanel [data-cb-ui] .is-modal.cbxsettings .cbx-themes {
953
+ display: flex;
954
+ gap: 6px;
955
+ margin-top: 3px;
956
+ }
957
+ body.controlpanel [data-cb-ui] .is-modal.cbxsettings .cbx-themes button {
958
+ width: 30px;
959
+ height: 26px;
960
+ border-radius: 5px;
961
+ }
931
962
  body.controlpanel [data-cb-ui] .is-modal.elementstyles {
932
963
  right: 310px;
933
964
  }
@@ -1078,6 +1109,24 @@ body.controlpanel .is-wrapper {
1078
1109
  width: 10px;
1079
1110
  height: 10px;
1080
1111
  }
1112
+ .builder-ui .is-controlpanel .panelnav .part-sectionmove.group {
1113
+ width: auto;
1114
+ margin: 10px 0 6px;
1115
+ flex-wrap: nowrap;
1116
+ }
1117
+ .builder-ui .is-controlpanel .panelnav .part-sectionmove.group button {
1118
+ width: 26px;
1119
+ height: 26px;
1120
+ margin: 1px;
1121
+ flex: none;
1122
+ }
1123
+ .builder-ui .is-controlpanel .panelnav .part-sectionmove.group button svg {
1124
+ width: 13px;
1125
+ height: 13px;
1126
+ }
1127
+ .builder-ui .is-controlpanel .panelnav .part-sectionmove.group .btn-sectiondup {
1128
+ margin-left: 6px;
1129
+ }
1081
1130
  .builder-ui .is-controlpanel .panelnav h3 {
1082
1131
  font-family: sans-serif;
1083
1132
  font-weight: 300;
@@ -1187,6 +1236,33 @@ body.controlpanel .is-wrapper {
1187
1236
  .builder-ui .is-controlpanel [class^=panel-].panel-pop button {
1188
1237
  flex: none;
1189
1238
  }
1239
+ .builder-ui .is-controlpanel [class^=panel-].panel-pop.heightpop {
1240
+ width: auto;
1241
+ flex-direction: column;
1242
+ padding: 12px 12px 8px;
1243
+ }
1244
+ .builder-ui .is-controlpanel [class^=panel-].panel-pop.heightpop .label {
1245
+ font-size: 10px;
1246
+ line-height: 1.2;
1247
+ margin: 0 0 6px;
1248
+ }
1249
+ .builder-ui .is-controlpanel [class^=panel-].panel-pop.heightpop .group.sectionheight {
1250
+ width: 180px;
1251
+ border: none;
1252
+ padding: 0;
1253
+ margin-bottom: 0;
1254
+ gap: 3px;
1255
+ }
1256
+ .builder-ui .is-controlpanel [class^=panel-].panel-pop.heightpop .group.sectionheight button {
1257
+ width: 33.5px;
1258
+ height: 27px;
1259
+ margin: 0;
1260
+ font-size: 10px;
1261
+ }
1262
+ .builder-ui .is-controlpanel [class^=panel-].panel-pop.heightpop .group.sectionheight button svg {
1263
+ width: 12px;
1264
+ height: 12px;
1265
+ }
1190
1266
  .builder-ui .is-controlpanel [class^=panel-].panel-pop.more {
1191
1267
  width: auto;
1192
1268
  flex-direction: column;
@@ -1241,7 +1317,8 @@ body.controlpanel .is-wrapper {
1241
1317
  line-height: 1.5;
1242
1318
  opacity: 0.6;
1243
1319
  }
1244
- .builder-ui .is-controlpanel .panel-overlay .div-overlay-image.stacked {
1320
+ .builder-ui .is-controlpanel .panel-overlay .div-overlay-image.stacked,
1321
+ .builder-ui .is-controlpanel .panel-overlay .div-overlay-link.stacked {
1245
1322
  margin-top: 22px;
1246
1323
  border-top: 1px solid rgba(0, 0, 0, 0.08);
1247
1324
  padding-top: 16px;
@@ -1442,7 +1519,7 @@ body.controlpanel .is-wrapper {
1442
1519
  .builder-ui .is-controlpanel .panel-iframe .asset-preview div {
1443
1520
  margin-top: 0 !important;
1444
1521
  }
1445
- .builder-ui .is-controlpanel .group.fontsizes, .builder-ui .is-controlpanel .group.fontweight, .builder-ui .is-controlpanel .group.linespacing, .builder-ui .is-controlpanel .group.letterspacing {
1522
+ .builder-ui .is-controlpanel .group.fontsizes, .builder-ui .is-controlpanel .group.fontweight, .builder-ui .is-controlpanel .group.linespacing, .builder-ui .is-controlpanel .group.letterspacing, .builder-ui .is-controlpanel .group.wordspacing, .builder-ui .is-controlpanel .group.topspacing, .builder-ui .is-controlpanel .group.bottomspacing {
1446
1523
  width: 217px;
1447
1524
  }
1448
1525
  .builder-ui .is-controlpanel .group.listindent {
@@ -1460,21 +1537,6 @@ body.controlpanel .is-wrapper {
1460
1537
  .builder-ui .is-controlpanel .group.removecontent button {
1461
1538
  width: 100%;
1462
1539
  }
1463
- .builder-ui .is-controlpanel .group.desktopwidth {
1464
- width: 222px;
1465
- }
1466
- .builder-ui .is-controlpanel .group.desktopwidth button {
1467
- width: 39px;
1468
- font-size: 11px;
1469
- }
1470
- .builder-ui .is-controlpanel .group.desktopwidth button.inert {
1471
- color: var(--cb-text-4);
1472
- background-color: transparent !important;
1473
- cursor: default;
1474
- }
1475
- .builder-ui .is-controlpanel .group.desktopwidth button.inert:hover {
1476
- background-color: transparent !important;
1477
- }
1478
1540
  .builder-ui .is-controlpanel .group.contentsize {
1479
1541
  width: 222px;
1480
1542
  }
@@ -1597,10 +1659,10 @@ body.controlpanel .is-wrapper {
1597
1659
  width: auto;
1598
1660
  padding: 0 14px;
1599
1661
  }
1600
- .builder-ui .is-controlpanel .group.imageeffect, .builder-ui .is-controlpanel .group.aspectratio, .builder-ui .is-controlpanel .group.duration, .builder-ui .is-controlpanel .group.topspacing {
1662
+ .builder-ui .is-controlpanel .group.imageeffect, .builder-ui .is-controlpanel .group.aspectratio, .builder-ui .is-controlpanel .group.duration {
1601
1663
  width: 225px;
1602
1664
  }
1603
- .builder-ui .is-controlpanel .group.imageeffect button, .builder-ui .is-controlpanel .group.aspectratio button, .builder-ui .is-controlpanel .group.duration button, .builder-ui .is-controlpanel .group.topspacing button {
1665
+ .builder-ui .is-controlpanel .group.imageeffect button, .builder-ui .is-controlpanel .group.aspectratio button, .builder-ui .is-controlpanel .group.duration button {
1604
1666
  width: 50px;
1605
1667
  transition: all 0.15s ease;
1606
1668
  }
@@ -1610,9 +1672,6 @@ body.controlpanel .is-wrapper {
1610
1672
  .builder-ui .is-controlpanel .group.duration button {
1611
1673
  width: 39px;
1612
1674
  }
1613
- .builder-ui .is-controlpanel .group.topspacing button {
1614
- width: 39px;
1615
- }
1616
1675
  .builder-ui .is-controlpanel button.toggle {
1617
1676
  width: 36px;
1618
1677
  transition: all 0.15s ease;
@@ -2755,9 +2814,6 @@ body.canvas-scaled .is-content-view {
2755
2814
  display: flex;
2756
2815
  align-items: center;
2757
2816
  }
2758
- #_cbhtml .label-checkbox input {
2759
- margin-right: 8px;
2760
- }
2761
2817
 
2762
2818
  .is-wrapper {
2763
2819
  opacity: 0.01;