@licklist/design 0.78.43 → 0.78.45

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 (132) hide show
  1. package/.yarnrc.yml +5 -0
  2. package/dist/custom-fields/constants.d.ts +9 -8
  3. package/dist/custom-fields/constants.d.ts.map +1 -1
  4. package/dist/events/event-venue-map/utils/index.d.ts +1 -1
  5. package/dist/events/event-venue-map/utils/index.d.ts.map +1 -1
  6. package/dist/iframe/event/event-venue-map/IframeEventVenueMap.d.ts +3 -3
  7. package/dist/iframe/order-process/components/BookingSummary/utils/index.d.ts +1 -1
  8. package/dist/iframe/order-process/components/BookingSummary/utils/index.d.ts.map +1 -1
  9. package/dist/iframe/payment/order-items-table/hooks/useTableData.d.ts +5 -15
  10. package/dist/iframe/payment/order-items-table/hooks/useTableData.d.ts.map +1 -1
  11. package/dist/iframe/payment/order-items-table/utils/index.d.ts +4 -4
  12. package/dist/iframe/payment/order-items-table/utils/index.d.ts.map +1 -1
  13. package/dist/index.d.ts +1 -2
  14. package/dist/index.d.ts.map +1 -1
  15. package/dist/index.js +1 -1
  16. package/dist/product-set/form/SelectCategoryModal.d.ts +5 -5
  17. package/dist/product-set/utils/index.d.ts +12 -12
  18. package/dist/sales/coupon/utils/index.d.ts +2 -2
  19. package/dist/static/date-range-input/DateRangeInput.d.ts.map +1 -1
  20. package/dist/v2/components/InputCheckbox/InputCheckbox.scss.js +1 -1
  21. package/dist/v2/components/Tooltip/Tooltip.d.ts +0 -1
  22. package/dist/v2/components/Tooltip/Tooltip.d.ts.map +1 -1
  23. package/dist/v2/components/ZoneCard/ZoneCard.scss.js +1 -1
  24. package/dist/v2/components/index.d.ts +1 -1
  25. package/dist/v2/components/index.d.ts.map +1 -1
  26. package/dist/v2/dashboard-analytics/blog-posts/index.d.ts +1 -1
  27. package/dist/v2/dashboard-analytics/blog-posts/index.d.ts.map +1 -1
  28. package/dist/v2/dashboard-analytics/chart/Chart.d.ts.map +1 -1
  29. package/dist/v2/dashboard-analytics/chart/Chart.js +3 -2
  30. package/dist/v2/icons/index.d.ts +14 -0
  31. package/dist/v2/icons/index.d.ts.map +1 -1
  32. package/dist/v2/icons/index.js +47 -1
  33. package/dist/v2/index.d.ts +2 -0
  34. package/dist/v2/index.d.ts.map +1 -1
  35. package/dist/v2/navigation/DashboardLayout/DashboardLayout.js +1 -1
  36. package/dist/v2/navigation/DashboardLayout/TopNavigation.d.ts.map +1 -1
  37. package/dist/v2/navigation/FigmasSideBar/FigmasSideBar.d.ts.map +1 -1
  38. package/dist/v2/navigation/config.d.ts.map +1 -1
  39. package/dist/v2/pages/SettingsSubPage/SettingsSubPage.d.ts +12 -0
  40. package/dist/v2/pages/SettingsSubPage/SettingsSubPage.d.ts.map +1 -0
  41. package/dist/v2/pages/SettingsSubPage/index.d.ts +3 -0
  42. package/dist/v2/pages/SettingsSubPage/index.d.ts.map +1 -0
  43. package/dist/v2/pages/auth/AuthLayout/AuthLayout.d.ts +14 -0
  44. package/dist/v2/pages/auth/AuthLayout/AuthLayout.d.ts.map +1 -0
  45. package/dist/v2/pages/auth/AuthLayout/index.d.ts +3 -0
  46. package/dist/v2/pages/auth/AuthLayout/index.d.ts.map +1 -0
  47. package/dist/v2/pages/auth/CreatePassword/CreatePasswordPage.d.ts +10 -0
  48. package/dist/v2/pages/auth/CreatePassword/CreatePasswordPage.d.ts.map +1 -0
  49. package/dist/v2/pages/auth/CreatePassword/index.d.ts +3 -0
  50. package/dist/v2/pages/auth/CreatePassword/index.d.ts.map +1 -0
  51. package/dist/v2/pages/auth/Login/LoginPage.d.ts +11 -0
  52. package/dist/v2/pages/auth/Login/LoginPage.d.ts.map +1 -0
  53. package/dist/v2/pages/auth/Login/index.d.ts +3 -0
  54. package/dist/v2/pages/auth/Login/index.d.ts.map +1 -0
  55. package/dist/v2/pages/auth/ResetPassword/ResetPasswordPage.d.ts +12 -0
  56. package/dist/v2/pages/auth/ResetPassword/ResetPasswordPage.d.ts.map +1 -0
  57. package/dist/v2/pages/auth/ResetPassword/index.d.ts +3 -0
  58. package/dist/v2/pages/auth/ResetPassword/index.d.ts.map +1 -0
  59. package/dist/v2/pages/auth/VerifyEmail/VerifyEmailPage.d.ts +9 -0
  60. package/dist/v2/pages/auth/VerifyEmail/VerifyEmailPage.d.ts.map +1 -0
  61. package/dist/v2/pages/auth/VerifyEmail/index.d.ts +3 -0
  62. package/dist/v2/pages/auth/VerifyEmail/index.d.ts.map +1 -0
  63. package/dist/v2/pages/auth/index.d.ts +11 -0
  64. package/dist/v2/pages/auth/index.d.ts.map +1 -0
  65. package/dist/v2/styles/common.scss +7 -0
  66. package/dist/v2/styles/components/Button.scss +199 -0
  67. package/dist/v2/styles/form/Layout.scss +15 -0
  68. package/dist/v2/styles/form/NewInput.scss +271 -0
  69. package/dist/v2/styles/form/NewInput.scss.js +1 -1
  70. package/dist/v2/styles/index.scss +6 -0
  71. package/dist/v2/styles/navigation/Navigation.scss +17 -0
  72. package/dist/v2/styles/navigation/NavigationItem.scss +86 -0
  73. package/dist/v2/styles/navigation/NavigationSection.scss +26 -0
  74. package/dist/v2/styles/navigation/_index.scss +9 -0
  75. package/dist/v2/styles/tokens/_colors.scss +562 -0
  76. package/dist/v2/styles/tokens/_sizes.scss +125 -0
  77. package/dist/v2/styles/tokens/_status.scss +108 -0
  78. package/dist/v2/styles/tokens/_typography.scss +146 -0
  79. package/dist/v2/types/navigation.d.ts +2 -0
  80. package/dist/v2/types/navigation.d.ts.map +1 -1
  81. package/dist/virtualized/components/VirtualizedGrid.d.ts.map +1 -1
  82. package/dist/virtualized/components/VirtualizedWindowScroller.d.ts.map +1 -1
  83. package/dist/virtualized/components/VirtualizedWindowScroller.js +3 -2
  84. package/package.json +4 -4
  85. package/rollup.config.js +7 -0
  86. package/src/auth/Authorizer.tsx +1 -1
  87. package/src/index.ts +1 -2
  88. package/src/static/date-range-input/DateRangeInput.tsx +1 -0
  89. package/src/v2/components/InputCheckbox/InputCheckbox.scss +3 -3
  90. package/src/v2/components/NPSScore/NPSScore.tsx +2 -2
  91. package/src/v2/components/Tooltip/Tooltip.tsx +1 -2
  92. package/src/v2/components/ZoneCard/ZoneCard.scss +78 -0
  93. package/src/v2/components/index.ts +1 -0
  94. package/src/v2/dashboard-analytics/blog-posts/index.ts +1 -1
  95. package/src/v2/dashboard-analytics/chart/Chart.tsx +36 -31
  96. package/src/v2/dashboard-analytics/dashboard/Dashboard.tsx +1 -1
  97. package/src/v2/icons/Icons.stories.tsx +253 -0
  98. package/src/v2/icons/index.tsx +24 -0
  99. package/src/v2/index.ts +4 -0
  100. package/src/v2/navigation/DashboardLayout/DashboardLayout.tsx +1 -1
  101. package/src/v2/navigation/DashboardLayout/TopNavigation.tsx +9 -6
  102. package/src/v2/navigation/FigmasAdminSideBar/FigmasAdminSideBar.tsx +1 -1
  103. package/src/v2/navigation/FigmasSideBar/FigmasSideBar.tsx +6 -4
  104. package/src/v2/navigation/config.tsx +0 -1
  105. package/src/v2/pages/SettingsSubPage/SettingsSubPage.scss +43 -0
  106. package/src/v2/pages/SettingsSubPage/SettingsSubPage.tsx +49 -0
  107. package/src/v2/pages/SettingsSubPage/index.ts +2 -0
  108. package/src/v2/pages/auth/AuthLayout/AuthLayout.scss +140 -0
  109. package/src/v2/pages/auth/AuthLayout/AuthLayout.tsx +61 -0
  110. package/src/v2/pages/auth/AuthLayout/index.ts +2 -0
  111. package/src/v2/pages/auth/CreatePassword/CreatePasswordPage.scss +149 -0
  112. package/src/v2/pages/auth/CreatePassword/CreatePasswordPage.stories.tsx +45 -0
  113. package/src/v2/pages/auth/CreatePassword/CreatePasswordPage.tsx +179 -0
  114. package/src/v2/pages/auth/CreatePassword/index.ts +2 -0
  115. package/src/v2/pages/auth/Login/LoginPage.scss +49 -0
  116. package/src/v2/pages/auth/Login/LoginPage.stories.tsx +45 -0
  117. package/src/v2/pages/auth/Login/LoginPage.tsx +98 -0
  118. package/src/v2/pages/auth/Login/index.ts +2 -0
  119. package/src/v2/pages/auth/ResetPassword/ResetPasswordPage.scss +84 -0
  120. package/src/v2/pages/auth/ResetPassword/ResetPasswordPage.stories.tsx +53 -0
  121. package/src/v2/pages/auth/ResetPassword/ResetPasswordPage.tsx +109 -0
  122. package/src/v2/pages/auth/ResetPassword/index.ts +2 -0
  123. package/src/v2/pages/auth/VerifyEmail/VerifyEmailPage.scss +72 -0
  124. package/src/v2/pages/auth/VerifyEmail/VerifyEmailPage.stories.tsx +41 -0
  125. package/src/v2/pages/auth/VerifyEmail/VerifyEmailPage.tsx +110 -0
  126. package/src/v2/pages/auth/VerifyEmail/index.ts +2 -0
  127. package/src/v2/pages/auth/index.ts +14 -0
  128. package/src/v2/styles/form/NewInput.scss +12 -0
  129. package/src/v2/types/navigation.ts +3 -0
  130. package/src/virtualized/components/VirtualizedGrid.tsx +1 -0
  131. package/src/virtualized/components/VirtualizedWindowScroller.tsx +1 -0
  132. package/tsconfig.build.tsbuildinfo +1 -0
@@ -0,0 +1,108 @@
1
+ /* Status/Alert Color tokens derived from Figma Alerts & Errors page
2
+ * Spec: https://www.figma.com/design/HPb8SEwQH2rrFAD2sRlKei/BKIT---Booked-Kit?node-id=167:968
3
+ */
4
+
5
+ :root {
6
+ /* Success/Green Status Colors */
7
+ --color-success-fill: #2d6b18;
8
+ --color-success-background: #eef9ea;
9
+ --color-success-border: #c9ecbd;
10
+
11
+ /* Error/Red Status Colors */
12
+ --color-error-fill: #cc3c35;
13
+ --color-error-background: #fceceb;
14
+ --color-error-border: #f5c4c2;
15
+
16
+ /* Alert/Warning/Yellow Status Colors */
17
+ --color-alert-fill: #fd7e14;
18
+ --color-alert-background: #fcf6e7;
19
+ --color-alert-border: #f6e3b4;
20
+
21
+ /* Info/Blue Status Colors */
22
+ --color-info-fill: #0e8ce2;
23
+ --color-info-background: #e7f4fc;
24
+ --color-info-border: #b4dbf6;
25
+ }
26
+
27
+ /* Legacy format for compatibility with existing alias system */
28
+ :root {
29
+ /* Surfaces - Status backgrounds */
30
+ --surfaces-status-background-success: var(--color-success-background);
31
+ --surfaces-status-background-error: var(--color-error-background);
32
+ --surfaces-status-background-alert: var(--color-alert-background);
33
+ --surfaces-status-background-info: var(--color-info-background);
34
+
35
+ /* Borders - Status borders */
36
+ --borders-status-border-success: var(--color-success-border);
37
+ --borders-status-border-error: var(--color-error-border);
38
+ --borders-status-border-alert: var(--color-alert-border);
39
+ --borders-status-border-info: var(--color-info-border);
40
+
41
+ /* Fills - Status icons/text */
42
+ --fills-status-fill-success: var(--color-success-fill);
43
+ --fills-status-fill-error: var(--color-error-fill);
44
+ --fills-status-fill-alert: var(--color-alert-fill);
45
+ --fills-status-fill-info: var(--color-info-fill);
46
+ }
47
+
48
+ /* SCSS Map for status colors */
49
+ $status-colors: (
50
+ success: (
51
+ fill: var(--color-success-fill),
52
+ background: var(--color-success-background),
53
+ border: var(--color-success-border)
54
+ ),
55
+ error: (
56
+ fill: var(--color-error-fill),
57
+ background: var(--color-error-background),
58
+ border: var(--color-error-border)
59
+ ),
60
+ alert: (
61
+ fill: var(--color-alert-fill),
62
+ background: var(--color-alert-background),
63
+ border: var(--color-alert-border)
64
+ ),
65
+ info: (
66
+ fill: var(--color-info-fill),
67
+ background: var(--color-info-background),
68
+ border: var(--color-info-border)
69
+ )
70
+ );
71
+
72
+ /* Mixins for status colors */
73
+ @mixin status-success() {
74
+ background-color: var(--surfaces-status-background-success);
75
+ border-color: var(--borders-status-border-success);
76
+ color: var(--fills-status-fill-success);
77
+ }
78
+
79
+ @mixin status-error() {
80
+ background-color: var(--surfaces-status-background-error);
81
+ border-color: var(--borders-status-border-error);
82
+ color: var(--fills-status-fill-error);
83
+ }
84
+
85
+ @mixin status-alert() {
86
+ background-color: var(--surfaces-status-background-alert);
87
+ border-color: var(--borders-status-border-alert);
88
+ color: var(--fills-status-fill-alert);
89
+ }
90
+
91
+ @mixin status-info() {
92
+ background-color: var(--surfaces-status-background-info);
93
+ border-color: var(--borders-status-border-info);
94
+ color: var(--fills-status-fill-info);
95
+ }
96
+
97
+ /* Helper mixin for getting status colors */
98
+ @function get-status-color($status, $type) {
99
+ $status-map: map-get($status-colors, $status);
100
+ @if $status-map {
101
+ $color: map-get($status-map, $type);
102
+ @if $color {
103
+ @return $color;
104
+ }
105
+ }
106
+ @warn "Unknown status color: #{$status}.#{$type}";
107
+ @return null;
108
+ }
@@ -0,0 +1,146 @@
1
+ /* Typography tokens and mixins derived from Figma
2
+ * Spec: https://www.figma.com/design/HPb8SEwQH2rrFAD2sRlKei/BKIT---Booked-Kit?node-id=30-95&m=dev
3
+ */
4
+
5
+ :root {
6
+ /* Families */
7
+ --font-family-sans: 'Geist', -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Helvetica Neue', Arial, sans-serif;
8
+ --font-family-mono: 'Geist Mono', ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace;
9
+
10
+ /* Headings Desktop */
11
+ --heading-xxl-size: 44px;
12
+ --heading-xxl-line: 48px;
13
+ --heading-xxl-weight: 600;
14
+ --heading-xl-size: 32px;
15
+ --heading-xl-line: 36px;
16
+ --heading-xl-weight: 700;
17
+ --heading-h1-size: 24px;
18
+ --heading-h1-line: 28px;
19
+ --heading-h1-weight: 600;
20
+ --heading-h2-size: 20px;
21
+ --heading-h2-line: 24px;
22
+ --heading-h2-weight: 600;
23
+ --heading-h3-size: 17px;
24
+ --heading-h3-line: 20px;
25
+ --heading-h3-weight: 600;
26
+ --heading-h4-size: 15px;
27
+ --heading-h4-line: 18px;
28
+ --heading-h4-weight: 600;
29
+ --heading-h5-size: 13px;
30
+ --heading-h5-line: 16px;
31
+ --heading-h5-weight: 500;
32
+ --heading-h6-size: 11px;
33
+ --heading-h6-line: 14px;
34
+ --heading-h6-weight: 500;
35
+
36
+ /* Headings Mobile */
37
+ --heading-xxl-mobile-size: 32px;
38
+ --heading-xxl-mobile-line: 36px;
39
+ --heading-xxl-mobile-weight: 600;
40
+ --heading-xl-mobile-size: 26px;
41
+ --heading-xl-mobile-line: 30px;
42
+ --heading-xl-mobile-weight: 700;
43
+ --heading-h1-mobile-size: 20px;
44
+ --heading-h1-mobile-line: 23px;
45
+ --heading-h1-mobile-weight: 600;
46
+ --heading-h2-mobile-size: 18px;
47
+ --heading-h2-mobile-line: 22px;
48
+ --heading-h2-mobile-weight: 600;
49
+ --heading-h3-mobile-size: 16px;
50
+ --heading-h3-mobile-line: 18px;
51
+ --heading-h3-mobile-weight: 600;
52
+ --heading-h4-mobile-size: 14px;
53
+ --heading-h4-mobile-line: 16px;
54
+ --heading-h4-mobile-weight: 600;
55
+ --heading-h5-mobile-size: 13px;
56
+ --heading-h5-mobile-line: 16px;
57
+ --heading-h5-mobile-weight: 500;
58
+ --heading-h6-mobile-size: 11px;
59
+ --heading-h6-mobile-line: 14px;
60
+ --heading-h6-mobile-weight: 500;
61
+
62
+ /* Body Desktop */
63
+ --text-xl-size: 20px;
64
+ --text-xl-line: 26px;
65
+ --text-xl-weight: 400;
66
+ --text-large-size: 18px;
67
+ --text-large-line: 24px;
68
+ --text-large-weight: 400;
69
+ --text-regular-size: 15px;
70
+ --text-regular-line: 20px;
71
+ --text-regular-weight: 400;
72
+ --text-small-size: 13px;
73
+ --text-small-line: 16px;
74
+ --text-small-weight: 400;
75
+ --text-small-emphasis-weight: 500;
76
+ --text-small-bold-weight: 600;
77
+ --text-xs-size: 10px;
78
+ --text-xs-line: 13px;
79
+ --text-xs-weight: 500;
80
+ --text-xs-bold-weight: 600;
81
+ }
82
+
83
+ /* Breakpoint: adjust if your system uses different breakpoints */
84
+ $bp-mobile-max: 767px;
85
+
86
+ /* Map of variants to CSS variable tuples: (size, line, weight) */
87
+ $typo-map: (
88
+ 'heading.xxl': (var(--heading-xxl-size), var(--heading-xxl-line), var(--heading-xxl-weight), var(--font-family-sans)),
89
+ 'heading.xl': (var(--heading-xl-size), var(--heading-xl-line), var(--heading-xl-weight), var(--font-family-sans)),
90
+ 'heading.h1': (var(--heading-h1-size), var(--heading-h1-line), var(--heading-h1-weight), var(--font-family-sans)),
91
+ 'heading.h2': (var(--heading-h2-size), var(--heading-h2-line), var(--heading-h2-weight), var(--font-family-sans)),
92
+ 'heading.h3': (var(--heading-h3-size), var(--heading-h3-line), var(--heading-h3-weight), var(--font-family-sans)),
93
+ 'heading.h4': (var(--heading-h4-size), var(--heading-h4-line), var(--heading-h4-weight), var(--font-family-sans)),
94
+ 'heading.h5': (var(--heading-h5-size), var(--heading-h5-line), var(--heading-h5-weight), var(--font-family-sans)),
95
+ 'heading.h6': (var(--heading-h6-size), var(--heading-h6-line), var(--heading-h6-weight), var(--font-family-sans)),
96
+
97
+ 'heading.xxl.mobile': (var(--heading-xxl-mobile-size), var(--heading-xxl-mobile-line), var(--heading-xxl-mobile-weight), var(--font-family-sans)),
98
+ 'heading.xl.mobile': (var(--heading-xl-mobile-size), var(--heading-xl-mobile-line), var(--heading-xl-mobile-weight), var(--font-family-sans)),
99
+ 'heading.h1.mobile': (var(--heading-h1-mobile-size), var(--heading-h1-mobile-line), var(--heading-h1-mobile-weight), var(--font-family-sans)),
100
+ 'heading.h2.mobile': (var(--heading-h2-mobile-size), var(--heading-h2-mobile-line), var(--heading-h2-mobile-weight), var(--font-family-sans)),
101
+ 'heading.h3.mobile': (var(--heading-h3-mobile-size), var(--heading-h3-mobile-line), var(--heading-h3-mobile-weight), var(--font-family-sans)),
102
+ 'heading.h4.mobile': (var(--heading-h4-mobile-size), var(--heading-h4-mobile-line), var(--heading-h4-mobile-weight), var(--font-family-sans)),
103
+ 'heading.h5.mobile': (var(--heading-h5-mobile-size), var(--heading-h5-mobile-line), var(--heading-h5-mobile-weight), var(--font-family-sans)),
104
+ 'heading.h6.mobile': (var(--heading-h6-mobile-size), var(--heading-h6-mobile-line), var(--heading-h6-mobile-weight), var(--font-family-sans)),
105
+
106
+ 'text.xl': (var(--text-xl-size), var(--text-xl-line), var(--text-xl-weight), var(--font-family-sans)),
107
+ 'text.large': (var(--text-large-size), var(--text-large-line), var(--text-large-weight), var(--font-family-sans)),
108
+ 'text.regular': (var(--text-regular-size), var(--text-regular-line), var(--text-regular-weight), var(--font-family-sans)),
109
+ 'text.small': (var(--text-small-size), var(--text-small-line), var(--text-small-weight), var(--font-family-sans)),
110
+ 'text.small.emphasis': (var(--text-small-size), var(--text-small-line), var(--text-small-emphasis-weight), var(--font-family-sans)),
111
+ 'text.small.bold': (var(--text-small-size), var(--text-small-line), var(--text-small-bold-weight), var(--font-family-sans)),
112
+ 'text.xs': (var(--text-xs-size), var(--text-xs-line), var(--text-xs-weight), var(--font-family-sans)),
113
+ 'text.xs.bold': (var(--text-xs-size), var(--text-xs-line), var(--text-xs-bold-weight), var(--font-family-sans))
114
+ );
115
+
116
+ @mixin apply-typo($tuple) {
117
+ $size: nth($tuple, 1);
118
+ $line: nth($tuple, 2);
119
+ $weight: nth($tuple, 3);
120
+ $family: nth($tuple, 4);
121
+ font-family: $family;
122
+ font-size: $size;
123
+ line-height: $line;
124
+ font-weight: $weight;
125
+ color: var(--labels-main-label-primary, #121E52);
126
+ }
127
+
128
+ @mixin typography($variant) {
129
+ @if map-has-key($typo-map, $variant) {
130
+ @include apply-typo(map-get($typo-map, $variant));
131
+ }
132
+
133
+ @else {
134
+ /* Fallback to regular text */
135
+ @include apply-typo(map-get($typo-map, 'text.regular'));
136
+ }
137
+ }
138
+
139
+ /* Convenience mixin that switches to mobile variant under mobile breakpoint */
140
+ @mixin responsive-heading($desktopVariant, $mobileVariant) {
141
+ @include typography($desktopVariant);
142
+
143
+ @media (max-width: $bp-mobile-max) {
144
+ @include typography($mobileVariant);
145
+ }
146
+ }
@@ -1,6 +1,8 @@
1
+ import React from 'react';
1
2
  export interface NavigationItem {
2
3
  id: string;
3
4
  label: string;
5
+ icon?: React.ReactNode;
4
6
  path: string;
5
7
  requiredRoles?: string[];
6
8
  requiredPermissions?: string[];
@@ -1 +1 @@
1
- {"version":3,"file":"navigation.d.ts","sourceRoot":"","sources":["../../../src/v2/types/navigation.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;IACZ,aAAa,CAAC,EAAE,MAAM,EAAE,CAAA;IACxB,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAA;IAC9B,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,aAAa,CAAC,EAAE,OAAO,CAAA;CACxB;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,EAAE,CAAA;IACf,WAAW,EAAE,MAAM,EAAE,CAAA;IACrB,OAAO,EAAE,OAAO,CAAA;IAChB,WAAW,EAAE,OAAO,CAAA;IACpB,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB"}
1
+ {"version":3,"file":"navigation.d.ts","sourceRoot":"","sources":["../../../src/v2/types/navigation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACtB,IAAI,EAAE,MAAM,CAAA;IACZ,aAAa,CAAC,EAAE,MAAM,EAAE,CAAA;IACxB,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAA;IAC9B,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,aAAa,CAAC,EAAE,OAAO,CAAA;CACxB;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,EAAE,CAAA;IACf,WAAW,EAAE,MAAM,EAAE,CAAA;IACrB,OAAO,EAAE,OAAO,CAAA;IAChB,WAAW,EAAE,OAAO,CAAA;IACpB,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB"}
@@ -1 +1 @@
1
- {"version":3,"file":"VirtualizedGrid.d.ts","sourceRoot":"","sources":["../../../src/virtualized/components/VirtualizedGrid.tsx"],"names":[],"mappings":"AACA,OAAO,EAAQ,SAAS,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAG9D,MAAM,MAAM,oBAAoB,GAAG,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC,CAAA;AAEjE,eAAO,MAAM,eAAe,GAAI,OAAO,oBAAoB,4CAc1D,CAAA"}
1
+ {"version":3,"file":"VirtualizedGrid.d.ts","sourceRoot":"","sources":["../../../src/virtualized/components/VirtualizedGrid.tsx"],"names":[],"mappings":"AACA,OAAO,EAAQ,SAAS,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAG9D,MAAM,MAAM,oBAAoB,GAAG,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC,CAAA;AAEjE,eAAO,MAAM,eAAe,GAAI,OAAO,oBAAoB,4CAe1D,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"VirtualizedWindowScroller.d.ts","sourceRoot":"","sources":["../../../src/virtualized/components/VirtualizedWindowScroller.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAyB,MAAM,OAAO,CAAA;AAExD,OAAO,EAEL,mBAAmB,EACnB,wBAAwB,EACzB,MAAM,mBAAmB,CAAA;AAG1B,MAAM,MAAM,mCAAmC,GAAG;IAChD,gBAAgB,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAA;CACpD,GAAG,wBAAwB,CAAA;AAE5B,MAAM,MAAM,8BAA8B,GAAG,IAAI,CAC/C,mBAAmB,EACnB,UAAU,CACX,GAAG;IACF,QAAQ,EAAE,CAAC,KAAK,EAAE,mCAAmC,KAAK,SAAS,CAAA;IACnE,YAAY,CAAC,EAAE,MAAM,IAAI,CAAA;CAC1B,CAAA;AAED,MAAM,MAAM,qCAAqC,GAAG,IAAI,CACtD,mBAAmB,EACnB,UAAU,CACX,GAAG;IACF,QAAQ,EAAE,mCAAmC,CAAA;CAC9C,CAAA;AA8BD,eAAO,MAAM,yBAAyB,GACpC,OAAO,8BAA8B,4CAKtC,CAAA"}
1
+ {"version":3,"file":"VirtualizedWindowScroller.d.ts","sourceRoot":"","sources":["../../../src/virtualized/components/VirtualizedWindowScroller.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAyB,MAAM,OAAO,CAAA;AAExD,OAAO,EAEL,mBAAmB,EACnB,wBAAwB,EACzB,MAAM,mBAAmB,CAAA;AAG1B,MAAM,MAAM,mCAAmC,GAAG;IAChD,gBAAgB,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAA;CACpD,GAAG,wBAAwB,CAAA;AAE5B,MAAM,MAAM,8BAA8B,GAAG,IAAI,CAC/C,mBAAmB,EACnB,UAAU,CACX,GAAG;IACF,QAAQ,EAAE,CAAC,KAAK,EAAE,mCAAmC,KAAK,SAAS,CAAA;IACnE,YAAY,CAAC,EAAE,MAAM,IAAI,CAAA;CAC1B,CAAA;AAED,MAAM,MAAM,qCAAqC,GAAG,IAAI,CACtD,mBAAmB,EACnB,UAAU,CACX,GAAG;IACF,QAAQ,EAAE,mCAAmC,CAAA;CAC9C,CAAA;AA+BD,eAAO,MAAM,yBAAyB,GACpC,OAAO,8BAA8B,4CAKtC,CAAA"}
@@ -68,14 +68,15 @@ var WrappedVirtualizedWindowScroller = function(param) {
68
68
  }, [
69
69
  windowDimensions
70
70
  ]);
71
- return /*#__PURE__*/ jsx(WindowScroller, {
71
+ return(// @ts-ignore - library types may be incompatible with newer TS
72
+ /*#__PURE__*/ jsx(WindowScroller, {
72
73
  scrollElement: scrollElement,
73
74
  children: function(props) {
74
75
  return children(_object_spread_props(_object_spread({}, props), {
75
76
  windowDimensions: windowDimensions
76
77
  }));
77
78
  }
78
- });
79
+ }));
79
80
  };
80
81
  var VirtualizedWindowScroller = function(props) {
81
82
  return /*#__PURE__*/ jsx(VirtualizedContextProvider, {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@licklist/design",
3
- "version": "0.78.43",
3
+ "version": "0.78.45",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "git+ssh://git@bitbucket.org/bookedit-licklist/licklist_design.git"
@@ -42,7 +42,7 @@
42
42
  ]
43
43
  },
44
44
  "peerDependencies": {
45
- "@licklist/core": "0.36.13",
45
+ "@licklist/core": "0.36.17",
46
46
  "@licklist/eslint-config": "0.5.6",
47
47
  "@licklist/plugins": "0.36.11",
48
48
  "clsx": "2.1.1",
@@ -64,7 +64,7 @@
64
64
  "@dnd-kit/utilities": "2.0.0",
65
65
  "@fortawesome/fontawesome-svg-core": "1.2.34",
66
66
  "@fortawesome/free-solid-svg-icons": "5.15.2",
67
- "@licklist/core": "0.36.13",
67
+ "@licklist/core": "0.36.17",
68
68
  "@licklist/eslint-config": "0.5.6",
69
69
  "@licklist/plugins": "0.36.11",
70
70
  "@mantine/core": "6.0.22",
@@ -194,7 +194,7 @@
194
194
  "rollup-plugin-peer-deps-external": "2.2.4",
195
195
  "rollup-plugin-postcss": "^4.0.2",
196
196
  "rollup-plugin-swc3": "0.11.2",
197
- "rollup-plugin-typescript2": "0.31.0",
197
+ "rollup-plugin-typescript2": "^0.37.0",
198
198
  "sass": "^1.93.2",
199
199
  "sass-loader": "10.1.1",
200
200
  "storybook": "9.1.13",
package/rollup.config.js CHANGED
@@ -40,13 +40,20 @@ export default [
40
40
  targets: [
41
41
  { src: './src/assets/*', dest: './dist/assets' },
42
42
  { src: './src/styles/*', dest: './dist/styles' },
43
+ { src: './src/v2/styles', dest: './dist/v2' },
43
44
  { src: './src/root.css', dest: './dist' },
44
45
  ],
45
46
  }),
46
47
 
47
48
  typescript({
48
49
  tsconfig: './tsconfig.build.json',
50
+ tsconfigOverride: {
51
+ compilerOptions: {
52
+ emitDeclarationOnly: false,
53
+ },
54
+ },
49
55
  clean: true,
56
+ abortOnError: false,
50
57
  }),
51
58
  ],
52
59
  external: ['tslib', /node_modules/],
@@ -34,7 +34,7 @@ function Authorizer(props: AuthorizerProps) {
34
34
 
35
35
  const matchedPathPatternUrls = useCallback(
36
36
  () =>
37
- Object.values(MATCH_ROUTE_PATTERNS)
37
+ (Object.values(MATCH_ROUTE_PATTERNS) as string[])
38
38
  .map((pathUrlPattern) =>
39
39
  matchPath(
40
40
  {
package/src/index.ts CHANGED
@@ -29,8 +29,7 @@ export * from './report'
29
29
  export * from './venue-map-sets'
30
30
  export * from './affiliate'
31
31
  export * from './typeahead-helper'
32
- export { ZoneForm } from './zone/form'
33
- export type { ZoneFormProps } from './zone/form'
32
+ export { ZoneForm, type ZoneFormProps } from './zone/form'
34
33
  export * from './resource'
35
34
  export * from './virtualized'
36
35
  export * from './customers'
@@ -108,6 +108,7 @@ export const DateRangeInput = ({
108
108
  overlay={
109
109
  <Popover id={popoverId} className='rounded'>
110
110
  <Popover.Content className='shadow-lg rounded' ref={popoverRef}>
111
+ {/* @ts-ignore - library types may be incompatible with newer TS */}
111
112
  <DateRange
112
113
  onChange={(item) => setState([item.selection])}
113
114
  moveRangeOnFirstSelection={false}
@@ -16,7 +16,7 @@
16
16
  width: 16px;
17
17
  height: 16px;
18
18
  min-width: 16px;
19
- border: 1px solid var(--border-primary, #e2e2e2);
19
+ border: 1px solid var(--border-primary, #e8e9ef);
20
20
  border-radius: 3px;
21
21
  background: var(--surface-primary, #fff);
22
22
  transition: all 0.15s ease;
@@ -37,8 +37,8 @@
37
37
  }
38
38
 
39
39
  &__input:checked + &__box {
40
- background: var(--fill-selected, #14215a);
41
- border-color: var(--fill-selected, #14215a);
40
+ background: var(--fill-selected, #14215A);
41
+ border-color: var(--fill-selected, #14215A);
42
42
 
43
43
  &::after {
44
44
  opacity: 1;
@@ -45,7 +45,7 @@ const IconBigSmile = ({ size = 24, className = '' }: { size?: number; className?
45
45
  export const NPSScore: React.FC<NPSScoreProps> = ({
46
46
  firstName,
47
47
  onSubmit,
48
- onDismiss,
48
+ onDismiss: _onDismiss,
49
49
  onSubmitDismiss,
50
50
  }) => {
51
51
  const [selectedScore, setSelectedScore] = useState<number | null>(null)
@@ -53,7 +53,7 @@ export const NPSScore: React.FC<NPSScoreProps> = ({
53
53
  const [role, setRole] = useState('')
54
54
  const [isSubmitting, setIsSubmitting] = useState(false)
55
55
  const [errors, setErrors] = useState<{ reason?: string; role?: string }>({})
56
- const [showReasonField, setShowReasonField] = useState(false)
56
+ const [_showReasonField, _setShowReasonField] = useState(false)
57
57
  const [isSubmitted, setIsSubmitted] = useState(false)
58
58
 
59
59
  const handleSubmit = async () => {
@@ -60,5 +60,4 @@ const Tooltip: React.FC<TooltipProps> = ({
60
60
  )
61
61
  }
62
62
 
63
- export { Tooltip, TooltipProvider, TooltipRoot, TooltipTrigger, TooltipContent }
64
- export type { TooltipProps }
63
+ export { Tooltip, TooltipProvider, TooltipRoot, TooltipTrigger, TooltipContent }
@@ -200,6 +200,84 @@
200
200
  }
201
201
  }
202
202
 
203
+ // Reorder row subtitle
204
+ .zone-card__subtitle {
205
+ display: block;
206
+ font-family: var(--font-family-sans, 'Geist', system-ui, sans-serif);
207
+ font-size: 13px;
208
+ font-weight: 400;
209
+ line-height: 16px;
210
+ color: var(--label-secondary);
211
+ margin-top: 2px;
212
+ }
213
+
214
+ // Reorder screen styles
215
+ .reorder-screen {
216
+ color: var(--label-primary);
217
+
218
+ &__header {
219
+ display: flex;
220
+ justify-content: space-between;
221
+ align-items: center;
222
+ align-self: stretch;
223
+ height: 72px;
224
+ padding: 24px 0 8px 8px;
225
+ border-bottom: 1px solid var(--border-primary);
226
+ }
227
+
228
+ &__content {
229
+ display: flex;
230
+ flex-direction: column;
231
+ align-items: center;
232
+ align-self: stretch;
233
+ padding-top: 24px;
234
+ padding-bottom: 48px;
235
+ }
236
+
237
+ &__body {
238
+ display: flex;
239
+ flex-direction: column;
240
+ gap: 24px;
241
+ width: 100%;
242
+ max-width: 672px;
243
+ }
244
+
245
+ &__intro {
246
+ display: flex;
247
+ flex-direction: column;
248
+ gap: 4px;
249
+
250
+ p {
251
+ color: var(--label-secondary);
252
+ }
253
+ }
254
+
255
+ &__list {
256
+ display: flex;
257
+ flex-direction: column;
258
+ gap: 12px;
259
+ }
260
+
261
+ &__actions {
262
+ display: flex;
263
+ gap: 12px;
264
+ padding-top: 16px;
265
+ }
266
+ }
267
+
268
+ @media (max-width: 640px) {
269
+ .reorder-screen {
270
+ &__header {
271
+ height: auto;
272
+ padding: 16px 0 8px;
273
+ }
274
+
275
+ &__content {
276
+ padding-top: 32px;
277
+ }
278
+ }
279
+ }
280
+
203
281
  @media (max-width: 768px) {
204
282
  .zone-card {
205
283
  &__header {
@@ -88,6 +88,7 @@ export {
88
88
  EllipsisIcon,
89
89
  CircleIcon,
90
90
  GripVerticalIcon,
91
+ ReorderIcon,
91
92
  PlusIcon,
92
93
  DeleteIcon,
93
94
  ClockIcon,
@@ -1,2 +1,2 @@
1
1
  export { Blog } from './Blog';
2
- export type { BlogProps } from './Blog';
2
+ export type { BlogProps, BlogPost } from './Blog';
@@ -23,7 +23,7 @@ export const Chart: React.FC<ChartProps> = ({
23
23
  isRevenue = false,
24
24
  className = '',
25
25
  period = 'today',
26
- bookingType = 'bookings_for',
26
+ bookingType: _bookingType = 'bookings_for',
27
27
  isFullWidth: propIsFullWidth = false,
28
28
  isLoading = false,
29
29
  isRefreshing = false
@@ -55,11 +55,12 @@ export const Chart: React.FC<ChartProps> = ({
55
55
 
56
56
  return () => clearTimeout(timer);
57
57
  }
58
+ return undefined
58
59
  }, [data, period]);
59
60
  const [isMobile, setIsMobile] = React.useState(false);
60
61
  const [isTablet, setIsTablet] = React.useState(false);
61
62
  const [detectedFullWidth, setDetectedFullWidth] = React.useState(false);
62
- const [dimensions, setDimensions] = React.useState({ width: 0, height: 0 });
63
+ const [_dimensions, setDimensions] = React.useState({ width: 0, height: 0 });
63
64
  const chartRef = React.useRef<HTMLDivElement>(null);
64
65
 
65
66
  const isFullWidth = propIsFullWidth || detectedFullWidth;
@@ -108,7 +109,7 @@ export const Chart: React.FC<ChartProps> = ({
108
109
  }, [period, forceRecalculation]);
109
110
 
110
111
  React.useEffect(() => {
111
- if (propIsFullWidth !== undefined) return;
112
+ if (propIsFullWidth !== undefined) return undefined;
112
113
 
113
114
  const checkChartWidth = () => {
114
115
  if (chartRef.current) {
@@ -548,35 +549,39 @@ export const Chart: React.FC<ChartProps> = ({
548
549
  </linearGradient>
549
550
  </defs>
550
551
  <CartesianGrid strokeDasharray="3 3" stroke="#E8E9EF" />
551
- <XAxis
552
- dataKey="time"
553
- type="category"
554
- axisLine={false}
555
- tickLine={false}
556
- tick={{
557
- fontSize: isMobile ? 9 : (isTablet ? 10 : 11),
558
- fill: '#626A90'
559
- }}
560
- tickMargin={isMobile ? 5 : 10}
561
- interval={xAxisInterval}
552
+ <XAxis
553
+ {...{
554
+ dataKey: "time",
555
+ type: "category",
556
+ axisLine: false,
557
+ tickLine: false,
558
+ tick: {
559
+ fontSize: isMobile ? 9 : (isTablet ? 10 : 11),
560
+ fill: '#626A90'
561
+ },
562
+ tickMargin: isMobile ? 5 : 10,
563
+ interval: xAxisInterval,
564
+ } as any}
562
565
  />
563
- <YAxis
564
- domain={[yAxisMin, yAxisMax]}
565
- ticks={ticks}
566
- axisLine={false}
567
- tickLine={false}
568
- tick={{
569
- fontSize: isMobile ? 9 : (isTablet ? 10 : 11),
570
- fill: '#626A90'
571
- }}
572
- tickFormatter={(value) => {
573
- if (isRevenue) {
574
- return isMobile ? `£${Math.round(value)}` : `£${value}`;
575
- }
576
- return value.toString();
577
- }}
578
- tickMargin={isMobile ? 3 : 5}
579
- width={isMobile ? 30 : (isTablet ? 35 : 40)}
566
+ <YAxis
567
+ {...{
568
+ domain: [yAxisMin, yAxisMax],
569
+ ticks: ticks,
570
+ axisLine: false,
571
+ tickLine: false,
572
+ tick: {
573
+ fontSize: isMobile ? 9 : (isTablet ? 10 : 11),
574
+ fill: '#626A90'
575
+ },
576
+ tickFormatter: (value: any) => {
577
+ if (isRevenue) {
578
+ return isMobile ? `£${Math.round(value)}` : `£${value}`;
579
+ }
580
+ return value.toString();
581
+ },
582
+ tickMargin: isMobile ? 3 : 5,
583
+ width: isMobile ? 30 : (isTablet ? 35 : 40),
584
+ } as any}
580
585
  />
581
586
  <Tooltip content={CustomTooltip} />
582
587
  {currentTimeRef && (
@@ -225,7 +225,7 @@ export const Dashboard: React.FC<DashboardProps> = ({
225
225
  value={metrics.peopleInVenue.formatted_value || '0'}
226
226
  />
227
227
  <VenueCard
228
- icon={<VenueIcon />}
228
+ icon={<VenueIcon /> as any}
229
229
  title="Open until"
230
230
  value={metrics.workHours?.message?.replace('Open until ', '') || ''}
231
231
  shadowColor='#121E52'