@getmicdrop/svelte-components 2.4.0 → 2.6.1

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 (132) hide show
  1. package/dist/__LIB_STORES__.js +2 -30
  2. package/dist/components/Badges/Badge.svelte +3 -129
  3. package/dist/components/Badges/Badge.svelte.d.ts +2 -8
  4. package/dist/components/Badges/Badge.svelte.d.ts.map +1 -1
  5. package/dist/components/Breadcrumb/Breadcrumb.svelte +36 -65
  6. package/dist/components/Breadcrumb/Breadcrumb.svelte.d.ts +2 -16
  7. package/dist/components/Breadcrumb/Breadcrumb.svelte.d.ts.map +1 -1
  8. package/dist/components/Button/Button.svelte +0 -1
  9. package/dist/components/Calendar/Calendar.spec.d.ts +2 -0
  10. package/dist/components/Calendar/Calendar.spec.d.ts.map +1 -0
  11. package/dist/components/Calendar/Calendar.spec.js +131 -0
  12. package/dist/components/Calendar/Calendar.svelte +1115 -0
  13. package/dist/components/Calendar/{MiniMonthCalendar.svelte.d.ts → Calendar.svelte.d.ts} +21 -20
  14. package/dist/components/{Checkbox/Checkbox.svelte.d.ts.map → Calendar/Calendar.svelte.d.ts.map} +1 -1
  15. package/dist/components/Calendar/QuarterView.spec.d.ts +2 -0
  16. package/dist/components/Calendar/QuarterView.spec.d.ts.map +1 -0
  17. package/dist/components/Calendar/QuarterView.spec.js +394 -0
  18. package/dist/components/Calendar/QuarterView.stories.svelte +134 -0
  19. package/dist/components/{PublicCard/PublicCard.svelte.d.ts → Calendar/QuarterView.stories.svelte.d.ts} +21 -15
  20. package/dist/components/Calendar/QuarterView.stories.svelte.d.ts.map +1 -0
  21. package/dist/components/Calendar/QuarterView.svelte +736 -0
  22. package/dist/components/{FAQs/FAQs.svelte.d.ts → Calendar/QuarterView.svelte.d.ts} +10 -10
  23. package/dist/components/{Skeleton/Skeleton.svelte.d.ts.map → Calendar/QuarterView.svelte.d.ts.map} +1 -1
  24. package/dist/components/DarkModeToggle.svelte +0 -2
  25. package/dist/components/DarkModeToggle.svelte.d.ts.map +1 -1
  26. package/dist/components/Input/Input.svelte +12 -100
  27. package/dist/components/Input/Input.svelte.d.ts +6 -18
  28. package/dist/components/Input/Input.svelte.d.ts.map +1 -1
  29. package/dist/components/Input/MultiSelect.svelte +5 -4
  30. package/dist/components/Input/MultiSelect.svelte.d.ts +6 -6
  31. package/dist/components/Input/MultiSelect.svelte.d.ts.map +1 -1
  32. package/dist/components/Input/OTPInput.svelte +1 -1
  33. package/dist/components/Input/Select.svelte +5 -4
  34. package/dist/components/Input/Select.svelte.d.ts +6 -6
  35. package/dist/components/Input/Select.svelte.d.ts.map +1 -1
  36. package/dist/components/Layout/Header.svelte +4 -14
  37. package/dist/components/Modal/ConfirmationModal.svelte +17 -69
  38. package/dist/components/Modal/ConfirmationModal.svelte.d.ts +0 -22
  39. package/dist/components/Modal/ConfirmationModal.svelte.d.ts.map +1 -1
  40. package/dist/components/Modal/Modal.svelte +8 -34
  41. package/dist/components/Modal/Modal.svelte.d.ts +0 -2
  42. package/dist/components/Modal/Modal.svelte.d.ts.map +1 -1
  43. package/dist/components/PasswordStrengthIndicator/PasswordStrengthIndicator.svelte.d.ts +2 -2
  44. package/dist/components/Spinner/Spinner.svelte +17 -73
  45. package/dist/components/Spinner/Spinner.svelte.d.ts +3 -5
  46. package/dist/components/Spinner/Spinner.svelte.d.ts.map +1 -1
  47. package/dist/components/pages/performers/AvailabilityCalendarModal.svelte +632 -0
  48. package/dist/components/{ShowTimeCard/ShowTimeCard.svelte.d.ts → pages/performers/AvailabilityCalendarModal.svelte.d.ts} +14 -14
  49. package/dist/components/pages/performers/AvailabilityCalendarModal.svelte.d.ts.map +1 -0
  50. package/dist/components/pages/performers/ShowDetails.svelte.d.ts +2 -2
  51. package/dist/components/pages/performers/ShowItemCard.svelte.d.ts +8 -8
  52. package/dist/components/pages/performers/SwitchOption.svelte.d.ts +2 -2
  53. package/dist/components/pages/performers/VenueInfo.svelte.d.ts +2 -2
  54. package/dist/components/pages/performers/VenueItemCard.svelte +2 -2
  55. package/dist/components/pages/performers/VenueItemCard.svelte.d.ts +4 -4
  56. package/dist/components/pages/profile/profile-form.svelte +1 -1
  57. package/dist/components/pages/shows/TabNavigation.svelte +8 -7
  58. package/dist/constants/formOptions.d.ts +2 -5
  59. package/dist/constants/formOptions.d.ts.map +1 -1
  60. package/dist/constants/formOptions.js +1 -2
  61. package/dist/index.d.ts +4 -24
  62. package/dist/index.js +4 -30
  63. package/dist/services/EventService.js +75 -75
  64. package/dist/services/EventService.spec.js +217 -217
  65. package/dist/services/ShowService.spec.js +342 -342
  66. package/package.json +160 -160
  67. package/dist/components/AboutShow/AboutShow.svelte +0 -278
  68. package/dist/components/AboutShow/AboutShow.svelte.d.ts +0 -43
  69. package/dist/components/AboutShow/AboutShow.svelte.d.ts.map +0 -1
  70. package/dist/components/Accordion/Accordion.svelte +0 -44
  71. package/dist/components/Accordion/Accordion.svelte.d.ts +0 -42
  72. package/dist/components/Accordion/Accordion.svelte.d.ts.map +0 -1
  73. package/dist/components/Accordion/AccordionItem.svelte +0 -141
  74. package/dist/components/Accordion/AccordionItem.svelte.d.ts +0 -50
  75. package/dist/components/Accordion/AccordionItem.svelte.d.ts.map +0 -1
  76. package/dist/components/Calendar/MiniMonthCalendar.svelte +0 -1446
  77. package/dist/components/Calendar/MiniMonthCalendar.svelte.d.ts.map +0 -1
  78. package/dist/components/Checkbox/Checkbox.svelte +0 -116
  79. package/dist/components/Checkbox/Checkbox.svelte.d.ts +0 -52
  80. package/dist/components/Drawer/Drawer.svelte +0 -207
  81. package/dist/components/Drawer/Drawer.svelte.d.ts +0 -74
  82. package/dist/components/Drawer/Drawer.svelte.d.ts.map +0 -1
  83. package/dist/components/Dropdown/Dropdown.svelte +0 -129
  84. package/dist/components/Dropdown/Dropdown.svelte.d.ts +0 -48
  85. package/dist/components/Dropdown/Dropdown.svelte.d.ts.map +0 -1
  86. package/dist/components/Dropdown/DropdownItem.svelte +0 -111
  87. package/dist/components/Dropdown/DropdownItem.svelte.d.ts +0 -48
  88. package/dist/components/Dropdown/DropdownItem.svelte.d.ts.map +0 -1
  89. package/dist/components/FAQs/FAQs.svelte +0 -49
  90. package/dist/components/FAQs/FAQs.svelte.d.ts.map +0 -1
  91. package/dist/components/Input/Search.svelte +0 -173
  92. package/dist/components/Input/Search.svelte.d.ts +0 -68
  93. package/dist/components/Input/Search.svelte.d.ts.map +0 -1
  94. package/dist/components/Input/Textarea.svelte +0 -160
  95. package/dist/components/Input/Textarea.svelte.d.ts +0 -69
  96. package/dist/components/Input/Textarea.svelte.d.ts.map +0 -1
  97. package/dist/components/Label/Label.svelte +0 -60
  98. package/dist/components/Label/Label.svelte.d.ts +0 -48
  99. package/dist/components/Label/Label.svelte.d.ts.map +0 -1
  100. package/dist/components/Modal/InputModal.svelte +0 -180
  101. package/dist/components/Modal/InputModal.svelte.d.ts +0 -77
  102. package/dist/components/Modal/InputModal.svelte.d.ts.map +0 -1
  103. package/dist/components/Modal/StatusModal.svelte +0 -221
  104. package/dist/components/Modal/StatusModal.svelte.d.ts +0 -59
  105. package/dist/components/Modal/StatusModal.svelte.d.ts.map +0 -1
  106. package/dist/components/MonthSwitcher/MonthSwitcher.svelte +0 -206
  107. package/dist/components/MonthSwitcher/MonthSwitcher.svelte.d.ts +0 -37
  108. package/dist/components/MonthSwitcher/MonthSwitcher.svelte.d.ts.map +0 -1
  109. package/dist/components/OrderSummary/OrderSummary.svelte +0 -553
  110. package/dist/components/OrderSummary/OrderSummary.svelte.d.ts +0 -65
  111. package/dist/components/OrderSummary/OrderSummary.svelte.d.ts.map +0 -1
  112. package/dist/components/Pagination/Pagination.svelte +0 -197
  113. package/dist/components/Pagination/Pagination.svelte.d.ts +0 -53
  114. package/dist/components/Pagination/Pagination.svelte.d.ts.map +0 -1
  115. package/dist/components/PublicCard/PublicCard.svelte +0 -267
  116. package/dist/components/PublicCard/PublicCard.svelte.d.ts.map +0 -1
  117. package/dist/components/Radio/Radio.svelte +0 -119
  118. package/dist/components/Radio/Radio.svelte.d.ts +0 -54
  119. package/dist/components/Radio/Radio.svelte.d.ts.map +0 -1
  120. package/dist/components/ShowCard/ShowCard.svelte +0 -240
  121. package/dist/components/ShowCard/ShowCard.svelte.d.ts +0 -39
  122. package/dist/components/ShowCard/ShowCard.svelte.d.ts.map +0 -1
  123. package/dist/components/ShowTimeCard/ShowTimeCard.svelte +0 -92
  124. package/dist/components/ShowTimeCard/ShowTimeCard.svelte.d.ts.map +0 -1
  125. package/dist/components/Skeleton/Skeleton.svelte +0 -68
  126. package/dist/components/Skeleton/Skeleton.svelte.d.ts +0 -37
  127. package/dist/components/Tabs/TabItem.svelte +0 -39
  128. package/dist/components/Tabs/TabItem.svelte.d.ts +0 -52
  129. package/dist/components/Tabs/TabItem.svelte.d.ts.map +0 -1
  130. package/dist/components/Tabs/Tabs.svelte +0 -181
  131. package/dist/components/Tabs/Tabs.svelte.d.ts +0 -46
  132. package/dist/components/Tabs/Tabs.svelte.d.ts.map +0 -1
package/package.json CHANGED
@@ -1,160 +1,160 @@
1
- {
2
- "name": "@getmicdrop/svelte-components",
3
- "version": "2.4.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
+ "name": "@getmicdrop/svelte-components",
3
+ "version": "2.6.1",
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,278 +0,0 @@
1
- <script>
2
- import Close from 'carbon-icons-svelte/lib/Close.svelte';
3
- import LogoInstagram from 'carbon-icons-svelte/lib/LogoInstagram.svelte';
4
-
5
- export let performers = [];
6
- export let ShowImage = '';
7
- export let description = '';
8
- export let showTitle = true;
9
- export let title = "About the Show";
10
- export let showReadMore = true; // Allow controlling read more behavior
11
-
12
- // Function to get image URL - can be overridden via props
13
- export let getImageUrl = (url) => url;
14
-
15
- let activePerformer = null;
16
- let characterLimit = 1500; // Show much more content before truncating
17
- let showFullDescription = false;
18
-
19
- // Filter performers: only show Confirmed (acceptedState === 2) with valid profiles
20
- // Note: performerProfile is lowercase in API response
21
- $: validPerformers = performers.filter(performer => {
22
- const isConfirmed = performer.acceptedState === 2;
23
- const isNotHidden = !performer.shouldBeHidden;
24
- const profile = performer.RosterPerformer?.User?.performerProfile;
25
- const hasName = profile?.firstName || profile?.lastName || profile?.stageName;
26
- return isConfirmed && isNotHidden && hasName;
27
- });
28
-
29
- function togglePerformer(id) {
30
- if (activePerformer === id) {
31
- activePerformer = null;
32
- } else {
33
- activePerformer = id;
34
- }
35
- }
36
-
37
- function closePerformer() {
38
- activePerformer = null;
39
- }
40
-
41
- function toggleDescription() {
42
- showFullDescription = !showFullDescription;
43
- }
44
- </script>
45
-
46
- <div class="flex flex-col gap-3">
47
- {#if showTitle}
48
- <h2 class="section-title font-medium text-xl">{title}</h2>
49
- {/if}
50
-
51
- {#if ShowImage && description}
52
- <div>
53
- <img src={ShowImage} alt="" class="show-image rounded-lg object-contain w-full" />
54
- </div>
55
- {/if}
56
-
57
- <!-- Description -->
58
- {#if description}
59
- {#if showFullDescription || description.length <= characterLimit || !showReadMore}
60
- <p class="description-text text-[15px] leading-relaxed whitespace-pre-line">{description}</p>
61
- {#if showReadMore && description.length > characterLimit}
62
- <button
63
- on:click={toggleDescription}
64
- class="read-more-btn text-[15px] font-medium text-left hover:underline"
65
- >
66
- Show less
67
- </button>
68
- {/if}
69
- {:else}
70
- <p class="description-text text-[15px] leading-relaxed whitespace-pre-line">
71
- {description.slice(0, characterLimit)}...
72
- </p>
73
- <button
74
- on:click={toggleDescription}
75
- class="read-more-btn text-[15px] font-medium text-left hover:underline"
76
- >
77
- Show more
78
- </button>
79
- {/if}
80
- {/if}
81
-
82
- <!-- Performers - always show all, no collapse -->
83
- {#if validPerformers.length > 0}
84
- <div class="py-2">
85
- <!-- Backdrop overlay for bio popup -->
86
- {#if activePerformer !== null}
87
- <!-- svelte-ignore a11y-click-events-have-key-events -->
88
- <!-- svelte-ignore a11y-no-static-element-interactions -->
89
- <div class="fixed inset-0 z-40" on:click={closePerformer}></div>
90
- {/if}
91
-
92
- <div class="flex flex-wrap justify-start gap-4">
93
- {#each validPerformers as performer, index}
94
- {@const profile = performer.RosterPerformer?.User?.performerProfile}
95
- {@const displayName = profile?.useStageName && profile?.stageName
96
- ? profile.stageName
97
- : `${profile?.firstName || ''} ${profile?.lastName || ''}`.trim()}
98
- {@const firstName = profile?.firstName || displayName.split(' ')[0] || displayName}
99
- <div class="relative performer-card">
100
- {#if activePerformer === performer.ID && !performer.shouldBeHidden}
101
- <!-- svelte-ignore a11y-click-events-have-key-events -->
102
- <!-- svelte-ignore a11y-no-static-element-interactions -->
103
- <div
104
- class="bio-card w-[300px] sm:w-[340px] absolute rounded-lg p-4 z-50 shadow-xl {index === 0 ? 'first-child' : ''}"
105
- on:click|stopPropagation
106
- >
107
- <div class="arrow {index === 0 ? 'first-arrow' : ''}"></div>
108
-
109
- <button
110
- class="close-btn absolute top-2 right-2 p-1 rounded-full transition-colors"
111
- on:click={closePerformer}
112
- aria-label="Close"
113
- >
114
- <Close size={18} />
115
- </button>
116
-
117
- <p class="bio-text text-sm leading-relaxed pr-6">
118
- {profile?.biography || ''}
119
- </p>
120
-
121
- {#if profile?.instagram || profile?.twitter}
122
- <div class="social-links flex gap-2 items-center text-sm mt-3 pt-3">
123
- <span>Follow {firstName}:</span>
124
- {#if profile?.instagram}
125
- <a
126
- href={profile.instagram}
127
- target="_blank"
128
- rel="noopener noreferrer"
129
- class="social-icon hover:opacity-70 transition-opacity"
130
- aria-label="Instagram profile"
131
- >
132
- <LogoInstagram size={20} />
133
- </a>
134
- {/if}
135
- {#if profile?.twitter}
136
- <a
137
- href={profile.twitter}
138
- target="_blank"
139
- rel="noopener noreferrer"
140
- class="social-icon hover:opacity-70 transition-opacity"
141
- aria-label="Twitter profile"
142
- >
143
- <svg class="w-5 h-5" fill="currentColor" viewBox="0 0 24 24">
144
- <path d="M23.953 4.57a10 10 0 01-2.825.775 4.958 4.958 0 002.163-2.723c-.951.555-2.005.959-3.127 1.184a4.92 4.92 0 00-8.384 4.482C7.69 8.095 4.067 6.13 1.64 3.162a4.822 4.822 0 00-.666 2.475c0 1.71.87 3.213 2.188 4.096a4.904 4.904 0 01-2.228-.616v.06a4.923 4.923 0 003.946 4.827 4.996 4.996 0 01-2.212.085 4.936 4.936 0 004.604 3.417 9.867 9.867 0 01-6.102 2.105c-.39 0-.779-.023-1.17-.067a13.995 13.995 0 007.557 2.209c9.053 0 13.998-7.496 13.998-13.985 0-.21 0-.42-.015-.63A9.935 9.935 0 0024 4.59z"/>
145
- </svg>
146
- </a>
147
- {/if}
148
- </div>
149
- {/if}
150
- </div>
151
- {/if}
152
-
153
- <!-- svelte-ignore a11y-click-events-have-key-events -->
154
- <!-- svelte-ignore a11y-no-static-element-interactions -->
155
- <div
156
- class="performer-tile rounded-lg flex flex-col gap-2 p-2 items-center w-[90px] cursor-pointer transition-all {activePerformer === performer.ID ? 'active' : ''}"
157
- on:click={() => togglePerformer(performer.ID)}
158
- >
159
- <img
160
- src={performer.shouldBeHidden ? '' : profile?.profileImage ? getImageUrl(profile.profileImage) : ''}
161
- alt={displayName || 'Performer'}
162
- class="performer-image size-[68px] rounded object-cover {!profile?.profileImage || performer.shouldBeHidden ? 'no-image' : ''}"
163
- />
164
- <p class="performer-name text-[11px] text-center leading-tight line-clamp-2">
165
- {#if !performer.shouldBeHidden}
166
- {displayName}
167
- {/if}
168
- </p>
169
- </div>
170
- </div>
171
- {/each}
172
- </div>
173
- </div>
174
- {/if}
175
- </div>
176
-
177
- <style>
178
- /* Theme-responsive colors using CSS variables */
179
- .section-title {
180
- color: hsl(var(--Text-Primary));
181
- }
182
-
183
- .show-image {
184
- background-color: hsl(var(--BG-Secondary));
185
- }
186
-
187
- .description-text {
188
- color: hsl(var(--Text-Secondary));
189
- }
190
-
191
- .read-more-btn {
192
- color: hsl(var(--Brand-Primary));
193
- }
194
-
195
- .bio-card {
196
- transition: all 0.3s ease;
197
- bottom: calc(100% + 10px);
198
- left: 50%;
199
- transform: translateX(-50%);
200
- background: hsl(var(--BG-Primary));
201
- border: 2px solid hsl(var(--Brand-Primary));
202
- box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
203
- }
204
-
205
- .bio-card.first-child {
206
- left: 190%;
207
- }
208
-
209
- .arrow {
210
- position: absolute;
211
- width: 12px;
212
- height: 12px;
213
- background: hsl(var(--BG-Primary));
214
- transform: rotate(45deg);
215
- border-right: 2px solid hsl(var(--Brand-Primary));
216
- border-bottom: 2px solid hsl(var(--Brand-Primary));
217
- bottom: -6px;
218
- left: 50%;
219
- margin-left: -6px;
220
- }
221
-
222
- .arrow.first-arrow {
223
- left: 20%;
224
- }
225
-
226
- .close-btn {
227
- color: hsl(var(--Text-Tartiary));
228
- }
229
-
230
- .close-btn:hover {
231
- background-color: hsl(var(--BG-Secondary));
232
- }
233
-
234
- .bio-text {
235
- color: hsl(var(--Text-Secondary));
236
- }
237
-
238
- .social-links {
239
- color: hsl(var(--Text-Tartiary));
240
- border-top: 1px solid hsl(var(--Stroke-Secondary));
241
- }
242
-
243
- .social-icon {
244
- color: hsl(var(--Brand-Primary));
245
- }
246
-
247
- .performer-tile {
248
- background-color: hsl(var(--BG-Primary));
249
- border: 1px solid hsl(var(--Stroke-Secondary));
250
- }
251
-
252
- .performer-tile:hover {
253
- border-color: hsl(var(--Brand-Primary));
254
- box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
255
- }
256
-
257
- .performer-tile.active {
258
- border-color: hsl(var(--Brand-Primary));
259
- box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
260
- }
261
-
262
- .performer-image.no-image {
263
- background-color: hsl(var(--BG-Secondary));
264
- }
265
-
266
- .performer-name {
267
- color: hsl(var(--Text-Secondary));
268
- }
269
-
270
- /* Line clamping */
271
- .line-clamp-2 {
272
- display: -webkit-box;
273
- -webkit-line-clamp: 2;
274
- line-clamp: 2;
275
- -webkit-box-orient: vertical;
276
- overflow: hidden;
277
- }
278
- </style>
@@ -1,43 +0,0 @@
1
- export default AboutShow;
2
- type AboutShow = SvelteComponent<{
3
- title?: string | undefined;
4
- description?: string | undefined;
5
- showTitle?: boolean | undefined;
6
- performers?: any[] | undefined;
7
- ShowImage?: string | undefined;
8
- showReadMore?: boolean | undefined;
9
- getImageUrl?: ((url: any) => any) | undefined;
10
- }, {
11
- click: PointerEvent;
12
- } & {
13
- [evt: string]: CustomEvent<any>;
14
- }, {}> & {
15
- $$bindings?: string | undefined;
16
- };
17
- declare const AboutShow: $$__sveltets_2_IsomorphicComponent<{
18
- title?: string | undefined;
19
- description?: string | undefined;
20
- showTitle?: boolean | undefined;
21
- performers?: any[] | undefined;
22
- ShowImage?: string | undefined;
23
- showReadMore?: boolean | undefined;
24
- getImageUrl?: ((url: any) => any) | undefined;
25
- }, {
26
- click: PointerEvent;
27
- } & {
28
- [evt: string]: CustomEvent<any>;
29
- }, {}, {}, string>;
30
- interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> = any, Events extends Record<string, any> = any, Slots extends Record<string, any> = any, Exports = {}, Bindings = string> {
31
- new (options: import("svelte").ComponentConstructorOptions<Props>): import("svelte").SvelteComponent<Props, Events, Slots> & {
32
- $$bindings?: Bindings;
33
- } & Exports;
34
- (internal: unknown, props: Props & {
35
- $$events?: Events;
36
- $$slots?: Slots;
37
- }): Exports & {
38
- $set?: any;
39
- $on?: any;
40
- };
41
- z_$$bindings?: Bindings;
42
- }
43
- //# sourceMappingURL=AboutShow.svelte.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"AboutShow.svelte.d.ts","sourceRoot":"","sources":["../../../src/lib/components/AboutShow/AboutShow.svelte.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAmKA;;;;;;;;;;;;mBAAgN;6CATnK,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,QAAQ,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,QAAQ,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,QAAQ,OAAO,OAAO,QAAQ;IAC3L,cAAc,OAAO,QAAQ,EAAE,2BAA2B,CAAC,KAAK,CAAC,GAAG,OAAO,QAAQ,EAAE,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,GAAG;QAAE,UAAU,CAAC,EAAE,QAAQ,CAAA;KAAE,GAAG,OAAO,CAAC;IACjK,WAAW,OAAO,SAAS,KAAK,GAAG;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,KAAK,CAAA;KAAC,GAAG,OAAO,GAAG;QAAE,IAAI,CAAC,EAAE,GAAG,CAAC;QAAC,GAAG,CAAC,EAAE,GAAG,CAAA;KAAE,CAAC;IAC9G,eAAe,QAAQ,CAAC"}