+
@@ -24,9 +73,12 @@
-
-
-
+
diff --git a/src/BIMDataComponents/BIMDataDropdownMenu/_BIMDataDropdownMenu.scss b/src/BIMDataComponents/BIMDataDropdownMenu/_BIMDataDropdownMenu.scss
index f836d88a..afd933b0 100644
--- a/src/BIMDataComponents/BIMDataDropdownMenu/_BIMDataDropdownMenu.scss
+++ b/src/BIMDataComponents/BIMDataDropdownMenu/_BIMDataDropdownMenu.scss
@@ -1,6 +1,3 @@
-// import BIMDATA VARIABLES
-@import "../../assets/scss/_BIMDataTransitions.scss";
-@import "../../assets/scss/elements/_BIMDataSubmenus.scss";
.bimdata-dropdown {
height: 42px;
position: relative;
@@ -36,7 +33,49 @@
}
&__elements {
font-size: 11px;
- &:first-child {
+
+ &.no-header {
+ top: 50%;
+ left: 50%;
+ width: 220px;
+ position: absolute;
+ transform: translate(-50%, -50%);
+ }
+
+ &__menu-items {
+ padding-left: 0px;
+ overflow: visible;
+ margin: 0;
+
+ &__item {
+ position: relative;
+
+ &--no-children {
+ color: var(--color-silver-dark);
+ }
+ &--has-children {
+ color: var(--color-primary);
+ }
+
+ div {
+ padding-left: var(--spacing-unit);
+ }
+
+ &__children {
+ overflow: auto;
+ padding: calc(var(--spacing-unit) / 2) 0;
+ background-color: var(--color-white);
+ border: 1px solid transparent;
+ box-shadow: var(--box-shadow);
+ position: absolute;
+ width: 100%;
+ left: 100%;
+ top: -6%;
+ }
+ }
+ }
+
+ &:first-child :not(&__menu-items) {
padding: calc(#{var(--spacing-unit)} / 2) 0;
overflow: auto;
z-index: 1;
diff --git a/src/BIMDataComponents/BIMDataFileIcon/file-icons/index.js b/src/BIMDataComponents/BIMDataFileIcon/file-icons/index.js
index fb0225b9..6fbeda3c 100644
--- a/src/BIMDataComponents/BIMDataFileIcon/file-icons/index.js
+++ b/src/BIMDataComponents/BIMDataFileIcon/file-icons/index.js
@@ -108,7 +108,6 @@ import icon_iff from "./iff.svg";
import icon_image from "./image.svg";
import icon_img from "./img.svg";
import icon_indd from "./indd.svg";
-import icon_index from "./index.js";
import icon_inf from "./inf.svg";
import icon_ini from "./ini.svg";
import icon_iso from "./iso.svg";
@@ -392,7 +391,6 @@ export default {
icon_image,
icon_img,
icon_indd,
- icon_index,
icon_inf,
icon_ini,
icon_iso,
diff --git a/src/BIMDataComponents/BIMDataGuidedTour/BIMDataGuidedTour.vue b/src/BIMDataComponents/BIMDataGuidedTour/BIMDataGuidedTour.vue
deleted file mode 100644
index febf74ad..00000000
--- a/src/BIMDataComponents/BIMDataGuidedTour/BIMDataGuidedTour.vue
+++ /dev/null
@@ -1,333 +0,0 @@
-
-
-
-
-
-
-
diff --git a/src/BIMDataComponents/BIMDataGuidedTour/_BIMDataGuidedTour.scss b/src/BIMDataComponents/BIMDataGuidedTour/_BIMDataGuidedTour.scss
deleted file mode 100644
index 0d260d40..00000000
--- a/src/BIMDataComponents/BIMDataGuidedTour/_BIMDataGuidedTour.scss
+++ /dev/null
@@ -1,126 +0,0 @@
-.guided-tour-portal {
- position: absolute;
- inset: 0;
- width: 100%;
- height: 100%;
-
- .spotlight {
- position: absolute;
- box-shadow:
- 0 0 0,
- 0 0 0 10000vmax rgba(0,0,0,0.5);
- }
-
- .tooltip {
- position: absolute;
- width: 280px;
- height: 362px;
- border-radius: 2px;
- background-color: white;
- box-shadow: 0 2px 10px 0 rgba(0,0,0,0.5);
-
- display: flex;
- flex-direction: column;
- justify-content: space-between;
-
- &__progress-bar {
- display: flex;
- width: 280px;
- height: calc(var(--spacing-unit) / 2);
- background-color: var(--color-silver-light);
-
- &__step {
- height: 100%
- }
- }
-
- &__box {
- height: 100%;
- display: flex;
- flex-direction: column;
- padding: var(--spacing-unit);
-
- &__header {
- position: absolute;
- z-index: 2;
- right: var(--spacing-unit);
- }
-
- &__content {
- flex: 1;
- overflow-y: auto;
- display: flex;
- flex-direction: column;
- justify-content: space-between;
- align-items: center;
-
- &__title {
- font-size: calc(var(--spacing-unit) * 2);
- font-weight: bold;
- }
-
- &__image {
- border-radius: 50%;
- height: 180px;
- width: 180px;
- }
-
- &__text {
- text-align: center;
- color: var(--color-granite);
- }
- }
-
- &__footer {
- display: flex;
- margin-top: var(--spacing-unit);
-
- &__ghost-element {
- flex: 1
- }
-
- &__step-counter {
- span:first-of-type {
- color: var(--color-secondary);
- font-size: calc(var(--spacing-unit) * 1.6);
- }
- span:last-of-type {
- color: var(--color-granite);
- }
- }
-
- &__btn-skip, &__btn-start {
- flex: 1;
- margin: auto;
-
- button {
- padding: 0px;
- font-weight: bold;
- }
- }
-
- &__btn-skip > button {
- margin-right: auto;
- }
-
- &__btn-start > button {
- margin-left: auto;
- }
-
- &__btn-next {
- flex: 1;
-
- button {
- padding: 10px;
- margin-left: auto;
- }
- }
- }
- }
- }
-}
-.centeredTooltip {
- display: flex;
- justify-content: center;
- align-items: center;
-}
diff --git a/src/BIMDataComponents/BIMDataGuidedTour/guided-tour-utils.js b/src/BIMDataComponents/BIMDataGuidedTour/guided-tour-utils.js
deleted file mode 100644
index ec0df5a3..00000000
--- a/src/BIMDataComponents/BIMDataGuidedTour/guided-tour-utils.js
+++ /dev/null
@@ -1,206 +0,0 @@
-/**
- * Parameters
- */
-
-// Spotlight padding (in px)
-const spotPadding = 16;
-// Tooltip gap (in px)
-const tooltipGap = 13;
-
-/**
- * Internal utility functions
- */
-
-function getElementCoord(elem) {
- let x, y, w, h;
-
- if (Array.isArray(elem)) {
- let widestXW, highestYH;
-
- elem.map(e => {
- const {
- x: currentX,
- y: currentY,
- width: currentW,
- height: currentH,
- } = e.getBoundingClientRect();
-
- if (!widestXW || widestXW < currentX + currentW) {
- widestXW = currentX + currentW;
- }
-
- if (!highestYH || highestYH < currentY + currentH) {
- highestYH = currentY + currentH;
- }
-
- if (!x || x > currentX) {
- x = currentX;
- }
-
- if (!y || y > currentY) {
- y = currentY;
- }
-
- w = widestXW - x;
- h = highestYH - y;
- });
- } else {
- const {
- x: currentX,
- y: currentY,
- width: currentW,
- height: currentH,
- } = elem.getBoundingClientRect();
-
- x = currentX;
- y = currentY;
- w = currentW;
- h = currentH;
- }
-
- return { x, y, w, h };
-}
-
-function getWindowSize() {
- return {
- wWindow: window.innerWidth,
- hWindow: window.innerHeight,
- };
-}
-
-function getWindowScroll() {
- return {
- offsetXWindow: window.pageXOffset,
- offsetYWindow: window.pageYOffset,
- };
-}
-
-/**
- * Exported utility functions
- */
-
-function isNegative(num) {
- return Math.sign(num) === -1;
-}
-
-async function scrollToTarget(target, element) {
- const { y, h } = getElementCoord(target);
- const { hWindow } = getWindowSize();
-
- const offsetYElement = element.offsetTop;
- const scrolledTop = element.scrollTop;
-
- if (isNegative(y)) {
- element.scroll({
- top: scrolledTop + y - spotPadding - tooltipGap,
- });
- }
-
- if (y < offsetYElement) {
- element.scroll({
- top: scrolledTop + y - offsetYElement - spotPadding - tooltipGap,
- });
- }
-
- if (y + h > hWindow) {
- element.scroll({
- top: y + h - hWindow + scrolledTop + spotPadding + tooltipGap,
- });
- }
-}
-
-function setSpotlightPosition(target, spotlight) {
- const { x, y, w, h } = getElementCoord(target);
- const { offsetXWindow, offsetYWindow } = getWindowScroll();
-
- Object.assign(spotlight.style, {
- left: `${offsetXWindow + x - spotPadding}px`,
- top: `${offsetYWindow + y - spotPadding}px`,
- width: `${w + 2 * spotPadding}px`,
- height: `${h + 2 * spotPadding}px`,
- });
-}
-
-function setTooltipPosition(target, tooltip) {
- const { x: xTarget, y: yTarget, w: wTarget, h: hTarget } = getElementCoord(
- target
- );
-
- const { w: wToolTip, h: hTooltip } = getElementCoord(tooltip);
- const { wWindow, hWindow } = getWindowSize();
- const { offsetXWindow, offsetYWindow } = getWindowScroll();
-
- let left, top;
-
- const leftTarget = offsetXWindow + xTarget;
- const wideTooltip = wToolTip + tooltipGap;
-
- const topTarget = offsetYWindow + yTarget;
- const highTarget = hTarget + spotPadding;
- const highTooltip = hTooltip + tooltipGap;
-
- const tooltipFitRight = wWindow - (leftTarget + wTarget) > wideTooltip;
- const tooltipFitLeft = leftTarget > wideTooltip;
-
- if (tooltipFitRight) {
- left = leftTarget + wTarget + spotPadding + tooltipGap;
-
- // align bottom
- if (hWindow - topTarget - highTarget < highTooltip - highTarget) {
- top = topTarget + highTarget - hTooltip;
- // align top
- } else {
- top = topTarget - spotPadding;
- }
-
- Object.assign(tooltip.style, {
- left: `${left}px`,
- top: `${top}px`,
- });
- return;
- }
-
- if (tooltipFitLeft) {
- left = leftTarget - wideTooltip - spotPadding;
-
- // align bottom
- if (hWindow - topTarget - highTarget < highTooltip - highTarget) {
- top = topTarget + highTarget - hTooltip;
- // align top
- } else {
- top = topTarget - spotPadding;
- }
- Object.assign(tooltip.style, {
- left: `${left}px`,
- top: `${top}px`,
- });
- return;
- }
-
- const tooltipFitTop = highTooltip < topTarget - tooltipGap;
- const tooltipFitBottom = hWindow - (topTarget + highTarget) > highTooltip;
-
- if (tooltipFitTop) {
- Object.assign(tooltip.style, {
- left: `${leftTarget - spotPadding}px`,
- top: `${topTarget - spotPadding - highTooltip}px`,
- });
- return;
- }
-
- if (tooltipFitBottom) {
- Object.assign(tooltip.style, {
- left: `${leftTarget - spotPadding}px`,
- top: `${topTarget + highTarget + spotPadding}px`,
- });
- return;
- }
-
- // tooltip in element
- Object.assign(tooltip.style, {
- left: `${leftTarget + wTarget - wToolTip}px`,
- top: `${topTarget + highTarget - hTooltip - spotPadding}px`,
- });
-}
-
-export { scrollToTarget, setSpotlightPosition, setTooltipPosition };
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataIcon.vue b/src/BIMDataComponents/BIMDataIcon/BIMDataIcon.vue
index cb6a7a93..8ec3b10d 100644
--- a/src/BIMDataComponents/BIMDataIcon/BIMDataIcon.vue
+++ b/src/BIMDataComponents/BIMDataIcon/BIMDataIcon.vue
@@ -1,20 +1,15 @@
-
-
-
+ />
-
-
-
+
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconAddFile.vue b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconAddFile.vue
new file mode 100644
index 00000000..a0acbe6d
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconAddFile.vue
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconAddFolder.vue b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconAddFolder.vue
new file mode 100644
index 00000000..3df2502e
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconAddFolder.vue
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconAddUser.vue b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconAddUser.vue
new file mode 100644
index 00000000..967d9a16
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconAddUser.vue
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconAlphabeticalAscending.vue b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconAlphabeticalAscending.vue
new file mode 100644
index 00000000..e25dae2f
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconAlphabeticalAscending.vue
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconAlphabeticalDescending.vue b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconAlphabeticalDescending.vue
new file mode 100644
index 00000000..88ee8922
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconAlphabeticalDescending.vue
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconAlphabeticalSort.vue b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconAlphabeticalSort.vue
new file mode 100644
index 00000000..10fb8659
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconAlphabeticalSort.vue
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconAlt.vue b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconAlt.vue
new file mode 100644
index 00000000..94cffc17
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconAlt.vue
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconAngle.vue b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconAngle.vue
new file mode 100644
index 00000000..a1e603fc
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconAngle.vue
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconApi.vue b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconApi.vue
new file mode 100644
index 00000000..51298f41
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconApi.vue
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconApp.vue b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconApp.vue
new file mode 100644
index 00000000..df4a8d16
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconApp.vue
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconArchive.vue b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconArchive.vue
new file mode 100644
index 00000000..1cf5bed8
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconArchive.vue
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconArrow.vue b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconArrow.vue
new file mode 100644
index 00000000..d0983e30
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconArrow.vue
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconAttach.vue b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconAttach.vue
new file mode 100644
index 00000000..5ddc5330
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconAttach.vue
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconBcf.vue b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconBcf.vue
new file mode 100644
index 00000000..5ba50449
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconBcf.vue
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconBcfPolychrome.vue b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconBcfPolychrome.vue
new file mode 100644
index 00000000..e3290b65
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconBcfPolychrome.vue
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconBuilding.vue b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconBuilding.vue
new file mode 100644
index 00000000..b22257c1
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconBuilding.vue
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconBurgerMenu.vue b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconBurgerMenu.vue
new file mode 100644
index 00000000..bfb43f88
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconBurgerMenu.vue
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconCalendar.vue b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconCalendar.vue
new file mode 100644
index 00000000..cb1f6393
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconCalendar.vue
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconCaliper.vue b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconCaliper.vue
new file mode 100644
index 00000000..c4e76672
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconCaliper.vue
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconCamera.vue b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconCamera.vue
new file mode 100644
index 00000000..e5cbe011
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconCamera.vue
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconCancelCamera.vue b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconCancelCamera.vue
new file mode 100644
index 00000000..302d0aea
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconCancelCamera.vue
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconCheck.vue b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconCheck.vue
new file mode 100644
index 00000000..27c193a5
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconCheck.vue
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconChevron.vue b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconChevron.vue
index e8681b26..24f8868a 100644
--- a/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconChevron.vue
+++ b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconChevron.vue
@@ -1,16 +1,13 @@
-
-
+
-
-
-
+
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconClassificationCategory.vue b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconClassificationCategory.vue
new file mode 100644
index 00000000..077162d9
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconClassificationCategory.vue
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconClassificationElement.vue b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconClassificationElement.vue
new file mode 100644
index 00000000..ec671b74
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconClassificationElement.vue
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconClick.vue b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconClick.vue
new file mode 100644
index 00000000..017e323e
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconClick.vue
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconClose.vue b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconClose.vue
index f27a3024..53836acb 100644
--- a/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconClose.vue
+++ b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconClose.vue
@@ -1,28 +1,20 @@
-
-
+
-
-
-
+
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconCloud.vue b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconCloud.vue
new file mode 100644
index 00000000..698740cb
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconCloud.vue
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconColor.vue b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconColor.vue
new file mode 100644
index 00000000..47ded2e8
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconColor.vue
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconComment.vue b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconComment.vue
new file mode 100644
index 00000000..5037cf56
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconComment.vue
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconCreateWindowPolychrome.vue b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconCreateWindowPolychrome.vue
new file mode 100644
index 00000000..c0c85a1f
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconCreateWindowPolychrome.vue
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconDateAscending.vue b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconDateAscending.vue
new file mode 100644
index 00000000..e714cab8
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconDateAscending.vue
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconDateDescending.vue b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconDateDescending.vue
new file mode 100644
index 00000000..80fcf70b
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconDateDescending.vue
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconDefault.vue b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconDefault.vue
new file mode 100644
index 00000000..9f75804f
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconDefault.vue
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconDelete.vue b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconDelete.vue
new file mode 100644
index 00000000..a5cc2014
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconDelete.vue
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconDeniedFile.vue b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconDeniedFile.vue
new file mode 100644
index 00000000..25ecce2c
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconDeniedFile.vue
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconDeploy.vue b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconDeploy.vue
new file mode 100644
index 00000000..48336ddc
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconDeploy.vue
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconDetach.vue b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconDetach.vue
new file mode 100644
index 00000000..c07520cd
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconDetach.vue
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconDistance.vue b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconDistance.vue
new file mode 100644
index 00000000..a6d0f7f1
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconDistance.vue
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconDocInfoPolychrome.vue b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconDocInfoPolychrome.vue
new file mode 100644
index 00000000..6b862cf3
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconDocInfoPolychrome.vue
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconDoubleChevron.vue b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconDoubleChevron.vue
index 6c496010..2dea41a9 100644
--- a/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconDoubleChevron.vue
+++ b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconDoubleChevron.vue
@@ -1,16 +1,13 @@
-
-
+
-
-
-
+
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconDown.vue b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconDown.vue
new file mode 100644
index 00000000..e0bd757b
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconDown.vue
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconDownload.vue b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconDownload.vue
new file mode 100644
index 00000000..e69f5435
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconDownload.vue
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconDrag.vue b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconDrag.vue
new file mode 100644
index 00000000..f22888ed
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconDrag.vue
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconEdit.vue b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconEdit.vue
new file mode 100644
index 00000000..5793b814
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconEdit.vue
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconEllipsis.vue b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconEllipsis.vue
new file mode 100644
index 00000000..332ec08c
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconEllipsis.vue
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconExpanded.vue b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconExpanded.vue
new file mode 100644
index 00000000..17b1c849
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconExpanded.vue
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconExplosion.vue b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconExplosion.vue
new file mode 100644
index 00000000..62ad2524
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconExplosion.vue
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconExport.vue b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconExport.vue
new file mode 100644
index 00000000..362f3b95
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconExport.vue
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconExportIfc.vue b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconExportIfc.vue
new file mode 100644
index 00000000..46de140f
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconExportIfc.vue
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconExportXlsx.vue b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconExportXlsx.vue
new file mode 100644
index 00000000..1f34ef1d
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconExportXlsx.vue
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconFailed.vue b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconFailed.vue
new file mode 100644
index 00000000..b181cc34
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconFailed.vue
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconFileDwgPolychrome.vue b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconFileDwgPolychrome.vue
new file mode 100644
index 00000000..9c89a30c
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconFileDwgPolychrome.vue
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconFileDxfPolychrome.vue b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconFileDxfPolychrome.vue
new file mode 100644
index 00000000..b949ea62
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconFileDxfPolychrome.vue
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconFileIfcPolychrome.vue b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconFileIfcPolychrome.vue
new file mode 100644
index 00000000..0ac013bb
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconFileIfcPolychrome.vue
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconFileImagePolychrome.vue b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconFileImagePolychrome.vue
new file mode 100644
index 00000000..c392076b
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconFileImagePolychrome.vue
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconFileJpegPolychrome.vue b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconFileJpegPolychrome.vue
new file mode 100644
index 00000000..4eb5cdc8
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconFileJpegPolychrome.vue
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconFilePdfPolychrome.vue b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconFilePdfPolychrome.vue
new file mode 100644
index 00000000..e921fdf6
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconFilePdfPolychrome.vue
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconFilePlanPolychrome.vue b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconFilePlanPolychrome.vue
new file mode 100644
index 00000000..2e4bb5bb
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconFilePlanPolychrome.vue
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconFilePngPolychrome.vue b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconFilePngPolychrome.vue
new file mode 100644
index 00000000..89f04a39
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconFilePngPolychrome.vue
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconFilePointCloudPolychrome.vue b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconFilePointCloudPolychrome.vue
new file mode 100644
index 00000000..fca393b6
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconFilePointCloudPolychrome.vue
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconFilterList.vue b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconFilterList.vue
new file mode 100644
index 00000000..09908ba1
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconFilterList.vue
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconFitView.vue b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconFitView.vue
new file mode 100644
index 00000000..f95311d6
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconFitView.vue
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconFolder.vue b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconFolder.vue
new file mode 100644
index 00000000..5674842f
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconFolder.vue
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconFolderMove.vue b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconFolderMove.vue
new file mode 100644
index 00000000..f436de4e
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconFolderMove.vue
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconFolderOpen.vue b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconFolderOpen.vue
new file mode 100644
index 00000000..68336bed
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconFolderOpen.vue
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconFolderPolychrome.vue b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconFolderPolychrome.vue
new file mode 100644
index 00000000..bc8d83ec
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconFolderPolychrome.vue
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconFullscreen.vue b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconFullscreen.vue
new file mode 100644
index 00000000..f2844f46
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconFullscreen.vue
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconGrid.vue b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconGrid.vue
new file mode 100644
index 00000000..7cc5ba72
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconGrid.vue
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconGroup.vue b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconGroup.vue
new file mode 100644
index 00000000..6fbe9cee
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconGroup.vue
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconHide.vue b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconHide.vue
new file mode 100644
index 00000000..dd5d0fc5
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconHide.vue
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconHome.vue b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconHome.vue
new file mode 100644
index 00000000..7eb08fca
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconHome.vue
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconIfc.vue b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconIfc.vue
new file mode 100644
index 00000000..baa87d1f
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconIfc.vue
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconIfcFile.vue b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconIfcFile.vue
new file mode 100644
index 00000000..ed36f17f
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconIfcFile.vue
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconImport.vue b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconImport.vue
new file mode 100644
index 00000000..2c89e26a
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconImport.vue
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconInProgressFile.vue b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconInProgressFile.vue
new file mode 100644
index 00000000..19cd4eb4
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconInProgressFile.vue
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconIndexAscending.vue b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconIndexAscending.vue
new file mode 100644
index 00000000..15a347eb
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconIndexAscending.vue
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconIndexDescending.vue b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconIndexDescending.vue
new file mode 100644
index 00000000..8b74f736
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconIndexDescending.vue
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconInformation.vue b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconInformation.vue
new file mode 100644
index 00000000..428cf29d
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconInformation.vue
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconInvitation.vue b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconInvitation.vue
new file mode 100644
index 00000000..544af9b1
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconInvitation.vue
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconIsolate.vue b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconIsolate.vue
new file mode 100644
index 00000000..63c3c218
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconIsolate.vue
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconKey.vue b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconKey.vue
new file mode 100644
index 00000000..2b1d1886
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconKey.vue
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconLeft.vue b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconLeft.vue
new file mode 100644
index 00000000..7d05ca9a
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconLeft.vue
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconLinkedDocument.vue b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconLinkedDocument.vue
new file mode 100644
index 00000000..576199bb
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconLinkedDocument.vue
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconList.vue b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconList.vue
new file mode 100644
index 00000000..dcf2d237
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconList.vue
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconListManage.vue b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconListManage.vue
new file mode 100644
index 00000000..1ab65fd3
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconListManage.vue
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconLocation.vue b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconLocation.vue
new file mode 100644
index 00000000..284fda80
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconLocation.vue
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconLock.vue b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconLock.vue
new file mode 100644
index 00000000..bfb81b78
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconLock.vue
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconLogout.vue b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconLogout.vue
new file mode 100644
index 00000000..c1aac816
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconLogout.vue
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconMeasure.vue b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconMeasure.vue
new file mode 100644
index 00000000..d08a40ef
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconMeasure.vue
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconMinus.vue b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconMinus.vue
new file mode 100644
index 00000000..6454d382
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconMinus.vue
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconModel3D.vue b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconModel3D.vue
new file mode 100644
index 00000000..076d3743
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconModel3D.vue
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconNavigation.vue b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconNavigation.vue
new file mode 100644
index 00000000..56dbfd0f
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconNavigation.vue
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconOrganization.vue b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconOrganization.vue
new file mode 100644
index 00000000..d74e5e0b
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconOrganization.vue
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconParameters.vue b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconParameters.vue
new file mode 100644
index 00000000..450f7be9
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconParameters.vue
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconPathway.vue b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconPathway.vue
new file mode 100644
index 00000000..0c5a2b84
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconPathway.vue
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconPieGraph.vue b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconPieGraph.vue
new file mode 100644
index 00000000..ba1ac438
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconPieGraph.vue
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconPipette.vue b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconPipette.vue
new file mode 100644
index 00000000..3974f60b
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconPipette.vue
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconPlus.vue b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconPlus.vue
new file mode 100644
index 00000000..4a41e5f1
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconPlus.vue
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconPreview.vue b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconPreview.vue
new file mode 100644
index 00000000..c10adb2c
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconPreview.vue
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconProject.vue b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconProject.vue
new file mode 100644
index 00000000..3b54dd34
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconProject.vue
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconQuickSelect.vue b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconQuickSelect.vue
new file mode 100644
index 00000000..e662eb8f
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconQuickSelect.vue
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconReadonlyFolder.vue b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconReadonlyFolder.vue
new file mode 100644
index 00000000..e2734b10
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconReadonlyFolder.vue
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconRedo.vue b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconRedo.vue
new file mode 100644
index 00000000..a37fd474
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconRedo.vue
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconReduced.vue b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconReduced.vue
new file mode 100644
index 00000000..e2c3528f
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconReduced.vue
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconRefresh.vue b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconRefresh.vue
new file mode 100644
index 00000000..a480fe62
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconRefresh.vue
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconRemoveModel.vue b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconRemoveModel.vue
new file mode 100644
index 00000000..7603788a
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconRemoveModel.vue
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconReprocessIfc.vue b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconReprocessIfc.vue
new file mode 100644
index 00000000..ea7d3de2
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconReprocessIfc.vue
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconReset.vue b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconReset.vue
new file mode 100644
index 00000000..f698d608
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconReset.vue
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconRestore.vue b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconRestore.vue
new file mode 100644
index 00000000..8322c614
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconRestore.vue
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconRight.vue b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconRight.vue
new file mode 100644
index 00000000..1e40ce10
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconRight.vue
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconRules.vue b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconRules.vue
new file mode 100644
index 00000000..39fe653e
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconRules.vue
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconSandglass.vue b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconSandglass.vue
new file mode 100644
index 00000000..448f5a0a
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconSandglass.vue
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconSave.vue b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconSave.vue
new file mode 100644
index 00000000..3bb2889b
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconSave.vue
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconScreenConfig.vue b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconScreenConfig.vue
new file mode 100644
index 00000000..2e36e02e
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconScreenConfig.vue
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconScreenshot.vue b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconScreenshot.vue
new file mode 100644
index 00000000..a8967a5f
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconScreenshot.vue
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconSearch.vue b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconSearch.vue
index 0318eb48..07e606bb 100644
--- a/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconSearch.vue
+++ b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconSearch.vue
@@ -1,16 +1,13 @@
-
-
+
-
-
-
+
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconSection.vue b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconSection.vue
new file mode 100644
index 00000000..244e2042
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconSection.vue
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconSetAsModel.vue b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconSetAsModel.vue
new file mode 100644
index 00000000..0c3fa121
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconSetAsModel.vue
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconSettings.vue b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconSettings.vue
new file mode 100644
index 00000000..6bae2b04
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconSettings.vue
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconShare.vue b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconShare.vue
new file mode 100644
index 00000000..79e013ce
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconShare.vue
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconShow.vue b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconShow.vue
new file mode 100644
index 00000000..8d331e95
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconShow.vue
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconShowSelected.vue b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconShowSelected.vue
new file mode 100644
index 00000000..c32abc22
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconShowSelected.vue
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconSmartview.vue b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconSmartview.vue
new file mode 100644
index 00000000..eae3a8e1
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconSmartview.vue
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconSocotec.vue b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconSocotec.vue
new file mode 100644
index 00000000..5e00a6d5
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconSocotec.vue
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconSpace.vue b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconSpace.vue
new file mode 100644
index 00000000..7da1f334
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconSpace.vue
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconSpacing.vue b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconSpacing.vue
new file mode 100644
index 00000000..b6f4eb32
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconSpacing.vue
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconSplit.vue b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconSplit.vue
new file mode 100644
index 00000000..6c6e5963
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconSplit.vue
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconStorey.vue b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconStorey.vue
new file mode 100644
index 00000000..1dc3ee19
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconStorey.vue
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconStructurePolychrome.vue b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconStructurePolychrome.vue
new file mode 100644
index 00000000..471348b3
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconStructurePolychrome.vue
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconSuccess.vue b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconSuccess.vue
new file mode 100644
index 00000000..f81731cf
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconSuccess.vue
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconSurface.vue b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconSurface.vue
new file mode 100644
index 00000000..9ac5aa45
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconSurface.vue
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconSwap.vue b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconSwap.vue
new file mode 100644
index 00000000..332b761a
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconSwap.vue
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconSynchro2D.vue b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconSynchro2D.vue
new file mode 100644
index 00000000..d3608e3e
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconSynchro2D.vue
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconSystem.vue b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconSystem.vue
new file mode 100644
index 00000000..b8025b76
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconSystem.vue
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconTag.vue b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconTag.vue
new file mode 100644
index 00000000..af441efb
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconTag.vue
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconTranslate.vue b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconTranslate.vue
new file mode 100644
index 00000000..3b9efe4f
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconTranslate.vue
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconTree.vue b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconTree.vue
new file mode 100644
index 00000000..e7c21724
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconTree.vue
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconUnarchive.vue b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconUnarchive.vue
new file mode 100644
index 00000000..b2506462
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconUnarchive.vue
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconUndo.vue b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconUndo.vue
new file mode 100644
index 00000000..6d642e5a
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconUndo.vue
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconUnion.vue b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconUnion.vue
new file mode 100644
index 00000000..ddd9aa2d
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconUnion.vue
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconUp.vue b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconUp.vue
new file mode 100644
index 00000000..c63701b6
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconUp.vue
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconUpload.vue b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconUpload.vue
new file mode 100644
index 00000000..6ece9d92
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconUpload.vue
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconUser.vue b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconUser.vue
new file mode 100644
index 00000000..c3b05b53
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconUser.vue
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconValidate.vue b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconValidate.vue
new file mode 100644
index 00000000..0f17c448
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconValidate.vue
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconValidatedFile.vue b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconValidatedFile.vue
new file mode 100644
index 00000000..88c998ec
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconValidatedFile.vue
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconVersioning.vue b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconVersioning.vue
new file mode 100644
index 00000000..bce80d46
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconVersioning.vue
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconVideocam.vue b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconVideocam.vue
new file mode 100644
index 00000000..6389c407
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconVideocam.vue
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconViewer2DPolychrome.vue b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconViewer2DPolychrome.vue
new file mode 100644
index 00000000..ad9a43c7
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconViewer2DPolychrome.vue
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconViewer3DPolychrome.vue b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconViewer3DPolychrome.vue
new file mode 100644
index 00000000..660b930e
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconViewer3DPolychrome.vue
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconVisa.vue b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconVisa.vue
new file mode 100644
index 00000000..e04985fc
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconVisa.vue
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconWarning.vue b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconWarning.vue
new file mode 100644
index 00000000..24b7bc72
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconWarning.vue
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconWindowBottom.vue b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconWindowBottom.vue
new file mode 100644
index 00000000..fec196f6
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconWindowBottom.vue
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconWindowLeft.vue b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconWindowLeft.vue
new file mode 100644
index 00000000..77027992
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconWindowLeft.vue
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconWindowRight.vue b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconWindowRight.vue
new file mode 100644
index 00000000..e688c6f5
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconWindowRight.vue
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconWindowTop.vue b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconWindowTop.vue
new file mode 100644
index 00000000..46ccf01a
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconWindowTop.vue
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconWindowed.vue b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconWindowed.vue
new file mode 100644
index 00000000..d70d54ff
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconWindowed.vue
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconZone.vue b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconZone.vue
new file mode 100644
index 00000000..09d55f0a
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconZone.vue
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/iconFactory.js b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/iconFactory.js
index 4f19a2d8..e1df12e3 100644
--- a/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/iconFactory.js
+++ b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/iconFactory.js
@@ -1,3 +1,4 @@
+import Icon from "../Icon.vue";
import iconsColors from "../../../assets/iconsColors.js";
const sizeToPixel = {
@@ -12,10 +13,11 @@ const sizeToPixel = {
xxxl: 60,
};
-export default (iconName, Icon) => ({
+export default (iconName, icon) => ({
name: `BIMDataIcon${iconName}`,
components: {
- [iconName]: Icon,
+ Icon,
+ [iconName]: icon,
},
props: {
color: {
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/index.js b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/index.js
index 14b926e4..14886590 100644
--- a/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/index.js
+++ b/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/index.js
@@ -1,4 +1,160 @@
+export { default as BIMDataIconAddFile } from "./BIMDataIconAddFile.vue";
+export { default as BIMDataIconAddFolder } from "./BIMDataIconAddFolder.vue";
+export { default as BIMDataIconAddUser } from "./BIMDataIconAddUser.vue";
+export { default as BIMDataIconAlphabeticalAscending } from "./BIMDataIconAlphabeticalAscending.vue";
+export { default as BIMDataIconAlphabeticalDescending } from "./BIMDataIconAlphabeticalDescending.vue";
+export { default as BIMDataIconAlphabeticalSort } from "./BIMDataIconAlphabeticalSort.vue";
+export { default as BIMDataIconAlt } from "./BIMDataIconAlt.vue";
+export { default as BIMDataIconAngle } from "./BIMDataIconAngle.vue";
+export { default as BIMDataIconApi } from "./BIMDataIconApi.vue";
+export { default as BIMDataIconApp } from "./BIMDataIconApp.vue";
+export { default as BIMDataIconArchive } from "./BIMDataIconArchive.vue";
+export { default as BIMDataIconArrow } from "./BIMDataIconArrow.vue";
+export { default as BIMDataIconAttach } from "./BIMDataIconAttach.vue";
+export { default as BIMDataIconBcf } from "./BIMDataIconBcf.vue";
+export { default as BIMDataIconBuilding } from "./BIMDataIconBuilding.vue";
+export { default as BIMDataIconBurgerMenu } from "./BIMDataIconBurgerMenu.vue";
+export { default as BIMDataIconCalendar } from "./BIMDataIconCalendar.vue";
+export { default as BIMDataIconCaliper } from "./BIMDataIconCaliper.vue";
+export { default as BIMDataIconCamera } from "./BIMDataIconCamera.vue";
+export { default as BIMDataIconCancelCamera } from "./BIMDataIconCancelCamera.vue";
+export { default as BIMDataIconCheck } from "./BIMDataIconCheck.vue";
export { default as BIMDataIconChevron } from "./BIMDataIconChevron.vue";
-export { default as BIMDataIconDoubleChevron } from "./BIMDataIconDoubleChevron.vue";
+export { default as BIMDataIconClassificationCategory } from "./BIMDataIconClassificationCategory.vue";
+export { default as BIMDataIconClassificationElement } from "./BIMDataIconClassificationElement.vue";
+export { default as BIMDataIconClick } from "./BIMDataIconClick.vue";
export { default as BIMDataIconClose } from "./BIMDataIconClose.vue";
+export { default as BIMDataIconCloud } from "./BIMDataIconCloud.vue";
+export { default as BIMDataIconColor } from "./BIMDataIconColor.vue";
+export { default as BIMDataIconComment } from "./BIMDataIconComment.vue";
+export { default as BIMDataIconDateAscending } from "./BIMDataIconDateAscending.vue";
+export { default as BIMDataIconDateDescending } from "./BIMDataIconDateDescending.vue";
+export { default as BIMDataIconDefault } from "./BIMDataIconDefault.vue";
+export { default as BIMDataIconDelete } from "./BIMDataIconDelete.vue";
+export { default as BIMDataIconDeniedFile } from "./BIMDataIconDeniedFile.vue";
+export { default as BIMDataIconDeploy } from "./BIMDataIconDeploy.vue";
+export { default as BIMDataIconDetach } from "./BIMDataIconDetach.vue";
+export { default as BIMDataIconDistance } from "./BIMDataIconDistance.vue";
+export { default as BIMDataIconDoubleChevron } from "./BIMDataIconDoubleChevron.vue";
+export { default as BIMDataIconDown } from "./BIMDataIconDown.vue";
+export { default as BIMDataIconDownload } from "./BIMDataIconDownload.vue";
+export { default as BIMDataIconDrag } from "./BIMDataIconDrag.vue";
+export { default as BIMDataIconEdit } from "./BIMDataIconEdit.vue";
+export { default as BIMDataIconEllipsis } from "./BIMDataIconEllipsis.vue";
+export { default as BIMDataIconExpanded } from "./BIMDataIconExpanded.vue";
+export { default as BIMDataIconExplosion } from "./BIMDataIconExplosion.vue";
+export { default as BIMDataIconExport } from "./BIMDataIconExport.vue";
+export { default as BIMDataIconExportIfc } from "./BIMDataIconExportIfc.vue";
+export { default as BIMDataIconExportXlsx } from "./BIMDataIconExportXlsx.vue";
+export { default as BIMDataIconFailed } from "./BIMDataIconFailed.vue";
+export { default as BIMDataIconFilterList } from "./BIMDataIconFilterList.vue";
+export { default as BIMDataIconFitView } from "./BIMDataIconFitView.vue";
+export { default as BIMDataIconFolder } from "./BIMDataIconFolder.vue";
+export { default as BIMDataIconFolderMove } from "./BIMDataIconFolderMove.vue";
+export { default as BIMDataIconFolderOpen } from "./BIMDataIconFolderOpen.vue";
+export { default as BIMDataIconFullscreen } from "./BIMDataIconFullscreen.vue";
+export { default as BIMDataIconGrid } from "./BIMDataIconGrid.vue";
+export { default as BIMDataIconGroup } from "./BIMDataIconGroup.vue";
+export { default as BIMDataIconHide } from "./BIMDataIconHide.vue";
+export { default as BIMDataIconHome } from "./BIMDataIconHome.vue";
+export { default as BIMDataIconIfc } from "./BIMDataIconIfc.vue";
+export { default as BIMDataIconIfcFile } from "./BIMDataIconIfcFile.vue";
+export { default as BIMDataIconImport } from "./BIMDataIconImport.vue";
+export { default as BIMDataIconIndexAscending } from "./BIMDataIconIndexAscending.vue";
+export { default as BIMDataIconIndexDescending } from "./BIMDataIconIndexDescending.vue";
+export { default as BIMDataIconInformation } from "./BIMDataIconInformation.vue";
+export { default as BIMDataIconInProgressFile } from "./BIMDataIconInProgressFile.vue";
+export { default as BIMDataIconInvitation } from "./BIMDataIconInvitation.vue";
+export { default as BIMDataIconIsolate } from "./BIMDataIconIsolate.vue";
+export { default as BIMDataIconKey } from "./BIMDataIconKey.vue";
+export { default as BIMDataIconLeft } from "./BIMDataIconLeft.vue";
+export { default as BIMDataIconLinkedDocument } from "./BIMDataIconLinkedDocument.vue";
+export { default as BIMDataIconList } from "./BIMDataIconList.vue";
+export { default as BIMDataIconListManage } from "./BIMDataIconListManage.vue";
+export { default as BIMDataIconLocation } from "./BIMDataIconLocation.vue";
+export { default as BIMDataIconLock } from "./BIMDataIconLock.vue";
+export { default as BIMDataIconLogout } from "./BIMDataIconLogout.vue";
+export { default as BIMDataIconMeasure } from "./BIMDataIconMeasure.vue";
+export { default as BIMDataIconMinus } from "./BIMDataIconMinus.vue";
+export { default as BIMDataIconModel3D } from "./BIMDataIconModel3D.vue";
+export { default as BIMDataIconNavigation } from "./BIMDataIconNavigation.vue";
+export { default as BIMDataIconOrganization } from "./BIMDataIconOrganization.vue";
+export { default as BIMDataIconParameters } from "./BIMDataIconParameters.vue";
+export { default as BIMDataIconPathway } from "./BIMDataIconPathway.vue";
+export { default as BIMDataIconPieGraph } from "./BIMDataIconPieGraph.vue";
+export { default as BIMDataIconPipette } from "./BIMDataIconPipette.vue";
+export { default as BIMDataIconPlus } from "./BIMDataIconPlus.vue";
+export { default as BIMDataIconPreview } from "./BIMDataIconPreview.vue";
+export { default as BIMDataIconProject } from "./BIMDataIconProject.vue";
+export { default as BIMDataIconQuickSelect } from "./BIMDataIconQuickSelect.vue";
+export { default as BIMDataIconReadonlyFolder } from "./BIMDataIconReadonlyFolder.vue";
+export { default as BIMDataIconRedo } from "./BIMDataIconRedo.vue";
+export { default as BIMDataIconReduced } from "./BIMDataIconReduced.vue";
+export { default as BIMDataIconRefresh } from "./BIMDataIconRefresh.vue";
+export { default as BIMDataIconRemoveModel } from "./BIMDataIconRemoveModel.vue";
+export { default as BIMDataIconReprocessIfc } from "./BIMDataIconReprocessIfc.vue";
+export { default as BIMDataIconReset } from "./BIMDataIconReset.vue";
+export { default as BIMDataIconRestore } from "./BIMDataIconRestore.vue";
+export { default as BIMDataIconRight } from "./BIMDataIconRight.vue";
+export { default as BIMDataIconRules } from "./BIMDataIconRules.vue";
+export { default as BIMDataIconSandglass } from "./BIMDataIconSandglass.vue";
+export { default as BIMDataIconSave } from "./BIMDataIconSave.vue";
+export { default as BIMDataIconScreenConfig } from "./BIMDataIconScreenConfig.vue";
+export { default as BIMDataIconScreenshot } from "./BIMDataIconScreenshot.vue";
export { default as BIMDataIconSearch } from "./BIMDataIconSearch.vue";
+export { default as BIMDataIconSection } from "./BIMDataIconSection.vue";
+export { default as BIMDataIconSetAsModel } from "./BIMDataIconSetAsModel.vue";
+export { default as BIMDataIconSettings } from "./BIMDataIconSettings.vue";
+export { default as BIMDataIconShare } from "./BIMDataIconShare.vue";
+export { default as BIMDataIconShow } from "./BIMDataIconShow.vue";
+export { default as BIMDataIconShowSelected } from "./BIMDataIconShowSelected.vue";
+export { default as BIMDataIconSmartview } from "./BIMDataIconSmartview.vue";
+export { default as BIMDataIconSocotec } from "./BIMDataIconSocotec.vue";
+export { default as BIMDataIconSpace } from "./BIMDataIconSpace.vue";
+export { default as BIMDataIconSpacing } from "./BIMDataIconSpacing.vue";
+export { default as BIMDataIconSplit } from "./BIMDataIconSplit.vue";
+export { default as BIMDataIconStorey } from "./BIMDataIconStorey.vue";
+export { default as BIMDataIconSuccess } from "./BIMDataIconSuccess.vue";
+export { default as BIMDataIconSurface } from "./BIMDataIconSurface.vue";
+export { default as BIMDataIconSwap } from "./BIMDataIconSwap.vue";
+export { default as BIMDataIconSynchro2D } from "./BIMDataIconSynchro2D.vue";
+export { default as BIMDataIconSystem } from "./BIMDataIconSystem.vue";
+export { default as BIMDataIconTag } from "./BIMDataIconTag.vue";
+export { default as BIMDataIconTranslate } from "./BIMDataIconTranslate.vue";
+export { default as BIMDataIconTree } from "./BIMDataIconTree.vue";
+export { default as BIMDataIconUnarchive } from "./BIMDataIconUnarchive.vue";
+export { default as BIMDataIconUndo } from "./BIMDataIconUndo.vue";
+export { default as BIMDataIconUnion } from "./BIMDataIconUnion.vue";
+export { default as BIMDataIconUp } from "./BIMDataIconUp.vue";
+export { default as BIMDataIconUpload } from "./BIMDataIconUpload.vue";
+export { default as BIMDataIconUser } from "./BIMDataIconUser.vue";
+export { default as BIMDataIconValidate } from "./BIMDataIconValidate.vue";
+export { default as BIMDataIconValidatedFile } from "./BIMDataIconValidatedFile.vue";
+export { default as BIMDataIconVersioning } from "./BIMDataIconVersioning.vue";
+export { default as BIMDataIconVideocam } from "./BIMDataIconVideocam.vue";
+export { default as BIMDataIconVisa } from "./BIMDataIconVisa.vue";
+export { default as BIMDataIconWarning } from "./BIMDataIconWarning.vue";
+export { default as BIMDataIconWindowBottom } from "./BIMDataIconWindowBottom.vue";
+export { default as BIMDataIconWindowed } from "./BIMDataIconWindowed.vue";
+export { default as BIMDataIconWindowLeft } from "./BIMDataIconWindowLeft.vue";
+export { default as BIMDataIconWindowRight } from "./BIMDataIconWindowRight.vue";
+export { default as BIMDataIconWindowTop } from "./BIMDataIconWindowTop.vue";
+export { default as BIMDataIconZone } from "./BIMDataIconZone.vue";
+
+// polychrome icons
+export { default as BIMDataIconBcfPolychrome } from "./BIMDataIconBcfPolychrome.vue";
+export { default as BIMDataIconCreateWindowPolychrome } from "./BIMDataIconCreateWindowPolychrome.vue";
+export { default as BIMDataIconDocInfoPolychrome } from "./BIMDataIconDocInfoPolychrome.vue";
+export { default as BIMDataIconFileDwgPolychrome } from "./BIMDataIconFileDwgPolychrome.vue";
+export { default as BIMDataIconFileDxfPolychrome } from "./BIMDataIconFileDxfPolychrome.vue";
+export { default as BIMDataIconFileIfcPolychrome } from "./BIMDataIconFileIfcPolychrome.vue";
+export { default as BIMDataIconFileImagePolychrome } from "./BIMDataIconFileImagePolychrome.vue";
+export { default as BIMDataIconFileJpegPolychrome } from "./BIMDataIconFileJpegPolychrome.vue";
+export { default as BIMDataIconFilePdfPolychrome } from "./BIMDataIconFilePdfPolychrome.vue";
+export { default as BIMDataIconFilePlanPolychrome } from "./BIMDataIconFilePlanPolychrome.vue";
+export { default as BIMDataIconFilePngPolychrome } from "./BIMDataIconFilePngPolychrome.vue";
+export { default as BIMDataIconFilePointCloudPolychrome } from "./BIMDataIconFilePointCloudPolychrome.vue";
+export { default as BIMDataIconFolderPolychrome } from "./BIMDataIconFolderPolychrome.vue";
+export { default as BIMDataIconStructurePolychrome } from "./BIMDataIconStructurePolychrome.vue";
+export { default as BIMDataIconViewer2DPolychrome } from "./BIMDataIconViewer2DPolychrome.vue";
+export { default as BIMDataIconViewer3DPolychrome } from "./BIMDataIconViewer3DPolychrome.vue";
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataLibraryIcons/AlphabeticalAscending.vue b/src/BIMDataComponents/BIMDataIcon/BIMDataLibraryIcons/AlphabeticalAscending.vue
new file mode 100644
index 00000000..b52b3fef
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataIcon/BIMDataLibraryIcons/AlphabeticalAscending.vue
@@ -0,0 +1,25 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataLibraryIcons/AlphabeticalDescending.vue b/src/BIMDataComponents/BIMDataIcon/BIMDataLibraryIcons/AlphabeticalDescending.vue
new file mode 100644
index 00000000..386c7de5
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataIcon/BIMDataLibraryIcons/AlphabeticalDescending.vue
@@ -0,0 +1,25 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataLibraryIcons/App.vue b/src/BIMDataComponents/BIMDataIcon/BIMDataLibraryIcons/App.vue
new file mode 100644
index 00000000..04da955a
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataIcon/BIMDataLibraryIcons/App.vue
@@ -0,0 +1,16 @@
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataLibraryIcons/BurgerMenu.vue b/src/BIMDataComponents/BIMDataIcon/BIMDataLibraryIcons/BurgerMenu.vue
index c152f0d9..ce3d55be 100644
--- a/src/BIMDataComponents/BIMDataIcon/BIMDataLibraryIcons/BurgerMenu.vue
+++ b/src/BIMDataComponents/BIMDataIcon/BIMDataLibraryIcons/BurgerMenu.vue
@@ -1,7 +1,7 @@
-
+
+
+
+
+
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataLibraryIcons/ClassificationCategorie.vue b/src/BIMDataComponents/BIMDataIcon/BIMDataLibraryIcons/ClassificationCategory.vue
similarity index 100%
rename from src/BIMDataComponents/BIMDataIcon/BIMDataLibraryIcons/ClassificationCategorie.vue
rename to src/BIMDataComponents/BIMDataIcon/BIMDataLibraryIcons/ClassificationCategory.vue
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataLibraryIcons/Color.vue b/src/BIMDataComponents/BIMDataIcon/BIMDataLibraryIcons/Color.vue
index 6e69820d..85b2f024 100644
--- a/src/BIMDataComponents/BIMDataIcon/BIMDataLibraryIcons/Color.vue
+++ b/src/BIMDataComponents/BIMDataIcon/BIMDataLibraryIcons/Color.vue
@@ -1,5 +1,5 @@
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataLibraryIcons/DateAscending.vue b/src/BIMDataComponents/BIMDataIcon/BIMDataLibraryIcons/DateAscending.vue
new file mode 100644
index 00000000..b41e1539
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataIcon/BIMDataLibraryIcons/DateAscending.vue
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataLibraryIcons/DateDescending.vue b/src/BIMDataComponents/BIMDataIcon/BIMDataLibraryIcons/DateDescending.vue
new file mode 100644
index 00000000..793fdd92
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataIcon/BIMDataLibraryIcons/DateDescending.vue
@@ -0,0 +1,22 @@
+
+
+
+
+
+
+
+
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataLibraryIcons/Export.vue b/src/BIMDataComponents/BIMDataIcon/BIMDataLibraryIcons/Export.vue
index 67d3796e..1cd588fd 100644
--- a/src/BIMDataComponents/BIMDataIcon/BIMDataLibraryIcons/Export.vue
+++ b/src/BIMDataComponents/BIMDataIcon/BIMDataLibraryIcons/Export.vue
@@ -1,7 +1,10 @@
-
-
+
+
-
\ No newline at end of file
+
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataLibraryIcons/ExportXlsx.vue b/src/BIMDataComponents/BIMDataIcon/BIMDataLibraryIcons/ExportXlsx.vue
new file mode 100644
index 00000000..57c6488d
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataIcon/BIMDataLibraryIcons/ExportXlsx.vue
@@ -0,0 +1,23 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataLibraryIcons/Filter.vue b/src/BIMDataComponents/BIMDataIcon/BIMDataLibraryIcons/FilterList.vue
similarity index 100%
rename from src/BIMDataComponents/BIMDataIcon/BIMDataLibraryIcons/Filter.vue
rename to src/BIMDataComponents/BIMDataIcon/BIMDataLibraryIcons/FilterList.vue
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataLibraryIcons/Grid.vue b/src/BIMDataComponents/BIMDataIcon/BIMDataLibraryIcons/Grid.vue
new file mode 100644
index 00000000..0e6a39d7
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataIcon/BIMDataLibraryIcons/Grid.vue
@@ -0,0 +1,31 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataLibraryIcons/Home.vue b/src/BIMDataComponents/BIMDataIcon/BIMDataLibraryIcons/Home.vue
new file mode 100644
index 00000000..3069ef6a
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataIcon/BIMDataLibraryIcons/Home.vue
@@ -0,0 +1,7 @@
+
+
+
+
+
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataLibraryIcons/IndexAscending.vue b/src/BIMDataComponents/BIMDataIcon/BIMDataLibraryIcons/IndexAscending.vue
new file mode 100644
index 00000000..f6e75d4b
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataIcon/BIMDataLibraryIcons/IndexAscending.vue
@@ -0,0 +1,17 @@
+
+
+
+
+
+
+
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataLibraryIcons/IndexDescending.vue b/src/BIMDataComponents/BIMDataIcon/BIMDataLibraryIcons/IndexDescending.vue
new file mode 100644
index 00000000..6e46502e
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataIcon/BIMDataLibraryIcons/IndexDescending.vue
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataLibraryIcons/Invitation.vue b/src/BIMDataComponents/BIMDataIcon/BIMDataLibraryIcons/Invitation.vue
new file mode 100644
index 00000000..d321a2a7
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataIcon/BIMDataLibraryIcons/Invitation.vue
@@ -0,0 +1,5 @@
+
+
+
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataLibraryIcons/Key.vue b/src/BIMDataComponents/BIMDataIcon/BIMDataLibraryIcons/Key.vue
index a173dc2c..37d6b9df 100644
--- a/src/BIMDataComponents/BIMDataIcon/BIMDataLibraryIcons/Key.vue
+++ b/src/BIMDataComponents/BIMDataIcon/BIMDataLibraryIcons/Key.vue
@@ -2,6 +2,6 @@
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataLibraryIcons/List.vue b/src/BIMDataComponents/BIMDataIcon/BIMDataLibraryIcons/List.vue
new file mode 100644
index 00000000..862787ab
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataIcon/BIMDataLibraryIcons/List.vue
@@ -0,0 +1,28 @@
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataLibraryIcons/Model3d.vue b/src/BIMDataComponents/BIMDataIcon/BIMDataLibraryIcons/Model3D.vue
similarity index 100%
rename from src/BIMDataComponents/BIMDataIcon/BIMDataLibraryIcons/Model3d.vue
rename to src/BIMDataComponents/BIMDataIcon/BIMDataLibraryIcons/Model3D.vue
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataLibraryIcons/Cursor.vue b/src/BIMDataComponents/BIMDataIcon/BIMDataLibraryIcons/Navigation.vue
similarity index 100%
rename from src/BIMDataComponents/BIMDataIcon/BIMDataLibraryIcons/Cursor.vue
rename to src/BIMDataComponents/BIMDataIcon/BIMDataLibraryIcons/Navigation.vue
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataLibraryIcons/Path.vue b/src/BIMDataComponents/BIMDataIcon/BIMDataLibraryIcons/Pathway.vue
similarity index 100%
rename from src/BIMDataComponents/BIMDataIcon/BIMDataLibraryIcons/Path.vue
rename to src/BIMDataComponents/BIMDataIcon/BIMDataLibraryIcons/Pathway.vue
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataLibraryIcons/PieGraph.vue b/src/BIMDataComponents/BIMDataIcon/BIMDataLibraryIcons/PieGraph.vue
new file mode 100644
index 00000000..cfb2bee6
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataIcon/BIMDataLibraryIcons/PieGraph.vue
@@ -0,0 +1,22 @@
+
+
+
+
+
+
+
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataLibraryIcons/Pipette.vue b/src/BIMDataComponents/BIMDataIcon/BIMDataLibraryIcons/Pipette.vue
new file mode 100644
index 00000000..37e38de2
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataIcon/BIMDataLibraryIcons/Pipette.vue
@@ -0,0 +1,7 @@
+
+
+
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataLibraryIcons/Preview.vue b/src/BIMDataComponents/BIMDataIcon/BIMDataLibraryIcons/Preview.vue
new file mode 100644
index 00000000..9f626fb8
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataIcon/BIMDataLibraryIcons/Preview.vue
@@ -0,0 +1,7 @@
+
+
+
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataLibraryIcons/RemoveModel.vue b/src/BIMDataComponents/BIMDataIcon/BIMDataLibraryIcons/RemoveModel.vue
new file mode 100644
index 00000000..03bc579a
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataIcon/BIMDataLibraryIcons/RemoveModel.vue
@@ -0,0 +1,22 @@
+
+
+
+
+
+
+
+
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataLibraryIcons/Restore.vue b/src/BIMDataComponents/BIMDataIcon/BIMDataLibraryIcons/Restore.vue
new file mode 100644
index 00000000..fdca3556
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataIcon/BIMDataLibraryIcons/Restore.vue
@@ -0,0 +1,14 @@
+
+
+
+
+
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataLibraryIcons/SetAsModel.vue b/src/BIMDataComponents/BIMDataIcon/BIMDataLibraryIcons/SetAsModel.vue
new file mode 100644
index 00000000..765662db
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataIcon/BIMDataLibraryIcons/SetAsModel.vue
@@ -0,0 +1,34 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataLibraryIcons/Smartview.vue b/src/BIMDataComponents/BIMDataIcon/BIMDataLibraryIcons/Smartview.vue
new file mode 100644
index 00000000..a6e930a4
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataIcon/BIMDataLibraryIcons/Smartview.vue
@@ -0,0 +1,14 @@
+
+
+
+
+
+
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataLibraryIcons/Spacing.vue b/src/BIMDataComponents/BIMDataIcon/BIMDataLibraryIcons/Spacing.vue
new file mode 100644
index 00000000..4f947e4c
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataIcon/BIMDataLibraryIcons/Spacing.vue
@@ -0,0 +1,25 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataLibraryIcons/Tag.vue b/src/BIMDataComponents/BIMDataIcon/BIMDataLibraryIcons/Tag.vue
new file mode 100644
index 00000000..bef4c1dc
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataIcon/BIMDataLibraryIcons/Tag.vue
@@ -0,0 +1,14 @@
+
+
+
+
+
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataLibraryIcons/Translate.vue b/src/BIMDataComponents/BIMDataIcon/BIMDataLibraryIcons/Translate.vue
new file mode 100644
index 00000000..415ea966
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataIcon/BIMDataLibraryIcons/Translate.vue
@@ -0,0 +1,22 @@
+
+
+
+
+
+
+
+
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataLibraryIcons/Upload.vue b/src/BIMDataComponents/BIMDataIcon/BIMDataLibraryIcons/Upload.vue
new file mode 100644
index 00000000..ea842c90
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataIcon/BIMDataLibraryIcons/Upload.vue
@@ -0,0 +1,28 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataLibraryIcons/Versioning.vue b/src/BIMDataComponents/BIMDataIcon/BIMDataLibraryIcons/Versioning.vue
new file mode 100644
index 00000000..f0619e86
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataIcon/BIMDataLibraryIcons/Versioning.vue
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataLibraryIcons/Video.vue b/src/BIMDataComponents/BIMDataIcon/BIMDataLibraryIcons/Video.vue
deleted file mode 100644
index b44b94e1..00000000
--- a/src/BIMDataComponents/BIMDataIcon/BIMDataLibraryIcons/Video.vue
+++ /dev/null
@@ -1,3 +0,0 @@
-
-
-
\ No newline at end of file
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataLibraryIcons/Videocam.vue b/src/BIMDataComponents/BIMDataIcon/BIMDataLibraryIcons/Videocam.vue
new file mode 100644
index 00000000..24be6932
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataIcon/BIMDataLibraryIcons/Videocam.vue
@@ -0,0 +1,7 @@
+
+
+
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataLibraryIcons/Visa.vue b/src/BIMDataComponents/BIMDataIcon/BIMDataLibraryIcons/Visa.vue
index c3490884..75dc2956 100644
--- a/src/BIMDataComponents/BIMDataIcon/BIMDataLibraryIcons/Visa.vue
+++ b/src/BIMDataComponents/BIMDataIcon/BIMDataLibraryIcons/Visa.vue
@@ -1,6 +1,12 @@
-
-
-
+
+
+
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataLibraryIcons/index.js b/src/BIMDataComponents/BIMDataIcon/BIMDataLibraryIcons/index.js
index 5613bce7..f5919712 100644
--- a/src/BIMDataComponents/BIMDataIcon/BIMDataLibraryIcons/index.js
+++ b/src/BIMDataComponents/BIMDataIcon/BIMDataLibraryIcons/index.js
@@ -1,10 +1,13 @@
import addFile from "./AddFile.vue";
import addFolder from "./AddFolder.vue";
import addUser from "./AddUser.vue";
+import alphabeticalAscending from "./AlphabeticalAscending.vue";
+import alphabeticalDescending from "./AlphabeticalDescending.vue";
import alphabeticalSort from "./AlphabeticalSort.vue";
import alt from "./Alt.vue";
import angle from "./Angle.vue";
import api from "./Api.vue";
+import app from "./App.vue";
import archive from "./Archive.vue";
import arrow from "./Arrow.vue";
import attach from "./Attach.vue";
@@ -17,14 +20,15 @@ import camera from "./Camera.vue";
import cancelCamera from "./CancelCamera.vue";
import check from "./Check.vue";
import chevron from "./Chevron.vue";
-import classificationCategorie from "./ClassificationCategorie.vue";
+import classificationCategory from "./ClassificationCategory.vue";
import classificationElement from "./ClassificationElement.vue";
import click from "./Click.vue";
import close from "./Close.vue";
import cloud from "./Cloud.vue";
import color from "./Color.vue";
import comment from "./Comment.vue";
-import cursor from "./Cursor.vue";
+import dateAscending from "./DateAscending.vue";
+import dateDescending from "./DateDescending.vue";
import Default from "./Default.vue";
import Delete from "./Delete.vue";
import deniedFile from "./DeniedFile.vue";
@@ -41,43 +45,56 @@ import expanded from "./Expanded.vue";
import explosion from "./Explosion.vue";
import Export from "./Export.vue";
import exportIfc from "./ExportIfc.vue";
+import exportXlsx from "./ExportXlsx.vue";
import failed from "./Failed.vue";
-import filter from "./Filter.vue";
+import filterList from "./FilterList.vue";
import fitView from "./FitView.vue";
import folder from "./Folder.vue";
import folderMove from "./FolderMove.vue";
import folderOpen from "./FolderOpen.vue";
import fullscreen from "./Fullscreen.vue";
+import grid from "./Grid.vue";
import group from "./Group.vue";
import hide from "./Hide.vue";
+import home from "./Home.vue";
import ifc from "./Ifc.vue";
import ifcFile from "./IfcFile.vue";
import Import from "./Import.vue";
+import indexAscending from "./IndexAscending.vue";
+import indexDescending from "./IndexDescending.vue";
import information from "./Information.vue";
import inProgressFile from "./InProgressFile.vue";
+import invitation from "./Invitation.vue";
import isolate from "./Isolate.vue";
import key from "./Key.vue";
import left from "./Left.vue";
import linkedDocument from "./LinkedDocument.vue";
+import list from "./List.vue";
import listManage from "./ListManage.vue";
import location from "./Location.vue";
import lock from "./Lock.vue";
import logout from "./Logout.vue";
import measure from "./Measure.vue";
import minus from "./Minus.vue";
-import model3d from "./Model3d.vue";
+import model3d from "./Model3D.vue";
+import navigation from "./Navigation.vue";
import organization from "./Organization.vue";
import parameters from "./Parameters.vue";
-import path from "./Path.vue";
+import pathway from "./Pathway.vue";
+import pieGraph from "./PieGraph.vue";
+import pipette from "./Pipette.vue";
import plus from "./Plus.vue";
+import preview from "./Preview.vue";
import project from "./Project.vue";
import quickSelect from "./QuickSelect.vue";
import readonlyFolder from "./ReadonlyFolder.vue";
import redo from "./Redo.vue";
import reduced from "./Reduced.vue";
import refresh from "./Refresh.vue";
+import removeModel from "./RemoveModel.vue";
import reprocessIfc from "./ReprocessIfc.vue";
import reset from "./Reset.vue";
+import restore from "./Restore.vue";
import right from "./Right.vue";
import rules from "./Rules.vue";
import sandglass from "./Sandglass.vue";
@@ -86,12 +103,15 @@ import screenConfig from "./ScreenConfig.vue";
import screenshot from "./Screenshot.vue";
import search from "./Search.vue";
import section from "./Section.vue";
+import setAsModel from "./SetAsModel.vue";
import settings from "./Settings.vue";
import share from "./Share.vue";
import show from "./Show.vue";
import showSelected from "./ShowSelected.vue";
+import smartview from "./Smartview.vue";
import socotec from "./Socotec.vue";
import space from "./Space.vue";
+import spacing from "./Spacing.vue";
import split from "./Split.vue";
import storey from "./Storey.vue";
import success from "./Success.vue";
@@ -99,15 +119,19 @@ import surface from "./Surface.vue";
import swap from "./Swap.vue";
import synchro2d from "./Synchro2D.vue";
import system from "./System.vue";
+import tag from "./Tag.vue";
+import translate from "./Translate.vue";
import tree from "./Tree.vue";
import unarchive from "./Unarchive.vue";
import undo from "./Undo.vue";
import union from "./Union.vue";
import up from "./Up.vue";
+import upload from "./Upload.vue";
import user from "./User.vue";
import validate from "./Validate.vue";
import validatedFile from "./ValidatedFile.vue";
-import video from "./Video.vue";
+import versioning from "./Versioning.vue";
+import videocam from "./Videocam.vue";
import visa from "./Visa.vue";
import warning from "./Warning.vue";
import windowBottom from "./WindowBottom.vue";
@@ -117,14 +141,35 @@ import windowRight from "./WindowRight.vue";
import windowTop from "./WindowTop.vue";
import zone from "./Zone.vue";
+// Polychrome icons
+import bcfPolychrome from "./polychrome/BcfPolychrome.vue";
+import createWindowPolychrome from "./polychrome/CreateWindowPolychrome.vue";
+import docInfoPolychrome from "./polychrome/DocInfoPolychrome.vue";
+import fileDwgPolychrome from "./polychrome/FileDwgPolychrome.vue";
+import fileDxfPolychrome from "./polychrome/FileDxfPolychrome.vue";
+import fileIfcPolychrome from "./polychrome/FileIfcPolychrome.vue";
+import fileImagePolychrome from "./polychrome/FileImagePolychrome.vue";
+import fileJpegPolychrome from "./polychrome/FileJpegPolychrome.vue";
+import filePdfPolychrome from "./polychrome/FilePdfPolychrome.vue";
+import filePngPolychrome from "./polychrome/FilePngPolychrome.vue";
+import filePointCloudPolychrome from "./polychrome/FilePointCloudPolychrome.vue";
+import filePlanPolychrome from "./polychrome/FilePlanPolychrome.vue";
+import folderPolychrome from "./polychrome/FolderPolychrome.vue";
+import structurePolychrome from "./polychrome/StructurePolychrome.vue";
+import viewer2dPolychrome from "./polychrome/Viewer2DPolychrome.vue";
+import viewer3dPolychrome from "./polychrome/Viewer3DPolychrome.vue";
+
export default {
addFile,
addFolder,
addUser,
+ alphabeticalAscending,
+ alphabeticalDescending,
alphabeticalSort,
alt,
angle,
api,
+ app,
archive,
arrow,
attach,
@@ -137,14 +182,16 @@ export default {
cancelCamera,
check,
chevron,
- classificationCategorie,
+ classificationCategory,
classificationElement,
click,
close,
cloud,
color,
comment,
- cursor,
+ navigation,
+ dateAscending,
+ dateDescending,
default: Default,
delete: Delete,
deniedFile,
@@ -161,24 +208,31 @@ export default {
explosion,
export: Export,
exportIfc,
+ exportXlsx,
failed,
- filter,
+ filterList,
fitView,
folder,
folderMove,
folderOpen,
fullscreen,
+ grid,
group,
hide,
+ home,
ifc,
ifcFile,
import: Import,
+ indexAscending,
+ indexDescending,
information,
inProgressFile,
+ invitation,
isolate,
key,
left,
linkedDocument,
+ list,
listManage,
location,
lock,
@@ -188,16 +242,21 @@ export default {
model3d,
organization,
parameters,
- path,
+ pathway,
+ pieGraph,
+ pipette,
plus,
+ preview,
project,
quickSelect,
readonlyFolder,
redo,
reduced,
refresh,
+ removeModel,
reprocessIfc,
reset,
+ restore,
right,
rules,
sandglass,
@@ -206,12 +265,15 @@ export default {
screenshot,
search,
section,
+ setAsModel,
settings,
share,
show,
showSelected,
+ smartview,
socotec,
space,
+ spacing,
split,
storey,
success,
@@ -219,15 +281,19 @@ export default {
swap,
synchro2d,
system,
+ tag,
+ translate,
tree,
unarchive,
undo,
union,
up,
+ upload,
user,
validate,
validatedFile,
- video,
+ versioning,
+ videocam,
visa,
warning,
windowBottom,
@@ -236,4 +302,21 @@ export default {
windowRight,
windowTop,
zone,
+ // Polychrome icons
+ bcfPolychrome,
+ createWindowPolychrome,
+ docInfoPolychrome,
+ fileDwgPolychrome,
+ fileDxfPolychrome,
+ fileIfcPolychrome,
+ fileImagePolychrome,
+ fileJpegPolychrome,
+ filePdfPolychrome,
+ filePngPolychrome,
+ filePointCloudPolychrome,
+ filePlanPolychrome,
+ folderPolychrome,
+ structurePolychrome,
+ viewer2dPolychrome,
+ viewer3dPolychrome,
};
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataLibraryIcons/polychrome/BcfPolychrome.vue b/src/BIMDataComponents/BIMDataIcon/BIMDataLibraryIcons/polychrome/BcfPolychrome.vue
new file mode 100644
index 00000000..9f92382f
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataIcon/BIMDataLibraryIcons/polychrome/BcfPolychrome.vue
@@ -0,0 +1,14 @@
+
+
+
+
+
+
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataLibraryIcons/polychrome/CreateWindowPolychrome.vue b/src/BIMDataComponents/BIMDataIcon/BIMDataLibraryIcons/polychrome/CreateWindowPolychrome.vue
new file mode 100644
index 00000000..f59b0f69
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataIcon/BIMDataLibraryIcons/polychrome/CreateWindowPolychrome.vue
@@ -0,0 +1,25 @@
+
+
+
+
+
+
+
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataLibraryIcons/polychrome/DocInfoPolychrome.vue b/src/BIMDataComponents/BIMDataIcon/BIMDataLibraryIcons/polychrome/DocInfoPolychrome.vue
new file mode 100644
index 00000000..c5e9d548
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataIcon/BIMDataLibraryIcons/polychrome/DocInfoPolychrome.vue
@@ -0,0 +1,41 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataLibraryIcons/polychrome/FileDwgPolychrome.vue b/src/BIMDataComponents/BIMDataIcon/BIMDataLibraryIcons/polychrome/FileDwgPolychrome.vue
new file mode 100644
index 00000000..7134b6ec
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataIcon/BIMDataLibraryIcons/polychrome/FileDwgPolychrome.vue
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataLibraryIcons/polychrome/FileDxfPolychrome.vue b/src/BIMDataComponents/BIMDataIcon/BIMDataLibraryIcons/polychrome/FileDxfPolychrome.vue
new file mode 100644
index 00000000..80a8e563
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataIcon/BIMDataLibraryIcons/polychrome/FileDxfPolychrome.vue
@@ -0,0 +1,31 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataLibraryIcons/polychrome/FileIfcPolychrome.vue b/src/BIMDataComponents/BIMDataIcon/BIMDataLibraryIcons/polychrome/FileIfcPolychrome.vue
new file mode 100644
index 00000000..59928c67
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataIcon/BIMDataLibraryIcons/polychrome/FileIfcPolychrome.vue
@@ -0,0 +1,23 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataLibraryIcons/polychrome/FileImagePolychrome.vue b/src/BIMDataComponents/BIMDataIcon/BIMDataLibraryIcons/polychrome/FileImagePolychrome.vue
new file mode 100644
index 00000000..c64611a6
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataIcon/BIMDataLibraryIcons/polychrome/FileImagePolychrome.vue
@@ -0,0 +1,23 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataLibraryIcons/polychrome/FileJpegPolychrome.vue b/src/BIMDataComponents/BIMDataIcon/BIMDataLibraryIcons/polychrome/FileJpegPolychrome.vue
new file mode 100644
index 00000000..8d23e18f
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataIcon/BIMDataLibraryIcons/polychrome/FileJpegPolychrome.vue
@@ -0,0 +1,30 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataLibraryIcons/polychrome/FilePdfPolychrome.vue b/src/BIMDataComponents/BIMDataIcon/BIMDataLibraryIcons/polychrome/FilePdfPolychrome.vue
new file mode 100644
index 00000000..b726cfda
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataIcon/BIMDataLibraryIcons/polychrome/FilePdfPolychrome.vue
@@ -0,0 +1,15 @@
+
+
+
+
+
+
+
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataLibraryIcons/polychrome/FilePlanPolychrome.vue b/src/BIMDataComponents/BIMDataIcon/BIMDataLibraryIcons/polychrome/FilePlanPolychrome.vue
new file mode 100644
index 00000000..6f96aceb
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataIcon/BIMDataLibraryIcons/polychrome/FilePlanPolychrome.vue
@@ -0,0 +1,15 @@
+
+
+
+
+
+
+
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataLibraryIcons/polychrome/FilePngPolychrome.vue b/src/BIMDataComponents/BIMDataIcon/BIMDataLibraryIcons/polychrome/FilePngPolychrome.vue
new file mode 100644
index 00000000..ef6ed655
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataIcon/BIMDataLibraryIcons/polychrome/FilePngPolychrome.vue
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataLibraryIcons/polychrome/FilePointCloudPolychrome.vue b/src/BIMDataComponents/BIMDataIcon/BIMDataLibraryIcons/polychrome/FilePointCloudPolychrome.vue
new file mode 100644
index 00000000..ed2946a9
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataIcon/BIMDataLibraryIcons/polychrome/FilePointCloudPolychrome.vue
@@ -0,0 +1,25 @@
+
+
+
+
+
+
+
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataLibraryIcons/polychrome/FolderPolychrome.vue b/src/BIMDataComponents/BIMDataIcon/BIMDataLibraryIcons/polychrome/FolderPolychrome.vue
new file mode 100644
index 00000000..3670578a
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataIcon/BIMDataLibraryIcons/polychrome/FolderPolychrome.vue
@@ -0,0 +1,14 @@
+
+
+
+
+
+
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataLibraryIcons/polychrome/StructurePolychrome.vue b/src/BIMDataComponents/BIMDataIcon/BIMDataLibraryIcons/polychrome/StructurePolychrome.vue
new file mode 100644
index 00000000..2f18d0a4
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataIcon/BIMDataLibraryIcons/polychrome/StructurePolychrome.vue
@@ -0,0 +1,18 @@
+
+
+
+
+
+
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataLibraryIcons/polychrome/Viewer2DPolychrome.vue b/src/BIMDataComponents/BIMDataIcon/BIMDataLibraryIcons/polychrome/Viewer2DPolychrome.vue
new file mode 100644
index 00000000..07b7853c
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataIcon/BIMDataLibraryIcons/polychrome/Viewer2DPolychrome.vue
@@ -0,0 +1,17 @@
+
+
+
+
+
+
diff --git a/src/BIMDataComponents/BIMDataIcon/BIMDataLibraryIcons/polychrome/Viewer3DPolychrome.vue b/src/BIMDataComponents/BIMDataIcon/BIMDataLibraryIcons/polychrome/Viewer3DPolychrome.vue
new file mode 100644
index 00000000..2762a64f
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataIcon/BIMDataLibraryIcons/polychrome/Viewer3DPolychrome.vue
@@ -0,0 +1,16 @@
+
+
+
+
+
+
+
diff --git a/src/BIMDataComponents/BIMDataIcon/Icon.vue b/src/BIMDataComponents/BIMDataIcon/Icon.vue
new file mode 100644
index 00000000..044c4f3a
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataIcon/Icon.vue
@@ -0,0 +1,103 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/BIMDataComponents/BIMDataIcon/_BIMDataIcon.scss b/src/BIMDataComponents/BIMDataIcon/_BIMDataIcon.scss
index 7eaa5a5d..ae759b88 100644
--- a/src/BIMDataComponents/BIMDataIcon/_BIMDataIcon.scss
+++ b/src/BIMDataComponents/BIMDataIcon/_BIMDataIcon.scss
@@ -12,6 +12,9 @@
&--high {
fill: var(--color-high);
}
+ &--neutral {
+ fill: var(--color-neutral);
+ }
&--primary {
fill: var(--color-primary);
}
@@ -33,6 +36,9 @@
&--silver-light {
fill: var(--color-silver-light);
}
+ &--silver-dark {
+ fill: var(--color-silver-dark);
+ }
&--warning {
fill: var(--color-warning);
}
@@ -78,6 +84,9 @@
&--silver-light {
stroke: var(--color-silver-light);
}
+ &--silver-dark {
+ stroke: var(--color-silver-dark);
+ }
&--warning {
stroke: var(--color-warning);
}
diff --git a/src/BIMDataComponents/BIMDataIllustration/BIMDataIllustration.vue b/src/BIMDataComponents/BIMDataIllustration/BIMDataIllustration.vue
index 1eb8663a..be00cff5 100644
--- a/src/BIMDataComponents/BIMDataIllustration/BIMDataIllustration.vue
+++ b/src/BIMDataComponents/BIMDataIllustration/BIMDataIllustration.vue
@@ -73,9 +73,3 @@ function formatIconComponentsNames(illustrations = {}) {
return illustrationsCopy;
}
-
-
diff --git a/src/BIMDataComponents/BIMDataIllustration/BIMDataLibraryIllustrations/EmptyPdf.vue b/src/BIMDataComponents/BIMDataIllustration/BIMDataLibraryIllustrations/EmptyPdf.vue
new file mode 100644
index 00000000..c55cd85e
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataIllustration/BIMDataLibraryIllustrations/EmptyPdf.vue
@@ -0,0 +1,48 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/BIMDataComponents/BIMDataIllustration/BIMDataLibraryIllustrations/ShortcutMove2D.vue b/src/BIMDataComponents/BIMDataIllustration/BIMDataLibraryIllustrations/ShortcutMove2D.vue
new file mode 100644
index 00000000..1ccf3afa
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataIllustration/BIMDataLibraryIllustrations/ShortcutMove2D.vue
@@ -0,0 +1,110 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/BIMDataComponents/BIMDataIllustration/BIMDataLibraryIllustrations/ShortcutOpen2D.vue b/src/BIMDataComponents/BIMDataIllustration/BIMDataLibraryIllustrations/ShortcutOpen2D.vue
new file mode 100644
index 00000000..5a952d64
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataIllustration/BIMDataLibraryIllustrations/ShortcutOpen2D.vue
@@ -0,0 +1,107 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/BIMDataComponents/BIMDataIllustration/BIMDataLibraryIllustrations/ShortcutRotate2D.vue b/src/BIMDataComponents/BIMDataIllustration/BIMDataLibraryIllustrations/ShortcutRotate2D.vue
new file mode 100644
index 00000000..47c03495
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataIllustration/BIMDataLibraryIllustrations/ShortcutRotate2D.vue
@@ -0,0 +1,88 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/BIMDataComponents/BIMDataIllustration/BIMDataLibraryIllustrations/ShortcutZoom2D.vue b/src/BIMDataComponents/BIMDataIllustration/BIMDataLibraryIllustrations/ShortcutZoom2D.vue
new file mode 100644
index 00000000..d939a35b
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataIllustration/BIMDataLibraryIllustrations/ShortcutZoom2D.vue
@@ -0,0 +1,65 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/BIMDataComponents/BIMDataIllustration/BIMDataLibraryIllustrations/SuccessSplit.vue b/src/BIMDataComponents/BIMDataIllustration/BIMDataLibraryIllustrations/SuccessSplit.vue
index 3f8b07f8..b141fd9f 100644
--- a/src/BIMDataComponents/BIMDataIllustration/BIMDataLibraryIllustrations/SuccessSplit.vue
+++ b/src/BIMDataComponents/BIMDataIllustration/BIMDataLibraryIllustrations/SuccessSplit.vue
@@ -85,7 +85,7 @@
id="image0"
width="397"
height="331"
- xlink:href="data:image/png;base64,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PbUpt6X7kbFSBs8hl++/Tyn32GOPlXKU16e4f/j612e+9JExcT9Tz0thUsMnzaRzPaZOm5puueWW9POf/zy9/f94R7lOjI102jv11D/rv+dfqs1HI0dg0qZNm/I2ZBQKJn+JwMyZMwfV+osvbssP4aCMmxjhVnMz9U2Q9Ub54ejoTItOGrhXXF/CqSZgAiZgAsNFoEE0qFRioXg0RYP2+c671R4lglLdChguGK7HBEzABEygNYGGF+EIxe4OfJ3hYAImYAImMDYJNLwI9wvwsXmR3CsTMAETGCsEGkQjehoWkLFyidwPEzABExg7BBpEA6GQcOzql1BjZ4juiQmYgAmYwHARKKJR9Syq58PVoOsxARMwARMYvwSKaOBh8LNYjN+L6Z6bgAmYwEgTKKJRbUjbVNV0n5uACZiACbQvgSIa0cPgOJ63Lx6P3ARMwARMIBIoohG3puxlREQ+NgETMAETEIEiGiQgFlE87G0Ik2MTMAETMAEINIiGtqXkaSg2KhMwARMwAROAQINoGIkJmIAJmIAJtCJQRENbUXF7qlVB55mACZiACbQfgSIa2opCPHTcfjg8YhMwARMwgVYEimhEI3kdMc3HJmACJmACJlD+aXSEQv/e1M54GnvsMSn/T1tGagImYAImMHEJFNHQu4ydEQzwIDr8t6MOJmACJmACE5eAt6cm7rX1yEzABExg2Ak0iIa8DMXD3porNAETMAETGNcEimj0bS95f2lcX0133gRMwARGmEARDbwLexgjTNvVm4AJmMA4J1BEo+ppWEDG+ZV1903ABExgBAgU0ZBIKB6BtlylCZiACZjAOCdQRANPA8EgJige5+Nz903ABEzABIaRQBENeRjVeBjbclUmYAImYALjnEARjXE+DnffBEzABExgFAiUvxEet6PkbYxC+27CBEzABExgHBEonkYUCgQkisg4Go+7agImYAImMIIEimioDcQjCojSHZuACZiACZhA2Z4CBWKBh7E7ReOJJ55IPT09La/MgQce2DLfmSZgAiZgAiNDoEE0drdgLFu2LAvGtKlTm472mc2b04YnnkhHv/3tTW2cYQImYAImMDIEGkRDTewu8cDLuPDCC9WN2hgv5Mtf+tKEEo2HHnooTZs2Lf80aMa5+oEH0uFHHKGk9MADDxQvrLOzM82cOTNRNgbS+ClQBs8M+3YPkR8s4ATn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"
+ xlink:href="data:image/png;base64,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"
/>
diff --git a/src/BIMDataComponents/BIMDataIllustration/BIMDataLibraryIllustrations/index.js b/src/BIMDataComponents/BIMDataIllustration/BIMDataLibraryIllustrations/index.js
index 6333eaae..94f02d9a 100644
--- a/src/BIMDataComponents/BIMDataIllustration/BIMDataLibraryIllustrations/index.js
+++ b/src/BIMDataComponents/BIMDataIllustration/BIMDataLibraryIllustrations/index.js
@@ -7,9 +7,14 @@ import emptySectionPlanes from "./EmptySectionPlanes.vue";
import emptyTree from "./EmptyTree.vue";
import emptyViewer from "./EmptyViewer.vue";
import logo from "./Logo.vue";
+import emptyPdf from "./EmptyPdf.vue";
import shortcutOpen from "./ShortcutOpen.vue";
import shortcutRotate from "./ShortcutRotate.vue";
import shortcutZoom from "./ShortcutZoom.vue";
+import shortcutMove2D from "./ShortcutMove2D.vue";
+import shortcutOpen2D from "./ShortcutOpen2D.vue";
+import shortcutRotate2D from "./ShortcutRotate2D.vue";
+import shortcutZoom2D from "./ShortcutZoom2D.vue";
import successSplit from "./SuccessSplit.vue";
export default {
@@ -22,8 +27,13 @@ export default {
emptyTree,
emptyViewer,
logo,
+ emptyPdf,
shortcutOpen,
shortcutRotate,
shortcutZoom,
+ shortcutMove2D,
+ shortcutOpen2D,
+ shortcutRotate2D,
+ shortcutZoom2D,
successSplit,
};
diff --git a/src/BIMDataComponents/BIMDataInput/BIMDataInput.vue b/src/BIMDataComponents/BIMDataInput/BIMDataInput.vue
index 080f1ea8..04822185 100644
--- a/src/BIMDataComponents/BIMDataInput/BIMDataInput.vue
+++ b/src/BIMDataComponents/BIMDataInput/BIMDataInput.vue
@@ -1,7 +1,13 @@
-
-
-
+
diff --git a/src/BIMDataComponents/BIMDataInput/_BIMDataInput.scss b/src/BIMDataComponents/BIMDataInput/_BIMDataInput.scss
index 820d1174..d4bdec62 100644
--- a/src/BIMDataComponents/BIMDataInput/_BIMDataInput.scss
+++ b/src/BIMDataComponents/BIMDataInput/_BIMDataInput.scss
@@ -1,8 +1,6 @@
-// import BIMDATA MIXINS
@import "../../assets/scss/mixins/_font-size.scss";
-@import "../../assets/scss/mixins/_pseudo.scss";
-// import COMPONENT STYLE
@import "./_keyframes.scss";
+
input:-webkit-autofill {
box-shadow: 0 0 0px 1000px var(--color-white) inset;
}
@@ -11,6 +9,8 @@ input:-webkit-autofill {
min-height: 32px;
position: relative;
font-family: var(--primary-font);
+ color: var(--color-primary);
+ font-size: calculateEm(15px);
&.not-empty {
label {
top: -22px;
@@ -26,6 +26,7 @@ input:-webkit-autofill {
display: flex;
cursor: pointer;
background-color: transparent;
+ color: var(--color-primary);
font-size: calculateEm(14px);
&:focus {
outline: none;
@@ -66,7 +67,9 @@ input:-webkit-autofill {
&::before {
width: 0;
height: 2px;
- @include pseudo;
+ content: '';
+ display: block;
+ position: absolute;
background-color: var(--color-primary);
transform: scaleX(0);
}
diff --git a/src/BIMDataComponents/BIMDataInput/__tests__/BIMDataInput.test.js b/src/BIMDataComponents/BIMDataInput/__tests__/BIMDataInput.test.js
deleted file mode 100644
index 8371c8d3..00000000
--- a/src/BIMDataComponents/BIMDataInput/__tests__/BIMDataInput.test.js
+++ /dev/null
@@ -1,92 +0,0 @@
-import { shallowMount } from "@vue/test-utils";
-import BIMDataInput from "../BIMDataInput.vue";
-
-describe("BIMDataInput", () => {
- it("should render component and match snapshot", () => {
- const wrapper = shallowMount(BIMDataInput);
- expect(wrapper.html()).toMatchSnapshot();
- });
-
- it("should render component with placeholder and match snapshot", () => {
- const wrapper = shallowMount(BIMDataInput, {
- propsData: {
- placeholder: "input placeholder",
- },
- });
- expect(wrapper.html()).toMatchSnapshot();
- });
-
- it("should render component with error message and match snapshot", () => {
- const wrapper = shallowMount(BIMDataInput, {
- propsData: {
- error: true,
- errorMessage: "error message",
- },
- });
- expect(wrapper.html()).toMatchSnapshot();
- });
-
- it("should render component with success message and match snapshot", () => {
- const wrapper = shallowMount(BIMDataInput, {
- propsData: {
- success: true,
- successMessage: "success message",
- },
- });
- expect(wrapper.html()).toMatchSnapshot();
- });
-
- it("should render loading component and match snapshot", () => {
- const wrapper = shallowMount(BIMDataInput, {
- propsData: {
- loading: true,
- },
- });
- expect(wrapper.html()).toMatchSnapshot();
- });
-
- it("should render disabled component and match snapshot", () => {
- const wrapper = shallowMount(BIMDataInput, {
- propsData: {
- disabled: true,
- },
- });
- expect(wrapper.html()).toMatchSnapshot();
- });
-
- it("should render component with 'not empty' class and match snapshot", () => {
- const wrapper = shallowMount(BIMDataInput, {
- propsData: {
- modelValue: "text message",
- },
- });
- expect(wrapper.classes("not-empty")).toBe(true);
- expect(wrapper.html()).toMatchSnapshot();
- });
-
- it("should work with v-model binding", async () => {
- const onInput = jest.fn();
- const wrapper = shallowMount(BIMDataInput, {
- listeners: {
- "update:modelValue": onInput,
- },
- });
- expect(wrapper.find("input").element.value).toBe("");
-
- wrapper.find("input").setValue("x");
- expect(onInput).toHaveBeenCalledWith("x");
-
- wrapper.setProps({ modelValue: "message" });
- await wrapper.vm.$nextTick();
- expect(wrapper.find("input").element.value).toBe("message");
- });
-
- it("should render a button with a slot and match snapshot", () => {
- const wrapper = shallowMount(BIMDataInput, {
- slots: {
- inputIcon: "test icon slot",
- },
- });
- expect(wrapper.html()).toMatchSnapshot();
- });
-});
diff --git a/src/BIMDataComponents/BIMDataInput/__tests__/__snapshots__/BIMDataInput.test.js.snap b/src/BIMDataComponents/BIMDataInput/__tests__/__snapshots__/BIMDataInput.test.js.snap
deleted file mode 100644
index b748f611..00000000
--- a/src/BIMDataComponents/BIMDataInput/__tests__/__snapshots__/BIMDataInput.test.js.snap
+++ /dev/null
@@ -1,63 +0,0 @@
-// Jest Snapshot v1, https://goo.gl/fbAQLP
-
-exports[`BIMDataInput should render a button with a slot and match snapshot 1`] = `
-"
"
-`;
-
-exports[`BIMDataInput should render component and match snapshot 1`] = `
-"
"
-`;
-
-exports[`BIMDataInput should render component with 'not empty' class and match snapshot 1`] = `
-"
"
-`;
-
-exports[`BIMDataInput should render component with error message and match snapshot 1`] = `
-"
"
-`;
-
-exports[`BIMDataInput should render component with placeholder and match snapshot 1`] = `
-"
"
-`;
-
-exports[`BIMDataInput should render component with success message and match snapshot 1`] = `
-"
"
-`;
-
-exports[`BIMDataInput should render disabled component and match snapshot 1`] = `
-"
"
-`;
-
-exports[`BIMDataInput should render loading component and match snapshot 1`] = `
-"
"
-`;
diff --git a/src/BIMDataComponents/BIMDataLoading/BIMDataLoading.vue b/src/BIMDataComponents/BIMDataLoading/BIMDataLoading.vue
index 5eb3084a..9570d1aa 100644
--- a/src/BIMDataComponents/BIMDataLoading/BIMDataLoading.vue
+++ b/src/BIMDataComponents/BIMDataLoading/BIMDataLoading.vue
@@ -27,10 +27,4 @@ export default {
};
-
-
-
+
diff --git a/src/BIMDataComponents/BIMDataLoading/_BIMDataLoading.scss b/src/BIMDataComponents/BIMDataLoading/_BIMDataLoading.scss
index 3a88150f..e1f1d5ca 100644
--- a/src/BIMDataComponents/BIMDataLoading/_BIMDataLoading.scss
+++ b/src/BIMDataComponents/BIMDataLoading/_BIMDataLoading.scss
@@ -1,4 +1,5 @@
@import "./_keyframes.scss";
+
.bimdata-loading {
width: 100%;
height: 100%;
diff --git a/src/BIMDataComponents/BIMDataMenu/BIMDataMenu.vue b/src/BIMDataComponents/BIMDataMenu/BIMDataMenu.vue
new file mode 100644
index 00000000..a5fe634c
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataMenu/BIMDataMenu.vue
@@ -0,0 +1,151 @@
+
+
+
+
+
+
+
diff --git a/src/BIMDataComponents/BIMDataMenu/_BIMDataMenu.scss b/src/BIMDataComponents/BIMDataMenu/_BIMDataMenu.scss
new file mode 100644
index 00000000..a341d1a4
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataMenu/_BIMDataMenu.scss
@@ -0,0 +1,72 @@
+.bimdata-menu {
+ padding: var(--spacing-unit) 0;
+ background-color: var(--color-white);
+ box-shadow: var(--box-shadow);
+ &__item {
+ display: flex;
+ flex-direction: column;
+ align-items: flex-start;
+ justify-content: center;
+ font-size: 12px;
+ &:not(:empty) {
+ .bimdata-menu__item__content {
+ padding: 0 var(--spacing-unit);
+ height: 29px;
+ width: 100%;
+ position: relative;
+ display: flex;
+ align-items: center;
+ cursor: pointer;
+ & > span {
+ width: 100%;
+ }
+ &:hover {
+ background-color: var(--color-silver-light);
+ }
+ &--active {
+ background-color: #f0f5ff;
+ }
+ }
+ }
+ &__title {
+ padding: 0 var(--spacing-unit);
+ height: 25px;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ color: var(--color-granite);
+ font-size: 11px;
+ }
+ &__divider {
+ .divider {
+ margin: calc(var(--spacing-unit) / 2) auto;
+ width: 90%;
+ border-bottom: 1px solid #f2f2f2;
+ }
+ }
+ &__title,
+ &__divider {
+ &:hover {
+ cursor: default;
+ background-color: transparent;
+ }
+ }
+ &__children {
+ position: absolute;
+ z-index: 1;
+ top: 0;
+ padding: calc(var(--spacing-unit) / 2) 0;
+ background-color: var(--color-white);
+ border: 1px solid transparent;
+ box-shadow: var(--box-shadow);
+ ul {
+ li {
+ height: 29px;
+ &:hover {
+ background-color: var(--color-silver-light);
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/src/BIMDataComponents/BIMDataMenuInline/BIMDataMenuInline.vue b/src/BIMDataComponents/BIMDataMenuInline/BIMDataMenuInline.vue
new file mode 100644
index 00000000..622cf631
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataMenuInline/BIMDataMenuInline.vue
@@ -0,0 +1,110 @@
+
+
+
+
+
+
+
diff --git a/src/BIMDataComponents/BIMDataMenuInline/_BIMDataMenuInline.scss b/src/BIMDataComponents/BIMDataMenuInline/_BIMDataMenuInline.scss
new file mode 100644
index 00000000..9c92888e
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataMenuInline/_BIMDataMenuInline.scss
@@ -0,0 +1,11 @@
+.bimdata-menu-inline {
+ position: relative;
+ &__submenu {
+ padding: 0 calc(var(--spacing-unit) / 2);
+ position: absolute;
+ top: 0;
+ background-color: var(--color-white);
+ border-radius: 5px;
+ gap: calc(var(--spacing-unit) / 2);
+ }
+}
diff --git a/src/BIMDataComponents/BIMDataMultiplePieChart/BIMDataMultiplePieChart.vue b/src/BIMDataComponents/BIMDataMultiplePieChart/BIMDataMultiplePieChart.vue
new file mode 100644
index 00000000..417a8dfc
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataMultiplePieChart/BIMDataMultiplePieChart.vue
@@ -0,0 +1,126 @@
+
+
+
+
+
+
+
diff --git a/src/BIMDataComponents/BIMDataMultiplePieChart/_BIMDataMultiplePieChart.scss b/src/BIMDataComponents/BIMDataMultiplePieChart/_BIMDataMultiplePieChart.scss
new file mode 100644
index 00000000..30067683
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataMultiplePieChart/_BIMDataMultiplePieChart.scss
@@ -0,0 +1,16 @@
+.bimdata-multiple-pie-chart {
+ position: relative;
+ padding: 0;
+
+ .path {
+ stroke-dasharray: 1000;
+ stroke-dashoffset: 1000;
+ animation: dash var(--graph-draw-time, 2s) ease-in forwards;
+ }
+
+ @keyframes dash {
+ to {
+ stroke-dashoffset: 0;
+ }
+ }
+}
diff --git a/src/BIMDataComponents/BIMDataNavigation/BIMDataNavigation.vue b/src/BIMDataComponents/BIMDataNavigation/BIMDataNavigation.vue
index 3c550ea9..ed9f00ad 100644
--- a/src/BIMDataComponents/BIMDataNavigation/BIMDataNavigation.vue
+++ b/src/BIMDataComponents/BIMDataNavigation/BIMDataNavigation.vue
@@ -68,7 +68,6 @@ import {
BIMDataIconChevron,
BIMDataIconDoubleChevron,
} from "../BIMDataIcon/BIMDataIconStandalone/index.js";
-
import BIMDataButton from "../../BIMDataComponents/BIMDataButton/BIMDataButton.vue";
export default {
@@ -119,9 +118,4 @@ export default {
};
-
-
diff --git a/src/BIMDataComponents/BIMDataNavigation/__tests__/BIMDataNavigation.test.js b/src/BIMDataComponents/BIMDataNavigation/__tests__/BIMDataNavigation.test.js
deleted file mode 100644
index d669e0e5..00000000
--- a/src/BIMDataComponents/BIMDataNavigation/__tests__/BIMDataNavigation.test.js
+++ /dev/null
@@ -1,92 +0,0 @@
-import { shallowMount } from "@vue/test-utils";
-import BIMDataNavigation from "../BIMDataNavigation.vue";
-import BIMDataButton from "../../BIMDataButton/BIMDataButton.vue";
-import BIMDataIcon from "../../BIMDataIcon/BIMDataIcon.vue";
-
-describe("BIMDataNavigation", () => {
- it("should render component and match snapshot", () => {
- const wrapper = shallowMount(BIMDataNavigation);
- expect(wrapper.html()).toMatchSnapshot();
- });
-
- it("should render a navigation with a left slot and match snapshot", () => {
- const wrapper = shallowMount(BIMDataNavigation, {
- slots: {
- left: "
left slot ",
- },
- });
- expect(wrapper.html()).toMatchSnapshot();
- });
-
- it("should render a navigation with a right slot and match snapshot", () => {
- const wrapper = shallowMount(BIMDataNavigation, {
- slots: {
- right: "
right slot ",
- },
- });
- expect(wrapper.html()).toMatchSnapshot();
- });
-
- it("should render li tag", () => {
- const wrapper = shallowMount(BIMDataNavigation);
- expect(wrapper.find(".bimdata-navigation__item").element).toBeTruthy();
- });
-
- it("should not render BIMDataButton", () => {
- const wrapper = shallowMount(BIMDataNavigation, {
- propsData: {
- first: false,
- last: false,
- previous: false,
- next: false,
- },
- });
- expect(wrapper.findComponent(BIMDataButton).exists()).toBe(false);
- });
-
- it("should render BIMDataIcon", () => {
- const wrapper = shallowMount(BIMDataNavigation);
- expect(wrapper.findComponent(BIMDataIcon).exists()).toBe(true);
- });
-
- it("should render BIMDataButton disabled", () => {
- const wrapper = shallowMount(BIMDataNavigation, {
- propsData: {
- firstDisabled: true,
- previousDisabled: true,
- nextDisabled: true,
- lastDisabled: true,
- },
- });
- expect(wrapper.findComponent(BIMDataButton).classes("disabled")).toBe(true);
- expect(wrapper.html()).toMatchSnapshot();
- });
-
- it("should emit first event", async () => {
- const wrapper = shallowMount(BIMDataNavigation);
- wrapper.vm.$emit("first");
- await wrapper.vm.$nextTick();
- expect(wrapper.emitted("first")).toBeTruthy();
- });
-
- it("should emit previous event", async () => {
- const wrapper = shallowMount(BIMDataNavigation);
- wrapper.vm.$emit("previous");
- await wrapper.vm.$nextTick();
- expect(wrapper.emitted("previous")).toBeTruthy();
- });
-
- it("should emit next event", async () => {
- const wrapper = shallowMount(BIMDataNavigation);
- wrapper.vm.$emit("next");
- await wrapper.vm.$nextTick();
- expect(wrapper.emitted("next")).toBeTruthy();
- });
-
- it("should emit last event", async () => {
- const wrapper = shallowMount(BIMDataNavigation);
- wrapper.vm.$emit("last");
- await wrapper.vm.$nextTick();
- expect(wrapper.emitted("last")).toBeTruthy();
- });
-});
diff --git a/src/BIMDataComponents/BIMDataNavigation/__tests__/__snapshots__/BIMDataNavigation.test.js.snap b/src/BIMDataComponents/BIMDataNavigation/__tests__/__snapshots__/BIMDataNavigation.test.js.snap
deleted file mode 100644
index 02f4e2b6..00000000
--- a/src/BIMDataComponents/BIMDataNavigation/__tests__/__snapshots__/BIMDataNavigation.test.js.snap
+++ /dev/null
@@ -1,113 +0,0 @@
-// Jest Snapshot v1, https://goo.gl/fbAQLP
-
-exports[`BIMDataNavigation should render BIMDataButton disabled 1`] = `
-"
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- "
-`;
-
-exports[`BIMDataNavigation should render a navigation with a left slot and match snapshot 1`] = `
-"
- left slot
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- "
-`;
-
-exports[`BIMDataNavigation should render a navigation with a right slot and match snapshot 1`] = `
-"
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- right slot
- "
-`;
-
-exports[`BIMDataNavigation should render component and match snapshot 1`] = `
-"
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- "
-`;
diff --git a/src/BIMDataComponents/BIMDataPaginatedList/BIMDataPaginatedList.vue b/src/BIMDataComponents/BIMDataPaginatedList/BIMDataPaginatedList.vue
index 09e73556..fb2d91f9 100644
--- a/src/BIMDataComponents/BIMDataPaginatedList/BIMDataPaginatedList.vue
+++ b/src/BIMDataComponents/BIMDataPaginatedList/BIMDataPaginatedList.vue
@@ -8,6 +8,8 @@
v-for="element of page"
:key="elementKey ? element[elementKey] : element"
@click="$emit('element-click', element)"
+ ref="elements"
+ :class="{ 'active-element': isElementActive(element) }"
>
{{ element && element.toString() }}
@@ -56,6 +58,7 @@ export default {
},
elementKey: {
type: String,
+ default: "",
},
loading: {
type: Boolean,
@@ -77,6 +80,9 @@ export default {
type: String,
default: "var(--color-white)",
},
+ activeElement: {
+ type: [String, Number, Object],
+ },
},
emits: ["element-click"],
data() {
@@ -104,18 +110,50 @@ export default {
deep: true,
immediate: true,
},
+ activeElement: {
+ handler(value) {
+ if (value) {
+ this.showElement(value);
+ }
+ },
+ immediate: true,
+ },
},
methods: {
onPageChange(pageNumber) {
this.currentPage = pageNumber;
},
+ compareElements(elementA, elementB) {
+ if (this.elementKey) {
+ return elementA[this.elementKey] === elementB[this.elementKey];
+ } else {
+ return elementA === elementB;
+ }
+ },
+ isElementActive(element) {
+ if (!this.activeElement) return false;
+ return this.compareElements(element, this.activeElement);
+ },
+ async showElement(elem) {
+ const elementIndex = this.list.findIndex(listElement =>
+ this.compareElements(elem, listElement)
+ );
+ if (elementIndex === -1) return;
+ const startIndex = this.perPage * (this.currentPage - 1);
+ const endIndex = startIndex + this.perPage;
+ const isElementInCurrentPage =
+ elementIndex >= startIndex && elementIndex < endIndex;
+ if (!isElementInCurrentPage) {
+ const elementPage = Math.ceil((elementIndex + 1) / this.perPage);
+ this.currentPage = elementPage;
+ }
+ await this.$nextTick();
+ const elementIndexOnPage = elementIndex % this.perPage;
+ const domElement = this.$refs.elements[elementIndexOnPage];
+ domElement.scrollIntoView({ block: "center" });
+ },
},
};
-
-
diff --git a/src/BIMDataComponents/BIMDataPaginatedList/_BIMDataPaginatedList.scss b/src/BIMDataComponents/BIMDataPaginatedList/_BIMDataPaginatedList.scss
index 3e1bc466..4422f20b 100644
--- a/src/BIMDataComponents/BIMDataPaginatedList/_BIMDataPaginatedList.scss
+++ b/src/BIMDataComponents/BIMDataPaginatedList/_BIMDataPaginatedList.scss
@@ -22,7 +22,7 @@
background-color: var(--color-silver-light);
}
&:nth-child(even) {
- background-color: hsl(var(--color-silver-light), 5%);
+ background-color: var(--color-white);
}
}
}
@@ -32,6 +32,14 @@
height: auto;
}
+ &__elements {
+ li {
+ &.active-element {
+ font-weight: bold;
+ }
+ }
+ }
+
.bimdata-spinner {
padding: 12px 0;
justify-content: center;
diff --git a/src/BIMDataComponents/BIMDataPagination/BIMDataPagination.vue b/src/BIMDataComponents/BIMDataPagination/BIMDataPagination.vue
index b17e3acb..28ba2eb5 100644
--- a/src/BIMDataComponents/BIMDataPagination/BIMDataPagination.vue
+++ b/src/BIMDataComponents/BIMDataPagination/BIMDataPagination.vue
@@ -92,10 +92,4 @@ export default {
};
-
-
diff --git a/src/BIMDataComponents/BIMDataPieSpinner/BIMDataPieSpinner.vue b/src/BIMDataComponents/BIMDataPieSpinner/BIMDataPieSpinner.vue
index 843a7ac8..5fb40215 100644
--- a/src/BIMDataComponents/BIMDataPieSpinner/BIMDataPieSpinner.vue
+++ b/src/BIMDataComponents/BIMDataPieSpinner/BIMDataPieSpinner.vue
@@ -6,7 +6,7 @@
fill="transparent"
:width="width"
:height="width"
- style="transform: rotate(-90deg);"
+ style="transform: rotate(-90deg)"
>
-
@@ -35,44 +40,39 @@ export default {
props: {
width: {
type: Number,
- default: 22
+ default: 22,
},
strokeWidth: {
type: Number,
- default: 2
+ default: 2,
},
stroke: {
type: String,
- default: "currentColor"
+ default: "currentColor",
},
delay: {
type: Number,
- default: 1
+ default: 1,
},
laps: {
type: [Number, String],
- default: 1
+ default: 1,
},
dashOffsetFrom: {
type: Number,
- default: 0
+ default: 0,
},
dashOffsetTo: {
type: Number,
- default: 63
+ default: 63,
},
dashArray: {
type: Number,
- default: 63
- }
+ default: 63,
+ },
},
- emits: [
- 'lap',
- 'stop'
- ]
+ emits: ["lap", "stop"],
};
-
\ No newline at end of file
+
diff --git a/src/BIMDataComponents/BIMDataRadio/BIMDataRadio.vue b/src/BIMDataComponents/BIMDataRadio/BIMDataRadio.vue
index 2e541c9c..a115ccb2 100644
--- a/src/BIMDataComponents/BIMDataRadio/BIMDataRadio.vue
+++ b/src/BIMDataComponents/BIMDataRadio/BIMDataRadio.vue
@@ -55,9 +55,4 @@ export default {
};
-
-
-
+
diff --git a/src/BIMDataComponents/BIMDataRadio/_BIMDataRadio.scss b/src/BIMDataComponents/BIMDataRadio/_BIMDataRadio.scss
index 6b6ce2c9..658f67b9 100644
--- a/src/BIMDataComponents/BIMDataRadio/_BIMDataRadio.scss
+++ b/src/BIMDataComponents/BIMDataRadio/_BIMDataRadio.scss
@@ -1,5 +1,5 @@
@import "../../assets/scss/mixins/_font-size.scss";
-@import "../../assets/scss/mixins/_pseudo.scss";
+
.bimdata-radio {
position: relative;
color: var(--color-primary);
@@ -20,7 +20,9 @@
&__circle,
&__dot {
- @include pseudo;
+ content: '';
+ display: block;
+ position: absolute;
border-radius: 50%;
transition: all 0.2s ease;
box-sizing: border-box;
diff --git a/src/BIMDataComponents/BIMDataResponsiveGrid/BIMDataResponsiveGrid.vue b/src/BIMDataComponents/BIMDataResponsiveGrid/BIMDataResponsiveGrid.vue
index 11db6ba4..ad2320f5 100644
--- a/src/BIMDataComponents/BIMDataResponsiveGrid/BIMDataResponsiveGrid.vue
+++ b/src/BIMDataComponents/BIMDataResponsiveGrid/BIMDataResponsiveGrid.vue
@@ -2,7 +2,9 @@
diff --git a/src/BIMDataComponents/BIMDataSafeZoneInline/BIMDataSafeZoneInline.vue b/src/BIMDataComponents/BIMDataSafeZoneInline/BIMDataSafeZoneInline.vue
new file mode 100644
index 00000000..d0b0a0e7
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataSafeZoneInline/BIMDataSafeZoneInline.vue
@@ -0,0 +1,43 @@
+
+
+
+ Delete
+
+
+
+
+
+
+
+
+
+
diff --git a/src/BIMDataComponents/BIMDataSafeZoneInline/_BIMDataSafeZoneInline.scss b/src/BIMDataComponents/BIMDataSafeZoneInline/_BIMDataSafeZoneInline.scss
new file mode 100644
index 00000000..05738e86
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataSafeZoneInline/_BIMDataSafeZoneInline.scss
@@ -0,0 +1,16 @@
+.safe-zone-inline {
+ display: flex;
+ gap: 9px;
+ padding: 6px 9px;
+ border-radius: 5px;
+ box-shadow: var(--box-shadow);
+ background-color: var(--color-white);
+
+ &__btn-delete {
+ width: 90px;
+ }
+
+ &__btn-close {
+ padding: 0 8px;
+ }
+}
diff --git a/src/BIMDataComponents/BIMDataSearch/BIMDataSearch.vue b/src/BIMDataComponents/BIMDataSearch/BIMDataSearch.vue
index 22f34d5c..ae8cf1b3 100644
--- a/src/BIMDataComponents/BIMDataSearch/BIMDataSearch.vue
+++ b/src/BIMDataComponents/BIMDataSearch/BIMDataSearch.vue
@@ -134,9 +134,4 @@ export default {
};
-
-
-
+
diff --git a/src/BIMDataComponents/BIMDataSearch/_BIMDataSearch.scss b/src/BIMDataComponents/BIMDataSearch/_BIMDataSearch.scss
index f7bfdb0a..b19cc243 100644
--- a/src/BIMDataComponents/BIMDataSearch/_BIMDataSearch.scss
+++ b/src/BIMDataComponents/BIMDataSearch/_BIMDataSearch.scss
@@ -1,4 +1,5 @@
@import "../../assets/scss/mixins/_font-size.scss";
+
.bimdata-search-bar {
display: flex;
align-items: center;
diff --git a/src/BIMDataComponents/BIMDataSearchAutocomplete/BIMDataSearchAutocomplete.vue b/src/BIMDataComponents/BIMDataSearchAutocomplete/BIMDataSearchAutocomplete.vue
new file mode 100644
index 00000000..0a49afd4
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataSearchAutocomplete/BIMDataSearchAutocomplete.vue
@@ -0,0 +1,213 @@
+
+
+
+
+
+
+
+
+
+
+
+ See all results for "{{ search }}"
+
+
+
+
+
+
+
+
diff --git a/src/BIMDataComponents/BIMDataSearchAutocomplete/_BIMDataSearchAutocomplete.scss b/src/BIMDataComponents/BIMDataSearchAutocomplete/_BIMDataSearchAutocomplete.scss
new file mode 100644
index 00000000..f41a413d
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataSearchAutocomplete/_BIMDataSearchAutocomplete.scss
@@ -0,0 +1,77 @@
+.bimdata-search-autocomplete {
+ position: relative;
+ display: inline-block;
+ width: 350px;
+
+ &__input {
+ position: relative;
+ .bimdata-search-icon {
+ position: absolute;
+ left: 12px;
+ height: 13px;
+ }
+ input {
+ height: 32px;
+ width: 100%;
+ border: none;
+ background-color: var(--color-silver-light);
+ &:focus,
+ &:focus-visible {
+ border: none;
+ outline: none;
+ }
+ }
+ }
+ &__dropdown {
+ margin-top: 6px;
+ width: 100%;
+ display: none;
+ background-color: var(--color-white);
+ color: var(--color-primary);
+ transition: box-shadow 300ms cubic-bezier(0.4, 0, 0.2, 1) 0.2s;
+ border-radius: 4px;
+ box-shadow: var(--box-shadow);
+ &.open {
+ display: block;
+ position: absolute;
+ z-index: 1;
+ }
+ .active {
+ background-color: var(--color-silver-light);
+ }
+ li {
+ &:hover {
+ background-color: var(--color-silver-light);
+ cursor: pointer;
+ }
+ }
+ &__left {
+ min-width: 50px;
+ max-width: 50px;
+ .logo {
+ width: 100%;
+ height: 100%;
+ max-width: 100%;
+ object-fit: contain;
+ }
+ }
+ &__right {
+ .title {
+ font-size: 14px;
+ font-weight: 400;
+ }
+ .text {
+ font-size: 12px;
+ }
+ }
+ &__button {
+ height: 37px;
+ border-top: 1px solid var(--color-silver);
+ font-size: 14px;
+ &:hover {
+ background-color: var(--color-silver-light);
+ cursor: pointer;
+ }
+ }
+ }
+}
diff --git a/src/BIMDataComponents/BIMDataSelect/BIMDataSelect.vue b/src/BIMDataComponents/BIMDataSelect/BIMDataSelect.vue
index 01620f39..45feed1b 100644
--- a/src/BIMDataComponents/BIMDataSelect/BIMDataSelect.vue
+++ b/src/BIMDataComponents/BIMDataSelect/BIMDataSelect.vue
@@ -51,6 +51,9 @@ export default {
type: Boolean,
default: false,
},
+ nullLabel: {
+ type: String,
+ },
disabled: {
type: Boolean,
default: false,
diff --git a/src/BIMDataComponents/BIMDataSelect/BIMDataSelectMulti.vue b/src/BIMDataComponents/BIMDataSelect/BIMDataSelectMulti.vue
index bdeeafca..1847dd91 100644
--- a/src/BIMDataComponents/BIMDataSelect/BIMDataSelectMulti.vue
+++ b/src/BIMDataComponents/BIMDataSelect/BIMDataSelectMulti.vue
@@ -7,6 +7,7 @@
'not-empty': modelValue.length > 0,
}"
:style="{ width }"
+ v-clickaway="() => (isOpen = false)"
>
@@ -20,11 +21,7 @@
-
+
-
+
diff --git a/src/BIMDataComponents/BIMDataSelect/BIMDataSelectSingle.vue b/src/BIMDataComponents/BIMDataSelect/BIMDataSelectSingle.vue
index 7aae6aae..c36d3d05 100644
--- a/src/BIMDataComponents/BIMDataSelect/BIMDataSelectSingle.vue
+++ b/src/BIMDataComponents/BIMDataSelect/BIMDataSelectSingle.vue
@@ -7,6 +7,7 @@
'not-empty': modelValue !== undefined && modelValue !== null,
}"
:style="{ width }"
+ v-clickaway="() => (isOpen = false)"
>
@@ -20,17 +21,13 @@
-
+
- None
+ {{ nullLabel || "None" }}
import clickaway from "../../BIMDataDirectives/click-away.js";
// Components
-import { BIMDataIconChevron } from "../BIMDataIcon/BIMDataIconStandalone/index.js";
+import BIMDataIconChevron from "../BIMDataIcon/BIMDataIconStandalone/BIMDataIconChevron.vue";
export default {
components: {
@@ -91,6 +88,9 @@ export default {
type: Boolean,
default: false,
},
+ nullLabel: {
+ type: String,
+ },
disabled: {
type: Boolean,
default: false,
@@ -120,6 +120,9 @@ export default {
return option;
},
optionLabel(option) {
+ if (this.nullLabel && option == null) {
+ return this.nullLabel;
+ }
if (this.optionLabelKey && option) {
return option[this.optionLabelKey];
}
@@ -154,4 +157,4 @@ export default {
};
-
+
diff --git a/src/BIMDataComponents/BIMDataSelect/BIMDataSelect.scss b/src/BIMDataComponents/BIMDataSelect/_BIMDataSelect.scss
similarity index 93%
rename from src/BIMDataComponents/BIMDataSelect/BIMDataSelect.scss
rename to src/BIMDataComponents/BIMDataSelect/_BIMDataSelect.scss
index e60da702..5b84b8ca 100644
--- a/src/BIMDataComponents/BIMDataSelect/BIMDataSelect.scss
+++ b/src/BIMDataComponents/BIMDataSelect/_BIMDataSelect.scss
@@ -1,11 +1,9 @@
-@import "../../assets/scss/_BIMDataVariables.scss";
@import "../../assets/scss/mixins/_font-size.scss";
-@import "../../assets/scss/mixins/_pseudo.scss";
.bimdata-select {
position: relative;
font-family: var(--primary-font);
- font-size: calculateEm(14px);
+ font-size: calculateEm(15px);
user-select: none;
&__content {
@@ -15,7 +13,7 @@
width: 100%;
height: 32px;
position: absolute;
- z-index: 10;
+ z-index: 1;
top: 0;
display: flex;
@@ -69,7 +67,7 @@
&__option-list {
position: absolute;
- z-index: 11;
+ z-index: 2;
top: -3px;
width: 100%;
max-height: 220px;
diff --git a/src/BIMDataComponents/BIMDataSimplePieChart/BIMDataSimplePieChart.vue b/src/BIMDataComponents/BIMDataSimplePieChart/BIMDataSimplePieChart.vue
new file mode 100644
index 00000000..0d45f671
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataSimplePieChart/BIMDataSimplePieChart.vue
@@ -0,0 +1,131 @@
+
+
+
+
+
+
+
diff --git a/src/BIMDataComponents/BIMDataSimplePieChart/_BIMDataSimplePieChart.scss b/src/BIMDataComponents/BIMDataSimplePieChart/_BIMDataSimplePieChart.scss
new file mode 100644
index 00000000..c73b9c51
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataSimplePieChart/_BIMDataSimplePieChart.scss
@@ -0,0 +1,15 @@
+.bimdata-simple-pie-chart {
+ position: relative;
+
+ .path {
+ stroke-dasharray: 1000;
+ stroke-dashoffset: 1000;
+ animation: dash var(--graph-draw-time, 2s) ease-in forwards;
+ }
+
+ @keyframes dash {
+ to {
+ stroke-dashoffset: 0;
+ }
+ }
+}
diff --git a/src/BIMDataComponents/BIMDataSlider/BIMDataSlider.vue b/src/BIMDataComponents/BIMDataSlider/BIMDataSlider.vue
new file mode 100644
index 00000000..83f5c8a4
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataSlider/BIMDataSlider.vue
@@ -0,0 +1,101 @@
+
+
+
+ {{ modelValue }}
+
+
+
+
+
+
diff --git a/src/BIMDataComponents/BIMDataSlider/_BIMDataSlider.scss b/src/BIMDataComponents/BIMDataSlider/_BIMDataSlider.scss
new file mode 100644
index 00000000..f26b8dec
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataSlider/_BIMDataSlider.scss
@@ -0,0 +1,80 @@
+.bimdata-slider {
+ position: relative;
+ .bimdata-slider-input {
+ &::-webkit-slider-runnable-track {
+ height: 3px;
+ background: linear-gradient(
+ to right,
+ var(--color-primary),
+ var(--color-primary)
+ ),
+ var(--color-silver);
+ background-size: var(--background-size, 0%) 100%;
+ background-repeat: no-repeat;
+ border-radius: 5px;
+ }
+ &::-webkit-slider-thumb {
+ width: 15px;
+ height: 15px;
+ cursor: pointer;
+ background: var(--color-primary);
+ border: solid var(--color-white) 1px;
+ border-radius: 50%;
+ margin-top: -6px;
+ box-shadow: 0px 1px 3px rgba(0, 0, 0, 0.4);
+ }
+ &::-moz-range-progress {
+ background-color: var(--color-primary);
+ border-radius: 5px;
+ }
+ &::-moz-range-track {
+ background-color: var(--color-silver);
+ border-radius: 5px;
+ }
+ &::-moz-range-thumb {
+ width: 15px;
+ height: 15px;
+ cursor: pointer;
+ background: var(--color-primary);
+ border: solid var(--color-white) 1px;
+ border-radius: 50%;
+ margin-top: -6px;
+ box-shadow: 0px 1px 3px rgba(0, 0, 0, 0.4);
+ }
+ }
+ &:hover {
+ .bimdata-slider-tooltip {
+ opacity: 1;
+ transition: opacity 0.2s ease-out;
+ }
+ }
+ &-tooltip {
+ background: var(--color-primary);
+ color: var(--color-white);
+ padding: calc(var(--spacing-unit) / 2);
+ position: absolute;
+ border-radius: 4px;
+ bottom: calc(var(--spacing-unit) * 3);
+ left: 50%;
+ transform: translateX(-50%);
+ opacity: 0;
+ transition: opacity 0.2s ease-out;
+ &::after {
+ border: 5px solid transparent;
+ border-top-color: var(--color-primary);
+ bottom: 5px * -2;
+ content: "";
+ height: 0;
+ left: 50%;
+ position: absolute;
+ transform: translate(-50%);
+ width: 0;
+ }
+ }
+ .bimdata-slider-input,
+ .bimdata-slider-input::-webkit-slider-runnable-track,
+ .bimdata-slider-input::-webkit-slider-thumb {
+ appearance: none;
+ -webkit-appearance: none;
+ }
+}
diff --git a/src/BIMDataComponents/BIMDataSpinner/BIMDataSpinner.vue b/src/BIMDataComponents/BIMDataSpinner/BIMDataSpinner.vue
index e974bdf1..98b3546a 100644
--- a/src/BIMDataComponents/BIMDataSpinner/BIMDataSpinner.vue
+++ b/src/BIMDataComponents/BIMDataSpinner/BIMDataSpinner.vue
@@ -21,10 +21,4 @@ export default {
};
-
-
-
+
diff --git a/src/BIMDataComponents/BIMDataSpinner/_BIMDataSpinner.scss b/src/BIMDataComponents/BIMDataSpinner/_BIMDataSpinner.scss
index 16675c17..deacb86a 100644
--- a/src/BIMDataComponents/BIMDataSpinner/_BIMDataSpinner.scss
+++ b/src/BIMDataComponents/BIMDataSpinner/_BIMDataSpinner.scss
@@ -1,4 +1,5 @@
@import "./_keyframes.scss";
+
.bimdata-spinner {
display: flex;
&--square {
diff --git a/src/BIMDataComponents/BIMDataTable/BIMDataTable.d.ts b/src/BIMDataComponents/BIMDataTable/BIMDataTable.d.ts
new file mode 100644
index 00000000..c66621f1
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataTable/BIMDataTable.d.ts
@@ -0,0 +1,38 @@
+declare namespace BIMDataTable {
+ type Columns = string[] | Column[];
+ type Rows = string[][] | Object[] | Row[];
+
+ interface Data {
+ columns: Columns;
+ rows: Rows;
+ }
+
+ interface Style {
+ tableWidth?: string;
+ tableLayout?: string;
+ rowHeight?: number;
+ placeholder?: string;
+ }
+
+ interface Config {
+ rowKey?: string;
+ selectable?: boolean;
+ sortable?: boolean;
+ paginated?: boolean;
+ perPage?: number;
+ }
+
+ interface Column {
+ id: string;
+ type?: "number" | "string" | "enum" | "boolean" | "date";
+ label?: string;
+ width?: string;
+ align?: "left" | "center" | "right";
+ sort?: (a: any, b: any) => number;
+ }
+
+ interface Row {
+ key: string | number;
+ data: any;
+ }
+}
diff --git a/src/BIMDataComponents/BIMDataTable/BIMDataTable.vue b/src/BIMDataComponents/BIMDataTable/BIMDataTable.vue
index 61ff0c92..dcccfd66 100644
--- a/src/BIMDataComponents/BIMDataTable/BIMDataTable.vue
+++ b/src/BIMDataComponents/BIMDataTable/BIMDataTable.vue
@@ -6,14 +6,16 @@
height: paginated ? `${(perPage + 1) * rowHeight}px` : undefined,
}"
>
-
+
+
+
+
-
+
-
- {{ row[column.id] || row[j] || "" }}
+
+ {{ data[column.id] || data[j] }}
@@ -58,12 +70,14 @@
- {{ placeholder }}
+
+ {{ placeholder }}
+
- {{ `${pageStartIndex} - ${pageEndIndex} of ${rows.length}` }}
+ {{ `${pageIndexStart} - ${pageIndexEnd} / ${rows.length}` }}
@@ -97,9 +111,12 @@
-
+
diff --git a/src/BIMDataComponents/BIMDataTable/_BIMDataTable.scss b/src/BIMDataComponents/BIMDataTable/_BIMDataTable.scss
index 093a8662..67f1648e 100644
--- a/src/BIMDataComponents/BIMDataTable/_BIMDataTable.scss
+++ b/src/BIMDataComponents/BIMDataTable/_BIMDataTable.scss
@@ -4,6 +4,8 @@
background-color: var(--color-white);
&__container {
+ height: 100%;
+
table {
border-collapse: collapse;
border-spacing: 0;
@@ -23,12 +25,20 @@
}
th {
- font-weight: 700;
+ font-weight: bold;
color: var(--color-primary);
+
+ &.cell-sub-header {
+ min-height: 0;
+ padding: 0;
+ text-align: left;
+ font-weight: normal;
+ color: var(--color-granite-lightest);
+ }
}
td {
- color: var(--color-granite);
+ color: var(--color-granite-light);
}
}
@@ -38,8 +48,7 @@
align-items: center;
padding: var(--spacing-unit);
font-size: 1rem;
- font-weight: 700;
- background-color: var(--color-silver-light);
+ font-weight: bold;
}
}
diff --git a/src/BIMDataComponents/BIMDataTable/table-row-selection.js b/src/BIMDataComponents/BIMDataTable/table-row-selection.js
new file mode 100644
index 00000000..0508a166
--- /dev/null
+++ b/src/BIMDataComponents/BIMDataTable/table-row-selection.js
@@ -0,0 +1,68 @@
+/* eslint-disable */
+
+import { ref, watch } from "vue";
+
+function useRowSelection(
+ rows,
+ selection,
+ {
+ rowSelectionUpdateEffect = () => {},
+ rowSelectionToggleEffect = () => {},
+ fullSelectionToggleEffect = () => {},
+ } = {}
+) {
+ const rowSelection = ref(new Map());
+
+ watch(
+ rows,
+ () => {
+ rowSelection.value = new Map(
+ rows.value
+ .filter(({ key }) => selection.value.has(key))
+ .map(({ key, data }) => [key, data])
+ );
+ },
+ { immediate: true }
+ );
+ watch(
+ selection,
+ () => {
+ rowSelection.value = selection.value;
+ },
+ { immediate: true }
+ );
+ watch(
+ rowSelection,
+ () => {
+ rowSelectionUpdateEffect(rowSelection.value);
+ }
+ );
+
+ const toggleRowSelection = ({ key, data }) => {
+ const isSelected = () => rowSelection.value.has(key);
+ if (isSelected()) {
+ rowSelection.value.delete(key);
+ } else {
+ rowSelection.value.set(key, data);
+ }
+ rowSelection.value = new Map([...rowSelection.value.entries()]);
+ rowSelectionToggleEffect(isSelected(), { key, data });
+ };
+ const toggleFullSelection = () => {
+ const isSelected = () => rowSelection.value.size === rows.value.length;
+ if (isSelected()) {
+ rowSelection.value = new Map();
+ } else {
+ rowSelection.value = new Map(rows.value.map(({ key, data }) => [key, data]));
+ }
+ fullSelectionToggleEffect(isSelected());
+ };
+
+ return {
+ rowSelection,
+ toggleRowSelection,
+ toggleFullSelection,
+ };
+}
+
+export { useRowSelection };
diff --git a/src/BIMDataComponents/BIMDataTabs/BIMDataTabs.vue b/src/BIMDataComponents/BIMDataTabs/BIMDataTabs.vue
index e80dac39..a3b942f5 100644
--- a/src/BIMDataComponents/BIMDataTabs/BIMDataTabs.vue
+++ b/src/BIMDataComponents/BIMDataTabs/BIMDataTabs.vue
@@ -23,7 +23,7 @@
:style="{ minWidth: tabWidth }"
@click="onTabClick(tab)"
>
-
+
{{ tab.label }}
@@ -40,7 +40,7 @@
-
+
diff --git a/src/BIMDataComponents/BIMDataTabs/_BIMDataTabs.scss b/src/BIMDataComponents/BIMDataTabs/_BIMDataTabs.scss
index cdbbf706..d0a9823e 100644
--- a/src/BIMDataComponents/BIMDataTabs/_BIMDataTabs.scss
+++ b/src/BIMDataComponents/BIMDataTabs/_BIMDataTabs.scss
@@ -1,5 +1,4 @@
@import "../../assets/scss/mixins/_font-size.scss";
-@import "../../assets/scss/mixins/_pseudo.scss";
.bimdata-tabs {
position: relative;
@@ -24,12 +23,12 @@
scroll-behavior: smooth;
&__tab {
+ padding: 0;
box-sizing: border-box;
position: relative;
display: flex;
justify-content: center;
align-items: center;
- padding: 0 calc(var(--spacing-unit) / 2);
text-align: center;
color: var(--color-granite);
cursor: pointer;
diff --git a/src/BIMDataComponents/BIMDataTextarea/BIMDataTextarea.vue b/src/BIMDataComponents/BIMDataTextarea/BIMDataTextarea.vue
index 7cee9962..f3072cef 100644
--- a/src/BIMDataComponents/BIMDataTextarea/BIMDataTextarea.vue
+++ b/src/BIMDataComponents/BIMDataTextarea/BIMDataTextarea.vue
@@ -120,9 +120,4 @@ export default {
};
-
-
-
+
diff --git a/src/BIMDataComponents/BIMDataTextarea/_BIMDataTextarea.scss b/src/BIMDataComponents/BIMDataTextarea/_BIMDataTextarea.scss
index 2d896fec..e3360ef5 100644
--- a/src/BIMDataComponents/BIMDataTextarea/_BIMDataTextarea.scss
+++ b/src/BIMDataComponents/BIMDataTextarea/_BIMDataTextarea.scss
@@ -1,6 +1,4 @@
-// import BIMDATA MIXINS
@import "../../assets/scss/mixins/_font-size.scss";
-@import "../../assets/scss/mixins/_pseudo.scss";
textarea:-webkit-autofill {
box-shadow: 0 0 0px 1000px var(--color-white) inset;
@@ -11,7 +9,8 @@ textarea:-webkit-autofill {
position: relative;
inline-size: min-content;
font-family: var(--primary-font);
- font-size: calculateEm(14px);
+ color: var(--color-primary);
+ font-size: calculateEm(15px);
textarea {
padding: 0px;
width: 100%;
@@ -20,6 +19,8 @@ textarea:-webkit-autofill {
min-height: inherit;
display: flex;
margin: 0px;
+ color: var(--color-primary);
+ font-family: var(--primary-font);
border: none;
&:disabled {
background-color: transparent;
@@ -68,7 +69,9 @@ textarea:-webkit-autofill {
&::after {
width: 0;
height: 2px;
- @include pseudo;
+ content: "";
+ display: block;
+ position: absolute;
background-color: var(--color-primary);
transform: scaleX(0);
}
diff --git a/src/BIMDataComponents/BIMDataTextarea/__tests__/BIMDataTextarea.test.js b/src/BIMDataComponents/BIMDataTextarea/__tests__/BIMDataTextarea.test.js
deleted file mode 100644
index 0519bc46..00000000
--- a/src/BIMDataComponents/BIMDataTextarea/__tests__/BIMDataTextarea.test.js
+++ /dev/null
@@ -1,87 +0,0 @@
-import { shallowMount } from "@vue/test-utils";
-import BIMDataTextarea from "../BIMDataTextarea.vue";
-
-describe("BIMDataTextarea", () => {
- it("should render component and match snapshot", () => {
- const wrapper = shallowMount(BIMDataTextarea);
- expect(wrapper.html()).toMatchSnapshot();
- });
-
- it("should render component with custom name, match with id and match snapshot", () => {
- const wrapper = shallowMount(BIMDataTextarea, {
- propsData: {
- name: "placeholderName",
- },
- });
- expect(wrapper.find("textarea").element.name).toBe("placeholderName");
- expect(wrapper.find("textarea").element.id).toBe("placeholderName");
- expect(wrapper.html()).toMatchSnapshot();
- });
-
- it("should render component with message and 'not-empty' class", async () => {
- const onInput = jest.fn();
- const wrapper = shallowMount(BIMDataTextarea, {
- propsData: {
- modelValue: null,
- },
- listeners: {
- "update:modelValue": onInput,
- },
- });
- expect(wrapper.find("textarea").element.value).toBe("");
-
- wrapper.find("textarea").setValue("x");
- expect(onInput).toHaveBeenCalledWith("x");
-
- wrapper.setProps({ modelValue: "message" });
- await wrapper.vm.$nextTick();
- expect(wrapper.classes("not-empty")).toBe(true);
- expect(wrapper.find("textarea").element.value).toBe("message");
- });
-
- it("should render component with custom placeholder, contains 'not-empty' class and match snapshot", () => {
- const wrapper = shallowMount(BIMDataTextarea, {
- propsData: {
- placeholder: "textarea placeholder",
- },
- });
- expect(wrapper.classes("not-empty")).toBe(true);
- expect(wrapper.html()).toMatchSnapshot();
- });
-
- it("should render component with custom label and match snapshot", () => {
- const wrapper = shallowMount(BIMDataTextarea, {
- propsData: {
- label: "textarea label",
- },
- });
- expect(wrapper.html()).toMatchSnapshot();
- });
-
- it("should render component with a custom width and match snapshot", () => {
- const wrapper = shallowMount(BIMDataTextarea, {
- propsData: {
- width: "50px",
- },
- });
- expect(wrapper.html()).toMatchSnapshot();
- });
-
- it("should render component with a custom height and match snapshot", () => {
- const wrapper = shallowMount(BIMDataTextarea, {
- propsData: {
- height: "50px",
- },
- });
- expect(wrapper.html()).toMatchSnapshot();
- });
-
- it("should render a disabled component and match snapshot", () => {
- const wrapper = shallowMount(BIMDataTextarea, {
- propsData: {
- disabled: true,
- },
- });
- expect(wrapper.html()).toMatchSnapshot();
- });
-});
diff --git a/src/BIMDataComponents/BIMDataTextarea/__tests__/__snapshots__/BIMDataTextarea.test.js.snap b/src/BIMDataComponents/BIMDataTextarea/__tests__/__snapshots__/BIMDataTextarea.test.js.snap
deleted file mode 100644
index e521abdf..00000000
--- a/src/BIMDataComponents/BIMDataTextarea/__tests__/__snapshots__/BIMDataTextarea.test.js.snap
+++ /dev/null
@@ -1,50 +0,0 @@
-// Jest Snapshot v1, https://goo.gl/fbAQLP
-
-exports[`BIMDataTextarea should render a disabled component and match snapshot 1`] = `
-"
-
-
-
"
-`;
-
-exports[`BIMDataTextarea should render component and match snapshot 1`] = `
-"
-
-
-
"
-`;
-
-exports[`BIMDataTextarea should render component with a custom height and match snapshot 1`] = `
-"
-
-
-
"
-`;
-
-exports[`BIMDataTextarea should render component with a custom width and match snapshot 1`] = `
-"
-
-
-
"
-`;
-
-exports[`BIMDataTextarea should render component with custom label and match snapshot 1`] = `
-" textarea label
-
-
-
"
-`;
-
-exports[`BIMDataTextarea should render component with custom name, match with id and match snapshot 1`] = `
-"
-
-
-
"
-`;
-
-exports[`BIMDataTextarea should render component with custom placeholder, contains 'not-empty' class and match snapshot 1`] = `
-"
-
-
-
"
-`;
diff --git a/src/BIMDataComponents/BIMDataTextbox/BIMDataTextbox.scss b/src/BIMDataComponents/BIMDataTextbox/BIMDataTextbox.scss
index a1e7af4b..507446f6 100644
--- a/src/BIMDataComponents/BIMDataTextbox/BIMDataTextbox.scss
+++ b/src/BIMDataComponents/BIMDataTextbox/BIMDataTextbox.scss
@@ -54,8 +54,8 @@
}
&--secondary {
- background-color: $color-secondary;
- color: $color-primary;
+ background-color: var(--color-secondary);
+ color: var(--color-primary);
&::before {
border-color: var(--color-secondary) transparent transparent;
}
diff --git a/src/BIMDataComponents/BIMDataTextbox/BIMDataTextbox.vue b/src/BIMDataComponents/BIMDataTextbox/BIMDataTextbox.vue
index 1e479208..9cde1329 100644
--- a/src/BIMDataComponents/BIMDataTextbox/BIMDataTextbox.vue
+++ b/src/BIMDataComponents/BIMDataTextbox/BIMDataTextbox.vue
@@ -129,7 +129,4 @@ export default {
};
-
+
diff --git a/src/BIMDataComponents/BIMDataToggle/BIMDataToggle.vue b/src/BIMDataComponents/BIMDataToggle/BIMDataToggle.vue
index c61afc6d..64b69763 100644
--- a/src/BIMDataComponents/BIMDataToggle/BIMDataToggle.vue
+++ b/src/BIMDataComponents/BIMDataToggle/BIMDataToggle.vue
@@ -55,10 +55,4 @@ export default {
};
-
-
-
+
diff --git a/src/BIMDataComponents/BIMDataTooltip/BIMDataTooltip.vue b/src/BIMDataComponents/BIMDataTooltip/BIMDataTooltip.vue
index 410d9a56..cdb023f4 100644
--- a/src/BIMDataComponents/BIMDataTooltip/BIMDataTooltip.vue
+++ b/src/BIMDataComponents/BIMDataTooltip/BIMDataTooltip.vue
@@ -96,4 +96,4 @@ export default {
};
-
+
diff --git a/src/BIMDataComponents/BIMDataTooltip/_BIMDataTooltip.scss b/src/BIMDataComponents/BIMDataTooltip/_BIMDataTooltip.scss
index b794a371..708d4860 100644
--- a/src/BIMDataComponents/BIMDataTooltip/_BIMDataTooltip.scss
+++ b/src/BIMDataComponents/BIMDataTooltip/_BIMDataTooltip.scss
@@ -1,7 +1,4 @@
-@import "../../assets/scss/_BIMDataVariables.scss";
-@import "../../assets/scss/utilities/_text.scss";
@import "../../assets/scss/mixins/_font-size.scss";
-@import "../../assets/scss/mixins/_pseudo.scss";
.bimdata-tooltip {
position: relative;
@@ -92,8 +89,8 @@
}
&--secondary {
- background-color: $color-secondary;
- color: $color-primary;
+ background-color: var(--color-secondary);
+ color: var(--color-primary);
&::before {
border-color: var(--color-secondary) transparent transparent;
}
diff --git a/src/BIMDataComponents/index.js b/src/BIMDataComponents/index.js
index 24c24d1d..cb169df1 100644
--- a/src/BIMDataComponents/index.js
+++ b/src/BIMDataComponents/index.js
@@ -1,4 +1,4 @@
-import "../assets/css/_BIMDataVariables.css";
+import "../assets/css/variables.css";
import "../assets/css/utilities/_colors.css";
import "../assets/css/utilities/_flex.css";
@@ -10,21 +10,32 @@ import "../assets/css/utilities/_text.css";
export { default as BIMDataBigSpinner } from "./BIMDataBigSpinner/BIMDataBigSpinner.vue";
export { default as BIMDataButton } from "./BIMDataButton/BIMDataButton.vue";
export { default as BIMDataCard } from "./BIMDataCard/BIMDataCard.vue";
+export { default as BIMDataCarousel } from "./BIMDataCarousel/BIMDataCarousel.vue";
export { default as BIMDataCheckbox } from "./BIMDataCheckbox/BIMDataCheckbox.vue";
+export { default as BIMDataColorSelector } from "./BIMDataColorSelector/BIMDataColorSelector.vue";
+export { default as BIMDataDatePicker } from "./BIMDataDatePicker/BIMDataDatePicker.vue";
export { default as BIMDataDropdownList } from "./BIMDataDropdownList/BIMDataDropdownList.vue";
export { default as BIMDataDropdownMenu } from "./BIMDataDropdownMenu/BIMDataDropdownMenu.vue";
export { default as BIMDataFileIcon } from "./BIMDataFileIcon/BIMDataFileIcon.vue";
export { default as BIMDataIcon } from "./BIMDataIcon/BIMDataIcon.vue";
+export * from "./BIMDataIcon/BIMDataIconStandalone/index.js";
export { default as BIMDataIllustration } from "./BIMDataIllustration/BIMDataIllustration.vue";
export { default as BIMDataInput } from "./BIMDataInput/BIMDataInput.vue";
export { default as BIMDataLoading } from "./BIMDataLoading/BIMDataLoading.vue";
+export { default as BIMDataMenu } from "./BIMDataMenu/BIMDataMenu.vue";
+export { default as BIMDataMenuInline } from "./BIMDataMenuInline/BIMDataMenuInline.vue";
+export { default as BIMDataMultiplePieChart } from "./BIMDataMultiplePieChart/BIMDataMultiplePieChart.vue";
export { default as BIMDataPaginatedList } from "./BIMDataPaginatedList/BIMDataPaginatedList.vue";
export { default as BIMDataPieSpinner } from "./BIMDataPieSpinner/BIMDataPieSpinner.vue";
export { default as BIMDataRadio } from "./BIMDataRadio/BIMDataRadio.vue";
export { default as BIMDataResponsiveGrid } from "./BIMDataResponsiveGrid/BIMDataResponsiveGrid.vue";
+export { default as BIMDataSafeZoneInline } from "./BIMDataSafeZoneInline/BIMDataSafeZoneInline.vue";
export { default as BIMDataSearch } from "./BIMDataSearch/BIMDataSearch.vue";
+export { default as BIMDataSearchAutocomplete } from "./BIMDataSearchAutocomplete/BIMDataSearchAutocomplete.vue";
export { default as BIMDataSelect } from "./BIMDataSelect/BIMDataSelect.vue";
+export { default as BIMDataSimplePieChart } from "./BIMDataSimplePieChart/BIMDataSimplePieChart.vue";
export { default as BIMDataSpinner } from "./BIMDataSpinner/BIMDataSpinner.vue";
+export { default as BIMDataSlider } from "./BIMDataSlider/BIMDataSlider.vue";
export { default as BIMDataTable } from "./BIMDataTable/BIMDataTable.vue";
export { default as BIMDataTabs } from "./BIMDataTabs/BIMDataTabs.vue";
export { default as BIMDataText } from "./BIMDataText/BIMDataText.vue";
@@ -32,5 +43,3 @@ export { default as BIMDataTextarea } from "./BIMDataTextarea/BIMDataTextarea.vu
export { default as BIMDataTextbox } from "./BIMDataTextbox/BIMDataTextbox.vue";
export { default as BIMDataToggle } from "./BIMDataToggle/BIMDataToggle.vue";
export { default as BIMDataTooltip } from "./BIMDataTooltip/BIMDataTooltip.vue";
-export { default as BIMDataIcons } from "./BIMDataIcon/BIMDataLibraryIcons/index.js";
-export { default as BIMDataGuidedTour } from "./BIMDataGuidedTour/BIMDataGuidedTour.vue";
diff --git a/src/BIMDataDirectives/click-away.js b/src/BIMDataDirectives/click-away.js
index 96c32222..fa067280 100644
--- a/src/BIMDataDirectives/click-away.js
+++ b/src/BIMDataDirectives/click-away.js
@@ -1,5 +1,5 @@
export default {
- bind(el, binding) {
+ beforeMount(el, binding) {
if (typeof binding.value !== "function") {
throw Error(
`click away directive needs function, got ${typeof binding.value}`
@@ -11,10 +11,14 @@ export default {
binding.value();
}
};
- window.addEventListener("click", el.clickAwayHandler, true);
+ window.addEventListener(binding.arg || "click", el.clickAwayHandler, true);
},
- unbind(el) {
- window.removeEventListener("click", el.clickAwayHandler, true);
+ unmounted(el, binding) {
+ window.removeEventListener(
+ binding.arg || "click",
+ el.clickAwayHandler,
+ true
+ );
delete el.clickAwayHandler;
},
};
diff --git a/src/BIMDataDirectives/vue3/click-away.js b/src/BIMDataDirectives/click-input-away.js
similarity index 76%
rename from src/BIMDataDirectives/vue3/click-away.js
rename to src/BIMDataDirectives/click-input-away.js
index 31f5c106..f00fedc8 100644
--- a/src/BIMDataDirectives/vue3/click-away.js
+++ b/src/BIMDataDirectives/click-input-away.js
@@ -11,10 +11,10 @@ export default {
binding.value();
}
};
- window.addEventListener("click", el.clickAwayHandler, true);
+ window.addEventListener("mousedown", el.clickAwayHandler, true);
},
unmounted(el) {
- window.removeEventListener("click", el.clickAwayHandler, true);
+ window.removeEventListener("mousedown", el.clickAwayHandler, true);
delete el.clickAwayHandler;
},
};
diff --git a/src/BIMDataDirectives/copy.js b/src/BIMDataDirectives/copy.js
index 52a00da3..1b38cf4e 100644
--- a/src/BIMDataDirectives/copy.js
+++ b/src/BIMDataDirectives/copy.js
@@ -1,7 +1,7 @@
let clickListener = null;
export default {
- bind(el, binding) {
+ beforeMount(el, binding) {
const div = document.createElement("button");
div.textContent = "copy";
div.style.width = "45px";
@@ -29,7 +29,7 @@ export default {
div.addEventListener("click", clickListener);
el.prepend(div);
},
- unbind(el) {
+ unmounted(el) {
const div = [...el.children].find(child =>
child.classList.contains("bimdata-ds__demo")
);
diff --git a/src/BIMDataDirectives/highlight.js b/src/BIMDataDirectives/highlight.js
index 9e70bb01..08ef97e8 100644
--- a/src/BIMDataDirectives/highlight.js
+++ b/src/BIMDataDirectives/highlight.js
@@ -1,18 +1,40 @@
-import Vue from "vue";
+import { nextTick } from "vue";
import Prism from "prismjs";
import Normalizer from "prismjs/plugins/normalize-whitespace/prism-normalize-whitespace.js";
const normalizer = new Normalizer();
export default {
- bind(el, binding, vnode) {
+ beforeMount(el, binding, vnode) {
highlight(el, binding, vnode);
},
- componentUpdated(el, binding, vnode) {
+ updated(el, binding, vnode) {
highlight(el, binding, vnode);
},
};
+/**
+ * @param { { children: Array | string } } vnode
+ * @returns { string }
+ */
+function getTextFromVNode(vnode) {
+ if (typeof vnode.children === "string") {
+ return vnode.children;
+ } else {
+ return vnode.children.map(getTextFromVNode).join("");
+ }
+}
+
+function removeWhiteSpaces(string) {
+ return string
+ .split("\n")
+ .filter(line => !line.match(/^ +$/))
+ .join("\n")
+ .replace(/(? Prism.highlightAll());
+ nextTick(() => Prism.highlightAll());
}
diff --git a/src/BIMDataDirectives/index.js b/src/BIMDataDirectives/index.js
index c1aa95a5..1ef3a803 100644
--- a/src/BIMDataDirectives/index.js
+++ b/src/BIMDataDirectives/index.js
@@ -1 +1,2 @@
export { default as BIMDataClickAway } from "./click-away.js";
+export { default as BIMDataClickInputAway } from "./click-input-away.js";
diff --git a/src/BIMDataDirectives/vue3/copy.js b/src/BIMDataDirectives/vue3/copy.js
deleted file mode 100644
index 1b38cf4e..00000000
--- a/src/BIMDataDirectives/vue3/copy.js
+++ /dev/null
@@ -1,40 +0,0 @@
-let clickListener = null;
-
-export default {
- beforeMount(el, binding) {
- const div = document.createElement("button");
- div.textContent = "copy";
- div.style.width = "45px";
- div.style.height = "18px";
- div.classList.add("bimdata-btn", "bimdata-btn__fill--secondary");
- clickListener = () => {
- const elToCopy = [...el.children].find(child => child.tagName === "CODE");
- if (!elToCopy) {
- throw "Copy directives cannot works without tag element.";
- }
- const range = document.createRange();
- const selection = window.getSelection();
- range.selectNode(elToCopy);
- selection.removeAllRanges();
- selection.addRange(range);
- document.execCommand("copy");
- selection.removeAllRanges();
-
- if (typeof binding.value === "function") {
- binding.value();
- } else {
- throw "Copy directives only support function as value.";
- }
- };
- div.addEventListener("click", clickListener);
- el.prepend(div);
- },
- unmounted(el) {
- const div = [...el.children].find(child =>
- child.classList.contains("bimdata-ds__demo")
- );
- if (div) {
- div.removeEventListener("click", clickListener);
- }
- },
-};
diff --git a/src/BIMDataDirectives/vue3/highlight.js b/src/BIMDataDirectives/vue3/highlight.js
deleted file mode 100644
index f2831fd0..00000000
--- a/src/BIMDataDirectives/vue3/highlight.js
+++ /dev/null
@@ -1,50 +0,0 @@
-import Vue from "vue";
-import Prism from "prismjs";
-import Normalizer from "prismjs/plugins/normalize-whitespace/prism-normalize-whitespace.js";
-
-const normalizer = new Normalizer();
-
-export default {
- beforeMount(el, binding, vnode) {
- highlight(el, binding, vnode);
- },
- updated(el, binding, vnode) {
- highlight(el, binding, vnode);
- },
-};
-
-function highlight(el, binding, vnode) {
- const choosedLanguage = binding.arg;
- if (
- !["xml", "scss", "javascript", "bash", "css", "html"].includes(
- choosedLanguage
- )
- ) {
- throw new Error(
- "Supported languages are xml, javascript, css, scss, html and bash"
- );
- }
- let textToHighlight = null;
- if (
- vnode.children[1] &&
- vnode.children[1].children &&
- vnode.children[1].children[0]
- ) {
- textToHighlight = vnode.children[1].children[0].text;
- } else {
- textToHighlight = vnode.children[0].text;
- }
-
- el.innerHTML = normalizer.normalize(
- Prism.highlight(
- textToHighlight,
- Prism.languages[choosedLanguage],
- choosedLanguage
- ),
- {
- "remove-trailing": true,
- "remove-indent": true,
- }
- );
- Vue.nextTick(() => Prism.highlightAll());
-}
diff --git a/src/BIMDataDirectives/vue3/index.js b/src/BIMDataDirectives/vue3/index.js
deleted file mode 100644
index c1aa95a5..00000000
--- a/src/BIMDataDirectives/vue3/index.js
+++ /dev/null
@@ -1 +0,0 @@
-export { default as BIMDataClickAway } from "./click-away.js";
diff --git a/src/BIMDataSmartComponents/BIMDataFileManager/BIMDataFileManager.scss b/src/BIMDataSmartComponents/BIMDataFileManager/BIMDataFileManager.scss
deleted file mode 100644
index d9b8db6d..00000000
--- a/src/BIMDataSmartComponents/BIMDataFileManager/BIMDataFileManager.scss
+++ /dev/null
@@ -1,109 +0,0 @@
-@import "../../assets/scss/BIMDataVariables.scss";
-
-.bimdata-file-manager {
- width: 100%;
-
- display: flex;
- flex-direction: column;
- gap: var(--spacing-unit);
-
- &__header {
- display: flex;
- padding: 0 var(--spacing-unit);
-
- &--xs {
- flex-direction: column;
-
- .bimdata-file-manager__header__upload {
- margin: var(--spacing-unit) 0;
- }
- }
-
- &--s,
- &--m {
- flex-wrap: wrap;
- * {
- flex-shrink: 1;
- flex-basis: calc(50% - (var(--spacing-unit) / 2));
- }
- .bimdata-file-manager__search {
- flex-basis: 100%;
- margin-top: var(--spacing-unit);
- }
- .bimdata-file-manager__header__upload {
- margin-left: var(--spacing-unit);
- }
- }
-
- &--l {
- .bimdata-file-manager__header__upload {
- margin: 0 var(--spacing-unit);
- }
- }
- }
-
- &__navigation {
- padding: 0 var(--spacing-unit);
- height: 31px;
- flex-shrink: 0;
- font-weight: bold;
- margin-top: 12px;
- &__content {
- display: flex;
- align-items: center;
- justify-content: space-between;
- &--empty {
- display: flex;
- align-items: center;
- height: 100%;
- }
- }
- }
-
- &__modal {
- position: absolute;
- top: 0px;
- left: 0px;
- right: 0px;
- bottom: 0px;
- display: flex;
- justify-content: center;
- align-items: center;
- &::before {
- content: "";
- height: 100%;
- width: 100%;
- position: absolute;
- left: 0;
- right: 0;
- background-color: var(--color-primary);
- opacity: 0.9;
- }
- }
-
- &__container {
- overflow-y: auto;
- height: 100%;
-
- &--empty {
- margin: var(--spacing-unit);
- background-color: var(--color-silver-light);
- display: flex;
- justify-content: center;
- align-content: center;
- height: 100%;
-
- div {
- display: flex;
- flex-direction: column;
- align-items: center;
- justify-content: center;
- font-size: small;
- color: $color-granite;
- span {
- margin-top: calc($spacing-unit * 2);
- }
- }
- }
- }
-}
diff --git a/src/BIMDataSmartComponents/BIMDataFileManager/BIMDataFileManager.vue b/src/BIMDataSmartComponents/BIMDataFileManager/BIMDataFileManager.vue
deleted file mode 100644
index 6a45d877..00000000
--- a/src/BIMDataSmartComponents/BIMDataFileManager/BIMDataFileManager.vue
+++ /dev/null
@@ -1,561 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
- {{ translate("dmsRoot") }}
-
-
-
-
-
-
-
-
-
-
-
- {{ translate("emptyFolder") }}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/BIMDataSmartComponents/BIMDataFileManager/components/FileCard.vue b/src/BIMDataSmartComponents/BIMDataFileManager/components/FileCard.vue
deleted file mode 100644
index 5be95f8e..00000000
--- a/src/BIMDataSmartComponents/BIMDataFileManager/components/FileCard.vue
+++ /dev/null
@@ -1,396 +0,0 @@
-
-
-
-
-
-
-
diff --git a/src/BIMDataSmartComponents/BIMDataFileManager/components/MultiLineTextBox/MultiLineTextBox.vue b/src/BIMDataSmartComponents/BIMDataFileManager/components/MultiLineTextBox/MultiLineTextBox.vue
deleted file mode 100644
index 000b546f..00000000
--- a/src/BIMDataSmartComponents/BIMDataFileManager/components/MultiLineTextBox/MultiLineTextBox.vue
+++ /dev/null
@@ -1,151 +0,0 @@
-
-
-
-
-
-
- {{ text }}
-
-
-
-
- {{ text }}
-
-
- ...
-
-
-
-
- {{ text }}
-
-
- {{ text }}
-
-
-
-
-
-
-
-
-
diff --git a/src/BIMDataSmartComponents/BIMDataFileManager/components/MultiLineTextBox/Tooltip.vue b/src/BIMDataSmartComponents/BIMDataFileManager/components/MultiLineTextBox/Tooltip.vue
deleted file mode 100644
index 3f6bd16e..00000000
--- a/src/BIMDataSmartComponents/BIMDataFileManager/components/MultiLineTextBox/Tooltip.vue
+++ /dev/null
@@ -1,46 +0,0 @@
-
-
-
-
-
-
-
diff --git a/src/BIMDataSmartComponents/BIMDataFileManager/components/PieProgressSpinner.vue b/src/BIMDataSmartComponents/BIMDataFileManager/components/PieProgressSpinner.vue
deleted file mode 100644
index 68d2bc74..00000000
--- a/src/BIMDataSmartComponents/BIMDataFileManager/components/PieProgressSpinner.vue
+++ /dev/null
@@ -1,73 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/BIMDataSmartComponents/BIMDataFileManager/components/UploadFileButton.vue b/src/BIMDataSmartComponents/BIMDataFileManager/components/UploadFileButton.vue
deleted file mode 100644
index f0398df2..00000000
--- a/src/BIMDataSmartComponents/BIMDataFileManager/components/UploadFileButton.vue
+++ /dev/null
@@ -1,72 +0,0 @@
-
-
-
-
- {{ $translate("addFileButtonText") }}
-
-
-
-
-
-
diff --git a/src/BIMDataSmartComponents/BIMDataFileManager/components/modals/DeleteModal.vue b/src/BIMDataSmartComponents/BIMDataFileManager/components/modals/DeleteModal.vue
deleted file mode 100644
index 95d5dd7c..00000000
--- a/src/BIMDataSmartComponents/BIMDataFileManager/components/modals/DeleteModal.vue
+++ /dev/null
@@ -1,191 +0,0 @@
-
-
-
-
-
-
-
- {{ $translate("deleteTitle") }}
-
-
- {{ $translate("deleteDetail") }} :
-
-
-
- - "{{ element.name }}"
-
-
-
-
- {{ $translate("cancel") }}
-
-
-
- {{ $translate("delete") }}
-
-
-
-
-
-
-
-
-
diff --git a/src/BIMDataSmartComponents/BIMDataFileManager/components/modals/RenameModal.vue b/src/BIMDataSmartComponents/BIMDataFileManager/components/modals/RenameModal.vue
deleted file mode 100644
index 7be635b7..00000000
--- a/src/BIMDataSmartComponents/BIMDataFileManager/components/modals/RenameModal.vue
+++ /dev/null
@@ -1,192 +0,0 @@
-
-
-
-
-
-
-
- {{ $translate("rename") }}
-
-
-
-
- {{ $translate("cancel") }}
-
-
- {{ $translate("submit") }}
-
-
-
-
-
-
-
-
-
diff --git a/src/BIMDataSmartComponents/BIMDataFileManager/components/newFolder/NewFolderButton.vue b/src/BIMDataSmartComponents/BIMDataFileManager/components/newFolder/NewFolderButton.vue
deleted file mode 100644
index 264c344e..00000000
--- a/src/BIMDataSmartComponents/BIMDataFileManager/components/newFolder/NewFolderButton.vue
+++ /dev/null
@@ -1,120 +0,0 @@
-
-
-
-
- {{ $translate("buttonText") }}
-
-
-
-
-
-
-
-
-
-
diff --git a/src/BIMDataSmartComponents/BIMDataFileManager/components/newFolder/NewFolderForm.vue b/src/BIMDataSmartComponents/BIMDataFileManager/components/newFolder/NewFolderForm.vue
deleted file mode 100644
index 94a2fcef..00000000
--- a/src/BIMDataSmartComponents/BIMDataFileManager/components/newFolder/NewFolderForm.vue
+++ /dev/null
@@ -1,168 +0,0 @@
-
-
-
-
-
-
-
diff --git a/src/BIMDataSmartComponents/BIMDataFileManager/i18n.js b/src/BIMDataSmartComponents/BIMDataFileManager/i18n.js
deleted file mode 100644
index 0f19253b..00000000
--- a/src/BIMDataSmartComponents/BIMDataFileManager/i18n.js
+++ /dev/null
@@ -1,130 +0,0 @@
-const en = {
- creationFormTitle: "Create folder",
- renameFormPlaceholder: "Folder/File name",
- nameInputPlaceholder: "Folder name",
- emptyFolder: "This folder is empty",
- newFolderSuccess: "New folder created",
- renameFolderSuccess: "Folder renamed",
- deleteFolderSuccess: "Folder deleted",
- newFileSuccess: "File added",
- renameFileSuccess: "File renamed",
- deleteFileSuccess: "File deleted",
- nameInputErrorMessage: "Invalid name",
- cancel: "Cancel",
- submit: "Submit",
- buttonText: "New folder",
- addFileButtonText: "Upload a file",
- rename: "Rename",
- download: "Download",
- delete: "Delete",
- deleteTitle: "Deleting Files",
- deleteDetail:
- "You are about to permanently delete the following files / folders",
- dmsRoot: "Root of the project's DMS",
-};
-
-const fr = {
- creationFormTitle: "Créer un dossier",
- renameFormPlaceholder: "Nom du fichier/dosier",
- nameInputPlaceholder: "Nom du dossier",
- emptyFolder: "Ce dossier est vide",
- newFolderSuccess: "Nouveau dossier créé",
- renameFolderSuccess: "Dossier renommé",
- deleteFolderSuccess: "Dossier supprimé",
- newFileSuccess: "Fichier ajouté",
- renameFileSuccess: "Fichier renommé",
- deleteFileSuccess: "Fichier supprimé",
- nameInputErrorMessage: "Nom invalide",
- cancel: "Annuler",
- submit: "Valider",
- buttonText: "Nouveau dossier",
- addFileButtonText: "Charger un fichier",
- rename: "Renommer",
- download: "Télécharger",
- delete: "Supprimer",
- deleteTitle: "Supression de fichiers",
- deleteDetail:
- "Vous êtes sur le point de supprimer définitivement les fichiers/dossiers suivants",
- dmsRoot: "Racine de la GED du projet",
-};
-
-const es = {
- creationFormTitle: "Crear un archivo",
- renameFormPlaceholder: "Nombre de archivo / carpeta",
- nameInputPlaceholder: "Nombre de la carpeta",
- emptyFolder: "Esta carpeta está vacía",
- newFolderSuccess: "Nueva carpeta creada",
- renameFolderSuccess: "Carpeta renombrada",
- deleteFolderSuccess: "Carpeta eliminada",
- newFileSuccess: "Archivo agregado",
- renameFileSuccess: "Archivo renombrado",
- deleteFileSuccess: "Archivo eliminado",
- nameInputErrorMessage: "Nombre inválida",
- cancel: "Cancelar",
- submit: "Validar",
- buttonText: "Carpeta nueva",
- addFileButtonText: "Cargar un archivo",
- rename: "Renombrar",
- download: "Descargar",
- delete: "Borrar",
- deleteTitle: "Eliminar archivos",
- deleteDetail:
- "Está a punto de eliminar permanentemente los siguientes archivos / carpetas",
-};
-
-const de = {
- creationFormTitle: "Ordner erstellen",
- renameFormPlaceholder: "Datei- / Ordnernam",
- nameInputPlaceholder: "Ordnername",
- emptyFolder: "Dieser Ordner ist leer",
- newFolderSuccess: "Neuer Ordner erstellt",
- renameFolderSuccess: "Umbenannter Ordner",
- deleteFolderSuccess: "Ordner gelöscht",
- newFileSuccess: "Datei hinzugefügt",
- renameFileSuccess: "Umbenannte Datei",
- deleteFileSuccess: "Datei gelöscht",
- nameInputErrorMessage: "Ungültiger name",
- cancel: "Abbrechen",
- submit: "Bestätigen",
- buttonText: "Neuer Ordner",
- addFileButtonText: "Datei laden",
- rename: "Umbenennen",
- download: "Herunterladen",
- delete: "Löschen",
- deleteTitle: "Dateien löschen",
- deleteDetail:
- "Sie sind im Begriff, die folgenden Dateien / Ordner endgültig zu löschen",
-};
-
-const it = {
- creationFormTitle: "Crea una cartella",
- renameFormPlaceholder: "Nome file/cartella",
- nameInputPlaceholder: "Nome della cartella",
- emptyFolder: "Questa cartella è vuota",
- newFolderSuccess: "Nuova cartella creata",
- renameFolderSuccess: "Cartella rinominata",
- deleteFolderSuccess: "Cartella eliminata",
- newFileSuccess: "File aggiunto",
- renameFileSuccess: "File rinominato",
- deleteFileSuccess: "File cancellato",
- nameInputErrorMessage: "Nome non valido",
- cancel: "Annulla",
- submit: "Invia",
- buttonText: "Nuova cartella",
- addFileButtonText: "Carica un file",
- rename: "Rinominare",
- download: "Scaricare",
- delete: "Cancellare",
- deleteTitle: "Eliminazione di file",
- deleteDetail: "Stai per eliminare definitivamente i seguenti file/cartelle",
-};
-
-const trads = {
- en,
- fr,
- es,
- de,
- it,
-};
-
-export default trads;
diff --git a/src/BIMDataSmartComponents/BIMDataFileManager/utils/files.js b/src/BIMDataSmartComponents/BIMDataFileManager/utils/files.js
deleted file mode 100644
index 892e6999..00000000
--- a/src/BIMDataSmartComponents/BIMDataFileManager/utils/files.js
+++ /dev/null
@@ -1,89 +0,0 @@
-const FOLDER_TYPE = "Folder";
-
-function delay(ms) {
- return new Promise(resolve => setTimeout(resolve, ms));
-}
-
-async function download({ name, url }) {
- const link = document.createElement("a");
- link.style.display = "none";
- link.download = name;
- link.href = url;
- document.body.append(link);
- link.click();
- await delay(100);
- link.remove();
- await delay(500);
-}
-
-function segregate(files) {
- const folders = [];
- const documents = [];
- for (const file of files) {
- if (file.type === FOLDER_TYPE) {
- folders.push(file);
- } else {
- documents.push(file);
- }
- }
- return {
- folders,
- documents,
- };
-}
-
-function getArchiveUrl(files, apiInfos) {
- const {
- projectId,
- spaceId,
- accessToken,
- apiUrl = "https://api.bimdata.io",
- } = apiInfos;
-
- const baseURL = getUrlFromAPIUrl(apiUrl);
-
- const { folders, documents } = segregate(files);
- let url = "";
- if (folders.length > 0 || documents.length > 0) {
- url += `${baseURL}/cloud/${spaceId}/project/${projectId}?`;
- url += `accessToken=${accessToken}&`;
- url += folders.map(f => `folderId[]=${f.id}`).join("&");
- url += folders.length > 0 && documents.length > 0 ? "&" : "";
- url += documents.map(f => `documentId[]=${f.id}`).join("&");
- }
- return url;
-}
-
-function getUrlFromAPIUrl(apiUrl) {
- const url = new URL(apiUrl);
- const hostname = url.hostname;
- let env = "";
- const [apiEnv, ...domainPath] = hostname.split(".");
- const domain = domainPath.join(".");
- if (apiEnv.includes("-staging")) {
- env = "-staging";
- } else if (apiEnv.includes("-next")) {
- env = "-next";
- }
- return url.protocol + "//archive" + env + "." + domain;
-}
-
-async function downloadFiles(files, apiInfos = {}) {
- try {
- if (files.length === 0) {
- return;
- }
- let downloadUrl = null;
- const downloadName = files[0].name;
- if (files.length === 1 && files[0].type !== FOLDER_TYPE) {
- downloadUrl = files[0].file;
- } else {
- downloadUrl = getArchiveUrl(files, apiInfos);
- }
- return await download({ name: downloadName, url: downloadUrl });
- } catch (error) {
- throw new Error(error);
- }
-}
-
-export { downloadFiles };
diff --git a/src/BIMDataSmartComponents/BIMDataFileManager/utils/flattenTree.js b/src/BIMDataSmartComponents/BIMDataFileManager/utils/flattenTree.js
deleted file mode 100644
index d79dc2b1..00000000
--- a/src/BIMDataSmartComponents/BIMDataFileManager/utils/flattenTree.js
+++ /dev/null
@@ -1,16 +0,0 @@
-function getFlattenTree(entity) {
- return [entity, ...getDescendants(entity)];
-}
-
-function getDescendants(entity) {
- if (entity.children && entity.children.length > 0) {
- return [
- ...entity.children,
- ...entity.children.flatMap(child => getDescendants(child)),
- ];
- } else {
- return [];
- }
-}
-
-export default getFlattenTree;
diff --git a/src/BIMDataSmartComponents/index.js b/src/BIMDataSmartComponents/index.js
deleted file mode 100644
index e266f708..00000000
--- a/src/BIMDataSmartComponents/index.js
+++ /dev/null
@@ -1,10 +0,0 @@
-import "../assets/css/_BIMDataVariables.css";
-
-import "../assets/css/utilities/_colors.css";
-import "../assets/css/utilities/_flex.css";
-import "../assets/css/utilities/_grid.css";
-import "../assets/css/utilities/_list.css";
-import "../assets/css/utilities/_spacing.css";
-import "../assets/css/utilities/_text.css";
-
-export { default as BIMDataFileManager } from "./BIMDataFileManager/BIMDataFileManager.vue";
diff --git a/src/assets/css/design-system.css b/src/assets/css/design-system.css
new file mode 100644
index 00000000..488ea3fd
--- /dev/null
+++ b/src/assets/css/design-system.css
@@ -0,0 +1,6 @@
+@import "./variables.css";
+@import "./fonts.css";
+@import "./transitions.css";
+@import "./global.css";
+@import "./utilities/index.css";
+@import "./elements/index.css";
\ No newline at end of file
diff --git a/src/assets/css/elements/_scrollbar.css b/src/assets/css/elements/_scrollbar.css
new file mode 100644
index 00000000..bdd48f9a
--- /dev/null
+++ b/src/assets/css/elements/_scrollbar.css
@@ -0,0 +1,23 @@
+/* Custom SCROLLBAR ------------------------ */
+
+/* width */
+.bimdata-scrollbar ::-webkit-scrollbar {
+ width: 7px;
+ height: 7px;
+}
+
+/* Track */
+.bimdata-scrollbar ::-webkit-scrollbar-track {
+ background-color: var(--color-silver);
+}
+
+/* Handle */
+.bimdata-scrollbar ::-webkit-scrollbar-thumb {
+ background: var(--color-primary);
+ height: 48px;
+}
+
+/* Handle on hover */
+.bimdata-scrollbar ::-webkit-scrollbar-thumb:hover {
+ background: var(--color-granite-light);
+}
\ No newline at end of file
diff --git a/src/assets/css/elements/_submenu.css b/src/assets/css/elements/_submenu.css
new file mode 100644
index 00000000..4fce6154
--- /dev/null
+++ b/src/assets/css/elements/_submenu.css
@@ -0,0 +1,51 @@
+/* Custom SUBMENU ------------------------ */
+
+.submenu {
+ position: absolute;
+ top: 0;
+ box-shadow: var(--box-shadow);
+ background-color: var(--color-white);
+}
+.submenu:is(.submenu--up, .submenu--down, .submenu--left, .submenu--right, .submenu--no-direction)
+ {
+ padding: calc(var(--spacing-unit) / 2) 0;
+ width: 100%;
+ left: 0;
+ border-radius: 3px;
+ z-index: 2;
+ }
+.submenu li {
+ padding: calc(var(--spacing-unit) / 2);
+ cursor: pointer;
+}
+
+.submenu li:hover {
+ background-color: var(--color-silver-light);
+}
+
+.submenu li.disabled {
+ cursor: inherit;
+}
+
+.submenu li.disabled:hover {
+ background-color: transparent;
+}
+
+.submenu--up {
+ top: auto;
+ bottom: calc(100% + calc(var(--spacing-unit)) / 2);
+}
+
+.submenu--down {
+ top: calc(100% + calc(var(--spacing-unit)) / 2);
+}
+
+.submenu--right {
+ left: calc(100% + calc(var(--spacing-unit)) / 2);
+ right: auto;
+}
+
+.submenu--left {
+ left: auto;
+ right: calc(100% + calc(var(--spacing-unit)) / 2);
+}
\ No newline at end of file
diff --git a/src/assets/css/elements/index.css b/src/assets/css/elements/index.css
new file mode 100644
index 00000000..c372a10e
--- /dev/null
+++ b/src/assets/css/elements/index.css
@@ -0,0 +1,2 @@
+@import "./_scrollbar.css";
+@import "./_submenu.css";
\ No newline at end of file
diff --git a/src/assets/css/_BIMDataFonts.css b/src/assets/css/fonts.css
similarity index 91%
rename from src/assets/css/_BIMDataFonts.css
rename to src/assets/css/fonts.css
index 45bd2878..03415ad4 100644
--- a/src/assets/css/_BIMDataFonts.css
+++ b/src/assets/css/fonts.css
@@ -1,7 +1,7 @@
@font-face {
font-family: "roboto";
src: url("../fonts/roboto-bold-webfont.woff2") format("woff2"),
- url("../fonts/roboto-bold-webfont.woff2") format("woff");
+ url("../fonts/roboto-bold-webfont.woff") format("woff");
font-weight: 600 700;
font-style: bold;
font-display: fallback;
@@ -23,4 +23,4 @@
font-weight: 100 400;
font-style: normal;
font-display: fallback;
-}
+}
\ No newline at end of file
diff --git a/src/assets/scss/_BIMDataGlobal.scss b/src/assets/css/global.css
similarity index 96%
rename from src/assets/scss/_BIMDataGlobal.scss
rename to src/assets/css/global.css
index d6c9d9fd..78134294 100644
--- a/src/assets/scss/_BIMDataGlobal.scss
+++ b/src/assets/css/global.css
@@ -2,4 +2,4 @@
*::after,
*::before {
box-sizing: border-box;
-}
+}
\ No newline at end of file
diff --git a/src/assets/scss/_BIMDataTransitions.scss b/src/assets/css/transitions.css
similarity index 72%
rename from src/assets/scss/_BIMDataTransitions.scss
rename to src/assets/css/transitions.css
index 3b1bf5ed..317e4cbd 100644
--- a/src/assets/scss/_BIMDataTransitions.scss
+++ b/src/assets/css/transitions.css
@@ -1,8 +1,9 @@
-// transition SLIDE FADE UP
+/* transition SLIDE FADE UP */
.slide-fade-up-enter-active,
.slide-fade-up-leave-active {
transition: all 0.1s cubic-bezier(1, 0.5, 0.8, 1);
}
+
.slide-fade-up-enter,
.slide-fade-up-enter-from,
.slide-fade-up-leave-to {
@@ -10,22 +11,25 @@
opacity: 0;
}
-// transition SLIDE FADE DOWN
+/* transition SLIDE FADE DOWN */
.slide-fade-down-enter-active,
.slide-fade-down-leave-active {
transition: all 0.1s cubic-bezier(1, 0.5, 0.8, 1);
}
+
.slide-fade-down-enter,
.slide-fade-down-enter-from,
.slide-fade-down-leave-to {
transform: translateY(10px);
opacity: 0;
}
-// transition SLIDE FADE LEFT
+
+/* transition SLIDE FADE LEFT */
.slide-fade-left-enter-active,
.slide-fade-left-leave-active {
transition: all 0.1s cubic-bezier(1, 0.5, 0.8, 1);
}
+
.slide-fade-left-enter,
.slide-fade-left-enter-from,
.slide-fade-left-leave-to {
@@ -33,11 +37,12 @@
opacity: 0;
}
-// transition SLIDE FADE RIGHT
+/* transition SLIDE FADE RIGHT */
.slide-fade-right-enter-active,
.slide-fade-right-leave-active {
transition: all 0.1s cubic-bezier(1, 0.5, 0.8, 1);
}
+
.slide-fade-right-enter,
.slide-fade-right-enter-from,
.slide-fade-right-leave-to {
@@ -45,82 +50,123 @@
opacity: 0;
}
-// transition FADE
+/* transition SLIDE RIGHT */
+.slide-right-enter-active,
+.slide-right-leave-active {
+ transition: all 0.1s cubic-bezier(1, 0.5, 0.8, 1);
+}
+
+.slide-right-enter,
+.slide-right-enter-from,
+.slide-right-leave-to {
+ transform: translateX(20px);
+ opacity: 0;
+ position: absolute;
+}
+
+/* transition SLIDE LEFT */
+.slide-left-enter-active,
+.slide-left-leave-active {
+ transition: all 0.1s cubic-bezier(1, 0.5, 0.8, 1);
+}
+
+.slide-left-enter,
+.slide-left-enter-from,
+.slide-left-leave-to {
+ transform: translateX(-20px);
+ opacity: 0;
+ position: absolute;
+}
+
+/* transition FADE */
.fade-enter-active {
transition: all 0.1s ease-out;
}
+
.fade-leave-active {
transition: all 0.1s ease-in;
}
+
.fade-enter,
.fade-enter-from,
.fade-leave-to {
opacity: 0;
}
-// transition POP
+/* transition POP */
.pop-enter-active {
transition: all 0.4s cubic-bezier(0.4, 1.5, 0.56, 1);
}
+
.pop-leave-active {
transition: all 0.3s ease-in;
}
+
.pop-enter,
.pop-enter-from {
transform: scale(0.1);
opacity: 0.4;
}
+
.pop-enter-to,
.pop-leave,
.pop-leave-from {
transform: scale(1);
opacity: 1;
}
+
.pop-leave-to {
transform: scale(0.7);
opacity: 0;
}
-// transitions LIST
+/* transitions LIST */
.list-enter-active {
transition: all 0.3s ease-out;
}
+
.list-leave-active {
transition: all 0.2s ease-in;
}
+
.list-move {
transition: all 0.3s ease;
}
+
.list-enter,
.list-enter-from,
.list-leave-to {
opacity: 0;
}
-// transition GRID
+/* transition GRID */
.grid-enter-active {
transition: all 0.5s ease-out;
}
+
.grid-leave-active {
transition: all 0.4s ease-in;
}
+
.grid-move {
transition: all 0.5s ease;
}
+
.grid-enter,
.grid-enter-from,
.grid-leave-to {
opacity: 0;
}
-// transition VIEW
+/* transition VIEW */
.page-enter-active,
.page-leave-active {
transition: all 0.5s ease;
}
+
.page-enter,
.page-enter-from,
.page-leave-to {
transform: translateX(-30%);
opacity: 0;
-}
+}
\ No newline at end of file
diff --git a/src/assets/css/utilities/_colors.css b/src/assets/css/utilities/_colors.css
index 149fe9a1..fd03a266 100644
--- a/src/assets/css/utilities/_colors.css
+++ b/src/assets/css/utilities/_colors.css
@@ -2,29 +2,36 @@
.bg-primary {
background-color: var(--color-primary);
}
+
.bg-secondary {
background-color: var(--color-secondary);
}
-/* background GREY SHADES - NEUTRAL */
+/* background GREY SHADES */
.bg-white {
background-color: var(--color-white);
}
+
.bg-silver-light {
background-color: var(--color-silver-light);
}
+
.bg-silver {
background-color: var(--color-silver);
}
+
.bg-silver-dark {
background-color: var(--color-silver-dark);
}
+
.bg-granite-light {
background-color: var(--color-granite-light);
}
+
.bg-granite {
background-color: var(--color-granite);
}
+
.bg-black {
background-color: var(--color-black);
}
@@ -33,40 +40,53 @@
.bg-success {
background-color: var(--color-success);
}
+
.bg-warning {
background-color: var(--color-warning);
}
+
.bg-high {
background-color: var(--color-high);
}
+.bg-neutral {
+ background-color: var(--color-neutral);
+}
+
/* color BRAND COLORS */
.color-primary {
color: var(--color-primary);
}
+
.color-secondary {
color: var(--color-secondary);
}
-/* color GREY SHADES - NEUTRAL */
+/* color GREY SHADES */
.color-white {
color: var(--color-white);
}
+
.color-silver-light {
color: var(--color-silver-light);
}
+
.color-silver {
color: var(--color-silver);
}
+
.color-silver-dark {
color: var(--color-silver-dark);
}
+
.color-granite-light {
color: var(--color-granite-light);
}
+
.color-granite {
color: var(--color-granite);
}
+
.color-black {
color: var(--color-black);
}
@@ -75,40 +95,53 @@
.color-success {
color: var(--color-success);
}
+
.color-warning {
color: var(--color-warning);
}
+
.color-high {
color: var(--color-high);
}
+.color-neutral {
+ color: var(--color-neutral);
+}
+
/* fill BRAND COLORS */
.fill-primary {
fill: var(--color-primary);
}
+
.fill-secondary {
fill: var(--color-secondary);
}
-/* fill GREY SHADES - NEUTRAL */
+/* fill GREY SHADES */
.fill-white {
fill: var(--color-white);
}
+
.fill-silver-light {
fill: var(--color-silver-light);
}
+
.fill-silver {
fill: var(--color-silver);
}
+
.fill-silver-dark {
fill: var(--color-silver-dark);
}
+
.fill-granite-light {
fill: var(--color-granite-light);
}
+
.fill-granite {
fill: var(--color-granite);
}
+
.fill-black {
fill: var(--color-black);
}
@@ -117,48 +150,61 @@
.fill-success {
fill: var(--color-success);
}
+
.fill-warning {
fill: var(--color-warning);
}
+
.fill-high {
fill: var(--color-high);
}
+.fill-neutral {
+ fill: var(--color-neutral);
+}
+
/* stroke BRAND COLORS */
.stroke-primary {
fill: transparent;
stroke: var(--color-primary);
}
+
.stroke-secondary {
fill: transparent;
stroke: var(--color-secondary);
}
-/* stroke GREY SHADES - NEUTRAL */
+/* stroke GREY SHADES */
.stroke-white {
fill: transparent;
stroke: var(--color-white);
}
+
.stroke-silver-light {
fill: transparent;
stroke: var(--color-silver-light);
}
+
.stroke-silver {
fill: transparent;
stroke: var(--color-silver);
}
+
.stroke-silver-dark {
fill: transparent;
stroke: var(--color-silver-dark);
}
+
.stroke-granite-light {
fill: transparent;
stroke: var(--color-granite-light);
}
+
.stroke-granite {
fill: transparent;
stroke: var(--color-granite);
}
+
.stroke-black {
fill: transparent;
stroke: var(--color-black);
@@ -169,11 +215,18 @@
fill: transparent;
stroke: var(--color-success);
}
+
.stroke-warning {
fill: transparent;
stroke: var(--color-warning);
}
+
.stroke-high {
fill: transparent;
stroke: var(--color-high);
}
+
+.stroke-neutral {
+ fill: transparent;
+ stroke: var(--color-neutral);
+}
\ No newline at end of file
diff --git a/src/assets/css/utilities/index.css b/src/assets/css/utilities/index.css
new file mode 100644
index 00000000..529d60c9
--- /dev/null
+++ b/src/assets/css/utilities/index.css
@@ -0,0 +1,6 @@
+@import "./_colors.css";
+@import "./_flex.css";
+@import "./_grid.css";
+@import "./_list.css";
+@import "./_spacing.css";
+@import "./_text.css";
\ No newline at end of file
diff --git a/src/assets/css/_BIMDataVariables.css b/src/assets/css/variables.css
similarity index 74%
rename from src/assets/css/_BIMDataVariables.css
rename to src/assets/css/variables.css
index e2381680..cbcc0ebc 100644
--- a/src/assets/css/_BIMDataVariables.css
+++ b/src/assets/css/variables.css
@@ -1,68 +1,76 @@
html {
- /* base COLORS ------------------------------------------- */
+ /* base COLORS -------------------------------- */
/* --------------------------------
color PRIMARY & VARIANTS -------------------------------- */
- --color-primary-lighter: rgba(248, 249, 250, 1);
- --color-primary-light: rgba(67, 78, 105, 1);
--color-primary: rgba(47, 55, 74, 1);
+ --color-primary-light: rgba(67, 78, 105, 1);
+ --color-primary-lighter: rgba(248, 249, 250, 1);
--color-primary-dark: rgba(27, 32, 43, 1);
/* --------------------------------
color SECONDARY & VARIANTS -------------------------------- */
- --color-secondary-lighter: rgba(255, 252, 242, 1);
- --color-secondary-light: rgba(250, 212, 94, 1);
--color-secondary: rgba(249, 199, 44, 1);
+ --color-secondary-light: rgba(250, 212, 94, 1);
+ --color-secondary-lighter: rgba(255, 252, 242, 1);
--color-secondary-dark: rgba(235, 180, 7, 1);
/* --------------------------------
- colors GREY SHADES - NEUTRAL-------------------------------- */
+ colors GREY SHADES -------------------------------- */
--color-white: rgba(255, 255, 255, 1);
- --color-silver-light: rgba(247, 247, 247, 1);
--color-silver: rgba(216, 216, 216, 1);
+ --color-silver-light: rgba(247, 247, 247, 1);
--color-silver-dark: rgba(190, 190, 190, 1);
- --color-granite-light: rgba(122, 122, 122, 1);
--color-granite: rgba(96, 96, 96, 1);
- --color-black-lighter: rgba(0, 0, 0, 0.1);
+ --color-granite-light: rgba(122, 122, 122, 1);
--color-black: rgba(0, 0, 0, 1);
-
- /* --------------------------------
- color TEXT -------------------------------- */
- --color-text: rgba(47, 55, 74, 1);
+ --color-black-lighter: rgba(0, 0, 0, 0.1);
/* --------------------------------
color SUCCESS & VARIANTS -------------------------------- */
- --color-success-lighter: rgba(226, 255, 239, 1);
- --color-success-light: rgba(0, 200, 92, 1);
--color-success: rgba(0, 175, 80, 1);
+ --color-success-light: rgba(0, 200, 92, 1);
+ --color-success-lighter: rgba(226, 255, 239, 1);
--color-success-dark: rgba(0, 149, 68, 1);
/* --------------------------------
color WARNING & VARIANTS -------------------------------- */
- --color-warning-lighter: rgba(255, 233, 204, 1);
- --color-warning-light: rgba(255, 167, 51, 1);
--color-warning: rgba(255, 145, 0, 1);
+ --color-warning-light: rgba(255, 167, 51, 1);
+ --color-warning-lighter: rgba(255, 233, 204, 1);
--color-warning-dark: rgba(204, 116, 0, 1);
/* --------------------------------
color HIGH & VARIANTS -------------------------------- */
- --color-high-lighter: rgba(255, 237, 234, 1);
- --color-high-light: rgba(255, 104, 81, 1);
--color-high: rgba(255, 61, 30, 1);
+ --color-high-light: rgba(255, 104, 81, 1);
+ --color-high-lighter: rgba(255, 237, 234, 1);
--color-high-dark: rgba(234, 31, 0, 1);
- /* base FONT SIZE ----------------------------------------- */
+ /* --------------------------------
+ color NEUTRAL & VARIANTS -------------------------------- */
+ --color-neutral: rgba(32, 93, 189, 1);
+ --color-neutral-light: rgba(51, 117, 221, 1);
+ --color-neutral-lighter: rgba(240, 245, 255, 1);
+ --color-neutral-dark: rgba(25, 72, 145, 1);
+
+ /* --------------------------------
+ color TEXT -------------------------------- */
+ --color-text: rgba(47, 55, 74, 1);
+
+ /* base FONT SIZE -------------------------------- */
--font-size: 14px;
- /* base BOX-SHADOW ----------------------------------------- */
+ /* base BOX-SHADOW -------------------------------- */
--box-shadow: 0px 2px 10px rgba(0, 0, 0, 0.1);
+ --box-shadow-dark: 0 2px 10px 0 rgba(0, 0, 0, 0.3);
- /* base BORDER RADIUS ----------------------------------------- */
+ /* base BORDER RADIUS -------------------------------- */
--border-radius-tiny: 3px;
- /* base SPACING UNIT -------------------------------------- */
+ /* base SPACING UNIT -------------------------------- */
--spacing-unit: 12px;
--size-btn-options: 45px;
- /* base FONTS -------------------------------------- */
+ /* base FONTS -------------------------------- */
--primary-font: "roboto", sans-serif;
-}
+}
\ No newline at end of file
diff --git a/src/assets/iconsColors.js b/src/assets/iconsColors.js
index 4647a9a4..c21034cd 100644
--- a/src/assets/iconsColors.js
+++ b/src/assets/iconsColors.js
@@ -4,6 +4,7 @@ export default Object.freeze([
"granite",
"granite-light",
"high",
+ "neutral",
"primary",
"secondary",
"success",
diff --git a/src/assets/scss/BIMData.scss b/src/assets/scss/BIMData.scss
deleted file mode 100644
index 3efc7045..00000000
--- a/src/assets/scss/BIMData.scss
+++ /dev/null
@@ -1,9 +0,0 @@
-// import GLOBAL STYLE
-@import "./BIMDataVariables.scss";
-@import "./BIMDataGlobal.scss";
-@import "./BIMDataMixins.scss";
-@import "./BIMDataUtilities.scss";
-
-// import ELEMENTS
-@import "./elements/BIMDataScrollbar.scss";
-@import "./elements/BIMDataSubmenus.scss";
diff --git a/src/assets/scss/_BIMDataFonts.scss b/src/assets/scss/_BIMDataFonts.scss
deleted file mode 100644
index 0f686f4d..00000000
--- a/src/assets/scss/_BIMDataFonts.scss
+++ /dev/null
@@ -1,26 +0,0 @@
-@font-face {
- font-family: "roboto";
- src: url("~@/assets/fonts/roboto-bold-webfont.woff2") format("woff2"),
- url("~@/assets/fonts/roboto-bold-webfont.woff2") format("woff");
- font-weight: 600 700;
- font-style: bold;
- font-display: fallback;
-}
-
-@font-face {
- font-family: "roboto";
- src: url("~@/assets/fonts/roboto-medium-webfont.woff2") format("woff2"),
- url("~@/assets/fonts/roboto-medium-webfont.woff") format("woff");
- font-weight: 500;
- font-style: medium;
- font-display: fallback;
-}
-
-@font-face {
- font-family: "roboto";
- src: url("~@/assets/fonts/roboto-regular-webfont.woff2") format("woff2"),
- url("~@/assets/fonts/roboto-regular-webfont.woff") format("woff");
- font-weight: 100 400;
- font-style: normal;
- font-display: fallback;
-}
diff --git a/src/assets/scss/_BIMDataMixins.scss b/src/assets/scss/_BIMDataMixins.scss
deleted file mode 100644
index 12224a6b..00000000
--- a/src/assets/scss/_BIMDataMixins.scss
+++ /dev/null
@@ -1,2 +0,0 @@
-@import "./mixins/_font-size.scss";
-@import "./mixins/_pseudo.scss";
diff --git a/src/assets/scss/_BIMDataUtilities.scss b/src/assets/scss/_BIMDataUtilities.scss
deleted file mode 100644
index d052b9a5..00000000
--- a/src/assets/scss/_BIMDataUtilities.scss
+++ /dev/null
@@ -1,7 +0,0 @@
-// import UTILITIES
-@import "./utilities/colors.scss";
-@import "./utilities/flex.scss";
-@import "./utilities/grid.scss";
-@import "./utilities/list.scss";
-@import "./utilities/spacing.scss";
-@import "./utilities/text.scss";
diff --git a/src/assets/scss/_BIMDataVariables.scss b/src/assets/scss/_BIMDataVariables.scss
deleted file mode 100644
index c9e41b33..00000000
--- a/src/assets/scss/_BIMDataVariables.scss
+++ /dev/null
@@ -1,107 +0,0 @@
-/* base COLORS --------------------------------------------- */
-/* colors BRAND */
-$color-primary: rgba(47, 55, 74, 1);
-$color-secondary: rgba(249, 199, 44, 1);
-
-/* colors GREY SHADES - NEUTRAL */
-$color-silver: rgba(216, 216, 216, 1);
-$color-granite: rgba(96, 96, 96, 1);
-$color-white: rgba(255, 255, 255, 1);
-$color-silver-light: lighten($color-silver, 12%);
-$color-silver-dark: darken($color-silver, 11%);
-$color-granite-light: lighten($color-granite, 10%);
-$color-black: rgba(0, 0, 0, 1);
-
-/* color TEXT */
-$color-text: rgba(47, 55, 74, 1);
-
-/* state colors */
-$color-success: rgba(0, 175, 80, 1);
-$color-warning: rgba(255, 145, 0, 1);
-$color-high: rgba(255, 61, 31, 1);
-
-/* base FONT SIZE ----------------------------------------- */
-$font-size: 14px;
-
-/* base BOX-SHADOW ----------------------------------------- */
-$box-shadow: 0px 2px 10px rgba($color-black, 0.1);
-
-/* base SPACING UNIT -------------------------------------- */
-$spacing-unit: 12px;
-$size-btn-options: 45px;
-
-/* base FONTS -------------------------------------- */
-$primary-font: "roboto", sans-serif;
-
-html {
- /* base COLORS ------------------------------------------- */
- /* --------------------------------
- color PRIMARY & VARIANTS -------------------------------- */
- --color-primary-lighter: rgba(248, 249, 250, 1);
- --color-primary-light: rgba(67, 78, 105, 1);
- --color-primary: rgba(47, 55, 74, 1);
- --color-primary-dark: rgba(27, 32, 43, 1);
-
- /* --------------------------------
- color SECONDARY & VARIANTS -------------------------------- */
- --color-secondary-lighter: rgba(255, 252, 242, 1);
- --color-secondary-light: rgba(250, 212, 94, 1);
- --color-secondary: rgba(249, 199, 44, 1);
- --color-secondary-dark: rgba(235, 180, 7, 1);
-
- /* --------------------------------
- color GREY SHADES - NEUTRAL
- -------------------------------- */
- --color-white: rgba(255, 255, 255, 1);
- --color-silver-light: rgba(247, 247, 247, 1);
- --color-silver: rgba(216, 216, 216, 1);
- --color-silver-dark: rgba(189, 189, 189, 1);
- --color-granite-light: rgba(122, 122, 122, 1);
- --color-granite: rgba(96, 96, 96, 1);
- --color-black: rgba(0, 0, 0, 1);
-
- /* --------------------------------
- color TEXT -------------------------------- */
- --color-text: rgba(47, 55, 74, 1);
-
- /* --------------------------------
- color BLACK & VARIANTS -------------------------------- */
- --color-black-100: rgba(0, 0, 0, 0.1);
-
- /* --------------------------------
- color SUCCESS & VARIANTS -------------------------------- */
- --color-success-lighter: rgba(226, 255, 239, 1);
- --color-success-light: rgba(0, 200, 92, 1);
- --color-success: rgba(0, 175, 80, 1);
- --color-success-dark: rgba(0, 149, 68, 1);
-
- /* --------------------------------
- color WARNING & VARIANTS -------------------------------- */
- --color-warning-lighter: rgba(255, 233, 204, 1);
- --color-warning-light: rgba(255, 167, 51, 1);
- --color-warning: rgba(255, 145, 0, 1);
- --color-warning-dark: rgba(204, 116, 0, 1);
-
- /* --------------------------------
- color HIGH & VARIANTS -------------------------------- */
- --color-high-lighter: rgba(255, 237, 234, 1);
- --color-high-light: rgba(255, 104, 81, 1);
- --color-high: rgba(255, 61, 30, 1);
- --color-high-dark: rgba(234, 31, 0, 1);
-
- /* base FONT SIZE ----------------------------------------- */
- --font-size: 14px;
-
- /* base BOX-SHADOW ----------------------------------------- */
- --box-shadow: 0px 2px 10px rgba(0, 0, 0, 0.1);
-
- /* base BORDER RADIUS ----------------------------------------- */
- --border-radius-tiny: 3px;
-
- /* base SPACING UNIT -------------------------------------- */
- --spacing-unit: 12px;
- --size-btn-options: 45px;
-
- /* base FONTS -------------------------------------- */
- --primary-font: "roboto", sans-serif;
-}
diff --git a/src/assets/scss/elements/_BIMDataScrollbar.scss b/src/assets/scss/elements/_BIMDataScrollbar.scss
deleted file mode 100644
index 7c25cc5f..00000000
--- a/src/assets/scss/elements/_BIMDataScrollbar.scss
+++ /dev/null
@@ -1,22 +0,0 @@
-/* custom SCROLLBAR ------------------------ */
-/* width */
-::-webkit-scrollbar {
- width: 7px;
- height: 7px;
-}
-
-/* Track */
-::-webkit-scrollbar-track {
- background-color: var(--color-silver);
-}
-
-/* Handle */
-::-webkit-scrollbar-thumb {
- background: var(--color-primary);
- height: 48px;
-}
-
-/* Handle on hover */
-::-webkit-scrollbar-thumb:hover {
- background: var(--color-granite-light);
-}
diff --git a/src/assets/scss/elements/_BIMDataSubmenus.scss b/src/assets/scss/elements/_BIMDataSubmenus.scss
deleted file mode 100644
index 03fb1f31..00000000
--- a/src/assets/scss/elements/_BIMDataSubmenus.scss
+++ /dev/null
@@ -1,152 +0,0 @@
-/* custom GLOBAL SUBMENU
- ---------------------------------------------------------- */
-.submenu {
- position: absolute;
- top: 0;
- background-color: var(--color-white);
- box-shadow: var(--box-shadow);
- &--header {
- width: 100%;
- ul {
- width: 100%;
- position: absolute;
- bottom: 2px;
- right: 0;
- background-color: var(--color-white);
- border-radius: 3px;
- box-shadow: var(--box-shadow);
- li {
- padding: calc(var(--spacing-unit) / 2);
- }
- }
- }
- &--up,
- &--down,
- &--right,
- &--left {
- padding: calc(var(--spacing-unit) / 2) 0;
- width: 100%;
- left: 0;
- border-radius: 3px;
- z-index: 2;
- li {
- padding: calc(var(--spacing-unit) / 2);
- cursor: pointer;
- &:hover {
- background-color: var(--color-silver-light);
- }
- &.disabled {
- cursor: inherit;
- &:hover {
- background-color: transparent;
- }
- }
- }
- }
- &--up {
- top: auto;
- bottom: calc(100% + calc(var(--spacing-unit)) / 2);
- }
- // custom SUBMENU MODEL
- &--down {
- top: calc(100% + calc(var(--spacing-unit)) / 2);
- }
- // custom SUBMENU TOOLS MENU
- &--right {
- left: calc(100% + calc(var(--spacing-unit)) / 2);
- right: auto;
- &__simple {
- padding: var(--spacing-unit);
- width: 229px;
- display: flex;
- flex-direction: column;
- justify-content: center;
- left: calc(100% + var(--spacing-unit));
- top: 0;
- }
- &__panel {
- width: 400px;
- height: calc(var(--plugin-units-height) - (2 * 12px));
- left: calc(100% + var(--spacing-unit));
- z-index: 1;
- }
- &__free {
- left: calc(100% + var(--spacing-unit));
- z-index: 1;
- }
- }
- // custom SUBMENU PLUGIN MENU
- &--left {
- right: calc(100% + calc(var(--spacing-unit)) / 2);
- left: auto;
- &__panel {
- width: 400px;
- height: calc(var(--plugin-units-height) - (2 * 12px));
- right: calc(100% + var(--spacing-unit));
- z-index: 1;
- }
- &__free {
- right: calc(100% + var(--spacing-unit));
- z-index: 1;
- }
- &__simple {
- padding: var(--spacing-unit);
- width: 187px;
- display: flex;
- flex-direction: column;
- justify-content: center;
- right: calc(100% + var(--spacing-unit));
- top: 0;
- }
- }
- &__header {
- padding: 0 var(--spacing-unit);
- height: 32px;
- display: flex;
- align-items: center;
- justify-content: space-between;
- box-shadow: var(--box-shadow);
- &--left {
- display: flex;
- align-items: center;
- position: relative;
- }
- &__menu {
- height: 20px;
- display: flex;
- align-items: center;
- position: relative;
- cursor: pointer;
- }
- &__submenu {
- width: 184px;
- position: absolute;
- background-color: var(--color-white);
- box-shadow: 0 2px 10px 0 rgba(var(--color-black), 0.12);
- top: 22px;
- left: 0;
- border-radius: 3px;
- z-index: 1;
- ul {
- padding: calc(var(--spacing-unit) / 2) 0;
- li {
- padding: calc(var(--spacing-unit) / 2);
- background-color: var(--color-white);
- cursor: pointer;
- font-size: calculateEm(12px);
- display: flex;
- align-items: center;
- svg {
- margin-right: var(--spacing-unit);
- }
- &:hover {
- background-color: var(--color-silver-light);
- }
- }
- }
- }
- &__name {
- margin-left: 12px;
- }
- }
-}
diff --git a/src/assets/scss/mixins/_colors-variation.scss b/src/assets/scss/mixins/_colors-variation.scss
deleted file mode 100644
index 09288b98..00000000
--- a/src/assets/scss/mixins/_colors-variation.scss
+++ /dev/null
@@ -1,30 +0,0 @@
-@function str-replace($string, $search, $replace: "") {
- $index: str-index($string, $search);
- @if $index {
- @return str-slice($string, 1, $index - 1) + $replace +
- str-replace(
- str-slice($string, $index + str-length($search)),
- $search,
- $replace
- );
- }
- @return $string;
-}
-
-@function alpha($color, $opacity) {
- $color: str-replace($color, "var(");
- $color: str-replace($color, ")");
- $color-h: var(#{$color + "-h"});
- $color-s: var(#{$color + "-s"});
- $color-l: var(#{$color + "-l"});
- @return hsla($color-h, $color-s, $color-l, $opacity);
-}
-
-@function lightness($color, $lightnessTransform) {
- $color: str-replace($color, "var(");
- $color: str-replace($color, ")");
- $color-h: var(#{$color + "-h"});
- $color-s: var(#{$color + "-s"});
- $color-l: var(#{$color + "-l"});
- @return hsl($color-h, $color-s, calc(#{$color-l} * #{$lightnessTransform}));
-}
diff --git a/src/assets/scss/mixins/_font-size.scss b/src/assets/scss/mixins/_font-size.scss
index f33d927a..b9c00760 100644
--- a/src/assets/scss/mixins/_font-size.scss
+++ b/src/assets/scss/mixins/_font-size.scss
@@ -1,3 +1,5 @@
+@use "sass:math";
+
$browser-context: 14;
@function calculateEm($pixels, $context: $browser-context) {
@@ -9,5 +11,5 @@ $browser-context: 14;
$context: $context * 1px;
}
- @return $pixels / $context * 1em;
-}
\ No newline at end of file
+ @return #{math.div($pixels, $context)}em;
+}
diff --git a/src/assets/scss/mixins/_pseudo.scss b/src/assets/scss/mixins/_pseudo.scss
deleted file mode 100644
index 898d6a59..00000000
--- a/src/assets/scss/mixins/_pseudo.scss
+++ /dev/null
@@ -1,6 +0,0 @@
-// mixin PSEUDO FOR BEFORE & AFTER
-@mixin pseudo($display: block, $pos: absolute, $content: ''){
- content: $content;
- display: $display;
- position: $pos;
-}
\ No newline at end of file
diff --git a/src/assets/scss/utilities/_colors.scss b/src/assets/scss/utilities/_colors.scss
deleted file mode 100644
index d3a42dd2..00000000
--- a/src/assets/scss/utilities/_colors.scss
+++ /dev/null
@@ -1,180 +0,0 @@
-@import "../BIMDataVariables";
-/* background BRAND COLORS */
-.bg-primary {
- background-color: var(--color-primary);
-}
-.bg-secondary {
- background-color: var(--color-secondary);
-}
-
-/* background GREY SHADES - NEUTRAL */
-.bg-white {
- background-color: var(--color-white);
-}
-.bg-silver-light {
- background-color: var(--color-silver-light);
-}
-.bg-silver {
- background-color: var(--color-silver);
-}
-.bg-silver-dark {
- background-color: var(--color-silver-dark);
-}
-.bg-granite-light {
- background-color: var(--color-granite-light);
-}
-.bg-granite {
- background-color: var(--color-granite);
-}
-.bg-black {
- background-color: var(--color-black);
-}
-
-/* background STATE COLORS */
-.bg-success {
- background-color: var(--color-success);
-}
-.bg-warning {
- background-color: var(--color-warning);
-}
-.bg-high {
- background-color: var(--color-high);
-}
-
-/* color BRAND COLORS */
-.color-primary {
- color: var(--color-primary);
-}
-.color-secondary {
- color: var(--color-secondary);
-}
-
-/* color GREY SHADES - NEUTRAL */
-.color-white {
- color: var(--color-white);
-}
-.color-silver-light {
- color: var(--color-silver-light);
-}
-.color-silver {
- color: var(--color-silver);
-}
-.color-silver-dark {
- color: var(--color-silver-dark);
-}
-.color-granite-light {
- color: var(--color-granite-light);
-}
-.color-granite {
- color: var(--color-granite);
-}
-.color-black {
- color: var(--color-black);
-}
-
-/* color STATE COLORS */
-.color-success {
- color: var(--color-success);
-}
-.color-warning {
- color: var(--color-warning);
-}
-.color-high {
- color: var(--color-high);
-}
-
-/* fill BRAND COLORS */
-.fill-primary {
- fill: var(--color-primary);
-}
-.fill-secondary {
- fill: var(--color-secondary);
-}
-
-/* fill GREY SHADES - NEUTRAL */
-.fill-white {
- fill: var(--color-white);
-}
-.fill-silver-light {
- fill: var(--color-silver-light);
-}
-.fill-silver {
- fill: var(--color-silver);
-}
-.fill-silver-dark {
- fill: var(--color-silver-dark);
-}
-.fill-granite-light {
- fill: var(--color-granite-light);
-}
-.fill-granite {
- fill: var(--color-granite);
-}
-.fill-black {
- fill: var(--color-black);
-}
-
-/* fill STATE COLORS */
-.fill-success {
- fill: var(--color-success);
-}
-.fill-warning {
- fill: var(--color-warning);
-}
-.fill-high {
- fill: var(--color-high);
-}
-
-/* stroke BRAND COLORS */
-.stroke-primary {
- fill: transparent;
- stroke: var(--color-primary);
-}
-.stroke-secondary {
- fill: transparent;
- stroke: var(--color-secondary);
-}
-
-/* stroke GREY SHADES - NEUTRAL */
-.stroke-white {
- fill: transparent;
- stroke: var(--color-white);
-}
-.stroke-silver-light {
- fill: transparent;
- stroke: var(--color-silver-light);
-}
-.stroke-silver {
- fill: transparent;
- stroke: var(--color-silver);
-}
-.stroke-silver-dark {
- fill: transparent;
- stroke: var(--color-silver-dark);
-}
-.stroke-granite-light {
- fill: transparent;
- stroke: var(--color-granite-light);
-}
-.stroke-granite {
- fill: transparent;
- stroke: var(--color-granite);
-}
-.stroke-black {
- fill: transparent;
- stroke: var(--color-black);
-}
-
-/* stroke STATE COLORS */
-.stroke-success {
- fill: transparent;
- stroke: var(--color-success);
-}
-.stroke-warning {
- fill: transparent;
- stroke: var(--color-warning);
-}
-.stroke-high {
- fill: transparent;
- stroke: var(--color-high);
-}
diff --git a/src/assets/scss/utilities/_flex.scss b/src/assets/scss/utilities/_flex.scss
deleted file mode 100644
index ccd79760..00000000
--- a/src/assets/scss/utilities/_flex.scss
+++ /dev/null
@@ -1,59 +0,0 @@
-.flex {
- display: flex;
- /* flex direction */
- &-row {
- flex-direction: row;
- }
- &-col {
- flex-direction: column;
- }
-}
-
-.inline-flex {
- display: inline-flex;
-}
-
-/* align items */
-.items-start {
- align-items: flex-start;
-}
-.items-center {
- align-items: center;
-}
-.items-end {
- align-items: flex-end;
-}
-
-/* align content */
-.content-start {
- align-content: flex-start;
-}
-.content-center {
- align-content: center;
-}
-.content-end {
- align-content: flex-end;
-}
-.content-between {
- align-content: space-between;
-}
-.content-around {
- align-content: space-around;
-}
-
-/* justify content */
-.justify-start {
- justify-content: flex-start;
-}
-.justify-center {
- justify-content: center;
-}
-.justify-end {
- justify-content: flex-end;
-}
-.justify-between {
- justify-content: space-between;
-}
-.justify-around {
- justify-content: space-around;
-}
diff --git a/src/assets/scss/utilities/_grid.scss b/src/assets/scss/utilities/_grid.scss
deleted file mode 100644
index 81f8d547..00000000
--- a/src/assets/scss/utilities/_grid.scss
+++ /dev/null
@@ -1,3 +0,0 @@
-.grid {
- display: grid;
-}
diff --git a/src/assets/scss/utilities/_list.scss b/src/assets/scss/utilities/_list.scss
deleted file mode 100644
index 1113e237..00000000
--- a/src/assets/scss/utilities/_list.scss
+++ /dev/null
@@ -1,7 +0,0 @@
-.bimdata-list {
- margin: 0;
- padding: 0;
- li {
- list-style-type: none;
- }
-}
diff --git a/src/assets/scss/utilities/_spacing.scss b/src/assets/scss/utilities/_spacing.scss
deleted file mode 100644
index 121e15d9..00000000
--- a/src/assets/scss/utilities/_spacing.scss
+++ /dev/null
@@ -1,45 +0,0 @@
-// mixin MARGIN & PADDING
-$spaceamounts: (6, 12, 18, 24, 30, 36, 42, 48);
-$sides: (top, bottom, left, right, all, horizontal, vertical);
-
-@each $space in $spaceamounts {
- @each $side, $value in $sides {
- @if $side == "all" {
- // global MARGIN & PADDING
- .m-#{$space} {
- margin: #{$space}px;
- }
- .p-#{$space} {
- padding: #{$space}px;
- }
- } @else if ($side == "horizontal") {
- // horizontal MARGIN & PADDING
- .m-x-#{$space} {
- margin-right: #{$space}px;
- margin-left: #{$space}px;
- }
- .p-x-#{$space} {
- padding-right: #{$space}px;
- padding-left: #{$space}px;
- }
- } @else if ($side == "vertical") {
- // vertical MARGIN & PADDING
- .m-y-#{$space} {
- margin-top: #{$space}px;
- margin-bottom: #{$space}px;
- }
- .p-y-#{$space} {
- padding-top: #{$space}px;
- padding-bottom: #{$space}px;
- }
- } @else {
- // unitary MARGIN & PADDING
- .m-#{str-slice($side, 0, 1)}-#{$space} {
- margin-#{$side}: #{$space}px;
- }
- .p-#{str-slice($side, 0, 1)}-#{$space} {
- padding-#{$side}: #{$space}px;
- }
- }
- }
-}
diff --git a/src/assets/scss/utilities/_text.scss b/src/assets/scss/utilities/_text.scss
deleted file mode 100644
index 1aae62fd..00000000
--- a/src/assets/scss/utilities/_text.scss
+++ /dev/null
@@ -1,21 +0,0 @@
-@import "../BIMDataVariables";
-@import "../mixins/font-size";
-.text-left {
- text-align: left;
-}
-.text-center {
- text-align: center;
-}
-.text-right {
- text-align: right;
-}
-.bimdata-link {
- color: var(--color-primary);
- border-bottom: 1px solid var(--color-primary);
- font-weight: 700;
-}
-
-/* BIMDATA FONT WEIGHT */
-.primary-font {
- font-family: "roboto", sans-serif;
-}
diff --git a/src/main.js b/src/main.js
deleted file mode 100644
index 39901544..00000000
--- a/src/main.js
+++ /dev/null
@@ -1,16 +0,0 @@
-import Vue from "vue";
-import App from "./web/App.vue";
-import router from "./web/router/router";
-import VueClipboard from "vue-clipboard2";
-import store from "./store.js";
-
-Vue.config.productionTip = false;
-Vue.use(VueClipboard);
-
-new Vue({
- router,
- store,
- render: function (h) {
- return h(App);
- },
-}).$mount("#app");
diff --git a/src/plugin.js b/src/plugin.js
deleted file mode 100644
index d05c53d6..00000000
--- a/src/plugin.js
+++ /dev/null
@@ -1,19 +0,0 @@
-import BIMDataButton from "./BIMDataComponents/BIMDataButton/BIMDataButton.js";
-import BIMDataCard from "./BIMDataComponents/BIMDataCard/BIMDataCard.vue";
-import BIMDataCardBand from "./BIMDataComponents/BIMDataCard/BIMDataCardBand.vue";
-
-const components = [BIMDataButton, BIMDataCard, BIMDataCardBand];
-
-const BIMData = {
- install(Vue) {
- // Vue.component(BIMDataButton.name, BIMDataButton)
- components.forEach(component => Vue.component(component.name, component));
- },
-};
-
-// Automatic installation if Vue has been added to the global scope
-if (typeof window !== "undefined" && window.Vue) {
- window.Vue.use(BIMData);
-}
-
-export default BIMData;
diff --git a/src/store.js b/src/store.js
deleted file mode 100644
index f173558d..00000000
--- a/src/store.js
+++ /dev/null
@@ -1,301 +0,0 @@
-import Vue from "vue";
-import Vuex from "vuex";
-
-Vue.use(Vuex);
-
-export default new Vuex.Store({
- state: {
- "Getting started": {
- text:
- "Learn how to quickly get started with our component library to build expressive, consistent UI at BIMData.",
- path: "getting-started",
- img: require("./web/assets/img/icon-getting_stated.svg"),
- children: [
- {
- title: "Designers",
- img: require("./web/assets/img/icon-designers.svg"),
- path: "designers",
- text:
- "Collection of tools and resources you need to start designing with the BIMData design system.",
- btn: "Get design kit",
- },
- {
- title: "Developpers",
- img: require("./web/assets/img/icon-developpers.svg"),
- path: "developpers",
- text: "How to use the BIMData design system in your projects.",
- btn: "Get dev kit",
- },
- {
- title: "InternalDoc",
- img: require("./web/assets/img/icon-doc.svg"),
- path: "internal-doc",
- text: "Documentation, if you want to add your own components",
- btn: "Getting started",
- },
- ],
- },
- "Guidelines & Utilities": {
- text:
- "How BIMData looks: guidelines for colors, spacing, typography, ...",
- img: require("./web/assets/img/icon-guidelines.svg"),
- path: "guidelines-utilities",
- children: [
- {
- title: "Utilities",
- path: "utilities",
- img: require("./web/assets/img/icon-utilities2.svg"),
- text: "Summary of all defined and usable classes and how use them.",
- btn: "View utilities",
- },
- {
- title: "Variables",
- path: "variables",
- img: require("./web/assets/img/icon-variables.svg"),
- text: "See all defines and usable BIMData variables and how use it.",
- btn: "View variables",
- },
- {
- title: "Colors",
- path: "colors",
- img: require("./web/assets/img/icon-colors.svg"),
- text: "BIMData uses a color palette to achieve clean interfaces.",
- btn: "View colors",
- },
- {
- title: "list",
- img: require("./web/assets/img/icon-list.svg"),
- path: "list",
- text: "Minimal layout container for displaying a group of items.",
- btn: "View list",
- },
- {
- title: "Markup & Style",
- img: require("./web/assets/img/icon-markup.svg"),
- path: "markup",
- text:
- "How to name your classes to respect the structure already in place.",
- btn: "View markup",
- },
- {
- title: "Spacing",
- img: require("./web/assets/img/icon-spacing.svg"),
- path: "spacing",
- text:
- "Adjust whitespace by applying spacing, margin, padding helpers.",
- btn: "View spacing",
- },
- {
- title: "Typography",
- img: require("./web/assets/img/icon-typo.svg"),
- path: "typography",
- text:
- "Indispensable for defining visual identity and organizing content.",
- btn: "View typography",
- },
- ],
- },
- Components: {
- text:
- "We developed a VueJS UI library that contains a set of components and demos for building interactive user interfaces.",
- img: require("./web/assets/img/icon-components.svg"),
- path: "components",
- children: [
- {
- title: "Buttons",
- img: require("./web/assets/img/icon-buttons.svg"),
- path: "buttons",
- text:
- "Buttons are used to trigger actions based on a user's interaction.",
- btn: "View buttons",
- },
- {
- title: "Cards",
- img: require("./web/assets/img/icon-card.svg"),
- path: "cards",
- text: "Cards are used to groups a related content.",
- btn: "View cards",
- },
- {
- title: "Checkbox",
- img: require("./web/assets/img/icon-checkbox.svg"),
- path: "checkbox",
- text:
- "Checkboxes are used to enables users to pick multiple options from a group.",
- btn: "View checkbox",
- },
- {
- title: "ColorSelector",
- img: require("./web/assets/img/icon-color_selector.svg"),
- path: "colorselector",
- text:
- "Color Selector component allows the user to pick from a set of predefined swatches colors.",
- btn: "View color selector",
- },
- {
- title: "DropdownList",
- img: require("./web/assets/img/icon-dropdown.svg"),
- path: "dropdownlist",
- text: "DropdownList component shows a menu with an paginated list.",
- btn: "View dropdown list",
- },
- {
- title: "DropdownMenu",
- img: require("./web/assets/img/icon-dropdown.svg"),
- path: "dropdownmenu",
- text: "Dropdown component shows a simple menu.",
- btn: "View dropdown menu",
- },
- {
- title: "FileIcon",
- img: require("./web/assets/img/icon-icons.svg"),
- path: "fileicon",
- text: "FileIcon is used to provide file visual context.",
- btn: "View FileIcon",
- },
- {
- title: "Icons",
- img: require("./web/assets/img/icon-icons.svg"),
- path: "icons",
- text: "Icons are used to provide additional visual context.",
- btn: "View icons",
- },
- {
- title: "Illustrations",
- img: require("./web/assets/img/icon-icons.svg"),
- path: "illustrations",
- text: "Illustrations are used to provide additional visual context.",
- btn: "View illustrations",
- },
- {
- title: "Input",
- img: require("./web/assets/img/icon-input.svg"),
- path: "input",
- text:
- "Inputs are used for enabled a user to interact and input data.",
- btn: "View input",
- },
- {
- title: "Loaders",
- img: require("./web/assets/img/icon-loader.svg"),
- path: "loaders",
- text:
- "Loaders are used to notify a user that data or page is being retrieved.",
- btn: "View loaders",
- },
- {
- title: "Pagination",
- img: require("./web/assets/img/icon-pagination.svg"),
- path: "pagination",
- text:
- "Pagination is used to lets users navigate through large collections of items.",
- btn: "View pagination",
- },
- {
- title: "Radio",
- img: require("./web/assets/img/icon-radio.svg"),
- path: "radio",
- text:
- "Radio buttons enables a user to make a single selection from a group of options.",
- btn: "View radio",
- },
- {
- title: "ResponsiveGrid",
- img: require("./web/assets/img/icon-grid.svg"),
- path: "responsive-grid",
- text: "Display a list of item with a responsive layout",
- btn: "View responsive grid",
- },
- {
- title: "Search",
- img: require("./web/assets/img/icon-search.svg"),
- path: "search",
- text:
- "Search enables users to specify a word or a phrase to find relevant content.",
- btn: "View search",
- },
- {
- title: "Select",
- img: require("./web/assets/img/icon-select.svg"),
- path: "select",
- text:
- "Select (dropdown) is used to enabled a user to select a single item from a list of options.",
- btn: "View select",
- },
- {
- title: "Table",
- img: require("./web/assets/img/icon-table.svg"),
- path: "table",
- text:
- "Table is a component used for displaying your formatted content.",
- btn: "View table",
- },
- {
- title: "Tabs",
- img: require("./web/assets/img/icon-tabs.svg"),
- path: "tabs",
- text:
- "Tabs component provide a nice interface to switch between different views",
- btn: "View tabs",
- },
- {
- title: "Text",
- img: require("./web/assets/img/icon-text.svg"),
- path: "text",
- text: "Text",
- btn: "View text",
- },
- {
- title: "Textarea",
- img: require("./web/assets/img/icon-textarea.svg"),
- path: "textarea",
- text: "Textarea is used to add freeform longer text.",
- btn: "View textarea",
- },
- {
- title: "Textbox",
- img: require("./web/assets/img/icon-text.svg"),
- path: "textbox",
- text: "A text container to handle long text in small boxes.",
- btn: "View textbox",
- },
- {
- title: "Toggles",
- img: require("./web/assets/img/icon-toggle.svg"),
- path: "toggle",
- text:
- "Toggles are On/Off switches. They allow users to choose between two mutually exclusive options.",
- btn: "View toggle",
- },
- {
- title: "Tooltips",
- img: require("./web/assets/img/icon-tooltip.svg"),
- path: "tooltips",
- text: "Tooltips are used to show contextual information on hover.",
- btn: "View tooltips",
- },
- // {
- // path: "guided-tour",
- // img: require("./web/assets/img/icon-list.svg"),
- // title: "GuidedTour",
- // text: "On-boarding.",
- // btn: "View on-boarding",
- // },
- ],
- },
- "Smart Components": {
- text: "Smart components are components that are smart.",
- img: require("./web/assets/img/icon-components.svg"),
- path: "smart-components",
- children: [
- {
- path: "file-manager",
- img: require("./web/assets/img/icon-list.svg"),
- title: "FileManager",
- text: "Navigate into a project file tree.",
- btn: "View file manager",
- },
- ],
- },
- },
-});
diff --git a/src/web/App.vue b/src/web/App.vue
index 66a447a1..6c2befe5 100644
--- a/src/web/App.vue
+++ b/src/web/App.vue
@@ -1,5 +1,5 @@
-
+
@@ -32,17 +32,4 @@ export default {
};
-
-
-
+
diff --git a/src/web/_DesignSystem-global.scss b/src/web/_DesignSystem-global.scss
index 115edbbe..bc60cd1d 100644
--- a/src/web/_DesignSystem-global.scss
+++ b/src/web/_DesignSystem-global.scss
@@ -1,5 +1,9 @@
+@import "../../node_modules/prismjs/themes/prism-tomorrow.css";
+@import "../assets/css/design-system.css";
+
html,
-body {
+body,
+#app {
margin: 0;
width: 100%;
height: 100%;
@@ -47,7 +51,7 @@ pre[class*="language-"] {
line-height: 18px;
transition: all 0.25s ease-in;
&:hover {
- background-color: lightness(var(--color-secondary), 0.8);
+ background-color: var(--color-secondary-light);
transition: all 0.25s ease-in;
}
}
@@ -59,12 +63,11 @@ pre[class*="language-"] {
overflow-y: auto;
overflow-x: hidden;
.article-wrapper {
+ margin: 30px 90px;
width: 100%;
width: calc(100% - 180px);
display: flex;
flex-direction: column;
- margin: 30px 90px;
- max-width: 1420px;
position: relative;
display: flex;
flex-direction: column;
diff --git a/src/web/assets/img/icon-charts.svg b/src/web/assets/img/icon-charts.svg
new file mode 100644
index 00000000..a4bd4457
--- /dev/null
+++ b/src/web/assets/img/icon-charts.svg
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/web/assets/img/icon-datepicker.svg b/src/web/assets/img/icon-datepicker.svg
new file mode 100644
index 00000000..19d480a6
--- /dev/null
+++ b/src/web/assets/img/icon-datepicker.svg
@@ -0,0 +1,18 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/web/assets/img/icon-fileicon.svg b/src/web/assets/img/icon-fileicon.svg
new file mode 100644
index 00000000..29e7d0c6
--- /dev/null
+++ b/src/web/assets/img/icon-fileicon.svg
@@ -0,0 +1,23 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/web/assets/img/icon-getting_stated.svg b/src/web/assets/img/icon-getting_started.svg
similarity index 100%
rename from src/web/assets/img/icon-getting_stated.svg
rename to src/web/assets/img/icon-getting_started.svg
diff --git a/src/web/assets/img/icon-safe_zone_inline.svg b/src/web/assets/img/icon-safe_zone_inline.svg
new file mode 100644
index 00000000..e277133a
--- /dev/null
+++ b/src/web/assets/img/icon-safe_zone_inline.svg
@@ -0,0 +1,30 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/web/assets/img/icon-search_autocomplete.svg b/src/web/assets/img/icon-search_autocomplete.svg
new file mode 100644
index 00000000..66a35c52
--- /dev/null
+++ b/src/web/assets/img/icon-search_autocomplete.svg
@@ -0,0 +1,32 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/web/assets/img/icon-slider.svg b/src/web/assets/img/icon-slider.svg
new file mode 100644
index 00000000..42206e53
--- /dev/null
+++ b/src/web/assets/img/icon-slider.svg
@@ -0,0 +1,24 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/web/main.js b/src/web/main.js
new file mode 100644
index 00000000..8f94ba54
--- /dev/null
+++ b/src/web/main.js
@@ -0,0 +1,12 @@
+import { createApp } from "vue";
+import VueClipboard from "vue3-clipboard";
+import router from "./router.js";
+import BIMDataComponents from "../../vue3-plugin.js";
+
+import App from "./App.vue";
+
+const app = createApp(App);
+app.use(VueClipboard, {});
+app.use(router);
+app.use(BIMDataComponents());
+app.mount("#app");
diff --git a/src/web/router.js b/src/web/router.js
new file mode 100644
index 00000000..a8115599
--- /dev/null
+++ b/src/web/router.js
@@ -0,0 +1,249 @@
+import { createRouter, createWebHistory } from "vue-router";
+import Home from "./views/Home/Home.vue";
+
+const routes = [
+ {
+ path: "/",
+ name: "home",
+ component: Home,
+ },
+ {
+ path: "/getting-started",
+ component: () => import("./views/Layout/Layout.vue"),
+ children: [
+ {
+ path: "",
+ name: "Getting started",
+ component: () => import("./views/Layout/Content.vue"),
+ },
+ {
+ path: "designers",
+ name: "designers",
+ component: () => import("./views/GettingStarted/Designers.vue"),
+ },
+ {
+ path: "developpers",
+ name: "developpers",
+ component: () => import("./views/GettingStarted/Developpers.vue"),
+ },
+ {
+ path: "internal-doc",
+ name: "internal-doc",
+ component: () => import("./views/GettingStarted/InternalDoc.vue"),
+ },
+ ],
+ },
+ {
+ path: "/guidelines-utilities",
+ component: () => import("./views/Layout/Layout.vue"),
+ children: [
+ {
+ path: "",
+ name: "Guidelines & Utilities",
+ component: () => import("./views/Layout/Content.vue"),
+ },
+ {
+ path: "utilities",
+ name: "utilities",
+ component: () => import("./views/Guidelines/Utilities/Utilities.vue"),
+ },
+ {
+ path: "variables",
+ name: "variables",
+ component: () => import("./views/Guidelines/Variables/Variables.vue"),
+ },
+ {
+ path: "colors",
+ name: "colors",
+ component: () => import("./views/Guidelines/Colors/Colors.vue"),
+ },
+ {
+ path: "spacing",
+ name: "spacing",
+ component: () => import("./views/Guidelines/Spacing/Spacing.vue"),
+ },
+ {
+ path: "typography",
+ name: "typography",
+ component: () => import("./views/Guidelines/Typography/Typography.vue"),
+ },
+ ],
+ },
+ {
+ path: "/components",
+ component: () => import("./views/Layout/Layout.vue"),
+ children: [
+ {
+ path: "",
+ name: "Components",
+ component: () => import("./views/Layout/Content.vue"),
+ },
+ {
+ path: "searchautocomplete",
+ name: "searchautocomplete",
+ component: () =>
+ import(
+ "./views/Components/SearchAutocomplete/SearchAutocomplete.vue"
+ ),
+ },
+ {
+ path: "buttons",
+ name: "buttons",
+ component: () => import("./views/Components/Buttons/Buttons.vue"),
+ },
+ {
+ path: "cards",
+ name: "cards",
+ component: () => import("./views/Components/Card/Card.vue"),
+ },
+ {
+ path: "carousel",
+ name: "carousel",
+ component: () => import("./views/Components/Carousel/Carousel.vue"),
+ },
+ {
+ path: "charts",
+ name: "charts",
+ component: () => import("./views/Components/Charts/Charts.vue"),
+ },
+ {
+ path: "checkbox",
+ name: "checkbox",
+ component: () => import("./views/Components/Checkbox/Checkbox.vue"),
+ },
+ {
+ path: "colorselector",
+ name: "colorselector",
+ component: () =>
+ import("./views/Components/ColorSelector/ColorSelector.vue"),
+ },
+ {
+ path: "datepicker",
+ name: "datepicker",
+ component: () => import("./views/Components/DatePicker/DatePicker.vue"),
+ },
+ {
+ path: "dropdownlist",
+ name: "dropdownlist",
+ component: () =>
+ import("./views/Components/DropdownList/DropdownList.vue"),
+ },
+ {
+ path: "dropdownmenu",
+ name: "dropdownmenu",
+ component: () =>
+ import("./views/Components/DropdownMenu/DropdownMenu.vue"),
+ },
+ {
+ path: "fileicon",
+ name: "fileicon",
+ component: () => import("./views/Components/FileIcon/FileIcon.vue"),
+ },
+ {
+ path: "icons",
+ name: "icons",
+ component: () => import("./views/Components/Icons/Icons.vue"),
+ },
+ {
+ path: "illustrations",
+ name: "illustrations",
+ component: () =>
+ import("./views/Components/Illustrations/Illustrations.vue"),
+ },
+ {
+ path: "input",
+ name: "input",
+ component: () => import("./views/Components/Input/Input.vue"),
+ },
+ {
+ path: "loaders",
+ name: "loaders",
+ component: () => import("./views/Components/Loaders/Loaders.vue"),
+ },
+ {
+ path: "menus",
+ name: "menus",
+ component: () => import("./views/Components/Menu/Menus.vue"),
+ },
+ {
+ path: "pagination",
+ name: "pagination",
+ component: () => import("./views/Components/Pagination/Pagination.vue"),
+ },
+ {
+ path: "radio",
+ name: "radio",
+ component: () => import("./views/Components/Radio/Radio.vue"),
+ },
+ {
+ path: "responsive-grid",
+ name: "responsive-grid",
+ component: () =>
+ import("./views/Components/ResponsiveGrid/ResponsiveGrid.vue"),
+ },
+ {
+ path: "safe-zone-inline",
+ name: "safe-zone-inline",
+ component: () =>
+ import("./views/Components/SafeZoneInline/SafeZoneInline.vue"),
+ },
+ {
+ path: "search",
+ name: "search",
+ component: () => import("./views/Components/Search/Search.vue"),
+ },
+ {
+ path: "select",
+ name: "select",
+ component: () => import("./views/Components/Select/Select.vue"),
+ },
+ {
+ path: "slider",
+ name: "slider",
+ component: () => import("./views/Components/Slider/Slider.vue"),
+ },
+ {
+ path: "table",
+ name: "table",
+ component: () => import("./views/Components/Table/Table.vue"),
+ },
+ {
+ path: "tabs",
+ name: "tabs",
+ component: () => import("./views/Components/Tabs/Tabs.vue"),
+ },
+ {
+ path: "text",
+ name: "text",
+ component: () => import("./views/Components/Text/Text.vue"),
+ },
+ {
+ path: "textarea",
+ name: "textarea",
+ component: () => import("./views/Components/Textarea/Textarea.vue"),
+ },
+ {
+ path: "textbox",
+ name: "textbox",
+ component: () => import("./views/Components/Textbox/Textbox.vue"),
+ },
+ {
+ path: "Textbox",
+ name: "toggle",
+ component: () => import("./views/Components/Toggle/Toggle.vue"),
+ },
+ {
+ path: "tooltips",
+ name: "tooltips",
+ component: () => import("./views/Components/Tooltip/Tooltip.vue"),
+ },
+ ],
+ },
+];
+
+const router = createRouter({
+ history: createWebHistory(import.meta.env.BASE_URL),
+ routes,
+});
+
+export default router;
diff --git a/src/web/router/router.js b/src/web/router/router.js
deleted file mode 100644
index b6b8f394..00000000
--- a/src/web/router/router.js
+++ /dev/null
@@ -1,282 +0,0 @@
-import Vue from "vue";
-import VueRouter from "vue-router";
-
-import Home from "../views/Home/Home.vue";
-import Layout from "../views/Layout/Layout.vue";
-import Content from "../views/Layout/Content.vue";
-
-// import GETTING STARTED
-import Designers from "../views/GettingStarted/Designers.vue";
-import Developpers from "../views/GettingStarted/Developpers.vue";
-import InternalDoc from "../views/GettingStarted/InternalDoc.vue";
-
-// import GUIDELINES
-import Colors from "../views/Guidelines/Colors/Colors.vue";
-import List from "../views/Guidelines/List/List.vue";
-import Markup from "../views/Guidelines/Markup/Markup.vue";
-import Spacing from "../views/Guidelines/Spacing/Spacing.vue";
-import Typography from "../views/Guidelines/Typography/Typography.vue";
-import Utilities from "../views/Guidelines/Utilities/Utilities.vue";
-import Variables from "../views/Guidelines/Variables/Variables.vue";
-
-// import COMPONENTS
-import Buttons from "../views/Components/Buttons/Buttons.vue";
-import Card from "../views/Components/Card/Card.vue";
-import Checkbox from "../views/Components/Checkbox/Checkbox.vue";
-import ColorSelector from "../views/Components/ColorSelector/ColorSelector.vue";
-import DropdownMenu from "../views/Components/DropdownMenu/DropdownMenu.vue";
-import DropdownList from "../views/Components/DropdownList/DropdownList.vue";
-import FileIcon from "../views/Components/FileIcon/FileIcon.vue";
-import Icons from "../views/Components/Icons/Icons.vue";
-import Illustrations from "../views/Components/Illustrations/Illustrations.vue";
-import Input from "../views/Components/Input/Input.vue";
-import Loaders from "../views/Components/Loaders/Loaders.vue";
-import Pagination from "../views/Components/Pagination/Pagination.vue";
-import Radio from "../views/Components/Radio/Radio.vue";
-import ResponsiveGrid from "../views/Components/ResponsiveGrid/ResponsiveGrid.vue";
-import Search from "../views/Components/Search/Search.vue";
-import Select from "../views/Components/Select/Select.vue";
-import Table from "../views/Components/Table/Table.vue";
-import Tabs from "../views/Components/Tabs/Tabs.vue";
-import Text from "../views/Components/Text/Text.vue";
-import Textarea from "../views/Components/Textarea/Textarea.vue";
-import Textbox from "../views/Components/Textbox/Textbox.vue";
-import Toggle from "../views/Components/Toggle/Toggle.vue";
-import Tooltip from "../views/Components/Tooltip/Tooltip.vue";
-import GuidedTour from "../views/Components/GuidedTour/GuidedTour.vue";
-
-// Smart Components views
-import FileManager from "../views/SmartComponents/FileManager/FileManager.vue";
-
-Vue.use(VueRouter);
-
-const routes = [
- {
- path: "/",
- name: "home",
- component: Home,
- },
- {
- path: "/getting-started",
- component: Layout,
- children: [
- {
- path: "/",
- name: "Getting started",
- component: Content,
- },
- {
- path: "designers",
- name: "designers",
- component: Designers,
- },
- {
- path: "developpers",
- name: "developpers",
- component: Developpers,
- },
- {
- path: "internal-doc",
- name: "internal-doc",
- component: InternalDoc,
- },
- ],
- },
- {
- path: "/guidelines-utilities",
- component: Layout,
- children: [
- {
- path: "/",
- name: "Guidelines & Utilities",
- component: Content,
- },
- {
- path: "colors",
- name: "colors",
- component: Colors,
- },
- {
- path: "list",
- name: "list",
- component: List,
- },
- {
- path: "markup",
- name: "markup",
- component: Markup,
- },
- {
- path: "spacing",
- name: "spacing",
- component: Spacing,
- },
- {
- path: "typography",
- name: "typography",
- component: Typography,
- },
- {
- path: "utilities",
- name: "utilities",
- component: Utilities,
- },
- {
- path: "variables",
- name: "variables",
- component: Variables,
- },
- ],
- },
- {
- path: "/components",
- component: Layout,
- children: [
- {
- path: "",
- name: "Components",
- component: Content,
- },
- {
- path: "buttons",
- name: "buttons",
- component: Buttons,
- },
- {
- path: "cards",
- name: "cards",
- component: Card,
- },
- {
- path: "checkbox",
- name: "checkbox",
- component: Checkbox,
- },
- {
- path: "colorselector",
- name: "colorselector",
- component: ColorSelector,
- },
- {
- path: "dropdownlist",
- name: "dropdownlist",
- component: DropdownList,
- },
- {
- path: "dropdownmenu",
- name: "dropdownmenu",
- component: DropdownMenu,
- },
- {
- path: "fileicon",
- name: "fileicon",
- component: FileIcon,
- },
- {
- path: "icons",
- name: "icons",
- component: Icons,
- },
- {
- path: "illustrations",
- name: "illustrations",
- component: Illustrations,
- },
- {
- path: "input",
- name: "input",
- component: Input,
- },
- {
- path: "loaders",
- name: "loaders",
- component: Loaders,
- },
- {
- path: "pagination",
- name: "pagination",
- component: Pagination,
- },
- {
- path: "radio",
- name: "radio",
- component: Radio,
- },
- {
- path: "responsive-grid",
- name: "responsive-grid",
- component: ResponsiveGrid,
- },
- {
- path: "search",
- name: "search",
- component: Search,
- },
- {
- path: "select",
- name: "select",
- component: Select,
- },
- {
- path: "table",
- name: "table",
- component: Table,
- },
- {
- path: "tabs",
- name: "tabs",
- component: Tabs,
- },
- {
- path: "text",
- name: "text",
- component: Text,
- },
- {
- path: "textarea",
- name: "textarea",
- component: Textarea,
- },
- {
- path: "textbox",
- name: "textbox",
- component: Textbox,
- },
- {
- path: "toggle",
- name: "toggle",
- component: Toggle,
- },
- {
- path: "tooltips",
- name: "tooltips",
- component: Tooltip,
- },
- {
- path: "guided-tour",
- name: "guided-tour",
- component: GuidedTour,
- },
- ],
- },
- {
- path: "/smart-components",
- redirect: "/smart-components/file-manager",
- component: Layout,
- children: [
- {
- path: "file-manager",
- name: "file-manager",
- component: FileManager,
- },
- ],
- },
-];
-
-const router = new VueRouter({
- mode: "history",
- base: process.env.BASE_URL,
- routes,
-});
-
-export default router;
diff --git a/src/web/store.js b/src/web/store.js
new file mode 100644
index 00000000..fd4b2109
--- /dev/null
+++ b/src/web/store.js
@@ -0,0 +1,328 @@
+import getting_started from "./assets/img/icon-getting_started.svg";
+import designers from "./assets/img/icon-designers.svg";
+import developpers from "./assets/img/icon-developpers.svg";
+import doc from "./assets/img/icon-doc.svg";
+import guidelines from "./assets/img/icon-guidelines.svg";
+import utilities2 from "./assets/img/icon-utilities2.svg";
+import variables from "./assets/img/icon-variables.svg";
+import colors from "./assets/img/icon-colors.svg";
+import spacing from "./assets/img/icon-spacing.svg";
+import typo from "./assets/img/icon-typo.svg";
+import components from "./assets/img/icon-components.svg";
+import buttons from "./assets/img/icon-buttons.svg";
+import card from "./assets/img/icon-card.svg";
+import pagination from "./assets/img/icon-pagination.svg";
+import charts from "./assets/img/icon-charts.svg";
+import checkbox from "./assets/img/icon-checkbox.svg";
+import color_selector from "./assets/img/icon-color_selector.svg";
+import datepicker from "./assets/img/icon-datepicker.svg";
+import dropdown from "./assets/img/icon-dropdown.svg";
+import fileicon from "./assets/img/icon-fileicon.svg";
+import icons from "./assets/img/icon-icons.svg";
+import illustration from "./assets/img/icon-illustration.svg";
+import input from "./assets/img/icon-input.svg";
+import loader from "./assets/img/icon-loader.svg";
+import menu from "./assets/img/icon-menu.svg";
+import radio from "./assets/img/icon-radio.svg";
+import grid from "./assets/img/icon-grid.svg";
+import safe_zone_inline from "./assets/img/icon-safe_zone_inline.svg";
+import search from "./assets/img/icon-search.svg";
+import search_autocomplete from "./assets/img/icon-search_autocomplete.svg";
+import select from "./assets/img/icon-select.svg";
+import slider from "./assets/img/icon-slider.svg";
+import table from "./assets/img/icon-table.svg";
+import tabs from "./assets/img/icon-tabs.svg";
+import text from "./assets/img/icon-text.svg";
+import textarea from "./assets/img/icon-textarea.svg";
+import toggle from "./assets/img/icon-toggle.svg";
+import tooltip from "./assets/img/icon-tooltip.svg";
+
+export default {
+ "Getting started": {
+ text: "Learn how to quickly get started with our component library to build expressive, consistent UI at BIMData.",
+ path: "getting-started",
+ img: getting_started,
+ children: [
+ {
+ title: "Designers",
+ img: designers,
+ path: "designers",
+ text: "Collection of tools and resources you need to start designing with the BIMData design system.",
+ btn: "Get design kit",
+ },
+ {
+ title: "Developpers",
+ img: developpers,
+ path: "developpers",
+ text: "How to use the BIMData design system in your projects.",
+ btn: "Get dev kit",
+ },
+ {
+ title: "Internal Doc",
+ img: doc,
+ path: "internal-doc",
+ text: "Documentation, if you want to add your own components",
+ btn: "Getting started",
+ },
+ ],
+ },
+ "Guidelines & Utilities": {
+ text: "How BIMData looks: guidelines for colors, spacing, typography, ...",
+ img: guidelines,
+ path: "guidelines-utilities",
+ children: [
+ {
+ title: "Utilities",
+ path: "utilities",
+ img: utilities2,
+ text: "Summary of all defined and usable classes and how use them.",
+ btn: "View utilities",
+ },
+ {
+ title: "Variables",
+ path: "variables",
+ img: variables,
+ text: "See all defines and usable BIMData variables and how use it.",
+ btn: "View variables",
+ },
+ {
+ title: "Colors",
+ path: "colors",
+ img: colors,
+ text: "BIMData uses a color palette to achieve clean interfaces.",
+ btn: "View colors",
+ },
+ {
+ title: "Spacing",
+ img: spacing,
+ path: "spacing",
+ text: "Adjust whitespace by applying spacing, margin, padding helpers.",
+ btn: "View spacing",
+ },
+ {
+ title: "Typography",
+ img: typo,
+ path: "typography",
+ text: "Indispensable for defining visual identity and organizing content.",
+ btn: "View typography",
+ },
+ ],
+ },
+ Components: {
+ text: "We developed a VueJS UI library that contains a set of components and demos for building interactive user interfaces.",
+ img: components,
+ path: "components",
+ children: [
+ {
+ title: "Buttons",
+ img: buttons,
+ path: "buttons",
+ text: "Buttons are used to trigger actions based on a user's interaction.",
+ btn: "View buttons",
+ },
+ {
+ title: "Cards",
+ img: card,
+ path: "cards",
+ text: "Cards are used to groups a related content.",
+ btn: "View cards",
+ },
+ {
+ title: "Carousel",
+ img: pagination,
+ path: "carousel",
+ text: "A generic carousel component.",
+ btn: "View carousel",
+ },
+ {
+ title: "Charts",
+ img: charts,
+ path: "charts",
+ text: "",
+ btn: "View charts",
+ },
+ {
+ title: "Checkbox",
+ img: checkbox,
+ path: "checkbox",
+ text: "Checkboxes are used to enables users to pick multiple options from a group.",
+ btn: "View checkbox",
+ },
+ {
+ title: "ColorSelector",
+ img: color_selector,
+ path: "colorselector",
+ text: "Color Selector component allows the user to pick from a set of predefined swatches colors.",
+ btn: "View color selector",
+ },
+ {
+ title: "DatePicker",
+ img: datepicker,
+ path: "datepicker",
+ text: "Lorem ipsum dolor sit amet consectetur adipisicing elit.",
+ btn: "View DatePicker",
+ },
+ {
+ title: "DropdownList",
+ img: dropdown,
+ path: "dropdownlist",
+ text: "DropdownList component shows a menu with an paginated list.",
+ btn: "View dropdown list",
+ },
+ {
+ title: "DropdownMenu",
+ img: dropdown,
+ path: "dropdownmenu",
+ text: "Dropdown component shows a simple menu.",
+ btn: "View dropdown menu",
+ },
+ {
+ title: "FileIcon",
+ img: fileicon,
+ path: "fileicon",
+ text: "FileIcon is used to provide file visual context.",
+ btn: "View FileIcon",
+ },
+ {
+ title: "Icons",
+ img: icons,
+ path: "icons",
+ text: "Icons are used to provide additional visual context.",
+ btn: "View icons",
+ },
+ {
+ title: "Illustrations",
+ img: illustration,
+ path: "illustrations",
+ text: "Illustrations are used to provide additional visual context.",
+ btn: "View illustrations",
+ },
+ {
+ title: "Input",
+ img: input,
+ path: "input",
+ text: "Inputs are used for enabled a user to interact and input data.",
+ btn: "View input",
+ },
+ {
+ title: "Loaders",
+ img: loader,
+ path: "loaders",
+ text: "Loaders are used to notify a user that data or page is being retrieved.",
+ btn: "View loaders",
+ },
+ {
+ title: "Menus",
+ img: menu,
+ path: "menus",
+ text: "Lorem ipsum dolor sit amet consectetur adipisicing elit.",
+ btn: "View menus",
+ },
+ {
+ title: "Pagination",
+ img: pagination,
+ path: "pagination",
+ text: "Pagination is used to lets users navigate through large collections of items.",
+ btn: "View pagination",
+ },
+ {
+ title: "Radio",
+ img: radio,
+ path: "radio",
+ text: "Radio buttons enables a user to make a single selection from a group of options.",
+ btn: "View radio",
+ },
+ {
+ title: "ResponsiveGrid",
+ img: grid,
+ path: "responsive-grid",
+ text: "Display a list of item with a responsive layout",
+ btn: "View responsive grid",
+ },
+ {
+ title: "SafeZoneInline",
+ img: safe_zone_inline,
+ path: "safe-zone-inline",
+ text: "",
+ btn: "View safe zone inline",
+ },
+ {
+ title: "Search",
+ img: search,
+ path: "search",
+ text: "Search enables users to specify a word or a phrase to find relevant content.",
+ btn: "View search",
+ },
+ {
+ title: "Search Autocomplete",
+ img: search_autocomplete,
+ path: "searchautocomplete",
+ text: "Search autocomplete ...",
+ btn: "View search autocomplete",
+ },
+ {
+ title: "Select",
+ img: select,
+ path: "select",
+ text: "Select (dropdown) is used to enabled a user to select a single item from a list of options.",
+ btn: "View select",
+ },
+ {
+ title: "Slider",
+ img: slider,
+ path: "slider",
+ text: "Sliders allow users to make selections from a range of values.",
+ btn: "View slider",
+ },
+ {
+ title: "Table",
+ img: table,
+ path: "table",
+ text: "Table is a component used for displaying your formatted content.",
+ btn: "View table",
+ },
+ {
+ title: "Tabs",
+ img: tabs,
+ path: "tabs",
+ text: "Tabs component provide a nice interface to switch between different views",
+ btn: "View tabs",
+ },
+ {
+ title: "Text",
+ img: text,
+ path: "text",
+ text: "Text",
+ btn: "View text",
+ },
+ {
+ title: "Textarea",
+ img: textarea,
+ path: "textarea",
+ text: "Textarea is used to add freeform longer text.",
+ btn: "View textarea",
+ },
+ {
+ title: "Textbox",
+ img: text,
+ path: "textbox",
+ text: "A text container to handle long text in small boxes.",
+ btn: "View textbox",
+ },
+ {
+ title: "Toggles",
+ img: toggle,
+ path: "toggle",
+ text: "Toggles are On/Off switches. They allow users to choose between two mutually exclusive options.",
+ btn: "View toggle",
+ },
+ {
+ title: "Tooltips",
+ img: tooltip,
+ path: "tooltips",
+ text: "Tooltips are used to show contextual information on hover.",
+ btn: "View tooltips",
+ },
+ ],
+ },
+};
diff --git a/src/web/views/Components/Buttons/Buttons.vue b/src/web/views/Components/Buttons/Buttons.vue
index 35b7bb1f..cf58f625 100644
--- a/src/web/views/Components/Buttons/Buttons.vue
+++ b/src/web/views/Components/Buttons/Buttons.vue
@@ -20,8 +20,7 @@
:color="selectedBtnOptionsvalues"
:icon="checkboxIconChecked && !checkboxTextChecked"
>
-
- import BIMDataButton from
- "@bimdata/design-system/dist/js/BIMDataComponents/BIMDataButton.js";
-
- import BIMDataButton from "@bimdata/design-system/dist/js/BIMDataComponents/BIMDataButton.js";
- import BIMDataIcon from "@bimdata/design-system/dist/js/BIMDataComponents/BIMDataIcon.js";
-
+ {{ getImportContent() }}
- <BIMDataButton
- {{ getWidthBtn() }} {{ getHeightBtn() }} color="{{
- selectedBtnOptionsvalues
- }}" {{ selectedBtnOptionstypes }} {{ selectedBtnOptionskinds }} {{
- getIconClass()
- }} {{ getButtonDisabled() }}
- >
+ <BIMDataButton color="{{ selectedBtnOptionsvalues }}" {{
+ selectedBtnOptionstypes
+ }} {{ selectedBtnOptionskinds }} {{ getIconClass() }} {{
+ getButtonDisabled()
+ }} {{ getWidthBtn() }} {{ getHeightBtn() }}>
{{ getIcon() }}
{{ getText() }}
</BIMDataButton>
@@ -130,26 +122,12 @@
import colors from "../../../../assets/colors.js";
import propsData from "./props-data.js";
-import BIMDataButton from "../../../../../src/BIMDataComponents/BIMDataButton/BIMDataButton.vue";
-import BIMDataCheckbox from "../../../../../src/BIMDataComponents/BIMDataCheckbox/BIMDataCheckbox.vue";
-import BIMDataIcon from "../../../../../src/BIMDataComponents/BIMDataIcon/BIMDataIcon.vue";
-import BIMDataInput from "../../../../../src/BIMDataComponents/BIMDataInput/BIMDataInput.vue";
-import BIMDataRadio from "../../../../../src/BIMDataComponents/BIMDataRadio/BIMDataRadio.vue";
-import BIMDataText from "../../../../../src/BIMDataComponents/BIMDataText/BIMDataText.vue";
-import BIMDataTable from "../../../../../src/BIMDataComponents/BIMDataTable/BIMDataTable.vue";
import ComponentCode from "../../Elements/ComponentCode/ComponentCode.vue";
export default {
name: "Buttons",
components: {
ComponentCode,
- BIMDataButton,
- BIMDataTable,
- BIMDataRadio,
- BIMDataCheckbox,
- BIMDataIcon,
- BIMDataInput,
- BIMDataText,
},
data() {
return {
@@ -205,15 +183,24 @@ export default {
},
},
methods: {
+ getImportContent() {
+ return `
+ import BIMDataButton from "@bimdata/design-system/src/BIMDataComponents/BIMDataButton/BIMDataButton.vue";
+ ${
+ this.checkboxIconChecked
+ ? 'import BIMDataIconChevron from "@bimdata/design-system/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconChevron.vue";'
+ : ""
+ }`;
+ },
getOverviewButtonClasses() {
return `bimdata-btn__${this.selectedBtnOptionstypes} bimdata-btn__${this.selectedBtnOptionstypes}--${this.selectedBtnOptionsvalues} bimdata-btn__${this.selectedBtnOptionskinds}`;
},
getIcon() {
if (this.checkboxIconChecked && this.checkboxTextChecked) {
- return ' ';
+ return ' ';
}
if (this.checkboxIconChecked) {
- return ' ';
+ return ' ';
}
},
getText() {
diff --git a/src/web/views/Components/Card/Card.vue b/src/web/views/Components/Card/Card.vue
index 1d9fe171..50e6da0d 100644
--- a/src/web/views/Components/Card/Card.vue
+++ b/src/web/views/Components/Card/Card.vue
@@ -17,7 +17,7 @@
{{ getHeaderIcons() }}
-
+
{{ getSubmenuIcons() }}
@@ -109,8 +109,7 @@
- import BIMDataCard from
- "@bimdata/design-system/dist/js/BIMDataComponents/BIMDataCard.js";
+ {{ getImportContent() }}
@@ -159,25 +158,11 @@
import propsData from "./props-data.js";
import slotsData from "./slots-data.js";
-import BIMDataBurgerMenu from "../../../../../src/BIMDataComponents/BIMDataBurgerMenu/BIMDataBurgerMenu.vue";
-import BIMDataCard from "../../../../../src/BIMDataComponents/BIMDataCard/BIMDataCard.vue";
-import BIMDataCheckbox from "../../../../../src/BIMDataComponents/BIMDataCheckbox/BIMDataCheckbox.vue";
-import BIMDataInput from "../../../../../src/BIMDataComponents/BIMDataInput/BIMDataInput.vue";
-import BIMDataRadio from "../../../../../src/BIMDataComponents/BIMDataRadio/BIMDataRadio.vue";
-import BIMDataTable from "../../../../../src/BIMDataComponents/BIMDataTable/BIMDataTable.vue";
-import BIMDataText from "../../../../../src/BIMDataComponents/BIMDataText/BIMDataText.vue";
import ComponentCode from "../../Elements/ComponentCode/ComponentCode.vue";
export default {
components: {
ComponentCode,
- BIMDataBurgerMenu,
- BIMDataCard,
- BIMDataCheckbox,
- BIMDataInput,
- BIMDataRadio,
- BIMDataTable,
- BIMDataText,
},
data() {
return {
@@ -198,6 +183,15 @@ export default {
};
},
methods: {
+ getImportContent() {
+ return `
+ import BIMDataCard from "@bimdata/design-system/src/BIMDataComponents/BIMDataCard/BIMDataCard.vue";
+ ${
+ this.submenuLeft
+ ? 'import BIMDataIconBurgerMenu from "@bimdata/design-system/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconBurgerMenu.vue";'
+ : ""
+ }`;
+ },
getHeaderTitle() {
if (this.headerTitle) {
return "header title";
@@ -210,7 +204,7 @@ export default {
},
getSubmenuLeft() {
if (this.submenuLeft) {
- return " ";
+ return " ";
}
},
getSubmenuText() {
diff --git a/src/web/views/Components/Card/props-data.js b/src/web/views/Components/Card/props-data.js
index 91df9418..42e08c2e 100644
--- a/src/web/views/Components/Card/props-data.js
+++ b/src/web/views/Components/Card/props-data.js
@@ -19,4 +19,10 @@ export default [
"215px",
"Use this props to change the width of the card.",
],
+ [
+ "borderRadius",
+ "String",
+ "0px",
+ "Use this props to change the border radius of the card.",
+ ],
];
diff --git a/src/web/views/Components/Carousel/Carousel.vue b/src/web/views/Components/Carousel/Carousel.vue
new file mode 100644
index 00000000..92bcf657
--- /dev/null
+++ b/src/web/views/Components/Carousel/Carousel.vue
@@ -0,0 +1,127 @@
+
+
+
+
+ {{ $route.name }}
+
+
+
+
+
+
+ {{ i }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+ import BIMDataCarousel from
+ "@bimdata/design-system/src/BIMDataComponents/BIMDataCarousel/BIMDataCarousel.vue";
+
+
+
+
+ <BIMDataCarousel
+ :style="{ width: {{ carouselWidth }} }"
+ :sliderPadding="{{ sliderPadding }}"
+ :minGap="{{ minGap }}"
+ >
+ <div
+ :style="{ width: {{ `${itemWidth}px` }} }"
+ v-for="i of items"
+ :key="i"
+ >
+ {{ "{" + "{ i }" + "}" }}
+ </div>
+ </BIMDataCarousel>
+
+
+
+
+
+
+ Props:
+
+
+
+
+
+
+
+
diff --git a/src/web/views/Components/Carousel/props-data.js b/src/web/views/Components/Carousel/props-data.js
new file mode 100644
index 00000000..7f47659d
--- /dev/null
+++ b/src/web/views/Components/Carousel/props-data.js
@@ -0,0 +1,16 @@
+/* eslint-disable */
+export default [
+ [ "Name", "Type", "Default value", "Description" ],
+ [
+ "sliderPadding",
+ "Number",
+ "12",
+ "Slider padding (in px)."
+ ],
+ [
+ "minGap",
+ "Number",
+ "24",
+ "Minimum amount of space between items (in px)."
+ ],
+];
diff --git a/src/web/views/Components/Charts/Charts.vue b/src/web/views/Components/Charts/Charts.vue
new file mode 100644
index 00000000..870986bc
--- /dev/null
+++ b/src/web/views/Components/Charts/Charts.vue
@@ -0,0 +1,210 @@
+
+
+
+
+ {{ $route.name }}
+
+
+
Simple pie :
+
+
+
+
+
+
+
+
+
+
+
+
+ import BIMDataSimplePieChart from
+ "@bimdata/design-system/src/BIMDataComponents/BIMDataSimplePieChart/BIMDataSimplePieChart.vue";
+
+
+
+
+ <BIMDataSimplePieChart
+ :barDistanceFromCenter="{{ barDistanceFromCenterSimplePie }}"
+ :barStrokeWidth="{{ barStrokeWidthSimplePie }}"
+ :graphDrawTime="2"
+ :barData="[
+ { percentage: 10, color: 'yellowgreen' },
+ { percentage: 55, color: 'orange' },
+ { percentage: 3, color: 'steelblue' },
+ { percentage: 19, color: 'cadetblue' }
+ ]"
+ />
+
+
+
+
+
+
+ Props:
+
+
+
+
+
Multiple pie :
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ import BIMDataMultiplePieChart from
+ "@bimdata/design-system/src/BIMDataComponents/BIMDataMultiplePieChart/BIMDataMultiplePieChart.vue";
+
+
+
+
+ <BIMDataMultiplePieChart
+ :firstBarDistanceFromCenter="{{
+ barDistanceFromCenterMultiplePie
+ }}"
+ :size="{{ multiplePieSize }}"
+ :barStrokeWidth="{{ barStrokeWidthMultiplePie }}"
+ :interBarDistance="{{ interBarDistance }}"
+ :placeholderBarStrokeWidth="{{ placeholderBarStrokeWidth }}"
+ :placeholderBarStroke="{{ placeholderBarStroke }}"
+ :graphDrawTime="2"
+ :barData="[
+ { percentage: 10, color: 'yellowgreen' },
+ { percentage: 55, color: 'orange' },
+ { percentage: 3, color: 'steelblue' },
+ { percentage: 19, color: 'cadetblue' }
+ ]"
+ />
+
+
+
+
+
+
+ Props:
+
+
+
+
+
+
+
+
diff --git a/src/web/views/Components/Charts/multiple-pie-props-data.js b/src/web/views/Components/Charts/multiple-pie-props-data.js
new file mode 100644
index 00000000..c8eb9a8e
--- /dev/null
+++ b/src/web/views/Components/Charts/multiple-pie-props-data.js
@@ -0,0 +1,52 @@
+/* eslint-disable */
+export default [
+ [ "Name", "Type", "Default Value", "Description" ],
+ [
+ "size",
+ "Number",
+ "200",
+ "size of the graph"
+ ],
+ [
+ "barsData",
+ "Array",
+ "[]",
+ "Pie chart data. This is an array of object of type `{ percentage: Number, color: String }`."
+ ],
+ [
+ "firstBarDistanceFromCenter",
+ "Number",
+ "57",
+ "Internal radius of the pie chart."
+ ],
+ [
+ "interBarDistance",
+ "Number",
+ "16",
+ "The spacing between the different bars."
+ ],
+ [
+ "barStrokeWidth",
+ "Number",
+ "10",
+ "Width of the bars."
+ ],
+ [
+ "placeholderBarStrokeWidth",
+ "Number",
+ "4",
+ "Width of the placeholder bar."
+ ],
+ [
+ "placeholderBarStroke",
+ "String",
+ "#D8D8D8",
+ "Color of the placeholder bar."
+ ],
+ [
+ "graphDrawTime",
+ "Number",
+ "4",
+ "Duration of the drawing animation in seconds."
+ ],
+];
diff --git a/src/web/views/Components/Charts/simple-pie-props-data.js b/src/web/views/Components/Charts/simple-pie-props-data.js
new file mode 100644
index 00000000..2b90447d
--- /dev/null
+++ b/src/web/views/Components/Charts/simple-pie-props-data.js
@@ -0,0 +1,46 @@
+/* eslint-disable */
+export default [
+ [ "Name", "Type", "Default Value", "Description" ],
+ [
+ "barsData",
+ "Array",
+ "[]",
+ "Pie chart data. This is an array of object of type `{ percentage: Number, color: String }`."
+ ],
+ [
+ "barDistanceFromCenter",
+ "Number",
+ "50",
+ "Internal radius of the pie chart."
+ ],
+ [
+ "barStrokeWidth",
+ "Number",
+ "10",
+ "Width of the bars."
+ ],
+ [
+ "placeholder",
+ "Boolean",
+ "false",
+ "If true a placeholder bar is shown to 'complete' the circle."
+ ],
+ [
+ "placeholderStrokeWidth",
+ "Number",
+ "4",
+ "Width of the placeholder bar."
+ ],
+ [
+ "placeholderColor",
+ "String",
+ "#EBEBEB",
+ "Color of the placeholder bar."
+ ],
+ [
+ "graphDrawTime",
+ "Number",
+ "4",
+ "Duration of the drawing animation in seconds."
+ ],
+];
diff --git a/src/web/views/Components/Checkbox/Checkbox.vue b/src/web/views/Components/Checkbox/Checkbox.vue
index d97125ee..2e7e5093 100644
--- a/src/web/views/Components/Checkbox/Checkbox.vue
+++ b/src/web/views/Components/Checkbox/Checkbox.vue
@@ -25,14 +25,14 @@
import BIMDataCheckbox from
- "@bimdata/design-system/dist/js/BIMDataComponents/BIMDataCheckbox.js"
+ "@bimdata/design-system/src/BIMDataComponents/BIMDataCheckbox/BIMDataCheckbox.vue"
<BIMDataCheckbox
:disabled="{{ getCheckboxDisabled() }}"
- ext="Your label here"
+ text="Your label here"
v-model="checked"
/>
@@ -45,32 +45,36 @@
+
+
+
+ Events:
+
+
+
+
+
diff --git a/src/web/views/Components/DatePicker/events-data.js b/src/web/views/Components/DatePicker/events-data.js
new file mode 100644
index 00000000..418cb7b0
--- /dev/null
+++ b/src/web/views/Components/DatePicker/events-data.js
@@ -0,0 +1,54 @@
+/* eslint-disable */
+export default [
+ [ "Slot name", "Output", "Description" ],
+ [
+ "changed-month",
+ "Object",
+ "Use this event when the month page has been changed"
+ ],
+ [
+ "changed-year",
+ "Object",
+ "Use this event when the year page has been changed",
+ ],
+ [
+ "changed-decade",
+ "Object",
+ "Use this event when the decade page has been changed",
+ ],
+ [
+ "cleared",
+ "",
+ "Use this event when the selected date has been cleared",
+ ],
+ [
+ "closed",
+ "",
+ "Use this event when the picker has been closed",
+ ],
+ [
+ "input",
+ "Date | null",
+ "Use this event when the input value has been modified",
+ ],
+ [
+ "opened",
+ "",
+ "Use this event when the picker has been opened",
+ ],
+ [
+ "selected",
+ "Date | null",
+ "Use this event when a date has been selected",
+ ],
+ [
+ "blur",
+ "",
+ "Use this event for input blur",
+ ],
+ [
+ "focus",
+ "",
+ "Use this event for input focus",
+ ],
+];
diff --git a/src/web/views/Components/DatePicker/option-sets.js b/src/web/views/Components/DatePicker/option-sets.js
new file mode 100644
index 00000000..bdf449f9
--- /dev/null
+++ b/src/web/views/Components/DatePicker/option-sets.js
@@ -0,0 +1,26 @@
+const languageOptions = ["de", "en", "es", "fr", "it", "nl", "no"];
+
+const dayOptions = ["sun", "mon", "tue", "wed", "thu", "fri", "sat"];
+
+const fixedPositionOptions = [
+ "bottom",
+ "bottom-left",
+ "bottom-right",
+ "top",
+ "top-left",
+ "top-right",
+];
+
+const formatOptions = [
+ "MMMM d, yyyy",
+ "do MMM yyyy",
+ "yyyy-MM-dd",
+ "E do MMM yyyy",
+ "dd/MM/yy",
+ "dd.MM.yyyy",
+ "M/d/yyyy",
+ "d MMM yyyy",
+ "d MMMM yyyy",
+];
+
+export { languageOptions, dayOptions, fixedPositionOptions, formatOptions };
diff --git a/src/web/views/Components/DatePicker/props-data.js b/src/web/views/Components/DatePicker/props-data.js
new file mode 100644
index 00000000..fee458f6
--- /dev/null
+++ b/src/web/views/Components/DatePicker/props-data.js
@@ -0,0 +1,172 @@
+/* eslint-disable */
+export default [
+ [ "Name", "Type", "Default value", "Description" ],
+ [
+ "calendarButton",
+ "Boolean",
+ "false",
+ "Show an icon that that can be clicked"
+ ],
+ [
+ "calendarClass",
+ "String|Object",
+ "",
+ "CSS class applied to the calendar el"
+ ],
+ [
+ "clearButton",
+ "Boolean",
+ "false",
+ "Show an icon for clearing the date"
+ ],
+ [
+ "disabled",
+ "Boolean",
+ "false",
+ "If true, disable Datepicker on screen"
+ ],
+ [
+ "disabledDates",
+ "Object",
+ "",
+ ""
+ ],
+ [
+ "firstDayOfWeek",
+ "String",
+ "sun",
+ "Sets the first day of the week. Possible values: sun, mon, tue, wed, thu, fri, sat"
+ ],
+ [
+ "fixedPosition",
+ "String",
+ "",
+ "Set a fixed position for the picker. Possible values: bottom, bottom-left, bottom-right, top, top-left and top-right"
+ ],
+ [
+ "format",
+ "String|Function",
+ "dd MMM yyyy",
+ "Date formatting string or function"
+ ],
+ [
+ "id",
+ "String",
+ "",
+ "Input id"
+ ],
+ [
+ "inputClass",
+ "String|Object|Array",
+ "",
+ "CSS class(es) applied to the input element"
+ ],
+ [
+ "isAutoCloseRange",
+ "Boolean",
+ "false",
+ "Props valid only in 'range' mode. Allows you to automatically close the date picker after selecting a 'to date'. In single date selection, the datepicker closes automatically."
+ ],
+ [
+ "isMultipleRange",
+ "Boolean",
+ "false",
+ "Allows you to switch the datepicker to 'range date' and select a start and end date."
+ ],
+ [
+ "language",
+ "Object",
+ "en",
+ "Translation for days and months"
+ ],
+ [
+ "name",
+ "String",
+ "",
+ "Input name property"
+ ],
+ [
+ "placeholder",
+ "String",
+ "",
+ "Input placeholder text"
+ ],
+ [
+ "required",
+ "Boolean",
+ "false",
+ "Sets html required attribute on input"
+ ],
+ [
+ "refName",
+ "String",
+ "",
+ "Sets a ref name directly on the input field"
+ ],
+ [
+ "showEdgeDates",
+ "Boolean",
+ "true",
+ "If false, dates from previous/next months won't show"
+ ],
+ [
+ "showHeader",
+ "Boolean",
+ "true",
+ "If false, the header section won't show"
+ ],
+ [
+ "showCalendarOnFocus",
+ "Boolean",
+ "false",
+ "Opens the calendar on input focus"
+ ],
+ [
+ "showCalendarOnButtonClick",
+ "Boolean",
+ "false",
+ "Only open the calendar on calendar-button click"
+ ],
+ [
+ "tabIndex",
+ "String|Number",
+ "",
+ "TabIndex for the input field"
+ ],
+ [
+ "typeable",
+ "Boolean",
+ "false",
+ "If true, allow the user to type the date"
+ ],
+ [
+ "useUtc",
+ "Boolean",
+ "false",
+ " Use UTC for time calculations"
+ ],
+ [
+ "value",
+ "Date|String",
+ "",
+ "Date value of the datepicker"
+ ],
+ [
+ "width",
+ "String",
+ "280px",
+ "Custom datepicker width"
+ ],
+ [
+ "wrapperClass",
+ "String|Object",
+ "",
+ "CSS class applied to the outer div"
+ ],
+ [
+ "yearPickerRange",
+ "Number",
+ "12",
+ "How many years to display in the year picker"
+ ],
+];
diff --git a/src/web/views/Components/DatePicker/slots-data.js b/src/web/views/Components/DatePicker/slots-data.js
new file mode 100644
index 00000000..a7fdc83d
--- /dev/null
+++ b/src/web/views/Components/DatePicker/slots-data.js
@@ -0,0 +1,40 @@
+/* eslint-disable */
+export default [
+ [ "Slot name", "Description" ],
+ [
+ "beforeCalendarHeader",
+ "Use this slot if you need to show custom content before the calendar header."
+ ],
+ [
+ "calendarFooter",
+ "Use this slot if you need to show a calendar footer.",
+ ],
+ [
+ "afterDateInput",
+ "Use this slot to implement some custom styling (for instance to add an animated placeholder) on DateInput, you might need to add elements as DateInput siblings",
+ ],
+ [
+ "beforeDateInput",
+ "Use this slot to implement some custom styling (for instance to add an custom icon) on DateInput",
+ ],
+ [
+ "prevIntervalBtn",
+ "Use this slot to provide custom content for buttons that rotate intervals in calendar header",
+ ],
+ [
+ "nextIntervalBtn",
+ "Use this slot to provide custom content for buttons that rotate intervals in calendar header",
+ ],
+ [
+ "calendarBtn",
+ "Use this slot to provide custom content for the calendar button",
+ ],
+ [
+ "clearBtn",
+ "Use this slot to provide custom content for the clear button",
+ ],
+ [
+ "dayCellContent",
+ "Use this slot tso provide custom content for the dayCellContent",
+ ],
+];
diff --git a/src/web/views/Components/DropdownList/DropdownList.vue b/src/web/views/Components/DropdownList/DropdownList.vue
index c5c45a37..45e8687d 100644
--- a/src/web/views/Components/DropdownList/DropdownList.vue
+++ b/src/web/views/Components/DropdownList/DropdownList.vue
@@ -105,7 +105,7 @@
import BIMDataDropdownList from
- "@bimdata/design-system/dist/js/BIMDataComponents/BIMDataDropdownList.js";
+ "@bimdata/design-system/src/BIMDataComponents/BIMDataDropdownList/BIMDataDropdownList.vue";
@@ -136,30 +136,23 @@
>
+
+
+ Events:
+
+
diff --git a/src/web/views/Components/FileIcon/FileIcon.vue b/src/web/views/Components/FileIcon/FileIcon.vue
index edb9ba77..cc1e61aa 100644
--- a/src/web/views/Components/FileIcon/FileIcon.vue
+++ b/src/web/views/Components/FileIcon/FileIcon.vue
@@ -33,8 +33,8 @@
- import BIMDataInput from
- "@bimdata/design-system/dist/js/BIMDataComponents/BIMDataInput.js";
+ import BIMDataFileIcon from
+ "@bimdata/design-system/src/BIMDataComponents/BIMDataFileIcon/BIMDataFileIcon.vue";
@@ -60,19 +60,11 @@
-
-
diff --git a/src/web/views/Components/GuidedTour/tours.js b/src/web/views/Components/GuidedTour/tours.js
deleted file mode 100644
index ce31cc77..00000000
--- a/src/web/views/Components/GuidedTour/tours.js
+++ /dev/null
@@ -1,27 +0,0 @@
-const tours = [
- {
- feature: "platform",
- steps: [
- {
- name: "step-1",
- target: "step-1",
- props: {
- title: "Title here",
- content: "text here",
- img: "https://bim-w.com/wp-content/uploads/2021/02/BIMDATA2020.png",
- },
- },
- {
- name: "step-2",
- target: "step-2",
- props: {
- title: "Title here",
- content: "text here",
- img: "https://bim-w.com/wp-content/uploads/2021/02/BIMDATA2020.png",
- },
- },
- ],
- },
-];
-
-export default tours;
diff --git a/src/web/views/Components/Icons/Icons.vue b/src/web/views/Components/Icons/Icons.vue
index b01b0ed4..610e259e 100644
--- a/src/web/views/Components/Icons/Icons.vue
+++ b/src/web/views/Components/Icons/Icons.vue
@@ -1,12 +1,12 @@
-
{{
- $route.name
- }}
-
Size usage for designers
+
+ {{ $route.name }}
+
+
+ Size usage for designers
+
Use a 23px box for icons of 23px.
@@ -20,21 +20,19 @@
class="bimdata-search-bar__primary"
placeholder="Search an icon"
v-model="filter"
- width="95%"
+ width="94%"
/>
-
icons: {{ Object.keys(icons).length }}
+
icons: {{ filteredList.length }}
-
- margin
+ margin
+
- rotate
+
+ rotate
+
+ />
{{ key }}
+ {{ key }}
+
- import BIMDataIcon from "@bimdata/design-system/dist/js/BIMDataComponents/BIMDataIcon.js";
+ import {{
+ activeIcon
+ }} from "@bimdata/design-system/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/{{
+ activeIcon
+ }}.vue";
- <BIMDataIcon name="{{ activeIcon }}" {{
- getIconOptionsSize()
- }} {{ selectedIconOptionstypes }} color="{{
- selectedIconOptionsvalues
- }}" {{ getRotateDegree() }} {{ getMarginIcon() }}/>
+ <{{ activeIcon }} {{ getIconOptionsSize() }} {{
+ selectedIconOptionstypes
+ }} color="{{ selectedIconOptionsvalues }}" {{
+ getRotateDegree()
+ }} {{ getMarginIcon() }} />
- Props:
+
+ Props:
+
-
Summary icons size:
+
+ Summary icons size:
+
import ComponentCode from "../../Elements/ComponentCode/ComponentCode.vue";
-import BIMDataSearch from "../../../../../src/BIMDataComponents/BIMDataSearch/BIMDataSearch.vue";
-import BIMDataRadio from "../../../../../src/BIMDataComponents/BIMDataRadio/BIMDataRadio.vue";
-import BIMDataInput from "../../../../../src/BIMDataComponents/BIMDataInput/BIMDataInput.vue";
-import BIMDataTable from "../../../../../src/BIMDataComponents/BIMDataTable/BIMDataTable.vue";
-import BIMDataText from "../../../../../src/BIMDataComponents/BIMDataText/BIMDataText.vue";
-
-import icons from "../../../../../src/BIMDataComponents/BIMDataIcon/BIMDataLibraryIcons/index.js";
-
-import BIMDataIcon from "../../../../../src/BIMDataComponents/BIMDataIcon/BIMDataIcon.vue";
+import * as allIcons from "../../../../../src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/index.js";
import highlight from "../../../../BIMDataDirectives/highlight.js";
import copy from "../../../../BIMDataDirectives/copy.js";
@@ -142,26 +144,21 @@ import iconsColors from "../../../../assets/iconsColors.js";
export default {
components: {
ComponentCode,
- BIMDataSearch,
- BIMDataRadio,
- BIMDataInput,
- BIMDataIcon,
- BIMDataTable,
- BIMDataText,
+ ...allIcons,
},
directives: { highlight, copy },
data() {
return {
- marginIcon: "0",
+ marginIcon: "0px",
rotationDeg: "",
size: "m",
- icons,
+ allIcons,
filter: "",
selectedIconOptionstypes: "fill",
selectedIconOptionsvalues: "default",
selectedIconOptionssize: "s",
checkboxIconRotate: false,
- activeIcon: "addFile",
+ activeIcon: "BIMDataIconAddFile",
iconOptions: {
types: ["fill", "stroke"],
values: iconsColors,
@@ -169,12 +166,12 @@ export default {
},
propsData: [
[
- { id: "props", label: "Props", width: "70px" },
- { id: "type", label: "Type", width: "70px" },
- { id: "required", label: "Required", width: "30px" },
- { id: "defaultValue", label: "Default value", width: "150px" },
- { id: "description", label: "Description", width: "300px" },
- { id: "examples", label: "Examples", width: "150px" },
+ "Props",
+ "Type",
+ "Required",
+ "Default value",
+ "Description",
+ "Example",
],
[
"color",
@@ -214,7 +211,7 @@ export default {
"true",
"",
"Use this props to add an icon name to BIMDataIcon.",
- "addFile",
+ "AddFile",
],
[
"rotate",
@@ -232,6 +229,14 @@ export default {
"Several custom size are available to handle the custom icons size.",
"xxxs, xxs, xs, s, m, l, xl, xxl, xxxl.",
],
+ [
+ "stroke",
+ "Boolean",
+ "",
+ "false",
+ "Make icon body transparent, keep border drawn.",
+ ],
+ ["fill", "Boolean", "", "true", "Fill the icon with color."],
],
iconsSizeData: [
["Size value", "Output"],
@@ -249,12 +254,15 @@ export default {
},
computed: {
filteredList() {
- return Object.keys(icons).filter(iconName => {
+ return Object.keys(allIcons).filter(iconName => {
return iconName.toLowerCase().includes(this.filter.toLowerCase());
});
},
},
methods: {
+ test() {
+ return this.allIcons.length;
+ },
onActiveIcons(iconName) {
this.activeIcon = iconName;
},
@@ -271,8 +279,8 @@ export default {
}
},
getMarginIcon() {
- if (this.marginIcon > 0) {
- return `:margin="${this.marginIcon}"`;
+ if (this.marginIcon !== "0px" && this.marginIcon.includes("px")) {
+ return `margin="${this.marginIcon}"`;
}
},
getOverviewIconClasses() {
@@ -282,13 +290,4 @@ export default {
};
-
+
diff --git a/src/web/views/Components/Icons/_Icons.scss b/src/web/views/Components/Icons/_Icons.scss
index 2db7f099..f919fbc6 100644
--- a/src/web/views/Components/Icons/_Icons.scss
+++ b/src/web/views/Components/Icons/_Icons.scss
@@ -1,3 +1,5 @@
+@import "../../../../assets/scss/mixins/_font-size.scss";
+
.article-icons {
img {
width: 71px;
@@ -7,8 +9,8 @@
margin: 0 0 var(--spacing-unit);
}
.bimdata-ds__demo {
- ::v-deep.bimdata-ds__demo__module {
- padding-top: 38px;
+ :deep(.bimdata-ds__demo__module) {
+ align-items: flex-start;
justify-content: flex-start;
}
&__module {
@@ -18,33 +20,37 @@
left: 0;
}
.icons-numbers {
- height: 32px;
padding: 0 6px;
+ min-width: 6%;
+ height: 32px;
background-color: var(--color-primary);
color: var(--color-white);
font-size: 10px;
letter-spacing: 1px;
display: flex;
align-items: center;
+ justify-content: center;
position: absolute;
top: 0;
right: 0;
}
.icons {
- display: flex;
- flex-wrap: wrap;
+ width: 100%;
+ margin-top: 24px;
+ display: grid;
+ grid-template-columns: repeat(auto-fill, 210px);
justify-content: center;
& > div {
- margin: calc(var(--spacing-unit) / 2);
padding: var(--spacing-unit);
- width: 118px;
+ flex: 19%;
+ flex-grow: 0;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
p {
margin: calc(var(--spacing-unit) / 2) 0 0 0;
- font-size: calculateEm(12px);
+ font-size: calculateEm(10px);
}
&:hover {
background-color: var(--color-silver-light);
diff --git a/src/web/views/Components/Illustrations/Illustrations.js b/src/web/views/Components/Illustrations/Illustrations.js
index 21c0d8f8..986dfbe8 100644
--- a/src/web/views/Components/Illustrations/Illustrations.js
+++ b/src/web/views/Components/Illustrations/Illustrations.js
@@ -19,6 +19,11 @@ export default Object.freeze([
x: "90",
y: "90",
},
+ {
+ name: "emptyPdf",
+ x: "90",
+ y: "90",
+ },
{
name: "emptyProperties",
x: "90",
@@ -59,6 +64,26 @@ export default Object.freeze([
x: "200",
y: "200",
},
+ {
+ name: "shortcutMove2D",
+ x: "200",
+ y: "200",
+ },
+ {
+ name: "shortcutOpen2D",
+ x: "200",
+ y: "200",
+ },
+ {
+ name: "shortcutRotate2D",
+ x: "200",
+ y: "200",
+ },
+ {
+ name: "shortcutZoom2D",
+ x: "200",
+ y: "200",
+ },
{
name: "successSplit",
x: "200",
diff --git a/src/web/views/Components/Illustrations/Illustrations.vue b/src/web/views/Components/Illustrations/Illustrations.vue
index 0df4c2e4..7522c53a 100644
--- a/src/web/views/Components/Illustrations/Illustrations.vue
+++ b/src/web/views/Components/Illustrations/Illustrations.vue
@@ -26,7 +26,7 @@
- import BIMDataIllustration from "@bimdata/design-system/dist/js/BIMDataComponents/BIMDataIllustration.js";
+ import BIMDataIllustration from "@bimdata/design-system/src/BIMDataComponents/BIMDataIllustration/BIMDataIllustration.vue";
@@ -38,6 +38,13 @@
+
+
+ Props:
+
+
@@ -46,14 +53,9 @@
import Illustrations from "./Illustrations.js";
import ComponentCode from "../../Elements/ComponentCode/ComponentCode.vue";
-import BIMDataIllustration from "../../../../../src/BIMDataComponents/BIMDataIllustration/BIMDataIllustration.vue";
-import BIMDataText from "../../../../../src/BIMDataComponents/BIMDataText/BIMDataText.vue";
-
export default {
components: {
ComponentCode,
- BIMDataIllustration,
- BIMDataText,
},
data() {
return {
@@ -64,6 +66,25 @@ export default {
x: "23",
y: "30",
},
+ propsData: [
+ ["Props", "Type", "Required", "Default value", "Description"],
+ ["x", "[Number, String]", "", "90", "Specify the width"],
+ ["y", "[Number, String]", "", "90", "Specify the height"],
+ [
+ "customWidth",
+ "[Number, String]",
+ "",
+ "90",
+ "Specify the width, won't affect the viewBox",
+ ],
+ [
+ "customHeight",
+ "[Number, String]",
+ "",
+ "90",
+ "Specify the height, won't affect the viewBox",
+ ],
+ ],
};
},
methods: {
@@ -74,7 +95,4 @@ export default {
};
-
+
diff --git a/src/web/views/Components/Input/Input.vue b/src/web/views/Components/Input/Input.vue
index 250a5c73..a2cd392a 100644
--- a/src/web/views/Components/Input/Input.vue
+++ b/src/web/views/Components/Input/Input.vue
@@ -18,7 +18,7 @@
:margin="marginInput"
>
-
+
@@ -61,8 +61,7 @@
- import BIMDataInput from
- "@bimdata/design-system/dist/js/BIMDataComponents/BIMDataInput.js";
+ {{ getImportContent() }}
@@ -76,9 +75,7 @@
{{ getMargin() }}
>
- <template #inputIcon v-if="inputIcon">
- {{ getInputIcon() }}
- </template>
+ {{ getInputIcon() }}
</BIMDataInput>
@@ -126,20 +123,10 @@ import propsData from "./props-data.js";
import slotsData from "./slots-data.js";
// Components
import ComponentCode from "../../Elements/ComponentCode/ComponentCode.vue";
-import BIMDataTable from "../../../../../src/BIMDataComponents/BIMDataTable/BIMDataTable.vue";
-import BIMDataCheckbox from "../../../../../src/BIMDataComponents/BIMDataCheckbox/BIMDataCheckbox.vue";
-import BIMDataInput from "../../../../../src/BIMDataComponents/BIMDataInput/BIMDataInput.vue";
-import BIMDataIcon from "../../../../../src/BIMDataComponents/BIMDataIcon/BIMDataIcon.vue";
-import BIMDataText from "../../../../../src/BIMDataComponents/BIMDataText/BIMDataText.vue";
export default {
components: {
ComponentCode,
- BIMDataTable,
- BIMDataCheckbox,
- BIMDataInput,
- BIMDataIcon,
- BIMDataText,
},
data() {
return {
@@ -158,6 +145,15 @@ export default {
};
},
methods: {
+ getImportContent() {
+ return `
+ import BIMDataInput from "@bimdata/design-system/src/BIMDataComponents/BIMDataInput/BIMDataInput.vue";
+ ${
+ this.inputIcon
+ ? 'import BIMDataIconShow from "@bimdata/design-system/src/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconShow.vue";'
+ : ""
+ }`;
+ },
getErrorMessage() {
if (this.error && this.errorMessage) {
return "your error message here";
@@ -184,7 +180,10 @@ export default {
},
getInputIcon() {
if (this.inputIcon) {
- return ' ';
+ return `
+
+ "
+ `;
}
},
getMargin() {
diff --git a/src/web/views/Components/Input/events-data.js b/src/web/views/Components/Input/events-data.js
index 6d428b7a..037d022f 100644
--- a/src/web/views/Components/Input/events-data.js
+++ b/src/web/views/Components/Input/events-data.js
@@ -1,8 +1,10 @@
/* eslint-disable */
export default [
[ "Event name", "Payload" ],
- [ "update:modelValue", "The value of the input." ],
+ [ "update:modelValue", "The input value." ],
[ "blur", "The native blur event." ],
[ "keypress", "The native keypress event." ],
[ "focus", "The native focus event." ],
+ ["change", "To catch the Event object"],
+
];
diff --git a/src/web/views/Components/Input/props-data.js b/src/web/views/Components/Input/props-data.js
index 36a3aa95..237533aa 100644
--- a/src/web/views/Components/Input/props-data.js
+++ b/src/web/views/Components/Input/props-data.js
@@ -1,6 +1,12 @@
/* eslint-disable */
export default [
[ "Props", "Type", "Default value", "Description" ],
+ [
+ "modelValue",
+ "String",
+ "",
+ "Use this prop to bind the input value to a variable.",
+ ],
[
"margin",
"String",
diff --git a/src/web/views/Components/Loaders/Loaders.vue b/src/web/views/Components/Loaders/Loaders.vue
index be791e1b..68f2be1f 100644
--- a/src/web/views/Components/Loaders/Loaders.vue
+++ b/src/web/views/Components/Loaders/Loaders.vue
@@ -11,7 +11,7 @@
import BIMDataLoading from
- "@bimdata/design-system/dist/js/BIMDataComponents/BIMDataLoading.js";
+ "@bimdata/design-system/src/BIMDataComponents/BIMDataLoading/BIMDataLoading.js";
@@ -44,7 +44,7 @@
import BIMDataBigSpinner from
- "@bimdata/design-system/dist/js/BIMDataComponents/BIMDataBigSpinner.js";
+ "@bimdata/design-system/src/BIMDataComponents/BIMDataBigSpinner/BIMDataBigSpinner.vue";
@@ -65,7 +65,7 @@
import BIMDataSpinner from
- "@bimdata/design-system/dist/js/BIMDataComponents/BIMDataSpinner.js";
+ "@bimdata/design-system/src/BIMDataComponents/BIMDataSpinner/BIMDataSpinner.vue";
@@ -84,21 +84,22 @@
-
-
+
+
- import BIMDataPieSpinner from
- "@bimdata/design-system/dist/js/BIMDataComponents/BIMDataPieSpinner.js";
+
+ import BIMDataPieSpinner from "@bimdata/design-system/src/js/BIMDataComponents/BIMDataPieSpinner/BIMDataPieSpinner.vue";
+ import BIMDataIconClose from "@bimdata/design-system/src/js/BIMDataComponents/BIMDataIcon/BIMDataIconStandalone/BIMDataIconClose.vue";
+
<BIMDataPieSpinner :delay="50">
- <BIMDataIcon
- name="close"
+ <BIMDataIconClose
size="xxxs"
class="fill-primary"
/>
@@ -128,29 +129,15 @@
-
+
diff --git a/src/web/views/Components/Loaders/_Loaders.scss b/src/web/views/Components/Loaders/_Loaders.scss
index d317512b..d9482169 100644
--- a/src/web/views/Components/Loaders/_Loaders.scss
+++ b/src/web/views/Components/Loaders/_Loaders.scss
@@ -1,6 +1,6 @@
.article-loader {
- ::v-deep .bimdata-ds__demo {
- &__module {
+ :deep(.bimdata-ds__demo) {
+ .bimdata-ds__demo__module {
height: 200px;
}
}
diff --git a/src/web/views/Components/Menu/BasicMenu.vue b/src/web/views/Components/Menu/BasicMenu.vue
new file mode 100644
index 00000000..b3522011
--- /dev/null
+++ b/src/web/views/Components/Menu/BasicMenu.vue
@@ -0,0 +1,195 @@
+
+
+
+ Basic menu
+
+
+
+
+
+
+
+
+ {{ item.text }}
+
+
+
+
+
+
+ {{ child.data }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <BIMDataMenu
+ :menuItems="[
+ {{ formatMenuItem(item) }},
+ ]"
+ @item-click="itemClick"
+ :childrenLeft="{{isChildrenLeft}}"
+ >
+ <template #item="{ item }">
+ {{ getIcons() }}
+ <span>{{ "{{ item.text }" + "}" }}</span>
+ </template>
+ {{getChildren()}}
+ </BIMDataMenu>
+
+
+
+
+
+
+
diff --git a/src/web/views/Components/Menu/MenuInline.vue b/src/web/views/Components/Menu/MenuInline.vue
new file mode 100644
index 00000000..703e5e25
--- /dev/null
+++ b/src/web/views/Components/Menu/MenuInline.vue
@@ -0,0 +1,142 @@
+
+
+
+ Menu inline
+
+
+
+
+
+
+ active
+ non active
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <BIMDataMenuInline :isSubmenuRight="{{ isSubmenuRight }}" {{
+ getWidth()
+ }} :isClickAway="{{ isClickAway }}" iconEllipsisSize="l" >
+ {{ getButtonSlot() }}
+ <template #submenu>
+ <div class="flex items-center justify-center">
+ <BIMDataButton
+ color="primary"
+ ghost
+ rounded
+ icon
+ @click="yourClickEventHere()"
+ class="m-r-6"
+ >
+ <BIMDataIconDelete fill color="primary" size="xxs" />
+ </BIMDataButton>
+ <BIMDataButton
+ color="primary"
+ ghost
+ rounded
+ icon
+ @click="yourClickEventHere()"
+ >
+ <BIMDataIconEdit fill color="primary" size="xxs" />
+ </BIMDataButton>
+ </div>
+ </template>
+ </BIMDataMenuInline>
+
+
+
+
+
+
+
diff --git a/src/web/views/Components/Menu/Menus.vue b/src/web/views/Components/Menu/Menus.vue
new file mode 100644
index 00000000..6655f41e
--- /dev/null
+++ b/src/web/views/Components/Menu/Menus.vue
@@ -0,0 +1,74 @@
+
+
+
+
+ {{ $route.name }}
+
+
+
+
+
+ Props:
+
+
+
+
+
+ Slots:
+
+
+
+
+
+
+
+ Props:
+
+
+
+
+
+ Slots:
+
+
+
+
+
+
+
+
diff --git a/src/web/views/Components/Menu/option-sets.js b/src/web/views/Components/Menu/option-sets.js
new file mode 100644
index 00000000..0b579212
--- /dev/null
+++ b/src/web/views/Components/Menu/option-sets.js
@@ -0,0 +1,14 @@
+const basicOptions = [
+ { key: 1, text: "item 01", action: () => console.log("parent clicked") },
+ { key: 2, text: "item 02" },
+ { key: 3, text: "item 03" },
+ { key: 4, text: "item 04" },
+ {
+ key: 5,
+ text: "item 05",
+ color: "var(--color-high)",
+ background: "var(--color-high-lighter)",
+ },
+];
+
+export { basicOptions };
diff --git a/src/web/views/Components/Menu/props-basic-menu.js b/src/web/views/Components/Menu/props-basic-menu.js
new file mode 100644
index 00000000..ac93fe33
--- /dev/null
+++ b/src/web/views/Components/Menu/props-basic-menu.js
@@ -0,0 +1,36 @@
+/* eslint-disable */
+export default [
+ [
+ "Name", "Type", "Default value", "Description"
+ ],
+ [
+ "menuItems",
+ "Array",
+ "() => []",
+ "Use this props to add content on BIMDataMenu component.",
+ ],
+ [
+ "subListMaxHeight",
+ "String",
+ "auto",
+ "Use this props to define the sub-list maximum height."
+ ],
+ [
+ "subListWidth",
+ "String",
+ "100%",
+ "Use this props to define the sub-list width."
+ ],
+ [
+ "width",
+ "String",
+ "200px",
+ "Use this props to custom width of BIMDataMenu component.",
+ ],
+ [
+ "childrenLeft",
+ "Boolean",
+ "false",
+ "If true, the child menu opens to the left of the menu.",
+ ],
+];
diff --git a/src/web/views/Components/Menu/props-menu-inline.js b/src/web/views/Components/Menu/props-menu-inline.js
new file mode 100644
index 00000000..d2b850db
--- /dev/null
+++ b/src/web/views/Components/Menu/props-menu-inline.js
@@ -0,0 +1,42 @@
+/* eslint-disable */
+export default [
+ [
+ "Name", "Type", "Default value", "Description"
+ ],
+ [
+ "isSubmenuRight",
+ "Boolean",
+ "true",
+ "Set this props to 'false' to open the submenu on the left.",
+ ],
+ [
+ "width",
+ "String",
+ "200px",
+ "Use this props to custom width of BIMDataMenuInline component.",
+ ],
+ [
+ "isClickAway",
+ "Boolean",
+ "true",
+ "If false, the menu component does not close when you click outside.",
+ ],
+ [
+ "childrenLeft",
+ "Boolean",
+ "true",
+ "If true, children will be displayed at the left of the menu.",
+ ],
+ [
+ "iconEllipsisSize",
+ "String",
+ "m",
+ "Custom ellipsis icon size. Possible values : 'xxxs, xxs, xs, s, m, l, xl, xxl, xxxl'",
+ ],
+ [
+ "iconCloseSize",
+ "String",
+ "xxs",
+ "Custom close icon size. Possible values : 'xxxs, xxs, xs, s, m, l, xl, xxl, xxxl'",
+ ],
+];
diff --git a/src/web/views/Components/Menu/slots-basic-menu.js b/src/web/views/Components/Menu/slots-basic-menu.js
new file mode 100644
index 00000000..d97b67b9
--- /dev/null
+++ b/src/web/views/Components/Menu/slots-basic-menu.js
@@ -0,0 +1,7 @@
+export default [
+ ["Slot name", "Description"],
+ ["groupTitle", "Use this slot for custom group title."],
+ ["item", "Use this slot for custom items menu."],
+ ["children", "Use this slot for custom children of menu items."],
+ ["child-item", "Use this slot for custom list elements of child items."],
+];
diff --git a/src/web/views/Components/Menu/slots-menu-inline.js b/src/web/views/Components/Menu/slots-menu-inline.js
new file mode 100644
index 00000000..cb26bdd3
--- /dev/null
+++ b/src/web/views/Components/Menu/slots-menu-inline.js
@@ -0,0 +1,5 @@
+export default [
+ ["Slot name", "Description"],
+ ["button", "Use this slot for custom button icon to open the menu."],
+ ["submenu", "Use this slot to add a submenu."],
+];
diff --git a/src/web/views/Components/Pagination/Pagination.vue b/src/web/views/Components/Pagination/Pagination.vue
index 7fc489c2..a9886e72 100644
--- a/src/web/views/Components/Pagination/Pagination.vue
+++ b/src/web/views/Components/Pagination/Pagination.vue
@@ -1,15 +1,24 @@
-
{{
- $route.name
- }}
+
+ {{ $route.name }}
+
+
+ {{ element }}
+
+
+ {{ element.text }}
+
@@ -19,18 +28,38 @@
placeholder="Number of items per page"
type="number"
>
+
+ complex pagination
+ basic pagination
+
+
+
import BIMDataPaginatedList from
- "@bimdata/design-system/dist/js/BIMDataComponents/BIMDataPaginatedList.js";
+ "@bimdata/design-system/src/BIMDataComponents/BIMDataPaginatedList/BIMDataPaginatedList.vue";
- <BIMDataPaginatedList :list="paginatedListExample" :perPage="{{
- numberInput
- }}"></BIMDataPaginatedList>
+ <BIMDataPaginatedList :list="{{
+ getPaginationList()
+ }}" :perPage="{{ numberInput }}" :numberDataElements="{{
+ isNumberDataElements
+ }}">
+ {{ getPagination() }}
+ </BIMDataPaginatedList>
@@ -48,42 +77,34 @@
>
+
+
+ Events:
+
+
+
+
diff --git a/src/web/views/Components/Pagination/option-sets.js b/src/web/views/Components/Pagination/option-sets.js
new file mode 100644
index 00000000..542b69a4
--- /dev/null
+++ b/src/web/views/Components/Pagination/option-sets.js
@@ -0,0 +1,72 @@
+const basicPagination = [
+ "item 01",
+ "item 02",
+ "item 03",
+ "item 04",
+ "item 05",
+ "item 06",
+ "item 07",
+ "item 08",
+ "item 09",
+ "item 10",
+ "item 11",
+ "item 12",
+];
+
+const complexPagination = [
+ { id: 1, text: "item 01" },
+ { id: 2, text: "item 02" },
+ { id: 3, text: "item 03" },
+ { id: 4, text: "item 04" },
+ { id: 5, text: "item 05" },
+ { id: 6, text: "item 06" },
+ { id: 7, text: "item 07" },
+ { id: 8, text: "item 08" },
+ { id: 9, text: "item 09" },
+ { id: 10, text: "item 10" },
+ { id: 11, text: "item 11" },
+ { id: 12, text: "item 12" },
+ { id: 13, text: "item 13" },
+ { id: 14, text: "item 14" },
+ { id: 15, text: "item 15" },
+ { id: 16, text: "item 16" },
+ { id: 17, text: "item 17" },
+ { id: 18, text: "item 18" },
+ { id: 19, text: "item 19" },
+ { id: 20, text: "item 20" },
+ { id: 21, text: "item 21" },
+ { id: 22, text: "item 22" },
+ { id: 23, text: "item 23" },
+ { id: 24, text: "item 24" },
+ { id: 25, text: "item 25" },
+ { id: 26, text: "item 26" },
+ { id: 27, text: "item 27" },
+ { id: 28, text: "item 28" },
+ { id: 29, text: "item 29" },
+ { id: 30, text: "item 30" },
+ { id: 31, text: "item 31" },
+ { id: 32, text: "item 32" },
+ { id: 33, text: "item 33" },
+ { id: 34, text: "item 34" },
+ { id: 35, text: "item 35" },
+ { id: 36, text: "item 36" },
+ { id: 37, text: "item 37" },
+ { id: 38, text: "item 38" },
+ { id: 39, text: "item 39" },
+ { id: 40, text: "item 40" },
+ { id: 41, text: "item 41" },
+ { id: 42, text: "item 42" },
+ { id: 43, text: "item 43" },
+ { id: 44, text: "item 44" },
+ { id: 45, text: "item 45" },
+ { id: 46, text: "item 46" },
+ { id: 47, text: "item 47" },
+ { id: 48, text: "item 48" },
+ { id: 49, text: "item 49" },
+ { id: 50, text: "item 50" },
+ { id: 51, text: "item 51" },
+ { id: 52, text: "item 52" },
+ { id: 53, text: "item 53" },
+];
+
+export { basicPagination, complexPagination };
diff --git a/src/web/views/Components/Radio/Radio.vue b/src/web/views/Components/Radio/Radio.vue
index b5e6d6ac..0479ee37 100644
--- a/src/web/views/Components/Radio/Radio.vue
+++ b/src/web/views/Components/Radio/Radio.vue
@@ -1,9 +1,9 @@
-
{{
- $route.name
- }}
+
+ {{ $route.name }}
+
+ />
+ />
+ />
+
+ {{ `Selected Value: ${selectedValue}` }}
+
-
-
-
-
-
- Reset
+
+
+
+
+ Reset
+
import BIMDataRadio from
- "@bimdata/design-system/dist/js/BIMDataComponents/BIMDataRadio.js";
+ "@bimdata/design-system/src/BIMDataComponents/BIMDataRadio/BIMDataRadio.vue";
<BIMDataRadio
- text="click on me !"
- id="radiotest"
- value="radiotest"
- v-model="selectedMode"
- :disabled="checkboxDisabledChecked">
- </BIMDataRadio>
+ text="{{ text }}"
+ value="v0"
+ v-model="selectedValue"
+ :disabled="{{ checkboxDisabledChecked }}"
+ :big="{{ checkboxBigChecked }}"
+ />
+ <BIMDataRadio
+ text="Mode 1"
+ value="v1"
+ v-model="selectedValue"
+ :disabled="{{ checkboxDisabledChecked }}"
+ :big="{{ checkboxBigChecked }}"
+ />
+ <BIMDataRadio
+ text="Mode 2"
+ value="v2"
+ v-model="selectedValue"
+ :disabled="{{ checkboxDisabledChecked }}"
+ :big="{{ checkboxBigChecked }}"
+ />
- Props:
+
+ Props:
+
+
+
+ Events:
+
+
-
+
diff --git a/src/web/views/Components/ResponsiveGrid/_ResponsiveGrid.scss b/src/web/views/Components/ResponsiveGrid/_ResponsiveGrid.scss
index afd67626..dc33fff5 100644
--- a/src/web/views/Components/ResponsiveGrid/_ResponsiveGrid.scss
+++ b/src/web/views/Components/ResponsiveGrid/_ResponsiveGrid.scss
@@ -1,5 +1,3 @@
-@import "../../../../assets/scss/BIMDataVariables";
-
.demo-grid {
width: 100%;
height: 100%;
diff --git a/src/web/views/Components/SafeZoneInline/SafeZoneInline.vue b/src/web/views/Components/SafeZoneInline/SafeZoneInline.vue
new file mode 100644
index 00000000..bd971330
--- /dev/null
+++ b/src/web/views/Components/SafeZoneInline/SafeZoneInline.vue
@@ -0,0 +1,103 @@
+
+
+
+
+ {{ $route.name }}
+
+
+
+
+
+
+
+
+
+
+
+
+ Change content order
+
+
+
+
+ import BIMDataSafeZoneInline from
+ "@bimdata/design-system/src/BIMDataComponents/BIMDataSafeZoneInline/BIMDataSafeZoneInline.vue";
+
+
+
+
+ <BIMDataSafeZoneInline :reverse="{{ reverse }}"/>
+
+
+
+
+
+
+ Props:
+
+
+
+
+
+ Events:
+
+
+
+
+
+ Slots:
+
+
+
+
+
+
+
+
+
+
diff --git a/src/web/views/Components/SafeZoneInline/_SafeZoneInline.scss b/src/web/views/Components/SafeZoneInline/_SafeZoneInline.scss
new file mode 100644
index 00000000..cfde1656
--- /dev/null
+++ b/src/web/views/Components/SafeZoneInline/_SafeZoneInline.scss
@@ -0,0 +1,12 @@
+.safe-zone-inline {
+ &__playground {
+ position: relative;
+
+ &__component {
+ position: absolute;
+ z-index: 1;
+ top: -7px;
+ right: 0px;
+ }
+ }
+}
diff --git a/src/web/views/Components/Search/Search.vue b/src/web/views/Components/Search/Search.vue
index 1731b251..058a1945 100644
--- a/src/web/views/Components/Search/Search.vue
+++ b/src/web/views/Components/Search/Search.vue
@@ -12,12 +12,34 @@
+
+
+
+
import BIMDataSearch from
- "@bimdata/design-system/dist/js/BIMDataComponents/BIMDataSearch.js";
+ "@bimdata/design-system/src/BIMDataComponents/BIMDataSearch/BIMDataSearch.vue";
<BIMDataSearch
- placeholder="Search"
+ placeholder="{{ placeholder }}"
color="{{ selectedSearchOptionsstyle }}"
{{ selectedSearchOptionskinds }}
+ clear="{{ isClear }}"
+ :width="{{ width + "px" }}"
+ :height="{{ height + "px" }}"
/>
@@ -63,30 +88,35 @@
+
+
+ Events:
+
+
diff --git a/src/web/views/Components/SearchAutocomplete/props-data.js b/src/web/views/Components/SearchAutocomplete/props-data.js
new file mode 100644
index 00000000..f2427b24
--- /dev/null
+++ b/src/web/views/Components/SearchAutocomplete/props-data.js
@@ -0,0 +1,40 @@
+/* eslint-disable */
+export default [
+ [ "Props", "Type", "Default value", "Description" ],
+ [
+ "items",
+ "Array",
+ "[]",
+ "Use this props to pass your items to the component. The elements of this array must have the following form : [{logo: '', title: '', text: ''}]",
+ ],
+ [
+ "placeholder",
+ "String",
+ "' '",
+ "Use this props to add a placeholder.",
+ ],
+ [
+ "isAllResultatsBtnActive",
+ "Boolean",
+ "true",
+ "Use this props to display or not the 'See all search results' button",
+ ],
+ [
+ "perPage",
+ "Number",
+ "10",
+ "Use this prop to control the number of items per page (for paginated)",
+ ],
+ [
+ "loading",
+ "Boolean",
+ "false",
+ "",
+ ],
+ [
+ "autoclear",
+ "Boolean",
+ "true",
+ "If true (default), automatically clear search text when an item is selected",
+ ],
+];
diff --git a/src/web/views/Components/SearchAutocomplete/slots-data.js b/src/web/views/Components/SearchAutocomplete/slots-data.js
new file mode 100644
index 00000000..69e3d75e
--- /dev/null
+++ b/src/web/views/Components/SearchAutocomplete/slots-data.js
@@ -0,0 +1,16 @@
+/* eslint-disable */
+export default [
+ [ "Slot name", "Description"],
+ [
+ "loading",
+ "Use this slot to custom loading space",
+ ],
+ [
+ "left",
+ "Use this slot to custom left content beside title and description of research item.",
+ ],
+ [
+ "logoPlaceholder",
+ "Use this slot when the result has no logo defined. By default, an icon is displayed."
+ ]
+];
diff --git a/src/web/views/Components/Select/Select.vue b/src/web/views/Components/Select/Select.vue
index 26773a54..bca94b51 100644
--- a/src/web/views/Components/Select/Select.vue
+++ b/src/web/views/Components/Select/Select.vue
@@ -23,7 +23,7 @@
Selection:
[
-
+
{{ JSON.stringify(s) }}
@@ -67,7 +67,7 @@
import BIMDataSelect from
- "@bimdata/design-system/dist/js/BIMDataComponents/BIMDataSelect.js";
+ "@bimdata/design-system/src/BIMDataComponents/BIMDataSelect/BIMDataSelect.vue";
@@ -94,6 +94,13 @@
+
+ Events:
+
+
+
Note about 'v-model' and 'optionKey' prop:
@@ -148,21 +155,14 @@
+
+
diff --git a/src/web/views/Components/Slider/events-data.js b/src/web/views/Components/Slider/events-data.js
new file mode 100644
index 00000000..de4891f9
--- /dev/null
+++ b/src/web/views/Components/Slider/events-data.js
@@ -0,0 +1,5 @@
+/* eslint-disable */
+export default [
+ [ "Event name", "Payload" ],
+ [ "update:modelValue", "The slider input range value." ],
+];
diff --git a/src/web/views/Components/Slider/props-data.js b/src/web/views/Components/Slider/props-data.js
new file mode 100644
index 00000000..96714079
--- /dev/null
+++ b/src/web/views/Components/Slider/props-data.js
@@ -0,0 +1,59 @@
+/* eslint-disable */
+export default [
+ [
+ "Props",
+ "Type",
+ "Required",
+ "Default value",
+ "Description",
+ "Example",
+ ],
+ [
+ "min",
+ "Number, String",
+ "",
+ "null",
+ "Use this props to define min range.",
+ "0",
+ ],
+ [
+ "max",
+ "Number, String",
+ "",
+ "null",
+ "Use this props to define max range.",
+ "100",
+ ],
+ [
+ "step",
+ "Number, String",
+ "",
+ "null",
+ "You can change the default step increment.",
+ "10",
+ ],
+ [
+ "modelValue",
+ "Number",
+ "",
+ "0",
+ "Slider input range value.",
+ "",
+ ],
+ [
+ "disabled",
+ "Boolean",
+ "",
+ "false",
+ "Use this props to disable slider.",
+ "true",
+ ],
+ [
+ "tooltip",
+ "Boolean",
+ "",
+ "false",
+ "Use this props to enable tooltip with slider value.",
+ "true",
+ ],
+];
diff --git a/src/web/views/Components/Table/Table.vue b/src/web/views/Components/Table/Table.vue
index e78b3865..c173e722 100644
--- a/src/web/views/Components/Table/Table.vue
+++ b/src/web/views/Components/Table/Table.vue
@@ -16,9 +16,7 @@
@selection-changed="simpleExample.selection = $event"
/>
-
- Selection :
-
+
Selection :
{{ `[${i}] - ${s.join(", ")}` }}
-
- ( None )
-
+
( None )
@@ -84,7 +80,7 @@
import BIMDataTable from
- "@bimdata/design-system/dist/js/BIMDataComponents/BIMDataTable/BIMDataTable.js";
+ "@bimdata/design-system/src/BIMDataComponents/BIMDataTable/BIMDataTable.vue";
@@ -106,9 +102,9 @@
- Props:
+
+ Props:
+
-
Events:
+
+ Events:
+
let columns = [
{ id: "fullName", label: "Name" },
- { id: "age", label: "Age", width: "40px" },
+ { id: "age", label: "Age", width: "64px" },
{ id: "country", label: "Country", width: "200px", align: "center" }
];
@@ -183,7 +179,7 @@
<BIMDataTable :columns="columns" :rows="rows">
<template #cell-fullName="{ row }">
- {{ "{{ `${row.firstName} ${row.lastName}` }" + "}" }}
+ {{ "{" + "{ `${row.firstName} ${row.lastName}` }" + "}" }}
</template>
<template #cell-age="{ row }">
<AgeCustomCell :age="row.age" />
@@ -224,19 +220,23 @@
the following resources:
@@ -265,21 +265,13 @@ import propsData from "./props-data.js";
// Components
import Code from "../../Elements/Code/Code.vue";
import ComponentCode from "../../Elements/ComponentCode/ComponentCode.vue";
-import BIMDataCheckbox from "../../../../../src/BIMDataComponents/BIMDataCheckbox/BIMDataCheckbox.vue";
-import BIMDataInput from "../../../../../src/BIMDataComponents/BIMDataInput/BIMDataInput.vue";
-import BIMDataTable from "../../../../BIMDataComponents/BIMDataTable/BIMDataTable.vue";
-import BIMDataText from "../../../../../src/BIMDataComponents/BIMDataText/BIMDataText.vue";
-import AgeCustomCell from "./AgeCustomCell.vue";
-import CountryCustomCell from "./CountryCustomCell.vue";
+import AgeCustomCell from "./example/AgeCustomCell.vue";
+import CountryCustomCell from "./example/CountryCustomCell.vue";
export default {
components: {
Code,
ComponentCode,
- BIMDataCheckbox,
- BIMDataInput,
- BIMDataTable,
- BIMDataText,
AgeCustomCell,
CountryCustomCell,
},
@@ -301,16 +293,37 @@ export default {
paginated: false,
perPage: 4,
},
-
advancedExample: {
columns: [
- { id: "fullName", label: "Name" },
- { id: "age", label: "Age", width: "40px" },
- { id: "country", label: "Country", width: "200px", align: "center" },
+ {
+ id: "fullName",
+ label: "Name",
+ },
+ {
+ id: "age",
+ label: "Age",
+ width: "64px",
+ },
+ {
+ id: "country",
+ label: "Country",
+ width: "200px",
+ align: "center",
+ },
],
rows: [
- { firstName: "John", lastName: "Doe", age: 26, country: "Germany" },
- { firstName: "Jane", lastName: "Doe", age: 21, country: "Austria" },
+ {
+ firstName: "John",
+ lastName: "Doe",
+ age: 26,
+ country: "Germany",
+ },
+ {
+ firstName: "Jane",
+ lastName: "Doe",
+ age: 21,
+ country: "Austria",
+ },
{
firstName: "Martine",
lastName: "Durand",
@@ -323,7 +336,12 @@ export default {
age: 64,
country: "Italy",
},
- { firstName: "Enrico", lastName: "Fermi", age: 41, country: "Italy" },
+ {
+ firstName: "Enrico",
+ lastName: "Fermi",
+ age: 41,
+ country: "Italy",
+ },
{
firstName: "Lev Davidovitch",
lastName: "Landau",
diff --git a/src/web/views/Components/Table/events-data.js b/src/web/views/Components/Table/events-data.js
index 24cf8585..419bd84a 100644
--- a/src/web/views/Components/Table/events-data.js
+++ b/src/web/views/Components/Table/events-data.js
@@ -6,6 +6,12 @@ export default [
"Data",
"Description"
],
+ [
+ "update:selection",
+ "Map",
+ "The row selection map",
+ "Fired each time the selection change",
+ ],
[
"selection-changed",
"Array",
@@ -19,10 +25,10 @@ export default [
"Fired each time a row is selected",
],
[
- "row-unselected",
+ "row-deselected",
"Object",
- "The unselected row",
- "Fired each time a row is unselected",
+ "The deselected row",
+ "Fired each time a row is deselected",
],
[
"all-selected",
@@ -31,9 +37,15 @@ export default [
"Fired when all rows are selected at once",
],
[
- "all-unselected",
+ "all-deselected",
"-",
"none",
- "Fired when all rows are unselected at once",
+ "Fired when all rows are deselected at once",
+ ],
+ [
+ "row-drop",
+ "{ data: Object, event: DragEvent }",
+ "The row it dropped over with the corresponding event",
+ "Fired when a drop event is fired on a row",
],
];
diff --git a/src/web/views/Components/Table/AgeCustomCell.vue b/src/web/views/Components/Table/example/AgeCustomCell.vue
similarity index 87%
rename from src/web/views/Components/Table/AgeCustomCell.vue
rename to src/web/views/Components/Table/example/AgeCustomCell.vue
index ba399692..d316be32 100644
--- a/src/web/views/Components/Table/AgeCustomCell.vue
+++ b/src/web/views/Components/Table/example/AgeCustomCell.vue
@@ -10,7 +10,7 @@
diff --git a/src/web/views/Components/Tabs/Tabs.vue b/src/web/views/Components/Tabs/Tabs.vue
index 39eda41a..ac64c801 100644
--- a/src/web/views/Components/Tabs/Tabs.vue
+++ b/src/web/views/Components/Tabs/Tabs.vue
@@ -46,7 +46,7 @@
import BIMDataTabs from
- "@bimdata/design-system/dist/js/BIMDataComponents/BIMDataTabs.js";
+ "@bimdata/design-system/src/BIMDataComponents/BIMDataTabs/BIMDataTabs.vue";
@@ -86,7 +86,28 @@
scoped slots .
- Below is an example of how to do this.
+ Below is 2 examples of how to do this.
+
+
+
Result:
+
+
+
+
+ {{ tab.text }}
+
+
@@ -111,28 +132,8 @@
-
- Result:
-
-
-
-
-
- {{ tab.text }}
-
-
-
+
+
@@ -140,24 +141,16 @@
-
+
diff --git a/src/web/views/Components/Text/_Text.scss b/src/web/views/Components/Text/_Text.scss
index 09eb8c3d..cba57736 100644
--- a/src/web/views/Components/Text/_Text.scss
+++ b/src/web/views/Components/Text/_Text.scss
@@ -1,6 +1,6 @@
.article-text {
&__component {
- ::v-deep.bimdata-input {
+ :deep(.bimdata-input) {
margin-top: 30px;
label {
top: -34px;
diff --git a/src/web/views/Components/Textarea/Textarea.vue b/src/web/views/Components/Textarea/Textarea.vue
index fb57ee63..35c38493 100644
--- a/src/web/views/Components/Textarea/Textarea.vue
+++ b/src/web/views/Components/Textarea/Textarea.vue
@@ -1,9 +1,9 @@
-
{{
- $route.name
- }}
+
+ {{ $route.name }}
+
@@ -31,11 +35,15 @@
+
+
+
+
import BIMDataTextarea from
- "@bimdata/design-system/dist/js/BIMDataComponents/BIMDataTextarea.js";
+ "@bimdata/design-system/src/BIMDataComponents/BIMDataTextarea/BIMDataTextarea.vue";
@@ -50,9 +58,10 @@
{{ readonly ? ':readonly="true"' : "" }}
{{ fitContent ? "fitContent" : "" }}
{{ resizable ? "resizable" : "" }}
-
-
-
+ {{ success ? "success" : "" }}
+ {{ successMessage ? "successMessage" : "" }}
+ {{ error ? "error" : "" }}
+ {{ errorMessage ? "errorMessage" : "" }}
/>
@@ -63,6 +72,12 @@
>Props:
+
+ Events:
+
+
nota bene:
@@ -83,18 +98,9 @@
-
+
diff --git a/src/web/views/Elements/AnchorLink/AnchorLink.vue b/src/web/views/Elements/AnchorLink/AnchorLink.vue
index f19d0993..b83e887f 100644
--- a/src/web/views/Elements/AnchorLink/AnchorLink.vue
+++ b/src/web/views/Elements/AnchorLink/AnchorLink.vue
@@ -30,15 +30,4 @@ export default {
};
-
+
diff --git a/src/web/views/Elements/AnchorLink/_AnchorLink.scss b/src/web/views/Elements/AnchorLink/_AnchorLink.scss
index 7f6cf38f..d42b6bf4 100644
--- a/src/web/views/Elements/AnchorLink/_AnchorLink.scss
+++ b/src/web/views/Elements/AnchorLink/_AnchorLink.scss
@@ -12,3 +12,11 @@
display: flex;
align-items: center;
}
+
+.anchor-link {
+ margin-right: 12px;
+ cursor: pointer;
+ &:focus {
+ outline: none;
+ }
+}
diff --git a/src/web/views/Elements/Code/Code.vue b/src/web/views/Elements/Code/Code.vue
index 2f4abef7..3587e788 100644
--- a/src/web/views/Elements/Code/Code.vue
+++ b/src/web/views/Elements/Code/Code.vue
@@ -19,12 +19,9 @@ export default {
components: {
Alerts,
},
- data() {
- return {
- alerts: false,
- alertType: null,
- message: "",
- };
+ directives: {
+ highlight,
+ copy,
},
props: {
language: {
@@ -32,6 +29,13 @@ export default {
required: true,
},
},
+ data() {
+ return {
+ alerts: false,
+ alertType: null,
+ message: "",
+ };
+ },
methods: {
onCopy() {
this.alerts = true;
@@ -42,14 +46,7 @@ export default {
}, 3000);
},
},
- directives: { highlight, copy },
};
-
+
diff --git a/src/web/views/Elements/ComponentCode/ComponentCode.vue b/src/web/views/Elements/ComponentCode/ComponentCode.vue
index e1aa866f..33d1141c 100644
--- a/src/web/views/Elements/ComponentCode/ComponentCode.vue
+++ b/src/web/views/Elements/ComponentCode/ComponentCode.vue
@@ -15,7 +15,7 @@
{{ componentTitle }} options
@@ -123,7 +123,7 @@ export default {
+
diff --git a/src/web/views/GettingStarted/Developpers.vue b/src/web/views/GettingStarted/Developpers.vue
index 027c1960..e89083e5 100644
--- a/src/web/views/GettingStarted/Developpers.vue
+++ b/src/web/views/GettingStarted/Developpers.vue
@@ -1,209 +1,147 @@
-
{{
- $route.name
- }}
-
How to get started with BIMData's vuejs component library
-
1. Install the package
-
BIMData’s component library is called
- design-system
, and it’s available on
- the npm registry.
-
- npm i @bimdata/design-system
-
+
+ Developers
+
+
+ How to get started with BIMData's Vue components library.
+
-
2. Import component
-
Once you’ve installed the package you can individually import any
- component available in BIMData's design system:
-
-
- import BIMDataButton from "@bimdata/design-system/dist/js/BIMDataComponents/BIMDataButton.js";
-
-
+
+ 1. Install the package
+
+
+ BIMData design system is available on the npm registry and can be
+ installed the following way:
+
+
npm i @bimdata/design-system
-
Or you can import them more easily like this:
-
-
- import {
- BIMDataIcon,
- BIMDataPaginatedList,
- BIMDataButton,
- } from "@bimdata/design-system/components.js";
-
-
-
About Vue 2.x vs. Vue 3.x
-
- The design system was originally developed with Vue 2.6+. As a result
- the components imported as described above won't work in Vue 3.x
- applications.
-
-
- To fix this we adapted each components to be compatible with Vue 3.x and
- added a new "Vue 3 ready" version of them to the design system package.
-
-
- To use Vue 3 compatible components, all you need to do is adding a
- vue3/
prefix before component name
- in the import
module name as follow:
-
-
-
- import BIMDataButton from "@bimdata/design-system/dist/js/BIMDataComponents/vue3/BIMDataButton.js";
- // vue3 prefix here -> ^^^^
-
-
+
+ Note: About the design system packaging
+
+
+ Since version 2, the design system is not bundled anymore. This means
+ that, when the package is installed, you get the
+ untransformed
+ raw .vue
files right into your
+ node_modules
. It is thus the "host"
+ application responsibility to "compile/build" and bundle those
+ components the same way as the other components.
+
-
3. Register component
-
into your .vue
file, define your
- component into
- components
option
-
+
+ 2. Import global styles
+
+
+ To have all design system global styles available in your application
+ you can use the following in your stylesheet:
+
+
- components: {
- BIMDataButton,
- BIMDataSearch
- }
+ @import "@bimdata/design-system/src/assets/css/design-system.css";
- 4. Use component
+
+ 3. Use design system Vue plugin
+
+
+ The preferred way of using design system components in your application
+ is to use the provided
+
+ Vue 3 plugin
+
+
- <BIMDataButton class="bimdata-btn__fill bimdata-btn__fill--primary bimdata-btn__radius">TEST</BIMDataButton>
- <BIMDataSearch placeholder="Search" class="bimdata-search-bar__radius bimdata-search-bar__primary"></BIMDataSearch>
+ import BIMDataDesignSystem from "@bimdata/design-system/vue3-plugin.js";
+ ...
+
+ app.use(BIMDataDesignSystem());
+
+ The plugin will register all components and directives globally so you
+ can easily use them across your application.
+
- 5. Import all components style
- If you use a scss preprocessor you can import:
-
+
+ 4. Import and use components individually
+
+
+ If you don't want to use the plugin, you can also import components
+ individually. For example, to import
+ BIMDataButton
component and use it
+ in your own code, you can do the following:
+
+
- @import "node_modules/@bimdata/design-system/dist/scss/BIMData.scss";
+ import BIMDataButton from "@bimdata/design-system/src/BIMDataComponents/BIMDataButton/BIMDataButton.vue";
- If you use a scss preprocessor you can import:
-
+
+ You can also import multiple components at once like this:
+
+
- @import "node_modules/@bimdata/design-system/dist/css/design-system.css";
+ import {
+ BIMDataButton,
+ BIMDataIcon,
+ BIMDataPaginatedList,
+ } from "@bimdata/design-system/src/BIMDataComponents/index.js";
- Notes
- Scoped style & BIMDataComponents custom
-
-
- If you use 'scoped' for your scss or css stylesheet and you want to
- customize the BIMData components, consider using the deep selector.
- More information on the
- Vue.js documentation .
-
-
- Path for import js only :
-
- import { BIMDataButton } from '@bimdata/design-system'
-
-
-
- Path for import js + css style :
-
-
-import { BIMDataButton } from '@bimdata/design-system/components.js'
-
-
-
+
+ Note: About Vue 2 vs. Vue 3 compatibility
+
+
+ For legacy reasons most of the components are written with the "Vue 2
+ style"
+
+ Options API
+
+ , they should thus be compatible with any Vue 2 / Vue 3 codebase.
+ However since Vue 2 support was dropped with version 2 some components
+ may not be compatible with Vue 2 applications.
+
- SSR & BIMDataComponents compatibility
-
-
- BIMDataComponents are compatible with SSR. More information on the SSR
- on the
- Vue.js documentation .
-
-
- If you want to be SSR compatible, import:
-
- import { BIMDataButton } from '@bimdata/design-system'
-
- This allows you to import only the js of the components.
-
-
- Don't forget to import the stylesheet globally, like this:
-
-
-import './node_modules/@bimdata/design-system/dist/css/design-system.css'
-
-
-
+
+ 5. Real usage example
+
+
+ You can refer to our
+
+ platform
+
+ app for a full example of how to use our design system in a real world
+ application.
+
-
+
diff --git a/src/web/views/GettingStarted/InternalDoc.vue b/src/web/views/GettingStarted/InternalDoc.vue
index 7f63d018..882feb69 100644
--- a/src/web/views/GettingStarted/InternalDoc.vue
+++ b/src/web/views/GettingStarted/InternalDoc.vue
@@ -1,21 +1,21 @@
-
{{
- $route.name
- }}
-
All the design system resources are in the directory:
+
+ Internal Documentation
+
+
+ All the design system resources are in the directory:
src/web/views
. The following
explanations concern the addition of a new component. If you want to add
another element (utilities, guidelines etc), follow the same
- instructions but do it in the corresponding folder.
+ instructions but do it in the corresponding folder.
+
-
How to add a new component to the design system
-
+
+ How to add a new component to the design system
+
+
In the Components
directory create
a new directory with the name of your component. Inside it, create
@@ -25,23 +25,27 @@
<template>
<main class="article [your-custom-class]">
<div class="article-wrapper">
- <BIMDataText component="h1" color="color-primary"> {{getRouteName()}} </BIMDataText>
+ <BIMDataText component="h1" color="color-primary">
+ {{ $route.name }}
+ </BIMDataText>
</div>
</main>
</template>
<script>
import BIMDataText from "../../../BIMDataComponents/BIMDataText/BIMDataText.vue";
+
export default {
components: {
BIMDataText,
},
- }
+ setup() {
+ // TODO
+ },
+ };
</script>
- <style lang="scss" scoped>
- @import "./_YourFileStyle.scss";
- </style>
+ <style scoped lang="scss" src="./YourFileStyle.scss"></style>
@@ -62,63 +66,48 @@
+
In the router.js
file import your
new .vue file and add it in the corresponding children section
(getting started, guidelines or components).
- import YourFileComponent from
- '../views/Components/YourFolder/YourFileTitle.vue'
+
+ import YourFileComponent from "../views/Components/YourFolder/YourFileTitle.vue";
+
{
- path: 'yourFileTitle',
- name: 'yourFileTitle',
+ path: "yourFileTitle",
+ name: "yourFileTitle",
component: YourFileComponent
}
-
-
- How to add a new component to the build of design system
-
-
- For a correct build, don't forget to add your new component in the
- following 3 files:
-
-
- ./rollup.config.js
- ./components.js
- ./src/BIMDataComponents/index.js
-
-
+
diff --git a/src/web/views/GettingStarted/Releases.vue b/src/web/views/GettingStarted/Releases.vue
deleted file mode 100644
index 274303be..00000000
--- a/src/web/views/GettingStarted/Releases.vue
+++ /dev/null
@@ -1,21 +0,0 @@
-
-
-
- {{
- $route.name
- }}
-
-
-
-
-
-
-
diff --git a/src/web/views/GettingStarted/_GettingStarted.scss b/src/web/views/GettingStarted/_GettingStarted.scss
index 61677d41..b2f3e459 100644
--- a/src/web/views/GettingStarted/_GettingStarted.scss
+++ b/src/web/views/GettingStarted/_GettingStarted.scss
@@ -1,9 +1,9 @@
-@import "../../../assets/scss/BIMDataVariables";
.designers,
.developpers,
.internal-doc {
.article-wrapper {
max-width: 45em;
+
pre.language-bash {
&::before {
content: "$";
@@ -12,6 +12,7 @@
left: 6px;
}
}
+
a {
height: 20px;
display: inline-flex;
@@ -19,6 +20,7 @@
position: relative;
font-weight: 700;
overflow: hidden;
+
&::after {
content: "";
width: 100%;
@@ -30,6 +32,7 @@
transform: translate3d(0, 0, 0);
transition: transform 0.2s ease-in;
}
+
&:hover {
&::after {
transform: translate3d(-100%, 0, 0);
diff --git a/src/web/views/Guidelines/Colors/ColorImplementing/ColorsImplementingContent.vue b/src/web/views/Guidelines/Colors/ColorImplementing/ColorsImplementingContent.vue
index 48c15286..54571618 100644
--- a/src/web/views/Guidelines/Colors/ColorImplementing/ColorsImplementingContent.vue
+++ b/src/web/views/Guidelines/Colors/ColorImplementing/ColorsImplementingContent.vue
@@ -1,26 +1,30 @@
-
How implementing colors and extended palette
+ How implementing colors and extended palette
+
+
+
Brand colors
+ Brand colors
+
+
- Primary Color & variants
+
+ Primary color & variants
+
- Secondary Color & variants
+
+ Secondary color & variants
+
State colors
+ State colors
+
+
- High Color & variants
+
+ High color & variants
+
- Warning Color & variants
+
+ Warning color & variants
+
- Success Color & variants
+
+ Success color & variants
+
+
+
+
+ Neutral color & variants
+
+
+
-
-
diff --git a/src/web/views/Guidelines/Colors/ColorImplementing/_ColorsImplementingContent.scss b/src/web/views/Guidelines/Colors/ColorImplementing/_ColorsImplementingContent.scss
deleted file mode 100644
index 65479414..00000000
--- a/src/web/views/Guidelines/Colors/ColorImplementing/_ColorsImplementingContent.scss
+++ /dev/null
@@ -1,2 +0,0 @@
-.colors-implementing-container {
-}
diff --git a/src/web/views/Guidelines/Colors/ColorPalette/ColorsPaletteContent.vue b/src/web/views/Guidelines/Colors/ColorPalette/ColorsPaletteContent.vue
index b778dfa6..2ed5bf04 100644
--- a/src/web/views/Guidelines/Colors/ColorPalette/ColorsPaletteContent.vue
+++ b/src/web/views/Guidelines/Colors/ColorPalette/ColorsPaletteContent.vue
@@ -5,30 +5,25 @@
display="block"
color="color-primary"
margin="20px 0 10px"
- >All brand colors palette
+ All brand colors palette
+
-
+
diff --git a/src/web/views/Guidelines/Colors/ColorPalette/_ColorsPaletteContent.scss b/src/web/views/Guidelines/Colors/ColorPalette/_ColorsPaletteContent.scss
index 55cea979..bed4467d 100644
--- a/src/web/views/Guidelines/Colors/ColorPalette/_ColorsPaletteContent.scss
+++ b/src/web/views/Guidelines/Colors/ColorPalette/_ColorsPaletteContent.scss
@@ -1,13 +1,17 @@
+@import "../../../../../assets/scss/mixins/_font-size.scss";
+
.colors-container {
.color-swatches {
display: flex;
flex-wrap: wrap;
align-items: flex-end;
+
.color-swatche {
margin: 12px 12px 12px 0;
width: 320px;
box-shadow: var(--box-shadow);
overflow: hidden;
+
&__header,
&__body {
&__item {
@@ -24,6 +28,7 @@
}
}
}
+
&__header {
height: 140px;
display: flex;
@@ -38,6 +43,7 @@
}
}
}
+
&__body {
padding: 6px 12px;
background-color: #fcfcfc;
diff --git a/src/web/views/Guidelines/Colors/Colors.vue b/src/web/views/Guidelines/Colors/Colors.vue
index 502cdb17..ca2b2ccb 100644
--- a/src/web/views/Guidelines/Colors/Colors.vue
+++ b/src/web/views/Guidelines/Colors/Colors.vue
@@ -1,28 +1,22 @@
-
-
{{
- $route.name
- }}
-
+
Colors
+
- For maintainability, please use these instead of hardcoding color
- values.
+ For maintainability, please use these variables instead of hardcoding
+ color values.
- /* to use only the variables, import this line */
- @import "~@bimdata/design-system/dist/scss/BIMDataVariables.scss";
+ /* To use only the variables, use this import */
+ @import "@bimdata/design-system/src/assets/css/variables.css";
- /* to use the color utilities classes add this line. BIMDataVariables are already imported in _colors.scss */
- @import "~@bimdata/design-system/dist/scss/utilities/_colors.scss";
+ /* To use the color utility classes add this line */
+ @import "@bimdata/design-system/src/assets/css/utilities/_colors.css";
+
@@ -36,38 +30,32 @@
-
diff --git a/src/web/views/Guidelines/Colors/GenericComponents/ColorPalette.vue b/src/web/views/Guidelines/Colors/GenericComponents/ColorPalette.vue
index a9b59792..0db91bb7 100644
--- a/src/web/views/Guidelines/Colors/GenericComponents/ColorPalette.vue
+++ b/src/web/views/Guidelines/Colors/GenericComponents/ColorPalette.vue
@@ -76,7 +76,4 @@ export default {
};
-
+
diff --git a/src/web/views/Guidelines/Colors/GenericComponents/ColorSwatche.vue b/src/web/views/Guidelines/Colors/GenericComponents/ColorSwatche.vue
index 23183d6f..bcf40797 100644
--- a/src/web/views/Guidelines/Colors/GenericComponents/ColorSwatche.vue
+++ b/src/web/views/Guidelines/Colors/GenericComponents/ColorSwatche.vue
@@ -24,9 +24,9 @@
v-clipboard:error="onError"
>
{{ color.hex }}
-
copy
+
+ copy
+
@@ -38,23 +38,9 @@
v-clipboard:error="onError"
>
{{ color.rgb }}
- copy
-
-
-
-
SCSS
-
- {{ color.scss }}
- copy
+
+ copy
+
@@ -66,9 +52,9 @@
v-clipboard:error="onError"
>
{{ color.css }}
- copy
+
+ copy
+
@@ -80,9 +66,9 @@
v-clipboard:error="onError"
>
{{ color.background }}
- copy
+
+ copy
+
@@ -94,9 +80,9 @@
v-clipboard:error="onError"
>
{{ color.color }}
- copy
+
+ copy
+
@@ -108,9 +94,9 @@
v-clipboard:error="onError"
>
{{ color.fill }}
- copy
+
+ copy
+
@@ -122,9 +108,9 @@
v-clipboard:error="onError"
>
{{ color.stroke }}
- copy
+
+ copy
+
@@ -132,12 +118,12 @@
{{ message }}
@@ -147,6 +133,7 @@
-
+
diff --git a/src/web/views/Guidelines/Colors/GenericComponents/_ColorPalette.scss b/src/web/views/Guidelines/Colors/GenericComponents/_ColorPalette.scss
index aec672bd..be7af28d 100644
--- a/src/web/views/Guidelines/Colors/GenericComponents/_ColorPalette.scss
+++ b/src/web/views/Guidelines/Colors/GenericComponents/_ColorPalette.scss
@@ -1,3 +1,5 @@
+@import "../../../../../assets/scss/mixins/_font-size.scss";
+
.color-palettes {
display: grid;
grid-template-columns: repeat(6, 1fr);
diff --git a/src/web/views/Guidelines/Colors/GenericComponents/_ColorSwatche.scss b/src/web/views/Guidelines/Colors/GenericComponents/_ColorSwatche.scss
index 2561d8fc..0eec4de1 100644
--- a/src/web/views/Guidelines/Colors/GenericComponents/_ColorSwatche.scss
+++ b/src/web/views/Guidelines/Colors/GenericComponents/_ColorSwatche.scss
@@ -1,3 +1,5 @@
+@import "../../../../../assets/scss/mixins/_font-size.scss";
+
.color-swatches {
display: flex;
flex-wrap: wrap;
diff --git a/src/web/views/Guidelines/Colors/_Colors.scss b/src/web/views/Guidelines/Colors/_Colors.scss
deleted file mode 100644
index 34f99298..00000000
--- a/src/web/views/Guidelines/Colors/_Colors.scss
+++ /dev/null
@@ -1,6 +0,0 @@
-.colors {
- #colors,
- #implementing {
- padding-top: 40px;
- }
-}
diff --git a/src/web/views/Guidelines/Colors/_colors-animations.scss b/src/web/views/Guidelines/Colors/_colors-animations.scss
deleted file mode 100644
index 7503a43a..00000000
--- a/src/web/views/Guidelines/Colors/_colors-animations.scss
+++ /dev/null
@@ -1,71 +0,0 @@
-.colors-animations {
- display: flex;
- justify-content: center;
- align-items: center;
- background-image: radial-gradient(
- closest-side,
- rgba(255, 255, 255, 0.94),
- rgba(255, 255, 255, 0.94),
- rgba(255, 255, 255, 1)
- ),
- url("../../../assets/img/grid.svg");
- background-repeat: no-repeat, repeat;
- background-size: auto, 75px 44px;
- position: fixed;
- top: 55%;
- left: 65%;
- right: 0;
- width: 994px;
- height: 720px;
- z-index: -1;
- &__box {
- width: 140px;
- height: 140px;
- position: absolute;
- transform: rotateX(55deg) rotateZ(45deg);
- &::after {
- content: "";
- position: absolute;
- width: 100%;
- height: 100%;
- }
- }
- &__box1 {
- &::after {
- top: 0;
- left: 0;
- animation: transform1 4s ease, color1 4s ease;
- box-shadow: 1px 1px 0 var(--color-primary-dark),
- 2px 2px 0 var(--color-primary-dark), 3px 3px 0 var(--color-primary-dark),
- 4px 4px 0 var(--color-primary-dark), 5px 5px 0 var(--color-primary-dark);
- animation-iteration-count: infinite;
- animation-direction: alternate;
- }
- }
- &__box2 {
- &::after {
- top: -10%;
- left: -10%;
- animation: transform2 4s ease, color2 4s ease;
- box-shadow: 1px 1px 0 var(--color-secondary-dark),
- 2px 2px 0 var(--color-secondary-dark),
- 3px 3px 0 var(--color-secondary-dark),
- 4px 4px 0 var(--color-secondary-dark),
- 5px 5px 0 var(--color-secondary-dark);
- animation-iteration-count: infinite;
- animation-direction: alternate;
- }
- }
- &__box3 {
- &::after {
- top: -20%;
- left: -20%;
- animation: transform3 4s ease, color3 4s ease;
- box-shadow: 1px 1px 0 var(--color-silver-dark),
- 2px 2px 0 var(--color-silver-dark), 3px 3px 0 var(--color-silver-dark),
- 4px 4px 0 var(--color-silver-dark), 5px 5px 0 var(--color-silver-dark);
- animation-iteration-count: infinite;
- animation-direction: alternate;
- }
- }
-}
diff --git a/src/web/views/Guidelines/Colors/_colors-keyframes.scss b/src/web/views/Guidelines/Colors/_colors-keyframes.scss
deleted file mode 100644
index 610c86c8..00000000
--- a/src/web/views/Guidelines/Colors/_colors-keyframes.scss
+++ /dev/null
@@ -1,48 +0,0 @@
-@keyframes transform1 {
- 0% {
- transform: translate(0px, 0px);
- }
- 100% {
- transform: translate(-50px, -50px);
- }
-}
-@keyframes transform2 {
- 0% {
- transform: translate(10px, 10px);
- }
- 100% {
- transform: translate(-65px, -65px);
- }
-}
-@keyframes transform3 {
- 0% {
- transform: translate(20px, 20px);
- }
- 100% {
- transform: translate(-80px, -80px);
- }
-}
-@keyframes color1 {
- 0% {
- background-color: var(--color-primary);
- }
- 100% {
- background-color: var(--color-primary-light);
- }
-}
-@keyframes color2 {
- 0% {
- background-color: var(--color-secondary);
- }
- 100% {
- background-color: var(--color-secondary-light);
- }
-}
-@keyframes color3 {
- 0% {
- background-color: var(--color-silver);
- }
- 100% {
- background-color: var(--color-silver-dark);
- }
-}
diff --git a/src/web/views/Guidelines/Colors/js/allBrandColors.js b/src/web/views/Guidelines/Colors/js/allBrandColors.js
index 5c906636..9b99b887 100644
--- a/src/web/views/Guidelines/Colors/js/allBrandColors.js
+++ b/src/web/views/Guidelines/Colors/js/allBrandColors.js
@@ -59,4 +59,9 @@ export default Object.freeze([
hex: "#00af50",
textcolor: "#ffffff",
},
+ {
+ name: "Neutral",
+ hex: "#205dbd",
+ textcolor: "#ffffff",
+ },
]);
diff --git a/src/web/views/Guidelines/Colors/js/blackColors.js b/src/web/views/Guidelines/Colors/js/blackColors.js
index 4083d00b..6cde22ac 100644
--- a/src/web/views/Guidelines/Colors/js/blackColors.js
+++ b/src/web/views/Guidelines/Colors/js/blackColors.js
@@ -3,7 +3,6 @@ export default Object.freeze([
name: "Black",
hex: "#000000",
rgb: "0, 0, 0",
- scss: "$color-black",
css: "var(--color-black)",
background: "bg-black",
color: "color-black",
@@ -15,7 +14,6 @@ export default Object.freeze([
name: "Black 100",
hex: "#0000001a",
rgb: "0, 0, 0, .1",
- scss: "$color-black-100",
css: "var(--color-black-100)",
background: "bg-black-100",
color: "color-black-100",
diff --git a/src/web/views/Guidelines/Colors/js/highColors.js b/src/web/views/Guidelines/Colors/js/highColors.js
index 5c566607..e2a086a3 100644
--- a/src/web/views/Guidelines/Colors/js/highColors.js
+++ b/src/web/views/Guidelines/Colors/js/highColors.js
@@ -3,7 +3,6 @@ export default Object.freeze([
name: "High",
hex: "#ff3d1e",
rgb: "255, 61, 30",
- scss: "$color-high",
css: "var(--color-high)",
background: "bg-high",
color: "color-high",
@@ -15,7 +14,6 @@ export default Object.freeze([
name: "High Lighter",
hex: "#ffedea",
rgb: "255, 237, 234",
- scss: "$color-high-lighter",
css: "var(--color-high-lighter)",
background: "bg-high-lighter",
color: "color-high-lighter",
@@ -27,7 +25,6 @@ export default Object.freeze([
name: "High Light",
hex: "#ff6851",
rgb: "255, 104, 81",
- scss: "$color-high-light",
css: "var(--color-high-light)",
background: "bg-high-light",
color: "color-high-light",
@@ -39,7 +36,6 @@ export default Object.freeze([
name: "High Dark",
hex: "#ea1f00",
rgb: "234, 31, 0",
- scss: "$color-high-dark",
css: "var(--color-high-dark)",
background: "bg-high-dark",
color: "color-high-dark",
diff --git a/src/web/views/Guidelines/Colors/js/neutralColors.js b/src/web/views/Guidelines/Colors/js/neutralColors.js
index 98327d99..2b0849b0 100644
--- a/src/web/views/Guidelines/Colors/js/neutralColors.js
+++ b/src/web/views/Guidelines/Colors/js/neutralColors.js
@@ -3,7 +3,6 @@ export default Object.freeze([
name: "Neutral",
hex: "#205dbd",
rgb: "32, 93, 189",
- scss: "$color-neutral",
css: "var(--color-neutral)",
background: "bg-neutral",
color: "color-neutral",
@@ -13,9 +12,8 @@ export default Object.freeze([
},
{
name: "Neutral 100",
- hex: "#e2ebfa",
- rgb: "226, 235, 250",
- scss: "$color-neutral-100",
+ hex: "#f0f5ff",
+ rgb: "240, 245, 255",
css: "var(--color-neutral-100)",
background: "bg-neutral-100",
color: "color-neutral-100",
@@ -25,9 +23,8 @@ export default Object.freeze([
},
{
name: "Neutral 400",
- hex: "#3374dd",
- rgb: "51, 116, 221",
- scss: "$color-neutral-400",
+ hex: "#3375dd",
+ rgb: "51, 117, 221",
css: "var(--color-neutral-400)",
background: "bg-neutral-400",
color: "color-neutral-400",
@@ -37,9 +34,8 @@ export default Object.freeze([
},
{
name: "Neutral 600",
- hex: "#194791",
- rgb: "25, 71, 145",
- scss: "$color-neutral-600",
+ hex: "#194891",
+ rgb: "25, 72, 145",
css: "var(--color-neutral-600)",
background: "bg-neutral-600",
color: "color-neutral-600",
diff --git a/src/web/views/Guidelines/Colors/js/primaryColors.js b/src/web/views/Guidelines/Colors/js/primaryColors.js
index 34fdc1df..459a76c4 100644
--- a/src/web/views/Guidelines/Colors/js/primaryColors.js
+++ b/src/web/views/Guidelines/Colors/js/primaryColors.js
@@ -3,7 +3,6 @@ export default Object.freeze([
name: "Primary",
hex: "#2f374a",
rgb: "47, 55, 74",
- scss: "$color-primary",
css: "var(--color-primary)",
background: "bg-primary",
color: "color-primary",
@@ -15,7 +14,6 @@ export default Object.freeze([
name: "Primary Lighter",
hex: "#f8f9fa",
rgb: "248, 249, 250",
- scss: "$color-primary-lighter",
css: "var(--color-primary-lighter)",
background: "bg-primary-lighter",
color: "color-primary-lighter",
@@ -27,7 +25,6 @@ export default Object.freeze([
name: "Primary Light",
hex: "#434e69",
rgb: "67, 78, 105",
- scss: "$color-primary-light",
css: "var(--color-primary-light)",
background: "bg-primary-light",
color: "color-primary-light",
@@ -39,7 +36,6 @@ export default Object.freeze([
name: "Primary Dark",
hex: "#1b202b",
rgb: "27, 32, 43",
- scss: "$color-primary-dark",
css: "var(--color-primary-dark)",
background: "bg-primary-Dark",
color: "color-primary-dark",
diff --git a/src/web/views/Guidelines/Colors/js/secondaryColors.js b/src/web/views/Guidelines/Colors/js/secondaryColors.js
index 3f54c850..676dfa79 100644
--- a/src/web/views/Guidelines/Colors/js/secondaryColors.js
+++ b/src/web/views/Guidelines/Colors/js/secondaryColors.js
@@ -3,7 +3,6 @@ export default Object.freeze([
name: "Secondary",
hex: "#f9c72c",
rgb: "249, 199, 44",
- scss: "$color-secondary",
css: "var(--color-secondary)",
background: "bg-secondary",
color: "color-secondary",
@@ -15,7 +14,6 @@ export default Object.freeze([
name: "Secondary Lighter",
hex: "#fffcf2",
rgb: "255, 252, 242",
- scss: "$color-secondary-lighter",
css: "var(--color-secondary-lighter)",
background: "bg-secondary-lighter",
color: "color-secondary-lighter",
@@ -27,7 +25,6 @@ export default Object.freeze([
name: "Secondary Light",
hex: "#fad35e",
rgb: "250, 211, 94",
- scss: "$color-secondary-light",
css: "var(--color-secondary-light)",
background: "bg-secondary-light",
color: "color-secondary-light",
@@ -39,7 +36,6 @@ export default Object.freeze([
name: "Secondary Dark",
hex: "#ebb607",
rgb: "235, 182, 7",
- scss: "$color-secondary-dark",
css: "var(--color-secondary-dark)",
background: "bg-secondary-dark",
color: "color-secondary-dark",
diff --git a/src/web/views/Guidelines/Colors/js/shadesGrayColors.js b/src/web/views/Guidelines/Colors/js/shadesGrayColors.js
index bc1d750e..6dde1745 100644
--- a/src/web/views/Guidelines/Colors/js/shadesGrayColors.js
+++ b/src/web/views/Guidelines/Colors/js/shadesGrayColors.js
@@ -3,7 +3,6 @@ export default Object.freeze([
name: "Silver",
hex: "#d8d8d8",
rgb: "216, 216, 216",
- scss: "$color-silver",
css: "var(--color-silver)",
background: "bg-silver",
color: "color-silver",
@@ -15,7 +14,6 @@ export default Object.freeze([
name: "Silver light",
hex: "#f7f7f7",
rgb: "247, 247, 247",
- scss: "$color-silver-light",
css: "var(--color-silver-light)",
background: "bg-silver-light",
color: "color-silver-light",
@@ -27,7 +25,6 @@ export default Object.freeze([
name: "Silver dark",
hex: "#bdbdbd",
rgb: "189, 189, 189",
- scss: "$color-silver-dark",
css: "var(--color-silver-dark)",
background: "bg-silver-dark",
color: "color-silver-dark",
diff --git a/src/web/views/Guidelines/Colors/js/successColors.js b/src/web/views/Guidelines/Colors/js/successColors.js
index 1251bad6..8636033d 100644
--- a/src/web/views/Guidelines/Colors/js/successColors.js
+++ b/src/web/views/Guidelines/Colors/js/successColors.js
@@ -3,7 +3,6 @@ export default Object.freeze([
name: "Success",
hex: "#00af50",
rgb: "0, 175, 80",
- scss: "$color-success",
css: "var(--color-success)",
background: "bg-success",
color: "color-success",
@@ -15,7 +14,6 @@ export default Object.freeze([
name: "Success Lighter",
hex: "#e2ffef",
rgb: "226, 255, 239",
- scss: "$color-success-lighter",
css: "var(--color-success-lighter)",
background: "bg-success-lighter",
color: "color-success-lighter",
@@ -27,7 +25,6 @@ export default Object.freeze([
name: "Success Light",
hex: "#00e266",
rgb: "0, 226, 102",
- scss: "$color-success-light",
css: "var(--color-success-light)",
background: "bg-success-light",
color: "color-success-light",
@@ -39,7 +36,6 @@ export default Object.freeze([
name: "Success Dark",
hex: "#007c38",
rgb: "0, 124, 56",
- scss: "$color-success-dark",
css: "var(--color-success-dark)",
background: "bg-success-dark",
color: "color-success-dark",
diff --git a/src/web/views/Guidelines/Colors/js/warningColors.js b/src/web/views/Guidelines/Colors/js/warningColors.js
index f1b22c87..43a7e154 100644
--- a/src/web/views/Guidelines/Colors/js/warningColors.js
+++ b/src/web/views/Guidelines/Colors/js/warningColors.js
@@ -3,7 +3,6 @@ export default Object.freeze([
name: "Warning",
hex: "#ff9100",
rgb: "255, 145, 0",
- scss: "$color-warning",
css: "var(--color-warning)",
background: "bg-warning",
color: "color-warning",
@@ -15,7 +14,6 @@ export default Object.freeze([
name: "Warning Lighter",
hex: "#ffe9cc",
rgb: "255, 233, 204",
- scss: "$color-warning-lighter",
css: "var(--color-warning-lighter)",
background: "bg-warning-lighter",
color: "color-warning-lighter",
@@ -27,7 +25,6 @@ export default Object.freeze([
name: "Warning Light",
hex: "#ffa733",
rgb: "255, 167, 51",
- scss: "$color-warning-light",
css: "var(--color-warning-light)",
background: "bg-warning-light",
color: "color-warning-light",
@@ -39,7 +36,6 @@ export default Object.freeze([
name: "Warning Dark",
hex: "#cc7400",
rgb: "204, 116, 0",
- scss: "$color-warning-dark",
css: "var(--color-warning-dark)",
background: "bg-warning-dark",
color: "color-warning-dark",
diff --git a/src/web/views/Guidelines/Colors/js/whiteColors.js b/src/web/views/Guidelines/Colors/js/whiteColors.js
index 2a27a64a..b9659212 100644
--- a/src/web/views/Guidelines/Colors/js/whiteColors.js
+++ b/src/web/views/Guidelines/Colors/js/whiteColors.js
@@ -3,7 +3,6 @@ export default Object.freeze([
name: "White",
hex: "#ffffff",
rgb: "255, 255, 255",
- scss: "$color-white",
css: "var(--color-white)",
background: "bg-white",
color: "color-white",
diff --git a/src/web/views/Guidelines/Grid/Grid.scss b/src/web/views/Guidelines/Grid/Grid.scss
deleted file mode 100644
index ec9795d7..00000000
--- a/src/web/views/Guidelines/Grid/Grid.scss
+++ /dev/null
@@ -1,6 +0,0 @@
-.layout {
- .grid {
- margin: initial;
- max-width: initial;
- }
-}
diff --git a/src/web/views/Guidelines/Grid/Grid.vue b/src/web/views/Guidelines/Grid/Grid.vue
deleted file mode 100644
index ab860bc7..00000000
--- a/src/web/views/Guidelines/Grid/Grid.vue
+++ /dev/null
@@ -1,23 +0,0 @@
-
-
-
- {{
- $route.name
- }}
-
-
-
-
-
-
-
-
diff --git a/src/web/views/Guidelines/List/List.vue b/src/web/views/Guidelines/List/List.vue
deleted file mode 100644
index 13a80962..00000000
--- a/src/web/views/Guidelines/List/List.vue
+++ /dev/null
@@ -1,56 +0,0 @@
-
-
-
-
{{
- $route.name
- }}
-
List utility classes will help you to reset list found within BIMData
- projects.
-
- <ul class="bimdata-list"></ul>
-
-
-
- @import "~@bimdata/design-system/dist/scss/utilities/_list.scss";
-
-
-
Examples
-
-
-
-
-
-
-
-
diff --git a/src/web/views/Guidelines/List/_List.scss b/src/web/views/Guidelines/List/_List.scss
deleted file mode 100644
index 5142c163..00000000
--- a/src/web/views/Guidelines/List/_List.scss
+++ /dev/null
@@ -1,8 +0,0 @@
-.utilities-list {
- ul {
- outline: 2px dotted var(--color-granite);
- li {
- outline: 1px dotted var(--color-silver);
- }
- }
-}
diff --git a/src/web/views/Guidelines/Markup/Markup.vue b/src/web/views/Guidelines/Markup/Markup.vue
deleted file mode 100644
index 3f9516d0..00000000
--- a/src/web/views/Guidelines/Markup/Markup.vue
+++ /dev/null
@@ -1,41 +0,0 @@
-
-
-
- BEM Naming
- BEM is one of the methods of naming components — block, element,
- modifier.
- If you’re comfortable with BEM, move down to the “Where we diverge from
- BEM” section.
- For those unfamiliar or who need a quick refresh, let’s briefly look at
- how BEM works. As an example, we'll build a button
- component.
- Block
- A block represents the main component name. In our example, if you were
- building a button component, the class name would be
- .button
. All of the properties you want included for all
- buttons would be included in the base .button
class. A
- block is an independent entity which must be able to be moved without
- affecting its appearance or its functioning.
- Element
- Modifier
-
-
-
-
-
diff --git a/src/web/views/Guidelines/Spacing/Margin/Margin.vue b/src/web/views/Guidelines/Spacing/Margin/Margin.vue
index 2a12e0ee..c75f4930 100644
--- a/src/web/views/Guidelines/Spacing/Margin/Margin.vue
+++ b/src/web/views/Guidelines/Spacing/Margin/Margin.vue
@@ -17,8 +17,9 @@
component="h5"
color="color-primary"
margin="15px 0 10px"
- >{{ size }}
+ {{ size }}
+
-
Class summary
+
+ Class summary
+
- Global
+
+ Global
+
- Top, Bottom, Vertical
+
+ Top, Bottom, Vertical
+
-
Left, Right, Horizontal
+
+ Left, Right, Horizontal
+
-
+
diff --git a/src/web/views/Guidelines/Spacing/Margin/_Margin.scss b/src/web/views/Guidelines/Spacing/Margin/_Margin.scss
index 42be99e7..b8593b24 100644
--- a/src/web/views/Guidelines/Spacing/Margin/_Margin.scss
+++ b/src/web/views/Guidelines/Spacing/Margin/_Margin.scss
@@ -1,8 +1,8 @@
.spacing-system__margin {
- ::v-deep .bimdata-ds__demo__module {
+ :deep(.bimdata-ds__demo__module) {
grid-column: 1 / 2;
}
- ::v-deep .bimdata-ds__demo__parameters {
+ :deep(.bimdata-ds__demo__parameters) {
grid-column: 2 / 4;
.grid {
grid-template-columns: 1fr 1fr 1fr 1fr;
@@ -29,7 +29,7 @@
flex: 1;
}
}
- ::v-deep .bimdata-table {
+ :deep(.bimdata-table) {
tr {
th,
td {
diff --git a/src/web/views/Guidelines/Spacing/Padding/Padding.vue b/src/web/views/Guidelines/Spacing/Padding/Padding.vue
index efef3ecb..be89ad47 100644
--- a/src/web/views/Guidelines/Spacing/Padding/Padding.vue
+++ b/src/web/views/Guidelines/Spacing/Padding/Padding.vue
@@ -17,8 +17,9 @@
component="h5"
color="color-primary"
margin="15px 0 10px"
- >{{ size }}
+ {{ size }}
+
-
Class summary
+
+ Class summary
+
- Global
+
+ Global
+
- Top, Bottom, Vertical
+
+ Top, Bottom, Vertical
+
-
Left, Right, Horizontal
+
+ Left, Right, Horizontal
+
-
+
diff --git a/src/web/views/Guidelines/Spacing/Padding/_Padding.scss b/src/web/views/Guidelines/Spacing/Padding/_Padding.scss
index a8ec4cf1..8a714597 100644
--- a/src/web/views/Guidelines/Spacing/Padding/_Padding.scss
+++ b/src/web/views/Guidelines/Spacing/Padding/_Padding.scss
@@ -1,8 +1,8 @@
.spacing-system__padding {
- ::v-deep .bimdata-ds__demo__module {
+ :deep(.bimdata-ds__demo__module) {
grid-column: 1 / 2;
}
- ::v-deep .bimdata-ds__demo__parameters {
+ :deep(.bimdata-ds__demo__parameters) {
grid-column: 2 / 4;
.grid {
grid-template-columns: 1fr 1fr 1fr 1fr;
@@ -30,7 +30,7 @@
flex: 1;
}
}
- ::v-deep .bimdata-table {
+ :deep(.bimdata-table) {
tr {
th,
td {
diff --git a/src/web/views/Guidelines/Spacing/Spacing.vue b/src/web/views/Guidelines/Spacing/Spacing.vue
index 69b12d3d..f1134713 100644
--- a/src/web/views/Guidelines/Spacing/Spacing.vue
+++ b/src/web/views/Guidelines/Spacing/Spacing.vue
@@ -1,27 +1,29 @@
-
{{
- $route.name
- }}
-
+
Spacing
+
-
The spacing system
-
All spacing is defined by a base value of 12 pixels. This value of
- 12 px is the basic unit of measurement for spacing.
To be able to use these predefined spacing, import this style into
- your code:
+ The spacing system
+
+
+ All spacing is defined by a base value of 12 pixels. This value of
+ 12px is the base unit for spacing measurement.
+
+
+ To be able to use these predefined spacing, import this style into
+ your code:
+
- // import BIMDATA SPACING UTILITIES
- @import "node_modules/@bimdata/design-system/dist/scss/utilities/spacing.scss";
+ /* To import spacing utility classes */
+ @import "@bimdata/design-system/src/assets/css/utilities/_spacing.css";
@@ -39,34 +41,47 @@
-
diff --git a/src/web/views/Guidelines/Spacing/_Spacing.scss b/src/web/views/Guidelines/Spacing/_Spacing.scss
deleted file mode 100644
index 941fb2b3..00000000
--- a/src/web/views/Guidelines/Spacing/_Spacing.scss
+++ /dev/null
@@ -1,18 +0,0 @@
-.article-spacing {
- &__code {
- display: flex;
- justify-content: space-between;
- &__item {
- margin-right: var(--spacing-unit);
- flex: 1;
- pre {
- margin-bottom: 0;
- }
- }
- }
- #spacing-system,
- #margin,
- #padding {
- padding-top: 40px;
- }
-}
diff --git a/src/web/views/Guidelines/Typography/Typography.vue b/src/web/views/Guidelines/Typography/Typography.vue
index 6ad08b47..db5f29d8 100644
--- a/src/web/views/Guidelines/Typography/Typography.vue
+++ b/src/web/views/Guidelines/Typography/Typography.vue
@@ -1,22 +1,21 @@
-
{{
- $route.name
- }}
+
+ {{ $route.name }}
+
-
Font size
+
+ Font size
+
- If you use
- <BIMDataText>
- component, you have the possibility of having pre-defined titles
- :
+
+ If you use
+
+ <BIMDataText>
+
+ component, you have the possibility of having pre-defined titles:
+
-
Font weights
+
+ Font weights
+
Use this css classes in html class :
- @import "node_modules/@bimdata/design-system/dist/scss/utilities/text.scss"
+ @import "@bimdata/design-system/src/assets/css/utilities/_text.css";
-
How to further customize font-size
+
+ How to further customize font-size
+
- If the size options set above are not enought to customize the font
- size, you can use this mixin to customize font-size in
- 'em'.
+
+ If the size options set above are not enought to customize the font
+ size, you can use this SCSS mixin to customize font-size in 'em':
+
- @import "node_modules/@bimdata/design-system/dist/scss/mixins/font-size.scss"
+ @import "@bimdata/design-system/src/assets/scss/mixins/_font-size.scss";
@@ -72,16 +70,15 @@
-
+
diff --git a/src/web/views/Guidelines/Typography/_Typography.scss b/src/web/views/Guidelines/Typography/_Typography.scss
index 0a312af7..815fadf1 100644
--- a/src/web/views/Guidelines/Typography/_Typography.scss
+++ b/src/web/views/Guidelines/Typography/_Typography.scss
@@ -7,6 +7,7 @@
}
}
}
+
/* custom FONT WEIGHT */
&-weight {
&__content {
diff --git a/src/web/views/Guidelines/Utilities/Utilities.vue b/src/web/views/Guidelines/Utilities/Utilities.vue
index 8a1a7369..3eb6314c 100644
--- a/src/web/views/Guidelines/Utilities/Utilities.vue
+++ b/src/web/views/Guidelines/Utilities/Utilities.vue
@@ -1,95 +1,83 @@
-
{{
- $route.name
- }}
+
+ Utilities
+
- Colors
+
+ Colors
+
- To learn more about colors,
- go here
+
+ To learn more about colors,
+
+ go here
+
+
- Flexbox
+
+ Flexbox
+
- Grid
+
+ Grid
+
- Spacing
- To learn more about spacing,
- go here
+
+ Spacing
+
+
+ To view all spacing utility classes
+
+ go here
+
+
- Text
+
+ Text
+
-
Import
-
CSS
+
+ Import
+
- /* To be able to use these utility classes, import them into your css stylesheet:
- N.B. This import is a global import of all the style of BIMData. If you have already imported it elsewhere, you already have access to these classes. */
- @import "~@bimdata/design-system/dist/css/design-system.css";
-
-
-
SCSS
-
-
- /* To be able to use these utility classes, import them into your scss stylesheet: */
- @import "~@bimdata/design-system/dist/scss/BIMDataUtilities.scss";
-
+ /**
+ * To be able to use these utility classes, import them into your css stylesheet:
+ * N.B. This import is a global import of all the style of BIMData.
+ * If you have already imported it elsewhere, you already have access to these classes.
+ */
+ @import "@bimdata/design-system/src/assets/css/design-system.css";
+
@@ -112,62 +100,62 @@ export default {
data() {
return {
navElements: ["colors", "flexbox", "grid", "spacing", "text", "import"],
- colorsUtilities: [
- ["Class name", "Output value"],
- ["bg-primary", "background-color: #2f374a;"],
- ["bg-secondary", "background-color: #f9c72c;"],
- ["bg-silver", "background-color: #d8d8d8;"],
- ["bg-silver-light", "background-color: #f7f7f7;"],
- ["bg-silver-dark", "background-color: #bdbdbd;"],
- ["bg-granite", "background-color: #606060;"],
- ["bg-granite-light", "background-color: #7a7a7a;"],
- ["bg-white", "background-color: #ffffff;"],
- ["bg-black", "background-color: #000000;"],
- ["bg-success", "background-color: #00af50;"],
- ["bg-warning", "background-color: #ff9100;"],
- ["bg-high", "background-color: #ff3d1e;"],
- ["color-primary", "color: #2f374a;"],
- ["color-secondary", "color: #f9c72c;"],
- ["color-silver", "color: #d8d8d8;"],
- ["color-silver-light", "color: #f7f7f7;"],
- ["color-silver-dark", "color: #bdbdbd;"],
- ["color-granite-light", "color: #7a7a7a;"],
- ["color-granite", "color: #606060;"],
- ["color-white", "color: #ffffff;"],
- ["color-black", "color: #000000;"],
- ["color-success", "color: #00af50;"],
- ["color-warning", "color: #ff9100;"],
- ["color-high", "color: #ff3d1e;"],
+ columns: [
+ { id: "name", label: "Class name", width: "300px" },
+ { id: "value", label: "Output value" },
],
- flexboxUtilities: [
- ["Class name", "Output value"],
- ["flex", "display: flex;"],
- ["flex-row", "flex-direction: row;"],
- ["flex-col", "flex-direction: column;"],
- ["items-start", "align-items: flex-start;"],
- ["items-center", "align-items: center;"],
- ["items-end", "align-items: flex-end;"],
- ["content-start", "align-content: flex-start;"],
- ["content-center", "align-content: flex-center;"],
- ["content-end", "align-content: flex-end;"],
- ["content-between", "align-content: flex-between;"],
- ["content-around", "align-content: flex-around;"],
- ["justify-start", "justify-content: flex-start;"],
- ["justify-center", "justify-content: flex-center;"],
- ["justify-end", "justify-content: flex-end;"],
- ["justify-between", "justify-content: flex-between;"],
- ["justify-around", "justify-content: flex-around;"],
+ colorUtilities: [
+ ["bg-primary", "background-color: #2f374a"],
+ ["bg-secondary", "background-color: #f9c72c"],
+ ["bg-silver", "background-color: #d8d8d8"],
+ ["bg-silver-light", "background-color: #f7f7f7"],
+ ["bg-silver-dark", "background-color: #bdbdbd"],
+ ["bg-granite", "background-color: #606060"],
+ ["bg-granite-light", "background-color: #7a7a7a"],
+ ["bg-white", "background-color: #ffffff"],
+ ["bg-black", "background-color: #000000"],
+ ["bg-success", "background-color: #00af50"],
+ ["bg-warning", "background-color: #ff9100"],
+ ["bg-high", "background-color: #ff3d1e"],
+ ["bg-neutral", "background-color: #205dbd"],
+ ["color-primary", "color: #2f374a"],
+ ["color-secondary", "color: #f9c72c"],
+ ["color-silver", "color: #d8d8d8"],
+ ["color-silver-light", "color: #f7f7f7"],
+ ["color-silver-dark", "color: #bdbdbd"],
+ ["color-granite-light", "color: #7a7a7a"],
+ ["color-granite", "color: #606060"],
+ ["color-white", "color: #ffffff"],
+ ["color-black", "color: #000000"],
+ ["color-success", "color: #00af50"],
+ ["color-warning", "color: #ff9100"],
+ ["color-high", "color: #ff3d1e"],
+ ["color-neutral", "color: #205dbd"],
],
- gridUtilities: [
- ["Class name", "Output value"],
- ["grid", "display: grid;"],
+ flexboxUtilities: [
+ ["flex", "display: flex"],
+ ["flex-row", "flex-direction: row"],
+ ["flex-col", "flex-direction: column"],
+ ["items-start", "align-items: flex-start"],
+ ["items-center", "align-items: center"],
+ ["items-end", "align-items: flex-end"],
+ ["content-start", "align-content: flex-start"],
+ ["content-center", "align-content: flex-center"],
+ ["content-end", "align-content: flex-end"],
+ ["content-between", "align-content: flex-between"],
+ ["content-around", "align-content: flex-around"],
+ ["justify-start", "justify-content: flex-start"],
+ ["justify-center", "justify-content: flex-center"],
+ ["justify-end", "justify-content: flex-end"],
+ ["justify-between", "justify-content: flex-between"],
+ ["justify-around", "justify-content: flex-around"],
],
+ gridUtilities: [["grid", "display: grid"]],
textUtilities: [
- ["Class name", "Output value"],
- ["text-left", "text-align: left;"],
- ["text-center", "text-align: center;"],
- ["text-right", "text-align: right;"],
- ["primary-font", "font-family: 'roboto', sans-serif;"],
+ ["text-left", "text-align: left"],
+ ["text-center", "text-align: center"],
+ ["text-right", "text-align: right"],
+ ["primary-font", "font-family: 'roboto', sans-serif"],
[
"bimdata-link",
"color: #2f374a; border-bottom: 1px solid #2f374a; font-weight: 700;",
diff --git a/src/web/views/Guidelines/Variables/Variables.vue b/src/web/views/Guidelines/Variables/Variables.vue
index 1371305b..37e6f73f 100644
--- a/src/web/views/Guidelines/Variables/Variables.vue
+++ b/src/web/views/Guidelines/Variables/Variables.vue
@@ -1,158 +1,133 @@
-
{{
- $route.name
- }}
-
To be able to use all these variables listed below, please import this
- code into your project:
+
+ Variables
+
+
+ To be able to use all these variables listed below, please import this
+ code into your project:
+
- @import "@/assets/scss/_BIMDataVariables.scss";
+
+ @import "@design-system/src/assets/css/variables.css";
+
-
- Colors variables summary
-
-
- To see all colors and how use it
- click here .
-
-
- Font-size variables summary
-
-
-
- Box-shadow variables summary
-
-
-
- Spacing variables summary
-
-
- To see all spacing class and how use it
- click here .
-
-
- Fonts variables summary
-
-
- To see all fonts uses in BIMData and how use it
- click here .
-
+
+
+ Colors variables
+
+
+
+ To see all colors and how use it
+
+ click here
+
+
+
+
+ Box Shadow variables
+
+
+
+
+ Spacing variables
+
+
+
+ To see all spacing class and how use it
+
+ click here
+
+
+
+
+ Fonts variables
+
+
+
+ To see all fonts uses in BIMData and how use it
+
+ click here
+
+
-
-
diff --git a/src/web/views/Home/Home.vue b/src/web/views/Home/Home.vue
index 50edaed4..0d9fe111 100644
--- a/src/web/views/Home/Home.vue
+++ b/src/web/views/Home/Home.vue
@@ -27,6 +27,7 @@
-
+
diff --git a/src/web/views/Home/SearchResults.vue b/src/web/views/Home/SearchResults.vue
deleted file mode 100644
index 3bcd9f09..00000000
--- a/src/web/views/Home/SearchResults.vue
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
- results
-
-
diff --git a/src/web/views/Home/_Home.scss b/src/web/views/Home/_Home.scss
index bbfcfcb7..f2e1f678 100644
--- a/src/web/views/Home/_Home.scss
+++ b/src/web/views/Home/_Home.scss
@@ -1,3 +1,5 @@
+@import "./_keyframes.scss";
+
.home {
margin-top: 60px;
height: calc(100vh - 60px);
diff --git a/src/web/views/Layout/Aside.vue b/src/web/views/Layout/Aside.vue
index 1d8c310e..526bb872 100644
--- a/src/web/views/Layout/Aside.vue
+++ b/src/web/views/Layout/Aside.vue
@@ -1,6 +1,6 @@
-
+
-
+
diff --git a/src/web/views/Layout/Content.vue b/src/web/views/Layout/Content.vue
index 9328186f..65c47bd5 100644
--- a/src/web/views/Layout/Content.vue
+++ b/src/web/views/Layout/Content.vue
@@ -5,11 +5,11 @@
{{ $route.name }}
- {{ $store.state[$route.name].text }}
+ {{ store[$route.name].text }}
@@ -26,68 +26,76 @@
Learn how to quickly get started with our component library to
build expressive, consistent UI at BIMData.
-
+
Get started now
-
- {{ child.title }}
-
-
-
-
- {{ child.title }}
-
-
- {{ child.text }}
-
-
- {{ child.btn }}
-
-
-
-
+
+ {{ child.title }}
+
+
+
+
+ {{ child.title }}
+
+
+ {{ child.text }}
+
+
+ {{ child.btn }}
+
+
+
+
+
-
+
diff --git a/src/web/views/Layout/_DesignSystem-aside.scss b/src/web/views/Layout/_DesignSystem-aside.scss
index 3e688e52..9991357f 100644
--- a/src/web/views/Layout/_DesignSystem-aside.scss
+++ b/src/web/views/Layout/_DesignSystem-aside.scss
@@ -23,25 +23,31 @@
position: relative;
line-height: 24px;
text-decoration: none;
- font-size: calculateEm(14px);
+ font-size: 14px;
+ transition: all ease 0.2s;
+
img {
width: 30px;
margin-right: var(--spacing-unit);
}
&.router-link-exact-active {
+ background-color: var(--color-white);
+ transition: all ease 0.2s;
+
&:hover {
&::before {
- background-color: lightness(var(--color-primary), 0.8);
+ background-color: var(--color-primary-light);
+ transition: all ease 0.2s;
}
}
&::before {
background-color: var(--color-primary);
+ transition: all ease 0.2s;
}
}
&:hover {
- &::before {
- background-color: lightness(var(--color-primary), 0.8);
- }
+ background-color: rgb(240, 240, 240);
+ transition: all ease 0.2s;
}
&::before {
content: "";
diff --git a/src/web/views/Layout/_DesignSystem-content.scss b/src/web/views/Layout/_DesignSystem-content.scss
index 32b7df23..963300a1 100644
--- a/src/web/views/Layout/_DesignSystem-content.scss
+++ b/src/web/views/Layout/_DesignSystem-content.scss
@@ -3,16 +3,14 @@
text-transform: capitalize;
}
&-box {
- display: flex;
- flex-wrap: wrap;
.bimdata-card {
- margin: 24px 24px 0 0;
+ height: 260px;
min-height: 260px;
display: inline-flex;
flex: 0;
box-shadow: var(--box-shadow);
transition: all ease 0.1s;
- ::v-deep &__content {
+ :deep(.bimdata-card__content) {
width: 100%;
a {
height: 100%;
@@ -20,6 +18,7 @@
flex-direction: column;
align-items: center;
justify-content: space-around;
+ gap: 0 18px;
h5,
p {
color: var(--color-primary);
@@ -45,6 +44,21 @@
color: var(--color-primary);
}
}
+ &.getting-started__card {
+ width: 100%;
+ height: auto;
+ min-height: 80px;
+ .bimdata-card__content {
+ a {
+ flex-direction: inherit;
+ align-items: center;
+ justify-content: space-between;
+ }
+ p {
+ height: auto;
+ }
+ }
+ }
&:hover {
box-shadow: var(--box-shadow);
transition: all ease 0.1s;
diff --git a/src/web/views/Navigation/Navigation.vue b/src/web/views/Navigation/Navigation.vue
index 9216157c..8df2f48e 100644
--- a/src/web/views/Navigation/Navigation.vue
+++ b/src/web/views/Navigation/Navigation.vue
@@ -24,6 +24,8 @@
-
+
diff --git a/src/web/views/Navigation/_DesignSystem-navigation.scss b/src/web/views/Navigation/_DesignSystem-navigation.scss
index ce2501d0..81380b61 100644
--- a/src/web/views/Navigation/_DesignSystem-navigation.scss
+++ b/src/web/views/Navigation/_DesignSystem-navigation.scss
@@ -1,3 +1,5 @@
+@import "../../../assets/scss/mixins/_font-size.scss";
+
.bimdata-ds {
&__header {
width: 100%;
diff --git a/src/web/views/SmartComponents/FileManager/FileManager.vue b/src/web/views/SmartComponents/FileManager/FileManager.vue
deleted file mode 100644
index 1c850661..00000000
--- a/src/web/views/SmartComponents/FileManager/FileManager.vue
+++ /dev/null
@@ -1,174 +0,0 @@
-
-
-
-
{{
- $route.name
- }}
-
-
-
-
-
-
-
-
-
-
-
-
-
- import BIMDataCheckbox from
- "@bimdata/design-system/dist/js/BIMDataComponents/BIMDataCheckbox.js"
-
-
-
-
- <BIMDataSmartFileManager
- :spaceId="515"
- :projectId="756"
- apiUrl="https://api-staging.bimdata.io"
- accessToken="fc83e49ca9444d3ea41d212599f39040"
- :select="{{ String(selectChecked) }}"
- :multi="{{ String(multiChecked) }}"
- :headerButtons="{{ headerButtons }}"
- :headerSearch="{{ headerSearch }}"
- />
-
-
-
-
-
- Props:
-
-
-
- Events:
-
-
-
-
-
-
-
-
-
diff --git a/src/web/views/SmartComponents/FileTree/FileTree.vue b/src/web/views/SmartComponents/FileTree/FileTree.vue
deleted file mode 100644
index aee73754..00000000
--- a/src/web/views/SmartComponents/FileTree/FileTree.vue
+++ /dev/null
@@ -1,30 +0,0 @@
-
-
-
-
-
-
-
-
-
diff --git a/vite.config.js b/vite.config.js
new file mode 100644
index 00000000..bcb5c211
--- /dev/null
+++ b/vite.config.js
@@ -0,0 +1,13 @@
+import { defineConfig } from "vite";
+import vue from "@vitejs/plugin-vue";
+
+export default defineConfig(() => {
+ let config = {
+ plugins: [vue()],
+ server: {
+ port: 8080,
+ },
+ };
+
+ return config;
+});
diff --git a/vue.config.js b/vue.config.js
deleted file mode 100644
index 8099f259..00000000
--- a/vue.config.js
+++ /dev/null
@@ -1,22 +0,0 @@
-module.exports = {
- productionSourceMap: false,
- outputDir: "dist-web",
- css: {
- loaderOptions: {
- sass: {
- prependData: '@import "~@/assets/scss/BIMData.scss";',
- },
- },
- },
- chainWebpack: config => {
- config.module
- .rule("css")
- .test(/\.css$/)
- .use("url-loader")
- .loader("url-loader")
- .options({
- esModule: false,
- })
- .end();
- },
-};
diff --git a/plugin-vue3.js b/vue3-plugin.js
similarity index 70%
rename from plugin-vue3.js
rename to vue3-plugin.js
index b9bf4f09..1f58eb9d 100644
--- a/plugin-vue3.js
+++ b/vue3-plugin.js
@@ -1,10 +1,16 @@
-import * as Components from "./dist/js/BIMDataComponents/vue3/index.js";
-import * as Directives from "./dist/js/BIMDataDirectives/vue3/index.js";
+import * as Components from "./src/BIMDataComponents/index.js";
+import * as Directives from "./src/BIMDataDirectives/index.js";
/**
- * Instal components and directives from the design system.
- * WARNING: The css needs to be added manually.
- * @param { { directives?: boolean, includedComponents?: string[], excludedComponents?: string[] } } [cfg]
+ * Register all components and directives from the design system.
+ *
+ * @param {
+ * {
+ * includedComponents?: string[],
+ * excludedComponents?: string[],
+ * directives?: boolean,
+ * }
+ * } [cfg]
*/
const pluginFactory = cfg => {
return {