@licklist/design 0.78.19 → 0.78.21

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 (268) 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/auth/Layout/UserNavDropDown.js +1 -1
  24. package/dist/auth/Login/LoginComponent.d.ts.map +1 -1
  25. package/dist/auth/Login/LoginComponent.js +8 -6
  26. package/dist/auth/Logout/Logout.js +1 -1
  27. package/dist/iframe/ProductWithModifierModal/ModifierSetModal/ProductWithModifierSetModal.js +4 -3
  28. package/dist/iframe/ProductWithModifierModal/ModifierSetModal/controll/ModifierSetControll.js +2 -1
  29. package/dist/iframe/ProductWithModifierModal/ModifierSetModal/controll/ProductControll.js +1 -1
  30. package/dist/index.d.ts +2 -0
  31. package/dist/index.d.ts.map +1 -1
  32. package/dist/index.js +2 -0
  33. package/dist/notification/components/NotificationPlaceholders.js +1 -1
  34. package/dist/product-set/form/ProductCategoriesControl.d.ts.map +1 -1
  35. package/dist/product-set/form/ProductCategoriesControl.js +13 -5
  36. package/dist/provider/provider-details-input/ProviderDetailsInput.js +1 -1
  37. package/dist/recurrence-input/RecurrenceEndInput.d.ts.map +1 -1
  38. package/dist/recurrence-input/RecurrenceEndInput.js +7 -3
  39. package/dist/sortable-tree/SortableTree.js +1 -26
  40. package/dist/styles/overrides/_functions.scss +1 -1
  41. package/dist/v2/components/Alert/Alert.d.ts +14 -0
  42. package/dist/v2/components/Alert/Alert.d.ts.map +1 -0
  43. package/dist/v2/components/Alert/index.d.ts +3 -0
  44. package/dist/v2/components/Alert/index.d.ts.map +1 -0
  45. package/dist/v2/components/Button/Button.d.ts +10 -0
  46. package/dist/v2/components/Button/Button.d.ts.map +1 -0
  47. package/dist/v2/components/Button/index.d.ts +3 -0
  48. package/dist/v2/components/Button/index.d.ts.map +1 -0
  49. package/dist/v2/components/Colors/Colors.d.ts +21 -0
  50. package/dist/v2/components/Colors/Colors.d.ts.map +1 -0
  51. package/dist/v2/components/Colors/index.d.ts +3 -0
  52. package/dist/v2/components/Colors/index.d.ts.map +1 -0
  53. package/dist/v2/components/Typography/Typography.d.ts +11 -0
  54. package/dist/v2/components/Typography/Typography.d.ts.map +1 -0
  55. package/dist/v2/components/Typography/index.d.ts +3 -0
  56. package/dist/v2/components/Typography/index.d.ts.map +1 -0
  57. package/dist/v2/hooks/useAuth.d.ts +4 -0
  58. package/dist/v2/hooks/useAuth.d.ts.map +1 -0
  59. package/dist/v2/index.d.ts +56 -0
  60. package/dist/v2/index.d.ts.map +1 -0
  61. package/dist/v2/navigation/FigmasAdminSideBar/FigmasAdminSideBar.d.ts +8 -0
  62. package/dist/v2/navigation/FigmasAdminSideBar/FigmasAdminSideBar.d.ts.map +1 -0
  63. package/dist/v2/navigation/FigmasAdminSideBar/index.d.ts +3 -0
  64. package/dist/v2/navigation/FigmasAdminSideBar/index.d.ts.map +1 -0
  65. package/dist/v2/navigation/FigmasSideBar/FigmasSideBar.d.ts +22 -0
  66. package/dist/v2/navigation/FigmasSideBar/FigmasSideBar.d.ts.map +1 -0
  67. package/dist/v2/navigation/FigmasSideBar/index.d.ts +3 -0
  68. package/dist/v2/navigation/FigmasSideBar/index.d.ts.map +1 -0
  69. package/dist/v2/navigation/FigmasTopHat/FigmasTopHat.d.ts +15 -0
  70. package/dist/v2/navigation/FigmasTopHat/FigmasTopHat.d.ts.map +1 -0
  71. package/dist/v2/navigation/FigmasTopHat/index.d.ts +3 -0
  72. package/dist/v2/navigation/FigmasTopHat/index.d.ts.map +1 -0
  73. package/dist/v2/navigation/Navigation/Navigation.d.ts +9 -0
  74. package/dist/v2/navigation/Navigation/Navigation.d.ts.map +1 -0
  75. package/dist/v2/navigation/Navigation/index.d.ts +3 -0
  76. package/dist/v2/navigation/Navigation/index.d.ts.map +1 -0
  77. package/dist/v2/navigation/NavigationItem/NavigationItem.d.ts +12 -0
  78. package/dist/v2/navigation/NavigationItem/NavigationItem.d.ts.map +1 -0
  79. package/dist/v2/navigation/NavigationItem/index.d.ts +3 -0
  80. package/dist/v2/navigation/NavigationItem/index.d.ts.map +1 -0
  81. package/dist/v2/navigation/NavigationSection/NavigationSection.d.ts +8 -0
  82. package/dist/v2/navigation/NavigationSection/NavigationSection.d.ts.map +1 -0
  83. package/dist/v2/navigation/NavigationSection/index.d.ts +3 -0
  84. package/dist/v2/navigation/NavigationSection/index.d.ts.map +1 -0
  85. package/dist/v2/navigation/SideBarToggleLarge/SideBarToggleLarge.d.ts +9 -0
  86. package/dist/v2/navigation/SideBarToggleLarge/SideBarToggleLarge.d.ts.map +1 -0
  87. package/dist/v2/navigation/SideBarToggleLarge/index.d.ts +3 -0
  88. package/dist/v2/navigation/SideBarToggleLarge/index.d.ts.map +1 -0
  89. package/dist/v2/navigation/SidebarUserElement/SidebarUserElement.d.ts +15 -0
  90. package/dist/v2/navigation/SidebarUserElement/SidebarUserElement.d.ts.map +1 -0
  91. package/dist/v2/navigation/SidebarUserElement/index.d.ts +3 -0
  92. package/dist/v2/navigation/SidebarUserElement/index.d.ts.map +1 -0
  93. package/dist/v2/navigation/SidebarWithAuth.d.ts +20 -0
  94. package/dist/v2/navigation/SidebarWithAuth.d.ts.map +1 -0
  95. package/dist/v2/navigation/TopHatControlDisc/TopHatControlDisc.d.ts +9 -0
  96. package/dist/v2/navigation/TopHatControlDisc/TopHatControlDisc.d.ts.map +1 -0
  97. package/dist/v2/navigation/TopHatControlDisc/index.d.ts +3 -0
  98. package/dist/v2/navigation/TopHatControlDisc/index.d.ts.map +1 -0
  99. package/dist/v2/navigation/config.d.ts +3 -0
  100. package/dist/v2/navigation/config.d.ts.map +1 -0
  101. package/dist/v2/navigation/icons/index.d.ts +12 -0
  102. package/dist/v2/navigation/icons/index.d.ts.map +1 -0
  103. package/dist/v2/navigation/index.d.ts +23 -0
  104. package/dist/v2/navigation/index.d.ts.map +1 -0
  105. package/dist/v2/types/navigation.d.ts +17 -0
  106. package/dist/v2/types/navigation.d.ts.map +1 -0
  107. package/package.json +4 -3
  108. package/rollup.config.js +13 -0
  109. package/src/Maintenance/Maintenance.scss +253 -0
  110. package/src/Maintenance/MaintenancePage.tsx +59 -0
  111. package/src/Maintenance/SkeletonSidebar.tsx +56 -0
  112. package/src/PageNotFound/PageNotFound.scss +8 -0
  113. package/src/PageNotFound/PageNotFound.stories.tsx +23 -0
  114. package/src/PageNotFound/PageNotFound.tsx +43 -0
  115. package/src/PageNotFound/index.ts +1 -0
  116. package/src/UnderMaintenance/UnderMaintenance.scss +6 -0
  117. package/src/UnderMaintenance/UnderMaintenance.stories.tsx +23 -0
  118. package/src/UnderMaintenance/UnderMaintenance.tsx +22 -0
  119. package/src/UnderMaintenance/index.ts +1 -0
  120. package/src/auth/Auth.stories.tsx +37 -3
  121. package/src/auth/Authorizer.tsx +3 -2
  122. package/src/auth/ChangePassword/ChangePassword.stories.tsx +1 -8
  123. package/src/auth/Layout/UserNavDropDown.tsx +1 -1
  124. package/src/auth/Login/Login.stories.tsx +1 -6
  125. package/src/auth/Login/LoginComponent.tsx +7 -5
  126. package/src/auth/Logout/Logout.stories.tsx +3 -0
  127. package/src/auth/Logout/Logout.tsx +1 -1
  128. package/src/auth/Register/Register.stories.tsx +3 -7
  129. package/src/auth/ResetPassword/ResetPassword.stories.tsx +1 -8
  130. package/src/auth/Social/Social.stories.tsx +1 -6
  131. package/src/collapsible-input-group/CollapsibleInputGroup.stories.tsx +72 -4
  132. package/src/events/edit-event-modal/component/EditEventForm/EditEventForm.stories.tsx +2 -1
  133. package/src/events/edit-recurrent-event-modal/EditRecurrentEventModal.stories.tsx +3 -2
  134. package/src/events/event-card/EventCard.stories.tsx +3 -2
  135. package/src/events/event-statistic-modal/EventStatisticModal.stories.tsx +2 -1
  136. package/src/events/event-venue-map/EventVenueMap.stories.tsx +8 -1
  137. package/src/iframe/ProductWithModifierModal/ModifierSetModal/ProductWithModifierSetModal.tsx +3 -3
  138. package/src/iframe/ProductWithModifierModal/ModifierSetModal/controll/ModifierSetControll.tsx +2 -2
  139. package/src/iframe/ProductWithModifierModal/ModifierSetModal/controll/ProductControll.tsx +1 -1
  140. package/src/iframe/custom-fields/components/CustomDateField.stories.tsx +3 -2
  141. package/src/iframe/event/event-card/IframeEventCard.stories.tsx +7 -5
  142. package/src/iframe/event/event-card/IframeEventCards.stories.tsx +7 -6
  143. package/src/iframe/event/event-description/EventDescription.stories.tsx +3 -2
  144. package/src/iframe/event/event-venue-map/IframeEventVenueMap.stories.tsx +3 -2
  145. package/src/iframe/external-modal/ExternalModal.stories.tsx +3 -0
  146. package/src/iframe/order-process/components/CalendarStepsForm/CalendarStepsForm.stories.tsx +5 -0
  147. package/src/iframe/order-process/components/NavigationSteps/NavigationSteps.stories.tsx +2 -1
  148. package/src/iframe/order-process/components/PaymentCard/PaymentCard.stories.tsx +2 -1
  149. package/src/iframe/page/Page.stories.tsx +9 -8
  150. package/src/iframe/payment/order-items-table/OrderItemsTable.stories.tsx +2 -1
  151. package/src/iframe/payment/payment-status-header/PaymentStatusHeader.stories.tsx +2 -1
  152. package/src/index.ts +2 -0
  153. package/src/logo/Logo.stories.tsx +17 -14
  154. package/src/modals/confirmation/Confirmation.stories.tsx +2 -1
  155. package/src/notification/components/NotificationPlaceholders.stories.tsx +4 -0
  156. package/src/notification/components/NotificationPlaceholders.tsx +1 -1
  157. package/src/product-set/form/ProductCategoriesControl.tsx +12 -6
  158. package/src/product-set/form/ProductSetForm.stories.tsx +13 -4
  159. package/src/provider/location-input/LocationInput.stories.tsx +47 -2
  160. package/src/provider/provider-details-input/ProviderDetailsInput.stories.tsx +10 -1
  161. package/src/provider/provider-details-input/ProviderDetailsInput.tsx +1 -1
  162. package/src/provider/provider-form/ProviderForm.stories.tsx +46 -0
  163. package/src/provider/venue-form/VenueForm.stories.tsx +49 -0
  164. package/src/recurrence-input/RecurrenceEndInput.tsx +7 -5
  165. package/src/recurrence-input/RecurrenceInput.stories.tsx +3 -0
  166. package/src/resource/form/ResourceForm.stories.tsx +2 -1
  167. package/src/sales/guest-profile/previous-bookings/PreviousBookings.stories.tsx +2 -1
  168. package/src/sales/life-time-sales/LifeTimeSalesChart.stories.tsx +2 -1
  169. package/src/sales/manual-booking/select-date-type-control/SelectDateTypeControl.stories.tsx +2 -1
  170. package/src/sales/manual-booking/select-menu/SelectMenu.stories.tsx +2 -1
  171. package/src/sales/modals/payment-modal/PaymentModal.stories.tsx +3 -2
  172. package/src/sales/modals/refund-modal/RefundModal.stories.tsx +5 -4
  173. package/src/sales/payment-form/SalePaymentForm.stories.tsx +3 -2
  174. package/src/setting/dashboard/snippet-templates/card/SnippetTemplateCard.stories.tsx +2 -1
  175. package/src/snippet/snippet-template/SnippetTemplate.stories.tsx +2 -1
  176. package/src/snippet/snippet-template/form/SnippetTemplateForm.stories.tsx +4 -2
  177. package/src/sortable-tree/SortableTree.tsx +1 -1
  178. package/src/sortable-tree/SortableTreeItem.stories.tsx +12 -14
  179. package/src/styles/overrides/_functions.scss +1 -1
  180. package/src/table/Table.stories.tsx +3 -24
  181. package/src/tiptap-editor/TipTapMenu/TipTapMenu.stories.tsx +27 -3
  182. package/src/v2/components/Alert/Alert.scss +186 -0
  183. package/src/v2/components/Alert/Alert.stories.tsx +176 -0
  184. package/src/v2/components/Alert/Alert.tsx +62 -0
  185. package/src/v2/components/Alert/assets/alert-icon.svg +3 -0
  186. package/src/v2/components/Alert/assets/error-icon.svg +3 -0
  187. package/src/v2/components/Alert/assets/info-icon.svg +3 -0
  188. package/src/v2/components/Alert/assets/success-icon.svg +3 -0
  189. package/src/v2/components/Alert/index.ts +2 -0
  190. package/src/v2/components/Button/Button.scss +19 -0
  191. package/src/v2/components/Button/Button.stories.tsx +93 -0
  192. package/src/v2/components/Button/Button.tsx +37 -0
  193. package/src/v2/components/Button/index.ts +3 -0
  194. package/src/v2/components/Colors/Colors.scss +64 -0
  195. package/src/v2/components/Colors/Colors.stories.tsx +143 -0
  196. package/src/v2/components/Colors/Colors.tsx +51 -0
  197. package/src/v2/components/Colors/ColorsAliases.stories.tsx +285 -0
  198. package/src/v2/components/Colors/Sizes.stories.tsx +141 -0
  199. package/src/v2/components/Colors/index.ts +2 -0
  200. package/src/v2/components/Typography/Typography.scss +72 -0
  201. package/src/v2/components/Typography/Typography.stories.tsx +266 -0
  202. package/src/v2/components/Typography/Typography.tsx +56 -0
  203. package/src/v2/components/Typography/index.ts +2 -0
  204. package/src/v2/hooks/useAuth.ts +40 -0
  205. package/src/v2/index.ts +105 -0
  206. package/src/v2/navigation/FigmasAdminSideBar/FigmasAdminSideBar.scss +148 -0
  207. package/src/v2/navigation/FigmasAdminSideBar/FigmasAdminSideBar.stories.tsx +132 -0
  208. package/src/v2/navigation/FigmasAdminSideBar/FigmasAdminSideBar.tsx +272 -0
  209. package/src/v2/navigation/FigmasAdminSideBar/index.ts +2 -0
  210. package/src/v2/navigation/FigmasSideBar/FigmasSideBar.scss +214 -0
  211. package/src/v2/navigation/FigmasSideBar/FigmasSideBar.stories.tsx +164 -0
  212. package/src/v2/navigation/FigmasSideBar/FigmasSideBar.tsx +310 -0
  213. package/src/v2/navigation/FigmasSideBar/index.ts +2 -0
  214. package/src/v2/navigation/FigmasTopHat/FigmasTopHat.scss +291 -0
  215. package/src/v2/navigation/FigmasTopHat/FigmasTopHat.stories.tsx +201 -0
  216. package/src/v2/navigation/FigmasTopHat/FigmasTopHat.tsx +158 -0
  217. package/src/v2/navigation/FigmasTopHat/assets/bell-icon.svg +3 -0
  218. package/src/v2/navigation/FigmasTopHat/assets/disc-icon.svg +4 -0
  219. package/src/v2/navigation/FigmasTopHat/assets/inbox-icon.svg +3 -0
  220. package/src/v2/navigation/FigmasTopHat/assets/logo-desktop-1.svg +3 -0
  221. package/src/v2/navigation/FigmasTopHat/assets/logo-desktop-2.svg +4 -0
  222. package/src/v2/navigation/FigmasTopHat/assets/user-icon.svg +4 -0
  223. package/src/v2/navigation/FigmasTopHat/index.ts +2 -0
  224. package/src/v2/navigation/Navigation/Navigation.scss +15 -0
  225. package/src/v2/navigation/Navigation/Navigation.stories.tsx +137 -0
  226. package/src/v2/navigation/Navigation/Navigation.tsx +127 -0
  227. package/src/v2/navigation/Navigation/index.ts +3 -0
  228. package/src/v2/navigation/NavigationItem/NavigationItem.scss +61 -0
  229. package/src/v2/navigation/NavigationItem/NavigationItem.stories.tsx +110 -0
  230. package/src/v2/navigation/NavigationItem/NavigationItem.tsx +38 -0
  231. package/src/v2/navigation/NavigationItem/index.ts +3 -0
  232. package/src/v2/navigation/NavigationSection/NavigationSection.scss +20 -0
  233. package/src/v2/navigation/NavigationSection/NavigationSection.tsx +19 -0
  234. package/src/v2/navigation/NavigationSection/index.ts +3 -0
  235. package/src/v2/navigation/SideBarToggleLarge/SideBarToggleLarge.scss +64 -0
  236. package/src/v2/navigation/SideBarToggleLarge/SideBarToggleLarge.stories.tsx +183 -0
  237. package/src/v2/navigation/SideBarToggleLarge/SideBarToggleLarge.tsx +30 -0
  238. package/src/v2/navigation/SideBarToggleLarge/assets/sidebar-icon.svg +5 -0
  239. package/src/v2/navigation/SideBarToggleLarge/index.ts +2 -0
  240. package/src/v2/navigation/SidebarUserElement/SidebarUserElement.scss +148 -0
  241. package/src/v2/navigation/SidebarUserElement/SidebarUserElement.stories.tsx +342 -0
  242. package/src/v2/navigation/SidebarUserElement/SidebarUserElement.tsx +113 -0
  243. package/src/v2/navigation/SidebarUserElement/index.ts +2 -0
  244. package/src/v2/navigation/SidebarWithAuth.stories.tsx +208 -0
  245. package/src/v2/navigation/SidebarWithAuth.tsx +49 -0
  246. package/src/v2/navigation/TopHatControlDisc/TopHatControlDisc.scss +57 -0
  247. package/src/v2/navigation/TopHatControlDisc/TopHatControlDisc.stories.tsx +153 -0
  248. package/src/v2/navigation/TopHatControlDisc/TopHatControlDisc.tsx +30 -0
  249. package/src/v2/navigation/TopHatControlDisc/assets/disc-icon.svg +4 -0
  250. package/src/v2/navigation/TopHatControlDisc/index.ts +2 -0
  251. package/src/v2/navigation/config.tsx +150 -0
  252. package/src/v2/navigation/icons/index.tsx +72 -0
  253. package/src/v2/navigation/index.ts +23 -0
  254. package/src/v2/styles/components/Button.scss +168 -0
  255. package/src/v2/styles/form/NewInput.scss +172 -0
  256. package/src/v2/styles/index.scss +5 -0
  257. package/src/v2/styles/navigation/Navigation.scss +17 -0
  258. package/src/v2/styles/navigation/NavigationItem.scss +86 -0
  259. package/src/v2/styles/navigation/NavigationSection.scss +26 -0
  260. package/src/v2/styles/navigation/_index.scss +9 -0
  261. package/src/v2/styles/tokens/_aliases.scss +199 -0
  262. package/src/v2/styles/tokens/_colors.scss +121 -0
  263. package/src/v2/styles/tokens/_sizes.scss +122 -0
  264. package/src/v2/styles/tokens/_status.scss +108 -0
  265. package/src/v2/styles/tokens/_typography.scss +146 -0
  266. package/src/v2/types/navigation.ts +17 -0
  267. package/src/zone/form/ZoneForm.stories.tsx +2 -1
  268. package/styles/overrides/_functions.scss +6 -0
@@ -20,7 +20,8 @@ export default {
20
20
  } as Meta
21
21
 
22
22
  export const Default: Story<ProductSetFormProps> = (args) => {
23
- const providerHasMap = boolean('providerHasMap', true)
23
+ // TODO: Replace with Storybook controls
24
+ const providerHasMap = true
24
25
 
25
26
  return (
26
27
  <ProductSetForm {...args} providerHasMap={providerHasMap} isCreateAction />
@@ -28,7 +29,8 @@ export const Default: Story<ProductSetFormProps> = (args) => {
28
29
  }
29
30
 
30
31
  export const Empty: Story<ProductSetFormProps> = (args) => {
31
- const providerHasMap = boolean('providerHasMap', true)
32
+ // TODO: Replace with Storybook controls
33
+ const providerHasMap = true
32
34
 
33
35
  return (
34
36
  <ProductSetForm {...args} providerHasMap={providerHasMap} isCreateAction />
@@ -36,13 +38,15 @@ export const Empty: Story<ProductSetFormProps> = (args) => {
36
38
  }
37
39
 
38
40
  export const Valid: Story<ProductSetFormProps> = (args) => {
39
- const providerHasMap = boolean('providerHasMap', true)
41
+ // TODO: Replace with Storybook controls
42
+ const providerHasMap = true
40
43
 
41
44
  return <ProductSetForm {...args} providerHasMap={providerHasMap} />
42
45
  }
43
46
 
44
47
  export const ServerErrors: Story<ProductSetFormProps> = (args) => {
45
- const providerHasMap = boolean('providerHasMap', true)
48
+ // TODO: Replace with Storybook controls
49
+ const providerHasMap = true
46
50
 
47
51
  return <ProductSetForm {...args} providerHasMap={providerHasMap} />
48
52
  }
@@ -119,6 +123,7 @@ Default.args = {
119
123
  minSubItems: 1,
120
124
  maxSubItems: 10,
121
125
  quantityType: 'constant',
126
+ type: 'menuItems',
122
127
  isTimeRelated: false,
123
128
  hasTicket: false,
124
129
  allowDeposits: false,
@@ -187,10 +192,12 @@ Default.args = {
187
192
  minSubItems: 0,
188
193
  maxSubItems: 0,
189
194
  quantityType: 'recharging',
195
+ type: 'menuItems',
190
196
  isTimeRelated: false,
191
197
  hasTicket: false,
192
198
  allowDeposits: false,
193
199
  hasBookingManagement: false,
200
+ products: [],
194
201
  sort: 1,
195
202
  },
196
203
  ],
@@ -258,6 +265,7 @@ Default.args = {
258
265
  minSubItems: 0,
259
266
  maxSubItems: 0,
260
267
  quantityType: 'recharging',
268
+ type: 'menuItems',
261
269
  isTimeRelated: false,
262
270
  hasTicket: false,
263
271
  allowDeposits: false,
@@ -343,6 +351,7 @@ Default.args = {
343
351
  minSubItems: 0,
344
352
  maxSubItems: null,
345
353
  quantityType: 'recharging',
354
+ type: 'menuItems',
346
355
  isTimeRelated: false,
347
356
  hasTicket: false,
348
357
  allowDeposits: false,
@@ -1,5 +1,7 @@
1
1
  import { Meta, Story } from '@storybook/react-vite'
2
2
  import { FormProvider, useForm } from 'react-hook-form'
3
+ import { useQueryClient } from 'react-query'
4
+ import { TimeZonePath } from '@licklist/plugins'
3
5
  import { LocationInputValues } from '.'
4
6
  import { LocationInput } from './LocationInput'
5
7
  import { LocationInputDescription } from './LocationInputDescription'
@@ -14,19 +16,62 @@ const defaultValues: LocationInputValues = {
14
16
  state: 'Essex',
15
17
  country: 'GB',
16
18
  },
19
+ timeZoneId: '',
20
+ }
21
+
22
+ // Mock timezone data for Storybook
23
+ const mockTimezones = [
24
+ { id: 1, name: 'Europe/London' },
25
+ { id: 2, name: 'America/New_York' },
26
+ { id: 3, name: 'America/Los_Angeles' },
27
+ { id: 4, name: 'Europe/Paris' },
28
+ { id: 5, name: 'Asia/Tokyo' },
29
+ ]
30
+
31
+ // Decorator to mock timezone query data
32
+ const withMockedTimezones = (Story) => {
33
+ const QueryClientWrapper = () => {
34
+ const queryClient = useQueryClient()
35
+ const path = '/api/timezones' as TimeZonePath
36
+
37
+ // Set query data synchronously before first render
38
+ // Try all possible query key formats
39
+ const queryKeys = [
40
+ [path, 'all'],
41
+ ['timezones', path, 'all'],
42
+ ['timeZone', path],
43
+ [path],
44
+ ['useTimeZoneApi', path, 'all'],
45
+ ]
46
+
47
+ queryKeys.forEach((key) => {
48
+ queryClient.setQueryData(key, mockTimezones)
49
+ })
50
+
51
+ // Also set query defaults to return mock data if query key doesn't match
52
+ queryClient.setQueryDefaults([path], {
53
+ queryFn: () => Promise.resolve(mockTimezones),
54
+ initialData: mockTimezones,
55
+ })
56
+
57
+ return <Story />
58
+ }
59
+
60
+ return <QueryClientWrapper />
17
61
  }
18
62
 
19
63
  export default {
20
64
  title: 'Provider/LocationInput',
21
65
  component: LocationInput,
22
66
  subcomponents: { LocationInputDescription },
67
+ decorators: [withMockedTimezones],
23
68
  } as Meta
24
69
 
25
70
  export const Default: Story = (args) => {
26
71
  const form = useForm<LocationInputValues>({ defaultValues })
27
72
  return (
28
73
  <FormProvider {...form}>
29
- <LocationInput {...args} />
74
+ <LocationInput path={'/api/timezones' as TimeZonePath} {...args} />
30
75
  </FormProvider>
31
76
  )
32
77
  }
@@ -35,7 +80,7 @@ export const Description: Story = (args) => {
35
80
  const form = useForm<LocationInputValues>({ defaultValues })
36
81
  return (
37
82
  <FormProvider {...form}>
38
- <LocationInputDescription {...args} />
83
+ <LocationInputDescription path={'/api/timezones' as TimeZonePath} {...args} />
39
84
  </FormProvider>
40
85
  )
41
86
  }
@@ -12,7 +12,16 @@ export default {
12
12
  } as Meta
13
13
 
14
14
  export const Default: Story<ProviderDetailsInputProps> = (args) => {
15
- const form = useForm<ProviderDetailsInputValues>()
15
+ const form = useForm<ProviderDetailsInputValues>({
16
+ defaultValues: {
17
+ name: '',
18
+ description: '',
19
+ email: '',
20
+ phone: '',
21
+ website: '',
22
+ images: [],
23
+ },
24
+ })
16
25
  return (
17
26
  <FormProvider {...form}>
18
27
  <ProviderDetailsInput {...args} />
@@ -46,7 +46,7 @@ export function ProviderDetailsInput({
46
46
  const websiteId = useId()
47
47
  const companyId = useId()
48
48
 
49
- const description = watch('description')
49
+ const description = watch('description') || ''
50
50
 
51
51
  useEffect(() => {
52
52
  if (MAX_DESCRIPTION_CHARACTERS_LENGTH > description.length) return
@@ -1,4 +1,6 @@
1
1
  import { Meta, Story } from '@storybook/react-vite'
2
+ import { useQueryClient } from 'react-query'
3
+ import { TimeZonePath } from '@licklist/plugins'
2
4
  import {
3
5
  ProviderForm,
4
6
  ProviderFormProps,
@@ -31,9 +33,51 @@ const defaultValues: ProviderFormValues = {
31
33
  state: 'Essex',
32
34
  country: 'GB',
33
35
  },
36
+ timeZoneId: '',
34
37
  images: [],
35
38
  }
36
39
 
40
+ // Mock timezone data for Storybook
41
+ const mockTimezones = [
42
+ { id: 1, name: 'Europe/London' },
43
+ { id: 2, name: 'America/New_York' },
44
+ { id: 3, name: 'America/Los_Angeles' },
45
+ { id: 4, name: 'Europe/Paris' },
46
+ { id: 5, name: 'Asia/Tokyo' },
47
+ ]
48
+
49
+ // Decorator to mock timezone query data
50
+ const withMockedTimezones = (Story) => {
51
+ const QueryClientWrapper = () => {
52
+ const queryClient = useQueryClient()
53
+ const path = '/api/timezones' as TimeZonePath
54
+
55
+ // Set query data synchronously before first render
56
+ // Try all possible query key formats
57
+ const queryKeys = [
58
+ [path, 'all'],
59
+ ['timezones', path, 'all'],
60
+ ['timeZone', path],
61
+ [path],
62
+ ['useTimeZoneApi', path, 'all'],
63
+ ]
64
+
65
+ queryKeys.forEach((key) => {
66
+ queryClient.setQueryData(key, mockTimezones)
67
+ })
68
+
69
+ // Also set query defaults to return mock data if query key doesn't match
70
+ queryClient.setQueryDefaults([path], {
71
+ queryFn: () => Promise.resolve(mockTimezones),
72
+ initialData: mockTimezones,
73
+ })
74
+
75
+ return <Story />
76
+ }
77
+
78
+ return <QueryClientWrapper />
79
+ }
80
+
37
81
  const linkTypes = ['Facebook', 'Twitter', 'Other'].map((name, id) => ({
38
82
  name,
39
83
  id: `${id}`,
@@ -42,6 +86,7 @@ const linkTypes = ['Facebook', 'Twitter', 'Other'].map((name, id) => ({
42
86
  export default {
43
87
  title: 'Provider/ProviderForm',
44
88
  component: ProviderForm,
89
+ decorators: [withMockedTimezones],
45
90
  } as Meta
46
91
 
47
92
  export const Default: Story<ProviderFormProps> = (args) => (
@@ -59,4 +104,5 @@ Default.args = {
59
104
  { id: 3, value: 'user3', label: 'User3' },
60
105
  ],
61
106
  hasPermission: true,
107
+ path: '/api/timezones' as TimeZonePath,
62
108
  }
@@ -1,4 +1,6 @@
1
1
  import { Meta, Story } from '@storybook/react-vite'
2
+ import { useQueryClient } from 'react-query'
3
+ import { TimeZonePath } from '@licklist/plugins'
2
4
  import { VenueForm, VenueFormProps, VenueFormValues } from './VenueForm'
3
5
 
4
6
  const categories = Array.from({ length: 6 }, (_, i) => ({
@@ -50,6 +52,7 @@ const defaultValues: VenueFormValues = {
50
52
  state: 'Essex',
51
53
  country: 'GB',
52
54
  },
55
+ timeZoneId: '',
53
56
  workingHours: [
54
57
  { start: '08:00', end: '18:00', description: 'Description' },
55
58
  undefined,
@@ -58,6 +61,47 @@ const defaultValues: VenueFormValues = {
58
61
  images: [],
59
62
  }
60
63
 
64
+ // Mock timezone data for Storybook
65
+ const mockTimezones = [
66
+ { id: 1, name: 'Europe/London' },
67
+ { id: 2, name: 'America/New_York' },
68
+ { id: 3, name: 'America/Los_Angeles' },
69
+ { id: 4, name: 'Europe/Paris' },
70
+ { id: 5, name: 'Asia/Tokyo' },
71
+ ]
72
+
73
+ // Decorator to mock timezone query data
74
+ const withMockedTimezones = (Story) => {
75
+ const QueryClientWrapper = () => {
76
+ const queryClient = useQueryClient()
77
+ const path = '/api/timezones' as TimeZonePath
78
+
79
+ // Set query data synchronously before first render
80
+ // Try all possible query key formats
81
+ const queryKeys = [
82
+ [path, 'all'],
83
+ ['timezones', path, 'all'],
84
+ ['timeZone', path],
85
+ [path],
86
+ ['useTimeZoneApi', path, 'all'],
87
+ ]
88
+
89
+ queryKeys.forEach((key) => {
90
+ queryClient.setQueryData(key, mockTimezones)
91
+ })
92
+
93
+ // Also set query defaults to return mock data if query key doesn't match
94
+ queryClient.setQueryDefaults([path], {
95
+ queryFn: () => Promise.resolve(mockTimezones),
96
+ initialData: mockTimezones,
97
+ })
98
+
99
+ return <Story />
100
+ }
101
+
102
+ return <QueryClientWrapper />
103
+ }
104
+
61
105
  const linkTypes = ['Facebook', 'Twitter', 'Other'].map((name, id) => ({
62
106
  id: `${id}`,
63
107
  name,
@@ -66,6 +110,7 @@ const linkTypes = ['Facebook', 'Twitter', 'Other'].map((name, id) => ({
66
110
  export default {
67
111
  title: 'Provider/VenueForm',
68
112
  component: VenueForm,
113
+ decorators: [withMockedTimezones],
69
114
  } as Meta
70
115
 
71
116
  export const Default: Story<VenueFormProps> = (args) => <VenueForm {...args} />
@@ -75,10 +120,14 @@ export const WithDefaultValues: Story<VenueFormProps> = (args) => (
75
120
  Default.args = {
76
121
  categories,
77
122
  linkTypes,
123
+ path: '/api/timezones' as TimeZonePath,
124
+ onSubmit: (values) => console.log(values),
78
125
  }
79
126
  WithDefaultValues.args = {
80
127
  defaultValues,
81
128
  categories,
82
129
  linkTypes,
83
130
  errorResponse,
131
+ path: '/api/timezones' as TimeZonePath,
132
+ onSubmit: (values) => console.log(values),
84
133
  }
@@ -35,14 +35,16 @@ function RecurrenceEndInput({
35
35
  const dateInput = useRef<HTMLInputDateElement | null>(null)
36
36
 
37
37
  useEffect(() => {
38
- const untilDatetime = DateTime.fromFormat(
39
- until ?? getUntil({ date, frequency }),
40
- DATE_FORMAT,
41
- )
38
+ if (!minDate) return
42
39
 
40
+ const untilValue = until ?? getUntil({ date, frequency })
41
+ // getUntil returns ISO date, so use fromISO; until prop should also be ISO format
42
+ const untilDatetime = DateTime.fromISO(untilValue)
43
+
44
+ // minDate should be in DATE_FORMAT, so use fromFormat
43
45
  const minDatetime = DateTime.fromFormat(minDate, DATE_FORMAT)
44
46
 
45
- if (minDatetime > untilDatetime) {
47
+ if (untilDatetime.isValid && minDatetime.isValid && minDatetime > untilDatetime) {
46
48
  onChange({ until: minDate })
47
49
  }
48
50
  }, [minDate, onChange, until, date, frequency])
@@ -17,4 +17,7 @@ export const Default: Story<RecurrenceInputProps> = (args) => (
17
17
  )
18
18
  Default.args = {
19
19
  date: DateTime.now().toISODate(),
20
+ onChange: (value: string) => {
21
+ console.log('onChange called with:', value)
22
+ },
20
23
  }
@@ -9,7 +9,8 @@ export default {
9
9
  } as Meta
10
10
 
11
11
  export const Default: Story<ResourceFormProps> = (args) => {
12
- const isLoading = boolean('isLoading', false)
12
+ // TODO: Replace with Storybook controls
13
+ const isLoading = false
13
14
  return <ResourceForm {...args} isLoading={isLoading} />
14
15
  }
15
16
 
@@ -11,7 +11,8 @@ export default {
11
11
  } as Meta
12
12
 
13
13
  export const Default = (args) => {
14
- const useProviderLink = boolean('useProviderLink', true)
14
+ // TODO: Replace with Storybook controls
15
+ const useProviderLink = true
15
16
 
16
17
  const renderOrderTitleLinkByProvider = (order: Order) => {
17
18
  return (
@@ -47,7 +47,8 @@ const data: LifeTimeSalesData[] = [
47
47
  ]
48
48
 
49
49
  export const Default: Story<any> = (args) => {
50
- const isLoading = boolean('isLoading', true)
50
+ // TODO: Replace with Storybook controls
51
+ const isLoading = true
51
52
 
52
53
  return (
53
54
  <div style={{ height: '250px', width: '370px' }}>
@@ -13,7 +13,8 @@ export const Default: Story<any> = (args) => {
13
13
  undefined,
14
14
  )
15
15
  const [orderDate, setOrderDate] = useState<string>('2018-07-22')
16
- const showTypeSelect = boolean('showTypeSelect', true)
16
+ // TODO: Replace with Storybook controls
17
+ const showTypeSelect = true
17
18
 
18
19
  return (
19
20
  <div style={{ height: '250px', width: '370px' }}>
@@ -148,7 +148,8 @@ const tranformedMenus = transformMenus([
148
148
  ])
149
149
 
150
150
  export const Default: Story<SelectMenuProps> = () => {
151
- const isLoading = boolean('isLoading', false)
151
+ // TODO: Replace with Storybook controls
152
+ const isLoading = false
152
153
 
153
154
  return (
154
155
  <SelectMenu
@@ -17,8 +17,9 @@ const Component = () => {
17
17
  const [isVisible, setIsVisible] = useState(false)
18
18
  const [isValid, setIsValid] = useState(false)
19
19
  const [ryftInitFailure, setRyftInitFailure] = useState(false)
20
- const isLoading = boolean('isLoading', false)
21
- const remainingToPay = number('remainingToPay', 10)
20
+ // TODO: Replace with Storybook controls
21
+ const isLoading = false
22
+ const remainingToPay = 10
22
23
  const { formValues } = useContext(SalePaymentFormContext)
23
24
 
24
25
  const ryftPayment = useRyftPayment()
@@ -10,10 +10,11 @@ export default {
10
10
 
11
11
  export const Default: Story<RefundModalProps> = () => {
12
12
  const [isVisible, setIsVisible] = useState(false)
13
- const isFullRefund = boolean('isFullRefund', false)
14
- const isLoading = boolean('isLoading', false)
15
- const defaultValue = number('defaultValue', 0)
16
- const maxValue = number('maxValue', 0)
13
+ // TODO: Replace with Storybook controls
14
+ const isFullRefund = false
15
+ const isLoading = false
16
+ const defaultValue = 0
17
+ const maxValue = 0
17
18
 
18
19
  const onSubmit = (value: number | undefined) => {
19
20
  console.log(value)
@@ -15,8 +15,9 @@ export default {
15
15
  } as Meta
16
16
  // @TODO add ryft script in Storybook <head>
17
17
  export const Default: Story<SalePaymentFormProps> = () => {
18
- const showAmountField = boolean('showAmountField', true)
19
- const calculatedAmount = number('calculatedAmount', 50)
18
+ // TODO: Replace with Storybook controls
19
+ const showAmountField = true
20
+ const calculatedAmount = 50
20
21
  const [isValid, setIsValid] = useState(false)
21
22
  const [ryftInitFailure, setRyftInitFailure] = useState(false)
22
23
 
@@ -11,7 +11,8 @@ export default {
11
11
  } as Meta
12
12
 
13
13
  export const Default: Story<SnippetTemplateCardProps> = (args) => {
14
- const isDefault = boolean('isDefault', false)
14
+ // TODO: Replace with Storybook controls
15
+ const isDefault = false
15
16
  return <SnippetTemplateCard {...args} isDefault={isDefault} />
16
17
  }
17
18
 
@@ -9,7 +9,8 @@ export default {
9
9
  } as Meta
10
10
 
11
11
  export const Default: Story<SnippetTemplateProps> = (args) => {
12
- const providerHasMap = boolean('providerHasMap', true)
12
+ // TODO: Replace with Storybook controls
13
+ const providerHasMap = true
13
14
 
14
15
  return <SnippetTemplate {...args} providerHasMap={providerHasMap} />
15
16
  }
@@ -54,7 +54,8 @@ const defaultValues = {
54
54
  }
55
55
 
56
56
  export const Default: Story<SnippetTemplateFormProps> = (args) => {
57
- const providerHasMap = boolean('providerHasMap', true)
57
+ // TODO: Replace with Storybook controls
58
+ const providerHasMap = true
58
59
 
59
60
  return (
60
61
  <SnippetTemplateLoadingContextProvider>
@@ -68,7 +69,8 @@ export const Default: Story<SnippetTemplateFormProps> = (args) => {
68
69
  }
69
70
 
70
71
  export const ServerError: Story<SnippetTemplateFormProps> = (args) => {
71
- const providerHasMap = boolean('providerHasMap', true)
72
+ // TODO: Replace with Storybook controls
73
+ const providerHasMap = true
72
74
 
73
75
  return (
74
76
  <SnippetTemplateLoadingContextProvider>
@@ -20,7 +20,7 @@ export function SortableTree({
20
20
  sensors,
21
21
  }: PropsWithChildren<SortableTreeProps>) {
22
22
  return (
23
- <DndContext onDragEnd={onDragEnd} sensors={[...sensors]}>
23
+ <DndContext onDragEnd={onDragEnd} sensors={sensors ?? []}>
24
24
  <SortableContext items={items} strategy={verticalListSortingStrategy}>
25
25
  {children}
26
26
  </SortableContext>
@@ -1,3 +1,4 @@
1
+ import { useMemo } from 'react'
1
2
  import { DndContext } from '@dnd-kit/core'
2
3
  import { SortableContext, verticalListSortingStrategy } from '@dnd-kit/sortable'
3
4
  import { Meta, Story } from '@storybook/react-vite'
@@ -9,20 +10,17 @@ export default {
9
10
  component: SortableTreeItem,
10
11
  } as Meta
11
12
 
12
- export const Default: Story<SortableTreeItemProps> = (args) => (
13
- <DndContext>
14
- <SortableContext items={[args.id]} strategy={verticalListSortingStrategy}>
15
- {[1, 2, 3].map((item) => (
16
- <SortableTreeItem
17
- {...args}
18
- id={String(item)}
19
- title={`Step number ${item}`}
20
- />
21
- ))}
22
- <SortableTreeItem {...args} />
23
- </SortableContext>
24
- </DndContext>
25
- )
13
+ export const Default: Story<SortableTreeItemProps> = (args) => {
14
+ const items = useMemo(() => [args.id], [args.id])
15
+
16
+ return (
17
+ <DndContext>
18
+ <SortableContext items={items} strategy={verticalListSortingStrategy}>
19
+ <SortableTreeItem {...args} />
20
+ </SortableContext>
21
+ </DndContext>
22
+ )
23
+ }
26
24
 
27
25
  Default.args = {
28
26
  id: '4',
@@ -3,4 +3,4 @@
3
3
  // size in scalable pixels (0.25rem by default)
4
4
  @function sp($value) {
5
5
  @return calc($value / 4 * $font-size-base);
6
- }
6
+ }
@@ -2,7 +2,6 @@ import ILengthAwarePaginator from '@licklist/plugins/dist/types/services/Table/I
2
2
  import { Meta, Story } from '@storybook/react-vite'
3
3
  import { range } from 'lodash'
4
4
  import { useRef } from 'react'
5
- import { Router } from '../auth/Router'
6
5
  import {
7
6
  FilterHelperComponent as FilterHelper,
8
7
  FilterHelperComponentProps,
@@ -33,13 +32,7 @@ export default {
33
32
 
34
33
  export const TableHelperComponent: Story<TableHelperComponentProps> = (
35
34
  args,
36
- ) => (
37
- <>
38
- <Router>
39
- <TableHelper {...args} />
40
- </Router>
41
- </>
42
- )
35
+ ) => <TableHelper {...args} />
43
36
  export const FilterHelperComponent: Story<FilterHelperComponentProps> = (
44
37
  args,
45
38
  ) => <FilterHelper {...args} />
@@ -54,13 +47,7 @@ export const PerPageHelperComponent: Story<PerPageHelperComponentProps> = (
54
47
 
55
48
  export const ReactTableHelperComponent: Story<
56
49
  ReactTableHelperComponentProps<any>
57
- > = (args) => (
58
- <>
59
- <Router>
60
- <ReactTableHelper {...args} />
61
- </Router>
62
- </>
63
- )
50
+ > = (args) => <ReactTableHelper {...args} />
64
51
 
65
52
  const ComponentInsideRouter = (args) => {
66
53
  const ref = useRef<ReactTableHelperComponentRef>(null)
@@ -76,15 +63,7 @@ const ComponentInsideRouter = (args) => {
76
63
 
77
64
  export const ReactTableHelperComponentWithColumns: Story<
78
65
  ReactTableHelperComponentProps<any>
79
- > = (args) => {
80
- return (
81
- <>
82
- <Router>
83
- <ComponentInsideRouter {...args} />
84
- </Router>
85
- </>
86
- )
87
- }
66
+ > = (args) => <ComponentInsideRouter {...args} />
88
67
 
89
68
  const getPaginator = (perPage, items = 100) =>
90
69
  ({
@@ -1,10 +1,22 @@
1
1
  import { TipTapMenu } from './TipTapMenu'
2
2
  import { useEditor } from '@tiptap/react'
3
3
  import { Meta } from '@storybook/react-vite'
4
- import TaskList from '@tiptap/extension-task-list'
5
- import TaskItem from '@tiptap/extension-task-item'
4
+ import Bold from '@tiptap/extension-bold'
6
5
  import Text from '@tiptap/extension-text'
6
+ import Blockquote from '@tiptap/extension-blockquote'
7
+ import BulletList from '@tiptap/extension-bullet-list'
7
8
  import Document from '@tiptap/extension-document'
9
+ import Heading from '@tiptap/extension-heading'
10
+ import History from '@tiptap/extension-history'
11
+ import HorizontalRule from '@tiptap/extension-horizontal-rule'
12
+ import Italic from '@tiptap/extension-italic'
13
+ import ListItem from '@tiptap/extension-list-item'
14
+ import OrderedList from '@tiptap/extension-ordered-list'
15
+ import Paragraph from '@tiptap/extension-paragraph'
16
+ import Strike from '@tiptap/extension-strike'
17
+ import TaskList from '@tiptap/extension-task-list'
18
+ import TaskItem from '@tiptap/extension-task-item'
19
+ import HardBreak from '@tiptap/extension-hard-break'
8
20
 
9
21
  import { EmojiReplacer } from './extensions/EmojiReplacer'
10
22
 
@@ -16,8 +28,20 @@ export default {
16
28
  export const Default = () => {
17
29
  const editor = useEditor({
18
30
  extensions: [
19
- Text,
31
+ Blockquote,
32
+ BulletList,
33
+ Heading,
34
+ History,
35
+ HorizontalRule,
36
+ Strike,
37
+ Paragraph,
38
+ OrderedList,
39
+ ListItem,
40
+ Italic,
20
41
  Document,
42
+ Text,
43
+ Bold,
44
+ HardBreak,
21
45
  TaskList,
22
46
  TaskItem.configure({
23
47
  nested: true,