coveragebook_components 0.5.6 → 0.6.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (51) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/build/coco/app.css +260 -34
  3. data/app/assets/build/coco/app.js +70 -8
  4. data/app/assets/build/coco/book.css +26 -15
  5. data/app/assets/build/coco/book.js +16 -3
  6. data/app/assets/build/coco/img/slides/one-col-media-layout.svg +3 -0
  7. data/app/assets/build/coco/img/slides/one-col-text-layout.svg +3 -0
  8. data/app/assets/build/coco/img/slides/one-col-title-layout.svg +4 -0
  9. data/app/assets/build/coco/img/slides/two-col-media-layout.svg +3 -0
  10. data/app/assets/build/coco/img/slides/two-col-mixed-layout.svg +5 -0
  11. data/app/assets/build/coco/img/slides/two-col-text-layout.svg +3 -0
  12. data/app/assets/build/coco/img/test/cb-logo.svg +8 -0
  13. data/app/assets/img/slides/one-col-media-layout.svg +3 -0
  14. data/app/assets/img/slides/one-col-text-layout.svg +3 -0
  15. data/app/assets/img/slides/one-col-title-layout.svg +4 -0
  16. data/app/assets/img/slides/two-col-media-layout.svg +3 -0
  17. data/app/assets/img/slides/two-col-mixed-layout.svg +5 -0
  18. data/app/assets/img/slides/two-col-text-layout.svg +3 -0
  19. data/app/assets/img/test/cb-logo.svg +8 -0
  20. data/app/assets/js/libs/alpine/plugins/dropdown.js +1 -0
  21. data/app/components/coco/app/blocks/slide_editor/slide_editor.css +84 -12
  22. data/app/components/coco/app/blocks/slide_editor/slide_editor.html.erb +100 -0
  23. data/app/components/coco/app/blocks/slide_editor/slide_editor.js +32 -1
  24. data/app/components/coco/app/blocks/slide_editor/slide_editor.rb +40 -1
  25. data/app/components/coco/app/elements/button/button.css +10 -1
  26. data/app/components/coco/app/elements/button/button.rb +4 -0
  27. data/app/components/coco/app/elements/button_group/button_group.css +19 -0
  28. data/app/components/coco/app/elements/button_group/button_group.rb +10 -0
  29. data/app/components/coco/app/elements/image_picker_button/image_picker_button.rb +0 -20
  30. data/app/components/coco/app/elements/layout_picker_button/layout_picker_button.css +74 -0
  31. data/app/components/coco/app/elements/layout_picker_button/layout_picker_button.html.erb +30 -0
  32. data/app/components/coco/app/elements/layout_picker_button/layout_picker_button.js +23 -0
  33. data/app/components/coco/app/elements/layout_picker_button/layout_picker_button.rb +38 -0
  34. data/app/components/coco/base/button/button.js +15 -0
  35. data/app/components/coco/base/button/button.rb +0 -5
  36. data/app/components/coco/base/image_uploader/image_uploader.html.erb +1 -3
  37. data/app/components/coco/base/svg/svg.html.erb +1 -0
  38. data/app/components/coco/base/svg/svg.rb +29 -0
  39. data/app/components/coco/book/blocks/slides/editable_slide/editable_slide.css +12 -9
  40. data/app/components/coco/book/blocks/slides/editable_slide/editable_slide.html.erb +6 -4
  41. data/app/components/coco/book/blocks/slides/editable_slide/editable_slide.rb +4 -4
  42. data/app/components/coco/concerns/acts_as_button_group.rb +5 -0
  43. data/app/helpers/coco/app_helper.rb +4 -0
  44. data/app/helpers/coco/base_helper.rb +4 -0
  45. data/config/locales/coco.en.yml +2 -0
  46. data/lib/coco/options/group.rb +1 -34
  47. data/lib/coco/options/option.rb +0 -13
  48. data/lib/coco.rb +1 -1
  49. metadata +23 -5
  50. data/config/credentials/production.key +0 -1
  51. data/config/credentials/production.yml.enc +0 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: f0f8a950e6efdf71c86bd953e001515a50f626eee3b399d9e1ab3e8641a414b8
4
- data.tar.gz: 5aa2c63fc4dc1b1c8dde15d375e42ea9b075295737c6fa343430329c1e0bfa4e
3
+ metadata.gz: 324d5f797b12a43ba287186f0bb292881a0b2d7fa3cebf348c66394b1ab56543
4
+ data.tar.gz: 8d890765e161085db340052746adbe5def80174e6b3c410829d7add5a40d29e3
5
5
  SHA512:
6
- metadata.gz: c6ea041857553ce066d7b013c4429c458812306c85f1977cc24d18d4f6ac259e2aff72200d4d3070fa33b7fefe5e8da7ec1c9d11668259d3eb62260b1cec1b72
7
- data.tar.gz: 5d647e5e78c06a0e484180644dfa62d59bc411c18990c53618ad984ce366677523904c6c4452f6877b456cbb80dc3965b208d3993af6bee81a6055bec4ed3846
6
+ metadata.gz: c8c4c8539446948b4b2da346ff121fd7420d755ff7a0c992a68b9c26c40d905c6531c476603ba250edfc5b3d2f97da27bf3a587cb82184a4f01966368fb89661
7
+ data.tar.gz: 9c954db0e3d53181459c812fdd0248f99f2fda517fead437da41be871ea6f2f38598b46d65ee742da0e2557a709bb6d867f61ba0a4c9f2aaa9de09c9b1dfa50e
@@ -1104,6 +1104,8 @@ select{
1104
1104
  margin-bottom: 1.5rem}}
1105
1105
  [data-coco][data-component="app-slide-editor"] .editor-form form{
1106
1106
  display: none}
1107
+ [data-coco][data-component="app-slide-editor"] .slide-media{
1108
+ position: relative}
1107
1109
  [data-coco][data-component="app-slide-editor"] .editor-slide{
1108
1110
  --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
1109
1111
  --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);
@@ -1111,6 +1113,97 @@ select{
1111
1113
  [data-coco][data-component="app-slide-editor"] .editor-slide textarea{
1112
1114
  width: 100%;
1113
1115
  flex: none}
1116
+ [data-coco][data-component="app-slide-editor"] .editor-foreground-image-uploader{
1117
+ position: relative;
1118
+ height: 100%;
1119
+ width: 100%}
1120
+ [data-coco][data-component="app-slide-editor"] .editor-foreground-image-uploader .editor-foreground-image{
1121
+ position: relative;
1122
+ height: 100%;
1123
+ width: 100%;
1124
+ transition-property: outline-color;
1125
+ transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
1126
+ transition-duration: 100ms}
1127
+ [data-coco][data-component="app-slide-editor"] .editor-foreground-image-uploader .editor-foreground-image:hover{
1128
+ outline-style: solid;
1129
+ outline-width: 1px;
1130
+ outline-offset: 0px;
1131
+ outline-color: transparent}
1132
+ [data-coco][data-component="app-slide-editor"] .editor-foreground-image-uploader .editor-foreground-image img{
1133
+ height: 100%;
1134
+ width: 100%;
1135
+ -o-object-fit: contain;
1136
+ object-fit: contain}
1137
+ [data-coco][data-component="app-slide-editor"] .editor-foreground-image-uploader .editor-image-upload-placeholder{
1138
+ inset: 0px;
1139
+ display: flex;
1140
+ flex-direction: column;
1141
+ align-items: center;
1142
+ justify-content: center;
1143
+ text-align: center}
1144
+ @supports (aspect-ratio: 1 / 1){
1145
+
1146
+ [data-coco][data-component="app-slide-editor"] .editor-foreground-image-uploader .editor-image-upload-placeholder{
1147
+ aspect-ratio: 4/3}}
1148
+ @supports not (aspect-ratio: 1 / 1){
1149
+
1150
+ [data-coco][data-component="app-slide-editor"] .editor-foreground-image-uploader .editor-image-upload-placeholder::before{
1151
+ content: "";
1152
+ float: left;
1153
+ padding-top: calc(100% / (4/3))}
1154
+
1155
+ [data-coco][data-component="app-slide-editor"] .editor-foreground-image-uploader .editor-image-upload-placeholder::after{
1156
+ clear: left;
1157
+ content: "";
1158
+ display: block}}
1159
+ @container (min-width: 700px){
1160
+
1161
+ [data-coco][data-component="app-slide-editor"] .editor-foreground-image-uploader .editor-image-upload-placeholder{
1162
+ position: absolute}
1163
+
1164
+ @supports (aspect-ratio: 1 / 1){
1165
+
1166
+ [data-coco][data-component="app-slide-editor"] .editor-foreground-image-uploader .editor-image-upload-placeholder{
1167
+ aspect-ratio: auto}}
1168
+
1169
+ @supports not (aspect-ratio: 1 / 1){
1170
+
1171
+ [data-coco][data-component="app-slide-editor"] .editor-foreground-image-uploader .editor-image-upload-placeholder::before{
1172
+ content: "";
1173
+ float: left;
1174
+ padding-top: calc(100% / (auto))}
1175
+
1176
+ [data-coco][data-component="app-slide-editor"] .editor-foreground-image-uploader .editor-image-upload-placeholder::after{
1177
+ clear: left;
1178
+ content: "";
1179
+ display: block}}}
1180
+ [data-coco][data-component="app-slide-editor"] .editor-foreground-image-uploader .editor-image-upload-placeholder{
1181
+ outline-style: solid;
1182
+ outline-width: 1px;
1183
+ outline-offset: 0px;
1184
+ outline-color: transparent;
1185
+ background-color: rgba(255, 255, 255, 0.1)}
1186
+ [data-coco][data-component="app-slide-editor"] .editor-foreground-image-uploader .editor-image-upload-placeholder .coco-icon{
1187
+ color: currentColor;
1188
+ width: 3em;
1189
+ height: 3em;
1190
+ margin-bottom: 0.6em}
1191
+ [data-coco][data-component="app-slide-editor"] .editor-foreground-image-uploader .editor-image-upload-placeholder .coco-icon,
1192
+ [data-coco][data-component="app-slide-editor"] .editor-foreground-image-uploader .editor-image-upload-placeholder .editor-image-upload-placeholder-text{
1193
+ opacity: 0.5}
1194
+ [data-coco][data-component="app-slide-editor"] .editor-foreground-image-uploader .editor-image-upload-toolbar{
1195
+ position: absolute;
1196
+ left: 50%;
1197
+ top: 0px;
1198
+ --tw-translate-x: -50%;
1199
+ --tw-translate-y: -50%;
1200
+ transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
1201
+ opacity: 0;
1202
+ transition-property: opacity;
1203
+ transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
1204
+ transition-duration: 100ms}
1205
+ [data-coco][data-component="app-slide-editor"] .editor-foreground-image-uploader:hover .editor-image-upload-toolbar{
1206
+ opacity: 1}
1114
1207
  [data-coco][data-component="app-slide-editor"] .coco-button.editor-saving{
1115
1208
  cursor: not-allowed}
1116
1209
  [data-coco][data-component="app-slide-editor"] .editor-thumbnail-wrapper{
@@ -1122,7 +1215,13 @@ select{
1122
1215
  position: absolute;
1123
1216
  top: 0px;
1124
1217
  z-index: -1000;
1125
- width: 500px}
1218
+ width: 780px}
1219
+ [data-coco][data-component="app-slide-editor"] .editor-thumbnail-image{
1220
+ height: 100%;
1221
+ width: 100%;
1222
+ background-size: contain;
1223
+ background-position: center;
1224
+ background-repeat: no-repeat}
1126
1225
  [data-coco][data-component="app-slide-editor"] .editor-icon-bg-color{
1127
1226
  fill: currentColor;
1128
1227
  stroke: #111827;
@@ -1131,19 +1230,36 @@ select{
1131
1230
  outline-style: solid;
1132
1231
  outline-width: 1px;
1133
1232
  outline-offset: 0px;
1134
- outline-color: transparent}
1233
+ outline-color: transparent;
1234
+ transition-property: outline-color;
1235
+ transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
1236
+ transition-duration: 100ms}
1135
1237
  [data-coco][data-component="app-slide-editor"] [data-component="app-seamless-textarea"] textarea::-moz-placeholder{
1136
1238
  font-style: italic}
1137
1239
  [data-coco][data-component="app-slide-editor"] [data-component="app-seamless-textarea"] textarea::placeholder{
1138
1240
  font-style: italic}
1241
+ [data-coco][data-component="app-slide-editor"] .slide-bg-light .editor-foreground-image,
1242
+ [data-coco][data-component="app-slide-editor"] .slide-bg-light .editor-image-upload-placeholder {
1243
+ outline-color: rgba(0, 0, 0, 0.3) !important;
1244
+ }
1245
+ [data-coco][data-component="app-slide-editor"] .slide-bg-light .editor-image-upload-placeholder{
1246
+ --tw-text-opacity: 1;
1247
+ color: rgb(17 24 39 / var(--tw-text-opacity))}
1139
1248
  [data-coco][data-component="app-slide-editor"] .slide-bg-light [data-component="app-seamless-textarea"] textarea:hover,
1140
- [data-coco][data-component="app-slide-editor"] .slide-bg-light [data-component="app-seamless-textarea"] textarea:focus {
1141
- outline-color: rgba(0, 0, 0, 0.3);
1142
- }
1249
+ [data-coco][data-component="app-slide-editor"] .slide-bg-light [data-component="app-seamless-textarea"] textarea:focus {
1250
+ outline-color: rgba(0, 0, 0, 0.3);
1251
+ }
1252
+ [data-coco][data-component="app-slide-editor"] .slide-bg-dark .editor-foreground-image,
1253
+ [data-coco][data-component="app-slide-editor"] .slide-bg-dark .editor-image-upload-placeholder {
1254
+ outline-color: rgba(255, 255, 255, 0.3) !important;
1255
+ }
1256
+ [data-coco][data-component="app-slide-editor"] .slide-bg-dark .editor-image-upload-placeholder{
1257
+ --tw-text-opacity: 1;
1258
+ color: rgb(255 255 255 / var(--tw-text-opacity))}
1143
1259
  [data-coco][data-component="app-slide-editor"] .slide-bg-dark [data-component="app-seamless-textarea"] textarea:hover,
1144
- [data-coco][data-component="app-slide-editor"] .slide-bg-dark [data-component="app-seamless-textarea"] textarea:focus {
1145
- outline-color: rgba(255, 255, 255, 0.3);
1146
- }
1260
+ [data-coco][data-component="app-slide-editor"] .slide-bg-dark [data-component="app-seamless-textarea"] textarea:focus {
1261
+ outline-color: rgba(255, 255, 255, 0.3);
1262
+ }
1147
1263
  [data-coco][data-component="app-alert"]{
1148
1264
  overflow: hidden;
1149
1265
  border-radius: 0.75rem;
@@ -1461,30 +1577,47 @@ select{
1461
1577
  background-color: transparent;
1462
1578
  opacity: 0.3}
1463
1579
  [data-coco][data-component="app-button"][data-theme="secondary"],
1464
- [data-coco][data-component="app-button"][data-theme="toolbar"]{
1580
+ [data-coco][data-component="app-button"][data-theme="toolbar"],
1581
+ [data-coco][data-component="app-button"][data-theme="toolbar-floating"]{
1465
1582
  border-color: rgba(0, 12, 39, 0.18);
1466
1583
  background-color: transparent;
1467
1584
  --tw-text-opacity: 1;
1468
1585
  color: rgb(17 24 39 / var(--tw-text-opacity))}
1469
1586
  [data-coco][data-component="app-button"][data-theme="secondary"]:hover,
1470
- [data-coco][data-component="app-button"][data-theme="toolbar"]:hover{
1587
+ [data-coco][data-component="app-button"][data-theme="toolbar"]:hover,
1588
+ [data-coco][data-component="app-button"][data-theme="toolbar-floating"]:hover{
1471
1589
  background-color: rgba(0, 12, 39, 0.06);
1472
1590
  background-blend-mode: hard-light}
1473
1591
  [data-coco][data-component="app-button"][data-theme="secondary"]:active,
1474
- [data-coco][data-component="app-button"][data-theme="toolbar"]:active{
1592
+ [data-coco][data-component="app-button"][data-theme="toolbar"]:active,
1593
+ [data-coco][data-component="app-button"][data-theme="toolbar-floating"]:active{
1475
1594
  background-color: rgba(0, 12, 39, 0.1);
1476
1595
  background-blend-mode: hard-light}
1477
- [data-coco][data-component="app-button"][data-theme="secondary"][data-state="loading"], [data-coco][data-component="app-button"][data-theme="toolbar"][data-state="loading"]{
1596
+ [data-coco][data-component="app-button"][data-theme="secondary"][data-state="loading"], [data-coco][data-component="app-button"][data-theme="toolbar"][data-state="loading"], [data-coco][data-component="app-button"][data-theme="toolbar-floating"][data-state="loading"]{
1478
1597
  background-color: transparent}
1479
- [data-coco][data-component="app-button"][data-theme="secondary"][data-state="active"], [data-coco][data-component="app-button"][data-theme="toolbar"][data-state="active"]{
1598
+ [data-coco][data-component="app-button"][data-theme="secondary"][data-state="active"], [data-coco][data-component="app-button"][data-theme="toolbar"][data-state="active"], [data-coco][data-component="app-button"][data-theme="toolbar-floating"][data-state="active"]{
1480
1599
  background-color: rgba(0, 12, 39, 0.1);
1481
1600
  background-blend-mode: hard-light}
1482
- [data-coco][data-component="app-button"][data-theme="secondary"][data-state="loading"] > .button-element .button-icon, [data-coco][data-component="app-button"][data-theme="toolbar"][data-state="loading"] > .button-element .button-icon{
1601
+ [data-coco][data-component="app-button"][data-theme="secondary"][data-state="loading"] > .button-element .button-icon, [data-coco][data-component="app-button"][data-theme="toolbar"][data-state="loading"] > .button-element .button-icon, [data-coco][data-component="app-button"][data-theme="toolbar-floating"][data-state="loading"] > .button-element .button-icon{
1483
1602
  --tw-text-opacity: 1;
1484
1603
  color: rgb(118 184 170 / var(--tw-text-opacity))}
1485
- [data-coco][data-component="app-button"][data-theme="secondary"][data-disabled="true"], [data-coco][data-component="app-button"][data-theme="toolbar"][data-disabled="true"]{
1604
+ [data-coco][data-component="app-button"][data-theme="secondary"][data-disabled="true"], [data-coco][data-component="app-button"][data-theme="toolbar"][data-disabled="true"], [data-coco][data-component="app-button"][data-theme="toolbar-floating"][data-disabled="true"]{
1486
1605
  background-color: transparent;
1487
1606
  opacity: 0.3}
1607
+ [data-coco][data-component="app-button"][data-theme="toolbar-floating"]{
1608
+ --tw-border-opacity: 1;
1609
+ border-color: rgb(209 213 219 / var(--tw-border-opacity));
1610
+ --tw-bg-opacity: 1;
1611
+ background-color: rgb(255 255 255 / var(--tw-bg-opacity))}
1612
+ [data-coco][data-component="app-button"][data-theme="toolbar-floating"]:hover{
1613
+ --tw-bg-opacity: 1;
1614
+ background-color: rgb(243 244 246 / var(--tw-bg-opacity))}
1615
+ [data-coco][data-component="app-button"][data-theme="toolbar-floating"]:active{
1616
+ --tw-bg-opacity: 1;
1617
+ background-color: rgb(229 231 235 / var(--tw-bg-opacity))}
1618
+ [data-coco][data-component="app-button"][data-theme="toolbar-floating"][data-state="active"]{
1619
+ --tw-bg-opacity: 1;
1620
+ background-color: rgb(229 231 235 / var(--tw-bg-opacity))}
1488
1621
  [data-coco][data-component="app-button"][data-theme="text-secondary"],
1489
1622
  [data-coco][data-component="app-button"][data-theme="text-toolbar"]{
1490
1623
  background-color: transparent;
@@ -2129,6 +2262,7 @@ select{
2129
2262
  [data-coco][data-component="app-button-group"] {
2130
2263
  width: -moz-fit-content;
2131
2264
  width: fit-content;
2265
+ border-radius: 44px;
2132
2266
  }
2133
2267
  [data-coco][data-component="app-button-group"] .button-group-buttons{
2134
2268
  display: flex;
@@ -2145,6 +2279,20 @@ select{
2145
2279
  border-color: rgb(209 213 219 / var(--tw-border-opacity))}
2146
2280
  [data-coco][data-component="app-button-group"][data-align="end"] .button-group-buttons{
2147
2281
  margin-left: auto}
2282
+ [data-coco][data-component="app-button-group"][data-segmented="true"] .button-group-buttons{
2283
+ -moz-column-gap: 0px;
2284
+ column-gap: 0px}
2285
+ [data-coco][data-component="app-button-group"][data-segmented="true"] .coco-button:not(:first-child){
2286
+ border-top-left-radius: 0px;
2287
+ border-bottom-left-radius: 0px;
2288
+ border-left-width: 0px}
2289
+ [data-coco][data-component="app-button-group"][data-segmented="true"] .coco-button:not(:last-child){
2290
+ border-top-right-radius: 0px;
2291
+ border-bottom-right-radius: 0px}
2292
+ [data-coco][data-component="app-button-group"][data-segmented="true"][data-floating="true"]{
2293
+ --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
2294
+ --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);
2295
+ box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}
2148
2296
  [data-coco][data-component="app-color-picker"]{
2149
2297
  --tw-bg-opacity: 1;
2150
2298
  background-color: rgb(249 250 251 / var(--tw-bg-opacity))}
@@ -2660,8 +2808,81 @@ select{
2660
2808
  width: max-content}
2661
2809
  [data-coco][data-component="app-image-picker-button"] [data-component="app-image-picker"]{
2662
2810
  border-radius: 0.375rem}
2663
- [data-coco][data-component="app-image-picker-button"] .picker-file-input{
2664
- display: none}
2811
+ [data-coco][data-component="app-layout-picker-button"]{
2812
+ display: inline-flex;
2813
+ width: -moz-max-content;
2814
+ width: max-content}
2815
+ [data-coco][data-component="app-layout-picker-button"] .layout-picker{
2816
+ display: grid;
2817
+ grid-template-columns: repeat(2, minmax(0, 1fr))}
2818
+ [data-coco][data-component="app-layout-picker-button"] .layout-picker-option{
2819
+ overflow: hidden;
2820
+ border-radius: 0.5rem;
2821
+ border-width: 1px;
2822
+ border-color: rgba(0, 12, 39, 0.1);
2823
+ transition-property: all;
2824
+ transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
2825
+ transition-duration: 150ms}
2826
+ [data-coco][data-component="app-layout-picker-button"] .layout-picker-option:hover{
2827
+ border-color: rgba(0, 12, 39, 0.18)}
2828
+ [data-coco][data-component="app-layout-picker-button"] .layout-picker-option svg{
2829
+ width: 100%}
2830
+ [data-coco][data-component="app-layout-picker-button"] .layout-picker-option-current{
2831
+ --tw-border-opacity: 1;
2832
+ border-color: rgb(26 136 113 / var(--tw-border-opacity))}
2833
+ [data-coco][data-component="app-layout-picker-button"] .layout-picker-option-current:hover{
2834
+ --tw-border-opacity: 1;
2835
+ border-color: rgb(26 136 113 / var(--tw-border-opacity))}
2836
+ /* Sizes */
2837
+ [data-coco][data-component="app-layout-picker-button"] .layout-picker[data-size="sm"] {
2838
+ width: 284px;
2839
+ gap: 1rem;
2840
+ padding: 1rem;
2841
+ }
2842
+ [data-coco][data-component="app-layout-picker-button"] .layout-picker[data-size="md"] {
2843
+ width: 380px;
2844
+ gap: 1.5rem;
2845
+ padding: 1.5rem;
2846
+ }
2847
+ @media (min-width: 768px) {
2848
+ [data-coco][data-component="app-layout-picker-button"] .layout-picker[data-size-md="sm"] {
2849
+ width: 284px;
2850
+ gap: 1rem;
2851
+ padding: 1rem;
2852
+ }
2853
+
2854
+ [data-coco][data-component="app-layout-picker-button"] .layout-picker[data-size-md="md"] {
2855
+ width: 380px;
2856
+ gap: 1.5rem;
2857
+ padding: 1.5rem;
2858
+ }
2859
+ }
2860
+ @media (min-width: 992px) {
2861
+ [data-coco][data-component="app-layout-picker-button"] .layout-picker[data-size-lg="sm"] {
2862
+ width: 284px;
2863
+ gap: 1rem;
2864
+ padding: 1rem;
2865
+ }
2866
+
2867
+ [data-coco][data-component="app-layout-picker-button"] .layout-picker[data-size-lg="md"] {
2868
+ width: 380px;
2869
+ gap: 1.5rem;
2870
+ padding: 1.5rem;
2871
+ }
2872
+ }
2873
+ @media (min-width: 1200px) {
2874
+ [data-coco][data-component="app-layout-picker-button"] .layout-picker[data-size-xl="sm"] {
2875
+ width: 284px;
2876
+ gap: 1rem;
2877
+ padding: 1rem;
2878
+ }
2879
+
2880
+ [data-coco][data-component="app-layout-picker-button"] .layout-picker[data-size-xl="md"] {
2881
+ width: 380px;
2882
+ gap: 1.5rem;
2883
+ padding: 1.5rem;
2884
+ }
2885
+ }
2665
2886
  [data-coco][data-component="app-link"]{
2666
2887
  text-decoration-line: none}
2667
2888
  [data-coco][data-component="app-link"]:hover{
@@ -3105,7 +3326,7 @@ select{
3105
3326
  [data-coco][data-component="book-editable-slide"] [data-slide-region],
3106
3327
  [data-coco][data-component="book-editable-slide"] .slide-header,
3107
3328
  [data-coco][data-component="book-editable-slide"] .slide-text,
3108
- [data-coco][data-component="book-editable-slide"] .slide-image{
3329
+ [data-coco][data-component="book-editable-slide"] .slide-media{
3109
3330
  display: none}
3110
3331
  [data-coco][data-component="book-editable-slide"] .slide-group{
3111
3332
  display: contents}
@@ -3120,7 +3341,9 @@ select{
3120
3341
  line-height: 1.5;
3121
3342
  font-size: var(--text-font-size)}
3122
3343
  [data-coco][data-component="book-editable-slide"] .slide-media{
3123
- width: 100%}
3344
+ width: 100%;
3345
+ color: currentColor;
3346
+ font-size: var(--text-font-size)}
3124
3347
  [data-coco][data-component="book-editable-slide"] .slide-media img{
3125
3348
  height: 100%;
3126
3349
  width: 100%;
@@ -3187,6 +3410,14 @@ select{
3187
3410
  [data-coco][data-component="book-editable-slide"][data-layout="one-col-title"] .slide-text {
3188
3411
  line-height: 1.4;
3189
3412
  }
3413
+ [data-coco][data-component="book-editable-slide"][data-layout="one-col-text"] .slide-container{
3414
+ padding-top: 1.5rem;
3415
+ padding-bottom: 1.5rem}
3416
+ @container (min-width: 700px){
3417
+
3418
+ [data-coco][data-component="book-editable-slide"][data-layout="one-col-text"] .slide-container{
3419
+ padding-top: var(--slide-padding-sm);
3420
+ padding-bottom: var(--slide-padding-sm)}}
3190
3421
  [data-coco][data-component="book-editable-slide"][data-layout="one-col-text"] .slide-container{
3191
3422
  display: flex;
3192
3423
  align-items: center}
@@ -3221,13 +3452,11 @@ select{
3221
3452
  [data-coco][data-component="book-editable-slide"][data-layout="one-col-text"] [data-slide-region="content-1"] .slide-text{
3222
3453
  display: block}
3223
3454
  [data-coco][data-component="book-editable-slide"][data-layout="one-col-media"] .slide-container{
3224
- padding-top: 1.5rem;
3225
- padding-bottom: 1.5rem}
3455
+ padding: 1.5rem}
3226
3456
  @container (min-width: 700px){
3227
3457
 
3228
3458
  [data-coco][data-component="book-editable-slide"][data-layout="one-col-media"] .slide-container{
3229
- padding-top: var(--slide-padding-sm);
3230
- padding-bottom: var(--slide-padding-sm)}}
3459
+ padding: var(--slide-padding-sm)}}
3231
3460
  [data-coco][data-component="book-editable-slide"][data-layout="one-col-media"] .slide-layout,
3232
3461
  [data-coco][data-component="book-editable-slide"][data-layout="one-col-media"] .slide-content{
3233
3462
  height: 100%}
@@ -3287,21 +3516,15 @@ select{
3287
3516
  [data-coco][data-component="book-editable-slide"][data-layout="two-col-media"] [data-slide-region="content-1"],
3288
3517
  [data-coco][data-component="book-editable-slide"][data-layout="two-col-media"] [data-slide-region="content-2"]{
3289
3518
  display: block}
3290
- [data-coco][data-component="book-editable-slide"][data-layout="two-col-text"] [data-slide-region="content-1"] .slide-text,
3291
- [data-coco][data-component="book-editable-slide"][data-layout="two-col-text"] [data-slide-region="content-1"] .slide-media,
3292
- [data-coco][data-component="book-editable-slide"][data-layout="two-col-text"] [data-slide-region="content-2"] .slide-text,
3293
- [data-coco][data-component="book-editable-slide"][data-layout="two-col-text"] [data-slide-region="content-2"] .slide-media,
3294
- [data-coco][data-component="book-editable-slide"][data-layout="two-col-media"] [data-slide-region="content-1"] .slide-text,
3295
- [data-coco][data-component="book-editable-slide"][data-layout="two-col-media"] [data-slide-region="content-1"] .slide-media,
3296
- [data-coco][data-component="book-editable-slide"][data-layout="two-col-media"] [data-slide-region="content-2"] .slide-text,
3297
- [data-coco][data-component="book-editable-slide"][data-layout="two-col-media"] [data-slide-region="content-2"] .slide-media{
3298
- display: block}
3299
3519
  [data-coco][data-component="book-editable-slide"][data-layout="two-col-text"] [data-slide-region="content-1"], [data-coco][data-component="book-editable-slide"][data-layout="two-col-media"] [data-slide-region="content-1"]{
3300
3520
  margin-bottom: var(--slide-padding-sm)}
3301
3521
  @container (min-width: 700px){
3302
3522
 
3303
3523
  [data-coco][data-component="book-editable-slide"][data-layout="two-col-text"] [data-slide-region="content-1"], [data-coco][data-component="book-editable-slide"][data-layout="two-col-media"] [data-slide-region="content-1"]{
3304
- margin-bottom: 0px}
3524
+ margin-bottom: 0px}}
3525
+ [data-coco][data-component="book-editable-slide"][data-layout="two-col-text"] .slide-text{
3526
+ display: block}
3527
+ @container (min-width: 700px){
3305
3528
 
3306
3529
  [data-coco][data-component="book-editable-slide"][data-layout="two-col-media"] .slide-layout{
3307
3530
  height: 100%}}
@@ -3312,7 +3535,10 @@ select{
3312
3535
  [data-coco][data-component="book-editable-slide"][data-layout="two-col-media"] .slide-content{
3313
3536
  display: flex;
3314
3537
  height: 100%;
3315
- align-items: center}
3538
+ align-items: center}}
3539
+ [data-coco][data-component="book-editable-slide"][data-layout="two-col-media"] .slide-media{
3540
+ display: block}
3541
+ @container (min-width: 700px){
3316
3542
 
3317
3543
  [data-coco][data-component="book-editable-slide"][data-layout="two-col-media"] .slide-media{
3318
3544
  position: absolute;
@@ -14604,7 +14604,7 @@
14604
14604
  var package_default = {
14605
14605
  name: "coveragebook-components",
14606
14606
  type: "module",
14607
- version: "0.5.6",
14607
+ version: "0.6.0",
14608
14608
  main: "index.js",
14609
14609
  repository: "git@github.com:coveragebook/coco.git",
14610
14610
  author: "Mark Perkins <mark@coveragebook.com>",
@@ -28847,6 +28847,7 @@ ${expression ? 'Expression: "' + expression + '"\n\n' : ""}`, el);
28847
28847
  trigger: "click",
28848
28848
  interactive: true,
28849
28849
  animation: false,
28850
+ maxWidth: 380,
28850
28851
  triggerTarget,
28851
28852
  content,
28852
28853
  onShow: (...args) => {
@@ -29275,7 +29276,8 @@ ${expression ? 'Expression: "' + expression + '"\n\n' : ""}`, el);
29275
29276
  confirmed: true,
29276
29277
  lastState: null,
29277
29278
  stateTooltips: data2.tooltips || {},
29278
- tooltipText: null
29279
+ tooltipText: null,
29280
+ dropdown: null
29279
29281
  }, data2.props || {}), {
29280
29282
  init() {
29281
29283
  this.lastState = this.state;
@@ -29315,6 +29317,17 @@ ${expression ? 'Expression: "' + expression + '"\n\n' : ""}`, el);
29315
29317
  set disabled(value) {
29316
29318
  this.$options.disabled = value;
29317
29319
  },
29320
+ /* dropdown */
29321
+ hideDropdown() {
29322
+ if (this.dropdown) {
29323
+ this.dropdown.hide();
29324
+ }
29325
+ },
29326
+ showDropdown() {
29327
+ if (this.dropdown) {
29328
+ this.dropdown.show();
29329
+ }
29330
+ },
29318
29331
  /* confirmation */
29319
29332
  checkConfirmation(event) {
29320
29333
  if (!this.confirmed) {
@@ -29511,14 +29524,14 @@ ${expression ? 'Expression: "' + expression + '"\n\n' : ""}`, el);
29511
29524
  };
29512
29525
  });
29513
29526
 
29514
- // import-glob:/Users/mark/Projects/coveragebook/coco/app/assets/js/base|@baseComponents/**/*.js
29527
+ // import-glob:/Users/mark/Code/coveragebook/coco/app/assets/js/base|@baseComponents/**/*.js
29515
29528
  var modules = [button_exports, dropdown_exports, icon_exports, image_uploader_exports];
29516
29529
  var __default = modules;
29517
29530
 
29518
29531
  // base/components.js
29519
29532
  var components_default = registerComponents(__default);
29520
29533
 
29521
- // import-glob:/Users/mark/Projects/coveragebook/coco/app/assets/js/book|@bookComponents/**/*.js
29534
+ // import-glob:/Users/mark/Code/coveragebook/coco/app/assets/js/book|@bookComponents/**/*.js
29522
29535
  var modules2 = [];
29523
29536
  var __default2 = modules2;
29524
29537
 
@@ -29664,11 +29677,20 @@ ${expression ? 'Expression: "' + expression + '"\n\n' : ""}`, el);
29664
29677
  layout: data2.layout,
29665
29678
  title: data2.title,
29666
29679
  text1: data2.text1,
29680
+ text2: data2.text2,
29667
29681
  bgColor: data2.bgColor,
29668
29682
  textColor: data2.textColor,
29669
29683
  bgImage: {
29670
29684
  name: data2.bgImage,
29671
29685
  data: data2.bgImage
29686
+ },
29687
+ image1: {
29688
+ name: data2.image1,
29689
+ data: data2.image1
29690
+ },
29691
+ image2: {
29692
+ name: data2.image2,
29693
+ data: data2.image2
29672
29694
  }
29673
29695
  };
29674
29696
  return __spreadProps(__spreadValues({
@@ -29683,6 +29705,9 @@ ${expression ? 'Expression: "' + expression + '"\n\n' : ""}`, el);
29683
29705
  get bgImagePicker() {
29684
29706
  return getData(this.$root.querySelector("[data-role='bg-image-picker']"));
29685
29707
  },
29708
+ get layoutPicker() {
29709
+ return getData(this.$root.querySelector("[data-role='layout-picker']"));
29710
+ },
29686
29711
  init() {
29687
29712
  this.$watch("errors", (errors) => {
29688
29713
  errors.forEach((error2) => console.error(error2.message));
@@ -29711,6 +29736,9 @@ ${expression ? 'Expression: "' + expression + '"\n\n' : ""}`, el);
29711
29736
  );
29712
29737
  Array.from(inputs).forEach((el) => getData(el).onResize());
29713
29738
  },
29739
+ setLayout(layout) {
29740
+ this.layout = layout;
29741
+ },
29714
29742
  handleImageDrop(event) {
29715
29743
  this.dragging = false;
29716
29744
  if (this.bgImagePicker) {
@@ -29781,6 +29809,12 @@ ${expression ? 'Expression: "' + expression + '"\n\n' : ""}`, el);
29781
29809
  get hasBgImage() {
29782
29810
  return !!(this.bgImage && this.bgImage.data);
29783
29811
  },
29812
+ get hasImage1() {
29813
+ return !!(this.image1 && this.image1.data);
29814
+ },
29815
+ get hasImage2() {
29816
+ return !!(this.image2 && this.image2.data);
29817
+ },
29784
29818
  get bgColorHex() {
29785
29819
  return this.bgColor.replace("#", "");
29786
29820
  },
@@ -29817,16 +29851,22 @@ ${expression ? 'Expression: "' + expression + '"\n\n' : ""}`, el);
29817
29851
  "slide-bg-dark": this.isDarkBg,
29818
29852
  "slide-bg-light": !this.isDarkBg
29819
29853
  };
29820
- }
29854
+ },
29855
+ [":data-layout"]: "layout"
29821
29856
  },
29822
29857
  input: {
29823
- layout: { "x-model.fill": "layout" },
29858
+ layout: { "x-model.fill": "layout.replace(/-/g,'_')" },
29824
29859
  title: { "x-model.fill": "title" },
29825
29860
  text1: { "x-model.fill": "text1" },
29861
+ text2: { "x-model.fill": "text2" },
29826
29862
  bgColor: { "x-model.fill": "bgColorHex" },
29827
29863
  textColor: { "x-model.fill": "textColorHex" },
29828
29864
  bgImage: { "x-effect": "syncFileInput($el, bgImage.file)" },
29829
29865
  bgImagePurge: { ":checked": "!hasBgImage" },
29866
+ image1: { "x-effect": "syncFileInput($el, image1.file)" },
29867
+ image1Purge: { ":checked": "!hasImage1" },
29868
+ image2: { "x-effect": "syncFileInput($el, image2.file)" },
29869
+ image2Purge: { ":checked": "!hasImage2" },
29830
29870
  thumbnailImage: { "x-effect": "syncFileInput($el, thumbnailFile)" }
29831
29871
  }
29832
29872
  });
@@ -31869,6 +31909,28 @@ ${expression ? 'Expression: "' + expression + '"\n\n' : ""}`, el);
31869
31909
  };
31870
31910
  });
31871
31911
 
31912
+ // ../../components/coco/app/elements/layout_picker_button/layout_picker_button.js
31913
+ var layout_picker_button_exports = {};
31914
+ __export(layout_picker_button_exports, {
31915
+ default: () => layout_picker_button_default
31916
+ });
31917
+ var layout_picker_button_default = CocoComponent("appLayoutPickerButton", ({ selected }) => {
31918
+ return {
31919
+ selectedLayout: selected,
31920
+ getPicker() {
31921
+ return getData(
31922
+ this.$root.querySelector("[data-role='layout-picker']").firstElementChild
31923
+ );
31924
+ },
31925
+ getButton() {
31926
+ return getData(this.$root.querySelector(".layout-picker-trigger"));
31927
+ },
31928
+ init() {
31929
+ this.$watch("selectedLayout", () => this.getButton().hideDropdown());
31930
+ }
31931
+ };
31932
+ });
31933
+
31872
31934
  // ../../components/coco/app/elements/menu_button/menu_button.js
31873
31935
  var menu_button_exports = {};
31874
31936
  __export(menu_button_exports, {
@@ -32032,8 +32094,8 @@ ${expression ? 'Expression: "' + expression + '"\n\n' : ""}`, el);
32032
32094
  };
32033
32095
  });
32034
32096
 
32035
- // import-glob:/Users/mark/Projects/coveragebook/coco/app/assets/js/app|@appComponents/**/*.js
32036
- var modules3 = [nav_bar_exports, nav_drawer_exports, slide_editor_exports, alert_exports, button_group_exports, color_picker_exports, color_picker_button_exports, confirm_panel_exports, image_picker_exports, image_picker_button_exports, menu_button_exports, notice_exports, seamless_textarea_exports, snackbar_exports, system_banner_exports, toast_exports, toolbar_exports];
32097
+ // import-glob:/Users/mark/Code/coveragebook/coco/app/assets/js/app|@appComponents/**/*.js
32098
+ var modules3 = [nav_bar_exports, nav_drawer_exports, slide_editor_exports, alert_exports, button_group_exports, color_picker_exports, color_picker_button_exports, confirm_panel_exports, image_picker_exports, image_picker_button_exports, layout_picker_button_exports, menu_button_exports, notice_exports, seamless_textarea_exports, snackbar_exports, system_banner_exports, toast_exports, toolbar_exports];
32037
32099
  var __default3 = modules3;
32038
32100
 
32039
32101
  // app/components.js