@getmicdrop/svelte-components 2.0.13 → 2.1.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.
Files changed (58) hide show
  1. package/dist/__LIB_STORES__.js +30 -2
  2. package/dist/components/AboutShow/AboutShow.svelte +278 -0
  3. package/dist/components/AboutShow/AboutShow.svelte.d.ts +43 -0
  4. package/dist/components/AboutShow/AboutShow.svelte.d.ts.map +1 -0
  5. package/dist/components/Calendar/MiniMonthCalendar.svelte +1446 -0
  6. package/dist/components/Calendar/{Calendar.svelte.d.ts → MiniMonthCalendar.svelte.d.ts} +20 -21
  7. package/dist/components/Calendar/MiniMonthCalendar.svelte.d.ts.map +1 -0
  8. package/dist/components/DarkModeToggle.svelte +3 -1
  9. package/dist/components/DarkModeToggle.svelte.d.ts.map +1 -1
  10. package/dist/components/FAQs/FAQs.svelte +49 -0
  11. package/dist/components/{Calendar/QuarterView.svelte.d.ts → FAQs/FAQs.svelte.d.ts} +10 -10
  12. package/dist/components/FAQs/FAQs.svelte.d.ts.map +1 -0
  13. package/dist/components/Input/Input.svelte +100 -12
  14. package/dist/components/Input/Input.svelte.d.ts +12 -0
  15. package/dist/components/Input/Input.svelte.d.ts.map +1 -1
  16. package/dist/components/Input/OTPInput.svelte +1 -1
  17. package/dist/components/MonthSwitcher/MonthSwitcher.svelte +206 -0
  18. package/dist/components/MonthSwitcher/MonthSwitcher.svelte.d.ts +37 -0
  19. package/dist/components/MonthSwitcher/MonthSwitcher.svelte.d.ts.map +1 -0
  20. package/dist/components/OrderSummary/OrderSummary.svelte +553 -0
  21. package/dist/components/OrderSummary/OrderSummary.svelte.d.ts +65 -0
  22. package/dist/components/OrderSummary/OrderSummary.svelte.d.ts.map +1 -0
  23. package/dist/components/PublicCard/PublicCard.svelte +267 -0
  24. package/dist/components/{pages/performers/AvailabilityCalendarModal.svelte.d.ts → PublicCard/PublicCard.svelte.d.ts} +12 -14
  25. package/dist/components/PublicCard/PublicCard.svelte.d.ts.map +1 -0
  26. package/dist/components/ShowCard/ShowCard.svelte +240 -0
  27. package/dist/components/ShowCard/ShowCard.svelte.d.ts +39 -0
  28. package/dist/components/ShowCard/ShowCard.svelte.d.ts.map +1 -0
  29. package/dist/components/ShowTimeCard/ShowTimeCard.svelte +92 -0
  30. package/dist/components/{Calendar/QuarterView.stories.svelte.d.ts → ShowTimeCard/ShowTimeCard.svelte.d.ts} +17 -21
  31. package/dist/components/ShowTimeCard/ShowTimeCard.svelte.d.ts.map +1 -0
  32. package/dist/components/Spinner/Spinner.svelte +73 -17
  33. package/dist/components/Spinner/Spinner.svelte.d.ts +5 -3
  34. package/dist/components/Spinner/Spinner.svelte.d.ts.map +1 -1
  35. package/dist/components/pages/performers/ShowDetails.svelte.d.ts +2 -2
  36. package/dist/components/pages/performers/ShowItemCard.svelte.d.ts +6 -6
  37. package/dist/components/pages/performers/VenueItemCard.svelte.d.ts +2 -2
  38. package/dist/components/pages/shows/TabNavigation.svelte +7 -8
  39. package/dist/index.d.ts +8 -3
  40. package/dist/index.js +12 -3
  41. package/dist/services/EventService.js +75 -75
  42. package/dist/services/EventService.spec.js +217 -217
  43. package/dist/services/ShowService.spec.js +342 -342
  44. package/package.json +160 -160
  45. package/dist/components/Calendar/Calendar.spec.d.ts +0 -2
  46. package/dist/components/Calendar/Calendar.spec.d.ts.map +0 -1
  47. package/dist/components/Calendar/Calendar.spec.js +0 -131
  48. package/dist/components/Calendar/Calendar.svelte +0 -1115
  49. package/dist/components/Calendar/Calendar.svelte.d.ts.map +0 -1
  50. package/dist/components/Calendar/QuarterView.spec.d.ts +0 -2
  51. package/dist/components/Calendar/QuarterView.spec.d.ts.map +0 -1
  52. package/dist/components/Calendar/QuarterView.spec.js +0 -394
  53. package/dist/components/Calendar/QuarterView.stories.svelte +0 -134
  54. package/dist/components/Calendar/QuarterView.stories.svelte.d.ts.map +0 -1
  55. package/dist/components/Calendar/QuarterView.svelte +0 -736
  56. package/dist/components/Calendar/QuarterView.svelte.d.ts.map +0 -1
  57. package/dist/components/pages/performers/AvailabilityCalendarModal.svelte +0 -632
  58. package/dist/components/pages/performers/AvailabilityCalendarModal.svelte.d.ts.map +0 -1
package/package.json CHANGED
@@ -1,160 +1,160 @@
1
- {
2
- "name": "@getmicdrop/svelte-components",
3
- "version": "2.0.13",
4
- "description": "Shared component library for Micdrop applications",
5
- "type": "module",
6
- "main": "./dist/index.js",
7
- "module": "./dist/index.js",
8
- "types": "./dist/index.d.ts",
9
- "exports": {
10
- ".": {
11
- "types": "./dist/index.d.ts",
12
- "svelte": "./dist/index.js",
13
- "import": "./dist/index.js"
14
- },
15
- "./styles": "./dist/styles.css",
16
- "./components/*": {
17
- "svelte": "./dist/components/*",
18
- "import": "./dist/components/*"
19
- }
20
- },
21
- "svelte": "./dist/index.js",
22
- "files": [
23
- "dist",
24
- "README.md"
25
- ],
26
- "scripts": {
27
- "dev": "vite",
28
- "build": "vite build && npm run build:types",
29
- "build:lib": "svelte-package -o dist && node scripts/post-build.js",
30
- "build:types": "svelte-package -o dist",
31
- "preview": "vite preview",
32
- "test": "vitest run",
33
- "test:watch": "vitest",
34
- "test:ui": "vitest --ui",
35
- "test:coverage": "vitest run --coverage",
36
- "cypress:open": "cypress open",
37
- "cypress:run": "cypress run",
38
- "cypress:coverage": "CYPRESS_COVERAGE=true cypress run",
39
- "test:e2e": "start-server-and-test preview http://localhost:4173 'cypress run'",
40
- "test:e2e:dev": "start-server-and-test dev http://localhost:5173 'cypress open'",
41
- "test:e2e:coverage": "CYPRESS_COVERAGE=true start-server-and-test dev http://localhost:5173 'cypress run'",
42
- "coverage:report": "nyc report --reporter=html --reporter=text",
43
- "coverage:merge": "node scripts/merge-coverage.mjs",
44
- "coverage:all": "npm run test -- --coverage && node scripts/merge-coverage.mjs",
45
- "storybook": "storybook dev -p 6006",
46
- "build-storybook": "storybook build",
47
- "lint": "eslint src",
48
- "lint:fix": "eslint src --fix",
49
- "format": "prettier --write \"src/**/*.{js,svelte,ts,css,json}\"",
50
- "prepublishOnly": "npm run build:lib"
51
- },
52
- "keywords": [
53
- "svelte",
54
- "components",
55
- "ui",
56
- "micdrop"
57
- ],
58
- "author": "Micdrop",
59
- "license": "MIT",
60
- "publishConfig": {
61
- "registry": "https://registry.npmjs.org",
62
- "access": "restricted"
63
- },
64
- "peerDependencies": {
65
- "@sveltejs/kit": "^2.0.0",
66
- "svelte": "^5.0.0"
67
- },
68
- "dependencies": {
69
- "@fullcalendar/core": "^6.1.19",
70
- "@fullcalendar/daygrid": "^6.1.19",
71
- "@fullcalendar/interaction": "^6.1.19",
72
- "@googlemaps/js-api-loader": "^1.16.10",
73
- "@opentelemetry/api": "^1.9.0",
74
- "@opentelemetry/auto-instrumentations-node": "^0.65.0",
75
- "@opentelemetry/auto-instrumentations-web": "^0.52.0",
76
- "@opentelemetry/context-zone": "^1.26.0",
77
- "@opentelemetry/exporter-trace-otlp-http": "^0.206.0",
78
- "@opentelemetry/instrumentation-document-load": "^0.52.0",
79
- "@opentelemetry/instrumentation-fetch": "^0.206.0",
80
- "@opentelemetry/instrumentation-http": "^0.206.0",
81
- "@opentelemetry/instrumentation-user-interaction": "^0.51.0",
82
- "@opentelemetry/instrumentation-xml-http-request": "^0.206.0",
83
- "@opentelemetry/propagator-b3": "^1.26.0",
84
- "@opentelemetry/resources": "^1.26.0",
85
- "@opentelemetry/sdk-node": "^0.206.0",
86
- "@opentelemetry/sdk-trace-base": "^1.26.0",
87
- "@opentelemetry/sdk-trace-web": "^1.26.0",
88
- "@opentelemetry/semantic-conventions": "^1.37.0",
89
- "@testing-library/user-event": "^14.5.2",
90
- "@tinymce/tinymce-svelte": "^3.0.0",
91
- "carbon-icons-svelte": "^12.10.0",
92
- "check-password-strength": "^3.0.0",
93
- "clsx": "^2.1.1",
94
- "cookie": "^1.0.2",
95
- "date-fns": "^3.6.0",
96
- "dotenv": "^16.4.7",
97
- "filepond": "^4.32.10",
98
- "filepond-plugin-file-validate-size": "^2.2.8",
99
- "filepond-plugin-file-validate-type": "^1.2.9",
100
- "filepond-plugin-image-exif-orientation": "^1.0.11",
101
- "filepond-plugin-image-preview": "^4.6.12",
102
- "flowbite": "^2.5.1",
103
- "flowbite-svelte": "^0.46.15",
104
- "flowbite-svelte-icons": "^1.6.1",
105
- "jwt-decode": "^4.0.0",
106
- "sortablejs": "^1.15.6",
107
- "svelte-easy-crop": "^3.0.0",
108
- "svelte-filepond": "^0.2.2",
109
- "svelte-sonner": "^0.3.28",
110
- "tailwind-merge": "^2.5.4",
111
- "tinymce": "^7.4.1",
112
- "zod": "^3.23.8"
113
- },
114
- "devDependencies": {
115
- "@cypress/code-coverage": "^3.14.6",
116
- "@storybook/addon-essentials": "^8.2.5",
117
- "@storybook/addon-interactions": "^8.2.5",
118
- "@storybook/addon-links": "^8.2.5",
119
- "@storybook/addon-svelte-csf": "^4.1.4",
120
- "@storybook/blocks": "^8.2.5",
121
- "@storybook/svelte": "^8.2.5",
122
- "@storybook/sveltekit": "^8.2.5",
123
- "@storybook/test": "^8.2.5",
124
- "@sveltejs/adapter-auto": "^3.2.2",
125
- "@sveltejs/kit": "^2.49.0",
126
- "@sveltejs/package": "^2.5.7",
127
- "@sveltejs/vite-plugin-svelte": "^5.1.1",
128
- "@testing-library/jest-dom": "^6.4.6",
129
- "@testing-library/svelte": "^5.2.0",
130
- "@types/cookie": "^1.0.0",
131
- "@types/node": "^20.14.12",
132
- "@vitest/coverage-istanbul": "^2.1.9",
133
- "@vitest/ui": "^2.0.4",
134
- "autoprefixer": "^10.4.19",
135
- "cypress": "^15.1.0",
136
- "eslint": "^9.7.0",
137
- "eslint-plugin-svelte": "^2.43.0",
138
- "jsdom": "^24.1.1",
139
- "postcss": "^8.4.39",
140
- "prettier": "^3.3.3",
141
- "prettier-plugin-svelte": "^3.2.6",
142
- "start-server-and-test": "^2.0.13",
143
- "storybook": "^8.2.5",
144
- "svelte": "^5.45.3",
145
- "svelte-check": "^3.8.4",
146
- "tailwindcss": "^3.4.6",
147
- "typescript": "^5.5.4",
148
- "vite": "^6.4.1",
149
- "vite-plugin-istanbul": "^7.2.1",
150
- "vitest": "^2.0.4"
151
- },
152
- "repository": {
153
- "type": "git",
154
- "url": "git+https://github.com/get-micdrop/svelte-components.git"
155
- },
156
- "bugs": {
157
- "url": "https://github.com/get-micdrop/svelte-components/issues"
158
- },
159
- "homepage": "https://github.com/get-micdrop/svelte-components#readme"
160
- }
1
+ {
2
+ "name": "@getmicdrop/svelte-components",
3
+ "version": "2.1.0",
4
+ "description": "Shared component library for Micdrop applications",
5
+ "type": "module",
6
+ "main": "./dist/index.js",
7
+ "module": "./dist/index.js",
8
+ "types": "./dist/index.d.ts",
9
+ "exports": {
10
+ ".": {
11
+ "types": "./dist/index.d.ts",
12
+ "svelte": "./dist/index.js",
13
+ "import": "./dist/index.js"
14
+ },
15
+ "./styles": "./dist/styles.css",
16
+ "./components/*": {
17
+ "svelte": "./dist/components/*",
18
+ "import": "./dist/components/*"
19
+ }
20
+ },
21
+ "svelte": "./dist/index.js",
22
+ "files": [
23
+ "dist",
24
+ "README.md"
25
+ ],
26
+ "scripts": {
27
+ "dev": "vite",
28
+ "build": "vite build && npm run build:types",
29
+ "build:lib": "svelte-package -o dist && node scripts/post-build.js",
30
+ "build:types": "svelte-package -o dist",
31
+ "preview": "vite preview",
32
+ "test": "vitest run",
33
+ "test:watch": "vitest",
34
+ "test:ui": "vitest --ui",
35
+ "test:coverage": "vitest run --coverage",
36
+ "cypress:open": "cypress open",
37
+ "cypress:run": "cypress run",
38
+ "cypress:coverage": "CYPRESS_COVERAGE=true cypress run",
39
+ "test:e2e": "start-server-and-test preview http://localhost:4173 'cypress run'",
40
+ "test:e2e:dev": "start-server-and-test dev http://localhost:5173 'cypress open'",
41
+ "test:e2e:coverage": "CYPRESS_COVERAGE=true start-server-and-test dev http://localhost:5173 'cypress run'",
42
+ "coverage:report": "nyc report --reporter=html --reporter=text",
43
+ "coverage:merge": "node scripts/merge-coverage.mjs",
44
+ "coverage:all": "npm run test -- --coverage && node scripts/merge-coverage.mjs",
45
+ "storybook": "storybook dev -p 6006",
46
+ "build-storybook": "storybook build",
47
+ "lint": "eslint src",
48
+ "lint:fix": "eslint src --fix",
49
+ "format": "prettier --write \"src/**/*.{js,svelte,ts,css,json}\"",
50
+ "prepublishOnly": "npm run build:lib"
51
+ },
52
+ "keywords": [
53
+ "svelte",
54
+ "components",
55
+ "ui",
56
+ "micdrop"
57
+ ],
58
+ "author": "Micdrop",
59
+ "license": "MIT",
60
+ "publishConfig": {
61
+ "registry": "https://registry.npmjs.org",
62
+ "access": "restricted"
63
+ },
64
+ "peerDependencies": {
65
+ "@sveltejs/kit": "^2.0.0",
66
+ "svelte": "^5.0.0"
67
+ },
68
+ "dependencies": {
69
+ "@fullcalendar/core": "^6.1.19",
70
+ "@fullcalendar/daygrid": "^6.1.19",
71
+ "@fullcalendar/interaction": "^6.1.19",
72
+ "@googlemaps/js-api-loader": "^1.16.10",
73
+ "@opentelemetry/api": "^1.9.0",
74
+ "@opentelemetry/auto-instrumentations-node": "^0.65.0",
75
+ "@opentelemetry/auto-instrumentations-web": "^0.52.0",
76
+ "@opentelemetry/context-zone": "^1.26.0",
77
+ "@opentelemetry/exporter-trace-otlp-http": "^0.206.0",
78
+ "@opentelemetry/instrumentation-document-load": "^0.52.0",
79
+ "@opentelemetry/instrumentation-fetch": "^0.206.0",
80
+ "@opentelemetry/instrumentation-http": "^0.206.0",
81
+ "@opentelemetry/instrumentation-user-interaction": "^0.51.0",
82
+ "@opentelemetry/instrumentation-xml-http-request": "^0.206.0",
83
+ "@opentelemetry/propagator-b3": "^1.26.0",
84
+ "@opentelemetry/resources": "^1.26.0",
85
+ "@opentelemetry/sdk-node": "^0.206.0",
86
+ "@opentelemetry/sdk-trace-base": "^1.26.0",
87
+ "@opentelemetry/sdk-trace-web": "^1.26.0",
88
+ "@opentelemetry/semantic-conventions": "^1.37.0",
89
+ "@testing-library/user-event": "^14.5.2",
90
+ "@tinymce/tinymce-svelte": "^3.0.0",
91
+ "carbon-icons-svelte": "^13.7.0",
92
+ "check-password-strength": "^3.0.0",
93
+ "clsx": "^2.1.1",
94
+ "cookie": "^1.0.2",
95
+ "date-fns": "^3.6.0",
96
+ "dotenv": "^16.4.7",
97
+ "filepond": "^4.32.10",
98
+ "filepond-plugin-file-validate-size": "^2.2.8",
99
+ "filepond-plugin-file-validate-type": "^1.2.9",
100
+ "filepond-plugin-image-exif-orientation": "^1.0.11",
101
+ "filepond-plugin-image-preview": "^4.6.12",
102
+ "flowbite": "^2.5.1",
103
+ "flowbite-svelte": "^0.46.15",
104
+ "flowbite-svelte-icons": "^1.6.1",
105
+ "jwt-decode": "^4.0.0",
106
+ "sortablejs": "^1.15.6",
107
+ "svelte-easy-crop": "^3.0.0",
108
+ "svelte-filepond": "^0.2.2",
109
+ "svelte-sonner": "^0.3.28",
110
+ "tailwind-merge": "^2.5.4",
111
+ "tinymce": "^7.4.1",
112
+ "zod": "^3.23.8"
113
+ },
114
+ "devDependencies": {
115
+ "@cypress/code-coverage": "^3.14.6",
116
+ "@storybook/addon-essentials": "^8.2.5",
117
+ "@storybook/addon-interactions": "^8.2.5",
118
+ "@storybook/addon-links": "^8.2.5",
119
+ "@storybook/addon-svelte-csf": "^4.1.4",
120
+ "@storybook/blocks": "^8.2.5",
121
+ "@storybook/svelte": "^8.2.5",
122
+ "@storybook/sveltekit": "^8.2.5",
123
+ "@storybook/test": "^8.2.5",
124
+ "@sveltejs/adapter-auto": "^3.2.2",
125
+ "@sveltejs/kit": "^2.49.0",
126
+ "@sveltejs/package": "^2.5.7",
127
+ "@sveltejs/vite-plugin-svelte": "^5.1.1",
128
+ "@testing-library/jest-dom": "^6.4.6",
129
+ "@testing-library/svelte": "^5.2.0",
130
+ "@types/cookie": "^1.0.0",
131
+ "@types/node": "^20.14.12",
132
+ "@vitest/coverage-istanbul": "^2.1.9",
133
+ "@vitest/ui": "^2.0.4",
134
+ "autoprefixer": "^10.4.19",
135
+ "cypress": "^15.1.0",
136
+ "eslint": "^9.7.0",
137
+ "eslint-plugin-svelte": "^2.43.0",
138
+ "jsdom": "^24.1.1",
139
+ "postcss": "^8.4.39",
140
+ "prettier": "^3.3.3",
141
+ "prettier-plugin-svelte": "^3.2.6",
142
+ "start-server-and-test": "^2.0.13",
143
+ "storybook": "^8.2.5",
144
+ "svelte": "^5.45.3",
145
+ "svelte-check": "^3.8.4",
146
+ "tailwindcss": "^3.4.6",
147
+ "typescript": "^5.5.4",
148
+ "vite": "^6.4.1",
149
+ "vite-plugin-istanbul": "^7.2.1",
150
+ "vitest": "^2.0.4"
151
+ },
152
+ "repository": {
153
+ "type": "git",
154
+ "url": "git+https://github.com/get-micdrop/svelte-components.git"
155
+ },
156
+ "bugs": {
157
+ "url": "https://github.com/get-micdrop/svelte-components/issues"
158
+ },
159
+ "homepage": "https://github.com/get-micdrop/svelte-components#readme"
160
+ }
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=Calendar.spec.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Calendar.spec.d.ts","sourceRoot":"","sources":["../../../src/lib/components/Calendar/Calendar.spec.js"],"names":[],"mappings":""}
@@ -1,131 +0,0 @@
1
- import { describe, it, expect, vi, beforeEach } from 'vitest';
2
- import { render, screen } from '@testing-library/svelte';
3
-
4
- // Mock FullCalendar since it's complex and requires DOM
5
- vi.mock('@fullcalendar/core', () => ({
6
- Calendar: vi.fn().mockImplementation(() => ({
7
- render: vi.fn(),
8
- destroy: vi.fn(),
9
- next: vi.fn(),
10
- prev: vi.fn(),
11
- today: vi.fn(),
12
- getDate: vi.fn(() => new Date()),
13
- changeView: vi.fn(),
14
- })),
15
- }));
16
-
17
- vi.mock('@fullcalendar/daygrid', () => ({
18
- default: {},
19
- }));
20
-
21
- vi.mock('@fullcalendar/interaction', () => ({
22
- default: {},
23
- }));
24
-
25
- vi.mock('$app/environment', () => ({
26
- browser: true,
27
- }));
28
-
29
- // Import after mocks
30
- import Calendar from './Calendar.svelte';
31
-
32
- describe('Calendar', () => {
33
- describe('basic rendering', () => {
34
- it('renders calendar container', () => {
35
- const { container } = render(Calendar);
36
- expect(container.querySelector('.calendar-wrapper')).toBeTruthy();
37
- });
38
-
39
- it('renders with default variant availability', () => {
40
- const { container } = render(Calendar);
41
- expect(container.querySelector('.calendar-wrapper')).toBeTruthy();
42
- });
43
- });
44
-
45
- describe('props', () => {
46
- it('accepts variant prop', () => {
47
- const { container } = render(Calendar, { variant: 'scheduler' });
48
- expect(container.querySelector('.calendar-wrapper')).toBeTruthy();
49
- });
50
-
51
- it('accepts view prop', () => {
52
- const { container } = render(Calendar, { view: 'dayGridMonth' });
53
- expect(container.querySelector('.calendar-wrapper')).toBeTruthy();
54
- });
55
-
56
- it('accepts events prop', () => {
57
- const events = [
58
- { title: 'Event 1', start: '2025-01-01' },
59
- { title: 'Event 2', start: '2025-01-02' },
60
- ];
61
- const { container } = render(Calendar, { events });
62
- expect(container.querySelector('.calendar-wrapper')).toBeTruthy();
63
- });
64
-
65
- it('accepts selectedDates prop', () => {
66
- const selectedDates = ['2025-01-01', '2025-01-02'];
67
- const { container } = render(Calendar, { selectedDates });
68
- expect(container.querySelector('.calendar-wrapper')).toBeTruthy();
69
- });
70
-
71
- it('accepts compact prop', () => {
72
- const { container } = render(Calendar, { compact: true });
73
- // Component renders with compact mode - verify container exists
74
- expect(container.querySelector('.calendar-wrapper')).toBeTruthy();
75
- });
76
-
77
- it('accepts readOnly prop', () => {
78
- const { container } = render(Calendar, { readOnly: true });
79
- expect(container.querySelector('.calendar-wrapper')).toBeTruthy();
80
- });
81
-
82
- it('accepts showNavigation prop', () => {
83
- const { container } = render(Calendar, { showNavigation: false });
84
- expect(container.querySelector('.calendar-wrapper')).toBeTruthy();
85
- });
86
-
87
- it('accepts showLegend prop', () => {
88
- const { container } = render(Calendar, { showLegend: false });
89
- expect(container.querySelector('.calendar-wrapper')).toBeTruthy();
90
- });
91
- });
92
-
93
- describe('variant styles', () => {
94
- it('renders availability variant', () => {
95
- const { container } = render(Calendar, { variant: 'availability' });
96
- expect(container.querySelector('.calendar-wrapper')).toBeTruthy();
97
- });
98
-
99
- it('renders scheduler variant', () => {
100
- const { container } = render(Calendar, { variant: 'scheduler' });
101
- expect(container.querySelector('.calendar-wrapper')).toBeTruthy();
102
- });
103
-
104
- it('renders display variant', () => {
105
- const { container } = render(Calendar, { variant: 'display' });
106
- expect(container.querySelector('.calendar-wrapper')).toBeTruthy();
107
- });
108
-
109
- it('renders public variant', () => {
110
- const { container } = render(Calendar, { variant: 'public' });
111
- expect(container.querySelector('.calendar-wrapper')).toBeTruthy();
112
- });
113
- });
114
-
115
- describe('saveStatus states', () => {
116
- it('handles saving status', () => {
117
- const { container } = render(Calendar, { saveStatus: 'saving' });
118
- expect(container.querySelector('.calendar-wrapper')).toBeTruthy();
119
- });
120
-
121
- it('handles saved status', () => {
122
- const { container } = render(Calendar, { saveStatus: 'saved' });
123
- expect(container.querySelector('.calendar-wrapper')).toBeTruthy();
124
- });
125
-
126
- it('handles empty status', () => {
127
- const { container } = render(Calendar, { saveStatus: '' });
128
- expect(container.querySelector('.calendar-wrapper')).toBeTruthy();
129
- });
130
- });
131
- });