@licklist/design 0.72.73 → 0.74.0-dev.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (224) hide show
  1. package/dist/affiliate/form/AffiliateForm.d.ts.map +1 -1
  2. package/dist/auth/Authorizer.d.ts.map +1 -1
  3. package/dist/auth/Authorizer.js +2 -1
  4. package/dist/auth/Login/LoginComponent.js +2 -1
  5. package/dist/auth/Router.d.ts.map +1 -1
  6. package/dist/auth/Router.js +18 -14
  7. package/dist/events/edit-event-modal/component/SelectEventProductSet/component/EditEventProductSet.js +2 -1
  8. package/dist/events/edit-event-modal/utils/getDefaultProductSet.js +1 -1
  9. package/dist/events/event-statistic-modal/EventStatisticModal.d.ts +2 -1
  10. package/dist/events/event-statistic-modal/EventStatisticModal.d.ts.map +1 -1
  11. package/dist/events/event-statistic-modal/EventStatisticModal.js +2 -2
  12. package/dist/events/event-statistic-modal/hooks/useTableData.d.ts +1 -1
  13. package/dist/events/event-statistic-modal/hooks/useTableData.d.ts.map +1 -1
  14. package/dist/events/event-statistic-modal/hooks/useTableData.js +2 -1
  15. package/dist/events/event-statistic-modal/utils/index.js +3 -3
  16. package/dist/events/event-venue-map/EventVenueMap.d.ts.map +1 -1
  17. package/dist/events/event-venue-map/EventVenueMap.js +1 -0
  18. package/dist/events/event-venue-map/hooks/useCanvasSize.d.ts.map +1 -1
  19. package/dist/events/event-venue-map/hooks/useCanvasSize.js +11 -4
  20. package/dist/iframe/ProductWithModifierModal/ModifierSetModal/ProductWithModifierSetModal.js +2 -3
  21. package/dist/iframe/ProductWithModifierModal/ModifierSetModal/controll/ModifierSetControll.d.ts.map +1 -1
  22. package/dist/iframe/ProductWithModifierModal/ModifierSetModal/controll/ModifierSetControll.js +4 -11
  23. package/dist/iframe/order-process/components/BookingSummary/components/ProductSummary/ProductSummary.d.ts.map +1 -1
  24. package/dist/iframe/order-process/components/CategoryProduct/components/NumberInput/NumberInput.d.ts.map +1 -1
  25. package/dist/iframe/order-process/components/CategoryProduct/components/NumberInput/NumberInput.js +13 -0
  26. package/dist/iframe/payment/order-items-table/utils/paymentSummary.d.ts.map +1 -1
  27. package/dist/iframe/ryft/utils/ryft-form.d.ts.map +1 -1
  28. package/dist/iframe/ryft/utils/ryft-form.js +4 -5
  29. package/dist/index.d.ts +0 -1
  30. package/dist/index.d.ts.map +1 -1
  31. package/dist/index.js +0 -6
  32. package/dist/layout/DropDown.d.ts +2 -1
  33. package/dist/layout/DropDown.d.ts.map +1 -1
  34. package/dist/notification/email-template/control/EmailTemplateControl.d.ts.map +1 -1
  35. package/dist/notification/email-template/control/EmailTemplateControl.js +3 -0
  36. package/dist/product-set/control/ProductSetControl.d.ts +2 -0
  37. package/dist/product-set/control/ProductSetControl.d.ts.map +1 -1
  38. package/dist/product-set/control/ProductSetControl.js +10 -0
  39. package/dist/product-set/form/ProductSetForm.d.ts +5 -3
  40. package/dist/product-set/form/ProductSetForm.d.ts.map +1 -1
  41. package/dist/product-set/form/ProductSetForm.js +1 -1
  42. package/dist/product-set/form/ProductZonesControl.d.ts.map +1 -1
  43. package/dist/product-set/form/ProductZonesControl.js +0 -2
  44. package/dist/product-set/form/ProductsControl.d.ts.map +1 -1
  45. package/dist/product-set/form/ProductsControl.js +3 -0
  46. package/dist/product-set/form/SubProductsControl.d.ts.map +1 -1
  47. package/dist/product-set/form/SubProductsControl.js +0 -3
  48. package/dist/product-set/form/VenueMapsControl.d.ts.map +1 -1
  49. package/dist/product-set/form/VenueMapsControl.js +0 -3
  50. package/dist/product-set/form/context.d.ts +1 -2
  51. package/dist/product-set/form/context.d.ts.map +1 -1
  52. package/dist/product-set/product/ProductControl.d.ts +2 -0
  53. package/dist/product-set/product/ProductControl.d.ts.map +1 -1
  54. package/dist/product-set/product/ProductControl.js +7 -0
  55. package/dist/product-set/product/booking-management/ProductBookingManagementControl.d.ts.map +1 -1
  56. package/dist/product-set/product/booking-management/ProductBookingManagementControl.js +6 -0
  57. package/dist/product-set/product/deposit/ProductDepositControl.d.ts.map +1 -1
  58. package/dist/product-set/product/deposit/ProductDepositControl.js +3 -0
  59. package/dist/product-set/product/duration/ProductDurationControl.d.ts.map +1 -1
  60. package/dist/product-set/product/duration/ProductDurationControl.js +6 -0
  61. package/dist/product-set/product/price/ProductPriceControl.d.ts.map +1 -1
  62. package/dist/product-set/product/price/ProductPriceControl.js +3 -0
  63. package/dist/product-set/product/quantity/ProductQuantityConstantControl.d.ts.map +1 -1
  64. package/dist/product-set/product/quantity/ProductQuantityConstantControl.js +6 -0
  65. package/dist/product-set/product/quantity/ProductQuantityControl.d.ts.map +1 -1
  66. package/dist/product-set/product/quantity/ProductQuantityControl.js +6 -0
  67. package/dist/product-set/product/quantity/ProductQuantityRechargingControl.d.ts.map +1 -1
  68. package/dist/product-set/product/quantity/ProductQuantityRechargingControl.js +4 -1
  69. package/dist/product-set/product/scanRange/ProductScanRangeControl.d.ts +12 -0
  70. package/dist/product-set/product/scanRange/ProductScanRangeControl.d.ts.map +1 -0
  71. package/dist/product-set/product/scanRange/ProductScanRangeControl.js +153 -0
  72. package/dist/product-set/product/scanRange/index.d.ts +2 -0
  73. package/dist/product-set/product/scanRange/index.d.ts.map +1 -0
  74. package/dist/product-set/product-category/ProductCategoryControl.d.ts.map +1 -1
  75. package/dist/product-set/product-category/ProductCategoryControl.js +12 -0
  76. package/dist/product-set/utils/index.d.ts +4 -1
  77. package/dist/product-set/utils/index.d.ts.map +1 -1
  78. package/dist/recurrence-input/RecurrenceEndInput.d.ts.map +1 -1
  79. package/dist/recurrence-input/RecurrenceEndInput.js +3 -0
  80. package/dist/recurring-date-picker-input/RecurrenceEndInput.d.ts.map +1 -1
  81. package/dist/resource/form/components/CapacityControl.d.ts.map +1 -1
  82. package/dist/resource/form/components/CapacityControl.js +3 -0
  83. package/dist/resource/form/components/SortControl.d.ts.map +1 -1
  84. package/dist/resource/form/components/SortControl.js +3 -0
  85. package/dist/sales/booking/results/components/ResultCard.d.ts.map +1 -1
  86. package/dist/sales/booking/results/components/ResultCard.js +0 -2
  87. package/dist/sales/coupon/control/CouponFormControl.d.ts.map +1 -1
  88. package/dist/sales/coupon/control/CouponFormControl.js +21 -0
  89. package/dist/sales/coupon/form/CouponFrom.d.ts +2 -1
  90. package/dist/sales/coupon/form/CouponFrom.d.ts.map +1 -1
  91. package/dist/sales/coupon/form/CouponFrom.js +19 -6
  92. package/dist/setting/dashboard/DashboardSettingForm.d.ts.map +1 -1
  93. package/dist/setting/dashboard/DashboardSettingForm.js +4 -1
  94. package/dist/setting/index.d.ts +0 -2
  95. package/dist/setting/index.d.ts.map +1 -1
  96. package/dist/sortable-tree/SortableTreeItem.d.ts.map +1 -1
  97. package/dist/static/CurrencyNumberInput.d.ts.map +1 -1
  98. package/dist/static/CurrencyNumberInput.js +3 -0
  99. package/dist/static/form-number-input/FormNumberInput.d.ts.map +1 -1
  100. package/dist/static/form-number-input/FormNumberInput.js +3 -0
  101. package/dist/static/number-input/NumberInput.d.ts.map +1 -1
  102. package/dist/static/number-input/NumberInput.js +3 -0
  103. package/dist/styles/form/CustomCheckbox.scss +31 -0
  104. package/dist/styles/iframe-events/Calendar.scss +1 -1
  105. package/dist/styles/iframe-external-modal/IframeExternalModal.scss +2 -2
  106. package/dist/styles/product-set/ProductSetForm.scss +2 -3
  107. package/dist/styles/ryft-payment-form/RyftPaymentForm.scss +1 -3
  108. package/dist/styles/sales/BookingResults.scss +1 -1
  109. package/dist/zone/form/components/GameDurationControl.d.ts.map +1 -1
  110. package/dist/zone/form/components/GameDurationControl.js +3 -0
  111. package/dist/zone/form/components/SortControl.d.ts.map +1 -1
  112. package/dist/zone/form/components/SortControl.js +3 -0
  113. package/package.json +13 -7
  114. package/src/affiliate/form/AffiliateForm.tsx +1 -0
  115. package/src/auth/Authorizer.tsx +1 -0
  116. package/src/auth/Login/LoginComponent.tsx +1 -1
  117. package/src/auth/Router.tsx +19 -19
  118. package/src/events/edit-event-modal/utils/getDefaultProductSet.ts +1 -1
  119. package/src/events/event-statistic-modal/EventStatisticModal.tsx +3 -1
  120. package/src/events/event-statistic-modal/hooks/useTableData.tsx +2 -1
  121. package/src/events/event-statistic-modal/utils/index.ts +4 -4
  122. package/src/events/event-venue-map/EventVenueMap.tsx +1 -0
  123. package/src/events/event-venue-map/hooks/useCanvasSize.ts +5 -1
  124. package/src/iframe/ProductWithModifierModal/ModifierSetModal/ProductWithModifierSetModal.tsx +2 -2
  125. package/src/iframe/ProductWithModifierModal/ModifierSetModal/controll/ModifierSetControll.tsx +5 -13
  126. package/src/iframe/order-process/components/BookingSummary/components/ProductSummary/ProductSummary.tsx +1 -0
  127. package/src/iframe/order-process/components/CategoryProduct/components/NumberInput/NumberInput.tsx +9 -0
  128. package/src/iframe/payment/order-items-table/utils/paymentSummary.tsx +1 -0
  129. package/src/iframe/ryft/utils/ryft-form.ts +6 -5
  130. package/src/index.ts +0 -1
  131. package/src/layout/DropDown.tsx +1 -1
  132. package/src/notification/email-template/control/EmailTemplateControl.tsx +1 -0
  133. package/src/product-set/control/ProductSetControl.tsx +11 -0
  134. package/src/product-set/form/ProductSetForm.tsx +7 -6
  135. package/src/product-set/form/ProductZonesControl.tsx +1 -4
  136. package/src/product-set/form/ProductsControl.tsx +2 -0
  137. package/src/product-set/form/SubProductsControl.tsx +0 -3
  138. package/src/product-set/form/VenueMapsControl.tsx +0 -3
  139. package/src/product-set/form/context.tsx +2 -5
  140. package/src/product-set/product/ProductControl.tsx +18 -13
  141. package/src/product-set/product/advanced-options/AdvancedOptions.tsx +1 -1
  142. package/src/product-set/product/booking-management/ProductBookingManagementControl.tsx +2 -0
  143. package/src/product-set/product/deposit/ProductDepositControl.tsx +1 -0
  144. package/src/product-set/product/duration/ProductDurationControl.tsx +2 -0
  145. package/src/product-set/product/price/ProductPriceControl.tsx +1 -0
  146. package/src/product-set/product/quantity/ProductQuantityConstantControl.tsx +2 -0
  147. package/src/product-set/product/quantity/ProductQuantityControl.tsx +2 -0
  148. package/src/product-set/product/quantity/ProductQuantityRechargingControl.tsx +1 -0
  149. package/src/product-set/product/scanRange/ProductScanRangeControl.stories.ts +45 -0
  150. package/src/product-set/product/scanRange/ProductScanRangeControl.tsx +163 -0
  151. package/src/product-set/product/scanRange/index.ts +1 -0
  152. package/src/product-set/product-category/ProductCategoryControl.tsx +4 -0
  153. package/src/product-set/product-zone/ProductZoneControl.tsx +1 -1
  154. package/src/recurrence-input/RecurrenceEndInput.tsx +1 -0
  155. package/src/recurring-date-picker-input/RecurrenceEndInput.tsx +1 -0
  156. package/src/resource/form/components/CapacityControl.tsx +1 -0
  157. package/src/resource/form/components/SortControl.tsx +1 -0
  158. package/src/sales/booking/results/components/ResultCard.tsx +0 -2
  159. package/src/sales/coupon/control/CouponFormControl.tsx +7 -0
  160. package/src/sales/coupon/form/CouponFrom.tsx +20 -8
  161. package/src/setting/dashboard/DashboardSettingForm.tsx +1 -0
  162. package/src/setting/index.ts +0 -2
  163. package/src/sortable-tree/SortableTreeItem.tsx +1 -6
  164. package/src/static/CurrencyNumberInput.tsx +1 -0
  165. package/src/static/form-number-input/FormNumberInput.tsx +1 -0
  166. package/src/static/number-input/NumberInput.tsx +1 -0
  167. package/src/styles/form/CustomCheckbox.scss +31 -0
  168. package/src/styles/iframe-events/Calendar.scss +1 -1
  169. package/src/styles/iframe-external-modal/IframeExternalModal.scss +2 -2
  170. package/src/styles/product-set/ProductSetForm.scss +2 -3
  171. package/src/styles/ryft-payment-form/RyftPaymentForm.scss +1 -3
  172. package/src/styles/sales/BookingResults.scss +1 -1
  173. package/src/zone/form/components/GameDurationControl.tsx +1 -0
  174. package/src/zone/form/components/SortControl.tsx +1 -0
  175. package/yarn.lock +191 -221
  176. package/dist/assets/logo/licklist.sm.svg.js +0 -33
  177. package/dist/assets/logo/licklist.svg.js +0 -16
  178. package/dist/header/BookeditHeader.d.ts +0 -15
  179. package/dist/header/BookeditHeader.d.ts.map +0 -1
  180. package/dist/header/BookeditHeader.js +0 -21
  181. package/dist/header/Header.d.ts +0 -16
  182. package/dist/header/Header.d.ts.map +0 -1
  183. package/dist/header/Header.js +0 -55
  184. package/dist/header/LicklistHeader.d.ts +0 -15
  185. package/dist/header/LicklistHeader.d.ts.map +0 -1
  186. package/dist/header/LicklistHeader.js +0 -23
  187. package/dist/header/elements/CompanySelector.d.ts +0 -11
  188. package/dist/header/elements/CompanySelector.d.ts.map +0 -1
  189. package/dist/header/elements/CompanySelector.js +0 -36
  190. package/dist/header/elements/index.d.ts +0 -3
  191. package/dist/header/elements/index.d.ts.map +0 -1
  192. package/dist/header/index.d.ts +0 -6
  193. package/dist/header/index.d.ts.map +0 -1
  194. package/dist/setting/admin/AdminSettingForm.d.ts +0 -25
  195. package/dist/setting/admin/AdminSettingForm.d.ts.map +0 -1
  196. package/dist/setting/admin/AdminSettingForm.js +0 -220
  197. package/dist/setting/admin/PaymentFeeForm.d.ts +0 -13
  198. package/dist/setting/admin/PaymentFeeForm.d.ts.map +0 -1
  199. package/dist/setting/admin/PaymentFeeForm.js +0 -424
  200. package/dist/setting/admin/index.d.ts +0 -2
  201. package/dist/setting/admin/index.d.ts.map +0 -1
  202. package/dist/setting/system/SystemSettingForm.d.ts +0 -10
  203. package/dist/setting/system/SystemSettingForm.d.ts.map +0 -1
  204. package/dist/setting/system/SystemSettingForm.js +0 -95
  205. package/dist/setting/system/index.d.ts +0 -2
  206. package/dist/setting/system/index.d.ts.map +0 -1
  207. package/dist/types/currency.d.ts +0 -5
  208. package/dist/types/currency.d.ts.map +0 -1
  209. package/src/header/BookeditHeader.tsx +0 -38
  210. package/src/header/Header.stories.tsx +0 -123
  211. package/src/header/Header.tsx +0 -69
  212. package/src/header/LicklistHeader.tsx +0 -46
  213. package/src/header/elements/CompanySelector.tsx +0 -47
  214. package/src/header/elements/Elements.stories.tsx +0 -33
  215. package/src/header/elements/index.ts +0 -3
  216. package/src/header/index.ts +0 -7
  217. package/src/setting/admin/AdminSetting.stories.tsx +0 -52
  218. package/src/setting/admin/AdminSettingForm.tsx +0 -196
  219. package/src/setting/admin/PaymentFeeForm.tsx +0 -304
  220. package/src/setting/admin/index.ts +0 -1
  221. package/src/setting/system/SystemSetting.stories.tsx +0 -26
  222. package/src/setting/system/SystemSettingForm.tsx +0 -62
  223. package/src/setting/system/index.ts +0 -1
  224. package/src/types/currency.ts +0 -4
@@ -1,123 +0,0 @@
1
- import Nav from 'react-bootstrap/Nav'
2
- import StyledButton from '../static/StyledButton'
3
- import BookeditHeader from './BookeditHeader'
4
- import CompanySelector from './elements/CompanySelector'
5
- import LicklistHeader from './LicklistHeader'
6
-
7
- const providerNavItems = [
8
- { href: `/profile`, label: 'profile' },
9
- { href: `/events`, label: 'events' },
10
- { href: `/sales`, label: 'salesAndEnquiries' },
11
- { href: `/product-sets`, label: 'productSets' },
12
- { href: `/affiliates`, label: 'affiliates' },
13
- { href: `/product-groups`, label: 'productGroups' },
14
- { href: '/#', label: 'loyalty' },
15
- { href: '/#', label: 'emailAndSms' },
16
- { href: '/#', label: 'followersAndProfiles' },
17
- ]
18
-
19
- export default {
20
- title: 'Header',
21
- }
22
-
23
- export const Licklist = () => (
24
- <>
25
- <LicklistHeader
26
- leftNavs={
27
- <>
28
- <ul className='navbar-nav bd-navbar-nav flex-row navbar-nav-primary'>
29
- <li className='nav-item px-3 px-sm-3 px-lg-4'>
30
- <Nav.Link href='#'>
31
- <FaSearch />
32
- </Nav.Link>
33
- </li>
34
- <li className='nav-item px-3 px-sm-4 d-none d-sm-inline'>
35
- <Nav.Link href='#' className='nav-link-light-grey'>
36
- Explore
37
- </Nav.Link>
38
- </li>
39
- <li className='nav-item px-3 px-sm-4 d-none d-sm-inline'>
40
- <Nav.Link href='#' className=''>
41
- Galleries
42
- </Nav.Link>
43
- </li>
44
- </ul>
45
- </>
46
- }
47
- >
48
- <StyledButton size='sm' className='rounded-pill mr-2'>
49
- Login
50
- </StyledButton>
51
- <StyledButton
52
- size='sm'
53
- className='rounded-pill'
54
- variant='outline-secondary'
55
- >
56
- Sign up
57
- </StyledButton>
58
- </LicklistHeader>
59
- </>
60
- )
61
-
62
- Licklist.story = {
63
- parameters: {
64
- info: `
65
- Licklist header component
66
- `,
67
- },
68
- }
69
-
70
- export const Bookedit = () => (
71
- <>
72
- <BookeditHeader navItems={providerNavItems}>
73
- <StyledButton size='sm' className='rounded-pill mr-2'>
74
- Login
75
- </StyledButton>
76
- <StyledButton
77
- size='sm'
78
- className='rounded-pill'
79
- variant='outline-secondary'
80
- >
81
- Sign up
82
- </StyledButton>
83
- </BookeditHeader>
84
- </>
85
- )
86
-
87
- Bookedit.story = {
88
- parameters: {
89
- info: `
90
- Bookedit header component
91
- `,
92
- },
93
- }
94
-
95
- export const BookeditWithElements = () => (
96
- <>
97
- <BookeditHeader
98
- leftNavs={
99
- <div className='header-elements'>
100
- <CompanySelector
101
- value={1}
102
- list={[
103
- { id: 1, title: 'Company #1' },
104
- { id: 2, title: 'Company #2' },
105
- ]}
106
- onChange={() => null}
107
- />
108
- </div>
109
- }
110
- navItems={providerNavItems}
111
- />
112
- </>
113
- )
114
-
115
- BookeditWithElements.story = {
116
- name: 'Bookedit with elements',
117
-
118
- parameters: {
119
- info: `
120
- Bookedit header component
121
- `,
122
- },
123
- }
@@ -1,69 +0,0 @@
1
- import { ReactNode } from 'react'
2
- import Nav from 'react-bootstrap/Nav'
3
- import Navbar from 'react-bootstrap/Navbar'
4
-
5
- interface NavigationItem {
6
- href: string
7
- label: string
8
- }
9
-
10
- type Props = {
11
- children?: ReactNode | ReactNode[]
12
- href?: string
13
- logo?: ReactNode
14
- leftNavs?: ReactNode | ReactNode[]
15
- navItems?: NavigationItem[]
16
- renderMobileNavigation?: (navigationItems: NavigationItem[]) => ReactNode
17
- }
18
-
19
- function Header({
20
- children,
21
- href,
22
- logo,
23
- leftNavs,
24
- navItems,
25
- renderMobileNavigation,
26
- }: Props) {
27
- return (
28
- <Navbar
29
- className='header'
30
- variant='light'
31
- collapseOnSelect
32
- expand={false}
33
- bg='none'
34
- >
35
- <div className='header-logo-container'>
36
- <Navbar.Brand href={href} className='p-0'>
37
- {logo}
38
- </Navbar.Brand>
39
- {navItems?.length && (
40
- <>
41
- <Navbar.Toggle
42
- aria-controls='header-navbar-nav'
43
- className='d-block d-md-none ml-2 border-0'
44
- />
45
- </>
46
- )}
47
- </div>
48
- <Nav className='mr-auto my-auto'>{leftNavs}</Nav>
49
- <div className='user-section ml-3 my-auto'>{children}</div>
50
- {navItems?.length && (
51
- <Navbar.Collapse id='header-navbar-nav'>
52
- {renderMobileNavigation ? (
53
- renderMobileNavigation(navItems)
54
- ) : (
55
- <Nav className='mr-auto'>
56
- {navItems.map(({ label, href }) => (
57
- <Nav.Link href={href} key={`${href}${label}`}>
58
- {label}
59
- </Nav.Link>
60
- ))}
61
- </Nav>
62
- )}
63
- </Navbar.Collapse>
64
- )}
65
- </Navbar>
66
- )
67
- }
68
-
69
- export default Header
@@ -1,46 +0,0 @@
1
- import { ReactNode } from 'react'
2
- import { ReactComponent as LogoSmSvg } from '../assets/logo/licklist.sm.svg'
3
- import { ReactComponent as LogoSvg } from '../assets/logo/licklist.svg'
4
- import Logo from '../logo/Logo'
5
- import Header from './Header'
6
-
7
- interface NavigationItem {
8
- href: string
9
- label: string
10
- }
11
-
12
- interface Props {
13
- children?: ReactNode | ReactNode[]
14
- href?: string
15
- leftNavs?: ReactNode | ReactNode[]
16
- navItems?: NavigationItem[]
17
- renderMobileNavigation?: (navigationItems: NavigationItem[]) => ReactNode
18
- }
19
-
20
- function LicklistHeader({
21
- children,
22
- href,
23
- leftNavs,
24
- navItems,
25
- renderMobileNavigation,
26
- }: Props) {
27
- return (
28
- <Header
29
- logo={
30
- <Logo
31
- logo={<LogoSvg />}
32
- logoSm={<LogoSmSvg />}
33
- className='mt-auto mr-0 mr-sm-3'
34
- />
35
- }
36
- href={href}
37
- leftNavs={leftNavs}
38
- navItems={navItems}
39
- renderMobileNavigation={renderMobileNavigation}
40
- >
41
- {children}
42
- </Header>
43
- )
44
- }
45
-
46
- export default LicklistHeader
@@ -1,47 +0,0 @@
1
- import { isEmpty } from 'lodash'
2
- import { Form } from 'react-bootstrap'
3
-
4
- export interface CompanySelectorProps {
5
- value: number
6
- list: { id: number; title: string }[]
7
- onChange: (e: React.ChangeEvent<HTMLSelectElement>) => void
8
- }
9
-
10
- function CompanySelector({ value, list, onChange }: CompanySelectorProps) {
11
- const hasItems = !isEmpty(list)
12
- const hasOneItem = list.length === 1
13
-
14
- return (
15
- <div className='header-company-selector-container'>
16
- {hasOneItem && (
17
- <span className='company-selector-item company-selector-item__disabled'>
18
- {list[0].title}
19
- </span>
20
- )}
21
-
22
- {hasItems && !hasOneItem && (
23
- <Form.Group className='m-0'>
24
- <Form.Control
25
- className='header-company-selector'
26
- defaultValue={value}
27
- as='select'
28
- onChange={onChange}
29
- >
30
- {hasItems &&
31
- list.map((item) => (
32
- <option
33
- className='company-selector-item'
34
- key={item.id}
35
- value={item.id}
36
- >
37
- {item.title}
38
- </option>
39
- ))}
40
- </Form.Control>
41
- </Form.Group>
42
- )}
43
- </div>
44
- )
45
- }
46
-
47
- export default CompanySelector
@@ -1,33 +0,0 @@
1
- import { Meta, Story } from '@storybook/react'
2
- import {
3
- CompanySelectorProps,
4
- default as CompanySelectorComponent,
5
- } from './CompanySelector'
6
-
7
- export default {
8
- title: 'Header/Elements',
9
- } as Meta
10
-
11
- export const CompanySelector: Story<CompanySelectorProps> = (args) => {
12
- return <CompanySelectorComponent {...args} />
13
- }
14
- CompanySelector.args = {
15
- value: 1,
16
- list: [
17
- { id: 1, title: 'Company #1' },
18
- { id: 2, title: 'Company #2' },
19
- { id: 3, title: 'Company #3' },
20
- ],
21
- onChange: (e) => console.info(e),
22
- }
23
-
24
- export const CompanySelectorWithOneItem: Story<CompanySelectorProps> = (
25
- args,
26
- ) => {
27
- return <CompanySelectorComponent {...args} />
28
- }
29
- CompanySelectorWithOneItem.args = {
30
- value: 1,
31
- list: [{ id: 1, title: 'Company #1' }],
32
- onChange: (e) => console.info(e),
33
- }
@@ -1,3 +0,0 @@
1
- import CompanySelector from './CompanySelector'
2
-
3
- export { CompanySelector }
@@ -1,7 +0,0 @@
1
- import BookeditHeader from './BookeditHeader'
2
- import LicklistHeader from './LicklistHeader'
3
- import Header from './Header'
4
-
5
- export * from './elements'
6
-
7
- export { LicklistHeader, BookeditHeader, Header }
@@ -1,52 +0,0 @@
1
- import { Meta, Story } from '@storybook/react'
2
- import { FormProvider, useForm } from 'react-hook-form'
3
- import Container from 'react-bootstrap/Container'
4
-
5
- import {
6
- PaymentFeeForm,
7
- PaymentFeeFormFieldValues,
8
- PaymentFeeFormProps,
9
- } from './PaymentFeeForm'
10
- import { AdminSettingForm, AdminSettingFormProps } from './AdminSettingForm'
11
-
12
- export default {
13
- title: 'Setting/Admin',
14
- } as Meta
15
-
16
- export const SettingFormComponent: Story<AdminSettingFormProps> = (args) => (
17
- <Container>
18
- <AdminSettingForm {...args} />
19
- </Container>
20
- )
21
-
22
- export const PaymentFeeFormComponent: Story<PaymentFeeFormProps> = (args) => {
23
- const form = useForm<PaymentFeeFormFieldValues>({
24
- defaultValues: args.defaultValues,
25
- })
26
- return (
27
- <FormProvider {...form}>
28
- <PaymentFeeForm {...args} />
29
- </FormProvider>
30
- )
31
- }
32
-
33
- PaymentFeeFormComponent.args = {
34
- isLoading: false,
35
- defaultValues: {
36
- feeInPercent: NaN,
37
- minFeeInPounds: NaN,
38
- maxFeeInPounds: NaN,
39
- vatInPercent: NaN,
40
- fixedFee: NaN,
41
- },
42
- }
43
-
44
- SettingFormComponent.args = {
45
- isLoading: false,
46
- onSubmit: (data) => console.log('onSubmit', data),
47
- hasPermission: true,
48
- defaultValues: {
49
- warningOnNumberOfPeople: '',
50
- ...PaymentFeeFormComponent.args.defaultValues,
51
- },
52
- }
@@ -1,196 +0,0 @@
1
- import { useId } from '@react-aria/utils'
2
- import { Button, Spinner, Form } from 'react-bootstrap'
3
- import InputGroup from 'react-bootstrap/InputGroup'
4
- import { FormProvider, useForm } from 'react-hook-form'
5
- import { useTranslation } from 'react-i18next'
6
- import { HasPermissionProp } from '@licklist/plugins/dist/types/permission/Permission'
7
-
8
- import Card from 'react-bootstrap/Card'
9
- import Row from 'react-bootstrap/Row'
10
- import Col from 'react-bootstrap/Col'
11
- import { Link } from 'react-router-dom'
12
- import HookFormService from '@licklist/plugins/dist/services/Form/HookFormService'
13
- import { ProvidableType } from '@licklist/core/dist/DataMapper/Provider/ProvidableDataMapper'
14
- import { FaCommentAlt } from 'react-icons/fa'
15
- import { PaymentFeeForm, PaymentFeeFormFieldValues } from './PaymentFeeForm'
16
- import { Currency } from '../../types/currency'
17
-
18
- export type AdminSettingFormFieldValues = {
19
- warningOnNumberOfPeople: string
20
- currency_id?: number
21
- providerHasMap: null | boolean
22
- hasBookingManagement: null | boolean
23
- additionalPaymentMethodsEnabled: null | boolean
24
- externalPaymentLinkEnabled: null | boolean
25
- } & PaymentFeeFormFieldValues
26
-
27
- export interface AdminSettingFormProps extends HasPermissionProp {
28
- isLoading: boolean
29
- onSubmit?: (data: AdminSettingFormFieldValues) => void
30
- defaultValues?: Partial<AdminSettingFormFieldValues>
31
- currencies?: Array<Currency>
32
- providerMetadata: {
33
- country?: string
34
- providableId?: number
35
- providerType?: ProvidableType
36
- }
37
- }
38
-
39
- export const AdminSettingForm = ({
40
- isLoading = false,
41
- defaultValues = {},
42
- onSubmit,
43
- currencies = [],
44
- hasPermission = true,
45
- providerMetadata,
46
- }: AdminSettingFormProps) => {
47
- const form = useForm<AdminSettingFormFieldValues>({
48
- mode: 'onChange',
49
- defaultValues,
50
- })
51
- const {
52
- register,
53
- handleSubmit,
54
- formState: { errors, isValid },
55
- } = form
56
- const { t } = useTranslation('Design')
57
-
58
- const warningOnNumberOfPeopleId = useId()
59
- const providerHasMapId = useId()
60
- const hasBookingManagement = useId()
61
- const additionalPaymentMethodsEnabledId = useId()
62
- const externalPaymentLinkEnabledId = useId()
63
-
64
- return (
65
- <Form
66
- className='d-flex flex-column'
67
- noValidate
68
- onSubmit={handleSubmit(onSubmit)}
69
- >
70
- <FormProvider {...form}>
71
- <Form.Group controlId={warningOnNumberOfPeopleId}>
72
- <Form.Label>{t('warningOnNumberOfPeople')}</Form.Label>
73
-
74
- <InputGroup>
75
- <InputGroup.Prepend>
76
- <InputGroup.Text>
77
- <FaCommentAlt size={16} />
78
- </InputGroup.Text>
79
- </InputGroup.Prepend>
80
-
81
- <Form.Control
82
- {...register('warningOnNumberOfPeople')}
83
- disabled={isLoading}
84
- />
85
- </InputGroup>
86
- </Form.Group>
87
-
88
- <PaymentFeeForm isLoading={isLoading} />
89
-
90
- <Form.Label className='mt-5'>{t('defaultVenueCurrency')}</Form.Label>
91
- <Form.Control
92
- {...register('currency_id')}
93
- as='select'
94
- disabled={isLoading}
95
- >
96
- {currencies?.map((currency) => (
97
- <option value={currency.id} key={currency.id}>
98
- {currency.title}
99
- </option>
100
- ))}
101
- </Form.Control>
102
-
103
- <Row>
104
- <Col xs={12}>
105
- <h5 className='mt-5'>{t('advanced')}</h5>
106
- </Col>
107
- </Row>
108
-
109
- <Card className='mb-3'>
110
- <Card.Body>
111
- <Row>
112
- <Col xs={12}>
113
- <Form.Group controlId={providerHasMapId}>
114
- <Form.Check
115
- {...register('providerHasMap')}
116
- disabled={isLoading}
117
- label={t('providerHasMap')}
118
- />
119
- </Form.Group>
120
-
121
- <Form.Group controlId={hasBookingManagement}>
122
- <Form.Check
123
- {...register('hasBookingManagement')}
124
- disabled={isLoading}
125
- label={t('hasBookingManagement')}
126
- />
127
- </Form.Group>
128
- <Form.Group controlId={additionalPaymentMethodsEnabledId}>
129
- <Form.Check>
130
- <Form.Check.Input
131
- {...register('additionalPaymentMethodsEnabled', {
132
- validate: (value) =>
133
- !value || Boolean(providerMetadata?.country),
134
- })}
135
- disabled={isLoading}
136
- isInvalid={!!errors?.additionalPaymentMethodsEnabled}
137
- />
138
- <Form.Check.Label>
139
- {t('additionalPaymentMethodsEnabled')}
140
- </Form.Check.Label>
141
- <Form.Control.Feedback type='invalid'>
142
- {HookFormService.hasError(
143
- errors.additionalPaymentMethodsEnabled,
144
- 'validate',
145
- ) && (
146
- <>
147
- {t('noCountryIsProvided')}
148
- {/* TODO fix issue react router types
149
- @ts-expect-error */}
150
- <Link
151
- role='button'
152
- to={`/provider/${providerMetadata?.providerType}/${providerMetadata?.providableId}/update`}
153
- >
154
- {/* TODO fix issue react router types
155
- @ts-expect-error */}
156
- {t('here')}
157
- </Link>
158
- </>
159
- )}
160
- </Form.Control.Feedback>
161
- </Form.Check>
162
- </Form.Group>
163
-
164
- <Form.Group controlId={externalPaymentLinkEnabledId}>
165
- <Form.Check
166
- {...register('externalPaymentLinkEnabled')}
167
- disabled={isLoading}
168
- label={t('externalPaymentLinkEnabled')}
169
- />
170
- </Form.Group>
171
- </Col>
172
- </Row>
173
- </Card.Body>
174
- </Card>
175
- </FormProvider>
176
- {hasPermission && (
177
- <Button
178
- type='submit'
179
- disabled={isLoading || !isValid}
180
- className='d-flex align-items-center align-self-end mt-5'
181
- >
182
- {isLoading && (
183
- <Spinner
184
- animation='border'
185
- size='sm'
186
- role='status'
187
- aria-hidden='true'
188
- className='mr-2'
189
- />
190
- )}
191
- {t('update')}
192
- </Button>
193
- )}
194
- </Form>
195
- )
196
- }