@getmicdrop/svelte-components 2.0.4 → 2.0.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/dist/components/Alert/Alert.spec.js +170 -170
- package/dist/components/Badges/Badge.spec.js +103 -103
- package/dist/components/BottomSheet/BottomSheet.spec.js +127 -127
- package/dist/components/Breadcrumb/Breadcrumb.spec.js +120 -120
- package/dist/components/Button/Button.spec.js +211 -211
- package/dist/components/Button/ButtonSaveDemo.spec.js +48 -48
- package/dist/components/Calendar/Calendar.spec.js +131 -131
- package/dist/components/Calendar/QuarterView.spec.js +394 -394
- package/dist/components/Card.spec.js +47 -47
- package/dist/components/CropImage/CropImage.spec.js +216 -216
- package/dist/components/DarkModeToggle.spec.js +357 -357
- package/dist/components/ErrorDisplay.spec.js +69 -69
- package/dist/components/FormActions.spec.js +88 -88
- package/dist/components/FormValidationSummary.spec.js +203 -203
- package/dist/components/Icons/Icon.spec.js +175 -175
- package/dist/components/Icons/MoreHori.spec.js +67 -67
- package/dist/components/Icons/WarningIcon.spec.js +30 -30
- package/dist/components/Input/Input.spec.js +573 -573
- package/dist/components/Input/MultiSelect.spec.js +257 -257
- package/dist/components/Input/OTPInput.spec.js +238 -238
- package/dist/components/Input/Select.spec.js +218 -218
- package/dist/components/Layout/BottomNav.spec.js +130 -130
- package/dist/components/Layout/Header.spec.js +203 -203
- package/dist/components/Modal/ConfirmationModal.spec.js +191 -191
- package/dist/components/Modal/Modal.spec.js +95 -95
- package/dist/components/Modal/ModalStateManager.spec.js +100 -100
- package/dist/components/PageLoader.spec.js +54 -54
- package/dist/components/PasswordStrengthIndicator/PasswordStrengthIndicator.spec.js +173 -173
- package/dist/components/PlaceAutocomplete/PlaceAutocomplete.spec.js +300 -300
- package/dist/components/Spinner/Spinner.spec.js +75 -75
- package/dist/components/StatusIndicator/StatusIndicator.spec.js +129 -129
- package/dist/components/Toaster/Toaster.stories.svelte +1 -1
- package/dist/components/Toggle.spec.js +158 -158
- package/dist/components/ValidationError.spec.js +79 -79
- package/dist/components/pages/performers/AvailabilityCalendarModal.spec.js +606 -606
- package/dist/components/pages/performers/AvailabilityCalendarModal.svelte +4 -4
- package/dist/components/pages/performers/ModalShowInfo.spec.js +124 -124
- package/dist/components/pages/performers/ModalShowInfo.svelte +1 -1
- package/dist/components/pages/performers/PageBackButton.spec.js +89 -89
- package/dist/components/pages/performers/SectionHeader.spec.js +75 -75
- package/dist/components/pages/performers/ShowDetails.spec.js +166 -166
- package/dist/components/pages/performers/ShowItemCard.spec.js +793 -793
- package/dist/components/pages/performers/ShowItemCard.svelte +4 -4
- package/dist/components/pages/performers/SwitchOption.spec.js +127 -127
- package/dist/components/pages/performers/VenueInfo.spec.js +167 -167
- package/dist/components/pages/performers/VenueInfo.svelte +1 -1
- package/dist/components/pages/performers/VenueItemCard.spec.js +763 -763
- package/dist/components/pages/performers/VenueItemCard.svelte +4 -4
- package/dist/components/pages/profile/profile-form.spec.js +9 -9
- package/dist/components/pages/settings/tabs/CustomImageDropzone.svelte +3 -3
- package/dist/components/pages/shows/ShowList.spec.js +33 -33
- package/dist/components/pages/shows/TabContent.spec.js +90 -90
- package/dist/components/pages/shows/TabNavigation.spec.js +143 -143
- package/dist/config.js +5 -5
- package/dist/config.spec.js +29 -29
- package/dist/constants/formOptions.js +25 -25
- package/dist/constants/formOptions.spec.js +88 -88
- package/dist/index.js +111 -111
- package/dist/stores/auth.d.ts +9 -0
- package/dist/stores/auth.d.ts.map +1 -0
- package/dist/stores/auth.js +36 -0
- package/dist/stores/auth.spec.d.ts +2 -0
- package/dist/stores/auth.spec.d.ts.map +1 -0
- package/dist/stores/auth.spec.js +139 -0
- package/dist/stores/formDataStore.d.ts +17 -0
- package/dist/stores/formDataStore.d.ts.map +1 -0
- package/dist/stores/formDataStore.js +25 -0
- package/dist/stores/formDataStore.spec.d.ts +2 -0
- package/dist/stores/formDataStore.spec.d.ts.map +1 -0
- package/dist/stores/formDataStore.spec.js +257 -0
- package/dist/stores/formSave.d.ts +24 -0
- package/dist/stores/formSave.d.ts.map +1 -0
- package/dist/stores/formSave.js +132 -0
- package/dist/stores/formSave.spec.d.ts +2 -0
- package/dist/stores/formSave.spec.d.ts.map +1 -0
- package/dist/stores/formSave.spec.js +296 -0
- package/dist/stores/index.d.ts +1 -0
- package/dist/stores/index.d.ts.map +1 -0
- package/dist/stores/index.js +0 -0
- package/dist/stores/navigation.d.ts +5 -0
- package/dist/stores/navigation.d.ts.map +1 -0
- package/dist/stores/navigation.js +12 -0
- package/dist/stores/navigation.spec.d.ts +2 -0
- package/dist/stores/navigation.spec.d.ts.map +1 -0
- package/dist/stores/navigation.spec.js +136 -0
- package/dist/stores/toaster.d.ts +4 -0
- package/dist/stores/toaster.d.ts.map +1 -0
- package/dist/stores/toaster.js +13 -0
- package/dist/stores/toaster.spec.d.ts +2 -0
- package/dist/stores/toaster.spec.d.ts.map +1 -0
- package/dist/stores/toaster.spec.js +59 -0
- package/dist/telemetry.js +357 -357
- package/dist/telemetry.server.js +211 -211
- package/dist/telemetry.server.spec.js +434 -434
- package/dist/telemetry.spec.js +660 -660
- package/dist/utils/apiConfig.js +49 -49
- package/dist/utils/apiConfig.spec.js +118 -118
- package/dist/utils/greetings.js +187 -187
- package/dist/utils/greetings.spec.js +337 -337
- package/dist/utils/imageValidation.js +121 -121
- package/dist/utils/imageValidation.spec.js +220 -220
- package/dist/utils/portal.js +25 -25
- package/dist/utils/portal.spec.js +143 -143
- package/dist/utils/utils/utils.js +323 -323
- package/dist/utils/utils/utils.spec.js +698 -698
- package/dist/utils/utils.spec.js +643 -643
- package/package.json +1 -1
|
@@ -1,143 +1,143 @@
|
|
|
1
|
-
import { describe, it, expect, vi, beforeEach, afterEach } from 'vitest';
|
|
2
|
-
import { portal } from './portal';
|
|
3
|
-
|
|
4
|
-
describe('portal', () => {
|
|
5
|
-
let node;
|
|
6
|
-
let target;
|
|
7
|
-
|
|
8
|
-
beforeEach(() => {
|
|
9
|
-
// Create mock nodes
|
|
10
|
-
node = document.createElement('div');
|
|
11
|
-
node.textContent = 'Portal Content';
|
|
12
|
-
target = document.createElement('div');
|
|
13
|
-
target.id = 'portal-target';
|
|
14
|
-
document.body.appendChild(target);
|
|
15
|
-
});
|
|
16
|
-
|
|
17
|
-
afterEach(() => {
|
|
18
|
-
// Clean up
|
|
19
|
-
if (target.parentNode) {
|
|
20
|
-
target.parentNode.removeChild(target);
|
|
21
|
-
}
|
|
22
|
-
if (node.parentNode) {
|
|
23
|
-
node.parentNode.removeChild(node);
|
|
24
|
-
}
|
|
25
|
-
});
|
|
26
|
-
|
|
27
|
-
describe('initial portal', () => {
|
|
28
|
-
it('appends node to document.body by default', () => {
|
|
29
|
-
portal(node);
|
|
30
|
-
expect(node.parentNode).toBe(document.body);
|
|
31
|
-
});
|
|
32
|
-
|
|
33
|
-
it('appends node to specified target', () => {
|
|
34
|
-
portal(node, target);
|
|
35
|
-
expect(node.parentNode).toBe(target);
|
|
36
|
-
});
|
|
37
|
-
|
|
38
|
-
it('returns an object with update and destroy methods', () => {
|
|
39
|
-
const result = portal(node);
|
|
40
|
-
expect(result).toHaveProperty('update');
|
|
41
|
-
expect(result).toHaveProperty('destroy');
|
|
42
|
-
expect(typeof result.update).toBe('function');
|
|
43
|
-
expect(typeof result.destroy).toBe('function');
|
|
44
|
-
});
|
|
45
|
-
});
|
|
46
|
-
|
|
47
|
-
describe('update method', () => {
|
|
48
|
-
it('moves node to new target', () => {
|
|
49
|
-
const newTarget = document.createElement('div');
|
|
50
|
-
document.body.appendChild(newTarget);
|
|
51
|
-
|
|
52
|
-
const { update } = portal(node, target);
|
|
53
|
-
expect(node.parentNode).toBe(target);
|
|
54
|
-
|
|
55
|
-
update(newTarget);
|
|
56
|
-
expect(node.parentNode).toBe(newTarget);
|
|
57
|
-
|
|
58
|
-
// Clean up
|
|
59
|
-
newTarget.parentNode.removeChild(newTarget);
|
|
60
|
-
});
|
|
61
|
-
|
|
62
|
-
it('moves node to document.body when new target is null', () => {
|
|
63
|
-
const { update } = portal(node, target);
|
|
64
|
-
expect(node.parentNode).toBe(target);
|
|
65
|
-
|
|
66
|
-
update(null);
|
|
67
|
-
expect(node.parentNode).toBe(document.body);
|
|
68
|
-
});
|
|
69
|
-
|
|
70
|
-
it('moves node to document.body when new target is undefined', () => {
|
|
71
|
-
const { update } = portal(node, target);
|
|
72
|
-
expect(node.parentNode).toBe(target);
|
|
73
|
-
|
|
74
|
-
update(undefined);
|
|
75
|
-
expect(node.parentNode).toBe(document.body);
|
|
76
|
-
});
|
|
77
|
-
});
|
|
78
|
-
|
|
79
|
-
describe('destroy method', () => {
|
|
80
|
-
it('removes node from parent', () => {
|
|
81
|
-
const { destroy } = portal(node, target);
|
|
82
|
-
expect(node.parentNode).toBe(target);
|
|
83
|
-
|
|
84
|
-
destroy();
|
|
85
|
-
expect(node.parentNode).toBe(null);
|
|
86
|
-
});
|
|
87
|
-
|
|
88
|
-
it('handles node already removed', () => {
|
|
89
|
-
const { destroy } = portal(node, target);
|
|
90
|
-
|
|
91
|
-
// Manually remove node first
|
|
92
|
-
target.removeChild(node);
|
|
93
|
-
|
|
94
|
-
// Should not throw
|
|
95
|
-
expect(() => destroy()).not.toThrow();
|
|
96
|
-
});
|
|
97
|
-
|
|
98
|
-
it('removes node from document.body', () => {
|
|
99
|
-
const { destroy } = portal(node);
|
|
100
|
-
expect(node.parentNode).toBe(document.body);
|
|
101
|
-
|
|
102
|
-
destroy();
|
|
103
|
-
expect(node.parentNode).toBe(null);
|
|
104
|
-
});
|
|
105
|
-
});
|
|
106
|
-
|
|
107
|
-
describe('real-world usage scenarios', () => {
|
|
108
|
-
it('can portal modal content outside stacking context', () => {
|
|
109
|
-
// Create a stacking context
|
|
110
|
-
const stackingContext = document.createElement('div');
|
|
111
|
-
stackingContext.style.position = 'relative';
|
|
112
|
-
stackingContext.style.zIndex = '1';
|
|
113
|
-
document.body.appendChild(stackingContext);
|
|
114
|
-
|
|
115
|
-
// Create modal inside stacking context
|
|
116
|
-
const modal = document.createElement('div');
|
|
117
|
-
modal.className = 'modal';
|
|
118
|
-
stackingContext.appendChild(modal);
|
|
119
|
-
|
|
120
|
-
// Portal should move it to body
|
|
121
|
-
portal(modal);
|
|
122
|
-
expect(modal.parentNode).toBe(document.body);
|
|
123
|
-
|
|
124
|
-
// Clean up
|
|
125
|
-
stackingContext.parentNode.removeChild(stackingContext);
|
|
126
|
-
});
|
|
127
|
-
|
|
128
|
-
it('works with multiple portals', () => {
|
|
129
|
-
const node1 = document.createElement('div');
|
|
130
|
-
const node2 = document.createElement('div');
|
|
131
|
-
|
|
132
|
-
portal(node1);
|
|
133
|
-
portal(node2);
|
|
134
|
-
|
|
135
|
-
expect(node1.parentNode).toBe(document.body);
|
|
136
|
-
expect(node2.parentNode).toBe(document.body);
|
|
137
|
-
|
|
138
|
-
// Clean up
|
|
139
|
-
document.body.removeChild(node1);
|
|
140
|
-
document.body.removeChild(node2);
|
|
141
|
-
});
|
|
142
|
-
});
|
|
143
|
-
});
|
|
1
|
+
import { describe, it, expect, vi, beforeEach, afterEach } from 'vitest';
|
|
2
|
+
import { portal } from './portal';
|
|
3
|
+
|
|
4
|
+
describe('portal', () => {
|
|
5
|
+
let node;
|
|
6
|
+
let target;
|
|
7
|
+
|
|
8
|
+
beforeEach(() => {
|
|
9
|
+
// Create mock nodes
|
|
10
|
+
node = document.createElement('div');
|
|
11
|
+
node.textContent = 'Portal Content';
|
|
12
|
+
target = document.createElement('div');
|
|
13
|
+
target.id = 'portal-target';
|
|
14
|
+
document.body.appendChild(target);
|
|
15
|
+
});
|
|
16
|
+
|
|
17
|
+
afterEach(() => {
|
|
18
|
+
// Clean up
|
|
19
|
+
if (target.parentNode) {
|
|
20
|
+
target.parentNode.removeChild(target);
|
|
21
|
+
}
|
|
22
|
+
if (node.parentNode) {
|
|
23
|
+
node.parentNode.removeChild(node);
|
|
24
|
+
}
|
|
25
|
+
});
|
|
26
|
+
|
|
27
|
+
describe('initial portal', () => {
|
|
28
|
+
it('appends node to document.body by default', () => {
|
|
29
|
+
portal(node);
|
|
30
|
+
expect(node.parentNode).toBe(document.body);
|
|
31
|
+
});
|
|
32
|
+
|
|
33
|
+
it('appends node to specified target', () => {
|
|
34
|
+
portal(node, target);
|
|
35
|
+
expect(node.parentNode).toBe(target);
|
|
36
|
+
});
|
|
37
|
+
|
|
38
|
+
it('returns an object with update and destroy methods', () => {
|
|
39
|
+
const result = portal(node);
|
|
40
|
+
expect(result).toHaveProperty('update');
|
|
41
|
+
expect(result).toHaveProperty('destroy');
|
|
42
|
+
expect(typeof result.update).toBe('function');
|
|
43
|
+
expect(typeof result.destroy).toBe('function');
|
|
44
|
+
});
|
|
45
|
+
});
|
|
46
|
+
|
|
47
|
+
describe('update method', () => {
|
|
48
|
+
it('moves node to new target', () => {
|
|
49
|
+
const newTarget = document.createElement('div');
|
|
50
|
+
document.body.appendChild(newTarget);
|
|
51
|
+
|
|
52
|
+
const { update } = portal(node, target);
|
|
53
|
+
expect(node.parentNode).toBe(target);
|
|
54
|
+
|
|
55
|
+
update(newTarget);
|
|
56
|
+
expect(node.parentNode).toBe(newTarget);
|
|
57
|
+
|
|
58
|
+
// Clean up
|
|
59
|
+
newTarget.parentNode.removeChild(newTarget);
|
|
60
|
+
});
|
|
61
|
+
|
|
62
|
+
it('moves node to document.body when new target is null', () => {
|
|
63
|
+
const { update } = portal(node, target);
|
|
64
|
+
expect(node.parentNode).toBe(target);
|
|
65
|
+
|
|
66
|
+
update(null);
|
|
67
|
+
expect(node.parentNode).toBe(document.body);
|
|
68
|
+
});
|
|
69
|
+
|
|
70
|
+
it('moves node to document.body when new target is undefined', () => {
|
|
71
|
+
const { update } = portal(node, target);
|
|
72
|
+
expect(node.parentNode).toBe(target);
|
|
73
|
+
|
|
74
|
+
update(undefined);
|
|
75
|
+
expect(node.parentNode).toBe(document.body);
|
|
76
|
+
});
|
|
77
|
+
});
|
|
78
|
+
|
|
79
|
+
describe('destroy method', () => {
|
|
80
|
+
it('removes node from parent', () => {
|
|
81
|
+
const { destroy } = portal(node, target);
|
|
82
|
+
expect(node.parentNode).toBe(target);
|
|
83
|
+
|
|
84
|
+
destroy();
|
|
85
|
+
expect(node.parentNode).toBe(null);
|
|
86
|
+
});
|
|
87
|
+
|
|
88
|
+
it('handles node already removed', () => {
|
|
89
|
+
const { destroy } = portal(node, target);
|
|
90
|
+
|
|
91
|
+
// Manually remove node first
|
|
92
|
+
target.removeChild(node);
|
|
93
|
+
|
|
94
|
+
// Should not throw
|
|
95
|
+
expect(() => destroy()).not.toThrow();
|
|
96
|
+
});
|
|
97
|
+
|
|
98
|
+
it('removes node from document.body', () => {
|
|
99
|
+
const { destroy } = portal(node);
|
|
100
|
+
expect(node.parentNode).toBe(document.body);
|
|
101
|
+
|
|
102
|
+
destroy();
|
|
103
|
+
expect(node.parentNode).toBe(null);
|
|
104
|
+
});
|
|
105
|
+
});
|
|
106
|
+
|
|
107
|
+
describe('real-world usage scenarios', () => {
|
|
108
|
+
it('can portal modal content outside stacking context', () => {
|
|
109
|
+
// Create a stacking context
|
|
110
|
+
const stackingContext = document.createElement('div');
|
|
111
|
+
stackingContext.style.position = 'relative';
|
|
112
|
+
stackingContext.style.zIndex = '1';
|
|
113
|
+
document.body.appendChild(stackingContext);
|
|
114
|
+
|
|
115
|
+
// Create modal inside stacking context
|
|
116
|
+
const modal = document.createElement('div');
|
|
117
|
+
modal.className = 'modal';
|
|
118
|
+
stackingContext.appendChild(modal);
|
|
119
|
+
|
|
120
|
+
// Portal should move it to body
|
|
121
|
+
portal(modal);
|
|
122
|
+
expect(modal.parentNode).toBe(document.body);
|
|
123
|
+
|
|
124
|
+
// Clean up
|
|
125
|
+
stackingContext.parentNode.removeChild(stackingContext);
|
|
126
|
+
});
|
|
127
|
+
|
|
128
|
+
it('works with multiple portals', () => {
|
|
129
|
+
const node1 = document.createElement('div');
|
|
130
|
+
const node2 = document.createElement('div');
|
|
131
|
+
|
|
132
|
+
portal(node1);
|
|
133
|
+
portal(node2);
|
|
134
|
+
|
|
135
|
+
expect(node1.parentNode).toBe(document.body);
|
|
136
|
+
expect(node2.parentNode).toBe(document.body);
|
|
137
|
+
|
|
138
|
+
// Clean up
|
|
139
|
+
document.body.removeChild(node1);
|
|
140
|
+
document.body.removeChild(node2);
|
|
141
|
+
});
|
|
142
|
+
});
|
|
143
|
+
});
|