srcdev-nuxt-components 3.0.0 → 4.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/assets/styles/a11y/_utils.css +20 -0
- package/assets/styles/a11y/_variables.css +8 -0
- package/assets/styles/a11y/index.css +2 -0
- package/assets/styles/forms/index.css +2 -0
- package/assets/styles/forms/themes/_error.css +77 -0
- package/assets/styles/forms/themes/_ghost.css +77 -0
- package/assets/styles/forms/themes/_input-action.css +20 -0
- package/assets/styles/forms/themes/_primary.css +82 -0
- package/assets/styles/forms/themes/_secondary.css +77 -0
- package/assets/styles/forms/themes/_success.css +77 -0
- package/assets/styles/forms/themes/_tertiary.css +77 -0
- package/assets/styles/forms/themes/_warning.css +77 -0
- package/assets/styles/forms/themes/index.css +8 -0
- package/assets/styles/forms/variables/_sizes.css +82 -0
- package/assets/styles/forms/variables/_theme.css +11 -0
- package/assets/styles/forms/variables/index.css +2 -0
- package/assets/styles/main.css +5 -0
- package/assets/styles/typography/index.css +2 -0
- package/assets/styles/typography/utils/_font-classes.css +160 -0
- package/assets/styles/typography/utils/_weights.css +69 -0
- package/assets/styles/typography/utils/index.css +2 -0
- package/assets/styles/typography/variables/_colors.css +14 -0
- package/assets/styles/typography/variables/_reponsive-font-size.css +10 -0
- package/assets/styles/typography/variables/index.css +2 -0
- package/assets/styles/utils/_animations.css +42 -0
- package/assets/styles/utils/_canvasWidths.css +18 -0
- package/assets/styles/utils/_display.css +7 -0
- package/assets/styles/utils/_margin-helpers.css +334 -0
- package/assets/styles/utils/_padding-helpers.css +308 -0
- package/assets/styles/utils/_page.css +24 -0
- package/assets/styles/utils/_placement.css +73 -0
- package/assets/styles/utils/index.css +7 -0
- package/assets/styles/variables/colors/_blue.css +15 -0
- package/assets/styles/variables/colors/_gray.css +16 -0
- package/assets/styles/variables/colors/_green.css +15 -0
- package/assets/styles/variables/colors/_orange.css +15 -0
- package/assets/styles/variables/colors/_red.css +15 -0
- package/assets/styles/variables/colors/_yellow.css +15 -0
- package/assets/styles/variables/colors/colors.css +6 -0
- package/assets/styles/variables/components/_accordian.css +7 -0
- package/assets/styles/variables/components/_container-glow-core.css +16 -0
- package/assets/styles/variables/components/_display-dialog-core.css +35 -0
- package/assets/styles/variables/components/_tabs.css +18 -0
- package/assets/styles/variables/components/display-prompt-core/_scaffolding.css +57 -0
- package/assets/styles/variables/components/display-prompt-core/index.css +2 -0
- package/assets/styles/variables/components/display-prompt-core/themes/_error.css +39 -0
- package/assets/styles/variables/components/display-prompt-core/themes/_info.css +39 -0
- package/assets/styles/variables/components/display-prompt-core/themes/_success.css +39 -0
- package/assets/styles/variables/components/display-prompt-core/themes/_warning.css +39 -0
- package/assets/styles/variables/components/display-prompt-core/themes/index.css +4 -0
- package/assets/styles/variables/components/index.css +5 -0
- package/assets/styles/variables/index.css +2 -0
- package/components/animated-svg-text/AnimatedSvgText.vue +87 -0
- package/components/canvas-switcher/CanvasSwitcher.vue +77 -0
- package/components/carousel-basic/CarouselBasic.vue +241 -0
- package/components/carousel-basic/CarouselFlip.vue +378 -0
- package/components/clip-element/ClipElement.vue +73 -0
- package/components/clipped-panels/ClippedPanel.vue +73 -0
- package/components/deep-expanding-menu/DeepExpandingMenu.vue +214 -0
- package/components/deep-expanding-menu/DeepExpandingMenuOld.vue +218 -0
- package/components/display-banner/DisplayBanner.vue +63 -0
- package/components/display-details/DisplayDetailsCore.vue +312 -0
- package/components/functional/accordian/AccordianCore.vue +138 -0
- package/components/functional/display-dialog/DisplayDialogCore.vue +244 -0
- package/components/functional/display-dialog/variants/DisplayDialogConfirm.vue +45 -0
- package/components/functional/display-dialog/variants/DisplayDialogScrollableContent.vue +49 -0
- package/components/functional/pop-over/PopOver.vue +88 -0
- package/components/image-galleries/SliderGallery.vue +784 -0
- package/components/masonry-grid-ordered/MasonryGridOrdered.vue +158 -0
- package/components/presentation/container-glow/ContainerGlowCore.vue +211 -0
- package/components/presentation/display-grid/DisplayGridCore.vue +22 -0
- package/components/presentation/display-prompt/DisplayPromptCore.vue +150 -0
- package/components/presentation/display-prompt/variants/DisplayPromptError.vue +53 -0
- package/components/presentation/layout-grids/LayoutGridA.vue +103 -0
- package/components/presentation/layout-grids/LayoutGridB.vue +132 -0
- package/components/presentation/layout-row/LayoutRow.vue +157 -0
- package/components/presentation/masonry-grid/MasonryGrid.vue +62 -0
- package/components/presentation/masonry-grid-sorted/MasonryGridSorted.vue +115 -0
- package/components/presentation/tabs/TabsCore.vue +308 -0
- package/components/responsive-header/NavigationItems.vue +164 -0
- package/components/responsive-header/ResponsiveHeader.vue +586 -0
- package/components/rotating-carousel/RotatingCarouselImage.vue +200 -0
- package/composables/useDialogControls.ts +23 -0
- package/composables/useStyleClassPassthrough.ts +35 -0
- package/composables/useTabs.ts +201 -0
- package/nuxt.config.ts +0 -3
- package/package.json +7 -7
- package/types/gallery-data.ts +13 -0
- package/types/responsiveHeader.ts +38 -0
- package/types/types.carousel-basic.ts +19 -0
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
:root {
|
|
2
|
+
--blue-0: #e7f5ff;
|
|
3
|
+
--blue-1: #d0ebff;
|
|
4
|
+
--blue-2: #a5d8ff;
|
|
5
|
+
--blue-3: #74c0fc;
|
|
6
|
+
--blue-4: #4dabf7;
|
|
7
|
+
--blue-5: #339af0;
|
|
8
|
+
--blue-6: #228be6;
|
|
9
|
+
--blue-7: #1c7ed6;
|
|
10
|
+
--blue-8: #1971c2;
|
|
11
|
+
--blue-9: #1864ab;
|
|
12
|
+
--blue-10: #145591;
|
|
13
|
+
--blue-11: #114678;
|
|
14
|
+
--blue-12: #0e01cd;
|
|
15
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
:root {
|
|
2
|
+
--gray-00: #ffffff;
|
|
3
|
+
--gray-0: #f8f9fa;
|
|
4
|
+
--gray-1: #f1f3f5;
|
|
5
|
+
--gray-2: #e9ecef;
|
|
6
|
+
--gray-3: #dee2e6;
|
|
7
|
+
--gray-4: #ced4da;
|
|
8
|
+
--gray-5: #adb5bd;
|
|
9
|
+
--gray-6: #868e96;
|
|
10
|
+
--gray-7: #495057;
|
|
11
|
+
--gray-8: #343a40;
|
|
12
|
+
--gray-9: #212529;
|
|
13
|
+
--gray-10: #16191d;
|
|
14
|
+
--gray-11: #0d0f12;
|
|
15
|
+
--gray-12: #030507;
|
|
16
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
:root {
|
|
2
|
+
--green-0: #ebfbee;
|
|
3
|
+
--green-1: #d3f9d8;
|
|
4
|
+
--green-2: #b2f2bb;
|
|
5
|
+
--green-3: #8ce99a;
|
|
6
|
+
--green-4: #69db7c;
|
|
7
|
+
--green-5: #51cf66;
|
|
8
|
+
--green-6: #40c057;
|
|
9
|
+
--green-7: #37b24d;
|
|
10
|
+
--green-8: #2f9e44;
|
|
11
|
+
--green-9: #2b8a3e;
|
|
12
|
+
--green-10: #237032;
|
|
13
|
+
--green-11: #1b5727;
|
|
14
|
+
--green-12: #017f18;
|
|
15
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
:root {
|
|
2
|
+
--orange-0: #fff4e6;
|
|
3
|
+
--orange-1: #ffe8cc;
|
|
4
|
+
--orange-2: #ffd8a8;
|
|
5
|
+
--orange-3: #ffc078;
|
|
6
|
+
--orange-4: #ffa94d;
|
|
7
|
+
--orange-5: #ff922b;
|
|
8
|
+
--orange-6: #ff7400;
|
|
9
|
+
--orange-7: #f76707;
|
|
10
|
+
--orange-8: #e8590c;
|
|
11
|
+
--orange-9: #d9480f;
|
|
12
|
+
--orange-10: #bf400d;
|
|
13
|
+
--orange-11: #99330b;
|
|
14
|
+
--orange-12: #c23903;
|
|
15
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
:root {
|
|
2
|
+
--red-0: #fff5f5;
|
|
3
|
+
--red-1: #ffe3e3;
|
|
4
|
+
--red-2: #ffc9c9;
|
|
5
|
+
--red-3: #ffa8a8;
|
|
6
|
+
--red-4: #ff8787;
|
|
7
|
+
--red-5: #ff6b6b;
|
|
8
|
+
--red-6: #fa5252;
|
|
9
|
+
--red-7: #f03e3e;
|
|
10
|
+
--red-8: #e03131;
|
|
11
|
+
--red-9: #ff0b0b;
|
|
12
|
+
--red-10: #b02525;
|
|
13
|
+
--red-11: #962020;
|
|
14
|
+
--red-12: #cc0000;
|
|
15
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
:root {
|
|
2
|
+
--yellow-0: #fff9db;
|
|
3
|
+
--yellow-1: #fff3bf;
|
|
4
|
+
--yellow-2: #ffec99;
|
|
5
|
+
--yellow-3: #ffe066;
|
|
6
|
+
--yellow-4: #ffd43b;
|
|
7
|
+
--yellow-5: #fcc419;
|
|
8
|
+
--yellow-6: #fab005;
|
|
9
|
+
--yellow-7: #f59f00;
|
|
10
|
+
--yellow-8: #f08c00;
|
|
11
|
+
--yellow-9: #e67700;
|
|
12
|
+
--yellow-10: #b35c00;
|
|
13
|
+
--yellow-11: #804200;
|
|
14
|
+
--yellow-12: #663500;
|
|
15
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
.container-glow-wrapper {
|
|
2
|
+
--container-bg-colour: light-dark(hsl(250, 18%, 93%), hsl(246 44% 7%));
|
|
3
|
+
--container-border-colour: hsl(280 10% 50% / 1);
|
|
4
|
+
--card: light-dark(white, hsl(246 44% 7%));
|
|
5
|
+
--container-border-width: 2px;
|
|
6
|
+
--container-border-radius: 12px;
|
|
7
|
+
--gradient: conic-gradient(
|
|
8
|
+
from 180deg at 50% 70%,
|
|
9
|
+
hsla(0, 0%, 98%, 1) 0deg,
|
|
10
|
+
#eec32d 72.0000010728836deg,
|
|
11
|
+
#fc0303 144.0000021457672deg,
|
|
12
|
+
#709ab9 216.00000858306885deg,
|
|
13
|
+
#4dffbf 288.0000042915344deg,
|
|
14
|
+
hsla(0, 0%, 98%, 1) 1turn
|
|
15
|
+
);
|
|
16
|
+
}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
.display-dialog-core {
|
|
2
|
+
--dialog-border: 0.1rem solid light-dark(var(--gray-8), var(--gray-0));
|
|
3
|
+
--dialog-outline: 0.1rem solid light-dark(var(--gray-8), var(--gray-0));
|
|
4
|
+
--dialog-border-radius: 0.4rem;
|
|
5
|
+
|
|
6
|
+
--dialog-inner-background: light-dark(var(--gray-0), var(--gray-9));
|
|
7
|
+
|
|
8
|
+
/*
|
|
9
|
+
* Header styles
|
|
10
|
+
*/
|
|
11
|
+
--dialog-header-padding: 0 1.2rem;
|
|
12
|
+
|
|
13
|
+
--dialog-header-button-margin: 0;
|
|
14
|
+
--dialog-header-button-padding: 0.4rem;
|
|
15
|
+
--dialog-header-button-border-radius: 50%;
|
|
16
|
+
|
|
17
|
+
--dialog-header-button-border: 1px solid transparent;
|
|
18
|
+
--dialog-header-button-outline: 1px solid transparent;
|
|
19
|
+
|
|
20
|
+
--dialog-header-button-border-hover: 1px solid light-dark(var(--gray-8), var(--gray-0));
|
|
21
|
+
--dialog-header-button-outline-hover: 1px solid light-dark(var(--gray-8), var(--gray-0));
|
|
22
|
+
|
|
23
|
+
--dialog-header-button-icon-color: light-dark(var(--gray-8), var(--gray-0));
|
|
24
|
+
--dialog-header-button-icon-font-size: 1.4rem;
|
|
25
|
+
|
|
26
|
+
/*
|
|
27
|
+
* Header styles
|
|
28
|
+
*/
|
|
29
|
+
--dialog-content-padding: 1.2rem;
|
|
30
|
+
|
|
31
|
+
/*
|
|
32
|
+
* Footerer styles
|
|
33
|
+
*/
|
|
34
|
+
--dialog-footer-padding: 1.2rem;
|
|
35
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
:root {
|
|
2
|
+
--tabs-default-text: light-dark(var(--gray-12), var(--gray-0));
|
|
3
|
+
--tabs-active-bg: light-dark(var(--gray-12), var(--gray-0));
|
|
4
|
+
--tabs-active-text: light-dark(var(--gray-0), var(--gray-12));
|
|
5
|
+
--tabs-active-indicator: var(--green-6);
|
|
6
|
+
--tabs-hovered-bg: light-dark(var(--gray-7), var(--gray-3));
|
|
7
|
+
--tabs-hovered-text: light-dark(var(--gray-0), var(--gray-12));
|
|
8
|
+
--tabs-border-bottom: 0px solid var(--green-6);
|
|
9
|
+
|
|
10
|
+
--tabs-content-border: 0.1rem solid var(--green-6);
|
|
11
|
+
--tabs-content-outline: 0.1rem solid var(--green-12);
|
|
12
|
+
--tabs-content-bg: light-dark(var(--gray-1), var(--gray-8));
|
|
13
|
+
|
|
14
|
+
--tabs-content-start-start-radius: 0;
|
|
15
|
+
--tabs-content-start-end-radius: 0;
|
|
16
|
+
--tabs-content-end-start-radius: 1rem;
|
|
17
|
+
--tabs-content-end-end-radius: 1rem;
|
|
18
|
+
}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
:root {
|
|
2
|
+
/*
|
|
3
|
+
* Wrapper styles
|
|
4
|
+
*/
|
|
5
|
+
--display-prompt-wrapper-border-radius: 0.5rem;
|
|
6
|
+
|
|
7
|
+
/*
|
|
8
|
+
* Inner styles
|
|
9
|
+
*/
|
|
10
|
+
--display-prompt-inner-margin: 0 0 0 0.7rem;
|
|
11
|
+
--display-prompt-inner-padding: 1rem 1.5rem;
|
|
12
|
+
--display-prompt-inner-gap: 1.6rem;
|
|
13
|
+
--display-prompt-inner-border-radius: 0.2rem;
|
|
14
|
+
|
|
15
|
+
/*
|
|
16
|
+
* Icon styles
|
|
17
|
+
*/
|
|
18
|
+
--display-prompt-icon-size: 3rem;
|
|
19
|
+
--display-prompt-icon-weight: normal;
|
|
20
|
+
|
|
21
|
+
/*
|
|
22
|
+
* Title styles
|
|
23
|
+
*/
|
|
24
|
+
--display-prompt-inner-content-gap: 1rem;
|
|
25
|
+
--display-prompt-content-margin: 0;
|
|
26
|
+
--display-prompt-content-padding: 0.2rem;
|
|
27
|
+
|
|
28
|
+
/*
|
|
29
|
+
* Title styles
|
|
30
|
+
*/
|
|
31
|
+
--display-prompt-content-title-font-size: var(--step-2);
|
|
32
|
+
--display-prompt-content-title-font-weight: bold;
|
|
33
|
+
--display-prompt-content-title-line-height: 1.3;
|
|
34
|
+
--display-prompt-content-title-margin: 0;
|
|
35
|
+
--display-prompt-content-title-padding: 0;
|
|
36
|
+
|
|
37
|
+
/*
|
|
38
|
+
* Text styles
|
|
39
|
+
*/
|
|
40
|
+
--display-prompt-content-text-font-size: var(--step-2);
|
|
41
|
+
--display-prompt-content-text-font-weight: normal;
|
|
42
|
+
--display-prompt-content-text-line-height: 1.3;
|
|
43
|
+
--display-prompt-content-title-margin: 0;
|
|
44
|
+
--display-prompt-content-title-padding: 0;
|
|
45
|
+
|
|
46
|
+
/*
|
|
47
|
+
* Button styles
|
|
48
|
+
*/
|
|
49
|
+
--display-prompt-button-border-radius: 50%;
|
|
50
|
+
--display-prompt-button-margin: 1rem;
|
|
51
|
+
--display-prompt-button-padding: 0.5rem;
|
|
52
|
+
|
|
53
|
+
/*
|
|
54
|
+
* Button styles
|
|
55
|
+
*/
|
|
56
|
+
--display-prompt-button-icon-font-size: var(--step-2);
|
|
57
|
+
}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
[data-prompt-theme='error'] {
|
|
2
|
+
/*
|
|
3
|
+
* Wrapper styles
|
|
4
|
+
*/
|
|
5
|
+
--display-prompt-wrapper-background-color: var(--red-8);
|
|
6
|
+
--display-prompt-wrapper-border: 0.1rem solid var(--red-8);
|
|
7
|
+
--display-prompt-wrapper-outline: 0.1rem solid var(--red-5);
|
|
8
|
+
|
|
9
|
+
/*
|
|
10
|
+
* Inner styles
|
|
11
|
+
*/
|
|
12
|
+
--display-prompt-inner-background-color: var(--red-0);
|
|
13
|
+
|
|
14
|
+
/*
|
|
15
|
+
* Icon styles
|
|
16
|
+
*/
|
|
17
|
+
--display-prompt-icon-color: var(--red-8);
|
|
18
|
+
|
|
19
|
+
/*
|
|
20
|
+
* Title styles
|
|
21
|
+
*/
|
|
22
|
+
--display-prompt-content-title-color: var(--red-8);
|
|
23
|
+
|
|
24
|
+
/*
|
|
25
|
+
* Text styles
|
|
26
|
+
*/
|
|
27
|
+
--display-prompt-content-text-color: var(--red-8);
|
|
28
|
+
|
|
29
|
+
/*
|
|
30
|
+
* Button styles
|
|
31
|
+
*/
|
|
32
|
+
--display-prompt-button-border: 0.1rem solid var(--red-8);
|
|
33
|
+
--display-prompt-button-outline: 0.1rem solid var(--red-8);
|
|
34
|
+
|
|
35
|
+
/*
|
|
36
|
+
* Button styles
|
|
37
|
+
*/
|
|
38
|
+
--display-prompt-button-icon-color: var(--red-8);
|
|
39
|
+
}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
[data-prompt-theme='info'] {
|
|
2
|
+
/*
|
|
3
|
+
* Wrapper styles
|
|
4
|
+
*/
|
|
5
|
+
--display-prompt-wrapper-background-color: var(--blue-8);
|
|
6
|
+
--display-prompt-wrapper-border: 0.1rem solid var(--blue-8);
|
|
7
|
+
--display-prompt-wrapper-outline: 0.1rem solid var(--blue-5);
|
|
8
|
+
|
|
9
|
+
/*
|
|
10
|
+
* Inner styles
|
|
11
|
+
*/
|
|
12
|
+
--display-prompt-inner-background-color: var(--blue-0);
|
|
13
|
+
|
|
14
|
+
/*
|
|
15
|
+
* Icon styles
|
|
16
|
+
*/
|
|
17
|
+
--display-prompt-icon-color: var(--blue-8);
|
|
18
|
+
|
|
19
|
+
/*
|
|
20
|
+
* Title styles
|
|
21
|
+
*/
|
|
22
|
+
--display-prompt-content-title-color: var(--blue-8);
|
|
23
|
+
|
|
24
|
+
/*
|
|
25
|
+
* Text styles
|
|
26
|
+
*/
|
|
27
|
+
--display-prompt-content-text-color: var(--blue-8);
|
|
28
|
+
|
|
29
|
+
/*
|
|
30
|
+
* Button styles
|
|
31
|
+
*/
|
|
32
|
+
--display-prompt-button-border: 0.1rem solid var(--blue-8);
|
|
33
|
+
--display-prompt-button-outline: 0.1rem solid var(--blue-8);
|
|
34
|
+
|
|
35
|
+
/*
|
|
36
|
+
* Button styles
|
|
37
|
+
*/
|
|
38
|
+
--display-prompt-button-icon-color: var(--blue-8);
|
|
39
|
+
}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
[data-prompt-theme='success'] {
|
|
2
|
+
/*
|
|
3
|
+
* Wrapper styles
|
|
4
|
+
*/
|
|
5
|
+
--display-prompt-wrapper-background-color: var(--green-8);
|
|
6
|
+
--display-prompt-wrapper-border: 0.1rem solid var(--green-8);
|
|
7
|
+
--display-prompt-wrapper-outline: 0.1rem solid var(--green-5);
|
|
8
|
+
|
|
9
|
+
/*
|
|
10
|
+
* Inner styles
|
|
11
|
+
*/
|
|
12
|
+
--display-prompt-inner-background-color: var(--green-0);
|
|
13
|
+
|
|
14
|
+
/*
|
|
15
|
+
* Icon styles
|
|
16
|
+
*/
|
|
17
|
+
--display-prompt-icon-color: var(--green-8);
|
|
18
|
+
|
|
19
|
+
/*
|
|
20
|
+
* Title styles
|
|
21
|
+
*/
|
|
22
|
+
--display-prompt-content-title-color: var(--green-8);
|
|
23
|
+
|
|
24
|
+
/*
|
|
25
|
+
* Text styles
|
|
26
|
+
*/
|
|
27
|
+
--display-prompt-content-text-color: var(--green-8);
|
|
28
|
+
|
|
29
|
+
/*
|
|
30
|
+
* Button styles
|
|
31
|
+
*/
|
|
32
|
+
--display-prompt-button-border: 0.1rem solid var(--green-8);
|
|
33
|
+
--display-prompt-button-outline: 0.1rem solid var(--green-8);
|
|
34
|
+
|
|
35
|
+
/*
|
|
36
|
+
* Button styles
|
|
37
|
+
*/
|
|
38
|
+
--display-prompt-button-icon-color: var(--green-8);
|
|
39
|
+
}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
[data-prompt-theme='warning'] {
|
|
2
|
+
/*
|
|
3
|
+
* Wrapper styles
|
|
4
|
+
*/
|
|
5
|
+
--display-prompt-wrapper-background-color: var(--orange-8);
|
|
6
|
+
--display-prompt-wrapper-border: 0.1rem solid var(--orange-8);
|
|
7
|
+
--display-prompt-wrapper-outline: 0.1rem solid var(--orange-5);
|
|
8
|
+
|
|
9
|
+
/*
|
|
10
|
+
* Inner styles
|
|
11
|
+
*/
|
|
12
|
+
--display-prompt-inner-background-color: var(--orange-0);
|
|
13
|
+
|
|
14
|
+
/*
|
|
15
|
+
* Icon styles
|
|
16
|
+
*/
|
|
17
|
+
--display-prompt-icon-color: var(--orange-8);
|
|
18
|
+
|
|
19
|
+
/*
|
|
20
|
+
* Title styles
|
|
21
|
+
*/
|
|
22
|
+
--display-prompt-content-title-color: var(--orange-8);
|
|
23
|
+
|
|
24
|
+
/*
|
|
25
|
+
* Text styles
|
|
26
|
+
*/
|
|
27
|
+
--display-prompt-content-text-color: var(--orange-8);
|
|
28
|
+
|
|
29
|
+
/*
|
|
30
|
+
* Button styles
|
|
31
|
+
*/
|
|
32
|
+
--display-prompt-button-border: 0.1rem solid var(--orange-8);
|
|
33
|
+
--display-prompt-button-outline: 0.1rem solid var(--orange-8);
|
|
34
|
+
|
|
35
|
+
/*
|
|
36
|
+
* Button styles
|
|
37
|
+
*/
|
|
38
|
+
--display-prompt-button-icon-color: var(--orange-8);
|
|
39
|
+
}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<div class="animated-svg-text" :class="[elementClasses]">
|
|
3
|
+
<slot name="text"></slot>
|
|
4
|
+
</div>
|
|
5
|
+
</template>
|
|
6
|
+
|
|
7
|
+
<script setup lang="ts">
|
|
8
|
+
const props = defineProps({
|
|
9
|
+
styleClassPassthrough: {
|
|
10
|
+
type: Array as PropType<string[]>,
|
|
11
|
+
default: () => [],
|
|
12
|
+
},
|
|
13
|
+
});
|
|
14
|
+
|
|
15
|
+
const { elementClasses, resetElementClasses } = useStyleClassPassthrough(props.styleClassPassthrough);
|
|
16
|
+
|
|
17
|
+
watch(
|
|
18
|
+
() => props.styleClassPassthrough,
|
|
19
|
+
() => {
|
|
20
|
+
resetElementClasses(props.styleClassPassthrough);
|
|
21
|
+
}
|
|
22
|
+
);
|
|
23
|
+
</script>
|
|
24
|
+
|
|
25
|
+
<style lang="css">
|
|
26
|
+
|
|
27
|
+
@keyframes animatedSvgText {
|
|
28
|
+
0% {
|
|
29
|
+
fill: transparent;
|
|
30
|
+
stroke-dashoffset: var(--_animated-svg-text-stroke-dasharray);
|
|
31
|
+
stroke-width: 0.3;
|
|
32
|
+
}
|
|
33
|
+
70% {
|
|
34
|
+
fill: transparent;
|
|
35
|
+
stroke-width: 0.3;
|
|
36
|
+
}
|
|
37
|
+
100% {
|
|
38
|
+
fill: var(--_animated-svg-fill-color);
|
|
39
|
+
stroke-dashoffset: 0;
|
|
40
|
+
stroke-width: 0;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
html {
|
|
45
|
+
|
|
46
|
+
&[data-color-scheme='light'] {
|
|
47
|
+
.animated-svg-text {
|
|
48
|
+
--_animated-svg-text-color: var(--_animated-svg-text-stroke-light);
|
|
49
|
+
--_animated-svg-fill-color: var(--_animated-svg-text-fill-light);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
&[data-color-scheme='dark'] {
|
|
53
|
+
.animated-svg-text {
|
|
54
|
+
--_animated-svg-text-color: var(--_animated-svg-text-stroke-dark);
|
|
55
|
+
--_animated-svg-fill-color: var(--_animated-svg-text-fill-dark);
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
&[data-color-scheme='auto'] {
|
|
59
|
+
.animated-svg-text {
|
|
60
|
+
@media (prefers-color-scheme: light) {
|
|
61
|
+
--_animated-svg-text-color: var(--_animated-svg-text-stroke-light);
|
|
62
|
+
--_animated-svg-fill-color: var(--_animated-svg-text-fill-light);
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
@media (prefers-color-scheme: dark) {
|
|
66
|
+
--_animated-svg-text-color: var(--_animated-svg-text-stroke-dark);
|
|
67
|
+
--_animated-svg-fill-color: var(--_animated-svg-text-fill-dark);
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
.animated-svg-text {
|
|
73
|
+
|
|
74
|
+
--_animated-svg-text-color: var(--_animated-svg-text-stroke-light):
|
|
75
|
+
--_animated-svg-fill-color: var(--_animated-svg-text-fill-light);
|
|
76
|
+
|
|
77
|
+
svg path {
|
|
78
|
+
stroke: var(--_animated-svg-text-color);
|
|
79
|
+
stroke-width: 0.3;
|
|
80
|
+
stroke-dasharray: var(--_animated-svg-text-stroke-dasharray);
|
|
81
|
+
stroke-dashoffset: var(--_animated-svg-text-stroke-dasharray);
|
|
82
|
+
animation: animatedSvgText var(--_animated-svg-animation-duration) linear 1 forwards;
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
}
|
|
87
|
+
</style>
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<div class="canvas-switcher">
|
|
3
|
+
<p>Canvas switcher</p>
|
|
4
|
+
<ul class="canvas-switcher mbe-20">
|
|
5
|
+
<li>
|
|
6
|
+
<button type="button" @click.stop.prevent="updateCanvas('mobileCanvas')">
|
|
7
|
+
<Icon name="ic:baseline-phone-iphone" class="icon" :class="[{ current: canvasName === 'mobileCanvas' }]" />
|
|
8
|
+
</button>
|
|
9
|
+
</li>
|
|
10
|
+
<li>
|
|
11
|
+
<button type="button" @click.stop.prevent="updateCanvas('tabletCanvas')">
|
|
12
|
+
<Icon name="ic:baseline-tablet-mac" class="icon" :class="[{ current: canvasName === 'tabletCanvas' }]" />
|
|
13
|
+
</button>
|
|
14
|
+
</li>
|
|
15
|
+
<li>
|
|
16
|
+
<button type="button" @click.stop.prevent="updateCanvas('laptopCanvas')">
|
|
17
|
+
<Icon name="ic:baseline-laptop-mac" class="icon" :class="[{ current: canvasName === 'laptopCanvas' }]" />
|
|
18
|
+
</button>
|
|
19
|
+
</li>
|
|
20
|
+
<li>
|
|
21
|
+
<button type="button" @click.stop.prevent="updateCanvas('desktopCanvas')">
|
|
22
|
+
<Icon name="ic:outline-desktop-mac" class="icon" :class="[{ current: canvasName === 'desktopCanvas' }]" />
|
|
23
|
+
</button>
|
|
24
|
+
</li>
|
|
25
|
+
</ul>
|
|
26
|
+
</div>
|
|
27
|
+
</template>
|
|
28
|
+
|
|
29
|
+
<script setup lang="ts">
|
|
30
|
+
import type { MediaCanvas } from '@/types/types.canvasName';
|
|
31
|
+
|
|
32
|
+
const canvasName = defineModel<MediaCanvas>('canvasName');
|
|
33
|
+
|
|
34
|
+
const updateCanvas = (setCanvas: MediaCanvas) => {
|
|
35
|
+
canvasName.value = setCanvas;
|
|
36
|
+
};
|
|
37
|
+
</script>
|
|
38
|
+
|
|
39
|
+
<style lang="css">
|
|
40
|
+
.canvas-switcher {
|
|
41
|
+
display: flex;
|
|
42
|
+
align-items: center;
|
|
43
|
+
gap: 20px;
|
|
44
|
+
|
|
45
|
+
ul {
|
|
46
|
+
display: flex;
|
|
47
|
+
gap: 10px;
|
|
48
|
+
list-style-type: none;
|
|
49
|
+
margin: 0;
|
|
50
|
+
padding: 0;
|
|
51
|
+
|
|
52
|
+
li {
|
|
53
|
+
button {
|
|
54
|
+
all: unset;
|
|
55
|
+
display: flex;
|
|
56
|
+
align-items: center;
|
|
57
|
+
justify-content: center;
|
|
58
|
+
padding: 5px;
|
|
59
|
+
border: 0px solid light-dark(var(--gray-10), var(--gray-2));
|
|
60
|
+
border-radius: 4px;
|
|
61
|
+
cursor: pointer;
|
|
62
|
+
|
|
63
|
+
.icon {
|
|
64
|
+
color: light-dark(var(--gray-10), var(--gray-2));
|
|
65
|
+
|
|
66
|
+
width: 24px;
|
|
67
|
+
height: 24px;
|
|
68
|
+
|
|
69
|
+
&.current {
|
|
70
|
+
color: light-dark(var(--green-10), var(--green-4));
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
</style>
|