@licklist/design 0.78.21 → 0.78.26

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 (186) hide show
  1. package/dist/assets/Trend-Down.svg +3 -0
  2. package/dist/assets/Trend-Up.svg +3 -0
  3. package/dist/auth/Authorizer.d.ts.map +1 -1
  4. package/dist/auth/Authorizer.js +47 -12
  5. package/dist/index.d.ts +1 -0
  6. package/dist/index.d.ts.map +1 -1
  7. package/dist/index.js +5 -0
  8. package/dist/v2/components/EntityHeader/EntityHeader.d.ts +13 -0
  9. package/dist/v2/components/EntityHeader/EntityHeader.d.ts.map +1 -0
  10. package/dist/v2/components/EntityHeader/EntityHeader.js +85 -0
  11. package/dist/v2/components/EntityHeader/EntityHeader.scss.js +6 -0
  12. package/dist/v2/components/EntityHeader/index.d.ts +2 -0
  13. package/dist/v2/components/EntityHeader/index.d.ts.map +1 -0
  14. package/dist/v2/components/NPSScore/NPSScore.d.ts +18 -0
  15. package/dist/v2/components/NPSScore/NPSScore.d.ts.map +1 -0
  16. package/dist/v2/components/NPSScore/index.d.ts +3 -0
  17. package/dist/v2/components/NPSScore/index.d.ts.map +1 -0
  18. package/dist/v2/components/Select/Select.d.ts +10 -0
  19. package/dist/v2/components/Select/Select.d.ts.map +1 -0
  20. package/dist/v2/components/Select/index.d.ts +3 -0
  21. package/dist/v2/components/Select/index.d.ts.map +1 -0
  22. package/dist/v2/components/Tooltip/Tooltip.d.ts +21 -0
  23. package/dist/v2/components/Tooltip/Tooltip.d.ts.map +1 -0
  24. package/dist/v2/components/Tooltip/Tooltip.js +103 -0
  25. package/dist/v2/components/Tooltip/Tooltip.scss.js +6 -0
  26. package/dist/v2/components/Tooltip/index.d.ts +2 -0
  27. package/dist/v2/components/Tooltip/index.d.ts.map +1 -0
  28. package/dist/v2/components/UserAvatar/UserAvatar.d.ts +12 -0
  29. package/dist/v2/components/UserAvatar/UserAvatar.d.ts.map +1 -0
  30. package/dist/v2/components/UserAvatar/UserAvatar.js +77 -0
  31. package/dist/v2/components/UserAvatar/UserAvatar.scss.js +6 -0
  32. package/dist/v2/components/UserAvatar/index.d.ts +2 -0
  33. package/dist/v2/components/UserAvatar/index.d.ts.map +1 -0
  34. package/dist/v2/components/UserPanel/UserPanel.d.ts +17 -0
  35. package/dist/v2/components/UserPanel/UserPanel.d.ts.map +1 -0
  36. package/dist/v2/components/UserPanel/UserPanel.js +144 -0
  37. package/dist/v2/components/UserPanel/UserPanel.scss.js +6 -0
  38. package/dist/v2/components/UserPanel/index.d.ts +3 -0
  39. package/dist/v2/components/UserPanel/index.d.ts.map +1 -0
  40. package/dist/v2/dashboard-analytics/blog-posts/Blog.d.ts +15 -0
  41. package/dist/v2/dashboard-analytics/blog-posts/Blog.d.ts.map +1 -0
  42. package/dist/v2/dashboard-analytics/blog-posts/index.d.ts +3 -0
  43. package/dist/v2/dashboard-analytics/blog-posts/index.d.ts.map +1 -0
  44. package/dist/v2/dashboard-analytics/chart/Chart.d.ts +21 -0
  45. package/dist/v2/dashboard-analytics/chart/Chart.d.ts.map +1 -0
  46. package/dist/v2/dashboard-analytics/chart/index.d.ts +3 -0
  47. package/dist/v2/dashboard-analytics/chart/index.d.ts.map +1 -0
  48. package/dist/v2/dashboard-analytics/dashboard/Dashboard.d.ts +57 -0
  49. package/dist/v2/dashboard-analytics/dashboard/Dashboard.d.ts.map +1 -0
  50. package/dist/v2/dashboard-analytics/dashboard/index.d.ts +3 -0
  51. package/dist/v2/dashboard-analytics/dashboard/index.d.ts.map +1 -0
  52. package/dist/v2/dashboard-analytics/index.d.ts +13 -0
  53. package/dist/v2/dashboard-analytics/index.d.ts.map +1 -0
  54. package/dist/v2/dashboard-analytics/metric-card/MetricCard.d.ts +17 -0
  55. package/dist/v2/dashboard-analytics/metric-card/MetricCard.d.ts.map +1 -0
  56. package/dist/v2/dashboard-analytics/metric-card/index.d.ts +3 -0
  57. package/dist/v2/dashboard-analytics/metric-card/index.d.ts.map +1 -0
  58. package/dist/v2/dashboard-analytics/venue-card/VenueCard.d.ts +12 -0
  59. package/dist/v2/dashboard-analytics/venue-card/VenueCard.d.ts.map +1 -0
  60. package/dist/v2/dashboard-analytics/venue-card/index.d.ts +3 -0
  61. package/dist/v2/dashboard-analytics/venue-card/index.d.ts.map +1 -0
  62. package/dist/v2/dashboard-analytics/venue-closed-card/VenueClosedCard.d.ts +25 -0
  63. package/dist/v2/dashboard-analytics/venue-closed-card/VenueClosedCard.d.ts.map +1 -0
  64. package/dist/v2/dashboard-analytics/venue-closed-card/index.d.ts +3 -0
  65. package/dist/v2/dashboard-analytics/venue-closed-card/index.d.ts.map +1 -0
  66. package/dist/v2/index.d.ts +11 -5
  67. package/dist/v2/index.d.ts.map +1 -1
  68. package/dist/v2/navigation/DashboardLayout/AdminSidebar.d.ts +10 -0
  69. package/dist/v2/navigation/DashboardLayout/AdminSidebar.d.ts.map +1 -0
  70. package/dist/v2/navigation/DashboardLayout/AdminSidebar.js +296 -0
  71. package/dist/v2/navigation/DashboardLayout/AdminSidebar.scss.js +6 -0
  72. package/dist/v2/navigation/DashboardLayout/DashboardFooter.d.ts +7 -0
  73. package/dist/v2/navigation/DashboardLayout/DashboardFooter.d.ts.map +1 -0
  74. package/dist/v2/navigation/DashboardLayout/DashboardFooter.js +34 -0
  75. package/dist/v2/navigation/DashboardLayout/DashboardFooter.scss.js +6 -0
  76. package/dist/v2/navigation/DashboardLayout/DashboardLayout.d.ts +42 -0
  77. package/dist/v2/navigation/DashboardLayout/DashboardLayout.d.ts.map +1 -0
  78. package/dist/v2/navigation/DashboardLayout/DashboardLayout.js +176 -0
  79. package/dist/v2/navigation/DashboardLayout/DashboardLayout.scss.js +6 -0
  80. package/dist/v2/navigation/DashboardLayout/ProviderSidebar.d.ts +35 -0
  81. package/dist/v2/navigation/DashboardLayout/ProviderSidebar.d.ts.map +1 -0
  82. package/dist/v2/navigation/DashboardLayout/ProviderSidebar.js +366 -0
  83. package/dist/v2/navigation/DashboardLayout/ProviderSidebar.scss.js +6 -0
  84. package/dist/v2/navigation/DashboardLayout/TopNavigation.d.ts +26 -0
  85. package/dist/v2/navigation/DashboardLayout/TopNavigation.d.ts.map +1 -0
  86. package/dist/v2/navigation/DashboardLayout/TopNavigation.js +360 -0
  87. package/dist/v2/navigation/DashboardLayout/TopNavigation.scss.js +6 -0
  88. package/dist/v2/navigation/DashboardLayout/assets/AdminLogo.png.js +3 -0
  89. package/dist/v2/navigation/DashboardLayout/assets/BookedLogo_Mark.png.js +3 -0
  90. package/dist/v2/navigation/DashboardLayout/index.d.ts +7 -0
  91. package/dist/v2/navigation/DashboardLayout/index.d.ts.map +1 -0
  92. package/package.json +5 -3
  93. package/src/assets/Trend-Down.svg +3 -0
  94. package/src/assets/Trend-Up.svg +3 -0
  95. package/src/auth/Authorizer.tsx +49 -20
  96. package/src/index.ts +2 -1
  97. package/src/v2/components/EntityHeader/EntityHeader.scss +133 -0
  98. package/src/v2/components/EntityHeader/EntityHeader.stories.tsx +103 -0
  99. package/src/v2/components/EntityHeader/EntityHeader.tsx +76 -0
  100. package/src/v2/components/EntityHeader/index.ts +1 -0
  101. package/src/v2/components/NPSScore/NPSScore.scss +330 -0
  102. package/src/v2/components/NPSScore/NPSScore.stories.tsx +29 -0
  103. package/src/v2/components/NPSScore/NPSScore.tsx +209 -0
  104. package/src/v2/components/NPSScore/index.ts +2 -0
  105. package/src/v2/components/Select/Select.scss +188 -0
  106. package/src/v2/components/Select/Select.stories.tsx +164 -0
  107. package/src/v2/components/Select/Select.tsx +56 -0
  108. package/src/v2/components/Select/index.ts +2 -0
  109. package/src/v2/components/Tooltip/Tooltip.scss +92 -0
  110. package/src/v2/components/Tooltip/Tooltip.stories.tsx +164 -0
  111. package/src/v2/components/Tooltip/Tooltip.tsx +64 -0
  112. package/src/v2/components/Tooltip/index.ts +8 -0
  113. package/src/v2/components/UserAvatar/UserAvatar.scss +62 -0
  114. package/src/v2/components/UserAvatar/UserAvatar.stories.tsx +94 -0
  115. package/src/v2/components/UserAvatar/UserAvatar.tsx +96 -0
  116. package/src/v2/components/UserAvatar/index.ts +1 -0
  117. package/src/v2/components/UserPanel/UserPanel.scss +195 -0
  118. package/src/v2/components/UserPanel/UserPanel.stories.tsx +66 -0
  119. package/src/v2/components/UserPanel/UserPanel.tsx +126 -0
  120. package/src/v2/components/UserPanel/index.ts +2 -0
  121. package/src/v2/dashboard-analytics/blog-posts/Blog.scss +92 -0
  122. package/src/v2/dashboard-analytics/blog-posts/Blog.stories.tsx +57 -0
  123. package/src/v2/dashboard-analytics/blog-posts/Blog.tsx +91 -0
  124. package/src/v2/dashboard-analytics/blog-posts/index.ts +2 -0
  125. package/src/v2/dashboard-analytics/chart/Chart.scss +424 -0
  126. package/src/v2/dashboard-analytics/chart/Chart.stories.tsx +157 -0
  127. package/src/v2/dashboard-analytics/chart/Chart.tsx +623 -0
  128. package/src/v2/dashboard-analytics/chart/index.ts +2 -0
  129. package/src/v2/dashboard-analytics/dashboard/Dashboard.scss +254 -0
  130. package/src/v2/dashboard-analytics/dashboard/Dashboard.stories.tsx +298 -0
  131. package/src/v2/dashboard-analytics/dashboard/Dashboard.tsx +248 -0
  132. package/src/v2/dashboard-analytics/dashboard/index.ts +2 -0
  133. package/src/v2/dashboard-analytics/index.ts +12 -0
  134. package/src/v2/dashboard-analytics/metric-card/MetricCard.scss +125 -0
  135. package/src/v2/dashboard-analytics/metric-card/MetricCard.stories.tsx +106 -0
  136. package/src/v2/dashboard-analytics/metric-card/MetricCard.tsx +72 -0
  137. package/src/v2/dashboard-analytics/metric-card/index.ts +2 -0
  138. package/src/v2/dashboard-analytics/venue-card/VenueCard.scss +112 -0
  139. package/src/v2/dashboard-analytics/venue-card/VenueCard.stories.tsx +40 -0
  140. package/src/v2/dashboard-analytics/venue-card/VenueCard.tsx +62 -0
  141. package/src/v2/dashboard-analytics/venue-card/index.ts +2 -0
  142. package/src/v2/dashboard-analytics/venue-closed-card/VenueClosedCard.scss +129 -0
  143. package/src/v2/dashboard-analytics/venue-closed-card/VenueClosedCard.stories.tsx +31 -0
  144. package/src/v2/dashboard-analytics/venue-closed-card/VenueClosedCard.tsx +61 -0
  145. package/src/v2/dashboard-analytics/venue-closed-card/index.ts +2 -0
  146. package/src/v2/design-system/colors/ColorSystem.scss +439 -0
  147. package/src/v2/design-system/colors/ColorSystem.stories.tsx +730 -0
  148. package/src/v2/design-system/typography/Typography.scss +295 -0
  149. package/src/v2/design-system/typography/Typography.stories.tsx +109 -0
  150. package/src/v2/index.ts +43 -7
  151. package/src/v2/navigation/DashboardLayout/AdminSidebar.scss +207 -0
  152. package/src/v2/navigation/DashboardLayout/AdminSidebar.tsx +171 -0
  153. package/src/v2/navigation/DashboardLayout/DashboardFooter.scss +30 -0
  154. package/src/v2/navigation/DashboardLayout/DashboardFooter.tsx +25 -0
  155. package/src/v2/navigation/DashboardLayout/DashboardLayout.scss +91 -0
  156. package/src/v2/navigation/DashboardLayout/DashboardLayout.stories.tsx +370 -0
  157. package/src/v2/navigation/DashboardLayout/DashboardLayout.tsx +233 -0
  158. package/src/v2/navigation/DashboardLayout/ProviderSidebar.scss +271 -0
  159. package/src/v2/navigation/DashboardLayout/ProviderSidebar.tsx +266 -0
  160. package/src/v2/navigation/DashboardLayout/Sidebar.stories.tsx +220 -0
  161. package/src/v2/navigation/DashboardLayout/TopNavigation.scss +206 -0
  162. package/src/v2/navigation/DashboardLayout/TopNavigation.tsx +279 -0
  163. package/src/v2/navigation/DashboardLayout/assets/AdminLogo.png +0 -0
  164. package/src/v2/navigation/DashboardLayout/assets/BookedLogo_Mark.png +0 -0
  165. package/src/v2/navigation/DashboardLayout/index.ts +20 -0
  166. package/src/v2/styles/index.scss +0 -1
  167. package/src/v2/styles/tokens/_colors.scss +531 -98
  168. package/dist/v2/components/Colors/Colors.d.ts +0 -21
  169. package/dist/v2/components/Colors/Colors.d.ts.map +0 -1
  170. package/dist/v2/components/Colors/index.d.ts +0 -3
  171. package/dist/v2/components/Colors/index.d.ts.map +0 -1
  172. package/dist/v2/components/Typography/Typography.d.ts +0 -11
  173. package/dist/v2/components/Typography/Typography.d.ts.map +0 -1
  174. package/dist/v2/components/Typography/index.d.ts +0 -3
  175. package/dist/v2/components/Typography/index.d.ts.map +0 -1
  176. package/src/v2/components/Colors/Colors.scss +0 -64
  177. package/src/v2/components/Colors/Colors.stories.tsx +0 -143
  178. package/src/v2/components/Colors/Colors.tsx +0 -51
  179. package/src/v2/components/Colors/ColorsAliases.stories.tsx +0 -285
  180. package/src/v2/components/Colors/Sizes.stories.tsx +0 -141
  181. package/src/v2/components/Colors/index.ts +0 -2
  182. package/src/v2/components/Typography/Typography.scss +0 -72
  183. package/src/v2/components/Typography/Typography.stories.tsx +0 -266
  184. package/src/v2/components/Typography/Typography.tsx +0 -56
  185. package/src/v2/components/Typography/index.ts +0 -2
  186. package/src/v2/styles/tokens/_aliases.scss +0 -199
@@ -0,0 +1,3 @@
1
+ <svg width="16" height="16" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <path d="M27 23V16H25V19.4375L15.7686 8.35938C15.5453 8.0916 15.1984 7.95968 14.8535 8.01074C14.5086 8.06191 14.215 8.2892 14.0791 8.61035L9.30176 19.9014L5.33203 13.9453L3.66797 15.0547L8.66797 22.5547L8.75098 22.6631C8.96072 22.9001 9.2733 23.0253 9.59375 22.9951C9.95991 22.9606 10.2776 22.7284 10.4209 22.3896L15.2812 10.9014L23.6973 21H19V23H27Z" fill="currentColor"/>
3
+ </svg>
@@ -0,0 +1,3 @@
1
+ <svg width="16" height="16" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <path d="M27 9.99982V16.9998H25V13.5623L15.7686 24.6404C15.5453 24.9082 15.1984 25.0401 14.8535 24.9891C14.5086 24.9379 14.215 24.7106 14.0791 24.3895L9.06934 12.5486L4.58789 15.8084L3.41211 14.1912L8.91211 10.1912L9.00781 10.1297C9.23732 9.99988 9.51055 9.9646 9.76758 10.0359C10.0615 10.1176 10.302 10.3293 10.4209 10.6102L15.2812 22.0984L23.6973 11.9998H19V9.99982H27Z" fill="currentColor"/>
3
+ </svg>
@@ -1 +1 @@
1
- {"version":3,"file":"Authorizer.d.ts","sourceRoot":"","sources":["../../src/auth/Authorizer.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAoC,MAAM,OAAO,CAAA;AASnE,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,EAAE,SAAS,GAAG,SAAS,EAAE,CAAA;CACnC;AAED,iBAAS,UAAU,CAAC,KAAK,EAAE,eAAe,2CAiFzC;AAED,OAAO,EAAE,UAAU,EAAE,CAAA"}
1
+ {"version":3,"file":"Authorizer.d.ts","sourceRoot":"","sources":["../../src/auth/Authorizer.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAwD,MAAM,OAAO,CAAA;AAYvF,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,EAAE,SAAS,GAAG,SAAS,EAAE,CAAA;CACnC;AAID,iBAAS,UAAU,CAAC,KAAK,EAAE,eAAe,2CAyGzC;AAED,OAAO,EAAE,UAAU,EAAE,CAAA"}
@@ -1,11 +1,13 @@
1
1
  import { jsx, Fragment } from 'react/jsx-runtime';
2
- import { useState, useCallback, useEffect } from 'react';
3
- import { useLocation, matchPath } from 'react-router-dom';
2
+ import { useContext, useRef, useState, useCallback, useEffect } from 'react';
3
+ import { useLocation, useNavigate, matchPath } from 'react-router-dom';
4
4
  import useUser from '@licklist/plugins/dist/context/user/hooks/useUser';
5
5
  import { MATCH_ROUTE_PATTERNS, ROUTES } from '@licklist/core/dist/Config';
6
6
  import useAuthApi from '@licklist/plugins/dist/hooks/Api/useAuthApi';
7
7
  import useAuth from '@licklist/plugins/dist/context/user/hooks/useAuth';
8
8
  import RouteService from '@licklist/plugins/dist/services/Route/RouteService';
9
+ import StorageContext from '@licklist/plugins/dist/context/app/StorageContext';
10
+ import JsonService from '@licklist/plugins/dist/services/Json/JsonService';
9
11
  import { BlockLoader } from '../static/loader/BlockLoader.js';
10
12
 
11
13
  function _array_like_to_array(arr, len) {
@@ -66,12 +68,16 @@ function _unsupported_iterable_to_array(o, minLen) {
66
68
  if (n === "Map" || n === "Set") return Array.from(n);
67
69
  if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);
68
70
  }
71
+ var AUTH_CONTEXT_KEY = 'auth';
69
72
  function Authorizer(props) {
70
73
  var children = props.children;
71
74
  var auth = useAuth();
72
75
  var user = useUser();
73
76
  var useProfile = useAuthApi().useProfile;
77
+ var storage = useContext(StorageContext);
78
+ var isLoggingOut = useRef(false);
74
79
  var pathname = useLocation().pathname;
80
+ var navigate = useNavigate();
75
81
  // This will re-fetch user's profile
76
82
  var profile = useProfile();
77
83
  var _useState = _sliced_to_array(useState(false), 2), isValidated = _useState[0], setIsValidated = _useState[1];
@@ -84,6 +90,32 @@ function Authorizer(props) {
84
90
  return matched.pathname;
85
91
  });
86
92
  }, []);
93
+ // Check auth on every route change - if storage was cleared, logout immediately
94
+ useEffect(function() {
95
+ if (isLoggingOut.current) return;
96
+ var storedAuth = storage.get(AUTH_CONTEXT_KEY);
97
+ var parsedAuth = storedAuth ? JsonService.decode(storedAuth) : null;
98
+ // If we have auth in memory but not in storage, session was cleared
99
+ if (auth.secrets !== null && !parsedAuth) {
100
+ isLoggingOut.current = true;
101
+ auth.setSecrets(null);
102
+ user.setProfile(null);
103
+ var route = RouteService.getCurrentRoute();
104
+ navigate([
105
+ ROUTES.LOGIN_PAGE,
106
+ "returnUrl=".concat(escape(route))
107
+ ].join('?'), {
108
+ replace: true
109
+ });
110
+ }
111
+ }, [
112
+ pathname,
113
+ auth.secrets,
114
+ storage,
115
+ navigate,
116
+ auth,
117
+ user
118
+ ]);
87
119
  useEffect(function() {
88
120
  if (profile.isLoading || profile.isFetching) {
89
121
  return;
@@ -94,7 +126,7 @@ function Authorizer(props) {
94
126
  });
95
127
  return;
96
128
  }
97
- if ([
129
+ var publicRoutes = [
98
130
  ROUTES.LOGIN_PAGE,
99
131
  ROUTES.REGISTER_PAGE,
100
132
  ROUTES.PRIVACY_PAGE,
@@ -104,26 +136,29 @@ function Authorizer(props) {
104
136
  ROUTES.FORGOT_PASSWORD,
105
137
  ROUTES.SSO_LOGIN,
106
138
  ROUTES.MAINTENANCE_PAGE
107
- ].concat(_to_consumable_array(matchedPathPatternUrls())).includes(pathname)) {
108
- setIsValidated(function() {
109
- return true;
110
- });
139
+ ].concat(_to_consumable_array(matchedPathPatternUrls()));
140
+ // If we're on a public route (e.g. /login), mark as validated and never redirect
141
+ if (publicRoutes.includes(pathname)) {
142
+ setIsValidated(true);
111
143
  return;
112
144
  }
113
145
  var route = RouteService.getCurrentRoute();
114
- RouteService.redirectTo([
115
- ROUTES.MAINTENANCE_PAGE,
146
+ navigate([
147
+ ROUTES.LOGIN_PAGE,
116
148
  "returnUrl=".concat(escape(route))
117
- ].join('?'));
149
+ ].join('?'), {
150
+ replace: true
151
+ });
118
152
  }, [
119
153
  auth.secrets,
120
154
  user.profile,
121
155
  profile.data,
122
- matchedPathPatternUrls,
123
156
  profile.isError,
124
157
  profile.isLoading,
125
158
  profile.isFetching,
126
- pathname
159
+ pathname,
160
+ matchedPathPatternUrls,
161
+ navigate
127
162
  ]);
128
163
  if (profile.isFetching || profile.isLoading || !isValidated) return /*#__PURE__*/ jsx(BlockLoader, {});
129
164
  return /*#__PURE__*/ jsx(Fragment, {
package/dist/index.d.ts CHANGED
@@ -46,4 +46,5 @@ export * from './pages';
46
46
  export { default as RadioButton } from './customRadioButton/RadioButton';
47
47
  export * from './PageNotFound';
48
48
  export * from './UnderMaintenance';
49
+ export * from './v2/navigation/DashboardLayout';
49
50
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAA;AACtB,cAAc,2BAA2B,CAAA;AACzC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,SAAS,CAAA;AACvB,cAAc,UAAU,CAAA;AACxB,cAAc,eAAe,CAAA;AAC7B,cAAc,QAAQ,CAAA;AACtB,cAAc,UAAU,CAAA;AACxB,cAAc,UAAU,CAAA;AACxB,cAAc,QAAQ,CAAA;AACtB,cAAc,UAAU,CAAA;AACxB,cAAc,eAAe,CAAA;AAC7B,cAAc,YAAY,CAAA;AAC1B,cAAc,oBAAoB,CAAA;AAClC,cAAc,+BAA+B,CAAA;AAC7C,cAAc,SAAS,CAAA;AACvB,cAAc,WAAW,CAAA;AACzB,cAAc,WAAW,CAAA;AACzB,cAAc,WAAW,CAAA;AACzB,cAAc,mBAAmB,CAAA;AACjC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,UAAU,CAAA;AACxB,cAAc,SAAS,CAAA;AACvB,cAAc,aAAa,CAAA;AAC3B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,UAAU,CAAA;AACxB,cAAc,kBAAkB,CAAA;AAChC,cAAc,aAAa,CAAA;AAC3B,cAAc,oBAAoB,CAAA;AAClC,cAAc,QAAQ,CAAA;AACtB,cAAc,YAAY,CAAA;AAC1B,cAAc,eAAe,CAAA;AAC7B,cAAc,aAAa,CAAA;AAC3B,cAAc,wBAAwB,CAAA;AACtC,cAAc,cAAc,CAAA;AAC5B,cAAc,qBAAqB,CAAA;AACnC,cAAc,kBAAkB,CAAA;AAChC,cAAc,oBAAoB,CAAA;AAClC,cAAc,YAAY,CAAA;AAC1B,cAAc,0BAA0B,CAAA;AACxC,cAAc,0BAA0B,CAAA;AACxC,cAAc,qBAAqB,CAAA;AACnC,cAAc,SAAS,CAAA;AACvB,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,iCAAiC,CAAA;AACxE,cAAc,gBAAgB,CAAA;AAC9B,cAAc,oBAAoB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAA;AACtB,cAAc,2BAA2B,CAAA;AACzC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,SAAS,CAAA;AACvB,cAAc,UAAU,CAAA;AACxB,cAAc,eAAe,CAAA;AAC7B,cAAc,QAAQ,CAAA;AACtB,cAAc,UAAU,CAAA;AACxB,cAAc,UAAU,CAAA;AACxB,cAAc,QAAQ,CAAA;AACtB,cAAc,UAAU,CAAA;AACxB,cAAc,eAAe,CAAA;AAC7B,cAAc,YAAY,CAAA;AAC1B,cAAc,oBAAoB,CAAA;AAClC,cAAc,+BAA+B,CAAA;AAC7C,cAAc,SAAS,CAAA;AACvB,cAAc,WAAW,CAAA;AACzB,cAAc,WAAW,CAAA;AACzB,cAAc,WAAW,CAAA;AACzB,cAAc,mBAAmB,CAAA;AACjC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,UAAU,CAAA;AACxB,cAAc,SAAS,CAAA;AACvB,cAAc,aAAa,CAAA;AAC3B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,UAAU,CAAA;AACxB,cAAc,kBAAkB,CAAA;AAChC,cAAc,aAAa,CAAA;AAC3B,cAAc,oBAAoB,CAAA;AAClC,cAAc,QAAQ,CAAA;AACtB,cAAc,YAAY,CAAA;AAC1B,cAAc,eAAe,CAAA;AAC7B,cAAc,aAAa,CAAA;AAC3B,cAAc,wBAAwB,CAAA;AACtC,cAAc,cAAc,CAAA;AAC5B,cAAc,qBAAqB,CAAA;AACnC,cAAc,kBAAkB,CAAA;AAChC,cAAc,oBAAoB,CAAA;AAClC,cAAc,YAAY,CAAA;AAC1B,cAAc,0BAA0B,CAAA;AACxC,cAAc,0BAA0B,CAAA;AACxC,cAAc,qBAAqB,CAAA;AACnC,cAAc,SAAS,CAAA;AACvB,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,iCAAiC,CAAA;AACxE,cAAc,gBAAgB,CAAA;AAC9B,cAAc,oBAAoB,CAAA;AAClC,cAAc,iCAAiC,CAAA"}
package/dist/index.js CHANGED
@@ -208,6 +208,11 @@ export { TermsComponent } from './pages/TermsComponent.js';
208
208
  export { default as RadioButton } from './customRadioButton/RadioButton.js';
209
209
  export { PageNotFound } from './PageNotFound/PageNotFound.js';
210
210
  export { UnderMaintenance } from './UnderMaintenance/UnderMaintenance.js';
211
+ export { DashboardLayout } from './v2/navigation/DashboardLayout/DashboardLayout.js';
212
+ export { AnalyticsIcon, CustomersIcon, FlowsIcon, HomeIcon, InventoryIcon, LoyaltyIcon, MarketingIcon, ProviderSidebar, ReportsIcon, SettingsIcon, WaiversIcon } from './v2/navigation/DashboardLayout/ProviderSidebar.js';
213
+ export { AdminSidebar } from './v2/navigation/DashboardLayout/AdminSidebar.js';
214
+ export { TopNavigation } from './v2/navigation/DashboardLayout/TopNavigation.js';
215
+ export { DashboardFooter } from './v2/navigation/DashboardLayout/DashboardFooter.js';
211
216
  export { default as CountrySelect } from './static/CountrySelect.js';
212
217
  export { default as FormCard } from './static/FormCard.js';
213
218
  export { default as Image } from './static/Image.js';
@@ -0,0 +1,13 @@
1
+ import React from 'react';
2
+ import './EntityHeader.scss';
3
+ export interface EntityHeaderProps {
4
+ name: string;
5
+ id?: string;
6
+ idLabel?: string;
7
+ imageUrl?: string;
8
+ size?: 'sm' | 'md' | 'lg';
9
+ collapsed?: boolean;
10
+ className?: string;
11
+ }
12
+ export declare const EntityHeader: React.FC<EntityHeaderProps>;
13
+ //# sourceMappingURL=EntityHeader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EntityHeader.d.ts","sourceRoot":"","sources":["../../../../src/v2/components/EntityHeader/EntityHeader.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,qBAAqB,CAAA;AAE5B,MAAM,WAAW,iBAAiB;IAC9B,IAAI,EAAE,MAAM,CAAA;IACZ,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAA;IACzB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,SAAS,CAAC,EAAE,MAAM,CAAA;CACrB;AAED,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CA8DpD,CAAA"}
@@ -0,0 +1,85 @@
1
+ import { jsxs, jsx } from 'react/jsx-runtime';
2
+ import 'react';
3
+ import './EntityHeader.scss.js';
4
+
5
+ var EntityHeader = function(param) {
6
+ var name = param.name, id = param.id, _param_idLabel = param.idLabel, idLabel = _param_idLabel === void 0 ? 'ID' : _param_idLabel, imageUrl = param.imageUrl, _param_size = param.size, size = _param_size === void 0 ? 'md' : _param_size, _param_collapsed = param.collapsed, collapsed = _param_collapsed === void 0 ? false : _param_collapsed, _param_className = param.className, className = _param_className === void 0 ? '' : _param_className;
7
+ var _name_;
8
+ var sizeMap = {
9
+ sm: 32,
10
+ md: 47,
11
+ lg: 64
12
+ };
13
+ var fontSizeMap = {
14
+ sm: 12,
15
+ md: 18,
16
+ lg: 24
17
+ };
18
+ var dimension = sizeMap[size];
19
+ var initialFontSize = fontSizeMap[size];
20
+ var circleRadius = dimension / 2 - 1 // Account for stroke width
21
+ ;
22
+ return /*#__PURE__*/ jsxs("div", {
23
+ className: "entity-header entity-header--".concat(size, " ").concat(collapsed ? 'entity-header--collapsed' : '', " ").concat(className).trim(),
24
+ children: [
25
+ /*#__PURE__*/ jsx("div", {
26
+ className: "entity-header__avatar",
27
+ style: {
28
+ width: dimension,
29
+ height: dimension
30
+ },
31
+ children: imageUrl ? /*#__PURE__*/ jsx("img", {
32
+ src: imageUrl,
33
+ alt: name,
34
+ className: "entity-header__image"
35
+ }) : /*#__PURE__*/ jsxs("div", {
36
+ className: "entity-header__placeholder",
37
+ children: [
38
+ /*#__PURE__*/ jsx("svg", {
39
+ width: dimension,
40
+ height: dimension,
41
+ viewBox: "0 0 ".concat(dimension, " ").concat(dimension),
42
+ fill: "none",
43
+ children: /*#__PURE__*/ jsx("circle", {
44
+ cx: dimension / 2,
45
+ cy: dimension / 2,
46
+ r: circleRadius,
47
+ fill: "var(--fills-main-fill-secondary, #626A90)",
48
+ fillOpacity: "0.2",
49
+ stroke: "var(--fills-main-fill-secondary, #626A90)",
50
+ strokeWidth: "2"
51
+ })
52
+ }),
53
+ /*#__PURE__*/ jsx("span", {
54
+ style: {
55
+ fontSize: initialFontSize
56
+ },
57
+ children: (name === null || name === void 0 ? void 0 : (_name_ = name[0]) === null || _name_ === void 0 ? void 0 : _name_.toUpperCase()) || 'S'
58
+ })
59
+ ]
60
+ })
61
+ }),
62
+ !collapsed && /*#__PURE__*/ jsxs("div", {
63
+ className: "entity-header__text",
64
+ children: [
65
+ /*#__PURE__*/ jsx("h3", {
66
+ className: "entity-header__name",
67
+ children: name
68
+ }),
69
+ id && /*#__PURE__*/ jsx("div", {
70
+ className: "entity-header__badge",
71
+ children: /*#__PURE__*/ jsxs("span", {
72
+ children: [
73
+ idLabel,
74
+ ": ",
75
+ id
76
+ ]
77
+ })
78
+ })
79
+ ]
80
+ })
81
+ ]
82
+ });
83
+ };
84
+
85
+ export { EntityHeader };
@@ -0,0 +1,6 @@
1
+ import styleInject from '/opt/atlassian/pipelines/agent/build/node_modules/style-inject/dist/style-inject.es.js';
2
+
3
+ var css_248z = ".entity-header{align-items:center;background:var(--surfaces-main-surface-secondary,#f4f4f7);border-radius:8px;box-sizing:border-box;cursor:pointer;display:flex;gap:8px;padding:8px;transition:background .2s ease;width:100%}.entity-header:hover{background:var(--surfaces-main-surface-secondary-hover,#ecedf2)}.entity-header:hover .entity-header__badge{background:var(--surfaces-main-surface-tertiary-hover,#fff)}.entity-header:active{background:var(--surfaces-main-surface-secondary-pressed,#e4e5ec)}.entity-header--collapsed{justify-content:center}.entity-header__avatar{align-items:center;border-radius:50%;display:flex;flex-shrink:0;justify-content:center;overflow:hidden;position:relative}.entity-header__image{height:100%;object-fit:cover;width:100%}.entity-header__placeholder{align-items:center;display:flex;height:100%;justify-content:center;position:relative;width:100%}.entity-header__placeholder svg{left:0;position:absolute;top:0}.entity-header__placeholder span{color:var(--labels-main-label-secondary,#626a90);font-family:var(--font-family-sans);font-weight:700;position:relative;z-index:1}.entity-header__text{display:flex;flex:1;flex-direction:column;gap:4px;min-width:0}.entity-header__name{color:var(--labels-main-label-primary,#121e52);font-family:var(--font-family-sans);font-size:15px;font-weight:600;line-height:18px;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.entity-header__badge{align-items:center;background:var(--surfaces-main-surface-tertiary,#e8e9ef);border-radius:8px;display:inline-flex;justify-content:center;padding:4px 8px;transition:background .2s ease;width:fit-content}.entity-header__badge span{color:var(--labels-main-label-secondary,#626a90);font-family:var(--font-family-mono);font-size:10px;font-weight:600;line-height:12px;white-space:nowrap}.entity-header--sm{gap:8px}.entity-header--sm .entity-header__name{font-size:13px;line-height:16px}.entity-header--sm .entity-header__badge span{font-size:9px}.entity-header--lg{gap:16px}.entity-header--lg .entity-header__name{font-size:18px;line-height:24px}.entity-header--lg .entity-header__badge span{font-size:11px}";
4
+ styleInject(css_248z);
5
+
6
+ export { css_248z as default };
@@ -0,0 +1,2 @@
1
+ export { EntityHeader, type EntityHeaderProps } from './EntityHeader';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/v2/components/EntityHeader/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,KAAK,iBAAiB,EAAE,MAAM,gBAAgB,CAAA"}
@@ -0,0 +1,18 @@
1
+ import React from 'react';
2
+ import './NPSScore.scss';
3
+ export interface NPSScoreProps {
4
+ /** User's first name for personalized greeting */
5
+ firstName?: string;
6
+ /** Callback when NPS is submitted */
7
+ onSubmit?: (data: NPSSubmitData) => void;
8
+ /** Callback when dismissed */
9
+ onDismiss?: () => void;
10
+ }
11
+ export interface NPSSubmitData {
12
+ score: number;
13
+ role: string;
14
+ reason?: string;
15
+ }
16
+ export declare const NPSScore: React.FC<NPSScoreProps>;
17
+ export default NPSScore;
18
+ //# sourceMappingURL=NPSScore.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NPSScore.d.ts","sourceRoot":"","sources":["../../../../src/v2/components/NPSScore/NPSScore.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmB,MAAM,OAAO,CAAA;AACvC,OAAO,iBAAiB,CAAA;AAExB,MAAM,WAAW,aAAa;IAC1B,kDAAkD;IAClD,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,qCAAqC;IACrC,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,aAAa,KAAK,IAAI,CAAA;IACxC,8BAA8B;IAC9B,SAAS,CAAC,EAAE,MAAM,IAAI,CAAA;CACzB;AAED,MAAM,WAAW,aAAa;IAC1B,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,CAAC,EAAE,MAAM,CAAA;CAClB;AAwBD,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,CAsK5C,CAAA;AAED,eAAe,QAAQ,CAAA"}
@@ -0,0 +1,3 @@
1
+ export { NPSScore } from './NPSScore';
2
+ export type { NPSScoreProps, NPSSubmitData } from './NPSScore';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/v2/components/NPSScore/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA"}
@@ -0,0 +1,10 @@
1
+ import { HTMLAttributes } from 'react';
2
+ import './Select.scss';
3
+ export interface SelectProps extends HTMLAttributes<HTMLSelectElement> {
4
+ variant?: 'default' | 'hover' | 'focus' | 'error' | 'disabled';
5
+ size?: 'sm' | 'md' | 'lg';
6
+ disabled?: boolean;
7
+ }
8
+ export declare function Select({ variant, size, disabled, className, children, ...props }: SelectProps): import("react/jsx-runtime").JSX.Element;
9
+ export default Select;
10
+ //# sourceMappingURL=Select.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Select.d.ts","sourceRoot":"","sources":["../../../../src/v2/components/Select/Select.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,cAAc,EAAE,MAAM,OAAO,CAAA;AAC7C,OAAO,eAAe,CAAA;AAEtB,MAAM,WAAW,WAAY,SAAQ,cAAc,CAAC,iBAAiB,CAAC;IACpE,OAAO,CAAC,EAAE,SAAS,GAAG,OAAO,GAAE,OAAO,GAAG,OAAO,GAAG,UAAU,CAAA;IAC7D,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAA;IACzB,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB;AAED,wBAAgB,MAAM,CAAC,EACrB,OAAmB,EACnB,IAAW,EACX,QAAgB,EAChB,SAAc,EACd,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,WAAW,2CAqCb;AAED,eAAe,MAAM,CAAA"}
@@ -0,0 +1,3 @@
1
+ export { Select } from './Select';
2
+ export type { SelectProps } from './Select';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/v2/components/Select/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AACjC,YAAY,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA"}
@@ -0,0 +1,21 @@
1
+ import * as React from 'react';
2
+ import * as TooltipPrimitive from '@radix-ui/react-tooltip';
3
+ import './Tooltip.scss';
4
+ declare const TooltipProvider: React.FC<TooltipPrimitive.TooltipProviderProps>;
5
+ declare const TooltipRoot: React.FC<TooltipPrimitive.TooltipProps>;
6
+ declare const TooltipTrigger: React.ForwardRefExoticComponent<TooltipPrimitive.TooltipTriggerProps & React.RefAttributes<HTMLButtonElement>>;
7
+ declare const TooltipContent: React.ForwardRefExoticComponent<Omit<TooltipPrimitive.TooltipContentProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
8
+ export interface TooltipProps {
9
+ content: React.ReactNode;
10
+ children: React.ReactNode;
11
+ side?: 'top' | 'bottom' | 'left' | 'right';
12
+ sideOffset?: number;
13
+ delayDuration?: number;
14
+ disabled?: boolean;
15
+ className?: string;
16
+ open?: boolean;
17
+ }
18
+ declare const Tooltip: React.FC<TooltipProps>;
19
+ export { Tooltip, TooltipProvider, TooltipRoot, TooltipTrigger, TooltipContent };
20
+ export type { TooltipProps };
21
+ //# sourceMappingURL=Tooltip.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Tooltip.d.ts","sourceRoot":"","sources":["../../../../src/v2/components/Tooltip/Tooltip.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,KAAK,gBAAgB,MAAM,yBAAyB,CAAA;AAC3D,OAAO,gBAAgB,CAAA;AAEvB,QAAA,MAAM,eAAe,iDAA4B,CAAA;AAEjD,QAAA,MAAM,WAAW,yCAAwB,CAAA;AAEzC,QAAA,MAAM,cAAc,gHAA2B,CAAA;AAE/C,QAAA,MAAM,cAAc,gKAUlB,CAAA;AAGF,MAAM,WAAW,YAAY;IACzB,OAAO,EAAE,KAAK,CAAC,SAAS,CAAA;IACxB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,IAAI,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAA;IAC1C,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,IAAI,CAAC,EAAE,OAAO,CAAA;CACjB;AAED,QAAA,MAAM,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,YAAY,CA0BnC,CAAA;AAED,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,cAAc,EAAE,cAAc,EAAE,CAAA;AAChF,YAAY,EAAE,YAAY,EAAE,CAAA"}
@@ -0,0 +1,103 @@
1
+ import { jsx, Fragment, jsxs } from 'react/jsx-runtime';
2
+ import * as React from 'react';
3
+ import * as TooltipPrimitive from '@radix-ui/react-tooltip';
4
+ import './Tooltip.scss.js';
5
+
6
+ function _define_property(obj, key, value) {
7
+ if (key in obj) {
8
+ Object.defineProperty(obj, key, {
9
+ value: value,
10
+ enumerable: true,
11
+ configurable: true,
12
+ writable: true
13
+ });
14
+ } else {
15
+ obj[key] = value;
16
+ }
17
+ return obj;
18
+ }
19
+ function _object_spread(target) {
20
+ for(var i = 1; i < arguments.length; i++){
21
+ var source = arguments[i] != null ? arguments[i] : {};
22
+ var ownKeys = Object.keys(source);
23
+ if (typeof Object.getOwnPropertySymbols === "function") {
24
+ ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {
25
+ return Object.getOwnPropertyDescriptor(source, sym).enumerable;
26
+ }));
27
+ }
28
+ ownKeys.forEach(function(key) {
29
+ _define_property(target, key, source[key]);
30
+ });
31
+ }
32
+ return target;
33
+ }
34
+ function _object_without_properties(source, excluded) {
35
+ if (source == null) return {};
36
+ var target = _object_without_properties_loose(source, excluded);
37
+ var key, i;
38
+ if (Object.getOwnPropertySymbols) {
39
+ var sourceSymbolKeys = Object.getOwnPropertySymbols(source);
40
+ for(i = 0; i < sourceSymbolKeys.length; i++){
41
+ key = sourceSymbolKeys[i];
42
+ if (excluded.indexOf(key) >= 0) continue;
43
+ if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;
44
+ target[key] = source[key];
45
+ }
46
+ }
47
+ return target;
48
+ }
49
+ function _object_without_properties_loose(source, excluded) {
50
+ if (source == null) return {};
51
+ var target = {};
52
+ var sourceKeys = Object.keys(source);
53
+ var key, i;
54
+ for(i = 0; i < sourceKeys.length; i++){
55
+ key = sourceKeys[i];
56
+ if (excluded.indexOf(key) >= 0) continue;
57
+ target[key] = source[key];
58
+ }
59
+ return target;
60
+ }
61
+ var TooltipProvider = TooltipPrimitive.Provider;
62
+ var TooltipRoot = TooltipPrimitive.Root;
63
+ var TooltipTrigger = TooltipPrimitive.Trigger;
64
+ var TooltipContent = /*#__PURE__*/ React.forwardRef(function(_param, ref) {
65
+ var className = _param.className, _param_sideOffset = _param.sideOffset, sideOffset = _param_sideOffset === void 0 ? 8 : _param_sideOffset, props = _object_without_properties(_param, [
66
+ "className",
67
+ "sideOffset"
68
+ ]);
69
+ return /*#__PURE__*/ jsx(TooltipPrimitive.Content, _object_spread({
70
+ ref: ref,
71
+ sideOffset: sideOffset,
72
+ className: "tooltip-content ".concat(className || '').trim()
73
+ }, props));
74
+ });
75
+ TooltipContent.displayName = TooltipPrimitive.Content.displayName;
76
+ var Tooltip = function(param) {
77
+ var content = param.content, children = param.children, _param_side = param.side, side = _param_side === void 0 ? 'bottom' : _param_side, _param_sideOffset = param.sideOffset, sideOffset = _param_sideOffset === void 0 ? 8 : _param_sideOffset, _param_delayDuration = param.delayDuration, delayDuration = _param_delayDuration === void 0 ? 200 : _param_delayDuration, _param_disabled = param.disabled, disabled = _param_disabled === void 0 ? false : _param_disabled, _param_className = param.className, className = _param_className === void 0 ? '' : _param_className, open = param.open;
78
+ if (disabled) {
79
+ return /*#__PURE__*/ jsx(Fragment, {
80
+ children: children
81
+ });
82
+ }
83
+ return /*#__PURE__*/ jsx(TooltipProvider, {
84
+ delayDuration: delayDuration,
85
+ children: /*#__PURE__*/ jsxs(TooltipRoot, {
86
+ open: open,
87
+ children: [
88
+ /*#__PURE__*/ jsx(TooltipTrigger, {
89
+ asChild: true,
90
+ children: children
91
+ }),
92
+ /*#__PURE__*/ jsx(TooltipContent, {
93
+ side: side,
94
+ sideOffset: sideOffset,
95
+ className: className,
96
+ children: content
97
+ })
98
+ ]
99
+ })
100
+ });
101
+ };
102
+
103
+ export { Tooltip, TooltipContent, TooltipProvider, TooltipRoot, TooltipTrigger };
@@ -0,0 +1,6 @@
1
+ import styleInject from '/opt/atlassian/pipelines/agent/build/node_modules/style-inject/dist/style-inject.es.js';
2
+
3
+ var css_248z = ".tooltip-content{animation-duration:.2s;animation-timing-function:ease-out;background:var(--surfaces-main-surface-primary,#fff);border:1px solid var(--borders-main-border-primary,#e8e9ef);border-radius:6px;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;color:var(--labels-main-label-primary,#121e52);font-family:var(--font-family-sans);font-size:14px;font-weight:400;line-height:20px;overflow:hidden;padding:6px 12px;white-space:nowrap;z-index:50}.tooltip-content[data-state=delayed-open][data-side=top]{animation-name:tooltip-slide-down}.tooltip-content[data-state=delayed-open][data-side=bottom]{animation-name:tooltip-slide-up}.tooltip-content[data-state=delayed-open][data-side=left]{animation-name:tooltip-slide-right}.tooltip-content[data-state=delayed-open][data-side=right]{animation-name:tooltip-slide-left}.tooltip-content[data-state=closed]{animation-duration:.1s;animation-name:tooltip-fade-out}@keyframes tooltip-fade-out{0%{opacity:1}to{opacity:0}}@keyframes tooltip-slide-up{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@keyframes tooltip-slide-down{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes tooltip-slide-left{0%{opacity:0;transform:translateX(-4px)}to{opacity:1;transform:translateX(0)}}@keyframes tooltip-slide-right{0%{opacity:0;transform:translateX(4px)}to{opacity:1;transform:translateX(0)}}";
4
+ styleInject(css_248z);
5
+
6
+ export { css_248z as default };
@@ -0,0 +1,2 @@
1
+ export { Tooltip, TooltipProvider, TooltipRoot, TooltipTrigger, TooltipContent, type TooltipProps } from './Tooltip';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/v2/components/Tooltip/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,OAAO,EACP,eAAe,EACf,WAAW,EACX,cAAc,EACd,cAAc,EACd,KAAK,YAAY,EACpB,MAAM,WAAW,CAAA"}
@@ -0,0 +1,12 @@
1
+ import React from 'react';
2
+ import './UserAvatar.scss';
3
+ export interface UserAvatarProps {
4
+ initials?: string;
5
+ avatarUrl?: string;
6
+ size?: 'sm' | 'md' | 'lg';
7
+ isActive?: boolean;
8
+ onClick?: () => void;
9
+ className?: string;
10
+ }
11
+ export declare const UserAvatar: React.FC<UserAvatarProps>;
12
+ //# sourceMappingURL=UserAvatar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UserAvatar.d.ts","sourceRoot":"","sources":["../../../../src/v2/components/UserAvatar/UserAvatar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,mBAAmB,CAAA;AAE1B,MAAM,WAAW,eAAe;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAA;IACzB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;IACpB,SAAS,CAAC,EAAE,MAAM,CAAA;CACrB;AAED,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAmFhD,CAAA"}
@@ -0,0 +1,77 @@
1
+ import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
2
+ import 'react';
3
+ import './UserAvatar.scss.js';
4
+
5
+ var UserAvatar = function(param) {
6
+ var _param_initials = param.initials, initials = _param_initials === void 0 ? 'U' : _param_initials, avatarUrl = param.avatarUrl, _param_size = param.size, size = _param_size === void 0 ? 'md' : _param_size, _param_isActive = param.isActive, isActive = _param_isActive === void 0 ? false : _param_isActive, onClick = param.onClick, _param_className = param.className, className = _param_className === void 0 ? '' : _param_className;
7
+ var sizeMap = {
8
+ sm: 24,
9
+ md: 32,
10
+ lg: 47
11
+ };
12
+ var fontSizeMap = {
13
+ sm: 8,
14
+ md: 10,
15
+ lg: 14
16
+ };
17
+ var dimension = sizeMap[size];
18
+ var fontSize = fontSizeMap[size];
19
+ var radius = dimension / 2 - 1;
20
+ var fillColor = isActive ? 'var(--fills-main-fill-primary, #14215A)' : 'var(--fills-main-fill-secondary, #626A90)';
21
+ var handleClick = function() {
22
+ onClick === null || onClick === void 0 ? void 0 : onClick();
23
+ };
24
+ var content = avatarUrl ? /*#__PURE__*/ jsx("img", {
25
+ src: avatarUrl,
26
+ alt: "Profile",
27
+ className: "user-avatar__image"
28
+ }) : /*#__PURE__*/ jsxs(Fragment, {
29
+ children: [
30
+ /*#__PURE__*/ jsx("svg", {
31
+ width: dimension,
32
+ height: dimension,
33
+ viewBox: "0 0 ".concat(dimension, " ").concat(dimension),
34
+ fill: "none",
35
+ className: "user-avatar__bg",
36
+ children: /*#__PURE__*/ jsx("circle", {
37
+ cx: dimension / 2,
38
+ cy: dimension / 2,
39
+ r: radius,
40
+ fill: fillColor,
41
+ fillOpacity: "0.2",
42
+ stroke: fillColor,
43
+ strokeWidth: "2"
44
+ })
45
+ }),
46
+ /*#__PURE__*/ jsx("span", {
47
+ className: "user-avatar__initials ".concat(isActive ? 'user-avatar__initials--active' : ''),
48
+ style: {
49
+ fontSize: "".concat(fontSize, "px")
50
+ },
51
+ children: initials
52
+ })
53
+ ]
54
+ });
55
+ if (onClick) {
56
+ return /*#__PURE__*/ jsx("button", {
57
+ className: "user-avatar user-avatar--".concat(size, " user-avatar--clickable ").concat(isActive ? 'user-avatar--active' : '', " ").concat(className).trim(),
58
+ onClick: handleClick,
59
+ type: "button",
60
+ style: {
61
+ width: dimension,
62
+ height: dimension
63
+ },
64
+ children: content
65
+ });
66
+ }
67
+ return /*#__PURE__*/ jsx("div", {
68
+ className: "user-avatar user-avatar--".concat(size, " ").concat(isActive ? 'user-avatar--active' : '', " ").concat(className).trim(),
69
+ style: {
70
+ width: dimension,
71
+ height: dimension
72
+ },
73
+ children: content
74
+ });
75
+ };
76
+
77
+ export { UserAvatar };
@@ -0,0 +1,6 @@
1
+ import styleInject from '/opt/atlassian/pipelines/agent/build/node_modules/style-inject/dist/style-inject.es.js';
2
+
3
+ var css_248z = ".user-avatar{align-items:center;background:#0000;border:none;border-radius:50%;cursor:default;display:flex;justify-content:center;overflow:hidden;padding:0;position:relative}.user-avatar--sm{height:24px;width:24px}.user-avatar--md{height:32px;width:32px}.user-avatar--lg{height:47px;width:47px}.user-avatar--clickable{cursor:pointer}.user-avatar__image{border-radius:50%;height:100%;object-fit:cover;width:100%}.user-avatar__bg{left:0;position:absolute;top:0}.user-avatar__initials{color:var(--labels-main-label-secondary,#626a90);font-family:var(--font-family-sans);font-weight:800;left:50%;line-height:1;position:absolute;text-align:center;text-transform:uppercase;top:50%;transform:translate(-50%,-50%);z-index:1}.user-avatar__initials--active{color:#fff}";
4
+ styleInject(css_248z);
5
+
6
+ export { css_248z as default };
@@ -0,0 +1,2 @@
1
+ export { UserAvatar, type UserAvatarProps } from './UserAvatar';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/v2/components/UserAvatar/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,KAAK,eAAe,EAAE,MAAM,cAAc,CAAA"}
@@ -0,0 +1,17 @@
1
+ import React from 'react';
2
+ import './UserPanel.scss';
3
+ export interface UserPanelProps {
4
+ isOpen: boolean;
5
+ onClose: () => void;
6
+ userName: string;
7
+ firstName?: string;
8
+ email?: string;
9
+ initials?: string;
10
+ avatarUrl?: string | null;
11
+ userNumber?: number | null;
12
+ userRole?: string;
13
+ onProfileClick?: () => void;
14
+ onLogoutClick?: () => void;
15
+ }
16
+ export declare const UserPanel: React.FC<UserPanelProps>;
17
+ //# sourceMappingURL=UserPanel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UserPanel.d.ts","sourceRoot":"","sources":["../../../../src/v2/components/UserPanel/UserPanel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,kBAAkB,CAAA;AAGzB,MAAM,WAAW,cAAc;IAC3B,MAAM,EAAE,OAAO,CAAA;IACf,OAAO,EAAE,MAAM,IAAI,CAAA;IACnB,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,cAAc,CAAC,EAAE,MAAM,IAAI,CAAA;IAC3B,aAAa,CAAC,EAAE,MAAM,IAAI,CAAA;CAC7B;AAqBD,eAAO,MAAM,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CAwF9C,CAAA"}