@licklist/design 0.78.18 → 0.78.20

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 (261) hide show
  1. package/.storybook/main.cjs +55 -6
  2. package/.storybook/preview.jsx +77 -7
  3. package/dist/Maintenance/Maintenance.scss.js +6 -0
  4. package/dist/Maintenance/MaintenancePage.d.ts +12 -0
  5. package/dist/Maintenance/MaintenancePage.d.ts.map +1 -0
  6. package/dist/Maintenance/MaintenancePage.js +98 -0
  7. package/dist/Maintenance/SkeletonSidebar.d.ts +5 -0
  8. package/dist/Maintenance/SkeletonSidebar.d.ts.map +1 -0
  9. package/dist/Maintenance/SkeletonSidebar.js +101 -0
  10. package/dist/PageNotFound/PageNotFound.d.ts +10 -0
  11. package/dist/PageNotFound/PageNotFound.d.ts.map +1 -0
  12. package/dist/PageNotFound/PageNotFound.js +42 -0
  13. package/dist/PageNotFound/index.d.ts +2 -0
  14. package/dist/PageNotFound/index.d.ts.map +1 -0
  15. package/dist/UnderMaintenance/UnderMaintenance.d.ts +4 -0
  16. package/dist/UnderMaintenance/UnderMaintenance.d.ts.map +1 -0
  17. package/dist/UnderMaintenance/UnderMaintenance.js +39 -0
  18. package/dist/UnderMaintenance/UnderMaintenance.scss.js +6 -0
  19. package/dist/UnderMaintenance/index.d.ts +2 -0
  20. package/dist/UnderMaintenance/index.d.ts.map +1 -0
  21. package/dist/auth/Authorizer.d.ts.map +1 -1
  22. package/dist/auth/Authorizer.js +4 -3
  23. package/dist/iframe/ProductWithModifierModal/ModifierSetModal/ProductWithModifierSetModal.js +4 -3
  24. package/dist/iframe/ProductWithModifierModal/ModifierSetModal/controll/ModifierSetControll.js +2 -1
  25. package/dist/iframe/ProductWithModifierModal/ModifierSetModal/controll/ProductControll.js +1 -1
  26. package/dist/index.d.ts +2 -0
  27. package/dist/index.d.ts.map +1 -1
  28. package/dist/index.js +2 -0
  29. package/dist/notification/components/NotificationPlaceholders.js +1 -1
  30. package/dist/product-set/form/ProductCategoriesControl.d.ts.map +1 -1
  31. package/dist/product-set/form/ProductCategoriesControl.js +13 -5
  32. package/dist/provider/provider-details-input/ProviderDetailsInput.js +1 -1
  33. package/dist/recurrence-input/RecurrenceEndInput.d.ts.map +1 -1
  34. package/dist/recurrence-input/RecurrenceEndInput.js +7 -3
  35. package/dist/sortable-tree/SortableTree.js +1 -26
  36. package/dist/styles/overrides/_functions.scss +1 -1
  37. package/dist/v2/components/Alert/Alert.d.ts +14 -0
  38. package/dist/v2/components/Alert/Alert.d.ts.map +1 -0
  39. package/dist/v2/components/Alert/index.d.ts +3 -0
  40. package/dist/v2/components/Alert/index.d.ts.map +1 -0
  41. package/dist/v2/components/Button/Button.d.ts +10 -0
  42. package/dist/v2/components/Button/Button.d.ts.map +1 -0
  43. package/dist/v2/components/Button/index.d.ts +3 -0
  44. package/dist/v2/components/Button/index.d.ts.map +1 -0
  45. package/dist/v2/components/Colors/Colors.d.ts +21 -0
  46. package/dist/v2/components/Colors/Colors.d.ts.map +1 -0
  47. package/dist/v2/components/Colors/index.d.ts +3 -0
  48. package/dist/v2/components/Colors/index.d.ts.map +1 -0
  49. package/dist/v2/components/Typography/Typography.d.ts +11 -0
  50. package/dist/v2/components/Typography/Typography.d.ts.map +1 -0
  51. package/dist/v2/components/Typography/index.d.ts +3 -0
  52. package/dist/v2/components/Typography/index.d.ts.map +1 -0
  53. package/dist/v2/hooks/useAuth.d.ts +4 -0
  54. package/dist/v2/hooks/useAuth.d.ts.map +1 -0
  55. package/dist/v2/index.d.ts +56 -0
  56. package/dist/v2/index.d.ts.map +1 -0
  57. package/dist/v2/navigation/FigmasAdminSideBar/FigmasAdminSideBar.d.ts +8 -0
  58. package/dist/v2/navigation/FigmasAdminSideBar/FigmasAdminSideBar.d.ts.map +1 -0
  59. package/dist/v2/navigation/FigmasAdminSideBar/index.d.ts +3 -0
  60. package/dist/v2/navigation/FigmasAdminSideBar/index.d.ts.map +1 -0
  61. package/dist/v2/navigation/FigmasSideBar/FigmasSideBar.d.ts +22 -0
  62. package/dist/v2/navigation/FigmasSideBar/FigmasSideBar.d.ts.map +1 -0
  63. package/dist/v2/navigation/FigmasSideBar/index.d.ts +3 -0
  64. package/dist/v2/navigation/FigmasSideBar/index.d.ts.map +1 -0
  65. package/dist/v2/navigation/FigmasTopHat/FigmasTopHat.d.ts +15 -0
  66. package/dist/v2/navigation/FigmasTopHat/FigmasTopHat.d.ts.map +1 -0
  67. package/dist/v2/navigation/FigmasTopHat/index.d.ts +3 -0
  68. package/dist/v2/navigation/FigmasTopHat/index.d.ts.map +1 -0
  69. package/dist/v2/navigation/Navigation/Navigation.d.ts +9 -0
  70. package/dist/v2/navigation/Navigation/Navigation.d.ts.map +1 -0
  71. package/dist/v2/navigation/Navigation/index.d.ts +3 -0
  72. package/dist/v2/navigation/Navigation/index.d.ts.map +1 -0
  73. package/dist/v2/navigation/NavigationItem/NavigationItem.d.ts +12 -0
  74. package/dist/v2/navigation/NavigationItem/NavigationItem.d.ts.map +1 -0
  75. package/dist/v2/navigation/NavigationItem/index.d.ts +3 -0
  76. package/dist/v2/navigation/NavigationItem/index.d.ts.map +1 -0
  77. package/dist/v2/navigation/NavigationSection/NavigationSection.d.ts +8 -0
  78. package/dist/v2/navigation/NavigationSection/NavigationSection.d.ts.map +1 -0
  79. package/dist/v2/navigation/NavigationSection/index.d.ts +3 -0
  80. package/dist/v2/navigation/NavigationSection/index.d.ts.map +1 -0
  81. package/dist/v2/navigation/SideBarToggleLarge/SideBarToggleLarge.d.ts +9 -0
  82. package/dist/v2/navigation/SideBarToggleLarge/SideBarToggleLarge.d.ts.map +1 -0
  83. package/dist/v2/navigation/SideBarToggleLarge/index.d.ts +3 -0
  84. package/dist/v2/navigation/SideBarToggleLarge/index.d.ts.map +1 -0
  85. package/dist/v2/navigation/SidebarUserElement/SidebarUserElement.d.ts +15 -0
  86. package/dist/v2/navigation/SidebarUserElement/SidebarUserElement.d.ts.map +1 -0
  87. package/dist/v2/navigation/SidebarUserElement/index.d.ts +3 -0
  88. package/dist/v2/navigation/SidebarUserElement/index.d.ts.map +1 -0
  89. package/dist/v2/navigation/SidebarWithAuth.d.ts +20 -0
  90. package/dist/v2/navigation/SidebarWithAuth.d.ts.map +1 -0
  91. package/dist/v2/navigation/TopHatControlDisc/TopHatControlDisc.d.ts +9 -0
  92. package/dist/v2/navigation/TopHatControlDisc/TopHatControlDisc.d.ts.map +1 -0
  93. package/dist/v2/navigation/TopHatControlDisc/index.d.ts +3 -0
  94. package/dist/v2/navigation/TopHatControlDisc/index.d.ts.map +1 -0
  95. package/dist/v2/navigation/config.d.ts +3 -0
  96. package/dist/v2/navigation/config.d.ts.map +1 -0
  97. package/dist/v2/navigation/icons/index.d.ts +12 -0
  98. package/dist/v2/navigation/icons/index.d.ts.map +1 -0
  99. package/dist/v2/navigation/index.d.ts +23 -0
  100. package/dist/v2/navigation/index.d.ts.map +1 -0
  101. package/dist/v2/types/navigation.d.ts +17 -0
  102. package/dist/v2/types/navigation.d.ts.map +1 -0
  103. package/package.json +2 -1
  104. package/rollup.config.js +13 -0
  105. package/src/Maintenance/Maintenance.scss +253 -0
  106. package/src/Maintenance/MaintenancePage.tsx +59 -0
  107. package/src/Maintenance/SkeletonSidebar.tsx +56 -0
  108. package/src/PageNotFound/PageNotFound.scss +8 -0
  109. package/src/PageNotFound/PageNotFound.stories.tsx +23 -0
  110. package/src/PageNotFound/PageNotFound.tsx +43 -0
  111. package/src/PageNotFound/index.ts +1 -0
  112. package/src/UnderMaintenance/UnderMaintenance.scss +6 -0
  113. package/src/UnderMaintenance/UnderMaintenance.stories.tsx +23 -0
  114. package/src/UnderMaintenance/UnderMaintenance.tsx +22 -0
  115. package/src/UnderMaintenance/index.ts +1 -0
  116. package/src/auth/Auth.stories.tsx +37 -3
  117. package/src/auth/Authorizer.tsx +3 -2
  118. package/src/auth/ChangePassword/ChangePassword.stories.tsx +1 -8
  119. package/src/auth/Login/Login.stories.tsx +1 -6
  120. package/src/auth/Logout/Logout.stories.tsx +3 -0
  121. package/src/auth/Register/Register.stories.tsx +3 -7
  122. package/src/auth/ResetPassword/ResetPassword.stories.tsx +1 -8
  123. package/src/auth/Social/Social.stories.tsx +1 -6
  124. package/src/collapsible-input-group/CollapsibleInputGroup.stories.tsx +72 -4
  125. package/src/events/edit-event-modal/component/EditEventForm/EditEventForm.stories.tsx +2 -1
  126. package/src/events/edit-recurrent-event-modal/EditRecurrentEventModal.stories.tsx +3 -2
  127. package/src/events/event-card/EventCard.stories.tsx +3 -2
  128. package/src/events/event-statistic-modal/EventStatisticModal.stories.tsx +2 -1
  129. package/src/events/event-venue-map/EventVenueMap.stories.tsx +8 -1
  130. package/src/iframe/ProductWithModifierModal/ModifierSetModal/ProductWithModifierSetModal.tsx +3 -3
  131. package/src/iframe/ProductWithModifierModal/ModifierSetModal/controll/ModifierSetControll.tsx +2 -2
  132. package/src/iframe/ProductWithModifierModal/ModifierSetModal/controll/ProductControll.tsx +1 -1
  133. package/src/iframe/custom-fields/components/CustomDateField.stories.tsx +3 -2
  134. package/src/iframe/event/event-card/IframeEventCard.stories.tsx +7 -5
  135. package/src/iframe/event/event-card/IframeEventCards.stories.tsx +7 -6
  136. package/src/iframe/event/event-description/EventDescription.stories.tsx +3 -2
  137. package/src/iframe/event/event-venue-map/IframeEventVenueMap.stories.tsx +3 -2
  138. package/src/iframe/external-modal/ExternalModal.stories.tsx +3 -0
  139. package/src/iframe/order-process/components/CalendarStepsForm/CalendarStepsForm.stories.tsx +5 -0
  140. package/src/iframe/order-process/components/NavigationSteps/NavigationSteps.stories.tsx +2 -1
  141. package/src/iframe/order-process/components/PaymentCard/PaymentCard.stories.tsx +2 -1
  142. package/src/iframe/page/Page.stories.tsx +9 -8
  143. package/src/iframe/payment/order-items-table/OrderItemsTable.stories.tsx +2 -1
  144. package/src/iframe/payment/payment-status-header/PaymentStatusHeader.stories.tsx +2 -1
  145. package/src/index.ts +2 -0
  146. package/src/logo/Logo.stories.tsx +17 -14
  147. package/src/modals/confirmation/Confirmation.stories.tsx +2 -1
  148. package/src/notification/components/NotificationPlaceholders.stories.tsx +4 -0
  149. package/src/notification/components/NotificationPlaceholders.tsx +1 -1
  150. package/src/product-set/form/ProductCategoriesControl.tsx +12 -6
  151. package/src/product-set/form/ProductSetForm.stories.tsx +13 -4
  152. package/src/provider/location-input/LocationInput.stories.tsx +47 -2
  153. package/src/provider/provider-details-input/ProviderDetailsInput.stories.tsx +10 -1
  154. package/src/provider/provider-details-input/ProviderDetailsInput.tsx +1 -1
  155. package/src/provider/provider-form/ProviderForm.stories.tsx +46 -0
  156. package/src/provider/venue-form/VenueForm.stories.tsx +49 -0
  157. package/src/recurrence-input/RecurrenceEndInput.tsx +7 -5
  158. package/src/recurrence-input/RecurrenceInput.stories.tsx +3 -0
  159. package/src/resource/form/ResourceForm.stories.tsx +2 -1
  160. package/src/sales/guest-profile/previous-bookings/PreviousBookings.stories.tsx +2 -1
  161. package/src/sales/life-time-sales/LifeTimeSalesChart.stories.tsx +2 -1
  162. package/src/sales/manual-booking/select-date-type-control/SelectDateTypeControl.stories.tsx +2 -1
  163. package/src/sales/manual-booking/select-menu/SelectMenu.stories.tsx +2 -1
  164. package/src/sales/modals/payment-modal/PaymentModal.stories.tsx +3 -2
  165. package/src/sales/modals/refund-modal/RefundModal.stories.tsx +5 -4
  166. package/src/sales/payment-form/SalePaymentForm.stories.tsx +3 -2
  167. package/src/setting/dashboard/snippet-templates/card/SnippetTemplateCard.stories.tsx +2 -1
  168. package/src/snippet/snippet-template/SnippetTemplate.stories.tsx +2 -1
  169. package/src/snippet/snippet-template/form/SnippetTemplateForm.stories.tsx +4 -2
  170. package/src/sortable-tree/SortableTree.tsx +1 -1
  171. package/src/sortable-tree/SortableTreeItem.stories.tsx +12 -14
  172. package/src/styles/overrides/_functions.scss +1 -1
  173. package/src/table/Table.stories.tsx +3 -24
  174. package/src/tiptap-editor/TipTapMenu/TipTapMenu.stories.tsx +27 -3
  175. package/src/v2/components/Alert/Alert.scss +186 -0
  176. package/src/v2/components/Alert/Alert.stories.tsx +176 -0
  177. package/src/v2/components/Alert/Alert.tsx +62 -0
  178. package/src/v2/components/Alert/assets/alert-icon.svg +3 -0
  179. package/src/v2/components/Alert/assets/error-icon.svg +3 -0
  180. package/src/v2/components/Alert/assets/info-icon.svg +3 -0
  181. package/src/v2/components/Alert/assets/success-icon.svg +3 -0
  182. package/src/v2/components/Alert/index.ts +2 -0
  183. package/src/v2/components/Button/Button.scss +19 -0
  184. package/src/v2/components/Button/Button.stories.tsx +93 -0
  185. package/src/v2/components/Button/Button.tsx +37 -0
  186. package/src/v2/components/Button/index.ts +3 -0
  187. package/src/v2/components/Colors/Colors.scss +64 -0
  188. package/src/v2/components/Colors/Colors.stories.tsx +143 -0
  189. package/src/v2/components/Colors/Colors.tsx +51 -0
  190. package/src/v2/components/Colors/ColorsAliases.stories.tsx +285 -0
  191. package/src/v2/components/Colors/Sizes.stories.tsx +141 -0
  192. package/src/v2/components/Colors/index.ts +2 -0
  193. package/src/v2/components/Typography/Typography.scss +72 -0
  194. package/src/v2/components/Typography/Typography.stories.tsx +266 -0
  195. package/src/v2/components/Typography/Typography.tsx +56 -0
  196. package/src/v2/components/Typography/index.ts +2 -0
  197. package/src/v2/hooks/useAuth.ts +40 -0
  198. package/src/v2/index.ts +105 -0
  199. package/src/v2/navigation/FigmasAdminSideBar/FigmasAdminSideBar.scss +148 -0
  200. package/src/v2/navigation/FigmasAdminSideBar/FigmasAdminSideBar.stories.tsx +132 -0
  201. package/src/v2/navigation/FigmasAdminSideBar/FigmasAdminSideBar.tsx +272 -0
  202. package/src/v2/navigation/FigmasAdminSideBar/index.ts +2 -0
  203. package/src/v2/navigation/FigmasSideBar/FigmasSideBar.scss +214 -0
  204. package/src/v2/navigation/FigmasSideBar/FigmasSideBar.stories.tsx +164 -0
  205. package/src/v2/navigation/FigmasSideBar/FigmasSideBar.tsx +310 -0
  206. package/src/v2/navigation/FigmasSideBar/index.ts +2 -0
  207. package/src/v2/navigation/FigmasTopHat/FigmasTopHat.scss +291 -0
  208. package/src/v2/navigation/FigmasTopHat/FigmasTopHat.stories.tsx +201 -0
  209. package/src/v2/navigation/FigmasTopHat/FigmasTopHat.tsx +158 -0
  210. package/src/v2/navigation/FigmasTopHat/assets/bell-icon.svg +3 -0
  211. package/src/v2/navigation/FigmasTopHat/assets/disc-icon.svg +4 -0
  212. package/src/v2/navigation/FigmasTopHat/assets/inbox-icon.svg +3 -0
  213. package/src/v2/navigation/FigmasTopHat/assets/logo-desktop-1.svg +3 -0
  214. package/src/v2/navigation/FigmasTopHat/assets/logo-desktop-2.svg +4 -0
  215. package/src/v2/navigation/FigmasTopHat/assets/user-icon.svg +4 -0
  216. package/src/v2/navigation/FigmasTopHat/index.ts +2 -0
  217. package/src/v2/navigation/Navigation/Navigation.scss +15 -0
  218. package/src/v2/navigation/Navigation/Navigation.stories.tsx +137 -0
  219. package/src/v2/navigation/Navigation/Navigation.tsx +127 -0
  220. package/src/v2/navigation/Navigation/index.ts +3 -0
  221. package/src/v2/navigation/NavigationItem/NavigationItem.scss +61 -0
  222. package/src/v2/navigation/NavigationItem/NavigationItem.stories.tsx +110 -0
  223. package/src/v2/navigation/NavigationItem/NavigationItem.tsx +38 -0
  224. package/src/v2/navigation/NavigationItem/index.ts +3 -0
  225. package/src/v2/navigation/NavigationSection/NavigationSection.scss +20 -0
  226. package/src/v2/navigation/NavigationSection/NavigationSection.tsx +19 -0
  227. package/src/v2/navigation/NavigationSection/index.ts +3 -0
  228. package/src/v2/navigation/SideBarToggleLarge/SideBarToggleLarge.scss +64 -0
  229. package/src/v2/navigation/SideBarToggleLarge/SideBarToggleLarge.stories.tsx +183 -0
  230. package/src/v2/navigation/SideBarToggleLarge/SideBarToggleLarge.tsx +30 -0
  231. package/src/v2/navigation/SideBarToggleLarge/assets/sidebar-icon.svg +5 -0
  232. package/src/v2/navigation/SideBarToggleLarge/index.ts +2 -0
  233. package/src/v2/navigation/SidebarUserElement/SidebarUserElement.scss +148 -0
  234. package/src/v2/navigation/SidebarUserElement/SidebarUserElement.stories.tsx +342 -0
  235. package/src/v2/navigation/SidebarUserElement/SidebarUserElement.tsx +113 -0
  236. package/src/v2/navigation/SidebarUserElement/index.ts +2 -0
  237. package/src/v2/navigation/SidebarWithAuth.stories.tsx +208 -0
  238. package/src/v2/navigation/SidebarWithAuth.tsx +49 -0
  239. package/src/v2/navigation/TopHatControlDisc/TopHatControlDisc.scss +57 -0
  240. package/src/v2/navigation/TopHatControlDisc/TopHatControlDisc.stories.tsx +153 -0
  241. package/src/v2/navigation/TopHatControlDisc/TopHatControlDisc.tsx +30 -0
  242. package/src/v2/navigation/TopHatControlDisc/assets/disc-icon.svg +4 -0
  243. package/src/v2/navigation/TopHatControlDisc/index.ts +2 -0
  244. package/src/v2/navigation/config.tsx +150 -0
  245. package/src/v2/navigation/icons/index.tsx +72 -0
  246. package/src/v2/navigation/index.ts +23 -0
  247. package/src/v2/styles/components/Button.scss +168 -0
  248. package/src/v2/styles/form/NewInput.scss +172 -0
  249. package/src/v2/styles/index.scss +5 -0
  250. package/src/v2/styles/navigation/Navigation.scss +17 -0
  251. package/src/v2/styles/navigation/NavigationItem.scss +86 -0
  252. package/src/v2/styles/navigation/NavigationSection.scss +26 -0
  253. package/src/v2/styles/navigation/_index.scss +9 -0
  254. package/src/v2/styles/tokens/_aliases.scss +199 -0
  255. package/src/v2/styles/tokens/_colors.scss +121 -0
  256. package/src/v2/styles/tokens/_sizes.scss +122 -0
  257. package/src/v2/styles/tokens/_status.scss +108 -0
  258. package/src/v2/styles/tokens/_typography.scss +146 -0
  259. package/src/v2/types/navigation.ts +17 -0
  260. package/src/zone/form/ZoneForm.stories.tsx +2 -1
  261. package/styles/overrides/_functions.scss +6 -0
@@ -0,0 +1,266 @@
1
+ import { Meta, StoryObj } from '@storybook/react'
2
+ import React from 'react'
3
+ import { Typography } from './Typography'
4
+
5
+ export default {
6
+ title: 'v2/Design System/Typography',
7
+ component: Typography,
8
+ argTypes: {
9
+ variant: {
10
+ control: 'select',
11
+ options: [
12
+ 'heading.xxl',
13
+ 'heading.xl',
14
+ 'heading.h1',
15
+ 'heading.h2',
16
+ 'heading.h3',
17
+ 'heading.h4',
18
+ 'heading.h5',
19
+ 'heading.h6',
20
+ 'text.xl',
21
+ 'text.large',
22
+ 'text.regular',
23
+ 'text.small',
24
+ 'text.small.emphasis',
25
+ 'text.small.bold',
26
+ 'text.xs',
27
+ 'text.xs.bold'
28
+ ],
29
+ description: 'Typography variant to apply',
30
+ },
31
+ as: {
32
+ control: 'select',
33
+ options: ['h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'p', 'span', 'div'],
34
+ description: 'HTML element to render as',
35
+ },
36
+ color: {
37
+ control: 'color',
38
+ description: 'Custom text color',
39
+ },
40
+ },
41
+ parameters: {
42
+ layout: 'padded',
43
+ },
44
+ } as Meta
45
+
46
+ type Story = StoryObj<typeof Typography>
47
+
48
+ // Headings
49
+ export const HeadingXXL: Story = {
50
+ args: {
51
+ variant: 'heading.xxl',
52
+ children: 'The all-in-one booking platform for Leisure and Hospitality Venues',
53
+ as: 'h1',
54
+ },
55
+ }
56
+
57
+ export const HeadingXL: Story = {
58
+ args: {
59
+ variant: 'heading.xl',
60
+ children: 'Extra Large Heading',
61
+ as: 'h1',
62
+ },
63
+ }
64
+
65
+ export const HeadingH1: Story = {
66
+ args: {
67
+ variant: 'heading.h1',
68
+ children: 'H1 - Large Heading',
69
+ as: 'h1',
70
+ },
71
+ }
72
+
73
+ export const HeadingH2: Story = {
74
+ args: {
75
+ variant: 'heading.h2',
76
+ children: 'H2 - Heading',
77
+ as: 'h2',
78
+ },
79
+ }
80
+
81
+ export const HeadingH3: Story = {
82
+ args: {
83
+ variant: 'heading.h3',
84
+ children: 'H3 - Heading',
85
+ as: 'h3',
86
+ },
87
+ }
88
+
89
+ export const HeadingH4: Story = {
90
+ args: {
91
+ variant: 'heading.h4',
92
+ children: 'H4 - Heading',
93
+ as: 'h4',
94
+ },
95
+ }
96
+
97
+ export const HeadingH5: Story = {
98
+ args: {
99
+ variant: 'heading.h5',
100
+ children: 'H5 - Small Heading',
101
+ as: 'h5',
102
+ },
103
+ }
104
+
105
+ export const HeadingH6: Story = {
106
+ args: {
107
+ variant: 'heading.h6',
108
+ children: 'H6 - XS Heading',
109
+ as: 'h6',
110
+ },
111
+ }
112
+
113
+ // Body Text
114
+ export const BodyTextXL: Story = {
115
+ args: {
116
+ variant: 'text.xl',
117
+ children: 'This is extra large body copy text. Integer posuere erat a ante venenatis dapibus posuere velit aliquet. Maecenas faucibus mollis interdum.',
118
+ as: 'p',
119
+ },
120
+ }
121
+
122
+ export const BodyTextLarge: Story = {
123
+ args: {
124
+ variant: 'text.large',
125
+ children: 'This is large body copy text. Integer posuere erat a ante venenatis dapibus posuere velit aliquet. Maecenas faucibus mollis interdum. Sed posuere consectetur est at lobortis.',
126
+ as: 'p',
127
+ },
128
+ }
129
+
130
+ export const BodyTextRegular: Story = {
131
+ args: {
132
+ variant: 'text.regular',
133
+ children: 'This is regular body copy text. Integer posuere erat a ante venenatis dapibus posuere velit aliquet. Maecenas faucibus mollis interdum. Sed posuere consectetur est at lobortis. Donec ullamcorper nulla non metus auctor fringilla.',
134
+ as: 'p',
135
+ },
136
+ }
137
+
138
+ export const BodyTextSmall: Story = {
139
+ args: {
140
+ variant: 'text.small',
141
+ children: 'This is small body copy text. Integer posuere erat a ante venenatis dapibus posuere velit aliquet. Maecenas faucibus mollis interdum.',
142
+ as: 'p',
143
+ },
144
+ }
145
+
146
+ export const BodyTextSmallEmphasis: Story = {
147
+ args: {
148
+ variant: 'text.small.emphasis',
149
+ children: 'This is small body copy text with emphasis. Integer posuere erat a ante venenatis dapibus posuere velit aliquet.',
150
+ as: 'p',
151
+ },
152
+ }
153
+
154
+ export const BodyTextSmallBold: Story = {
155
+ args: {
156
+ variant: 'text.small.bold',
157
+ children: 'This is small body copy text in bold. Integer posuere erat a ante venenatis dapibus posuere velit aliquet.',
158
+ as: 'p',
159
+ },
160
+ }
161
+
162
+ export const BodyTextXS: Story = {
163
+ args: {
164
+ variant: 'text.xs',
165
+ children: 'This is extra small body copy text. Integer posuere erat a ante venenatis dapibus posuere velit aliquet.',
166
+ as: 'p',
167
+ },
168
+ }
169
+
170
+ export const BodyTextXSBold: Story = {
171
+ args: {
172
+ variant: 'text.xs.bold',
173
+ children: 'This is extra small body copy text in bold. Integer posuere erat a ante venenatis dapibus posuere velit aliquet.',
174
+ as: 'p',
175
+ },
176
+ }
177
+
178
+ // Showcase all variations
179
+ export const AllHeadingVariations: Story = {
180
+ render: () => (
181
+ <div style={{ display: 'flex', flexDirection: 'column', gap: '24px' }}>
182
+ <Typography variant="heading.xxl" as="h1">
183
+ XXL Heading
184
+ </Typography>
185
+ <Typography variant="heading.xl" as="h1">
186
+ XL Heading
187
+ </Typography>
188
+ <Typography variant="heading.h1" as="h1">
189
+ H1 - Large Heading
190
+ </Typography>
191
+ <Typography variant="heading.h2" as="h2">
192
+ H2 - Heading
193
+ </Typography>
194
+ <Typography variant="heading.h3" as="h3">
195
+ H3 - Heading
196
+ </Typography>
197
+ <Typography variant="heading.h4" as="h4">
198
+ H4 - Heading
199
+ </Typography>
200
+ <Typography variant="heading.h5" as="h5">
201
+ H5 - Small Heading
202
+ </Typography>
203
+ <Typography variant="heading.h6" as="h6">
204
+ H6 - XS Heading
205
+ </Typography>
206
+ </div>
207
+ ),
208
+ }
209
+
210
+ export const AllBodyVariations: Story = {
211
+ render: () => (
212
+ <div style={{ display: 'flex', flexDirection: 'column', gap: '16px' }}>
213
+ <Typography variant="text.xl" as="p">
214
+ Extra large body copy text
215
+ </Typography>
216
+ <Typography variant="text.large" as="p">
217
+ Large body copy text
218
+ </Typography>
219
+ <Typography variant="text.regular" as="p">
220
+ Regular body copy text
221
+ </Typography>
222
+ <Typography variant="text.small" as="p">
223
+ Small body copy text
224
+ </Typography>
225
+ <Typography variant="text.small.emphasis" as="p">
226
+ Small body copy text with emphasis
227
+ </Typography>
228
+ <Typography variant="text.small.bold" as="p">
229
+ Small body copy text in bold
230
+ </Typography>
231
+ <Typography variant="text.xs" as="p">
232
+ Extra small body copy text
233
+ </Typography>
234
+ <Typography variant="text.xs.bold" as="p">
235
+ Extra small body copy text in bold
236
+ </Typography>
237
+ </div>
238
+ ),
239
+ }
240
+
241
+ // Usage examples
242
+ export const UsageExample: Story = {
243
+ render: () => (
244
+ <div style={{ padding: '24px' }}>
245
+ <Typography variant="heading.h1" as="h1">
246
+ Page Title
247
+ </Typography>
248
+ <Typography variant="text.regular" as="p" className="mt-3">
249
+ This is regular body text that flows naturally below the heading.
250
+ </Typography>
251
+ <Typography variant="heading.h2" as="h2" className="mt-8">
252
+ Section Heading
253
+ </Typography>
254
+ <Typography variant="text.regular" as="p" className="mt-3">
255
+ This is another paragraph of regular text that provides additional context
256
+ and details for the section above.
257
+ </Typography>
258
+ <Typography variant="heading.h4" as="h4" className="mt-6">
259
+ Subsection
260
+ </Typography>
261
+ <Typography variant="text.small" as="p" className="mt-2">
262
+ This is small text used for less prominent information.
263
+ </Typography>
264
+ </div>
265
+ ),
266
+ }
@@ -0,0 +1,56 @@
1
+ import React from 'react'
2
+
3
+ export type TypographyVariant =
4
+ | 'heading.xxl'
5
+ | 'heading.xl'
6
+ | 'heading.h1'
7
+ | 'heading.h2'
8
+ | 'heading.h3'
9
+ | 'heading.h4'
10
+ | 'heading.h5'
11
+ | 'heading.h6'
12
+ | 'text.xl'
13
+ | 'text.large'
14
+ | 'text.regular'
15
+ | 'text.small'
16
+ | 'text.small.emphasis'
17
+ | 'text.small.bold'
18
+ | 'text.xs'
19
+ | 'text.xs.bold'
20
+
21
+ export interface TypographyProps {
22
+ variant?: TypographyVariant
23
+ className?: string
24
+ children: React.ReactNode
25
+ as?: keyof JSX.IntrinsicElements
26
+ color?: string
27
+ }
28
+
29
+ export const Typography: React.FC<TypographyProps> = ({
30
+ variant = 'text.regular',
31
+ className = '',
32
+ children,
33
+ as = 'p',
34
+ color
35
+ }) => {
36
+ const Component = as
37
+
38
+ const getTypographyClass = (variant: TypographyVariant): string => {
39
+ const baseClass = `typography-${variant.replace(/\./g, '-')}`
40
+ return baseClass
41
+ }
42
+
43
+ const classes = [
44
+ 'typography',
45
+ getTypographyClass(variant),
46
+ className
47
+ ].filter(Boolean).join(' ')
48
+
49
+ const style = color ? { color } : {}
50
+
51
+ return (
52
+ <Component className={classes} style={style}>
53
+ {children}
54
+ </Component>
55
+ )
56
+ }
@@ -0,0 +1,2 @@
1
+ export { Typography } from './Typography'
2
+ export type { TypographyProps, TypographyVariant } from './Typography'
@@ -0,0 +1,40 @@
1
+ import { useMemo } from 'react'
2
+ import type { AuthCredentials, NavigationItem } from '../types/navigation'
3
+
4
+ export const useAuth = (): AuthCredentials => {
5
+ // TODO: Replace with your actual auth logic
6
+ // This is just an example - you'd get this from your auth context/Redux/state management
7
+ const authState = {
8
+ roles: ['admin', 'venue_manager'],
9
+ permissions: ['view_reports', 'manage_bookings', 'send_messages', 'view_customers', 'view_analytics', 'manage_venue_settings'],
10
+ isAdmin: true,
11
+ isVenueUser: true,
12
+ venueId: '123'
13
+ }
14
+
15
+ return useMemo(() => authState, [])
16
+ }
17
+
18
+ export const useCanAccess = (credentials: AuthCredentials, item: NavigationItem): boolean => {
19
+ // Check admin only
20
+ if (item.adminOnly && !credentials.isAdmin) return false
21
+
22
+ // Check venue required
23
+ if (item.venueRequired && !credentials.isVenueUser) return false
24
+
25
+ // Check roles
26
+ if (item.requiredRoles && item.requiredRoles.length > 0) {
27
+ const hasRole = item.requiredRoles.some(role => credentials.roles.includes(role))
28
+ if (!hasRole) return false
29
+ }
30
+
31
+ // Check permissions
32
+ if (item.requiredPermissions && item.requiredPermissions.length > 0) {
33
+ const hasPermission = item.requiredPermissions.some(perm =>
34
+ credentials.permissions.includes(perm)
35
+ )
36
+ if (!hasPermission) return false
37
+ }
38
+
39
+ return true
40
+ }
@@ -0,0 +1,105 @@
1
+ /**
2
+ * V2 Design System - Main Export File
3
+ *
4
+ * This file exports all components, hooks, types, and utilities from the V2 design system.
5
+ * The V2 design system is built from Figma designs and includes:
6
+ * - Design tokens (colors, typography, spacing, etc.)
7
+ * - UI components (Alert, Button, etc.)
8
+ * - Navigation components (TopHat, Sidebar, etc.)
9
+ * - Hooks and utilities
10
+ */
11
+
12
+ // ============================================================================
13
+ // Components
14
+ // ============================================================================
15
+
16
+ // Alert Component
17
+ export { Alert } from './components/Alert'
18
+ export type { AlertProps, AlertVariant } from './components/Alert'
19
+
20
+ // Button Component
21
+ export { Button } from './components/Button'
22
+ export type { ButtonProps } from './components/Button'
23
+
24
+ // Colors Showcase
25
+ export { ColorsShowcase, ColorSwatch } from './components/Colors'
26
+ export type { ColorGroup } from './components/Colors'
27
+
28
+ // Typography Component
29
+ export { Typography } from './components/Typography'
30
+ export type { TypographyProps, TypographyVariant } from './components/Typography'
31
+
32
+ // ============================================================================
33
+ // Navigation Components
34
+ // ============================================================================
35
+
36
+ // Core Navigation
37
+ export { Navigation } from './navigation/Navigation'
38
+ export type { NavigationProps } from './navigation/Navigation'
39
+
40
+ // Navigation Building Blocks
41
+ export { NavigationItem } from './navigation/NavigationItem'
42
+ export type { NavigationItemProps } from './navigation/NavigationItem'
43
+
44
+ export { NavigationSection } from './navigation/NavigationSection'
45
+ export type { NavigationSectionProps } from './navigation/NavigationSection'
46
+
47
+ // Figma-based Navigation Components
48
+ export { FigmasSideBar } from './navigation/FigmasSideBar'
49
+ export type { FigmasSideBarProps } from './navigation/FigmasSideBar'
50
+
51
+ export { FigmasAdminSideBar } from './navigation/FigmasAdminSideBar'
52
+ export type { FigmasAdminSideBarProps } from './navigation/FigmasAdminSideBar'
53
+
54
+ export { FigmasTopHat } from './navigation/FigmasTopHat'
55
+ export type { FigmasTopHatProps } from './navigation/FigmasTopHat'
56
+
57
+ // Navigation Controls
58
+ export { TopHatControlDisc } from './navigation/TopHatControlDisc'
59
+ export type { TopHatControlDiscProps } from './navigation/TopHatControlDisc'
60
+
61
+ export { SideBarToggleLarge } from './navigation/SideBarToggleLarge'
62
+ export type { SideBarToggleLargeProps } from './navigation/SideBarToggleLarge'
63
+
64
+ export { SidebarUserElement } from './navigation/SidebarUserElement'
65
+ export type { SidebarUserElementProps } from './navigation/SidebarUserElement'
66
+
67
+ // Navigation with Auth
68
+ export { SidebarWithAuth } from './navigation/SidebarWithAuth'
69
+ export type { SidebarWithAuthProps } from './navigation/SidebarWithAuth'
70
+
71
+ // Navigation Configuration
72
+ export { NAVIGATION_ITEMS } from './navigation/config'
73
+
74
+ // Navigation Icons
75
+ export * from './navigation/icons'
76
+
77
+ // ============================================================================
78
+ // Hooks
79
+ // ============================================================================
80
+
81
+ export { useAuth, useCanAccess } from './hooks/useAuth'
82
+
83
+ // ============================================================================
84
+ // Types
85
+ // ============================================================================
86
+
87
+ export type { NavigationItem, AuthCredentials } from './types/navigation'
88
+
89
+ // ============================================================================
90
+ // Design Tokens
91
+ // ============================================================================
92
+
93
+ /**
94
+ * Design tokens are available as SCSS imports from:
95
+ * - @/v2/styles/tokens/_colors.scss
96
+ * - @/v2/styles/tokens/_typography.scss
97
+ * - @/v2/styles/tokens/_sizes.scss
98
+ * - @/v2/styles/tokens/_status.scss
99
+ * - @/v2/styles/tokens/_aliases.scss
100
+ *
101
+ * Component styles are available from:
102
+ * - @/v2/styles/components/Button.scss
103
+ * - @/v2/styles/form/NewInput.scss
104
+ * - @/v2/styles/navigation/*.scss
105
+ */
@@ -0,0 +1,148 @@
1
+ @import '../../../styles/overrides/functions';
2
+
3
+ .figmas-admin-sidebar {
4
+ background: var(--surfaces-main-background-secondary, #F8F8FA);
5
+ border-right: 1px solid var(--borders-main-border-primary, #E8E9EF);
6
+ box-sizing: border-box;
7
+ display: flex;
8
+ flex-direction: column;
9
+ align-items: flex-start;
10
+ padding: 8px;
11
+ height: 100%;
12
+ overflow-y: auto;
13
+ transition: all 0.3s ease;
14
+
15
+ &--expanded {
16
+ width: 268px;
17
+ }
18
+
19
+ &--collapsed {
20
+ width: 72px;
21
+ }
22
+
23
+ &__top {
24
+ display: flex;
25
+ flex-direction: column;
26
+ gap: 4px;
27
+ align-items: flex-start;
28
+ width: 100%;
29
+ }
30
+
31
+ &__links {
32
+ box-sizing: border-box;
33
+ display: flex;
34
+ flex-direction: column;
35
+ gap: 4px;
36
+ align-items: flex-start;
37
+ padding: 0 8px;
38
+ width: 100%;
39
+ }
40
+
41
+ &__section-label {
42
+ box-sizing: border-box;
43
+ display: flex;
44
+ flex-direction: column;
45
+ gap: 8px;
46
+ align-items: flex-start;
47
+ justify-content: center;
48
+ padding: 8px 8px 0;
49
+ width: 100%;
50
+ }
51
+
52
+ &__label-text {
53
+ font-family: 'Geist', -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', sans-serif;
54
+ font-weight: 500;
55
+ font-size: 13px;
56
+ line-height: 16px;
57
+ color: var(--labels-main-label-secondary, #626A90);
58
+ margin: 0;
59
+ text-transform: none !important; // Override any global uppercase rules
60
+ }
61
+
62
+ &__link-item {
63
+ display: flex;
64
+ align-items: flex-start;
65
+ width: 100%;
66
+ }
67
+
68
+ &__link {
69
+ box-sizing: border-box;
70
+ display: flex;
71
+ flex: 1 0 0;
72
+ gap: 8px;
73
+ align-items: center;
74
+ min-height: 0;
75
+ min-width: 0;
76
+ padding: 8px;
77
+ border-radius: 8px;
78
+ cursor: pointer;
79
+ transition: all 0.2s ease;
80
+ text-decoration: none;
81
+ outline: none;
82
+
83
+ &:hover {
84
+ background: linear-gradient(225deg, var(--gradients-stop1, #6200EE) 0%, var(--gradients-stop2, #5D5BF4) 50%, var(--gradients-stop3, #0E8CE2) 100%);
85
+
86
+ .figmas-admin-sidebar__icon svg,
87
+ .figmas-admin-sidebar__icon path {
88
+ fill: var(--fills-main-fill-white, white);
89
+ color: var(--fills-main-fill-white, white);
90
+ }
91
+
92
+ .figmas-admin-sidebar__link-text {
93
+ color: var(--labels-main-label-white, white);
94
+ }
95
+ }
96
+
97
+ &:focus-visible {
98
+ outline: 2px solid var(--fills-main-fill-primary, #14215A);
99
+ outline-offset: 2px;
100
+ }
101
+ }
102
+
103
+ &__icon {
104
+ overflow: hidden;
105
+ position: relative;
106
+ border-radius: 6px;
107
+ flex-shrink: 0;
108
+ width: 24px;
109
+ height: 24px;
110
+
111
+ svg {
112
+ width: 100%;
113
+ height: 100%;
114
+ }
115
+ }
116
+
117
+ &__link-text {
118
+ font-family: 'Geist', -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', sans-serif;
119
+ font-weight: 500;
120
+ font-size: 13px;
121
+ line-height: 16px;
122
+ color: var(--labels-main-label-primary, #121E52);
123
+ margin: 0;
124
+ flex-shrink: 0;
125
+ }
126
+
127
+ // Collapsed state adjustments
128
+ &--collapsed {
129
+ .figmas-admin-sidebar__link {
130
+ justify-content: center;
131
+ gap: 0;
132
+ }
133
+
134
+ .figmas-admin-sidebar__link-text {
135
+ display: none;
136
+ }
137
+
138
+ .figmas-admin-sidebar__section-label {
139
+ padding: 10px 0 0;
140
+ align-items: center;
141
+ }
142
+
143
+ .figmas-admin-sidebar__label-text {
144
+ font-size: 11px;
145
+ line-height: 14px;
146
+ }
147
+ }
148
+ }