@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.
Files changed (107) hide show
  1. package/dist/components/Alert/Alert.spec.js +170 -170
  2. package/dist/components/Badges/Badge.spec.js +103 -103
  3. package/dist/components/BottomSheet/BottomSheet.spec.js +127 -127
  4. package/dist/components/Breadcrumb/Breadcrumb.spec.js +120 -120
  5. package/dist/components/Button/Button.spec.js +211 -211
  6. package/dist/components/Button/ButtonSaveDemo.spec.js +48 -48
  7. package/dist/components/Calendar/Calendar.spec.js +131 -131
  8. package/dist/components/Calendar/QuarterView.spec.js +394 -394
  9. package/dist/components/Card.spec.js +47 -47
  10. package/dist/components/CropImage/CropImage.spec.js +216 -216
  11. package/dist/components/DarkModeToggle.spec.js +357 -357
  12. package/dist/components/ErrorDisplay.spec.js +69 -69
  13. package/dist/components/FormActions.spec.js +88 -88
  14. package/dist/components/FormValidationSummary.spec.js +203 -203
  15. package/dist/components/Icons/Icon.spec.js +175 -175
  16. package/dist/components/Icons/MoreHori.spec.js +67 -67
  17. package/dist/components/Icons/WarningIcon.spec.js +30 -30
  18. package/dist/components/Input/Input.spec.js +573 -573
  19. package/dist/components/Input/MultiSelect.spec.js +257 -257
  20. package/dist/components/Input/OTPInput.spec.js +238 -238
  21. package/dist/components/Input/Select.spec.js +218 -218
  22. package/dist/components/Layout/BottomNav.spec.js +130 -130
  23. package/dist/components/Layout/Header.spec.js +203 -203
  24. package/dist/components/Modal/ConfirmationModal.spec.js +191 -191
  25. package/dist/components/Modal/Modal.spec.js +95 -95
  26. package/dist/components/Modal/ModalStateManager.spec.js +100 -100
  27. package/dist/components/PageLoader.spec.js +54 -54
  28. package/dist/components/PasswordStrengthIndicator/PasswordStrengthIndicator.spec.js +173 -173
  29. package/dist/components/PlaceAutocomplete/PlaceAutocomplete.spec.js +300 -300
  30. package/dist/components/Spinner/Spinner.spec.js +75 -75
  31. package/dist/components/StatusIndicator/StatusIndicator.spec.js +129 -129
  32. package/dist/components/Toaster/Toaster.stories.svelte +1 -1
  33. package/dist/components/Toggle.spec.js +158 -158
  34. package/dist/components/ValidationError.spec.js +79 -79
  35. package/dist/components/pages/performers/AvailabilityCalendarModal.spec.js +606 -606
  36. package/dist/components/pages/performers/AvailabilityCalendarModal.svelte +4 -4
  37. package/dist/components/pages/performers/ModalShowInfo.spec.js +124 -124
  38. package/dist/components/pages/performers/ModalShowInfo.svelte +1 -1
  39. package/dist/components/pages/performers/PageBackButton.spec.js +89 -89
  40. package/dist/components/pages/performers/SectionHeader.spec.js +75 -75
  41. package/dist/components/pages/performers/ShowDetails.spec.js +166 -166
  42. package/dist/components/pages/performers/ShowItemCard.spec.js +793 -793
  43. package/dist/components/pages/performers/ShowItemCard.svelte +4 -4
  44. package/dist/components/pages/performers/SwitchOption.spec.js +127 -127
  45. package/dist/components/pages/performers/VenueInfo.spec.js +167 -167
  46. package/dist/components/pages/performers/VenueInfo.svelte +1 -1
  47. package/dist/components/pages/performers/VenueItemCard.spec.js +763 -763
  48. package/dist/components/pages/performers/VenueItemCard.svelte +4 -4
  49. package/dist/components/pages/profile/profile-form.spec.js +9 -9
  50. package/dist/components/pages/settings/tabs/CustomImageDropzone.svelte +3 -3
  51. package/dist/components/pages/shows/ShowList.spec.js +33 -33
  52. package/dist/components/pages/shows/TabContent.spec.js +90 -90
  53. package/dist/components/pages/shows/TabNavigation.spec.js +143 -143
  54. package/dist/config.js +5 -5
  55. package/dist/config.spec.js +29 -29
  56. package/dist/constants/formOptions.js +25 -25
  57. package/dist/constants/formOptions.spec.js +88 -88
  58. package/dist/index.js +111 -111
  59. package/dist/stores/auth.d.ts +9 -0
  60. package/dist/stores/auth.d.ts.map +1 -0
  61. package/dist/stores/auth.js +36 -0
  62. package/dist/stores/auth.spec.d.ts +2 -0
  63. package/dist/stores/auth.spec.d.ts.map +1 -0
  64. package/dist/stores/auth.spec.js +139 -0
  65. package/dist/stores/formDataStore.d.ts +17 -0
  66. package/dist/stores/formDataStore.d.ts.map +1 -0
  67. package/dist/stores/formDataStore.js +25 -0
  68. package/dist/stores/formDataStore.spec.d.ts +2 -0
  69. package/dist/stores/formDataStore.spec.d.ts.map +1 -0
  70. package/dist/stores/formDataStore.spec.js +257 -0
  71. package/dist/stores/formSave.d.ts +24 -0
  72. package/dist/stores/formSave.d.ts.map +1 -0
  73. package/dist/stores/formSave.js +132 -0
  74. package/dist/stores/formSave.spec.d.ts +2 -0
  75. package/dist/stores/formSave.spec.d.ts.map +1 -0
  76. package/dist/stores/formSave.spec.js +296 -0
  77. package/dist/stores/index.d.ts +1 -0
  78. package/dist/stores/index.d.ts.map +1 -0
  79. package/dist/stores/index.js +0 -0
  80. package/dist/stores/navigation.d.ts +5 -0
  81. package/dist/stores/navigation.d.ts.map +1 -0
  82. package/dist/stores/navigation.js +12 -0
  83. package/dist/stores/navigation.spec.d.ts +2 -0
  84. package/dist/stores/navigation.spec.d.ts.map +1 -0
  85. package/dist/stores/navigation.spec.js +136 -0
  86. package/dist/stores/toaster.d.ts +4 -0
  87. package/dist/stores/toaster.d.ts.map +1 -0
  88. package/dist/stores/toaster.js +13 -0
  89. package/dist/stores/toaster.spec.d.ts +2 -0
  90. package/dist/stores/toaster.spec.d.ts.map +1 -0
  91. package/dist/stores/toaster.spec.js +59 -0
  92. package/dist/telemetry.js +357 -357
  93. package/dist/telemetry.server.js +211 -211
  94. package/dist/telemetry.server.spec.js +434 -434
  95. package/dist/telemetry.spec.js +660 -660
  96. package/dist/utils/apiConfig.js +49 -49
  97. package/dist/utils/apiConfig.spec.js +118 -118
  98. package/dist/utils/greetings.js +187 -187
  99. package/dist/utils/greetings.spec.js +337 -337
  100. package/dist/utils/imageValidation.js +121 -121
  101. package/dist/utils/imageValidation.spec.js +220 -220
  102. package/dist/utils/portal.js +25 -25
  103. package/dist/utils/portal.spec.js +143 -143
  104. package/dist/utils/utils/utils.js +323 -323
  105. package/dist/utils/utils/utils.spec.js +698 -698
  106. package/dist/utils/utils.spec.js +643 -643
  107. package/package.json +1 -1
@@ -1,75 +1,75 @@
1
- import { render, screen } from "@testing-library/svelte";
2
- import { expect, describe, test } from "vitest";
3
- import Spinner from "./Spinner.svelte";
4
-
5
- describe("Spinner Component Tests", () => {
6
- test("Renders spinner with status role", () => {
7
- render(Spinner);
8
- const status = screen.getByRole("status");
9
- expect(status).toBeInTheDocument();
10
- });
11
-
12
- test("Has loading text for screen readers", () => {
13
- render(Spinner);
14
- expect(screen.getByText("Loading...")).toBeInTheDocument();
15
- });
16
-
17
- test("Loading text is sr-only", () => {
18
- render(Spinner);
19
- const loadingText = screen.getByText("Loading...");
20
- expect(loadingText).toHaveClass("sr-only");
21
- });
22
-
23
- test("Contains SVG element", () => {
24
- const { container } = render(Spinner);
25
- const svg = container.querySelector("svg");
26
- expect(svg).toBeInTheDocument();
27
- });
28
-
29
- test("SVG is hidden from accessibility tree", () => {
30
- const { container } = render(Spinner);
31
- const svg = container.querySelector("svg");
32
- expect(svg).toHaveAttribute("aria-hidden", "true");
33
- });
34
-
35
- test("SVG has animation class", () => {
36
- const { container } = render(Spinner);
37
- const svg = container.querySelector("svg");
38
- expect(svg).toHaveClass("animate-spin");
39
- });
40
-
41
- test("Has flexbox centering classes", () => {
42
- render(Spinner);
43
- const status = screen.getByRole("status");
44
- expect(status).toHaveClass("flex");
45
- expect(status).toHaveClass("flex-col");
46
- expect(status).toHaveClass("justify-center");
47
- expect(status).toHaveClass("items-center");
48
- });
49
-
50
- test("Has correct height", () => {
51
- render(Spinner);
52
- const status = screen.getByRole("status");
53
- expect(status).toHaveClass("h-10");
54
- });
55
-
56
- test("SVG has correct dimensions", () => {
57
- const { container } = render(Spinner);
58
- const svg = container.querySelector("svg");
59
- expect(svg).toHaveClass("w-8");
60
- expect(svg).toHaveClass("h-8");
61
- });
62
-
63
- test("Has dark mode text color classes", () => {
64
- const { container } = render(Spinner);
65
- const svg = container.querySelector("svg");
66
- expect(svg).toHaveClass("text-gray-200");
67
- expect(svg).toHaveClass("dark:text-gray-600");
68
- });
69
-
70
- test("Has blue fill color", () => {
71
- const { container } = render(Spinner);
72
- const svg = container.querySelector("svg");
73
- expect(svg).toHaveClass("fill-blue-600");
74
- });
75
- });
1
+ import { render, screen } from "@testing-library/svelte";
2
+ import { expect, describe, test } from "vitest";
3
+ import Spinner from "./Spinner.svelte";
4
+
5
+ describe("Spinner Component Tests", () => {
6
+ test("Renders spinner with status role", () => {
7
+ render(Spinner);
8
+ const status = screen.getByRole("status");
9
+ expect(status).toBeInTheDocument();
10
+ });
11
+
12
+ test("Has loading text for screen readers", () => {
13
+ render(Spinner);
14
+ expect(screen.getByText("Loading...")).toBeInTheDocument();
15
+ });
16
+
17
+ test("Loading text is sr-only", () => {
18
+ render(Spinner);
19
+ const loadingText = screen.getByText("Loading...");
20
+ expect(loadingText).toHaveClass("sr-only");
21
+ });
22
+
23
+ test("Contains SVG element", () => {
24
+ const { container } = render(Spinner);
25
+ const svg = container.querySelector("svg");
26
+ expect(svg).toBeInTheDocument();
27
+ });
28
+
29
+ test("SVG is hidden from accessibility tree", () => {
30
+ const { container } = render(Spinner);
31
+ const svg = container.querySelector("svg");
32
+ expect(svg).toHaveAttribute("aria-hidden", "true");
33
+ });
34
+
35
+ test("SVG has animation class", () => {
36
+ const { container } = render(Spinner);
37
+ const svg = container.querySelector("svg");
38
+ expect(svg).toHaveClass("animate-spin");
39
+ });
40
+
41
+ test("Has flexbox centering classes", () => {
42
+ render(Spinner);
43
+ const status = screen.getByRole("status");
44
+ expect(status).toHaveClass("flex");
45
+ expect(status).toHaveClass("flex-col");
46
+ expect(status).toHaveClass("justify-center");
47
+ expect(status).toHaveClass("items-center");
48
+ });
49
+
50
+ test("Has correct height", () => {
51
+ render(Spinner);
52
+ const status = screen.getByRole("status");
53
+ expect(status).toHaveClass("h-10");
54
+ });
55
+
56
+ test("SVG has correct dimensions", () => {
57
+ const { container } = render(Spinner);
58
+ const svg = container.querySelector("svg");
59
+ expect(svg).toHaveClass("w-8");
60
+ expect(svg).toHaveClass("h-8");
61
+ });
62
+
63
+ test("Has dark mode text color classes", () => {
64
+ const { container } = render(Spinner);
65
+ const svg = container.querySelector("svg");
66
+ expect(svg).toHaveClass("text-gray-200");
67
+ expect(svg).toHaveClass("dark:text-gray-600");
68
+ });
69
+
70
+ test("Has blue fill color", () => {
71
+ const { container } = render(Spinner);
72
+ const svg = container.querySelector("svg");
73
+ expect(svg).toHaveClass("fill-blue-600");
74
+ });
75
+ });
@@ -1,129 +1,129 @@
1
- import { describe, it, expect } from 'vitest';
2
- import { render, screen } from '@testing-library/svelte';
3
- import StatusIndicator from './StatusIndicator.svelte';
4
-
5
- describe('StatusIndicator', () => {
6
- describe('idle state', () => {
7
- it('renders empty container when status is idle', () => {
8
- const { container } = render(StatusIndicator, { status: 'idle' });
9
- const indicator = container.querySelector('.status-indicator');
10
- expect(indicator).toBeTruthy();
11
- expect(indicator.children.length).toBe(0);
12
- });
13
-
14
- it('uses default status of idle', () => {
15
- const { container } = render(StatusIndicator);
16
- const indicator = container.querySelector('.status-indicator');
17
- expect(indicator.children.length).toBe(0);
18
- });
19
- });
20
-
21
- describe('loading state', () => {
22
- it('renders spinner when status is loading', () => {
23
- const { container } = render(StatusIndicator, { status: 'loading' });
24
- const spinner = container.querySelector('.spinner');
25
- expect(spinner).toBeTruthy();
26
- });
27
-
28
- it('renders spinner SVG with track and head circles', () => {
29
- const { container } = render(StatusIndicator, { status: 'loading' });
30
- const spinner = container.querySelector('.spinner');
31
- expect(spinner.querySelector('svg')).toBeTruthy();
32
- expect(spinner.querySelector('.spinner-track')).toBeTruthy();
33
- expect(spinner.querySelector('.spinner-head')).toBeTruthy();
34
- });
35
-
36
- it('applies size to spinner', () => {
37
- const { container } = render(StatusIndicator, { status: 'loading', size: 64 });
38
- const spinner = container.querySelector('.spinner');
39
- expect(spinner.style.width).toBe('64px');
40
- expect(spinner.style.height).toBe('64px');
41
- });
42
- });
43
-
44
- describe('success state', () => {
45
- it('renders success circle when status is success', () => {
46
- const { container } = render(StatusIndicator, { status: 'success' });
47
- const success = container.querySelector('.success-circle');
48
- expect(success).toBeTruthy();
49
- });
50
-
51
- it('renders success SVG with background and checkmark', () => {
52
- const { container } = render(StatusIndicator, { status: 'success' });
53
- const success = container.querySelector('.success-circle');
54
- expect(success.querySelector('svg')).toBeTruthy();
55
- expect(success.querySelector('.success-bg')).toBeTruthy();
56
- expect(success.querySelector('.checkmark')).toBeTruthy();
57
- });
58
-
59
- it('applies size to success circle', () => {
60
- const { container } = render(StatusIndicator, { status: 'success', size: 32 });
61
- const success = container.querySelector('.success-circle');
62
- expect(success.style.width).toBe('32px');
63
- expect(success.style.height).toBe('32px');
64
- });
65
- });
66
-
67
- describe('error state', () => {
68
- it('renders error circle when status is error', () => {
69
- const { container } = render(StatusIndicator, { status: 'error' });
70
- const error = container.querySelector('.error-circle');
71
- expect(error).toBeTruthy();
72
- });
73
-
74
- it('renders error SVG with background and X lines', () => {
75
- const { container } = render(StatusIndicator, { status: 'error' });
76
- const error = container.querySelector('.error-circle');
77
- expect(error.querySelector('svg')).toBeTruthy();
78
- expect(error.querySelector('.error-bg')).toBeTruthy();
79
- const xLines = error.querySelectorAll('.error-x');
80
- expect(xLines.length).toBe(2);
81
- });
82
-
83
- it('applies size to error circle', () => {
84
- const { container } = render(StatusIndicator, { status: 'error', size: 24 });
85
- const error = container.querySelector('.error-circle');
86
- expect(error.style.width).toBe('24px');
87
- expect(error.style.height).toBe('24px');
88
- });
89
- });
90
-
91
- describe('size prop', () => {
92
- it('uses default size of 48px', () => {
93
- const { container } = render(StatusIndicator, { status: 'loading' });
94
- const indicator = container.querySelector('.status-indicator');
95
- expect(indicator.style.width).toBe('48px');
96
- expect(indicator.style.height).toBe('48px');
97
- });
98
-
99
- it('accepts custom size', () => {
100
- const { container } = render(StatusIndicator, { status: 'loading', size: 100 });
101
- const indicator = container.querySelector('.status-indicator');
102
- expect(indicator.style.width).toBe('100px');
103
- expect(indicator.style.height).toBe('100px');
104
- });
105
- });
106
-
107
- describe('state transitions', () => {
108
- it('only renders one state at a time - loading', () => {
109
- const { container } = render(StatusIndicator, { status: 'loading' });
110
- expect(container.querySelector('.spinner')).toBeTruthy();
111
- expect(container.querySelector('.success-circle')).toBeFalsy();
112
- expect(container.querySelector('.error-circle')).toBeFalsy();
113
- });
114
-
115
- it('only renders one state at a time - success', () => {
116
- const { container } = render(StatusIndicator, { status: 'success' });
117
- expect(container.querySelector('.spinner')).toBeFalsy();
118
- expect(container.querySelector('.success-circle')).toBeTruthy();
119
- expect(container.querySelector('.error-circle')).toBeFalsy();
120
- });
121
-
122
- it('only renders one state at a time - error', () => {
123
- const { container } = render(StatusIndicator, { status: 'error' });
124
- expect(container.querySelector('.spinner')).toBeFalsy();
125
- expect(container.querySelector('.success-circle')).toBeFalsy();
126
- expect(container.querySelector('.error-circle')).toBeTruthy();
127
- });
128
- });
129
- });
1
+ import { describe, it, expect } from 'vitest';
2
+ import { render, screen } from '@testing-library/svelte';
3
+ import StatusIndicator from './StatusIndicator.svelte';
4
+
5
+ describe('StatusIndicator', () => {
6
+ describe('idle state', () => {
7
+ it('renders empty container when status is idle', () => {
8
+ const { container } = render(StatusIndicator, { status: 'idle' });
9
+ const indicator = container.querySelector('.status-indicator');
10
+ expect(indicator).toBeTruthy();
11
+ expect(indicator.children.length).toBe(0);
12
+ });
13
+
14
+ it('uses default status of idle', () => {
15
+ const { container } = render(StatusIndicator);
16
+ const indicator = container.querySelector('.status-indicator');
17
+ expect(indicator.children.length).toBe(0);
18
+ });
19
+ });
20
+
21
+ describe('loading state', () => {
22
+ it('renders spinner when status is loading', () => {
23
+ const { container } = render(StatusIndicator, { status: 'loading' });
24
+ const spinner = container.querySelector('.spinner');
25
+ expect(spinner).toBeTruthy();
26
+ });
27
+
28
+ it('renders spinner SVG with track and head circles', () => {
29
+ const { container } = render(StatusIndicator, { status: 'loading' });
30
+ const spinner = container.querySelector('.spinner');
31
+ expect(spinner.querySelector('svg')).toBeTruthy();
32
+ expect(spinner.querySelector('.spinner-track')).toBeTruthy();
33
+ expect(spinner.querySelector('.spinner-head')).toBeTruthy();
34
+ });
35
+
36
+ it('applies size to spinner', () => {
37
+ const { container } = render(StatusIndicator, { status: 'loading', size: 64 });
38
+ const spinner = container.querySelector('.spinner');
39
+ expect(spinner.style.width).toBe('64px');
40
+ expect(spinner.style.height).toBe('64px');
41
+ });
42
+ });
43
+
44
+ describe('success state', () => {
45
+ it('renders success circle when status is success', () => {
46
+ const { container } = render(StatusIndicator, { status: 'success' });
47
+ const success = container.querySelector('.success-circle');
48
+ expect(success).toBeTruthy();
49
+ });
50
+
51
+ it('renders success SVG with background and checkmark', () => {
52
+ const { container } = render(StatusIndicator, { status: 'success' });
53
+ const success = container.querySelector('.success-circle');
54
+ expect(success.querySelector('svg')).toBeTruthy();
55
+ expect(success.querySelector('.success-bg')).toBeTruthy();
56
+ expect(success.querySelector('.checkmark')).toBeTruthy();
57
+ });
58
+
59
+ it('applies size to success circle', () => {
60
+ const { container } = render(StatusIndicator, { status: 'success', size: 32 });
61
+ const success = container.querySelector('.success-circle');
62
+ expect(success.style.width).toBe('32px');
63
+ expect(success.style.height).toBe('32px');
64
+ });
65
+ });
66
+
67
+ describe('error state', () => {
68
+ it('renders error circle when status is error', () => {
69
+ const { container } = render(StatusIndicator, { status: 'error' });
70
+ const error = container.querySelector('.error-circle');
71
+ expect(error).toBeTruthy();
72
+ });
73
+
74
+ it('renders error SVG with background and X lines', () => {
75
+ const { container } = render(StatusIndicator, { status: 'error' });
76
+ const error = container.querySelector('.error-circle');
77
+ expect(error.querySelector('svg')).toBeTruthy();
78
+ expect(error.querySelector('.error-bg')).toBeTruthy();
79
+ const xLines = error.querySelectorAll('.error-x');
80
+ expect(xLines.length).toBe(2);
81
+ });
82
+
83
+ it('applies size to error circle', () => {
84
+ const { container } = render(StatusIndicator, { status: 'error', size: 24 });
85
+ const error = container.querySelector('.error-circle');
86
+ expect(error.style.width).toBe('24px');
87
+ expect(error.style.height).toBe('24px');
88
+ });
89
+ });
90
+
91
+ describe('size prop', () => {
92
+ it('uses default size of 48px', () => {
93
+ const { container } = render(StatusIndicator, { status: 'loading' });
94
+ const indicator = container.querySelector('.status-indicator');
95
+ expect(indicator.style.width).toBe('48px');
96
+ expect(indicator.style.height).toBe('48px');
97
+ });
98
+
99
+ it('accepts custom size', () => {
100
+ const { container } = render(StatusIndicator, { status: 'loading', size: 100 });
101
+ const indicator = container.querySelector('.status-indicator');
102
+ expect(indicator.style.width).toBe('100px');
103
+ expect(indicator.style.height).toBe('100px');
104
+ });
105
+ });
106
+
107
+ describe('state transitions', () => {
108
+ it('only renders one state at a time - loading', () => {
109
+ const { container } = render(StatusIndicator, { status: 'loading' });
110
+ expect(container.querySelector('.spinner')).toBeTruthy();
111
+ expect(container.querySelector('.success-circle')).toBeFalsy();
112
+ expect(container.querySelector('.error-circle')).toBeFalsy();
113
+ });
114
+
115
+ it('only renders one state at a time - success', () => {
116
+ const { container } = render(StatusIndicator, { status: 'success' });
117
+ expect(container.querySelector('.spinner')).toBeFalsy();
118
+ expect(container.querySelector('.success-circle')).toBeTruthy();
119
+ expect(container.querySelector('.error-circle')).toBeFalsy();
120
+ });
121
+
122
+ it('only renders one state at a time - error', () => {
123
+ const { container } = render(StatusIndicator, { status: 'error' });
124
+ expect(container.querySelector('.spinner')).toBeFalsy();
125
+ expect(container.querySelector('.success-circle')).toBeFalsy();
126
+ expect(container.querySelector('.error-circle')).toBeTruthy();
127
+ });
128
+ });
129
+ });
@@ -1,7 +1,7 @@
1
1
  <script context="module">
2
2
  import { Story } from "@storybook/addon-svelte-csf";
3
3
  import { Toaster } from "svelte-sonner";
4
- import { showToast } from "../../../stores/toaster";
4
+ import { showToast } from "../../stores/toaster";
5
5
 
6
6
  export const meta = {
7
7
  title: "Components/Toaster",