@licklist/design 0.68.4 → 0.68.5-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 (110) hide show
  1. package/dist/affiliate/form/AffiliateForm.d.ts.map +1 -1
  2. package/dist/auth/Login/LoginComponent.js +2 -1
  3. package/dist/calendar/components/CalendarButtons/CalendarButtons.d.ts.map +1 -1
  4. package/dist/calendar/components/CalendarButtons/CalendarButtons.js +35 -40
  5. package/dist/events/edit-event-modal/IntervalInput.d.ts.map +1 -1
  6. package/dist/events/edit-event-modal/IntervalInput.js +7 -1
  7. package/dist/events/edit-event-modal/component/EditEventForm/EditEventForm.d.ts.map +1 -1
  8. package/dist/events/edit-event-modal/component/EditEventForm/EditEventForm.js +0 -1
  9. package/dist/events/edit-event-modal/component/SelectEventProductSet/SelectEventProductSet.d.ts.map +1 -1
  10. package/dist/events/edit-event-modal/component/SelectEventProductSet/SelectEventProductSet.js +24 -23
  11. package/dist/events/edit-event-modal/utils/getDefaultProductSet.d.ts.map +1 -1
  12. package/dist/events/edit-event-modal/utils/getDefaultProductSet.js +0 -1
  13. package/dist/iframe/event/event-card/IframeEventCard.d.ts.map +1 -1
  14. package/dist/iframe/event/event-card/IframeEventCard.js +2 -2
  15. package/dist/iframe/order-process/components/CategoryProduct/components/ProductQuantityInput/ProductQuantityInput.d.ts.map +1 -1
  16. package/dist/iframe/order-process/components/CategoryProduct/components/ProductQuantityInput/ProductQuantityInput.js +2 -0
  17. package/dist/iframe/payment/order-items-table/utils/paymentSummary.d.ts.map +1 -1
  18. package/dist/index.js +1 -0
  19. package/dist/layout/DropDown.d.ts +2 -1
  20. package/dist/layout/DropDown.d.ts.map +1 -1
  21. package/dist/modals/confirmation/ConfirmModal.d.ts +3 -1
  22. package/dist/modals/confirmation/ConfirmModal.d.ts.map +1 -1
  23. package/dist/modals/confirmation/ConfirmModal.js +172 -8
  24. package/dist/product-set/card/ProductSetCard.d.ts +6 -2
  25. package/dist/product-set/card/ProductSetCard.d.ts.map +1 -1
  26. package/dist/product-set/card/ProductSetCard.js +30 -11
  27. package/dist/product-set/control/DateInput.d.ts.map +1 -1
  28. package/dist/product-set/control/DateInput.js +2 -2
  29. package/dist/product-set/form/ProductCategoriesControl.d.ts.map +1 -1
  30. package/dist/product-set/form/ProductCategoriesControl.js +48 -2
  31. package/dist/product-set/form/ProductSetForm.d.ts +4 -1
  32. package/dist/product-set/form/ProductSetForm.d.ts.map +1 -1
  33. package/dist/product-set/form/ProductSetForm.js +59 -1
  34. package/dist/product-set/form/ProductSetNameControl.d.ts +6 -0
  35. package/dist/product-set/form/ProductSetNameControl.d.ts.map +1 -0
  36. package/dist/product-set/form/ProductSetNameControl.js +35 -0
  37. package/dist/product-set/form/ProductZonesControl.d.ts.map +1 -1
  38. package/dist/product-set/form/ProductZonesControl.js +0 -2
  39. package/dist/product-set/form/SelectCategoryModal.d.ts +12 -0
  40. package/dist/product-set/form/SelectCategoryModal.d.ts.map +1 -1
  41. package/dist/product-set/form/SelectCategoryModal.js +1 -1
  42. package/dist/product-set/form/SubProductsControl.d.ts.map +1 -1
  43. package/dist/product-set/form/SubProductsControl.js +0 -3
  44. package/dist/product-set/form/VenueMapsControl.d.ts.map +1 -1
  45. package/dist/product-set/form/VenueMapsControl.js +0 -3
  46. package/dist/product-set/form/index.d.ts +1 -0
  47. package/dist/product-set/form/index.d.ts.map +1 -1
  48. package/dist/product-set/product/ProductControl.d.ts.map +1 -1
  49. package/dist/product-set/utils/index.d.ts +7 -0
  50. package/dist/product-set/utils/index.d.ts.map +1 -1
  51. package/dist/product-set/utils/index.js +10 -1
  52. package/dist/sales/booking/results/components/ResultCard.d.ts.map +1 -1
  53. package/dist/sales/booking/results/components/ResultCard.js +0 -2
  54. package/dist/snippet/snippet-template/preview/Preview.d.ts.map +1 -1
  55. package/dist/snippet/snippet-template/preview/Preview.js +6 -0
  56. package/dist/sortable-tree/SortableTreeItem.d.ts +2 -1
  57. package/dist/sortable-tree/SortableTreeItem.d.ts.map +1 -1
  58. package/dist/sortable-tree/SortableTreeItem.js +10 -4
  59. package/dist/styles/iframe-events/Calendar.scss +0 -1
  60. package/dist/styles/iframe-external-modal/IframeExternalModal.scss +2 -2
  61. package/dist/styles/product-set/ProductSetForm.scss +22 -0
  62. package/dist/styles/sales/BookingResults.scss +1 -1
  63. package/dist/tiptap-editor/TipTapMenu/extensions/constants.d.ts +2 -0
  64. package/dist/tiptap-editor/TipTapMenu/extensions/constants.d.ts.map +1 -0
  65. package/dist/tiptap-editor/TipTapMenu/extensions/constants.js +3 -0
  66. package/dist/tiptap-editor/TipTapMenu/extensions/utils.d.ts +1 -1
  67. package/dist/tiptap-editor/TipTapMenu/extensions/utils.d.ts.map +1 -1
  68. package/dist/tiptap-editor/TipTapMenu/extensions/utils.js +3 -1
  69. package/dist/typeahead/Typeahead.d.ts +5 -1
  70. package/dist/typeahead/Typeahead.d.ts.map +1 -1
  71. package/dist/typeahead/Typeahead.js +9 -2
  72. package/package.json +9 -7
  73. package/src/affiliate/form/AffiliateForm.tsx +1 -0
  74. package/src/auth/Login/LoginComponent.tsx +1 -1
  75. package/src/calendar/components/CalendarButtons/CalendarButtons.tsx +29 -28
  76. package/src/events/edit-event-modal/IntervalInput.tsx +8 -1
  77. package/src/events/edit-event-modal/component/EditEventForm/EditEventForm.tsx +0 -1
  78. package/src/events/edit-event-modal/component/SelectEventProductSet/SelectEventProductSet.tsx +82 -85
  79. package/src/events/edit-event-modal/utils/getDefaultProductSet.ts +0 -1
  80. package/src/iframe/event/event-card/IframeEventCard.tsx +30 -29
  81. package/src/iframe/order-process/components/CategoryProduct/components/ProductQuantityInput/ProductQuantityInput.tsx +1 -0
  82. package/src/iframe/payment/order-items-table/utils/paymentSummary.tsx +1 -0
  83. package/src/layout/DropDown.tsx +2 -1
  84. package/src/modals/confirmation/ConfirmModal.tsx +19 -3
  85. package/src/product-set/card/ProductSetCard.tsx +47 -8
  86. package/src/product-set/control/DateInput.tsx +2 -1
  87. package/src/product-set/form/ProductCategoriesControl.tsx +37 -1
  88. package/src/product-set/form/ProductSetForm.tsx +17 -2
  89. package/src/product-set/form/ProductSetNameControl.tsx +27 -0
  90. package/src/product-set/form/ProductZonesControl.tsx +1 -4
  91. package/src/product-set/form/SelectCategoryModal.tsx +2 -2
  92. package/src/product-set/form/SubProductsControl.tsx +0 -3
  93. package/src/product-set/form/VenueMapsControl.tsx +0 -3
  94. package/src/product-set/form/index.ts +1 -0
  95. package/src/product-set/product/ProductControl.tsx +0 -1
  96. package/src/product-set/product/advanced-options/AdvancedOptions.tsx +1 -1
  97. package/src/product-set/product-zone/ProductZoneControl.tsx +1 -1
  98. package/src/product-set/utils/index.ts +11 -0
  99. package/src/sales/booking/results/components/ResultCard.tsx +0 -2
  100. package/src/snippet/snippet-template/preview/Preview.tsx +6 -0
  101. package/src/sortable-tree/SortableTreeItem.tsx +6 -0
  102. package/src/styles/iframe-events/Calendar.scss +0 -1
  103. package/src/styles/iframe-external-modal/IframeExternalModal.scss +2 -2
  104. package/src/styles/product-set/ProductSetForm.scss +22 -0
  105. package/src/styles/sales/BookingResults.scss +1 -1
  106. package/src/tiptap-editor/TipTapMenu/extensions/constants.ts +1 -0
  107. package/src/tiptap-editor/TipTapMenu/extensions/utils.ts +4 -1
  108. package/src/typeahead/Typeahead.tsx +15 -1
  109. package/yarn.lock +40 -14
  110. package/dist/assets/iframe/selectArrow.svg.js +0 -17
@@ -1,4 +1,4 @@
1
- import { useEffect } from 'react'
1
+ import { useEffect, useState } from 'react'
2
2
  import { FormValues } from '@licklist/plugins/dist/types/services/Form/hook-form-service'
3
3
  import { Button, Form, Col, Row } from 'react-bootstrap'
4
4
  import { FormProvider, useForm } from 'react-hook-form'
@@ -22,16 +22,21 @@ import { Step } from '../types'
22
22
  import { ProductSetContextProvider, ProductSetLoadingContext } from './context'
23
23
  import { SelectItem } from '../../types/generic/SelectItem'
24
24
  import { checkAvailableTimesErrors, getFilteredTemplates } from '../utils'
25
+ import { ErrorModal } from '../../iframe/order-process/components/ErrorModal'
25
26
 
26
27
  export interface WithIsLoading {
27
28
  isLoading: boolean
28
29
  }
30
+ export interface WithIdOptional {
31
+ id?: number
32
+ }
33
+
29
34
  export interface WithId {
30
35
  id: number
31
36
  }
32
37
  export interface ProductSetFormValues
33
38
  extends FormValues,
34
- WithId,
39
+ WithIdOptional,
35
40
  ProductSetControlValues {
36
41
  steps: Step[]
37
42
  isOverrides?: boolean
@@ -84,6 +89,7 @@ export function ProductSetForm({
84
89
  onApproveDialog,
85
90
  onDeclineDialog,
86
91
  } = useDialogContext()
92
+ const [errorMessage, setErrorMessage] = useState('')
87
93
 
88
94
  const form = useForm<ProductSetFormValues>({
89
95
  defaultValues,
@@ -121,6 +127,9 @@ export function ProductSetForm({
121
127
  if (!serverErrors) {
122
128
  return
123
129
  }
130
+ if (Array.isArray(serverErrors) && serverErrors[0]) {
131
+ setErrorMessage(serverErrors[0])
132
+ }
124
133
  FormErrorService.handleServerErrors(serverErrors, setError)
125
134
  }, [serverErrors, setError])
126
135
 
@@ -156,6 +165,12 @@ export function ProductSetForm({
156
165
  onDecline={onDeclineDialog}
157
166
  />
158
167
 
168
+ <ErrorModal
169
+ message={errorMessage}
170
+ isOpen={!!errorMessage}
171
+ onClose={() => setErrorMessage('')}
172
+ />
173
+
159
174
  <FormProvider {...form}>
160
175
  <Form onSubmit={form.handleSubmit(submitHandler(onSubmitAndRedirect))}>
161
176
  <ProductSetLoadingContext.Consumer>
@@ -0,0 +1,27 @@
1
+ import { Form } from 'react-bootstrap'
2
+ import { useTranslation } from 'react-i18next'
3
+
4
+ export const ProductSetNameControl = ({
5
+ value,
6
+ onChange,
7
+ error,
8
+ }: {
9
+ value: string
10
+ onChange: (value: string) => void
11
+ error?: string
12
+ }) => {
13
+ const { t } = useTranslation(['Design'])
14
+ return (
15
+ <Form.Group>
16
+ <Form.Label>{t('Design:ProductSetName')}*</Form.Label>
17
+ <Form.Control
18
+ value={value}
19
+ maxLength={255}
20
+ onChange={(e) => onChange(e.target.value)}
21
+ placeholder={t('Design:placeholderProductSetName')}
22
+ isInvalid={Boolean(error)}
23
+ />
24
+ <Form.Control.Feedback type="invalid">{error}</Form.Control.Feedback>
25
+ </Form.Group>
26
+ )
27
+ }
@@ -1,7 +1,4 @@
1
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
2
- // @ts-nocheck
3
- import React, { useContext, useState } from 'react'
4
-
1
+ import { useContext, useState } from 'react'
5
2
  import {
6
3
  ArrayPath,
7
4
  Controller,
@@ -25,7 +25,7 @@ import {
25
25
  } from 'react-icons/fa'
26
26
  import { ProductSetLoadingContext } from './context'
27
27
 
28
- const CATEGORY_TYPES_NAMES = {
28
+ export const CATEGORY_TYPES_NAMES = {
29
29
  menuItems: CATEGORY_TYPE_MENU_ITEMS,
30
30
  tickets: CATEGORY_TYPE_TICKETS,
31
31
  bookings: CATEGORY_TYPE_BOOKINGS,
@@ -33,7 +33,7 @@ const CATEGORY_TYPES_NAMES = {
33
33
  fixedDuration: CATEGORY_TYPE_FIXED_DURATION,
34
34
  } as const
35
35
 
36
- type CategoryConfig = { label: string; icon: ReactElement }
36
+ export type CategoryConfig = { label: string; icon: ReactElement }
37
37
 
38
38
  const MAIN_CATEGORIES: Partial<Record<CategoryType, CategoryConfig>> = {
39
39
  [CATEGORY_TYPES_NAMES.tickets]: {
@@ -70,9 +70,6 @@ export function SubProductsControl({
70
70
  images: subProducts[index]?.images as Image[],
71
71
  }
72
72
  // @ts-expect-error TS2345
73
- // @TODO fix prod type error
74
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
75
- // @ts-ignore
76
73
  append(subProductCopy)
77
74
  }}
78
75
  />
@@ -46,9 +46,6 @@ export const VenueMapsControl = ({
46
46
  url={image.url}
47
47
  name={name}
48
48
  points={points}
49
- // @TODO fix prod type error
50
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
51
- // @ts-ignore
52
49
  products={products}
53
50
  pointProducts={pointProducts}
54
51
  onPointProductsChange={onPointProductsChange}
@@ -1 +1,2 @@
1
1
  export * from './ProductSetForm'
2
+ export * from './ProductSetNameControl'
@@ -34,7 +34,6 @@ import {
34
34
  } from 'react-hook-form'
35
35
  import { useTranslation } from 'react-i18next'
36
36
  import { useImages } from '@licklist/plugins/dist/hooks/Media/useImages'
37
-
38
37
  import {
39
38
  Image,
40
39
  IMAGE_TYPE_IMAGE,
@@ -1,4 +1,4 @@
1
- import React, { useContext } from 'react'
1
+ import { useContext } from 'react'
2
2
  import { Col, Form } from 'react-bootstrap'
3
3
  import { Controller, Path, useFormContext } from 'react-hook-form'
4
4
  import { HookFormService } from '@licklist/plugins'
@@ -1,4 +1,4 @@
1
- import React, { useContext, useEffect, useMemo } from 'react'
1
+ import { useContext, useEffect, useMemo } from 'react'
2
2
  import { Col, Form, Row } from 'react-bootstrap'
3
3
  import {
4
4
  ArrayPath,
@@ -3,6 +3,7 @@ import { SmsTemplate } from '@licklist/core/dist/DataMapper/Notification/SmsTemp
3
3
  import { TFunction } from 'react-i18next'
4
4
  import { UseFormSetError } from 'react-hook-form'
5
5
  import { checkIfZoneCategory } from '@licklist/plugins'
6
+ import { ProductSet } from '@licklist/core/dist/DataMapper/Product/ProductSetDataMapper'
6
7
  import { TemplateItem } from '../control/ProductSetControl'
7
8
  import { ProductSetFormValues } from '../form/ProductSetForm'
8
9
 
@@ -12,6 +13,11 @@ interface CheckAvailableTimesErrors {
12
13
  t: TFunction
13
14
  }
14
15
 
16
+ export interface MenuTypeheadItem {
17
+ id: number
18
+ label: string
19
+ value: number
20
+ }
15
21
  export const moveArrayElements = <T>(
16
22
  array: T[],
17
23
  prevIndex: number,
@@ -83,3 +89,8 @@ export const checkAvailableTimesErrors = ({
83
89
  })
84
90
  return hasError
85
91
  }
92
+
93
+ export const getTypeHeadItemsFromMenus = (
94
+ menus?: (ProductSet | ProductSetFormValues)[],
95
+ ): MenuTypeheadItem[] =>
96
+ menus?.map((menu) => ({ id: menu.id, value: menu.id, label: menu.name }))
@@ -20,8 +20,6 @@ export type ResultCardProps = {
20
20
  onCardClick?: (id: number) => void
21
21
  }
22
22
 
23
- // @TODO integrate when API will be available
24
- // activity and staff keys
25
23
  export const ResultCard = ({
26
24
  order,
27
25
  className,
@@ -307,6 +307,7 @@ export function Preview({
307
307
  productCategoryId: 57,
308
308
  productGroupId: null,
309
309
  availableQuantity: 980,
310
+ zoneId: null,
310
311
  name: 'Cofee',
311
312
  description: '',
312
313
  price: 15,
@@ -315,6 +316,8 @@ export function Preview({
315
316
  maxQuantity: 15,
316
317
  totalQuantity: 980,
317
318
  type: 'sale' as const,
319
+ capacity: 0,
320
+ duration: 0,
318
321
  weight: 0,
319
322
  isAvailable: true,
320
323
  isSoldOut: false,
@@ -333,6 +336,7 @@ export function Preview({
333
336
  productCategoryId: 57,
334
337
  productGroupId: null,
335
338
  availableQuantity: 980,
339
+ zoneId: null,
336
340
  name: 'Cofee 2',
337
341
  description: '',
338
342
  price: 15,
@@ -341,6 +345,8 @@ export function Preview({
341
345
  maxQuantity: 15,
342
346
  totalQuantity: 980,
343
347
  type: 'sale' as const,
348
+ capacity: 0,
349
+ duration: 0,
344
350
  weight: 0,
345
351
  isAvailable: true,
346
352
  isSoldOut: false,
@@ -33,6 +33,7 @@ export interface SortableTreeItemProps {
33
33
  body: ReactNode
34
34
  children?: ReactNode
35
35
  preItem?: ReactNode
36
+ itemButton?: ReactNode
36
37
  postItem?: ReactNode
37
38
  sortableItems?: string[]
38
39
  isExpanded?: boolean
@@ -82,6 +83,7 @@ export function SortableTreeItem({
82
83
  secondaryBadge,
83
84
  setIsExpanded,
84
85
  isOverride,
86
+ itemButton,
85
87
  }: SortableTreeItemProps) {
86
88
  const [expanded, setExpanded] = useState(isExpanded)
87
89
  const [isModalVisible, setIsModalVisible] = useState(isNewAdded)
@@ -287,9 +289,13 @@ export function SortableTreeItem({
287
289
  className={clsx(
288
290
  'sortable-tree-item-title',
289
291
  modalLabel && 'sortable-tree-product-set-element-title',
292
+ 'd-flex justify-content-between',
290
293
  )}
291
294
  >
292
295
  {title}
296
+ <div className="sortable-tree-item-subtitle">
297
+ {itemButton}
298
+ </div>
293
299
  </span>
294
300
  {!expanded && (
295
301
  <span className="sortable-tree-item-subtitle">
@@ -48,7 +48,6 @@
48
48
  height: 2.25rem;
49
49
  width: 14.125rem;
50
50
  justify-content: space-between;
51
- border: 1px solid $snippet-dropdown-border-color;
52
51
  border-radius: $iframe-border-radius;
53
52
  transition: $color-transition;
54
53
 
@@ -15,7 +15,7 @@ body[bkdt-scrollable='false'] .bkdt-mask {
15
15
  left: 0;
16
16
  width: 100%;
17
17
  height: 100%;
18
- z-index: 1000000;
18
+ z-index: 2147483646;
19
19
  background-color: rgba(0, 0, 0, 0.5);
20
20
  display: none;
21
21
  }
@@ -24,7 +24,7 @@ body[bkdt-scrollable='false'] .bkdt-mask {
24
24
  position: fixed;
25
25
  top: 0;
26
26
  left: 0;
27
- z-index: 1000001;
27
+ z-index: 2147483647;
28
28
  display: none;
29
29
  width: 100%;
30
30
  height: 100%;
@@ -15,10 +15,12 @@
15
15
  height: 2.5rem;
16
16
  border-width: 2px;
17
17
  padding: 2px;
18
+
18
19
  label,
19
20
  .btn-switch-indicator {
20
21
  border-radius: 0.375rem !important;
21
22
  }
23
+
22
24
  label {
23
25
  height: 2rem;
24
26
  }
@@ -34,6 +36,7 @@
34
36
  margin-top: 1.5rem;
35
37
  margin-bottom: 1.5rem;
36
38
  }
39
+
37
40
  @include media-breakpoint-down(sm) {
38
41
  padding: 1.5rem 1rem;
39
42
  margin-top: 0.5rem;
@@ -59,10 +62,21 @@
59
62
  background-color: #ffdbdb;
60
63
  color: #d52902;
61
64
  }
65
+
62
66
  .category-badge {
63
67
  background-color: #e8f4f6;
64
68
  color: #1a93aa;
65
69
  }
70
+
71
+ .item-icon {
72
+ display: flex;
73
+ justify-items: center;
74
+ align-items: center;
75
+ font-size: 0.65rem;
76
+ padding: 0.2rem;
77
+ margin-right: 1rem;
78
+ }
79
+
66
80
  .product-badge {
67
81
  background-color: #e9f5ea;
68
82
  color: #269b36;
@@ -75,10 +89,12 @@
75
89
 
76
90
  .product-set-mobile-modal {
77
91
  margin: 0;
92
+
78
93
  .modal-content {
79
94
  border-radius: 1rem 1rem 0 0;
80
95
  border-width: 0;
81
96
  margin: 0;
97
+
82
98
  .modal-body {
83
99
  padding: 1rem 0;
84
100
  }
@@ -100,18 +116,22 @@
100
116
  font-weight: 600;
101
117
  font-size: 0.625rem;
102
118
  }
119
+
103
120
  .product-set-subtitle-dot {
104
121
  margin-right: 0.375rem;
105
122
  width: 0.375rem;
106
123
  height: 0.375rem;
107
124
  border-radius: 3px;
108
125
  }
126
+
109
127
  .product-set-subtitle-category-dot {
110
128
  background-color: #269b36;
111
129
  }
130
+
112
131
  .product-set-subtitle-step-dot {
113
132
  background-color: #1a93aa;
114
133
  }
134
+
115
135
  .product-set-subtitle-product-dot {
116
136
  background-color: #269b36;
117
137
  }
@@ -156,6 +176,7 @@
156
176
  justify-self: flex-end;
157
177
  align-items: flex-end;
158
178
  }
179
+
159
180
  .small-badge {
160
181
  font-size: 0.5rem;
161
182
  height: 1rem;
@@ -163,6 +184,7 @@
163
184
  padding: 0 0.2rem;
164
185
  margin-bottom: 0.2rem;
165
186
  }
187
+
166
188
  .product-set-save-btn-wrapper {
167
189
  padding-left: 0 !important;
168
190
  display: flex;
@@ -5,7 +5,7 @@
5
5
  flex-wrap: wrap;
6
6
 
7
7
  .result-card {
8
- height: 14.25rem;
8
+ height: 14rem;
9
9
  border: 1px solid $gray-400;
10
10
  max-width: calc(50% - 0.75rem);
11
11
  flex: 0 0 calc(50% - 0.75rem);
@@ -0,0 +1 @@
1
+ export const EMOJI_URL = "https://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/svg/";
@@ -1,10 +1,13 @@
1
1
  import { parse } from 'twemoji-parser'
2
+ import { EMOJI_URL } from './constants'
2
3
 
3
4
  function parseTwemoji(emoji: string) {
4
5
  const [twemoji] = parse(emoji)
5
6
 
7
+ const emojiPathUrl = EMOJI_URL.concat(twemoji.url.split("/").slice(-1));
8
+
6
9
  return {
7
- src: twemoji.url,
10
+ src: emojiPathUrl,
8
11
  alt: twemoji.text,
9
12
  class: 'emoji',
10
13
  draggable: 'false',
@@ -12,10 +12,13 @@ export interface TypeaheadProps {
12
12
  placeholder: string
13
13
  isRequired?: boolean
14
14
  name: string
15
+ value?: TypeaheadOptions
15
16
  isMultipleChoise?: boolean
16
17
  noOptionsMessage: string
17
18
  isInvalid?: boolean
18
19
  isCouponForm?: boolean
20
+ containerStyles?: CSSObjectWithLabel
21
+ onChangeValue?: (value: TypeaheadOptions) => void
19
22
  }
20
23
 
21
24
  function Typeahead({
@@ -24,6 +27,9 @@ function Typeahead({
24
27
  isRequired = false,
25
28
  isMultipleChoise,
26
29
  name = '',
30
+ value,
31
+ onChangeValue,
32
+ containerStyles,
27
33
  isCouponForm = false,
28
34
  noOptionsMessage = '',
29
35
  isInvalid,
@@ -53,15 +59,23 @@ function Typeahead({
53
59
  render={({ field }) => (
54
60
  <Select
55
61
  placeholder={placeholder}
56
- value={field.value}
62
+ value={value ?? field.value}
57
63
  isMulti={isMultipleChoise}
58
64
  styles={{
65
+ container: (base) => ({
66
+ ...base,
67
+ ...containerStyles,
68
+ }),
59
69
  control: (base) => ({
60
70
  ...base,
61
71
  ...getStyle(),
62
72
  }),
63
73
  }}
64
74
  onChange={(value) => {
75
+ if (onChangeValue) {
76
+ onChangeValue(value)
77
+ return
78
+ }
65
79
  field.onChange(value)
66
80
  }}
67
81
  options={options}
package/yarn.lock CHANGED
@@ -2554,9 +2554,35 @@ __metadata:
2554
2554
  languageName: node
2555
2555
  linkType: hard
2556
2556
 
2557
- "@licklist/core@npm:0.30.1":
2558
- version: 0.30.1
2559
- resolution: "@licklist/core@npm:0.30.1"
2557
+ "@licklist/core@npm:0.29.1-dev.2":
2558
+ version: 0.29.1-dev.2
2559
+ resolution: "@licklist/core@npm:0.29.1-dev.2"
2560
+ dependencies:
2561
+ "@sentry/browser": "npm:6.2.0"
2562
+ axios: "npm:0.26.0"
2563
+ i18next: "npm:19.4.5"
2564
+ luxon: "npm:3.5.0"
2565
+ react: "npm:17.0.2"
2566
+ react-dom: "npm:17.0.2"
2567
+ react-i18next: "npm:11.8.8"
2568
+ react-intl: "npm:6.6.8"
2569
+ uuid: "npm:9.0.0"
2570
+ wait-for-expect: "npm:3.0.2"
2571
+ peerDependencies:
2572
+ "@licklist/eslint-config": 0.5.5
2573
+ axios: 0.26.0
2574
+ luxon: 3.5.0
2575
+ react: 17.0.2
2576
+ react-dom: 17.0.2
2577
+ react-i18next: 11.8.8
2578
+ react-intl: 6.6.8
2579
+ checksum: 10c0/cacb058eb075b8e42fe9135877aa90f5104b661a0a99addbadfe916604ee35d468d07f9ce4e349fad573015044977bf77821b92dc385bab23393bc4d72677c4f
2580
+ languageName: node
2581
+ linkType: hard
2582
+
2583
+ "@licklist/core@npm:0.30.0-dev.0":
2584
+ version: 0.30.0-dev.0
2585
+ resolution: "@licklist/core@npm:0.30.0-dev.0"
2560
2586
  dependencies:
2561
2587
  "@sentry/browser": "npm:6.2.0"
2562
2588
  axios: "npm:0.26.0"
@@ -2576,7 +2602,7 @@ __metadata:
2576
2602
  react-dom: 17.0.2
2577
2603
  react-i18next: 11.8.8
2578
2604
  react-intl: 6.6.8
2579
- checksum: 10c0/2b3ec4eebfffd120e188825beb607864dfc85ddc6f5cd834e6c7b99b0191171936da0299441f2a91721d70ebb196279b6b72d8e9ec37fc21d4f51f97400b8475
2605
+ checksum: 10c0/0254119edd1b01abeb3cdce66d26a56098860bfb5e0a8ec1d98ac2da3eb28b1cb8f7b2315a07ca3bd905eb25c349d65a4a4dab44e53466968b1b50012eec10bd
2580
2606
  languageName: node
2581
2607
  linkType: hard
2582
2608
 
@@ -2591,9 +2617,9 @@ __metadata:
2591
2617
  "@dnd-kit/utilities": "npm:2.0.0"
2592
2618
  "@fortawesome/fontawesome-svg-core": "npm:1.2.34"
2593
2619
  "@fortawesome/free-solid-svg-icons": "npm:5.15.2"
2594
- "@licklist/core": "npm:0.30.1"
2620
+ "@licklist/core": "npm:0.30.0-dev.0"
2595
2621
  "@licklist/eslint-config": "npm:0.5.6"
2596
- "@licklist/plugins": "npm:0.33.1"
2622
+ "@licklist/plugins": "npm:0.33.0-dev.0"
2597
2623
  "@mdx-js/react": "npm:1.6.22"
2598
2624
  "@popperjs/core": "npm:2.11.8"
2599
2625
  "@react-aria/utils": "npm:3.9.0"
@@ -2713,9 +2739,9 @@ __metadata:
2713
2739
  vite-plugin-svgr: "npm:4.2.0"
2714
2740
  vite-tsconfig-paths: "npm:5.0.1"
2715
2741
  peerDependencies:
2716
- "@licklist/core": 0.30.1
2742
+ "@licklist/core": 0.30.0-dev.0
2717
2743
  "@licklist/eslint-config": 0.5.6
2718
- "@licklist/plugins": 0.33.1
2744
+ "@licklist/plugins": 0.33.0-dev.0
2719
2745
  lodash: 4.17.21
2720
2746
  luxon: 3.5.0
2721
2747
  react: 17.0.2
@@ -2745,11 +2771,11 @@ __metadata:
2745
2771
  languageName: node
2746
2772
  linkType: hard
2747
2773
 
2748
- "@licklist/plugins@npm:0.33.1":
2749
- version: 0.33.1
2750
- resolution: "@licklist/plugins@npm:0.33.1"
2774
+ "@licklist/plugins@npm:0.33.0-dev.0":
2775
+ version: 0.33.0-dev.0
2776
+ resolution: "@licklist/plugins@npm:0.33.0-dev.0"
2751
2777
  dependencies:
2752
- "@licklist/core": "npm:0.30.1"
2778
+ "@licklist/core": "npm:0.29.1-dev.2"
2753
2779
  "@ungap/url-search-params": "npm:0.2.2"
2754
2780
  axios: "npm:0.26.0"
2755
2781
  history: "npm:4.10.1"
@@ -2770,7 +2796,7 @@ __metadata:
2770
2796
  rrule: "npm:2.6.8"
2771
2797
  use-debounce: "npm:7.0.1"
2772
2798
  peerDependencies:
2773
- "@licklist/core": 0.30.1
2799
+ "@licklist/core": 0.29.1-dev.2
2774
2800
  "@licklist/eslint-config": 0.5.6
2775
2801
  axios: 0.26.0
2776
2802
  lodash: 4.17.21
@@ -2782,7 +2808,7 @@ __metadata:
2782
2808
  react-loader: 2.4.7
2783
2809
  react-query: 3.34.12
2784
2810
  react-router-dom: 5.2.0
2785
- checksum: 10c0/9f9cba3fcf3b2543c1b781233c0cfa2d6638ff47edde93ed3500ea4dfe12f7940380e9d79b6051b6cc8eb5cb26cdbb97fcd412b83bfd3dce7cd1c34835f975a7
2811
+ checksum: 10c0/cdf57c38578b30926a323f0caf80a93c43fadc032dcd79d749de92ca6d7c3b47a8ac6bdf56547a56e0581094434ecd30880e5298161cb0fa97705e369ba799f1
2786
2812
  languageName: node
2787
2813
  linkType: hard
2788
2814
 
@@ -1,17 +0,0 @@
1
- import * as React from 'react';
2
-
3
- var _path;
4
- function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
5
- const SvgSelectArrow = props => /*#__PURE__*/React.createElement("svg", _extends({
6
- xmlns: "http://www.w3.org/2000/svg",
7
- width: 12,
8
- height: 12,
9
- fill: "none"
10
- }, props), _path || (_path = /*#__PURE__*/React.createElement("path", {
11
- fill: "currentColor",
12
- fillRule: "evenodd",
13
- d: "M.759 1.34A1 1 0 0 1 2.28.487l7.61 4.66a1 1 0 0 1 0 1.706l-7.61 4.66a1 1 0 0 1-1.522-.852z",
14
- clipRule: "evenodd"
15
- })));
16
-
17
- export { SvgSelectArrow as ReactComponent };