ngxsmk-datepicker 2.2.2 → 2.2.6
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 +1317 -1313
- package/docs/API.md +2 -1
- package/docs/COMPATIBILITY.md +2 -1
- package/docs/INTEGRATION.md +702 -701
- package/docs/IONIC_INTEGRATION.md +2 -1
- package/docs/IONIC_TESTING.md +2 -1
- package/docs/LOCALE-GUIDE.md +2 -1
- package/docs/PLUGIN-ARCHITECTURE.md +2 -1
- package/docs/SEO.md +2 -1
- package/docs/SSR-EXAMPLE.md +2 -1
- package/docs/THEME-TOKENS.md +2 -1
- package/docs/TIMEZONE.md +2 -1
- package/docs/extension-points.md +2 -1
- package/docs/signal-forms.md +2 -1
- package/docs/signals.md +2 -1
- package/docs/ssr.md +2 -1
- package/package.json +85 -92
- package/styles/ionic-integration.css +220 -220
- package/fesm2022/ngxsmk-datepicker.mjs +0 -14153
- package/types/ngxsmk-datepicker.d.ts +0 -2412
|
@@ -1,220 +1,220 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Ionic Framework Integration Styles
|
|
3
|
-
*
|
|
4
|
-
* This file contains CSS fixes and overrides to ensure ngxsmk-datepicker
|
|
5
|
-
* works correctly with Ionic Angular applications.
|
|
6
|
-
*
|
|
7
|
-
* Import this file in your global styles or Ionic app stylesheet:
|
|
8
|
-
* @import 'ngxsmk-datepicker/styles/ionic-integration.css';
|
|
9
|
-
*/
|
|
10
|
-
|
|
11
|
-
/* ============================================
|
|
12
|
-
1. Z-INDEX CONFLICTS FIX
|
|
13
|
-
============================================ */
|
|
14
|
-
|
|
15
|
-
/* Default z-index for Ionic compatibility */
|
|
16
|
-
ion-app ngxsmk-datepicker {
|
|
17
|
-
--datepicker-z-index-base: 10001;
|
|
18
|
-
/* Below ion-alert (20001), above ion-popover (10000) */
|
|
19
|
-
--datepicker-z-index-backdrop: 10000;
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
/* When inside ion-modal, use higher z-index */
|
|
23
|
-
ion-modal ngxsmk-datepicker {
|
|
24
|
-
--datepicker-z-index-base: 20001;
|
|
25
|
-
/* Above modal backdrop (20000) */
|
|
26
|
-
--datepicker-z-index-backdrop: 20000;
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
/* When inside ion-popover, use appropriate z-index */
|
|
30
|
-
ion-popover ngxsmk-datepicker {
|
|
31
|
-
--datepicker-z-index-base: 10001;
|
|
32
|
-
/* Above popover (10000) */
|
|
33
|
-
--datepicker-z-index-backdrop: 10000;
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
/* ============================================
|
|
37
|
-
2. BODY SCROLL LOCK DISABLE
|
|
38
|
-
============================================ */
|
|
39
|
-
|
|
40
|
-
/* Disable body scroll lock in Ionic apps */
|
|
41
|
-
ion-app body:has(.ngxsmk-datepicker-wrapper.ngxsmk-calendar-open:not(.ngxsmk-inline-mode)),
|
|
42
|
-
ion-app html:has(.ngxsmk-datepicker-wrapper.ngxsmk-calendar-open:not(.ngxsmk-inline-mode)) {
|
|
43
|
-
overflow: auto !important;
|
|
44
|
-
position: static !important;
|
|
45
|
-
width: auto !important;
|
|
46
|
-
height: auto !important;
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
/* Use Ionic's scroll lock instead */
|
|
50
|
-
ion-content:has(.ngxsmk-datepicker-wrapper.ngxsmk-calendar-open:not(.ngxsmk-inline-mode)) {
|
|
51
|
-
--overflow: hidden;
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
/* ============================================
|
|
55
|
-
3. POSITIONING IN ION-CONTENT
|
|
56
|
-
============================================ */
|
|
57
|
-
|
|
58
|
-
/* Fix positioning when inside ion-content */
|
|
59
|
-
ion-content .ngxsmk-popover-container.ngxsmk-popover-open:not(.ngxsmk-inline-container) {
|
|
60
|
-
/* Use absolute positioning relative to ion-content */
|
|
61
|
-
position: absolute !important;
|
|
62
|
-
/* Position will be calculated by JavaScript or use inline mode */
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
/* Alternative: Use inline mode in ion-content (recommended) */
|
|
66
|
-
|
|
67
|
-
/* ============================================
|
|
68
|
-
4. SAFE AREA INSETS (iOS)
|
|
69
|
-
============================================ */
|
|
70
|
-
|
|
71
|
-
/* Bottom sheet with safe area insets */
|
|
72
|
-
.ngxsmk-popover-container.ngxsmk-popover-open.ngxsmk-bottom-sheet:not(.ngxsmk-inline-container) {
|
|
73
|
-
padding-bottom: env(safe-area-inset-bottom) !important;
|
|
74
|
-
max-height: calc(90vh - env(safe-area-inset-bottom)) !important;
|
|
75
|
-
max-height: calc(90dvh - env(safe-area-inset-bottom)) !important;
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
/* Fullscreen with safe area insets */
|
|
79
|
-
.ngxsmk-popover-container.ngxsmk-popover-open.ngxsmk-fullscreen:not(.ngxsmk-inline-container) {
|
|
80
|
-
padding-top: env(safe-area-inset-top) !important;
|
|
81
|
-
padding-bottom: env(safe-area-inset-bottom) !important;
|
|
82
|
-
height: calc(100vh - env(safe-area-inset-top) - env(safe-area-inset-bottom)) !important;
|
|
83
|
-
height: calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom)) !important;
|
|
84
|
-
}
|
|
85
|
-
|
|
86
|
-
/* ============================================
|
|
87
|
-
5. CSS VARIABLE MAPPING (Ionic Theming)
|
|
88
|
-
============================================ */
|
|
89
|
-
|
|
90
|
-
/* Map Ionic theme variables to datepicker variables */
|
|
91
|
-
ion-app ngxsmk-datepicker {
|
|
92
|
-
--datepicker-primary-color: var(--ion-color-primary, #6d28d9);
|
|
93
|
-
--datepicker-primary-contrast: var(--ion-color-primary-contrast, #ffffff);
|
|
94
|
-
--datepicker-background: var(--ion-background-color, #ffffff);
|
|
95
|
-
--datepicker-text-color: var(--ion-text-color, #1f2937);
|
|
96
|
-
--datepicker-subtle-text-color: var(--ion-text-color-step-400, #6b7280);
|
|
97
|
-
--datepicker-border-color: var(--ion-border-color, #e5e7eb);
|
|
98
|
-
--datepicker-hover-background: var(--ion-color-light, #f3f4f6);
|
|
99
|
-
--datepicker-range-background: var(--ion-color-primary-tint, #f5f3ff);
|
|
100
|
-
}
|
|
101
|
-
|
|
102
|
-
/* Dark theme mapping */
|
|
103
|
-
ion-app.ion-theme-dark ngxsmk-datepicker {
|
|
104
|
-
--datepicker-background: var(--ion-background-color, #1f2937);
|
|
105
|
-
--datepicker-text-color: var(--ion-text-color, #f3f4f6);
|
|
106
|
-
--datepicker-subtle-text-color: var(--ion-text-color-step-400, #9ca3af);
|
|
107
|
-
--datepicker-border-color: var(--ion-border-color, #374151);
|
|
108
|
-
--datepicker-hover-background: var(--ion-color-step-100, #374151);
|
|
109
|
-
--datepicker-range-background: rgba(var(--ion-color-primary-rgb), 0.15);
|
|
110
|
-
}
|
|
111
|
-
|
|
112
|
-
/* ============================================
|
|
113
|
-
6. TOUCH GESTURE COMPATIBILITY
|
|
114
|
-
============================================ */
|
|
115
|
-
|
|
116
|
-
/* Allow Ionic gestures to work when datepicker is in inline mode */
|
|
117
|
-
|
|
118
|
-
/* Prevent touch event conflicts in popover mode */
|
|
119
|
-
.ngxsmk-popover-container.ngxsmk-popover-open:not(.ngxsmk-inline-container) {
|
|
120
|
-
/* Ionic gestures may be blocked - use inline mode instead */
|
|
121
|
-
touch-action: pan-y;
|
|
122
|
-
/* Allow vertical scrolling */
|
|
123
|
-
}
|
|
124
|
-
|
|
125
|
-
/* ============================================
|
|
126
|
-
7. FOCUS MANAGEMENT
|
|
127
|
-
============================================ */
|
|
128
|
-
|
|
129
|
-
/* When inside ion-modal, let Ionic handle focus */
|
|
130
|
-
|
|
131
|
-
/* ============================================
|
|
132
|
-
8. KEYBOARD BEHAVIOR
|
|
133
|
-
============================================ */
|
|
134
|
-
|
|
135
|
-
/* Prevent keyboard from covering datepicker on iOS */
|
|
136
|
-
@supports (-webkit-touch-callout: none) {
|
|
137
|
-
/* iOS Safari */
|
|
138
|
-
.ngxsmk-popover-container.ngxsmk-popover-open:not(.ngxsmk-inline-container) {
|
|
139
|
-
/* Adjust position when keyboard is visible */
|
|
140
|
-
max-height: calc(100dvh - env(keyboard-inset-height, 0px)) !important;
|
|
141
|
-
}
|
|
142
|
-
}
|
|
143
|
-
|
|
144
|
-
/* ============================================
|
|
145
|
-
9. SHADOW DOM SUPPORT
|
|
146
|
-
============================================ */
|
|
147
|
-
|
|
148
|
-
/* Ensure variables cascade into Shadow DOM */
|
|
149
|
-
|
|
150
|
-
/* Global variables for Shadow DOM */
|
|
151
|
-
:root {
|
|
152
|
-
--datepicker-primary-color: var(--ion-color-primary, #6d28d9);
|
|
153
|
-
--datepicker-background: var(--ion-background-color, #ffffff);
|
|
154
|
-
--datepicker-text-color: var(--ion-text-color, #1f2937);
|
|
155
|
-
}
|
|
156
|
-
|
|
157
|
-
/* ============================================
|
|
158
|
-
10. ION-ITEM INTEGRATION
|
|
159
|
-
============================================ */
|
|
160
|
-
|
|
161
|
-
/* Better integration with ion-item */
|
|
162
|
-
ion-item ngxsmk-datepicker {
|
|
163
|
-
--padding-start: 0;
|
|
164
|
-
--padding-end: 0;
|
|
165
|
-
--inner-padding-end: 0;
|
|
166
|
-
}
|
|
167
|
-
|
|
168
|
-
ion-item ngxsmk-datepicker .ngxsmk-input-group {
|
|
169
|
-
width: 100%;
|
|
170
|
-
border: none;
|
|
171
|
-
background: transparent;
|
|
172
|
-
}
|
|
173
|
-
|
|
174
|
-
/* ============================================
|
|
175
|
-
11. RESPONSIVE BEHAVIOR
|
|
176
|
-
============================================ */
|
|
177
|
-
|
|
178
|
-
/* On mobile, prefer inline mode in Ionic */
|
|
179
|
-
|
|
180
|
-
/* ============================================
|
|
181
|
-
12. CAPACITOR SPECIFIC
|
|
182
|
-
============================================ */
|
|
183
|
-
|
|
184
|
-
/* Capacitor status bar spacing */
|
|
185
|
-
@supports (padding-top: env(safe-area-inset-top)) {
|
|
186
|
-
.ngxsmk-popover-container.ngxsmk-popover-open.ngxsmk-fullscreen:not(.ngxsmk-inline-container) {
|
|
187
|
-
padding-top: calc(env(safe-area-inset-top) + var(--ion-safe-area-top, 0px)) !important;
|
|
188
|
-
}
|
|
189
|
-
}
|
|
190
|
-
|
|
191
|
-
/* ============================================
|
|
192
|
-
13. POSITIONING FIXES (Mobile)
|
|
193
|
-
============================================ */
|
|
194
|
-
|
|
195
|
-
/* Bottom Sheet Positioning */
|
|
196
|
-
.ngxsmk-popover-container.ngxsmk-popover-open.ngxsmk-bottom-sheet:not(.ngxsmk-inline-container) {
|
|
197
|
-
top: auto !important;
|
|
198
|
-
left: 0 !important;
|
|
199
|
-
right: 0 !important;
|
|
200
|
-
bottom: 0 !important;
|
|
201
|
-
transform: none !important;
|
|
202
|
-
width: 100% !important;
|
|
203
|
-
max-width: 100% !important;
|
|
204
|
-
border-radius: 20px 20px 0 0 !important;
|
|
205
|
-
margin: 0 !important;
|
|
206
|
-
}
|
|
207
|
-
|
|
208
|
-
/* Fullscreen Positioning */
|
|
209
|
-
.ngxsmk-popover-container.ngxsmk-popover-open.ngxsmk-fullscreen:not(.ngxsmk-inline-container) {
|
|
210
|
-
top: 0 !important;
|
|
211
|
-
left: 0 !important;
|
|
212
|
-
right: 0 !important;
|
|
213
|
-
bottom: 0 !important;
|
|
214
|
-
transform: none !important;
|
|
215
|
-
width: 100% !important;
|
|
216
|
-
height: 100% !important;
|
|
217
|
-
max-width: 100% !important;
|
|
218
|
-
border-radius: 0 !important;
|
|
219
|
-
margin: 0 !important;
|
|
220
|
-
}
|
|
1
|
+
/**
|
|
2
|
+
* Ionic Framework Integration Styles
|
|
3
|
+
*
|
|
4
|
+
* This file contains CSS fixes and overrides to ensure ngxsmk-datepicker
|
|
5
|
+
* works correctly with Ionic Angular applications.
|
|
6
|
+
*
|
|
7
|
+
* Import this file in your global styles or Ionic app stylesheet:
|
|
8
|
+
* @import 'ngxsmk-datepicker/styles/ionic-integration.css';
|
|
9
|
+
*/
|
|
10
|
+
|
|
11
|
+
/* ============================================
|
|
12
|
+
1. Z-INDEX CONFLICTS FIX
|
|
13
|
+
============================================ */
|
|
14
|
+
|
|
15
|
+
/* Default z-index for Ionic compatibility */
|
|
16
|
+
ion-app ngxsmk-datepicker {
|
|
17
|
+
--datepicker-z-index-base: 10001;
|
|
18
|
+
/* Below ion-alert (20001), above ion-popover (10000) */
|
|
19
|
+
--datepicker-z-index-backdrop: 10000;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
/* When inside ion-modal, use higher z-index */
|
|
23
|
+
ion-modal ngxsmk-datepicker {
|
|
24
|
+
--datepicker-z-index-base: 20001;
|
|
25
|
+
/* Above modal backdrop (20000) */
|
|
26
|
+
--datepicker-z-index-backdrop: 20000;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
/* When inside ion-popover, use appropriate z-index */
|
|
30
|
+
ion-popover ngxsmk-datepicker {
|
|
31
|
+
--datepicker-z-index-base: 10001;
|
|
32
|
+
/* Above popover (10000) */
|
|
33
|
+
--datepicker-z-index-backdrop: 10000;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
/* ============================================
|
|
37
|
+
2. BODY SCROLL LOCK DISABLE
|
|
38
|
+
============================================ */
|
|
39
|
+
|
|
40
|
+
/* Disable body scroll lock in Ionic apps */
|
|
41
|
+
ion-app body:has(.ngxsmk-datepicker-wrapper.ngxsmk-calendar-open:not(.ngxsmk-inline-mode)),
|
|
42
|
+
ion-app html:has(.ngxsmk-datepicker-wrapper.ngxsmk-calendar-open:not(.ngxsmk-inline-mode)) {
|
|
43
|
+
overflow: auto !important;
|
|
44
|
+
position: static !important;
|
|
45
|
+
width: auto !important;
|
|
46
|
+
height: auto !important;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
/* Use Ionic's scroll lock instead */
|
|
50
|
+
ion-content:has(.ngxsmk-datepicker-wrapper.ngxsmk-calendar-open:not(.ngxsmk-inline-mode)) {
|
|
51
|
+
--overflow: hidden;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
/* ============================================
|
|
55
|
+
3. POSITIONING IN ION-CONTENT
|
|
56
|
+
============================================ */
|
|
57
|
+
|
|
58
|
+
/* Fix positioning when inside ion-content */
|
|
59
|
+
ion-content .ngxsmk-popover-container.ngxsmk-popover-open:not(.ngxsmk-inline-container) {
|
|
60
|
+
/* Use absolute positioning relative to ion-content */
|
|
61
|
+
position: absolute !important;
|
|
62
|
+
/* Position will be calculated by JavaScript or use inline mode */
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
/* Alternative: Use inline mode in ion-content (recommended) */
|
|
66
|
+
|
|
67
|
+
/* ============================================
|
|
68
|
+
4. SAFE AREA INSETS (iOS)
|
|
69
|
+
============================================ */
|
|
70
|
+
|
|
71
|
+
/* Bottom sheet with safe area insets */
|
|
72
|
+
.ngxsmk-popover-container.ngxsmk-popover-open.ngxsmk-bottom-sheet:not(.ngxsmk-inline-container) {
|
|
73
|
+
padding-bottom: env(safe-area-inset-bottom) !important;
|
|
74
|
+
max-height: calc(90vh - env(safe-area-inset-bottom)) !important;
|
|
75
|
+
max-height: calc(90dvh - env(safe-area-inset-bottom)) !important;
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
/* Fullscreen with safe area insets */
|
|
79
|
+
.ngxsmk-popover-container.ngxsmk-popover-open.ngxsmk-fullscreen:not(.ngxsmk-inline-container) {
|
|
80
|
+
padding-top: env(safe-area-inset-top) !important;
|
|
81
|
+
padding-bottom: env(safe-area-inset-bottom) !important;
|
|
82
|
+
height: calc(100vh - env(safe-area-inset-top) - env(safe-area-inset-bottom)) !important;
|
|
83
|
+
height: calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom)) !important;
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
/* ============================================
|
|
87
|
+
5. CSS VARIABLE MAPPING (Ionic Theming)
|
|
88
|
+
============================================ */
|
|
89
|
+
|
|
90
|
+
/* Map Ionic theme variables to datepicker variables */
|
|
91
|
+
ion-app ngxsmk-datepicker {
|
|
92
|
+
--datepicker-primary-color: var(--ion-color-primary, #6d28d9);
|
|
93
|
+
--datepicker-primary-contrast: var(--ion-color-primary-contrast, #ffffff);
|
|
94
|
+
--datepicker-background: var(--ion-background-color, #ffffff);
|
|
95
|
+
--datepicker-text-color: var(--ion-text-color, #1f2937);
|
|
96
|
+
--datepicker-subtle-text-color: var(--ion-text-color-step-400, #6b7280);
|
|
97
|
+
--datepicker-border-color: var(--ion-border-color, #e5e7eb);
|
|
98
|
+
--datepicker-hover-background: var(--ion-color-light, #f3f4f6);
|
|
99
|
+
--datepicker-range-background: var(--ion-color-primary-tint, #f5f3ff);
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
/* Dark theme mapping */
|
|
103
|
+
ion-app.ion-theme-dark ngxsmk-datepicker {
|
|
104
|
+
--datepicker-background: var(--ion-background-color, #1f2937);
|
|
105
|
+
--datepicker-text-color: var(--ion-text-color, #f3f4f6);
|
|
106
|
+
--datepicker-subtle-text-color: var(--ion-text-color-step-400, #9ca3af);
|
|
107
|
+
--datepicker-border-color: var(--ion-border-color, #374151);
|
|
108
|
+
--datepicker-hover-background: var(--ion-color-step-100, #374151);
|
|
109
|
+
--datepicker-range-background: rgba(var(--ion-color-primary-rgb), 0.15);
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
/* ============================================
|
|
113
|
+
6. TOUCH GESTURE COMPATIBILITY
|
|
114
|
+
============================================ */
|
|
115
|
+
|
|
116
|
+
/* Allow Ionic gestures to work when datepicker is in inline mode */
|
|
117
|
+
|
|
118
|
+
/* Prevent touch event conflicts in popover mode */
|
|
119
|
+
.ngxsmk-popover-container.ngxsmk-popover-open:not(.ngxsmk-inline-container) {
|
|
120
|
+
/* Ionic gestures may be blocked - use inline mode instead */
|
|
121
|
+
touch-action: pan-y;
|
|
122
|
+
/* Allow vertical scrolling */
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
/* ============================================
|
|
126
|
+
7. FOCUS MANAGEMENT
|
|
127
|
+
============================================ */
|
|
128
|
+
|
|
129
|
+
/* When inside ion-modal, let Ionic handle focus */
|
|
130
|
+
|
|
131
|
+
/* ============================================
|
|
132
|
+
8. KEYBOARD BEHAVIOR
|
|
133
|
+
============================================ */
|
|
134
|
+
|
|
135
|
+
/* Prevent keyboard from covering datepicker on iOS */
|
|
136
|
+
@supports (-webkit-touch-callout: none) {
|
|
137
|
+
/* iOS Safari */
|
|
138
|
+
.ngxsmk-popover-container.ngxsmk-popover-open:not(.ngxsmk-inline-container) {
|
|
139
|
+
/* Adjust position when keyboard is visible */
|
|
140
|
+
max-height: calc(100dvh - env(keyboard-inset-height, 0px)) !important;
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
/* ============================================
|
|
145
|
+
9. SHADOW DOM SUPPORT
|
|
146
|
+
============================================ */
|
|
147
|
+
|
|
148
|
+
/* Ensure variables cascade into Shadow DOM */
|
|
149
|
+
|
|
150
|
+
/* Global variables for Shadow DOM */
|
|
151
|
+
:root {
|
|
152
|
+
--datepicker-primary-color: var(--ion-color-primary, #6d28d9);
|
|
153
|
+
--datepicker-background: var(--ion-background-color, #ffffff);
|
|
154
|
+
--datepicker-text-color: var(--ion-text-color, #1f2937);
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
/* ============================================
|
|
158
|
+
10. ION-ITEM INTEGRATION
|
|
159
|
+
============================================ */
|
|
160
|
+
|
|
161
|
+
/* Better integration with ion-item */
|
|
162
|
+
ion-item ngxsmk-datepicker {
|
|
163
|
+
--padding-start: 0;
|
|
164
|
+
--padding-end: 0;
|
|
165
|
+
--inner-padding-end: 0;
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
ion-item ngxsmk-datepicker .ngxsmk-input-group {
|
|
169
|
+
width: 100%;
|
|
170
|
+
border: none;
|
|
171
|
+
background: transparent;
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
/* ============================================
|
|
175
|
+
11. RESPONSIVE BEHAVIOR
|
|
176
|
+
============================================ */
|
|
177
|
+
|
|
178
|
+
/* On mobile, prefer inline mode in Ionic */
|
|
179
|
+
|
|
180
|
+
/* ============================================
|
|
181
|
+
12. CAPACITOR SPECIFIC
|
|
182
|
+
============================================ */
|
|
183
|
+
|
|
184
|
+
/* Capacitor status bar spacing */
|
|
185
|
+
@supports (padding-top: env(safe-area-inset-top)) {
|
|
186
|
+
.ngxsmk-popover-container.ngxsmk-popover-open.ngxsmk-fullscreen:not(.ngxsmk-inline-container) {
|
|
187
|
+
padding-top: calc(env(safe-area-inset-top) + var(--ion-safe-area-top, 0px)) !important;
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
|
|
191
|
+
/* ============================================
|
|
192
|
+
13. POSITIONING FIXES (Mobile)
|
|
193
|
+
============================================ */
|
|
194
|
+
|
|
195
|
+
/* Bottom Sheet Positioning */
|
|
196
|
+
.ngxsmk-popover-container.ngxsmk-popover-open.ngxsmk-bottom-sheet:not(.ngxsmk-inline-container) {
|
|
197
|
+
top: auto !important;
|
|
198
|
+
left: 0 !important;
|
|
199
|
+
right: 0 !important;
|
|
200
|
+
bottom: 0 !important;
|
|
201
|
+
transform: none !important;
|
|
202
|
+
width: 100% !important;
|
|
203
|
+
max-width: 100% !important;
|
|
204
|
+
border-radius: 20px 20px 0 0 !important;
|
|
205
|
+
margin: 0 !important;
|
|
206
|
+
}
|
|
207
|
+
|
|
208
|
+
/* Fullscreen Positioning */
|
|
209
|
+
.ngxsmk-popover-container.ngxsmk-popover-open.ngxsmk-fullscreen:not(.ngxsmk-inline-container) {
|
|
210
|
+
top: 0 !important;
|
|
211
|
+
left: 0 !important;
|
|
212
|
+
right: 0 !important;
|
|
213
|
+
bottom: 0 !important;
|
|
214
|
+
transform: none !important;
|
|
215
|
+
width: 100% !important;
|
|
216
|
+
height: 100% !important;
|
|
217
|
+
max-width: 100% !important;
|
|
218
|
+
border-radius: 0 !important;
|
|
219
|
+
margin: 0 !important;
|
|
220
|
+
}
|