@licklist/design 0.78.21 → 0.78.26

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 (186) hide show
  1. package/dist/assets/Trend-Down.svg +3 -0
  2. package/dist/assets/Trend-Up.svg +3 -0
  3. package/dist/auth/Authorizer.d.ts.map +1 -1
  4. package/dist/auth/Authorizer.js +47 -12
  5. package/dist/index.d.ts +1 -0
  6. package/dist/index.d.ts.map +1 -1
  7. package/dist/index.js +5 -0
  8. package/dist/v2/components/EntityHeader/EntityHeader.d.ts +13 -0
  9. package/dist/v2/components/EntityHeader/EntityHeader.d.ts.map +1 -0
  10. package/dist/v2/components/EntityHeader/EntityHeader.js +85 -0
  11. package/dist/v2/components/EntityHeader/EntityHeader.scss.js +6 -0
  12. package/dist/v2/components/EntityHeader/index.d.ts +2 -0
  13. package/dist/v2/components/EntityHeader/index.d.ts.map +1 -0
  14. package/dist/v2/components/NPSScore/NPSScore.d.ts +18 -0
  15. package/dist/v2/components/NPSScore/NPSScore.d.ts.map +1 -0
  16. package/dist/v2/components/NPSScore/index.d.ts +3 -0
  17. package/dist/v2/components/NPSScore/index.d.ts.map +1 -0
  18. package/dist/v2/components/Select/Select.d.ts +10 -0
  19. package/dist/v2/components/Select/Select.d.ts.map +1 -0
  20. package/dist/v2/components/Select/index.d.ts +3 -0
  21. package/dist/v2/components/Select/index.d.ts.map +1 -0
  22. package/dist/v2/components/Tooltip/Tooltip.d.ts +21 -0
  23. package/dist/v2/components/Tooltip/Tooltip.d.ts.map +1 -0
  24. package/dist/v2/components/Tooltip/Tooltip.js +103 -0
  25. package/dist/v2/components/Tooltip/Tooltip.scss.js +6 -0
  26. package/dist/v2/components/Tooltip/index.d.ts +2 -0
  27. package/dist/v2/components/Tooltip/index.d.ts.map +1 -0
  28. package/dist/v2/components/UserAvatar/UserAvatar.d.ts +12 -0
  29. package/dist/v2/components/UserAvatar/UserAvatar.d.ts.map +1 -0
  30. package/dist/v2/components/UserAvatar/UserAvatar.js +77 -0
  31. package/dist/v2/components/UserAvatar/UserAvatar.scss.js +6 -0
  32. package/dist/v2/components/UserAvatar/index.d.ts +2 -0
  33. package/dist/v2/components/UserAvatar/index.d.ts.map +1 -0
  34. package/dist/v2/components/UserPanel/UserPanel.d.ts +17 -0
  35. package/dist/v2/components/UserPanel/UserPanel.d.ts.map +1 -0
  36. package/dist/v2/components/UserPanel/UserPanel.js +144 -0
  37. package/dist/v2/components/UserPanel/UserPanel.scss.js +6 -0
  38. package/dist/v2/components/UserPanel/index.d.ts +3 -0
  39. package/dist/v2/components/UserPanel/index.d.ts.map +1 -0
  40. package/dist/v2/dashboard-analytics/blog-posts/Blog.d.ts +15 -0
  41. package/dist/v2/dashboard-analytics/blog-posts/Blog.d.ts.map +1 -0
  42. package/dist/v2/dashboard-analytics/blog-posts/index.d.ts +3 -0
  43. package/dist/v2/dashboard-analytics/blog-posts/index.d.ts.map +1 -0
  44. package/dist/v2/dashboard-analytics/chart/Chart.d.ts +21 -0
  45. package/dist/v2/dashboard-analytics/chart/Chart.d.ts.map +1 -0
  46. package/dist/v2/dashboard-analytics/chart/index.d.ts +3 -0
  47. package/dist/v2/dashboard-analytics/chart/index.d.ts.map +1 -0
  48. package/dist/v2/dashboard-analytics/dashboard/Dashboard.d.ts +57 -0
  49. package/dist/v2/dashboard-analytics/dashboard/Dashboard.d.ts.map +1 -0
  50. package/dist/v2/dashboard-analytics/dashboard/index.d.ts +3 -0
  51. package/dist/v2/dashboard-analytics/dashboard/index.d.ts.map +1 -0
  52. package/dist/v2/dashboard-analytics/index.d.ts +13 -0
  53. package/dist/v2/dashboard-analytics/index.d.ts.map +1 -0
  54. package/dist/v2/dashboard-analytics/metric-card/MetricCard.d.ts +17 -0
  55. package/dist/v2/dashboard-analytics/metric-card/MetricCard.d.ts.map +1 -0
  56. package/dist/v2/dashboard-analytics/metric-card/index.d.ts +3 -0
  57. package/dist/v2/dashboard-analytics/metric-card/index.d.ts.map +1 -0
  58. package/dist/v2/dashboard-analytics/venue-card/VenueCard.d.ts +12 -0
  59. package/dist/v2/dashboard-analytics/venue-card/VenueCard.d.ts.map +1 -0
  60. package/dist/v2/dashboard-analytics/venue-card/index.d.ts +3 -0
  61. package/dist/v2/dashboard-analytics/venue-card/index.d.ts.map +1 -0
  62. package/dist/v2/dashboard-analytics/venue-closed-card/VenueClosedCard.d.ts +25 -0
  63. package/dist/v2/dashboard-analytics/venue-closed-card/VenueClosedCard.d.ts.map +1 -0
  64. package/dist/v2/dashboard-analytics/venue-closed-card/index.d.ts +3 -0
  65. package/dist/v2/dashboard-analytics/venue-closed-card/index.d.ts.map +1 -0
  66. package/dist/v2/index.d.ts +11 -5
  67. package/dist/v2/index.d.ts.map +1 -1
  68. package/dist/v2/navigation/DashboardLayout/AdminSidebar.d.ts +10 -0
  69. package/dist/v2/navigation/DashboardLayout/AdminSidebar.d.ts.map +1 -0
  70. package/dist/v2/navigation/DashboardLayout/AdminSidebar.js +296 -0
  71. package/dist/v2/navigation/DashboardLayout/AdminSidebar.scss.js +6 -0
  72. package/dist/v2/navigation/DashboardLayout/DashboardFooter.d.ts +7 -0
  73. package/dist/v2/navigation/DashboardLayout/DashboardFooter.d.ts.map +1 -0
  74. package/dist/v2/navigation/DashboardLayout/DashboardFooter.js +34 -0
  75. package/dist/v2/navigation/DashboardLayout/DashboardFooter.scss.js +6 -0
  76. package/dist/v2/navigation/DashboardLayout/DashboardLayout.d.ts +42 -0
  77. package/dist/v2/navigation/DashboardLayout/DashboardLayout.d.ts.map +1 -0
  78. package/dist/v2/navigation/DashboardLayout/DashboardLayout.js +176 -0
  79. package/dist/v2/navigation/DashboardLayout/DashboardLayout.scss.js +6 -0
  80. package/dist/v2/navigation/DashboardLayout/ProviderSidebar.d.ts +35 -0
  81. package/dist/v2/navigation/DashboardLayout/ProviderSidebar.d.ts.map +1 -0
  82. package/dist/v2/navigation/DashboardLayout/ProviderSidebar.js +366 -0
  83. package/dist/v2/navigation/DashboardLayout/ProviderSidebar.scss.js +6 -0
  84. package/dist/v2/navigation/DashboardLayout/TopNavigation.d.ts +26 -0
  85. package/dist/v2/navigation/DashboardLayout/TopNavigation.d.ts.map +1 -0
  86. package/dist/v2/navigation/DashboardLayout/TopNavigation.js +360 -0
  87. package/dist/v2/navigation/DashboardLayout/TopNavigation.scss.js +6 -0
  88. package/dist/v2/navigation/DashboardLayout/assets/AdminLogo.png.js +3 -0
  89. package/dist/v2/navigation/DashboardLayout/assets/BookedLogo_Mark.png.js +3 -0
  90. package/dist/v2/navigation/DashboardLayout/index.d.ts +7 -0
  91. package/dist/v2/navigation/DashboardLayout/index.d.ts.map +1 -0
  92. package/package.json +5 -3
  93. package/src/assets/Trend-Down.svg +3 -0
  94. package/src/assets/Trend-Up.svg +3 -0
  95. package/src/auth/Authorizer.tsx +49 -20
  96. package/src/index.ts +2 -1
  97. package/src/v2/components/EntityHeader/EntityHeader.scss +133 -0
  98. package/src/v2/components/EntityHeader/EntityHeader.stories.tsx +103 -0
  99. package/src/v2/components/EntityHeader/EntityHeader.tsx +76 -0
  100. package/src/v2/components/EntityHeader/index.ts +1 -0
  101. package/src/v2/components/NPSScore/NPSScore.scss +330 -0
  102. package/src/v2/components/NPSScore/NPSScore.stories.tsx +29 -0
  103. package/src/v2/components/NPSScore/NPSScore.tsx +209 -0
  104. package/src/v2/components/NPSScore/index.ts +2 -0
  105. package/src/v2/components/Select/Select.scss +188 -0
  106. package/src/v2/components/Select/Select.stories.tsx +164 -0
  107. package/src/v2/components/Select/Select.tsx +56 -0
  108. package/src/v2/components/Select/index.ts +2 -0
  109. package/src/v2/components/Tooltip/Tooltip.scss +92 -0
  110. package/src/v2/components/Tooltip/Tooltip.stories.tsx +164 -0
  111. package/src/v2/components/Tooltip/Tooltip.tsx +64 -0
  112. package/src/v2/components/Tooltip/index.ts +8 -0
  113. package/src/v2/components/UserAvatar/UserAvatar.scss +62 -0
  114. package/src/v2/components/UserAvatar/UserAvatar.stories.tsx +94 -0
  115. package/src/v2/components/UserAvatar/UserAvatar.tsx +96 -0
  116. package/src/v2/components/UserAvatar/index.ts +1 -0
  117. package/src/v2/components/UserPanel/UserPanel.scss +195 -0
  118. package/src/v2/components/UserPanel/UserPanel.stories.tsx +66 -0
  119. package/src/v2/components/UserPanel/UserPanel.tsx +126 -0
  120. package/src/v2/components/UserPanel/index.ts +2 -0
  121. package/src/v2/dashboard-analytics/blog-posts/Blog.scss +92 -0
  122. package/src/v2/dashboard-analytics/blog-posts/Blog.stories.tsx +57 -0
  123. package/src/v2/dashboard-analytics/blog-posts/Blog.tsx +91 -0
  124. package/src/v2/dashboard-analytics/blog-posts/index.ts +2 -0
  125. package/src/v2/dashboard-analytics/chart/Chart.scss +424 -0
  126. package/src/v2/dashboard-analytics/chart/Chart.stories.tsx +157 -0
  127. package/src/v2/dashboard-analytics/chart/Chart.tsx +623 -0
  128. package/src/v2/dashboard-analytics/chart/index.ts +2 -0
  129. package/src/v2/dashboard-analytics/dashboard/Dashboard.scss +254 -0
  130. package/src/v2/dashboard-analytics/dashboard/Dashboard.stories.tsx +298 -0
  131. package/src/v2/dashboard-analytics/dashboard/Dashboard.tsx +248 -0
  132. package/src/v2/dashboard-analytics/dashboard/index.ts +2 -0
  133. package/src/v2/dashboard-analytics/index.ts +12 -0
  134. package/src/v2/dashboard-analytics/metric-card/MetricCard.scss +125 -0
  135. package/src/v2/dashboard-analytics/metric-card/MetricCard.stories.tsx +106 -0
  136. package/src/v2/dashboard-analytics/metric-card/MetricCard.tsx +72 -0
  137. package/src/v2/dashboard-analytics/metric-card/index.ts +2 -0
  138. package/src/v2/dashboard-analytics/venue-card/VenueCard.scss +112 -0
  139. package/src/v2/dashboard-analytics/venue-card/VenueCard.stories.tsx +40 -0
  140. package/src/v2/dashboard-analytics/venue-card/VenueCard.tsx +62 -0
  141. package/src/v2/dashboard-analytics/venue-card/index.ts +2 -0
  142. package/src/v2/dashboard-analytics/venue-closed-card/VenueClosedCard.scss +129 -0
  143. package/src/v2/dashboard-analytics/venue-closed-card/VenueClosedCard.stories.tsx +31 -0
  144. package/src/v2/dashboard-analytics/venue-closed-card/VenueClosedCard.tsx +61 -0
  145. package/src/v2/dashboard-analytics/venue-closed-card/index.ts +2 -0
  146. package/src/v2/design-system/colors/ColorSystem.scss +439 -0
  147. package/src/v2/design-system/colors/ColorSystem.stories.tsx +730 -0
  148. package/src/v2/design-system/typography/Typography.scss +295 -0
  149. package/src/v2/design-system/typography/Typography.stories.tsx +109 -0
  150. package/src/v2/index.ts +43 -7
  151. package/src/v2/navigation/DashboardLayout/AdminSidebar.scss +207 -0
  152. package/src/v2/navigation/DashboardLayout/AdminSidebar.tsx +171 -0
  153. package/src/v2/navigation/DashboardLayout/DashboardFooter.scss +30 -0
  154. package/src/v2/navigation/DashboardLayout/DashboardFooter.tsx +25 -0
  155. package/src/v2/navigation/DashboardLayout/DashboardLayout.scss +91 -0
  156. package/src/v2/navigation/DashboardLayout/DashboardLayout.stories.tsx +370 -0
  157. package/src/v2/navigation/DashboardLayout/DashboardLayout.tsx +233 -0
  158. package/src/v2/navigation/DashboardLayout/ProviderSidebar.scss +271 -0
  159. package/src/v2/navigation/DashboardLayout/ProviderSidebar.tsx +266 -0
  160. package/src/v2/navigation/DashboardLayout/Sidebar.stories.tsx +220 -0
  161. package/src/v2/navigation/DashboardLayout/TopNavigation.scss +206 -0
  162. package/src/v2/navigation/DashboardLayout/TopNavigation.tsx +279 -0
  163. package/src/v2/navigation/DashboardLayout/assets/AdminLogo.png +0 -0
  164. package/src/v2/navigation/DashboardLayout/assets/BookedLogo_Mark.png +0 -0
  165. package/src/v2/navigation/DashboardLayout/index.ts +20 -0
  166. package/src/v2/styles/index.scss +0 -1
  167. package/src/v2/styles/tokens/_colors.scss +531 -98
  168. package/dist/v2/components/Colors/Colors.d.ts +0 -21
  169. package/dist/v2/components/Colors/Colors.d.ts.map +0 -1
  170. package/dist/v2/components/Colors/index.d.ts +0 -3
  171. package/dist/v2/components/Colors/index.d.ts.map +0 -1
  172. package/dist/v2/components/Typography/Typography.d.ts +0 -11
  173. package/dist/v2/components/Typography/Typography.d.ts.map +0 -1
  174. package/dist/v2/components/Typography/index.d.ts +0 -3
  175. package/dist/v2/components/Typography/index.d.ts.map +0 -1
  176. package/src/v2/components/Colors/Colors.scss +0 -64
  177. package/src/v2/components/Colors/Colors.stories.tsx +0 -143
  178. package/src/v2/components/Colors/Colors.tsx +0 -51
  179. package/src/v2/components/Colors/ColorsAliases.stories.tsx +0 -285
  180. package/src/v2/components/Colors/Sizes.stories.tsx +0 -141
  181. package/src/v2/components/Colors/index.ts +0 -2
  182. package/src/v2/components/Typography/Typography.scss +0 -72
  183. package/src/v2/components/Typography/Typography.stories.tsx +0 -266
  184. package/src/v2/components/Typography/Typography.tsx +0 -56
  185. package/src/v2/components/Typography/index.ts +0 -2
  186. package/src/v2/styles/tokens/_aliases.scss +0 -199
@@ -0,0 +1,40 @@
1
+ import { Meta, StoryFn } from '@storybook/react-vite'
2
+ import { VenueCard, VenueCardProps } from './VenueCard'
3
+
4
+ export default {
5
+ title: 'v2/Dashboard Analytics/Venue Card',
6
+ component: VenueCard,
7
+ argTypes: {
8
+ icon: {
9
+ description: 'Icon URL for the metric',
10
+ control: 'text',
11
+ },
12
+ title: {
13
+ description: 'Title of the metric',
14
+ control: 'text',
15
+ },
16
+ value: {
17
+ description: 'Value to display',
18
+ control: 'text',
19
+ },
20
+ shadowColor: {
21
+ description: 'Shadow animation color (RGB or RGBA)',
22
+ control: 'color',
23
+ },
24
+ },
25
+ } as Meta<VenueCardProps>
26
+
27
+ const placeholderIcon = 'https://api.builder.io/api/v1/image/assets/TEMP/b44b83b1f30b882d65f942ec883e90ae34fdb2d0?placeholderIfAbsent=true'
28
+
29
+ export const Default: StoryFn<VenueCardProps> = (args: VenueCardProps) => (
30
+ <div className="w-10">
31
+ <VenueCard {...args} />
32
+ </div>
33
+ )
34
+
35
+ Default.args = {
36
+ icon: placeholderIcon,
37
+ title: 'In venue',
38
+ value: '0 people',
39
+ shadowColor: 'rgba(34, 197, 94, 1)',
40
+ }
@@ -0,0 +1,62 @@
1
+ import React, { ReactSVGElement } from 'react';
2
+ import './VenueCard.scss';
3
+
4
+ interface VenueCardProps {
5
+ icon: string | ReactSVGElement;
6
+ title: string;
7
+ value: string;
8
+ className?: string;
9
+ shadowColor?: string;
10
+ }
11
+
12
+ export const VenueCard: React.FC<VenueCardProps> = ({
13
+ icon,
14
+ title,
15
+ value,
16
+ className = '',
17
+ shadowColor = 'rgba(34, 197, 94, 1)'
18
+ }) => {
19
+ const cardClasses = [
20
+ 'venue-card',
21
+ className?.includes('no-border') && 'no-border',
22
+ className?.includes('inline-metric') && 'inline-metric',
23
+ className?.includes('h-20') && 'h-20',
24
+ className?.includes('h-16') && 'h-16',
25
+ className
26
+ ].filter(Boolean).join(' ');
27
+
28
+ return (
29
+ <div
30
+ className={cardClasses}
31
+ style={{
32
+ animation: 'shadow-pulse 3s ease-in-out infinite',
33
+ '--shadow-color': shadowColor
34
+ } as React.CSSProperties & { '--shadow-color': string }}
35
+ >
36
+ <div className="venue-card__icon-wrapper">
37
+ {typeof icon === 'string' ? (
38
+ <img
39
+ src={icon}
40
+ className="venue-card__icon"
41
+ alt={title}
42
+ />
43
+ ) : (
44
+ icon
45
+ )}
46
+ </div>
47
+
48
+ <div className="venue-card__content">
49
+ <div className="venue-card__header">
50
+ <div className="venue-card__title">
51
+ {title}
52
+ </div>
53
+ <div className="venue-card__value">
54
+ {value}
55
+ </div>
56
+ </div>
57
+ </div>
58
+ </div>
59
+ );
60
+ };
61
+
62
+ export type { VenueCardProps };
@@ -0,0 +1,2 @@
1
+ export { VenueCard } from './VenueCard'
2
+ export type { VenueCardProps } from './VenueCard'
@@ -0,0 +1,129 @@
1
+
2
+ .venue-closed-card {
3
+ width: 100%;
4
+
5
+ &__container {
6
+ border: 1px solid var(--border-primary);
7
+ position: relative;
8
+ width: 100%;
9
+ min-height: 80px;
10
+ background-color: var(--surface-primary);
11
+ padding: 16px;
12
+ border-radius: 8px;
13
+ display: flex;
14
+ align-items: center;
15
+ gap: 16px;
16
+ transition: all 0.3s ease;
17
+
18
+ &:hover {
19
+ box-shadow: 0 2px 12px rgba(82, 194, 43, 0.1);
20
+ }
21
+
22
+ @media (max-width: 1024px) {
23
+ padding: 12px;
24
+ gap: 12px;
25
+ min-height: 72px;
26
+ }
27
+ }
28
+
29
+ &__icon-wrapper {
30
+ display: flex;
31
+ align-items: center;
32
+ justify-content: center;
33
+ width: 48px;
34
+ height: 48px;
35
+ padding: 12px;
36
+ background-color: var(--surface-secondary);
37
+ border-radius: 8px;
38
+ flex-shrink: 0;
39
+
40
+ @media (max-width: 1024px) {
41
+ width: 40px;
42
+ height: 40px;
43
+ padding: 8px;
44
+ }
45
+ }
46
+
47
+ &__icon {
48
+ width: 100%;
49
+ height: 100%;
50
+ color: var(--fill-secondary);
51
+ display: flex;
52
+ align-items: center;
53
+ justify-content: center;
54
+ }
55
+
56
+ &__content {
57
+ flex: 1;
58
+ display: flex;
59
+ flex-direction: column;
60
+ gap: 4px;
61
+ }
62
+
63
+ &__title {
64
+ font-size: 13px;
65
+ font-weight: 500;
66
+ line-height: 1.2;
67
+ color: var(--label-secondary);
68
+ margin: 0;
69
+
70
+ @media (max-width: 1024px) {
71
+ font-size: 12px;
72
+ }
73
+ }
74
+
75
+ &__status {
76
+ font-size: 17px;
77
+ font-weight: 700;
78
+ line-height: 1.2;
79
+ color: var(--label-primary);
80
+ margin: 0;
81
+
82
+ @media (max-width: 1024px) {
83
+ font-size: 15px;
84
+ }
85
+ }
86
+
87
+ // Additional modifier classes
88
+ &.compact {
89
+ .venue-closed-card__container {
90
+ min-height: 64px;
91
+ padding: 12px;
92
+ }
93
+
94
+ .venue-closed-card__icon-wrapper {
95
+ width: 32px;
96
+ height: 32px;
97
+ padding: 6px;
98
+ }
99
+
100
+ .venue-closed-card__title {
101
+ font-size: 11px;
102
+ }
103
+
104
+ .venue-closed-card__status {
105
+ font-size: 14px;
106
+ }
107
+ }
108
+
109
+ &.large {
110
+ .venue-closed-card__container {
111
+ min-height: 96px;
112
+ padding: 20px;
113
+ }
114
+
115
+ .venue-closed-card__icon-wrapper {
116
+ width: 56px;
117
+ height: 56px;
118
+ padding: 14px;
119
+ }
120
+
121
+ .venue-closed-card__title {
122
+ font-size: 15px;
123
+ }
124
+
125
+ .venue-closed-card__status {
126
+ font-size: 20px;
127
+ }
128
+ }
129
+ }
@@ -0,0 +1,31 @@
1
+ import { Meta, StoryFn } from '@storybook/react-vite'
2
+ import { VenueClosedCard, VenueClosedCardProps } from './VenueClosedCard'
3
+
4
+ export default {
5
+ title: 'v2/Dashboard Analytics/Venue Closed Card',
6
+ component: VenueClosedCard,
7
+ argTypes: {
8
+ venueInfo: {
9
+ description: 'Venue information with work hours and status',
10
+ control: 'object',
11
+ },
12
+ className: {
13
+ description: 'Additional CSS classes for styling',
14
+ control: 'text',
15
+ },
16
+ },
17
+ } as Meta<VenueClosedCardProps>
18
+
19
+ export const Default: StoryFn<VenueClosedCardProps> = (args: VenueClosedCardProps) => (
20
+ <div style={{ width: '400px' }}>
21
+ <VenueClosedCard {...args} />
22
+ </div>
23
+ )
24
+
25
+ Default.args = {
26
+ venueInfo: {
27
+ company_name: "Sharky's Soft Play",
28
+ message: 'Closed until 12:00',
29
+ is_open: false,
30
+ },
31
+ }
@@ -0,0 +1,61 @@
1
+ import React from 'react';
2
+ import './VenueClosedCard.scss';
3
+
4
+ interface WorkHour {
5
+ id: number;
6
+ venue_id: number;
7
+ day: number;
8
+ start: string;
9
+ end: string;
10
+ description?: string | null;
11
+ }
12
+
13
+ interface VenueInfo {
14
+ is_open?: boolean;
15
+ status?: string;
16
+ message?: string;
17
+ closes_at?: string;
18
+ opened_at?: string;
19
+ company_name?: string;
20
+ }
21
+
22
+ interface VenueClosedCardProps {
23
+ venueInfo?: VenueInfo;
24
+ className?: string;
25
+ }
26
+
27
+ const VenueIcon = () => (
28
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" className="w-full h-full">
29
+ <path d="M22 21H2V19H3V4C3 3.44772 3.44772 3 4 3H18C18.5523 3 19 3.44772 19 4V9H21V19H22V21ZM17 19H19V11H13V19H15V13H17V19ZM17 9V5H5V19H11V9H17ZM7 11H9V13H7V11ZM7 15H9V17H7V15ZM7 7H9V9H7V7Z"/>
30
+ </svg>
31
+ );
32
+
33
+ export const VenueClosedCard: React.FC<VenueClosedCardProps> = ({
34
+ venueInfo,
35
+ className = ''
36
+ }) => {
37
+
38
+ return (
39
+ <div className={`venue-closed-card ${className}`}>
40
+ {/* Venue Status Card - Full width closed card */}
41
+ <div className="venue-closed-card__container">
42
+ <div className="venue-closed-card__icon-wrapper">
43
+ <div className="venue-closed-card__icon">
44
+ <VenueIcon />
45
+ </div>
46
+ </div>
47
+
48
+ <div className="venue-closed-card__content">
49
+ <div className="venue-closed-card__title">
50
+ {venueInfo?.company_name}
51
+ </div>
52
+ <div className="venue-closed-card__status">
53
+ {venueInfo?.message}
54
+ </div>
55
+ </div>
56
+ </div>
57
+ </div>
58
+ );
59
+ };
60
+
61
+ export type { VenueClosedCardProps, VenueInfo, WorkHour };
@@ -0,0 +1,2 @@
1
+ export { VenueClosedCard } from './VenueClosedCard'
2
+ export type { VenueClosedCardProps, VenueInfo, WorkHour } from './VenueClosedCard'