@licklist/design 0.78.5-dev.54 → 0.78.5-dev.56

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 (73) hide show
  1. package/dist/index.js +2 -7
  2. package/dist/v2/components/ActionMenu/ActionMenu.d.ts +1 -0
  3. package/dist/v2/components/ActionMenu/ActionMenu.d.ts.map +1 -1
  4. package/dist/v2/components/ActionMenu/ActionMenu.js +10 -3
  5. package/dist/v2/components/ActionMenu/ActionMenu.scss.js +1 -1
  6. package/dist/v2/components/Button/Button.d.ts +3 -2
  7. package/dist/v2/components/Button/Button.d.ts.map +1 -1
  8. package/dist/v2/components/Button/Button.js +12 -6
  9. package/dist/v2/components/Button/Button.scss.js +1 -1
  10. package/dist/v2/components/NewPageHeader/NewPageHeader.d.ts +2 -1
  11. package/dist/v2/components/NewPageHeader/NewPageHeader.d.ts.map +1 -1
  12. package/dist/v2/components/NewPageHeader/NewPageHeader.js +2 -2
  13. package/dist/v2/components/NewTable/NewTable.d.ts +1 -0
  14. package/dist/v2/components/NewTable/NewTable.d.ts.map +1 -1
  15. package/dist/v2/components/NewTable/NewTable.js +5 -0
  16. package/dist/v2/components/Pagination/Pagination.scss.js +1 -1
  17. package/dist/v2/components/index.d.ts +3 -10
  18. package/dist/v2/components/index.d.ts.map +1 -1
  19. package/dist/v2/icons/index.d.ts +18 -3
  20. package/dist/v2/icons/index.d.ts.map +1 -1
  21. package/dist/v2/icons/index.js +150 -7
  22. package/dist/v2/pages/Settings/components/SidebarCustomisation.js +7 -11
  23. package/dist/v2/pages/Settings/components/SidebarNavItem.js +6 -11
  24. package/dist/v2/styles/components/Button.scss +34 -2
  25. package/package.json +1 -1
  26. package/src/v2/components/ActionMenu/ActionMenu.scss +16 -5
  27. package/src/v2/components/ActionMenu/ActionMenu.tsx +6 -3
  28. package/src/v2/components/Button/Button.tsx +6 -3
  29. package/src/v2/components/Customer/{CustomerDetail/CustomerDetail.scss → CustomerDetail.scss} +7 -3
  30. package/src/v2/components/Customer/CustomersList.scss +308 -36
  31. package/src/v2/components/NewPageHeader/NewPageHeader.tsx +6 -4
  32. package/src/v2/components/NewTable/NewTable.tsx +6 -0
  33. package/src/v2/components/Pagination/Pagination.scss +24 -24
  34. package/src/v2/components/index.ts +19 -13
  35. package/src/v2/icons/index.tsx +35 -6
  36. package/src/v2/styles/components/Button.scss +34 -2
  37. package/dist/v2/components/Customer/CustomerCreate/CustomerCreate.d.ts +0 -11
  38. package/dist/v2/components/Customer/CustomerCreate/CustomerCreate.d.ts.map +0 -1
  39. package/dist/v2/components/Customer/CustomerCreate/CustomerCreate.js +0 -32
  40. package/dist/v2/components/Customer/CustomerCreate/index.d.ts +0 -2
  41. package/dist/v2/components/Customer/CustomerCreate/index.d.ts.map +0 -1
  42. package/dist/v2/components/Customer/CustomerDetail/CustomerDetail.d.ts +0 -35
  43. package/dist/v2/components/Customer/CustomerDetail/CustomerDetail.d.ts.map +0 -1
  44. package/dist/v2/components/Customer/CustomerDetail/CustomerDetail.js +0 -235
  45. package/dist/v2/components/Customer/CustomerDetail/CustomerDetail.scss.js +0 -6
  46. package/dist/v2/components/Customer/CustomerDetail/index.d.ts +0 -2
  47. package/dist/v2/components/Customer/CustomerDetail/index.d.ts.map +0 -1
  48. package/dist/v2/components/Customer/CustomerEdit/CustomerEdit.d.ts +0 -11
  49. package/dist/v2/components/Customer/CustomerEdit/CustomerEdit.d.ts.map +0 -1
  50. package/dist/v2/components/Customer/CustomerEdit/CustomerEdit.js +0 -32
  51. package/dist/v2/components/Customer/CustomerEdit/index.d.ts +0 -2
  52. package/dist/v2/components/Customer/CustomerEdit/index.d.ts.map +0 -1
  53. package/dist/v2/components/Customer/CustomerForm/CustomerForm.d.ts +0 -22
  54. package/dist/v2/components/Customer/CustomerForm/CustomerForm.d.ts.map +0 -1
  55. package/dist/v2/components/Customer/CustomerForm/CustomerForm.js +0 -535
  56. package/dist/v2/components/Customer/CustomerForm/index.d.ts +0 -2
  57. package/dist/v2/components/Customer/CustomerForm/index.d.ts.map +0 -1
  58. package/dist/v2/components/Customer/CustomersList.d.ts +0 -37
  59. package/dist/v2/components/Customer/CustomersList.d.ts.map +0 -1
  60. package/dist/v2/components/Customer/CustomersList.js +0 -204
  61. package/dist/v2/components/Customer/CustomersList.scss.js +0 -6
  62. package/dist/v2/components/Customer/index.d.ts +0 -6
  63. package/dist/v2/components/Customer/index.d.ts.map +0 -1
  64. package/src/v2/components/Customer/CustomerCreate/CustomerCreate.tsx +0 -36
  65. package/src/v2/components/Customer/CustomerCreate/index.ts +0 -1
  66. package/src/v2/components/Customer/CustomerDetail/CustomerDetail.tsx +0 -161
  67. package/src/v2/components/Customer/CustomerDetail/index.ts +0 -1
  68. package/src/v2/components/Customer/CustomerEdit/CustomerEdit.tsx +0 -37
  69. package/src/v2/components/Customer/CustomerEdit/index.ts +0 -1
  70. package/src/v2/components/Customer/CustomerForm/CustomerForm.tsx +0 -434
  71. package/src/v2/components/Customer/CustomerForm/index.ts +0 -1
  72. package/src/v2/components/Customer/CustomersList.tsx +0 -193
  73. package/src/v2/components/Customer/index.ts +0 -5
@@ -118,14 +118,14 @@ export const SearchIcon = () => (
118
118
  </svg>
119
119
  )
120
120
 
121
- export const RefreshIcon = () => (
122
- <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none">
121
+ export const RefreshIcon = ({ width = 24, height = 24 }: React.SVGProps<SVGSVGElement> & { width?: number; height?: number } = {}) => (
122
+ <svg xmlns="http://www.w3.org/2000/svg" width={width} height={height} viewBox="0 0 24 24" fill="none">
123
123
  <path d="M7.09693 6.32447C8.41167 5.18766 10.1255 4.5 12 4.5C16.1421 4.5 19.5 7.85786 19.5 12C19.5 13.6021 18.9976 15.0869 18.1419 16.3055L15.75 12H18C18 8.68629 15.3137 6 12 6C10.3874 6 8.92333 6.6362 7.84517 7.67131L7.09693 6.32447ZM16.903 17.6755C15.5883 18.8123 13.8745 19.5 12 19.5C7.85786 19.5 4.5 16.1421 4.5 12C4.5 10.3979 5.00234 8.91312 5.8581 7.69458L8.25 12H6C6 15.3137 8.68629 18 12 18C13.6126 18 15.0767 17.3638 16.1549 16.3287L16.903 17.6755Z" fill="#14215A"/>
124
124
  </svg>
125
125
  )
126
126
 
127
- export const SendIcon = () => (
128
- <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none">
127
+ export const SendIcon = ({ width = 24, height = 24 }: React.SVGProps<SVGSVGElement> & { width?: number; height?: number } = {}) => (
128
+ <svg xmlns="http://www.w3.org/2000/svg" width={width} height={height} viewBox="0 0 24 24" fill="none">
129
129
  <path d="M18 6C18.4142 6 18.75 6.33579 18.75 6.75V12.75H17.25V9.17871L11.3037 14.5039L5.25 9.16211V17.25H18V18.75H4.5C4.08579 18.75 3.75 18.4142 3.75 18V6.75C3.75 6.33579 4.08579 6 4.5 6H18ZM24 15L20.25 18V15.75H15V14.25H20.25V12L24 15ZM11.2969 12.4961L16.876 7.5H5.63379L11.2969 12.4961Z" fill="black"/>
130
130
  </svg>
131
131
  )
@@ -136,8 +136,8 @@ export const ExternalLinkIcon = () => (
136
136
  </svg>
137
137
  )
138
138
 
139
- export const ExportIcon = () => (
140
- <svg width="24" height="24" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
139
+ export const ExportIcon = ({ width = 24, height = 24 }: React.SVGProps<SVGSVGElement> & { width?: number; height?: number } = {}) => (
140
+ <svg width={width} height={height} viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
141
141
  <path d="M17 16H20L16 20L12 16H15V12H17V16ZM19 8H9V24H23V12H19V8ZM7 6.9918C7 6.44405 7.44749 6 7.9985 6H20L24.9997 11L25 24.9925C25 25.5489 24.5551 26 24.0066 26H7.9934C7.44476 26 7 25.5447 7 25.0082V6.9918Z" fill="currentColor"/>
142
142
  </svg>
143
143
  )
@@ -180,3 +180,32 @@ export const InfoIcon = ({ width = 16, height = 16 }: { width?: number; height?:
180
180
  <path d="M16 25C11.0294 25 7 20.9706 7 16C7 11.0294 11.0294 7 16 7C20.9706 7 25 11.0294 25 16C25 20.9706 20.9706 25 16 25ZM16 18C16.5523 18 17 17.5523 17 17L17 12C17 11.4477 16.5523 11 16 11C15.4477 11 15 11.4477 15 12L15 17C15 17.5523 15.4477 18 16 18ZM16 21C16.5523 21 17 20.5523 17 20C17 19.4477 16.5523 19 16 19C15.4477 19 15 19.4477 15 20C15 20.5523 15.4477 21 16 21Z" fill="currentColor"/>
181
181
  </svg>
182
182
  )
183
+
184
+ export const ArrowUpIcon = () => (
185
+ <svg width="11" height="6" viewBox="0 0 11 6" fill="none" xmlns="http://www.w3.org/2000/svg">
186
+ <path d="M10 5L5.5 1L1 5" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round"/>
187
+ </svg>
188
+ )
189
+
190
+ export const ArrowDownIcon = () => (
191
+ <svg width="11" height="6" viewBox="0 0 11 6" fill="none" xmlns="http://www.w3.org/2000/svg">
192
+ <path d="M1 1L5.5 5L10 1" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round"/>
193
+ </svg>
194
+ )
195
+
196
+ export const CloseIcon = ({width = 24, height = 24, ...props
197
+ }: React.SVGProps<SVGSVGElement> & { width?: number; height?: number }) => (
198
+ <svg
199
+ width={width}
200
+ height={height}
201
+ viewBox="0 0 24 24"
202
+ xmlns="http://www.w3.org/2000/svg"
203
+ {...props}
204
+ >
205
+ <path d="M18 6L6 18" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round"/>
206
+ <path d="M6 6L18 18" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round"/>
207
+ </svg>
208
+ )
209
+
210
+
211
+
@@ -8,7 +8,7 @@
8
8
  align-self: flex-start;
9
9
  text-align: center;
10
10
  align-items: center;
11
- font-family: var(--font-family-sans, 'Geist', sans-serif), serif;
11
+ font-family: var(--font-family-sans, 'Geist', sans-serif);
12
12
  font-weight: 600;
13
13
  line-height: 20px;
14
14
  min-height: 44px;
@@ -79,6 +79,28 @@
79
79
  }
80
80
  }
81
81
 
82
+ // Secondary - Soft
83
+ &--secondary-soft {
84
+ background: var(--surface-action-soft, #EFE6FD);
85
+ color: var(--label-action, #6200EE);
86
+
87
+ &:hover {
88
+ background: var(--surface-tertiary, #F0F0F5);
89
+ }
90
+ }
91
+
92
+
93
+ // Tertiary - Soft
94
+ &--tertiary-soft {
95
+ background: #FFFFFF;
96
+ color: var(--label-primary, #121E52);
97
+ border: 1px solid var(--border-primary, #E8E9EF);
98
+
99
+ &:hover {
100
+ background: var(--surface-tertiary, #F0F0F5);
101
+ }
102
+ }
103
+
82
104
  // Destructive - Soft
83
105
  &--destructive-soft {
84
106
  border-radius: var(--radius-reg, 8px);
@@ -138,8 +160,18 @@
138
160
  }
139
161
 
140
162
  /* Button text styling */
163
+ &__spinner {
164
+ width: 16px;
165
+ height: 16px;
166
+ border: 2px solid rgba(0, 0, 0, 0.1);
167
+ border-top: 2px solid currentColor;
168
+ border-radius: 50%;
169
+ animation: spin 1s linear infinite;
170
+ flex-shrink: 0;
171
+ }
172
+
141
173
  &__text {
142
- font-family: 'Geist', sans-serif;
174
+ font-family: var(--font-family-sans, 'Geist', sans-serif);
143
175
  font-size: 15px;
144
176
  font-style: normal;
145
177
  font-weight: 600;
@@ -1,11 +0,0 @@
1
- import React from 'react';
2
- import { CustomerData } from '../CustomerForm';
3
- export interface CustomerCreateProps {
4
- onCancel: () => void;
5
- onSave: (data: CustomerData) => void;
6
- initialData?: Partial<CustomerData>;
7
- isLoading?: boolean;
8
- submitButtonLabel?: string;
9
- }
10
- export declare const CustomerCreate: React.FC<CustomerCreateProps>;
11
- //# sourceMappingURL=CustomerCreate.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"CustomerCreate.d.ts","sourceRoot":"","sources":["../../../../../src/v2/components/Customer/CustomerCreate/CustomerCreate.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,EAAgB,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAE5D,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,MAAM,IAAI,CAAA;IACpB,MAAM,EAAE,CAAC,IAAI,EAAE,YAAY,KAAK,IAAI,CAAA;IACpC,WAAW,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,CAAA;IACnC,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,iBAAiB,CAAC,EAAE,MAAM,CAAA;CAC3B;AAED,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CAuBxD,CAAA"}
@@ -1,32 +0,0 @@
1
- import { jsxs, jsx } from 'react/jsx-runtime';
2
- import 'react';
3
- import { NewPageHeader } from '../../NewPageHeader/NewPageHeader.js';
4
- import { CustomerForm } from '../CustomerForm/CustomerForm.js';
5
-
6
- var CustomerCreate = function(param) {
7
- var onCancel = param.onCancel, onSave = param.onSave, initialData = param.initialData, isLoading = param.isLoading, _param_submitButtonLabel = param.submitButtonLabel, submitButtonLabel = _param_submitButtonLabel === void 0 ? 'Create Customer' : _param_submitButtonLabel;
8
- return /*#__PURE__*/ jsxs("div", {
9
- className: "tw-bg-white tw-min-h-screen tw-font-sans",
10
- children: [
11
- /*#__PURE__*/ jsx("div", {
12
- className: "tw-max-w-4xl tw-mx-auto tw-w-full",
13
- children: /*#__PURE__*/ jsx(NewPageHeader, {
14
- title: "Add Customer",
15
- onCancel: onCancel,
16
- cancelLabel: "Cancel"
17
- })
18
- }),
19
- /*#__PURE__*/ jsx("div", {
20
- className: "tw-max-w-4xl tw-mx-auto tw-w-full tw-bg-white tw-border-2 tw-border-[#e8e9ef] tw-rounded-lg tw-p-4 md:tw-p-8 tw-mt-8",
21
- children: /*#__PURE__*/ jsx(CustomerForm, {
22
- onSave: onSave,
23
- initialData: initialData,
24
- isLoading: isLoading,
25
- submitButtonLabel: submitButtonLabel
26
- })
27
- })
28
- ]
29
- });
30
- };
31
-
32
- export { CustomerCreate };
@@ -1,2 +0,0 @@
1
- export * from './CustomerCreate';
2
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/v2/components/Customer/CustomerCreate/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAA"}
@@ -1,35 +0,0 @@
1
- import React from 'react';
2
- import './CustomerDetail.scss';
3
- export interface CustomerDetailProps {
4
- onBack: () => void;
5
- onEdit?: () => void;
6
- name: string;
7
- customerId: string;
8
- waiverStatus: string;
9
- waiversEnabled?: boolean;
10
- waiverStatusVariant?: 'success' | 'danger' | 'warning' | 'neutral';
11
- contactDetails: {
12
- email: string;
13
- phone?: string;
14
- age?: string;
15
- };
16
- bookingDetails: {
17
- nextBooking: string;
18
- customerSince: string;
19
- };
20
- waiverDetails: {
21
- status: string;
22
- statusVariant?: 'success' | 'danger' | 'warning' | 'neutral';
23
- expires: string;
24
- };
25
- minors?: Array<{
26
- name: string;
27
- age: string;
28
- expires: string;
29
- status: string;
30
- statusVariant?: 'success' | 'danger' | 'warning' | 'neutral';
31
- }>;
32
- customerSinceFooter: string;
33
- }
34
- export declare const CustomerDetail: React.FC<CustomerDetailProps>;
35
- //# sourceMappingURL=CustomerDetail.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"CustomerDetail.d.ts","sourceRoot":"","sources":["../../../../../src/v2/components/Customer/CustomerDetail/CustomerDetail.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAGzB,OAAO,uBAAuB,CAAA;AAE9B,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,MAAM,IAAI,CAAA;IAClB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAA;IACnB,IAAI,EAAE,MAAM,CAAA;IACZ,UAAU,EAAE,MAAM,CAAA;IAClB,YAAY,EAAE,MAAM,CAAA;IACpB,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,mBAAmB,CAAC,EAAE,SAAS,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,CAAA;IAClE,cAAc,EAAE;QACd,KAAK,EAAE,MAAM,CAAA;QACb,KAAK,CAAC,EAAE,MAAM,CAAA;QACd,GAAG,CAAC,EAAE,MAAM,CAAA;KACb,CAAA;IACD,cAAc,EAAE;QACd,WAAW,EAAE,MAAM,CAAA;QACnB,aAAa,EAAE,MAAM,CAAA;KACtB,CAAA;IACD,aAAa,EAAE;QACb,MAAM,EAAE,MAAM,CAAA;QACd,aAAa,CAAC,EAAE,SAAS,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,CAAA;QAC5D,OAAO,EAAE,MAAM,CAAA;KAChB,CAAA;IACD,MAAM,CAAC,EAAE,KAAK,CAAC;QACb,IAAI,EAAE,MAAM,CAAA;QACZ,GAAG,EAAE,MAAM,CAAA;QACX,OAAO,EAAE,MAAM,CAAA;QACf,MAAM,EAAE,MAAM,CAAA;QACd,aAAa,CAAC,EAAE,SAAS,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,CAAA;KAC7D,CAAC,CAAA;IACF,mBAAmB,EAAE,MAAM,CAAA;CAC5B;AAED,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CA2HxD,CAAA"}
@@ -1,235 +0,0 @@
1
- import { jsxs, jsx } from 'react/jsx-runtime';
2
- import 'react';
3
- import { Badge } from '../../Badge/Badge.js';
4
- import { ArrowLeftIcon, InfoIcon, EditIcon } from '../../../icons/index.js';
5
- import './CustomerDetail.scss.js';
6
-
7
- var CustomerDetail = function(param) {
8
- var onBack = param.onBack, onEdit = param.onEdit, name = param.name, customerId = param.customerId, waiverStatus = param.waiverStatus, _param_waiverStatusVariant = param.waiverStatusVariant, waiverStatusVariant = _param_waiverStatusVariant === void 0 ? 'success' : _param_waiverStatusVariant, _param_waiversEnabled = param.waiversEnabled, waiversEnabled = _param_waiversEnabled === void 0 ? true : _param_waiversEnabled, contactDetails = param.contactDetails, bookingDetails = param.bookingDetails, waiverDetails = param.waiverDetails, minors = param.minors, customerSinceFooter = param.customerSinceFooter;
9
- return /*#__PURE__*/ jsxs("div", {
10
- className: "customer-detail",
11
- children: [
12
- /*#__PURE__*/ jsxs("div", {
13
- className: "customer-detail__back",
14
- onClick: onBack,
15
- children: [
16
- /*#__PURE__*/ jsx("span", {
17
- className: "customer-detail__back-icon",
18
- children: /*#__PURE__*/ jsx(ArrowLeftIcon, {
19
- width: 24,
20
- height: 24
21
- })
22
- }),
23
- " Back to Customers"
24
- ]
25
- }),
26
- /*#__PURE__*/ jsxs("div", {
27
- className: "customer-detail__header",
28
- children: [
29
- /*#__PURE__*/ jsx("div", {
30
- className: "customer-detail__title-row",
31
- children: /*#__PURE__*/ jsx("h1", {
32
- className: "customer-detail__name",
33
- children: name
34
- })
35
- }),
36
- /*#__PURE__*/ jsxs("div", {
37
- className: "customer-detail__badges-row",
38
- children: [
39
- /*#__PURE__*/ jsxs("div", {
40
- className: "customer-detail__badges",
41
- children: [
42
- /*#__PURE__*/ jsx("span", {
43
- className: "customer-detail__id-badge",
44
- children: customerId
45
- }),
46
- waiversEnabled && /*#__PURE__*/ jsx(Badge, {
47
- variant: waiverStatusVariant,
48
- icon: waiverStatus === 'Expired' || waiverStatus === 'Not Signed' ? /*#__PURE__*/ jsx(InfoIcon, {}) : undefined,
49
- children: waiverStatus
50
- })
51
- ]
52
- }),
53
- onEdit && /*#__PURE__*/ jsxs("div", {
54
- className: "customer-detail__edit",
55
- onClick: onEdit,
56
- children: [
57
- /*#__PURE__*/ jsx(EditIcon, {}),
58
- " Edit"
59
- ]
60
- })
61
- ]
62
- })
63
- ]
64
- }),
65
- /*#__PURE__*/ jsxs("div", {
66
- className: "customer-detail__grid",
67
- children: [
68
- /*#__PURE__*/ jsxs("div", {
69
- className: "customer-detail__card",
70
- children: [
71
- /*#__PURE__*/ jsx("h2", {
72
- className: "customer-detail__card-title",
73
- children: "Contact Details"
74
- }),
75
- /*#__PURE__*/ jsxs("div", {
76
- className: "customer-detail__info-group",
77
- children: [
78
- /*#__PURE__*/ jsx("label", {
79
- children: "Email"
80
- }),
81
- /*#__PURE__*/ jsx("span", {
82
- children: contactDetails.email
83
- })
84
- ]
85
- }),
86
- /*#__PURE__*/ jsxs("div", {
87
- className: "customer-detail__info-group",
88
- children: [
89
- /*#__PURE__*/ jsx("label", {
90
- children: "Phone"
91
- }),
92
- /*#__PURE__*/ jsx("span", {
93
- children: contactDetails.phone || '-'
94
- })
95
- ]
96
- }),
97
- /*#__PURE__*/ jsxs("div", {
98
- className: "customer-detail__info-group",
99
- children: [
100
- /*#__PURE__*/ jsx("label", {
101
- children: "Age"
102
- }),
103
- /*#__PURE__*/ jsx("span", {
104
- children: contactDetails.age || '-'
105
- })
106
- ]
107
- })
108
- ]
109
- }),
110
- /*#__PURE__*/ jsxs("div", {
111
- className: "customer-detail__card",
112
- children: [
113
- /*#__PURE__*/ jsx("h2", {
114
- className: "customer-detail__card-title",
115
- children: "Booking Details"
116
- }),
117
- /*#__PURE__*/ jsxs("div", {
118
- className: "customer-detail__info-group",
119
- children: [
120
- /*#__PURE__*/ jsx("label", {
121
- children: "Next Booking"
122
- }),
123
- /*#__PURE__*/ jsx("span", {
124
- children: bookingDetails.nextBooking
125
- })
126
- ]
127
- }),
128
- /*#__PURE__*/ jsxs("div", {
129
- className: "customer-detail__info-group",
130
- children: [
131
- /*#__PURE__*/ jsx("label", {
132
- children: "Customer Since"
133
- }),
134
- /*#__PURE__*/ jsx("span", {
135
- children: bookingDetails.customerSince
136
- })
137
- ]
138
- })
139
- ]
140
- }),
141
- waiversEnabled && /*#__PURE__*/ jsxs("div", {
142
- className: "customer-detail__card",
143
- children: [
144
- /*#__PURE__*/ jsx("h2", {
145
- className: "customer-detail__card-title",
146
- children: "Waiver Details"
147
- }),
148
- /*#__PURE__*/ jsxs("div", {
149
- className: "customer-detail__info-group",
150
- children: [
151
- /*#__PURE__*/ jsx("label", {
152
- children: "Status"
153
- }),
154
- /*#__PURE__*/ jsx("span", {
155
- children: /*#__PURE__*/ jsx(Badge, {
156
- variant: waiverDetails.statusVariant,
157
- icon: waiverDetails.status === 'Expired' || waiverDetails.status === 'Not Signed' ? /*#__PURE__*/ jsx(InfoIcon, {}) : undefined,
158
- children: waiverDetails.status
159
- })
160
- })
161
- ]
162
- }),
163
- /*#__PURE__*/ jsxs("div", {
164
- className: "customer-detail__info-group",
165
- children: [
166
- /*#__PURE__*/ jsx("label", {
167
- children: "Expires"
168
- }),
169
- /*#__PURE__*/ jsx("span", {
170
- children: waiverDetails.expires
171
- })
172
- ]
173
- })
174
- ]
175
- })
176
- ]
177
- }),
178
- waiversEnabled && minors && minors.length > 0 && /*#__PURE__*/ jsxs("div", {
179
- className: "customer-detail__card customer-detail__card--full",
180
- children: [
181
- /*#__PURE__*/ jsx("h2", {
182
- className: "customer-detail__card-title",
183
- children: "Minors Signed For"
184
- }),
185
- minors.map(function(minor, index) {
186
- return /*#__PURE__*/ jsxs("div", {
187
- className: "customer-detail__minor-row",
188
- children: [
189
- /*#__PURE__*/ jsxs("div", {
190
- className: "customer-detail__minor-info",
191
- children: [
192
- /*#__PURE__*/ jsx("div", {
193
- className: "customer-detail__minor-name",
194
- children: minor.name
195
- }),
196
- /*#__PURE__*/ jsx("div", {
197
- className: "customer-detail__minor-age",
198
- children: minor.age
199
- })
200
- ]
201
- }),
202
- /*#__PURE__*/ jsxs("div", {
203
- className: "customer-detail__minor-status-group",
204
- children: [
205
- /*#__PURE__*/ jsxs("span", {
206
- className: "customer-detail__minor-expires",
207
- children: [
208
- "Expires: ",
209
- minor.expires
210
- ]
211
- }),
212
- /*#__PURE__*/ jsx(Badge, {
213
- variant: minor.statusVariant,
214
- icon: minor.status === 'Expired' || minor.status === 'Not Signed' ? /*#__PURE__*/ jsx(InfoIcon, {}) : undefined,
215
- children: minor.status
216
- })
217
- ]
218
- })
219
- ]
220
- }, index);
221
- })
222
- ]
223
- }),
224
- /*#__PURE__*/ jsxs("div", {
225
- className: "customer-detail__footer",
226
- children: [
227
- "Customer since: ",
228
- customerSinceFooter
229
- ]
230
- })
231
- ]
232
- });
233
- };
234
-
235
- export { CustomerDetail };
@@ -1,6 +0,0 @@
1
- import styleInject from '/opt/atlassian/pipelines/agent/build/node_modules/style-inject/dist/style-inject.es.js';
2
-
3
- var css_248z = ".customer-detail{background-color:#fff;font-family:var(--font-family-sans,\"Geist\",sans-serif);min-height:100vh;padding:40px}.customer-detail__back{align-items:center;border:1px solid #0000;border-radius:8px;color:#6200ee;cursor:pointer;display:inline-flex;font-size:14px;font-weight:500;gap:8px;margin-bottom:30px;padding:8px 16px;transition:all .2s ease}.customer-detail__back:hover{background-color:#f3e5ff;border:1px solid #e0c7ff}.customer-detail__header{margin-bottom:40px}.customer-detail__name{color:#121e52;font-size:32px;font-weight:700;margin:0 0 16px}.customer-detail__badges-row{align-items:center;display:flex;justify-content:space-between}.customer-detail__badges{align-items:center;display:flex;gap:12px}.customer-detail__id-badge{background-color:#f4f5f9;border:1px solid #e2e4ed;border-radius:100px;color:#121e52;font-size:12px;font-weight:600;padding:4px 12px}.customer-detail__edit{align-items:center;border:1px solid #0000;border-radius:8px;color:#121e52;cursor:pointer;display:inline-flex;font-size:14px;font-weight:600;gap:8px;padding:8px 16px;transition:all .2s ease}.customer-detail__edit:hover{background-color:#e8eaf0;border:1px solid #d1d5e0}.customer-detail__grid{display:grid;gap:24px;grid-template-columns:1fr 1fr;margin-bottom:24px}.customer-detail__card{background:#fff;border:1px solid #e2e4ed;border-radius:12px;padding:24px}.customer-detail__card--full{grid-column:1/-1}.customer-detail__card-title{color:#121e52;font-size:18px;font-weight:700;margin:0 0 24px}.customer-detail__info-group{display:flex;flex-direction:column;gap:4px;margin-bottom:16px}.customer-detail__info-group:last-child{margin-bottom:0}.customer-detail__info-group label{color:#9399b3;font-size:12px;margin:0}.customer-detail__info-group span{align-items:center;display:inline-flex;font-size:14px;font-weight:500}.customer-detail__minor-row{align-items:center;border-bottom:1px solid #f4f5f9;display:flex;justify-content:space-between;padding:16px 0}.customer-detail__minor-row:last-child{border-bottom:none;padding-bottom:0}.customer-detail__minor-row:first-of-type{padding-top:0}.customer-detail__minor-info{display:flex;flex-direction:column;gap:4px}.customer-detail__minor-name{color:#121e52;font-size:14px;font-weight:600}.customer-detail__minor-age{color:#9399b3;font-size:12px}.customer-detail__minor-status-group{align-items:center;display:flex;gap:16px}.customer-detail__footer,.customer-detail__minor-expires{color:#9399b3;font-size:12px}.customer-detail__footer{margin-top:40px}@media (max-width:768px){.customer-detail{padding:20px 16px}.customer-detail__back{font-size:13px;margin-bottom:20px;padding:6px 12px}.customer-detail__header{margin-bottom:24px}.customer-detail__name{font-size:24px;margin-bottom:12px}.customer-detail__badges-row{align-items:flex-start;flex-direction:column;gap:12px}.customer-detail__badges{flex-wrap:wrap}.customer-detail__id-badge{font-size:11px;padding:3px 10px}.customer-detail__edit{align-self:flex-start;font-size:13px;padding:6px 12px}.customer-detail__grid{gap:16px;grid-template-columns:1fr;margin-bottom:16px}.customer-detail__card{padding:20px}.customer-detail__card--full{grid-column:1}.customer-detail__card-title{font-size:16px;margin-bottom:16px}.customer-detail__info-group{margin-bottom:14px}.customer-detail__info-group label{font-size:11px}.customer-detail__info-group span{font-size:13px}.customer-detail__minor-row{align-items:flex-start;flex-direction:column;gap:12px;padding:12px 0}.customer-detail__minor-name{font-size:13px}.customer-detail__minor-age,.customer-detail__minor-expires{font-size:11px}.customer-detail__minor-status-group{justify-content:space-between;width:100%}.customer-detail__footer{font-size:11px;margin-top:24px}}@media (max-width:480px){.customer-detail{padding:16px 12px}.customer-detail__back{font-size:12px;margin-bottom:16px;padding:4px 8px}.customer-detail__name{font-size:20px}.customer-detail__card{border-radius:8px;padding:16px}.customer-detail__card-title{font-size:15px;margin-bottom:12px}.customer-detail__badges{gap:8px}.customer-detail__minor-row{padding:10px 0}}";
4
- styleInject(css_248z);
5
-
6
- export { css_248z as default };
@@ -1,2 +0,0 @@
1
- export * from './CustomerDetail';
2
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/v2/components/Customer/CustomerDetail/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAA"}
@@ -1,11 +0,0 @@
1
- import React from 'react';
2
- import { CustomerData } from '../CustomerForm';
3
- export interface CustomerEditProps {
4
- onBack: () => void;
5
- onCancel: () => void;
6
- onSave: (data: CustomerData) => void;
7
- initialData?: Partial<CustomerData>;
8
- isLoading?: boolean;
9
- }
10
- export declare const CustomerEdit: React.FC<CustomerEditProps>;
11
- //# sourceMappingURL=CustomerEdit.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"CustomerEdit.d.ts","sourceRoot":"","sources":["../../../../../src/v2/components/Customer/CustomerEdit/CustomerEdit.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,EAAgB,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAE5D,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,IAAI,CAAA;IAClB,QAAQ,EAAE,MAAM,IAAI,CAAA;IACpB,MAAM,EAAE,CAAC,IAAI,EAAE,YAAY,KAAK,IAAI,CAAA;IACpC,WAAW,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,CAAA;IACnC,SAAS,CAAC,EAAE,OAAO,CAAA;CACpB;AAED,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAwBpD,CAAA"}
@@ -1,32 +0,0 @@
1
- import { jsxs, jsx } from 'react/jsx-runtime';
2
- import 'react';
3
- import { NewPageHeader } from '../../NewPageHeader/NewPageHeader.js';
4
- import { CustomerForm } from '../CustomerForm/CustomerForm.js';
5
-
6
- var CustomerEdit = function(param) {
7
- var onCancel = param.onCancel, onSave = param.onSave, initialData = param.initialData, isLoading = param.isLoading;
8
- return /*#__PURE__*/ jsxs("div", {
9
- className: "tw-bg-white tw-min-h-screen tw-font-sans",
10
- children: [
11
- /*#__PURE__*/ jsx("div", {
12
- className: "tw-max-w-4xl tw-mx-auto tw-w-full",
13
- children: /*#__PURE__*/ jsx(NewPageHeader, {
14
- title: "Edit Customer",
15
- onCancel: onCancel
16
- })
17
- }),
18
- /*#__PURE__*/ jsx("div", {
19
- className: "tw-max-w-4xl tw-mx-auto tw-w-full tw-bg-white tw-border-2 tw-border-[#e8e9ef] tw-rounded-lg tw-p-4 md:tw-p-8 tw-mt-8",
20
- children: /*#__PURE__*/ jsx(CustomerForm, {
21
- onSave: onSave,
22
- initialData: initialData,
23
- isLoading: isLoading,
24
- submitButtonLabel: "Save Changes",
25
- isEditing: true
26
- })
27
- })
28
- ]
29
- });
30
- };
31
-
32
- export { CustomerEdit };
@@ -1,2 +0,0 @@
1
- export * from './CustomerEdit';
2
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/v2/components/Customer/CustomerEdit/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAA"}
@@ -1,22 +0,0 @@
1
- import React from 'react';
2
- export interface CustomerData {
3
- firstName: string;
4
- lastName: string;
5
- email: string;
6
- dobDay: string;
7
- dobMonth: string;
8
- dobYear: string;
9
- phone: string;
10
- optIn: boolean;
11
- postcode: string;
12
- gender: string;
13
- }
14
- export interface CustomerFormProps {
15
- onSave: (data: CustomerData) => void;
16
- initialData?: Partial<CustomerData>;
17
- isLoading?: boolean;
18
- submitButtonLabel?: string;
19
- isEditing?: boolean;
20
- }
21
- export declare const CustomerForm: React.FC<CustomerFormProps>;
22
- //# sourceMappingURL=CustomerForm.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"CustomerForm.d.ts","sourceRoot":"","sources":["../../../../../src/v2/components/Customer/CustomerForm/CustomerForm.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA8B,MAAM,OAAO,CAAA;AAQlD,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,MAAM,CAAA;IAChB,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,OAAO,CAAA;IACd,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,CAAC,IAAI,EAAE,YAAY,KAAK,IAAI,CAAA;IACpC,WAAW,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,CAAA;IACnC,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,SAAS,CAAC,EAAE,OAAO,CAAA;CACpB;AAED,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAoZpD,CAAA"}