@bagelink/vue 0.0.869 → 0.0.875
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/dist/components/MapEmbed.vue.d.ts +13 -5
- package/dist/components/MapEmbed.vue.d.ts.map +1 -1
- package/dist/components/form/inputs/RichText2/Toolbar.vue.d.ts.map +1 -1
- package/dist/components/form/inputs/SelectInput.vue.d.ts +3 -3
- package/dist/components/form/inputs/TextInput.vue.d.ts +2 -2
- package/dist/components/form/inputs/TextInput.vue.d.ts.map +1 -1
- package/dist/components/layout/BottomMenu.vue.d.ts +1 -0
- package/dist/components/layout/BottomMenu.vue.d.ts.map +1 -1
- package/dist/index.cjs +282 -259
- package/dist/index.mjs +282 -259
- package/dist/style.css +102 -97
- package/package.json +1 -1
- package/src/components/MapEmbed.vue +49 -18
- package/src/components/form/inputs/RichText2/Toolbar.vue +0 -1
- package/src/components/form/inputs/TextInput.vue +1 -1
- package/src/components/layout/BottomMenu.vue +1 -0
package/dist/style.css
CHANGED
|
@@ -1188,83 +1188,6 @@ p {
|
|
|
1188
1188
|
display: block;
|
|
1189
1189
|
border-radius: var(--input-border-radius);
|
|
1190
1190
|
}
|
|
1191
|
-
.resize-observer[data-v-b329ee4c]{position:absolute;top:0;left:0;z-index:-1;width:100%;height:100%;border:none;background-color:transparent;pointer-events:none;display:block;overflow:hidden;opacity:0}.resize-observer[data-v-b329ee4c] object{display:block;position:absolute;top:0;left:0;height:100%;width:100%;overflow:hidden;pointer-events:none;z-index:-1}.v-popper__popper{z-index:10000;top:0;left:0;outline:none}.v-popper__popper.v-popper__popper--hidden{visibility:hidden;opacity:0;transition:opacity .15s,visibility .15s;pointer-events:none}.v-popper__popper.v-popper__popper--shown{visibility:visible;opacity:1;transition:opacity .15s}.v-popper__popper.v-popper__popper--skip-transition,.v-popper__popper.v-popper__popper--skip-transition>.v-popper__wrapper{transition:none!important}.v-popper__backdrop{position:absolute;top:0;left:0;width:100%;height:100%;display:none}.v-popper__inner{position:relative;box-sizing:border-box;overflow-y:auto}.v-popper__inner>div{position:relative;z-index:1;max-width:inherit;max-height:inherit}.v-popper__arrow-container{position:absolute;width:10px;height:10px}.v-popper__popper--arrow-overflow .v-popper__arrow-container,.v-popper__popper--no-positioning .v-popper__arrow-container{display:none}.v-popper__arrow-inner,.v-popper__arrow-outer{border-style:solid;position:absolute;top:0;left:0;width:0;height:0}.v-popper__arrow-inner{visibility:hidden;border-width:7px}.v-popper__arrow-outer{border-width:6px}.v-popper__popper[data-popper-placement^=top] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-inner{left:-2px}.v-popper__popper[data-popper-placement^=top] .v-popper__arrow-outer,.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-outer{left:-1px}.v-popper__popper[data-popper-placement^=top] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^=top] .v-popper__arrow-outer{border-bottom-width:0;border-left-color:transparent!important;border-right-color:transparent!important;border-bottom-color:transparent!important}.v-popper__popper[data-popper-placement^=top] .v-popper__arrow-inner{top:-2px}.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-container{top:0}.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-outer{border-top-width:0;border-left-color:transparent!important;border-right-color:transparent!important;border-top-color:transparent!important}.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-inner{top:-4px}.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-outer{top:-6px}.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-inner{top:-2px}.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-outer,.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-outer{top:-1px}.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-outer{border-left-width:0;border-left-color:transparent!important;border-top-color:transparent!important;border-bottom-color:transparent!important}.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-inner{left:-4px}.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-outer{left:-6px}.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-container{right:-10px}.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-outer{border-right-width:0;border-top-color:transparent!important;border-right-color:transparent!important;border-bottom-color:transparent!important}.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-inner{left:-2px}.v-popper--theme-tooltip .v-popper__inner{background:rgba(0,0,0,.8);color:#fff;border-radius:6px;padding:7px 12px 6px}.v-popper--theme-tooltip .v-popper__arrow-outer{border-color:#000c}.v-popper--theme-dropdown .v-popper__inner{background:#fff;color:#000;border-radius:6px;border:1px solid #ddd;box-shadow:0 6px 30px #0000001a}.v-popper--theme-dropdown .v-popper__arrow-inner{visibility:visible;border-color:#fff}.v-popper--theme-dropdown .v-popper__arrow-outer{border-color:#ddd}
|
|
1192
|
-
|
|
1193
|
-
.selectinput[data-v-4d1e8e98] {
|
|
1194
|
-
width: 100%;
|
|
1195
|
-
}
|
|
1196
|
-
.selectinput-option[data-v-4d1e8e98] {
|
|
1197
|
-
padding: 6px 12px;
|
|
1198
|
-
cursor: pointer;
|
|
1199
|
-
border-radius: 5px;
|
|
1200
|
-
transition: all 0.2s;
|
|
1201
|
-
display: grid;
|
|
1202
|
-
grid-template-columns:1fr;
|
|
1203
|
-
justify-content: space-between;
|
|
1204
|
-
width: 100%;
|
|
1205
|
-
font-size: var(--input-font-size);
|
|
1206
|
-
margin-block: 0.15rem;
|
|
1207
|
-
}
|
|
1208
|
-
.selectinput-option .bgl_icon-font[data-v-4d1e8e98]{
|
|
1209
|
-
line-height: normal;
|
|
1210
|
-
}
|
|
1211
|
-
.selectinput-options.multiselect .selectinput-option[data-v-4d1e8e98] {
|
|
1212
|
-
grid-template-columns: 10px 1fr;
|
|
1213
|
-
}
|
|
1214
|
-
.selectinput-options[data-v-4d1e8e98] {
|
|
1215
|
-
max-height: 300px;
|
|
1216
|
-
overflow-y: auto;
|
|
1217
|
-
}
|
|
1218
|
-
.selectinput-option[data-v-4d1e8e98]:hover {
|
|
1219
|
-
background: var(--bgl-gray-20);
|
|
1220
|
-
}
|
|
1221
|
-
.isEmpty p[data-v-4d1e8e98] {
|
|
1222
|
-
opacity: 0.3;
|
|
1223
|
-
}
|
|
1224
|
-
.selected[data-v-4d1e8e98]{
|
|
1225
|
-
/* background: var(--bgl-primary-tint); */
|
|
1226
|
-
background: var(--bgl-selected);
|
|
1227
|
-
}
|
|
1228
|
-
|
|
1229
|
-
.bagel-input label {
|
|
1230
|
-
font-size: var(--label-font-size);
|
|
1231
|
-
}
|
|
1232
|
-
.selectinput-btn {
|
|
1233
|
-
display: flex;
|
|
1234
|
-
justify-content: space-between;
|
|
1235
|
-
align-items: center;
|
|
1236
|
-
height: var(--input-height);
|
|
1237
|
-
border-radius: var(--input-border-radius);
|
|
1238
|
-
border: none;
|
|
1239
|
-
background: var(--input-bg);
|
|
1240
|
-
padding: 0.7rem;
|
|
1241
|
-
color: var(--input-color);
|
|
1242
|
-
width: 100%;
|
|
1243
|
-
font-family: inherit;
|
|
1244
|
-
font-size: var(--input-font-size);
|
|
1245
|
-
}
|
|
1246
|
-
.selectinput-btn p{
|
|
1247
|
-
white-space: nowrap;
|
|
1248
|
-
overflow: hidden;
|
|
1249
|
-
text-overflow: ellipsis;
|
|
1250
|
-
}
|
|
1251
|
-
.selectinput-btn:disabled {
|
|
1252
|
-
color: var(--input-disabled-color);
|
|
1253
|
-
background-color: transparent;
|
|
1254
|
-
}
|
|
1255
|
-
.selectinput-btn:focus {
|
|
1256
|
-
outline: none;
|
|
1257
|
-
box-shadow: inset 0 0 10px #00000012;
|
|
1258
|
-
}
|
|
1259
|
-
.v-popper__arrow-container {
|
|
1260
|
-
display: none;
|
|
1261
|
-
}
|
|
1262
|
-
.v-popper--theme-dropdown .v-popper__inner {
|
|
1263
|
-
border: none;
|
|
1264
|
-
/* background: transparent; if anyone is changing this please talk to me first*/
|
|
1265
|
-
border-radius: var(--card-border-radius);
|
|
1266
|
-
/* color: var(--input-color); */
|
|
1267
|
-
}
|
|
1268
1191
|
|
|
1269
1192
|
@font-face {
|
|
1270
1193
|
font-family: 'FontWithASyntaxHighlighter';
|
|
@@ -1388,6 +1311,83 @@ p {
|
|
|
1388
1311
|
border-top: 1px solid #ccc;
|
|
1389
1312
|
}
|
|
1390
1313
|
} */
|
|
1314
|
+
.resize-observer[data-v-b329ee4c]{position:absolute;top:0;left:0;z-index:-1;width:100%;height:100%;border:none;background-color:transparent;pointer-events:none;display:block;overflow:hidden;opacity:0}.resize-observer[data-v-b329ee4c] object{display:block;position:absolute;top:0;left:0;height:100%;width:100%;overflow:hidden;pointer-events:none;z-index:-1}.v-popper__popper{z-index:10000;top:0;left:0;outline:none}.v-popper__popper.v-popper__popper--hidden{visibility:hidden;opacity:0;transition:opacity .15s,visibility .15s;pointer-events:none}.v-popper__popper.v-popper__popper--shown{visibility:visible;opacity:1;transition:opacity .15s}.v-popper__popper.v-popper__popper--skip-transition,.v-popper__popper.v-popper__popper--skip-transition>.v-popper__wrapper{transition:none!important}.v-popper__backdrop{position:absolute;top:0;left:0;width:100%;height:100%;display:none}.v-popper__inner{position:relative;box-sizing:border-box;overflow-y:auto}.v-popper__inner>div{position:relative;z-index:1;max-width:inherit;max-height:inherit}.v-popper__arrow-container{position:absolute;width:10px;height:10px}.v-popper__popper--arrow-overflow .v-popper__arrow-container,.v-popper__popper--no-positioning .v-popper__arrow-container{display:none}.v-popper__arrow-inner,.v-popper__arrow-outer{border-style:solid;position:absolute;top:0;left:0;width:0;height:0}.v-popper__arrow-inner{visibility:hidden;border-width:7px}.v-popper__arrow-outer{border-width:6px}.v-popper__popper[data-popper-placement^=top] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-inner{left:-2px}.v-popper__popper[data-popper-placement^=top] .v-popper__arrow-outer,.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-outer{left:-1px}.v-popper__popper[data-popper-placement^=top] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^=top] .v-popper__arrow-outer{border-bottom-width:0;border-left-color:transparent!important;border-right-color:transparent!important;border-bottom-color:transparent!important}.v-popper__popper[data-popper-placement^=top] .v-popper__arrow-inner{top:-2px}.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-container{top:0}.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-outer{border-top-width:0;border-left-color:transparent!important;border-right-color:transparent!important;border-top-color:transparent!important}.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-inner{top:-4px}.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-outer{top:-6px}.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-inner{top:-2px}.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-outer,.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-outer{top:-1px}.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-outer{border-left-width:0;border-left-color:transparent!important;border-top-color:transparent!important;border-bottom-color:transparent!important}.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-inner{left:-4px}.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-outer{left:-6px}.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-container{right:-10px}.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-outer{border-right-width:0;border-top-color:transparent!important;border-right-color:transparent!important;border-bottom-color:transparent!important}.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-inner{left:-2px}.v-popper--theme-tooltip .v-popper__inner{background:rgba(0,0,0,.8);color:#fff;border-radius:6px;padding:7px 12px 6px}.v-popper--theme-tooltip .v-popper__arrow-outer{border-color:#000c}.v-popper--theme-dropdown .v-popper__inner{background:#fff;color:#000;border-radius:6px;border:1px solid #ddd;box-shadow:0 6px 30px #0000001a}.v-popper--theme-dropdown .v-popper__arrow-inner{visibility:visible;border-color:#fff}.v-popper--theme-dropdown .v-popper__arrow-outer{border-color:#ddd}
|
|
1315
|
+
|
|
1316
|
+
.selectinput[data-v-4d1e8e98] {
|
|
1317
|
+
width: 100%;
|
|
1318
|
+
}
|
|
1319
|
+
.selectinput-option[data-v-4d1e8e98] {
|
|
1320
|
+
padding: 6px 12px;
|
|
1321
|
+
cursor: pointer;
|
|
1322
|
+
border-radius: 5px;
|
|
1323
|
+
transition: all 0.2s;
|
|
1324
|
+
display: grid;
|
|
1325
|
+
grid-template-columns:1fr;
|
|
1326
|
+
justify-content: space-between;
|
|
1327
|
+
width: 100%;
|
|
1328
|
+
font-size: var(--input-font-size);
|
|
1329
|
+
margin-block: 0.15rem;
|
|
1330
|
+
}
|
|
1331
|
+
.selectinput-option .bgl_icon-font[data-v-4d1e8e98]{
|
|
1332
|
+
line-height: normal;
|
|
1333
|
+
}
|
|
1334
|
+
.selectinput-options.multiselect .selectinput-option[data-v-4d1e8e98] {
|
|
1335
|
+
grid-template-columns: 10px 1fr;
|
|
1336
|
+
}
|
|
1337
|
+
.selectinput-options[data-v-4d1e8e98] {
|
|
1338
|
+
max-height: 300px;
|
|
1339
|
+
overflow-y: auto;
|
|
1340
|
+
}
|
|
1341
|
+
.selectinput-option[data-v-4d1e8e98]:hover {
|
|
1342
|
+
background: var(--bgl-gray-20);
|
|
1343
|
+
}
|
|
1344
|
+
.isEmpty p[data-v-4d1e8e98] {
|
|
1345
|
+
opacity: 0.3;
|
|
1346
|
+
}
|
|
1347
|
+
.selected[data-v-4d1e8e98]{
|
|
1348
|
+
/* background: var(--bgl-primary-tint); */
|
|
1349
|
+
background: var(--bgl-selected);
|
|
1350
|
+
}
|
|
1351
|
+
|
|
1352
|
+
.bagel-input label {
|
|
1353
|
+
font-size: var(--label-font-size);
|
|
1354
|
+
}
|
|
1355
|
+
.selectinput-btn {
|
|
1356
|
+
display: flex;
|
|
1357
|
+
justify-content: space-between;
|
|
1358
|
+
align-items: center;
|
|
1359
|
+
height: var(--input-height);
|
|
1360
|
+
border-radius: var(--input-border-radius);
|
|
1361
|
+
border: none;
|
|
1362
|
+
background: var(--input-bg);
|
|
1363
|
+
padding: 0.7rem;
|
|
1364
|
+
color: var(--input-color);
|
|
1365
|
+
width: 100%;
|
|
1366
|
+
font-family: inherit;
|
|
1367
|
+
font-size: var(--input-font-size);
|
|
1368
|
+
}
|
|
1369
|
+
.selectinput-btn p{
|
|
1370
|
+
white-space: nowrap;
|
|
1371
|
+
overflow: hidden;
|
|
1372
|
+
text-overflow: ellipsis;
|
|
1373
|
+
}
|
|
1374
|
+
.selectinput-btn:disabled {
|
|
1375
|
+
color: var(--input-disabled-color);
|
|
1376
|
+
background-color: transparent;
|
|
1377
|
+
}
|
|
1378
|
+
.selectinput-btn:focus {
|
|
1379
|
+
outline: none;
|
|
1380
|
+
box-shadow: inset 0 0 10px #00000012;
|
|
1381
|
+
}
|
|
1382
|
+
.v-popper__arrow-container {
|
|
1383
|
+
display: none;
|
|
1384
|
+
}
|
|
1385
|
+
.v-popper--theme-dropdown .v-popper__inner {
|
|
1386
|
+
border: none;
|
|
1387
|
+
/* background: transparent; if anyone is changing this please talk to me first*/
|
|
1388
|
+
border-radius: var(--card-border-radius);
|
|
1389
|
+
/* color: var(--input-color); */
|
|
1390
|
+
}
|
|
1391
1391
|
|
|
1392
1392
|
.bgl_input .canvas {
|
|
1393
1393
|
width: 100%;
|
|
@@ -1601,58 +1601,58 @@ p {
|
|
|
1601
1601
|
font-size: var(--label-font-size);
|
|
1602
1602
|
}
|
|
1603
1603
|
|
|
1604
|
-
.bagel-input textarea[data-v-
|
|
1604
|
+
.bagel-input textarea[data-v-63ff8c9c] {
|
|
1605
1605
|
min-height: unset;
|
|
1606
1606
|
font-size: var(--input-font-size);
|
|
1607
1607
|
}
|
|
1608
|
-
.bagel-input.text-input textarea[data-v-
|
|
1608
|
+
.bagel-input.text-input textarea[data-v-63ff8c9c] {
|
|
1609
1609
|
resize: none;
|
|
1610
1610
|
}
|
|
1611
|
-
.code textarea[data-v-
|
|
1611
|
+
.code textarea[data-v-63ff8c9c] {
|
|
1612
1612
|
font-family: 'Inconsolata', monospace;
|
|
1613
1613
|
background: var(--bgl-code-bg) !important;
|
|
1614
1614
|
color: var(--bgl-light-text) !important;
|
|
1615
1615
|
}
|
|
1616
|
-
.code textarea[data-v-
|
|
1616
|
+
.code textarea[data-v-63ff8c9c]::placeholder {
|
|
1617
1617
|
color: var(--bgl-light-text) !important;
|
|
1618
1618
|
opacity: 0.3;
|
|
1619
1619
|
}
|
|
1620
|
-
.bagel-input.small[data-v-
|
|
1620
|
+
.bagel-input.small[data-v-63ff8c9c] {
|
|
1621
1621
|
margin-bottom: 0;
|
|
1622
1622
|
height: 30px;
|
|
1623
1623
|
}
|
|
1624
|
-
.bagel-input.dense label[data-v-
|
|
1624
|
+
.bagel-input.dense label[data-v-63ff8c9c] {
|
|
1625
1625
|
display: flex;
|
|
1626
1626
|
align-items: center;
|
|
1627
1627
|
gap: 0.5rem;
|
|
1628
1628
|
}
|
|
1629
|
-
.bagel-input input[data-v-
|
|
1629
|
+
.bagel-input input[data-v-63ff8c9c]:disabled {
|
|
1630
1630
|
background: #f5f5f5;
|
|
1631
1631
|
}
|
|
1632
|
-
.bagel-input label[data-v-
|
|
1632
|
+
.bagel-input label[data-v-63ff8c9c] {
|
|
1633
1633
|
font-size: var(--label-font-size);
|
|
1634
1634
|
}
|
|
1635
|
-
.textInputIconWrap .bgl_icon-font[data-v-
|
|
1635
|
+
.textInputIconWrap .bgl_icon-font[data-v-63ff8c9c] {
|
|
1636
1636
|
color: var(--input-color);
|
|
1637
1637
|
position: absolute;
|
|
1638
1638
|
inset-inline-end:calc(var(--input-height) / 3 - 0.25rem);
|
|
1639
1639
|
margin-top: calc(var(--input-height) / 2 + 0.1rem);
|
|
1640
1640
|
line-height: 0;
|
|
1641
1641
|
}
|
|
1642
|
-
.textInputIconWrap input[data-v-
|
|
1642
|
+
.textInputIconWrap input[data-v-63ff8c9c]{
|
|
1643
1643
|
padding-inline-end: calc(var(--input-height) / 3 + 1.5rem);
|
|
1644
1644
|
}
|
|
1645
|
-
.txtInputIconStart .iconStart[data-v-
|
|
1645
|
+
.txtInputIconStart .iconStart[data-v-63ff8c9c] {
|
|
1646
1646
|
color: var(--input-color);
|
|
1647
1647
|
position: absolute;
|
|
1648
1648
|
inset-inline-start:calc(var(--input-height) / 3 - 0.25rem);
|
|
1649
1649
|
margin-top: calc(var(--input-height) / 2 + 0.1rem);
|
|
1650
1650
|
line-height: 0;
|
|
1651
1651
|
}
|
|
1652
|
-
.txtInputIconStart input[data-v-
|
|
1652
|
+
.txtInputIconStart input[data-v-63ff8c9c], .txtInputIconStart textarea[data-v-63ff8c9c]{
|
|
1653
1653
|
padding-inline-start: calc(var(--input-height) / 3 + 1.5rem);
|
|
1654
1654
|
}
|
|
1655
|
-
.bagel-input.small textarea[data-v-
|
|
1655
|
+
.bagel-input.small textarea[data-v-63ff8c9c] {
|
|
1656
1656
|
height: 30px;
|
|
1657
1657
|
}
|
|
1658
1658
|
|
|
@@ -1733,7 +1733,7 @@ p {
|
|
|
1733
1733
|
gap: 0;
|
|
1734
1734
|
}
|
|
1735
1735
|
|
|
1736
|
-
.bgl_bottombar[data-v-
|
|
1736
|
+
.bgl_bottombar[data-v-ee7b8f1a] {
|
|
1737
1737
|
background-color: var(--bgl-primary);
|
|
1738
1738
|
color: var(--bgl-light-text);
|
|
1739
1739
|
grid-template-columns: repeat(auto-fill, var(--bgl_bottombar-btn-width));
|
|
@@ -1742,16 +1742,16 @@ p {
|
|
|
1742
1742
|
padding: 0;
|
|
1743
1743
|
--bgl_bottombar-btn-width: 62px;
|
|
1744
1744
|
}
|
|
1745
|
-
.bgl_bottombar[data-v-
|
|
1745
|
+
.bgl_bottombar[data-v-ee7b8f1a]>* {
|
|
1746
1746
|
width: var(--bgl_bottombar-btn-width);
|
|
1747
1747
|
}
|
|
1748
|
-
.bgl_bottombar[data-v-
|
|
1748
|
+
.bgl_bottombar[data-v-ee7b8f1a]::-webkit-scrollbar {
|
|
1749
1749
|
display: none;
|
|
1750
1750
|
}
|
|
1751
|
-
.bgl_bottombar .nav-button[data-v-
|
|
1751
|
+
.bgl_bottombar .nav-button[data-v-ee7b8f1a] {
|
|
1752
1752
|
border-radius: var(--card-border-radius);
|
|
1753
1753
|
}
|
|
1754
|
-
.bgl_bottombar .router-link-active[data-v-
|
|
1754
|
+
.bgl_bottombar .router-link-active[data-v-ee7b8f1a] {
|
|
1755
1755
|
background: var(--bgl-popup-bg);
|
|
1756
1756
|
color: var(--bgl-primary) !important;
|
|
1757
1757
|
}
|
|
@@ -2667,10 +2667,12 @@ svg.leaflet-image-layer.leaflet-interactive path {
|
|
|
2667
2667
|
height: 100%;
|
|
2668
2668
|
border-radius: var(--input-border-radius);
|
|
2669
2669
|
position: relative;
|
|
2670
|
-
background: var(--bgl-bg)
|
|
2670
|
+
background: var(--bgl-bg);
|
|
2671
|
+
direction: ltr;
|
|
2671
2672
|
}
|
|
2672
2673
|
.leaflet-map::after {
|
|
2673
2674
|
content: "";
|
|
2675
|
+
pointer-events: none;
|
|
2674
2676
|
position: absolute;
|
|
2675
2677
|
inset: 0;
|
|
2676
2678
|
box-shadow: inset 0 0 10px #00000012;
|
|
@@ -2683,7 +2685,7 @@ svg.leaflet-image-layer.leaflet-interactive path {
|
|
|
2683
2685
|
display: none;
|
|
2684
2686
|
}
|
|
2685
2687
|
.leaflet-pane.leaflet-marker-pane img {
|
|
2686
|
-
filter: drop-shadow(0px 8px 3px rgba(0, 0, 0, 0.2));
|
|
2688
|
+
/* filter: drop-shadow(0px 8px 3px rgba(0, 0, 0, 0.2)); */
|
|
2687
2689
|
}
|
|
2688
2690
|
.leaflet-touch .leaflet-control-zoom-in,
|
|
2689
2691
|
.leaflet-touch .leaflet-control-zoom-out {
|
|
@@ -2719,6 +2721,9 @@ svg.leaflet-image-layer.leaflet-interactive path {
|
|
|
2719
2721
|
.leaflet-bar a:focus {
|
|
2720
2722
|
filter: var(--bgl-active-filter);
|
|
2721
2723
|
}
|
|
2724
|
+
.leaflet-marker-icon {
|
|
2725
|
+
cursor: pointer;
|
|
2726
|
+
}
|
|
2722
2727
|
.bg-dark {
|
|
2723
2728
|
position: fixed;
|
|
2724
2729
|
top: 0;
|
package/package.json
CHANGED
|
@@ -5,9 +5,13 @@ import { onMounted, watch } from 'vue'
|
|
|
5
5
|
import './leaflet/leaflet.css'
|
|
6
6
|
|
|
7
7
|
type MapMarker = {
|
|
8
|
-
lat: number
|
|
9
|
-
|
|
10
|
-
|
|
8
|
+
lat: number | string
|
|
9
|
+
lng: number | string
|
|
10
|
+
tooltip?: string
|
|
11
|
+
popup?: string
|
|
12
|
+
title?: string
|
|
13
|
+
[key: string]: any
|
|
14
|
+
} | [(number | string), (number | string), string?]
|
|
11
15
|
|
|
12
16
|
const props = withDefaults(
|
|
13
17
|
defineProps<{
|
|
@@ -20,19 +24,20 @@ const props = withDefaults(
|
|
|
20
24
|
}>(),
|
|
21
25
|
{
|
|
22
26
|
center: () => [31.7683, 35.2137],
|
|
23
|
-
zoom:
|
|
27
|
+
zoom: 15,
|
|
24
28
|
height: 400,
|
|
25
29
|
zoomControl: true,
|
|
26
30
|
markerIcon: '',
|
|
27
31
|
}
|
|
28
32
|
)
|
|
29
33
|
|
|
34
|
+
const emit = defineEmits(['select'])
|
|
30
35
|
let L = $ref<any>()
|
|
31
36
|
let map = $ref<Map>()
|
|
32
37
|
const _markers = $ref<Marker[]>([])
|
|
33
38
|
const id = $ref(Math.random().toString(36).slice(2, 10))
|
|
34
39
|
|
|
35
|
-
const defaultMarkerSVG = '<svg
|
|
40
|
+
const defaultMarkerSVG = '<svg width="28" height="38" viewBox="0 0 28 38" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M14.2263 37.7955C17.0897 37.7955 19.4109 37.0138 19.4109 36.0496C19.4109 35.0854 17.0897 34.3037 14.2263 34.3037C11.363 34.3037 9.04175 35.0854 9.04175 36.0496C9.04175 37.0138 11.363 37.7955 14.2263 37.7955Z" fill="black" fill-opacity="0.1"/><path d="M14.2265 0.549591C21.2842 0.549591 27.0131 6.23786 27.0787 13.28V13.4024C27.0787 19.3328 24.4759 24.4306 21.5627 28.2764C18.6511 32.12 15.4577 34.6754 14.3457 35.5097C14.2748 35.5629 14.1778 35.5629 14.1068 35.5097C12.9947 34.675 9.80135 32.1197 6.88984 28.2762C3.97665 24.4304 1.37378 19.3328 1.37378 13.4024C1.37378 6.30387 7.12806 0.549591 14.2265 0.549591Z" fill="#ED1b3E" stroke="#ED6C6F"/><path d="M14.2263 21.6185C18.7639 21.6185 22.4424 17.94 22.4424 13.4024C22.4424 8.86477 18.7639 5.18631 14.2263 5.18631C9.68872 5.18631 6.01025 8.86477 6.01025 13.4024C6.01025 17.94 9.68872 21.6185 14.2263 21.6185Z" fill="white"/></svg>'
|
|
36
41
|
const leafletScriptUrl = 'https://unpkg.com/leaflet@1.9.4/dist/leaflet.js'
|
|
37
42
|
|
|
38
43
|
async function loadGlobalL() {
|
|
@@ -49,37 +54,57 @@ async function initializeMap() {
|
|
|
49
54
|
zoom: props.zoom,
|
|
50
55
|
zoomControl: props.zoomControl,
|
|
51
56
|
})
|
|
52
|
-
|
|
57
|
+
|
|
58
|
+
L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', { maxZoom: 18, }).addTo(map)
|
|
53
59
|
}
|
|
54
60
|
}
|
|
55
61
|
|
|
56
|
-
function addMarker(
|
|
62
|
+
async function addMarker(marker: MapMarker) {
|
|
57
63
|
const iconSVG = props.markerIcon || defaultMarkerSVG
|
|
58
|
-
const
|
|
64
|
+
const icon = L?.icon({
|
|
59
65
|
iconUrl: `data:image/svg+xml;utf8,${encodeURIComponent(iconSVG)}`,
|
|
60
66
|
iconSize: [32, 32],
|
|
61
67
|
})
|
|
68
|
+
const latlng = latLangFromMarker(marker)
|
|
69
|
+
const title = Array.isArray(marker) ? marker[2] : marker.title ?? marker.tooltip
|
|
70
|
+
const tooltip = Array.isArray(marker) ? marker[2] : marker.tooltip
|
|
71
|
+
const m = L?.marker(latlng, { title, icon, interactive: true }).addTo(map as Map) as Marker
|
|
72
|
+
if (tooltip) m.bindTooltip(tooltip, { direction: 'top' }) // Use `bindPopup` if you want a click-to-show label
|
|
73
|
+
m.on('click', () => { emit('select', marker) })
|
|
62
74
|
|
|
63
|
-
|
|
64
|
-
_markers.push(marker)
|
|
75
|
+
_markers.push(m)
|
|
65
76
|
}
|
|
66
77
|
|
|
67
78
|
function fitMarkers(L: any) {
|
|
68
79
|
if (_markers.length > 0) {
|
|
69
|
-
map
|
|
80
|
+
const latLngs = _markers.map(marker => marker.getLatLng())
|
|
81
|
+
const bounds = L.latLngBounds(latLngs)
|
|
82
|
+
const center = bounds.getCenter()
|
|
83
|
+
map?.setView(center, props.zoom)
|
|
84
|
+
map?.fitBounds(bounds, {
|
|
85
|
+
animate: true,
|
|
86
|
+
padding: [20, 20], // Adjust padding as needed
|
|
87
|
+
})
|
|
70
88
|
}
|
|
71
89
|
}
|
|
72
90
|
|
|
91
|
+
function latLangFromMarker(marker: MapMarker): LatLngExpression {
|
|
92
|
+
const [lat, lng] = (Array.isArray(marker)
|
|
93
|
+
? [marker[0], marker[1]]
|
|
94
|
+
: [marker.lat, marker.lng])
|
|
95
|
+
return { lat: +lat, lng: +lng }
|
|
96
|
+
}
|
|
97
|
+
|
|
73
98
|
async function watchMarkers(markers?: MapMarker[]) {
|
|
74
99
|
if (!L) L = await loadGlobalL()
|
|
75
100
|
_markers.forEach(marker => marker.remove())
|
|
76
101
|
if (!markers) return
|
|
102
|
+
|
|
77
103
|
for (const marker of markers) {
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
addMarker(L, [lat, lon])
|
|
81
|
-
fitMarkers(L)
|
|
104
|
+
if (!map) await initializeMap()
|
|
105
|
+
addMarker(marker)
|
|
82
106
|
}
|
|
107
|
+
fitMarkers(L)
|
|
83
108
|
}
|
|
84
109
|
|
|
85
110
|
watch(() => props.markers, watchMarkers, { immediate: true })
|
|
@@ -89,7 +114,7 @@ onMounted(initializeMap)
|
|
|
89
114
|
</script>
|
|
90
115
|
|
|
91
116
|
<template>
|
|
92
|
-
<div :id="id" class="leaflet-map" :style="{ height: `${props.height || 400}px` }" />
|
|
117
|
+
<div :id="id" class="leaflet-map" :style="{ height: `${props.height || 400}px` }" dir="ltr" />
|
|
93
118
|
</template>
|
|
94
119
|
|
|
95
120
|
<style>
|
|
@@ -97,11 +122,13 @@ onMounted(initializeMap)
|
|
|
97
122
|
height: 100%;
|
|
98
123
|
border-radius: var(--input-border-radius);
|
|
99
124
|
position: relative;
|
|
100
|
-
background: var(--bgl-bg)
|
|
125
|
+
background: var(--bgl-bg);
|
|
126
|
+
direction: ltr;
|
|
101
127
|
}
|
|
102
128
|
|
|
103
129
|
.leaflet-map::after {
|
|
104
130
|
content: "";
|
|
131
|
+
pointer-events: none;
|
|
105
132
|
position: absolute;
|
|
106
133
|
inset: 0;
|
|
107
134
|
box-shadow: inset 0 0 10px #00000012;
|
|
@@ -117,7 +144,7 @@ onMounted(initializeMap)
|
|
|
117
144
|
}
|
|
118
145
|
|
|
119
146
|
.leaflet-pane.leaflet-marker-pane img {
|
|
120
|
-
filter: drop-shadow(0px 8px 3px rgba(0, 0, 0, 0.2));
|
|
147
|
+
/* filter: drop-shadow(0px 8px 3px rgba(0, 0, 0, 0.2)); */
|
|
121
148
|
}
|
|
122
149
|
|
|
123
150
|
.leaflet-touch .leaflet-control-zoom-in,
|
|
@@ -160,4 +187,8 @@ onMounted(initializeMap)
|
|
|
160
187
|
.leaflet-bar a:focus {
|
|
161
188
|
filter: var(--bgl-active-filter);
|
|
162
189
|
}
|
|
190
|
+
|
|
191
|
+
.leaflet-marker-icon {
|
|
192
|
+
cursor: pointer;
|
|
193
|
+
}
|
|
163
194
|
</style>
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
<script lang="ts" setup>
|
|
2
2
|
import type { ToolbarConfig, ToolbarConfigOption } from './richtext-types'
|
|
3
3
|
import { Btn, type MaterialIcons } from '@bagelink/vue'
|
|
4
|
-
import SelectInput from '../SelectInput.vue'
|
|
5
4
|
|
|
6
5
|
defineProps<{ config: ToolbarConfig }>()
|
|
7
6
|
const emit = defineEmits(['action'])
|