srcdev-nuxt-components 2.5.18 → 3.0.0
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/nuxt.config.ts +3 -1
- package/package.json +1 -1
- package/assets/styles/a11y/_utils.css +0 -20
- package/assets/styles/a11y/_variables.css +0 -8
- package/assets/styles/a11y/index.css +0 -2
- package/assets/styles/forms/index.css +0 -2
- package/assets/styles/forms/themes/_error.css +0 -77
- package/assets/styles/forms/themes/_ghost.css +0 -77
- package/assets/styles/forms/themes/_input-action.css +0 -20
- package/assets/styles/forms/themes/_primary.css +0 -82
- package/assets/styles/forms/themes/_secondary.css +0 -77
- package/assets/styles/forms/themes/_success.css +0 -77
- package/assets/styles/forms/themes/_tertiary.css +0 -77
- package/assets/styles/forms/themes/_warning.css +0 -77
- package/assets/styles/forms/themes/index.css +0 -8
- package/assets/styles/forms/variables/_sizes.css +0 -82
- package/assets/styles/forms/variables/_theme.css +0 -11
- package/assets/styles/forms/variables/index.css +0 -2
- package/assets/styles/main.css +0 -5
- package/assets/styles/typography/index.css +0 -2
- package/assets/styles/typography/utils/_font-classes.css +0 -160
- package/assets/styles/typography/utils/_weights.css +0 -69
- package/assets/styles/typography/utils/index.css +0 -2
- package/assets/styles/typography/variables/_colors.css +0 -14
- package/assets/styles/typography/variables/_reponsive-font-size.css +0 -10
- package/assets/styles/typography/variables/index.css +0 -2
- package/assets/styles/utils/_animations.css +0 -42
- package/assets/styles/utils/_canvasWidths.css +0 -18
- package/assets/styles/utils/_display.css +0 -7
- package/assets/styles/utils/_margin-helpers.css +0 -334
- package/assets/styles/utils/_padding-helpers.css +0 -308
- package/assets/styles/utils/_page.css +0 -24
- package/assets/styles/utils/_placement.css +0 -73
- package/assets/styles/utils/index.css +0 -7
- package/assets/styles/variables/colors/_blue.css +0 -15
- package/assets/styles/variables/colors/_gray.css +0 -16
- package/assets/styles/variables/colors/_green.css +0 -15
- package/assets/styles/variables/colors/_orange.css +0 -15
- package/assets/styles/variables/colors/_red.css +0 -15
- package/assets/styles/variables/colors/_yellow.css +0 -15
- package/assets/styles/variables/colors/colors.css +0 -6
- package/assets/styles/variables/components/_accordian.css +0 -7
- package/assets/styles/variables/components/_container-glow-core.css +0 -16
- package/assets/styles/variables/components/_display-dialog-core.css +0 -35
- package/assets/styles/variables/components/_tabs.css +0 -18
- package/assets/styles/variables/components/display-prompt-core/_scaffolding.css +0 -57
- package/assets/styles/variables/components/display-prompt-core/index.css +0 -2
- package/assets/styles/variables/components/display-prompt-core/themes/_error.css +0 -39
- package/assets/styles/variables/components/display-prompt-core/themes/_info.css +0 -39
- package/assets/styles/variables/components/display-prompt-core/themes/_success.css +0 -39
- package/assets/styles/variables/components/display-prompt-core/themes/_warning.css +0 -39
- package/assets/styles/variables/components/display-prompt-core/themes/index.css +0 -4
- package/assets/styles/variables/components/index.css +0 -5
- package/assets/styles/variables/index.css +0 -2
- package/components/animated-svg-text/AnimatedSvgText.vue +0 -87
- package/components/canvas-switcher/CanvasSwitcher.vue +0 -77
- package/components/clip-element/ClipElement.vue +0 -73
- package/components/clipped-panels/ClippedPanel.vue +0 -73
- package/components/deep-expanding-menu/DeepExpandingMenu.vue +0 -214
- package/components/deep-expanding-menu/DeepExpandingMenuOld.vue +0 -218
- package/components/display-banner/DisplayBanner.vue +0 -63
- package/components/display-details/DisplayDetailsCore.vue +0 -312
- package/components/functional/accordian/AccordianCore.vue +0 -138
- package/components/functional/display-dialog/DisplayDialogCore.vue +0 -244
- package/components/functional/display-dialog/variants/DisplayDialogConfirm.vue +0 -45
- package/components/functional/display-dialog/variants/DisplayDialogScrollableContent.vue +0 -49
- package/components/functional/pop-over/PopOver.vue +0 -88
- package/components/image-galleries/SliderGallery.vue +0 -778
- package/components/masonry-grid-ordered/MasonryGridOrdered.vue +0 -158
- package/components/presentation/container-glow/ContainerGlowCore.vue +0 -211
- package/components/presentation/display-grid/DisplayGridCore.vue +0 -22
- package/components/presentation/display-prompt/DisplayPromptCore.vue +0 -150
- package/components/presentation/display-prompt/variants/DisplayPromptError.vue +0 -53
- package/components/presentation/layout-grids/LayoutGridA.vue +0 -103
- package/components/presentation/layout-grids/LayoutGridB.vue +0 -132
- package/components/presentation/layout-row/LayoutRow.vue +0 -157
- package/components/presentation/masonry-grid/MasonryGrid.vue +0 -62
- package/components/presentation/masonry-grid-sorted/MasonryGridSorted.vue +0 -115
- package/components/presentation/tabs/TabsCore.vue +0 -308
- package/components/responsive-header/NavigationItems.vue +0 -164
- package/components/responsive-header/ResponsiveHeader.vue +0 -586
- package/components/rotating-carousel/RotatingCarouselImage.vue +0 -200
- package/composables/useDialogControls.ts +0 -23
- package/composables/useStyleClassPassthrough.ts +0 -35
- package/composables/useTabs.ts +0 -201
- package/types/gallery-data.ts +0 -13
- package/types/responsiveHeader.ts +0 -38
|
@@ -1,15 +0,0 @@
|
|
|
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
|
-
}
|
|
@@ -1,16 +0,0 @@
|
|
|
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
|
-
}
|
|
@@ -1,15 +0,0 @@
|
|
|
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
|
-
}
|
|
@@ -1,15 +0,0 @@
|
|
|
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
|
-
}
|
|
@@ -1,15 +0,0 @@
|
|
|
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
|
-
}
|
|
@@ -1,15 +0,0 @@
|
|
|
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
|
-
}
|
|
@@ -1,16 +0,0 @@
|
|
|
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
|
-
}
|
|
@@ -1,35 +0,0 @@
|
|
|
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
|
-
}
|
|
@@ -1,18 +0,0 @@
|
|
|
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
|
-
}
|
|
@@ -1,57 +0,0 @@
|
|
|
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
|
-
}
|
|
@@ -1,39 +0,0 @@
|
|
|
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
|
-
}
|
|
@@ -1,39 +0,0 @@
|
|
|
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
|
-
}
|
|
@@ -1,39 +0,0 @@
|
|
|
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
|
-
}
|
|
@@ -1,39 +0,0 @@
|
|
|
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
|
-
}
|
|
@@ -1,87 +0,0 @@
|
|
|
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>
|
|
@@ -1,77 +0,0 @@
|
|
|
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>
|
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
<template>
|
|
2
|
-
<div class="clip-element-wrapper" ref="container" :class="elementClasses">
|
|
3
|
-
<div class="clipped-element" :style="`--_clip-path: inset(${clipOffset}px 0 0 0)`" ref="clipElement">
|
|
4
|
-
<slot name="default"></slot>
|
|
5
|
-
</div>
|
|
6
|
-
</div>
|
|
7
|
-
</template>
|
|
8
|
-
|
|
9
|
-
<script lang="ts" setup>
|
|
10
|
-
|
|
11
|
-
const props = defineProps({
|
|
12
|
-
maxClip: {
|
|
13
|
-
type: Number,
|
|
14
|
-
default: 100,
|
|
15
|
-
},
|
|
16
|
-
styleClassPassthrough: {
|
|
17
|
-
type: Array as PropType<string[]>,
|
|
18
|
-
default: () => [],
|
|
19
|
-
},
|
|
20
|
-
});
|
|
21
|
-
|
|
22
|
-
const { elementClasses } = useStyleClassPassthrough(props.styleClassPassthrough);
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
const container = ref(null);
|
|
26
|
-
const clipElement = ref<HTMLDivElement | null>(null);
|
|
27
|
-
const clipOffset = ref(0);
|
|
28
|
-
|
|
29
|
-
const updateClip = () => {
|
|
30
|
-
|
|
31
|
-
if (clipElement.value) {
|
|
32
|
-
|
|
33
|
-
const topPosition = Math.floor(clipElement.value.getBoundingClientRect().top);
|
|
34
|
-
|
|
35
|
-
if (topPosition < props.maxClip && topPosition > 0) {
|
|
36
|
-
clipOffset.value = props.maxClip - topPosition;
|
|
37
|
-
}
|
|
38
|
-
else if (topPosition < 0) {
|
|
39
|
-
clipOffset.value = props.maxClip + Math.abs(topPosition);
|
|
40
|
-
}
|
|
41
|
-
else if (topPosition > props.maxClip) {
|
|
42
|
-
clipOffset.value = 0;
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
};
|
|
46
|
-
|
|
47
|
-
onMounted(() => {
|
|
48
|
-
|
|
49
|
-
if (import.meta.client) {
|
|
50
|
-
updateClip(); // Initial check
|
|
51
|
-
window.addEventListener('scroll', updateClip, { passive: true });
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
});
|
|
55
|
-
|
|
56
|
-
onBeforeUnmount(() => {
|
|
57
|
-
window.removeEventListener('scroll', updateClip);
|
|
58
|
-
});
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
</script>
|
|
62
|
-
|
|
63
|
-
<style lang="css">
|
|
64
|
-
.clip-element-wrapper {
|
|
65
|
-
position: relative;
|
|
66
|
-
overflow: hidden;
|
|
67
|
-
}
|
|
68
|
-
.clipped-element {
|
|
69
|
-
width: 100%;
|
|
70
|
-
clip-path: var(--_clip-path);
|
|
71
|
-
display: block;
|
|
72
|
-
}
|
|
73
|
-
</style>
|