@magic-spells/cart-panel 0.3.1 → 1.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/README.md +7 -7
- package/dist/cart-panel.cjs.css +216 -193
- package/dist/cart-panel.cjs.js +692 -508
- package/dist/cart-panel.cjs.js.map +1 -1
- package/dist/cart-panel.css +216 -193
- package/dist/cart-panel.esm.css +216 -193
- package/dist/cart-panel.esm.js +686 -500
- package/dist/cart-panel.esm.js.map +1 -1
- package/dist/cart-panel.js +1054 -1716
- package/dist/cart-panel.js.map +1 -1
- package/dist/cart-panel.min.css +1 -1
- package/dist/cart-panel.min.js +1 -1
- package/package.json +12 -8
- package/src/cart-item.js +448 -0
- package/src/cart-panel.css +231 -0
- package/src/cart-panel.js +258 -517
- package/dist/cart-panel.scss +0 -107
- package/src/cart-panel.scss +0 -107
package/dist/cart-panel.scss
DELETED
|
@@ -1,107 +0,0 @@
|
|
|
1
|
-
// Cart Dialog SCSS Variables
|
|
2
|
-
// These can be customized by importing this file and overriding variables
|
|
3
|
-
|
|
4
|
-
// Import cart-item styles since cart items are used within the cart panel
|
|
5
|
-
@use '@magic-spells/cart-item/dist/cart-item.scss';
|
|
6
|
-
|
|
7
|
-
// Layout and positioning
|
|
8
|
-
$cart-dialog-z-index: 1000 !default;
|
|
9
|
-
$cart-overlay-z-index: 1000 !default;
|
|
10
|
-
$cart-panel-z-index: 1001 !default;
|
|
11
|
-
$cart-panel-width: min(400px, 90vw) !default;
|
|
12
|
-
|
|
13
|
-
// Overlay styling
|
|
14
|
-
$cart-overlay-background: rgba(0, 0, 0, 0.15) !default;
|
|
15
|
-
$cart-overlay-backdrop-filter: blur(4px) !default;
|
|
16
|
-
|
|
17
|
-
// Panel styling
|
|
18
|
-
$cart-panel-background: #ffffff !default;
|
|
19
|
-
$cart-panel-shadow: -5px 0 25px rgba(0, 0, 0, 0.15) !default;
|
|
20
|
-
$cart-panel-border-radius: 0 !default;
|
|
21
|
-
|
|
22
|
-
// Animation
|
|
23
|
-
$cart-transition-duration: 350ms !default;
|
|
24
|
-
$cart-transition-timing: cubic-bezier(0.4, 0, 0.2, 1) !default;
|
|
25
|
-
|
|
26
|
-
// Define CSS Custom Properties using SCSS values
|
|
27
|
-
:root {
|
|
28
|
-
// Layout
|
|
29
|
-
--cart-dialog-z-index: #{$cart-dialog-z-index};
|
|
30
|
-
--cart-overlay-z-index: #{$cart-overlay-z-index};
|
|
31
|
-
--cart-panel-z-index: #{$cart-panel-z-index};
|
|
32
|
-
--cart-panel-width: #{$cart-panel-width};
|
|
33
|
-
|
|
34
|
-
// Overlay
|
|
35
|
-
--cart-overlay-background: #{$cart-overlay-background};
|
|
36
|
-
--cart-overlay-backdrop-filter: #{$cart-overlay-backdrop-filter};
|
|
37
|
-
|
|
38
|
-
// Panel
|
|
39
|
-
--cart-panel-background: #{$cart-panel-background};
|
|
40
|
-
--cart-panel-shadow: #{$cart-panel-shadow};
|
|
41
|
-
--cart-panel-border-radius: #{$cart-panel-border-radius};
|
|
42
|
-
|
|
43
|
-
// Animation
|
|
44
|
-
--cart-transition-duration: #{$cart-transition-duration};
|
|
45
|
-
--cart-transition-timing: #{$cart-transition-timing};
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
// Cart Dialog - Main container
|
|
49
|
-
cart-dialog {
|
|
50
|
-
display: contents;
|
|
51
|
-
|
|
52
|
-
&[aria-hidden='false'] {
|
|
53
|
-
cart-overlay,
|
|
54
|
-
cart-panel {
|
|
55
|
-
pointer-events: auto;
|
|
56
|
-
opacity: 1;
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
cart-panel {
|
|
60
|
-
transform: translateX(0);
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
// Cart Overlay - Backdrop
|
|
66
|
-
cart-overlay {
|
|
67
|
-
position: fixed;
|
|
68
|
-
top: 0;
|
|
69
|
-
left: 0;
|
|
70
|
-
width: 100vw;
|
|
71
|
-
height: 100vh;
|
|
72
|
-
opacity: 0;
|
|
73
|
-
pointer-events: none;
|
|
74
|
-
z-index: var(--cart-overlay-z-index);
|
|
75
|
-
background-color: var(--cart-overlay-background);
|
|
76
|
-
backdrop-filter: var(--cart-overlay-backdrop-filter);
|
|
77
|
-
transition:
|
|
78
|
-
opacity var(--cart-transition-duration) var(--cart-transition-timing),
|
|
79
|
-
backdrop-filter var(--cart-transition-duration) var(--cart-transition-timing);
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
// Cart Panel - Sliding content area
|
|
83
|
-
cart-panel {
|
|
84
|
-
position: fixed;
|
|
85
|
-
top: 0;
|
|
86
|
-
right: 0;
|
|
87
|
-
width: var(--cart-panel-width);
|
|
88
|
-
height: 100dvh;
|
|
89
|
-
transform: translateX(100%);
|
|
90
|
-
pointer-events: none;
|
|
91
|
-
z-index: var(--cart-panel-z-index);
|
|
92
|
-
background: var(--cart-panel-background);
|
|
93
|
-
box-shadow: var(--cart-panel-shadow);
|
|
94
|
-
border-radius: var(--cart-panel-border-radius);
|
|
95
|
-
overflow: hidden;
|
|
96
|
-
transition: transform var(--cart-transition-duration) var(--cart-transition-timing);
|
|
97
|
-
|
|
98
|
-
// When explicitly hidden, remove from layout
|
|
99
|
-
&.hidden {
|
|
100
|
-
display: none;
|
|
101
|
-
}
|
|
102
|
-
}
|
|
103
|
-
|
|
104
|
-
// Body scroll lock when cart is open
|
|
105
|
-
body.overflow-hidden {
|
|
106
|
-
overflow: hidden;
|
|
107
|
-
}
|
package/src/cart-panel.scss
DELETED
|
@@ -1,107 +0,0 @@
|
|
|
1
|
-
// Cart Dialog SCSS Variables
|
|
2
|
-
// These can be customized by importing this file and overriding variables
|
|
3
|
-
|
|
4
|
-
// Import cart-item styles since cart items are used within the cart panel
|
|
5
|
-
@use '@magic-spells/cart-item/dist/cart-item.scss';
|
|
6
|
-
|
|
7
|
-
// Layout and positioning
|
|
8
|
-
$cart-dialog-z-index: 1000 !default;
|
|
9
|
-
$cart-overlay-z-index: 1000 !default;
|
|
10
|
-
$cart-panel-z-index: 1001 !default;
|
|
11
|
-
$cart-panel-width: min(400px, 90vw) !default;
|
|
12
|
-
|
|
13
|
-
// Overlay styling
|
|
14
|
-
$cart-overlay-background: rgba(0, 0, 0, 0.15) !default;
|
|
15
|
-
$cart-overlay-backdrop-filter: blur(4px) !default;
|
|
16
|
-
|
|
17
|
-
// Panel styling
|
|
18
|
-
$cart-panel-background: #ffffff !default;
|
|
19
|
-
$cart-panel-shadow: -5px 0 25px rgba(0, 0, 0, 0.15) !default;
|
|
20
|
-
$cart-panel-border-radius: 0 !default;
|
|
21
|
-
|
|
22
|
-
// Animation
|
|
23
|
-
$cart-transition-duration: 350ms !default;
|
|
24
|
-
$cart-transition-timing: cubic-bezier(0.4, 0, 0.2, 1) !default;
|
|
25
|
-
|
|
26
|
-
// Define CSS Custom Properties using SCSS values
|
|
27
|
-
:root {
|
|
28
|
-
// Layout
|
|
29
|
-
--cart-dialog-z-index: #{$cart-dialog-z-index};
|
|
30
|
-
--cart-overlay-z-index: #{$cart-overlay-z-index};
|
|
31
|
-
--cart-panel-z-index: #{$cart-panel-z-index};
|
|
32
|
-
--cart-panel-width: #{$cart-panel-width};
|
|
33
|
-
|
|
34
|
-
// Overlay
|
|
35
|
-
--cart-overlay-background: #{$cart-overlay-background};
|
|
36
|
-
--cart-overlay-backdrop-filter: #{$cart-overlay-backdrop-filter};
|
|
37
|
-
|
|
38
|
-
// Panel
|
|
39
|
-
--cart-panel-background: #{$cart-panel-background};
|
|
40
|
-
--cart-panel-shadow: #{$cart-panel-shadow};
|
|
41
|
-
--cart-panel-border-radius: #{$cart-panel-border-radius};
|
|
42
|
-
|
|
43
|
-
// Animation
|
|
44
|
-
--cart-transition-duration: #{$cart-transition-duration};
|
|
45
|
-
--cart-transition-timing: #{$cart-transition-timing};
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
// Cart Dialog - Main container
|
|
49
|
-
cart-dialog {
|
|
50
|
-
display: contents;
|
|
51
|
-
|
|
52
|
-
&[aria-hidden='false'] {
|
|
53
|
-
cart-overlay,
|
|
54
|
-
cart-panel {
|
|
55
|
-
pointer-events: auto;
|
|
56
|
-
opacity: 1;
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
cart-panel {
|
|
60
|
-
transform: translateX(0);
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
// Cart Overlay - Backdrop
|
|
66
|
-
cart-overlay {
|
|
67
|
-
position: fixed;
|
|
68
|
-
top: 0;
|
|
69
|
-
left: 0;
|
|
70
|
-
width: 100vw;
|
|
71
|
-
height: 100vh;
|
|
72
|
-
opacity: 0;
|
|
73
|
-
pointer-events: none;
|
|
74
|
-
z-index: var(--cart-overlay-z-index);
|
|
75
|
-
background-color: var(--cart-overlay-background);
|
|
76
|
-
backdrop-filter: var(--cart-overlay-backdrop-filter);
|
|
77
|
-
transition:
|
|
78
|
-
opacity var(--cart-transition-duration) var(--cart-transition-timing),
|
|
79
|
-
backdrop-filter var(--cart-transition-duration) var(--cart-transition-timing);
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
// Cart Panel - Sliding content area
|
|
83
|
-
cart-panel {
|
|
84
|
-
position: fixed;
|
|
85
|
-
top: 0;
|
|
86
|
-
right: 0;
|
|
87
|
-
width: var(--cart-panel-width);
|
|
88
|
-
height: 100dvh;
|
|
89
|
-
transform: translateX(100%);
|
|
90
|
-
pointer-events: none;
|
|
91
|
-
z-index: var(--cart-panel-z-index);
|
|
92
|
-
background: var(--cart-panel-background);
|
|
93
|
-
box-shadow: var(--cart-panel-shadow);
|
|
94
|
-
border-radius: var(--cart-panel-border-radius);
|
|
95
|
-
overflow: hidden;
|
|
96
|
-
transition: transform var(--cart-transition-duration) var(--cart-transition-timing);
|
|
97
|
-
|
|
98
|
-
// When explicitly hidden, remove from layout
|
|
99
|
-
&.hidden {
|
|
100
|
-
display: none;
|
|
101
|
-
}
|
|
102
|
-
}
|
|
103
|
-
|
|
104
|
-
// Body scroll lock when cart is open
|
|
105
|
-
body.overflow-hidden {
|
|
106
|
-
overflow: hidden;
|
|
107
|
-
}
|