architwin 1.10.6 → 1.10.8
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/lib/architwin.d.ts +3 -2
- package/lib/architwin.js +1 -1
- package/lib/atwinui/components/toolbar/i18n.js +12 -0
- package/lib/atwinui/components/toolbar/spacePartition/roomFormPane.js +7 -2
- package/lib/atwinui/components/toolbar/spacePartition/roomTreePane.js +4 -0
- package/lib/atwinui/components/toolbar/static/common.d.ts +4 -0
- package/lib/atwinui/components/toolbar/static/common.js +17 -0
- package/lib/loaders/polydrawerLoader.js +8 -1
- package/package.json +1 -1
- package/static/atwinui.css +72 -0
- package/static/utility.css +23 -0
package/lib/architwin.d.ts
CHANGED
|
@@ -2,7 +2,7 @@ import { AxiosInstance } from "axios";
|
|
|
2
2
|
import { MpSdk, Scene, Vector3, Vector2, Renderer } from "../bundle/sdk";
|
|
3
3
|
import { tubeLineType } from "./loaders";
|
|
4
4
|
import { initToolbarUI, themeManager } from "./atwinui";
|
|
5
|
-
import { type ITag, type IUser, type ISpace, type IShowcaseObject, type I3DObject, type IMPConfig, type ISweep, type ITagPublic, type NearbyPayload, type NearbyObjects, type IObjectData, TRANSFORM_TYPE, Object3DPosition, ObjectCoordinates, EulerCoordinates, State, FileUpload, ObjectConfig, IAtwinFloor, IAtwinLabel, SPACE_EVENTS, ComponentOptions, SpaceAvatar, IMapConfig, MEETING_SIDEBAR, IO_ROLE, IO_SPACE_EVENTS, IO_MEETING_EVENTS, SCREEN_POSITIONS, ITagCategory, TagMessage, PartitionNode, PartitionPayload } from "./types";
|
|
5
|
+
import { type ITag, type IUser, type ISpace, type IShowcaseObject, type I3DObject, type IMPConfig, type ISweep, type ITagPublic, type NearbyPayload, type NearbyObjects, type IObjectData, TRANSFORM_TYPE, Object3DPosition, ObjectCoordinates, EulerCoordinates, State, FileUpload, ObjectConfig, IAtwinFloor, IAtwinLabel, SPACE_EVENTS, ComponentOptions, SpaceAvatar, IMapConfig, MEETING_SIDEBAR, IO_ROLE, IO_SPACE_EVENTS, IO_MEETING_EVENTS, SCREEN_POSITIONS, ITagCategory, TagMessage, ISdkConnections, PartitionNode, PartitionPayload } from "./types";
|
|
6
6
|
import * as minimap from './minimap';
|
|
7
7
|
import '../static/sidebar.css';
|
|
8
8
|
import '../static/map.css';
|
|
@@ -50,6 +50,7 @@ declare let state: State;
|
|
|
50
50
|
declare let domMousePosition: Vector3;
|
|
51
51
|
declare let isFitScreenOccupied: boolean;
|
|
52
52
|
declare let isCdnMapDataAvailable: boolean;
|
|
53
|
+
declare let _atwinConnections: ISdkConnections;
|
|
53
54
|
declare let _onMouseClickInstance: any;
|
|
54
55
|
declare let _modelDetails: MpSdk.Model.ModelDetails;
|
|
55
56
|
declare const tagColors: string[];
|
|
@@ -686,4 +687,4 @@ declare function getPathBetweenSweeps(startSweepId: string, endSweepId: string,
|
|
|
686
687
|
}[];
|
|
687
688
|
}>;
|
|
688
689
|
declare function moveAlongPath(path: any[], iframeId: any): Promise<void>;
|
|
689
|
-
export { _atwin, _config, _mpConfig, tags, sweeps, selectedObject, previousObjTransform, currentObjTransform, actionHistory, state, _tags, _tagCategories, _tagMessageRecepients, _space, _spaceId, _api, _pointerCoord, _3DXObjects, _meetingParticipants, _generatedObjectIds, tagColors, domMousePosition, isFitScreenOccupied, isCdnMapDataAvailable, minimap, _modelDetails, _onMouseClickInstance, transformHistory, _partitionNodes, initAtwinApi, getAtwinSdk, connectSpace, disconnectSpace, clearActionHistory, getSweeps, getCurrentSweep, getCurrentSweepPosition, moveToSweep, getNearbySweeps, getAllSweeps, getCurrentCameraPose, getCurrentCameraZoom, getCameraPosition, getCurrentFloor, moveInDirection, cameraLookAt, cameraPan, cameraRotate, cameraSetRotation, getViewMode, setViewMode, captureSpaceScreenshot, captureScreenshotAndCameraDetails, getNearbyObjects, setTransformMode, setSelectedObject, clearSelectedObject, revertTransform, setTransformControls, removeTransformControls, setRenderDistance, addObject, getObject, addObjectToSpace, addMediaScreen, attachMediaScreenContent, updateObject, updateShowcaseObject, deleteObject, deleteShowcaseObject, copyObject, replaceObject, getTargetPosition, setObjectTransformation, setPointerCoordinates, addTextMarkupScreen, setTextMarkupScreenContent, goTo3dx, goToModel, hasTimeElapsed, getSelectedObject, renderAvatar, setSpaceAvatar, get3DXObjects, setLibrary, getLibrary, disposeModel, renderInSpaceMediaScreen, goToPosition, goToParticipant, getNearestSweepFromObject, cancelModelPlacement, renderViewpointMarker, toggleViewpointVisibility, convertDegRotationToEuler, pauseVideo, playVideo, setVideoPlayback, setAnimationState, showMinimap, hideMinimap, getMapConfig, addTag, getTags, gotoTag, renderTag, disposeTag, disposeTags, getMpTags, getMpTag, showTags, attachTagMedia, detachTagMedia, moveTag, editTagLabel, editTagDescription, editTagStem, editTagIcon, editTagColor, saveTag, rotateCameraToObject, setModelVisibility, tagStateSubscriber, setTagIcon, setTagCategories, setUserAssignedCategories, getUserAssignedCategories, setTagMessageRecepients, getTagMessageRecepients, setTagMessages, getTagMessages, setSelectedTagUuid, getSelectedTagUuid, toggleFitToScreen, getFloors, getLabels, renderMeetingSidebar, createMeetingTemplate, joinMeetingTemplate, meet, dispatchSpaceEvent, subscribeSpaceEvent, unsubscribeSpaceEvent, registerCustomSpaceEvent, initSocketIo, socketEmit, getParticipants, followParticipant, unFollowParticipant, enableHUD, disableHUD, getMediaScreenHUDs, canSetHud, saveMediaScreenHud, removeMediaScreenHud, enableFitScreen, disableFitScreen, initToolbarUI, themeManager, convertToEuler, disableSweeps, enableSweep, disableSweep, tubeLineType, _sceneObject, _tubes, drawPath, toggleSpaceNavigation, startDraw, exitDraw, cancelDraw, setPolygonPath, setTubeLinePath, getCurrentTubeLine, renderPolygon, toggleWallVisibility, toggleMeshChildrenVisibility, toggleFloorVisibility, getChildrenOfModel, toggleVerticeRingVisibility, setPolygonFloorOffset, getPolygonFloorOffset, setFloorBaseHeight, clearFloorBaseHeight, enableVerticeControls, deleteEdge, disposePathLine, getFloorBaseHeight, setMeshChildrenMaterialProperty, undoDrawAction, redoDrawAction, addUndoDrawActions, setWallBaseHeight, getWallBaseHeight, clearWallBaseHeight, setSpacePartitionNodes, setCurrentPolygon, getSpaceId, getCurrentPolygon, getPathBetweenSweeps, moveAlongPath, };
|
|
690
|
+
export { _atwin, _config, _mpConfig, tags, sweeps, selectedObject, previousObjTransform, currentObjTransform, actionHistory, state, _tags, _tagCategories, _tagMessageRecepients, _space, _spaceId, _api, _pointerCoord, _3DXObjects, _meetingParticipants, _generatedObjectIds, tagColors, domMousePosition, isFitScreenOccupied, isCdnMapDataAvailable, minimap, _modelDetails, _onMouseClickInstance, transformHistory, _partitionNodes, initAtwinApi, getAtwinSdk, connectSpace, disconnectSpace, clearActionHistory, getSweeps, getCurrentSweep, getCurrentSweepPosition, moveToSweep, getNearbySweeps, getAllSweeps, getCurrentCameraPose, getCurrentCameraZoom, getCameraPosition, getCurrentFloor, moveInDirection, cameraLookAt, cameraPan, cameraRotate, cameraSetRotation, getViewMode, setViewMode, captureSpaceScreenshot, captureScreenshotAndCameraDetails, getNearbyObjects, setTransformMode, setSelectedObject, clearSelectedObject, revertTransform, setTransformControls, removeTransformControls, setRenderDistance, addObject, getObject, addObjectToSpace, addMediaScreen, attachMediaScreenContent, updateObject, updateShowcaseObject, deleteObject, deleteShowcaseObject, copyObject, replaceObject, getTargetPosition, setObjectTransformation, setPointerCoordinates, addTextMarkupScreen, setTextMarkupScreenContent, goTo3dx, goToModel, hasTimeElapsed, getSelectedObject, renderAvatar, setSpaceAvatar, get3DXObjects, setLibrary, getLibrary, disposeModel, renderInSpaceMediaScreen, goToPosition, goToParticipant, getNearestSweepFromObject, cancelModelPlacement, renderViewpointMarker, toggleViewpointVisibility, convertDegRotationToEuler, pauseVideo, playVideo, setVideoPlayback, setAnimationState, showMinimap, hideMinimap, getMapConfig, addTag, getTags, gotoTag, renderTag, disposeTag, disposeTags, getMpTags, getMpTag, showTags, attachTagMedia, detachTagMedia, moveTag, editTagLabel, editTagDescription, editTagStem, editTagIcon, editTagColor, saveTag, rotateCameraToObject, setModelVisibility, tagStateSubscriber, setTagIcon, setTagCategories, setUserAssignedCategories, getUserAssignedCategories, setTagMessageRecepients, getTagMessageRecepients, setTagMessages, getTagMessages, setSelectedTagUuid, getSelectedTagUuid, toggleFitToScreen, getFloors, getLabels, renderMeetingSidebar, createMeetingTemplate, joinMeetingTemplate, meet, dispatchSpaceEvent, subscribeSpaceEvent, unsubscribeSpaceEvent, registerCustomSpaceEvent, initSocketIo, socketEmit, getParticipants, followParticipant, unFollowParticipant, enableHUD, disableHUD, getMediaScreenHUDs, canSetHud, saveMediaScreenHud, removeMediaScreenHud, enableFitScreen, disableFitScreen, initToolbarUI, themeManager, convertToEuler, disableSweeps, enableSweep, disableSweep, tubeLineType, _sceneObject, _tubes, drawPath, toggleSpaceNavigation, startDraw, exitDraw, cancelDraw, setPolygonPath, setTubeLinePath, getCurrentTubeLine, renderPolygon, toggleWallVisibility, toggleMeshChildrenVisibility, toggleFloorVisibility, getChildrenOfModel, toggleVerticeRingVisibility, setPolygonFloorOffset, getPolygonFloorOffset, setFloorBaseHeight, clearFloorBaseHeight, enableVerticeControls, deleteEdge, disposePathLine, getFloorBaseHeight, setMeshChildrenMaterialProperty, undoDrawAction, redoDrawAction, addUndoDrawActions, setWallBaseHeight, getWallBaseHeight, clearWallBaseHeight, setSpacePartitionNodes, setCurrentPolygon, getSpaceId, getCurrentPolygon, getPathBetweenSweeps, moveAlongPath, _atwinConnections };
|
package/lib/architwin.js
CHANGED
|
@@ -7383,4 +7383,4 @@ tubeLineType, _sceneObject, _tubes, drawPath, toggleSpaceNavigation, startDraw,
|
|
|
7383
7383
|
// Space partition
|
|
7384
7384
|
setSpacePartitionNodes, setCurrentPolygon,
|
|
7385
7385
|
// others
|
|
7386
|
-
getSpaceId, getCurrentPolygon, getPathBetweenSweeps, moveAlongPath, };
|
|
7386
|
+
getSpaceId, getCurrentPolygon, getPathBetweenSweeps, moveAlongPath, _atwinConnections };
|
|
@@ -141,6 +141,12 @@ i18n
|
|
|
141
141
|
"CoordinateNote": "The coordinate from your CAD or either BIM tools shall be internally converted to the appropriate coordinate used by the Matterport space.",
|
|
142
142
|
"CalibrateBasepoint": "Calibrate Basepoint",
|
|
143
143
|
"AdjustBasepoint": "Adjust Basepoint",
|
|
144
|
+
"Shorcuts": "Shortcuts",
|
|
145
|
+
"AddVertex": "Add Vertex",
|
|
146
|
+
"UndoPlaceVertex": "Undo Place Vertex",
|
|
147
|
+
"RedoPlaceVertex": "Redo Place Vertex",
|
|
148
|
+
"HideShowAll": " Hide/Show All Rooms",
|
|
149
|
+
"Navigate": "Navigate"
|
|
144
150
|
}
|
|
145
151
|
},
|
|
146
152
|
ja: {
|
|
@@ -274,6 +280,12 @@ i18n
|
|
|
274
280
|
"Radian": "ラジアン",
|
|
275
281
|
"Degree": "度",
|
|
276
282
|
"CoordinateNote": "CAD または BIM ツールからの座標は、Matterport スペースで使用される適切な座標に内部的に変換される必要があります。",
|
|
283
|
+
"Shorcuts": "ショートカット",
|
|
284
|
+
"AddVertex": "頂点を追加",
|
|
285
|
+
"UndoPlaceVertex": "頂点の配置を元に戻す",
|
|
286
|
+
"RedoPlaceVertex": "頂点の配置をやり直す",
|
|
287
|
+
"HideShowAll": "すべての部屋を非表示/表示",
|
|
288
|
+
"Navigate": "ナビゲート"
|
|
277
289
|
}
|
|
278
290
|
}
|
|
279
291
|
},
|
|
@@ -16,6 +16,7 @@ import { getCurrentEditRoomData } from './roomTreePane';
|
|
|
16
16
|
import { toggleModal, setModalAction } from "../modal";
|
|
17
17
|
import { Notyf } from 'notyf';
|
|
18
18
|
import log from 'loglevel';
|
|
19
|
+
import { getShortcutTooltipHTML } from '../static/common';
|
|
19
20
|
let isDrawing = false;
|
|
20
21
|
let roomFormMode = "ADD" /* FORM_MODE.ADD */;
|
|
21
22
|
let isSaving = false;
|
|
@@ -33,7 +34,7 @@ let currentHighlightedFace = null;
|
|
|
33
34
|
let previousPartitionData = null;
|
|
34
35
|
let tempCurrentPolygon = undefined;
|
|
35
36
|
export function renderRoomFormPane() {
|
|
36
|
-
console.info("__@ renderRoomFormPane");
|
|
37
|
+
console.info("__@ renderRoomFormPane: ", roomFormMode);
|
|
37
38
|
const element = document.createElement('div');
|
|
38
39
|
element.classList.add('at_container');
|
|
39
40
|
element.classList.add('at_w-12');
|
|
@@ -243,7 +244,11 @@ function populatePartitionForm(partition) {
|
|
|
243
244
|
*/
|
|
244
245
|
function displayFormTitle() {
|
|
245
246
|
const title = document.getElementById('at-room-form-title');
|
|
246
|
-
title.innerHTML =
|
|
247
|
+
title.innerHTML = `
|
|
248
|
+
<span class="mdi mdi-keyboard at_pull_left at_icon_hover">
|
|
249
|
+
${getShortcutTooltipHTML()}
|
|
250
|
+
</span>
|
|
251
|
+
`;
|
|
247
252
|
const span = document.createElement('span');
|
|
248
253
|
span.textContent = roomFormMode === 'ADD'
|
|
249
254
|
? i18n.t('AddRoom')
|
|
@@ -13,6 +13,7 @@ import i18n from "../i18n";
|
|
|
13
13
|
import { getCurrentPolygonData, setPartitionFormMode } from "./roomFormPane";
|
|
14
14
|
import { SPACE_EVENTS } from "../../../../types";
|
|
15
15
|
import { _3DXObjects, dispatchSpaceEvent, getChildrenOfModel, goToModel, renderPolygon, setSelectedObject } from "../../../../architwin";
|
|
16
|
+
import { getShortcutTooltipHTML } from "../static/common";
|
|
16
17
|
let roomDataArray = [];
|
|
17
18
|
let currentEditRoomData = null;
|
|
18
19
|
let currentSelectedPartitionId = null;
|
|
@@ -31,6 +32,9 @@ export function renderRoomTreePane() {
|
|
|
31
32
|
element.setAttribute('data-cy', 'at-room-tree-pane');
|
|
32
33
|
element.innerHTML = `
|
|
33
34
|
<div class="at_panel_header">
|
|
35
|
+
<span class="mdi mdi-keyboard at_pull_left at_icon_hover">
|
|
36
|
+
${getShortcutTooltipHTML()}
|
|
37
|
+
</span>
|
|
34
38
|
<span>${i18n.t('RoomTree')}</span>
|
|
35
39
|
</div>
|
|
36
40
|
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import i18n from "../i18n";
|
|
2
|
+
/**
|
|
3
|
+
* Returns the HTML string for the shortcut tooltip.
|
|
4
|
+
*/
|
|
5
|
+
export function getShortcutTooltipHTML() {
|
|
6
|
+
const tooltipElement = `
|
|
7
|
+
<span class="at_custom_tooltip">
|
|
8
|
+
<span class="at_tooltip_title">${i18n.t('Shorcuts')}</span>
|
|
9
|
+
<span class="shortcut">Alt (⌥) + Click</span> ${i18n.t('AddVertex')}
|
|
10
|
+
<span class="at_ml_4 shortcut" >Ctrl (^) + Z</span> ${i18n.t('UndoPlaceVertex')} <br>
|
|
11
|
+
<span class="shortcut">Ctrl (^) + Shift + Z</span> ${i18n.t('RedoPlaceVertex')}
|
|
12
|
+
<span class="at_ml_4 shortcut">F8</span> ${i18n.t('HideShowAll')} <br>
|
|
13
|
+
<span class="shortcut">Click</span> ${i18n.t('Navigate')}
|
|
14
|
+
</span>
|
|
15
|
+
`;
|
|
16
|
+
return tooltipElement;
|
|
17
|
+
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Pane } from 'tweakpane';
|
|
2
|
-
import { dispatchSpaceEvent, renderPolygon, getPolygonFloorOffset, getCurrentFloor, getWallBaseHeight } from "../architwin";
|
|
2
|
+
import { dispatchSpaceEvent, renderPolygon, getPolygonFloorOffset, getCurrentFloor, getWallBaseHeight, getFloorBaseHeight } from "../architwin";
|
|
3
3
|
import { SPACE_EVENTS } from "../types";
|
|
4
4
|
import { getPolygonArea } from "../utils";
|
|
5
5
|
import { PolygonCalculator, WallCalculator } from "../math";
|
|
@@ -398,6 +398,13 @@ export class Vertice {
|
|
|
398
398
|
//this.pointerIntersection.object === 'intersectedobject.model'
|
|
399
399
|
if (this.pointerIntersection.object) {
|
|
400
400
|
let e = Object.assign({}, this.pointerIntersection.position);
|
|
401
|
+
const floorLevel = getFloorBaseHeight();
|
|
402
|
+
if (floorLevel != undefined) {
|
|
403
|
+
e.y = floorLevel;
|
|
404
|
+
}
|
|
405
|
+
else {
|
|
406
|
+
e.y = this.mesh.position.y;
|
|
407
|
+
}
|
|
401
408
|
this.mesh.position.set(e.x, e.y, e.z);
|
|
402
409
|
//this.mesh.children[0].position.set(e.x, e.y, e.z)
|
|
403
410
|
//@ts-expect-error
|
package/package.json
CHANGED
package/static/atwinui.css
CHANGED
|
@@ -1505,6 +1505,78 @@
|
|
|
1505
1505
|
padding-right: 5px;
|
|
1506
1506
|
}
|
|
1507
1507
|
|
|
1508
|
+
.at_icon_hover {
|
|
1509
|
+
padding-right: 0.5em;
|
|
1510
|
+
padding-left: 0.5em;
|
|
1511
|
+
border-radius: 4px;
|
|
1512
|
+
transition: background-color 0.2s ease-in-out;
|
|
1513
|
+
position: relative;
|
|
1514
|
+
}
|
|
1515
|
+
|
|
1516
|
+
.at_icon_hover:hover {
|
|
1517
|
+
background-color: rgba(128, 128, 128, 0.5);
|
|
1518
|
+
}
|
|
1519
|
+
|
|
1520
|
+
.at_custom_tooltip {
|
|
1521
|
+
position: absolute;
|
|
1522
|
+
top: 120%;
|
|
1523
|
+
left: 50%;
|
|
1524
|
+
transform: translateX(-50%);
|
|
1525
|
+
background-color: rgba(0, 0, 0, 0.9);
|
|
1526
|
+
color: white;
|
|
1527
|
+
padding: 8px 12px;
|
|
1528
|
+
font-size: 12px;
|
|
1529
|
+
border-radius: 6px;
|
|
1530
|
+
text-align: left;
|
|
1531
|
+
opacity: 0;
|
|
1532
|
+
visibility: hidden;
|
|
1533
|
+
transition: opacity 0.2s ease-in-out;
|
|
1534
|
+
width: max-content;
|
|
1535
|
+
max-width: none;
|
|
1536
|
+
z-index: 10;
|
|
1537
|
+
white-space: nowrap;
|
|
1538
|
+
}
|
|
1539
|
+
|
|
1540
|
+
.at_icon_hover:hover .at_custom_tooltip {
|
|
1541
|
+
opacity: 1;
|
|
1542
|
+
visibility: visible;
|
|
1543
|
+
}
|
|
1544
|
+
|
|
1545
|
+
.at_custom_tooltip .shortcut {
|
|
1546
|
+
background-color: rgba(128, 128, 128, 0.3);
|
|
1547
|
+
padding: 2px 6px;
|
|
1548
|
+
border-radius: 4px;
|
|
1549
|
+
font-family: monospace;
|
|
1550
|
+
font-weight: bold;
|
|
1551
|
+
color: white;
|
|
1552
|
+
display: inline-block;
|
|
1553
|
+
margin: 2px 0;
|
|
1554
|
+
}
|
|
1555
|
+
|
|
1556
|
+
/* Tooltip Arrow */
|
|
1557
|
+
.at_custom_tooltip::after {
|
|
1558
|
+
content: "";
|
|
1559
|
+
position: absolute;
|
|
1560
|
+
top: -10px;
|
|
1561
|
+
left: 50%;
|
|
1562
|
+
transform: translateX(-50%);
|
|
1563
|
+
border-width: 5px;
|
|
1564
|
+
border-style: solid;
|
|
1565
|
+
border-color: transparent transparent black transparent;
|
|
1566
|
+
}
|
|
1567
|
+
|
|
1568
|
+
.at_icon_hover:hover .at_custom_tooltip {
|
|
1569
|
+
display: block;
|
|
1570
|
+
}
|
|
1571
|
+
|
|
1572
|
+
.at_tooltip_title {
|
|
1573
|
+
display: block;
|
|
1574
|
+
font-weight: bold;
|
|
1575
|
+
text-align: center;
|
|
1576
|
+
margin-bottom: 3px;
|
|
1577
|
+
font-size: 14px;
|
|
1578
|
+
}
|
|
1579
|
+
|
|
1508
1580
|
/* BIM */
|
|
1509
1581
|
.at_mt_static_text_container {
|
|
1510
1582
|
text-align: center;
|
package/static/utility.css
CHANGED
|
@@ -257,10 +257,33 @@ width: 100vw;
|
|
|
257
257
|
float: right;
|
|
258
258
|
}
|
|
259
259
|
|
|
260
|
+
.at_pull_left {
|
|
261
|
+
float: left;
|
|
262
|
+
}
|
|
260
263
|
.at_mx-auto {
|
|
261
264
|
margin: auto;
|
|
262
265
|
}
|
|
263
266
|
|
|
267
|
+
.at_ml_0 {
|
|
268
|
+
margin-left: 0 !important;
|
|
269
|
+
}
|
|
270
|
+
|
|
271
|
+
.at_ml_1 {
|
|
272
|
+
margin-left: 0.25rem !important;
|
|
273
|
+
}
|
|
274
|
+
|
|
275
|
+
.at_ml_2 {
|
|
276
|
+
margin-left: 0.5rem !important;
|
|
277
|
+
}
|
|
278
|
+
|
|
279
|
+
.at_ml_3 {
|
|
280
|
+
margin-left: 0.75rem !important;
|
|
281
|
+
}
|
|
282
|
+
|
|
283
|
+
.at_ml_4 {
|
|
284
|
+
margin-left: 1rem !important;
|
|
285
|
+
}
|
|
286
|
+
|
|
264
287
|
.at_gap_1 {
|
|
265
288
|
gap: 0.25rem;
|
|
266
289
|
}
|