@lokalise/harmony 1.39.1 → 1.39.3

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 (234) hide show
  1. package/dist/harmony.cjs +1 -0
  2. package/dist/harmony.cjs.map +1 -1
  3. package/dist/harmony.mjs +2 -1
  4. package/dist/harmony103.cjs +1 -1
  5. package/dist/harmony103.mjs +1 -1
  6. package/dist/harmony104.cjs +1 -1
  7. package/dist/harmony104.mjs +1 -1
  8. package/dist/harmony109.cjs +1 -1
  9. package/dist/harmony109.mjs +1 -1
  10. package/dist/harmony111.cjs +9 -10
  11. package/dist/harmony111.cjs.map +1 -1
  12. package/dist/harmony111.mjs +11 -12
  13. package/dist/harmony111.mjs.map +1 -1
  14. package/dist/harmony112.cjs +20 -11
  15. package/dist/harmony112.cjs.map +1 -1
  16. package/dist/harmony112.mjs +20 -11
  17. package/dist/harmony112.mjs.map +1 -1
  18. package/dist/harmony113.cjs +11 -96
  19. package/dist/harmony113.cjs.map +1 -1
  20. package/dist/harmony113.mjs +11 -79
  21. package/dist/harmony113.mjs.map +1 -1
  22. package/dist/harmony114.cjs +18 -14
  23. package/dist/harmony114.cjs.map +1 -1
  24. package/dist/harmony114.mjs +18 -14
  25. package/dist/harmony114.mjs.map +1 -1
  26. package/dist/harmony115.cjs +22 -19
  27. package/dist/harmony115.cjs.map +1 -1
  28. package/dist/harmony115.mjs +21 -18
  29. package/dist/harmony115.mjs.map +1 -1
  30. package/dist/harmony116.cjs +5 -86
  31. package/dist/harmony116.cjs.map +1 -1
  32. package/dist/harmony116.mjs +5 -86
  33. package/dist/harmony116.mjs.map +1 -1
  34. package/dist/harmony117.cjs +87 -30
  35. package/dist/harmony117.cjs.map +1 -1
  36. package/dist/harmony117.mjs +87 -30
  37. package/dist/harmony117.mjs.map +1 -1
  38. package/dist/harmony118.cjs +31 -22
  39. package/dist/harmony118.cjs.map +1 -1
  40. package/dist/harmony118.mjs +30 -21
  41. package/dist/harmony118.mjs.map +1 -1
  42. package/dist/harmony119.cjs +98 -5
  43. package/dist/harmony119.cjs.map +1 -1
  44. package/dist/harmony119.mjs +81 -5
  45. package/dist/harmony119.mjs.map +1 -1
  46. package/dist/harmony120.cjs +133 -6
  47. package/dist/harmony120.cjs.map +1 -1
  48. package/dist/harmony120.mjs +132 -5
  49. package/dist/harmony120.mjs.map +1 -1
  50. package/dist/harmony121.cjs +12 -5
  51. package/dist/harmony121.cjs.map +1 -1
  52. package/dist/harmony121.mjs +12 -5
  53. package/dist/harmony121.mjs.map +1 -1
  54. package/dist/harmony122.cjs +5 -132
  55. package/dist/harmony122.cjs.map +1 -1
  56. package/dist/harmony122.mjs +5 -132
  57. package/dist/harmony122.mjs.map +1 -1
  58. package/dist/harmony123.cjs +40 -12
  59. package/dist/harmony123.cjs.map +1 -1
  60. package/dist/harmony123.mjs +39 -11
  61. package/dist/harmony123.mjs.map +1 -1
  62. package/dist/harmony124.cjs +59 -4
  63. package/dist/harmony124.cjs.map +1 -1
  64. package/dist/harmony124.mjs +60 -5
  65. package/dist/harmony124.mjs.map +1 -1
  66. package/dist/harmony125.cjs +6 -39
  67. package/dist/harmony125.cjs.map +1 -1
  68. package/dist/harmony125.mjs +6 -39
  69. package/dist/harmony125.mjs.map +1 -1
  70. package/dist/harmony126.cjs +6 -60
  71. package/dist/harmony126.cjs.map +1 -1
  72. package/dist/harmony126.mjs +5 -59
  73. package/dist/harmony126.mjs.map +1 -1
  74. package/dist/harmony127.cjs +6 -8
  75. package/dist/harmony127.cjs.map +1 -1
  76. package/dist/harmony127.mjs +5 -7
  77. package/dist/harmony127.mjs.map +1 -1
  78. package/dist/harmony128.cjs +5 -6
  79. package/dist/harmony128.cjs.map +1 -1
  80. package/dist/harmony128.mjs +5 -6
  81. package/dist/harmony129.cjs +10 -96
  82. package/dist/harmony129.cjs.map +1 -1
  83. package/dist/harmony129.mjs +10 -96
  84. package/dist/harmony129.mjs.map +1 -1
  85. package/dist/harmony130.cjs +62 -13
  86. package/dist/harmony130.cjs.map +1 -1
  87. package/dist/harmony130.mjs +61 -12
  88. package/dist/harmony130.mjs.map +1 -1
  89. package/dist/harmony131.cjs +87 -13
  90. package/dist/harmony131.cjs.map +1 -1
  91. package/dist/harmony131.mjs +87 -13
  92. package/dist/harmony131.mjs.map +1 -1
  93. package/dist/harmony132.cjs +19 -37
  94. package/dist/harmony132.cjs.map +1 -1
  95. package/dist/harmony132.mjs +18 -36
  96. package/dist/harmony132.mjs.map +1 -1
  97. package/dist/harmony133.cjs +87 -19
  98. package/dist/harmony133.cjs.map +1 -1
  99. package/dist/harmony133.mjs +87 -19
  100. package/dist/harmony133.mjs.map +1 -1
  101. package/dist/harmony134.cjs +13 -10
  102. package/dist/harmony134.cjs.map +1 -1
  103. package/dist/harmony134.mjs +13 -10
  104. package/dist/harmony134.mjs.map +1 -1
  105. package/dist/harmony135.cjs +12 -60
  106. package/dist/harmony135.cjs.map +1 -1
  107. package/dist/harmony135.mjs +12 -60
  108. package/dist/harmony135.mjs.map +1 -1
  109. package/dist/harmony136.cjs +36 -88
  110. package/dist/harmony136.cjs.map +1 -1
  111. package/dist/harmony136.mjs +36 -88
  112. package/dist/harmony136.mjs.map +1 -1
  113. package/dist/harmony137.cjs +29 -19
  114. package/dist/harmony137.cjs.map +1 -1
  115. package/dist/harmony137.mjs +28 -18
  116. package/dist/harmony137.mjs.map +1 -1
  117. package/dist/harmony138.cjs +7 -13
  118. package/dist/harmony138.cjs.map +1 -1
  119. package/dist/harmony138.mjs +7 -13
  120. package/dist/harmony138.mjs.map +1 -1
  121. package/dist/harmony139.cjs +57 -15
  122. package/dist/harmony139.cjs.map +1 -1
  123. package/dist/harmony139.mjs +57 -15
  124. package/dist/harmony139.mjs.map +1 -1
  125. package/dist/harmony14.cjs +1 -1
  126. package/dist/harmony14.mjs +1 -1
  127. package/dist/harmony140.cjs +59 -15
  128. package/dist/harmony140.cjs.map +1 -1
  129. package/dist/harmony140.mjs +59 -15
  130. package/dist/harmony140.mjs.map +1 -1
  131. package/dist/harmony141.cjs +19 -12
  132. package/dist/harmony141.cjs.map +1 -1
  133. package/dist/harmony141.mjs +18 -11
  134. package/dist/harmony141.mjs.map +1 -1
  135. package/dist/harmony142.cjs +12 -15
  136. package/dist/harmony142.cjs.map +1 -1
  137. package/dist/harmony142.mjs +12 -15
  138. package/dist/harmony142.mjs.map +1 -1
  139. package/dist/harmony143.cjs +13 -19
  140. package/dist/harmony143.cjs.map +1 -1
  141. package/dist/harmony143.mjs +13 -19
  142. package/dist/harmony143.mjs.map +1 -1
  143. package/dist/harmony144.cjs +14 -10
  144. package/dist/harmony144.cjs.map +1 -1
  145. package/dist/harmony144.mjs +14 -10
  146. package/dist/harmony144.mjs.map +1 -1
  147. package/dist/harmony145.cjs +11 -7
  148. package/dist/harmony145.cjs.map +1 -1
  149. package/dist/harmony145.mjs +11 -7
  150. package/dist/harmony145.mjs.map +1 -1
  151. package/dist/harmony146.cjs +15 -56
  152. package/dist/harmony146.cjs.map +1 -1
  153. package/dist/harmony146.mjs +15 -56
  154. package/dist/harmony146.mjs.map +1 -1
  155. package/dist/harmony147.cjs +20 -59
  156. package/dist/harmony147.cjs.map +1 -1
  157. package/dist/harmony147.mjs +20 -59
  158. package/dist/harmony147.mjs.map +1 -1
  159. package/dist/harmony148.cjs +13 -19
  160. package/dist/harmony148.cjs.map +1 -1
  161. package/dist/harmony148.mjs +12 -18
  162. package/dist/harmony148.mjs.map +1 -1
  163. package/dist/harmony149.cjs +46 -6
  164. package/dist/harmony149.cjs.map +1 -1
  165. package/dist/harmony149.mjs +46 -6
  166. package/dist/harmony149.mjs.map +1 -1
  167. package/dist/harmony150.cjs +13 -13
  168. package/dist/harmony150.cjs.map +1 -1
  169. package/dist/harmony150.mjs +12 -12
  170. package/dist/harmony150.mjs.map +1 -1
  171. package/dist/harmony151.cjs +5 -31
  172. package/dist/harmony151.cjs.map +1 -1
  173. package/dist/harmony151.mjs +5 -31
  174. package/dist/harmony151.mjs.map +1 -1
  175. package/dist/harmony152.cjs +11 -13
  176. package/dist/harmony152.cjs.map +1 -1
  177. package/dist/harmony152.mjs +11 -13
  178. package/dist/harmony152.mjs.map +1 -1
  179. package/dist/harmony153.cjs +31 -45
  180. package/dist/harmony153.cjs.map +1 -1
  181. package/dist/harmony153.mjs +31 -45
  182. package/dist/harmony153.mjs.map +1 -1
  183. package/dist/harmony154.cjs +15 -13
  184. package/dist/harmony154.cjs.map +1 -1
  185. package/dist/harmony154.mjs +14 -12
  186. package/dist/harmony154.mjs.map +1 -1
  187. package/dist/harmony17.cjs +1 -1
  188. package/dist/harmony17.mjs +1 -1
  189. package/dist/harmony25.cjs +1 -1
  190. package/dist/harmony25.mjs +1 -1
  191. package/dist/harmony26.cjs +1 -1
  192. package/dist/harmony26.mjs +1 -1
  193. package/dist/harmony35.cjs +1 -1
  194. package/dist/harmony35.cjs.map +1 -1
  195. package/dist/harmony35.mjs +1 -1
  196. package/dist/harmony35.mjs.map +1 -1
  197. package/dist/harmony58.cjs +9 -5
  198. package/dist/harmony58.cjs.map +1 -1
  199. package/dist/harmony58.mjs +10 -6
  200. package/dist/harmony58.mjs.map +1 -1
  201. package/dist/harmony71.cjs +2 -2
  202. package/dist/harmony71.cjs.map +1 -1
  203. package/dist/harmony71.mjs +2 -2
  204. package/dist/harmony71.mjs.map +1 -1
  205. package/dist/harmony75.cjs +1 -1
  206. package/dist/harmony75.mjs +1 -1
  207. package/dist/harmony85.cjs +6 -6
  208. package/dist/harmony85.mjs +6 -6
  209. package/dist/harmony88.cjs +2 -2
  210. package/dist/harmony88.mjs +2 -2
  211. package/dist/harmony90.cjs +2 -2
  212. package/dist/harmony90.mjs +2 -2
  213. package/dist/harmony92.cjs +2 -2
  214. package/dist/harmony92.mjs +2 -2
  215. package/dist/harmony96.cjs +11 -165
  216. package/dist/harmony96.cjs.map +1 -1
  217. package/dist/harmony96.mjs +11 -165
  218. package/dist/harmony96.mjs.map +1 -1
  219. package/dist/harmony97.cjs +12 -44
  220. package/dist/harmony97.cjs.map +1 -1
  221. package/dist/harmony97.mjs +11 -43
  222. package/dist/harmony97.mjs.map +1 -1
  223. package/dist/harmony98.cjs +166 -11
  224. package/dist/harmony98.cjs.map +1 -1
  225. package/dist/harmony98.mjs +166 -11
  226. package/dist/harmony98.mjs.map +1 -1
  227. package/dist/harmony99.cjs +44 -21
  228. package/dist/harmony99.cjs.map +1 -1
  229. package/dist/harmony99.mjs +43 -20
  230. package/dist/harmony99.mjs.map +1 -1
  231. package/dist/types/src/features/publicApi/hooks/useRetrieveUserPermissions.d.ts +15 -7
  232. package/dist/types/src/features/publicApi/teamUsers.d.ts +16 -16
  233. package/dist/types/src/features/publicApi/types/teamUserTypes.d.ts +6 -6
  234. package/package.json +1 -1
package/dist/harmony.cjs CHANGED
@@ -174,6 +174,7 @@ exports.retrieveProjectQueryKey = useRetrieveProjectQuery.retrieveProjectQueryKe
174
174
  exports.useRetrieveProjectQuery = useRetrieveProjectQuery.useRetrieveProjectQuery;
175
175
  exports.retrieveTeamQueryKey = useRetrieveTeamQuery.retrieveTeamQueryKey;
176
176
  exports.useRetrieveTeamQuery = useRetrieveTeamQuery.useRetrieveTeamQuery;
177
+ exports.retrieveUserPermissionsKey = useRetrieveUserPermissions.retrieveUserPermissionsKey;
177
178
  exports.useRetrieveUserPermissions = useRetrieveUserPermissions.useRetrieveUserPermissions;
178
179
  exports.useUpdateContributorMutation = useUpdateContributorMutation.useUpdateContributorMutation;
179
180
  exports.useUpdateProjectMutation = useUpdateProjectMutation.useUpdateProjectMutation;
@@ -1 +1 @@
1
- {"version":3,"file":"harmony.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"harmony.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
package/dist/harmony.mjs CHANGED
@@ -54,7 +54,7 @@ import { listTeamUsersKey, useListTeamUsersQuery } from "./harmony54.mjs";
54
54
  import { retrieveContributorKeys, useRetrieveContributorQuery } from "./harmony55.mjs";
55
55
  import { retrieveProjectQueryKey, useRetrieveProjectQuery } from "./harmony56.mjs";
56
56
  import { retrieveTeamQueryKey, useRetrieveTeamQuery } from "./harmony57.mjs";
57
- import { useRetrieveUserPermissions } from "./harmony58.mjs";
57
+ import { retrieveUserPermissionsKey, useRetrieveUserPermissions } from "./harmony58.mjs";
58
58
  import { useUpdateContributorMutation } from "./harmony59.mjs";
59
59
  import { useUpdateProjectMutation } from "./harmony60.mjs";
60
60
  import { ADD_CONTRIBUTORS_PATH_PARAMS_SCHEMA, ADD_CONTRIBUTORS_REQUEST_BODY_SCHEMA, ADD_CONTRIBUTORS_RESPONSE_SCHEMA, CONTRIBUTOR_API_BASE_HEADER_SCHEMA, CONTRIBUTOR_LANGUAGE_SCHEMA, CONTRIBUTOR_SCHEMA, DELETE_CONTRIBUTOR_PATH_PARAMS_SCHEMA, DELETE_CONTRIBUTOR_RESPONSE_SCHEMA, LIST_CONTRIBUTORS_PATH_PARAMS_SCHEMA, LIST_CONTRIBUTORS_RESPONSE_SCHEMA, RETRIEVE_CONTRIBUTOR_PATH_PARAMS_SCHEMA, RETRIEVE_CONTRIBUTOR_RESPONSE_SCHEMA, UPDATE_CONTRIBUTORS_PATH_PARAMS_SCHEMA, UPDATE_CONTRIBUTORS_REQUEST_BODY_SCHEMA, UPDATE_CONTRIBUTORS_RESPONSE_SCHEMA } from "./harmony61.mjs";
@@ -230,6 +230,7 @@ export {
230
230
  retrieveProjectQueryKey,
231
231
  retrieveTeam,
232
232
  retrieveTeamQueryKey,
233
+ retrieveUserPermissionsKey,
233
234
  updateContributors,
234
235
  updateProject,
235
236
  useAddContributorMutation,
@@ -4,7 +4,7 @@ const jsxRuntime = require("react/jsx-runtime");
4
4
  const louis = require("@lokalise/louis");
5
5
  const clsx = require("./harmony73.cjs");
6
6
  const UpgradeIcon = require("./harmony109.cjs");
7
- const ProfileMenuContent_module = require("./harmony118.cjs");
7
+ const ProfileMenuContent_module = require("./harmony115.cjs");
8
8
  const ProfileMenuContext = require("./harmony105.cjs");
9
9
  const ProfileMenuContent = ({ children }) => {
10
10
  const {
@@ -2,7 +2,7 @@ import { jsx, jsxs } from "react/jsx-runtime";
2
2
  import { Menu, MenuList, UserIcon } from "@lokalise/louis";
3
3
  import { clsx } from "./harmony73.mjs";
4
4
  import { UpgradeIcon } from "./harmony109.mjs";
5
- import styles from "./harmony118.mjs";
5
+ import styles from "./harmony115.mjs";
6
6
  import { useProfileMenu } from "./harmony105.mjs";
7
7
  const ProfileMenuContent = ({ children }) => {
8
8
  const {
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const jsxRuntime = require("react/jsx-runtime");
4
4
  const plan = require("./harmony9.cjs");
5
- const types = require("./harmony119.cjs");
5
+ const types = require("./harmony116.cjs");
6
6
  const ProfileMenuContext = require("./harmony105.cjs");
7
7
  const billingRoles = [
8
8
  types.SidebarTeamRoles.biller,
@@ -1,6 +1,6 @@
1
1
  import { jsx } from "react/jsx-runtime";
2
2
  import { isFreePlan, isTrialPlan } from "./harmony9.mjs";
3
- import { SidebarTeamRoles } from "./harmony119.mjs";
3
+ import { SidebarTeamRoles } from "./harmony116.mjs";
4
4
  import { ProfileMenuContext } from "./harmony105.mjs";
5
5
  const billingRoles = [
6
6
  SidebarTeamRoles.biller,
@@ -3,7 +3,7 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const jsxRuntime = require("react/jsx-runtime");
4
4
  const louis = require("@lokalise/louis");
5
5
  const clsx = require("./harmony73.cjs");
6
- const UpgradeIcon_module = require("./harmony128.cjs");
6
+ const UpgradeIcon_module = require("./harmony126.cjs");
7
7
  const UpgradeIcon = ({ className = "" }) => {
8
8
  return /* @__PURE__ */ jsxRuntime.jsx(
9
9
  "div",
@@ -1,7 +1,7 @@
1
1
  import { jsx } from "react/jsx-runtime";
2
2
  import { CaretUpIcon } from "@lokalise/louis";
3
3
  import { clsx } from "./harmony73.mjs";
4
- import styles from "./harmony128.mjs";
4
+ import styles from "./harmony126.mjs";
5
5
  const UpgradeIcon = ({ className = "" }) => {
6
6
  return /* @__PURE__ */ jsx(
7
7
  "div",
@@ -2,14 +2,13 @@
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const jsxRuntime = require("react/jsx-runtime");
4
4
  const louis = require("@lokalise/louis");
5
- const SortingIcon = ({ direction }) => {
6
- if (direction === "asc") {
7
- return /* @__PURE__ */ jsxRuntime.jsx(louis.SortAscendingIcon, { ariaLabel: "ascending sorting" });
8
- }
9
- if (direction === "desc") {
10
- return /* @__PURE__ */ jsxRuntime.jsx(louis.SortDescendingIcon, { ariaLabel: "descending sorting" });
11
- }
12
- return /* @__PURE__ */ jsxRuntime.jsx(louis.SortIcon, { ariaLabel: "sorting" });
13
- };
14
- exports.SortingIcon = SortingIcon;
5
+ const styles_module = require("./harmony112.cjs");
6
+ const NavItemContents = ({ label, badge, novel }) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex gap-1", children: [
7
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
8
+ /* @__PURE__ */ jsxRuntime.jsx("span", { children: label }),
9
+ !!badge && /* @__PURE__ */ jsxRuntime.jsx("div", { className: styles_module.default.badge, "aria-label": `${badge} items requiring attention`, children: badge > 9 ? "9+" : badge })
10
+ ] }),
11
+ !!novel && /* @__PURE__ */ jsxRuntime.jsx(louis.Tag, { className: styles_module.default.tag, children: novel })
12
+ ] });
13
+ exports.NavItemContents = NavItemContents;
15
14
  //# sourceMappingURL=harmony111.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony111.cjs","sources":["../src/components/Table/components/SortingIcon.tsx"],"sourcesContent":["import { SortAscendingIcon, SortDescendingIcon, SortIcon } from '@lokalise/louis'\nimport type { SortDirection } from '@tanstack/react-table'\n\ntype SortingIconProps = {\n\tdirection: SortDirection | false\n}\n\nexport const SortingIcon = ({ direction }: SortingIconProps) => {\n\tif (direction === 'asc') {\n\t\treturn <SortAscendingIcon ariaLabel=\"ascending sorting\" />\n\t}\n\tif (direction === 'desc') {\n\t\treturn <SortDescendingIcon ariaLabel=\"descending sorting\" />\n\t}\n\treturn <SortIcon ariaLabel=\"sorting\" />\n}\n"],"names":["jsx","SortAscendingIcon","SortDescendingIcon","SortIcon"],"mappings":";;;;AAOO,MAAM,cAAc,CAAC,EAAE,gBAAkC;AAC/D,MAAI,cAAc,OAAO;AACjB,WAAAA,2BAAA,IAACC,MAAkB,mBAAA,EAAA,WAAU,oBAAoB,CAAA;AAAA,EAAA;AAEzD,MAAI,cAAc,QAAQ;AAClB,WAAAD,2BAAA,IAACE,MAAmB,oBAAA,EAAA,WAAU,qBAAqB,CAAA;AAAA,EAAA;AAEpD,SAAAF,2BAAA,IAACG,MAAS,UAAA,EAAA,WAAU,UAAU,CAAA;AACtC;;"}
1
+ {"version":3,"file":"harmony111.cjs","sources":["../src/components/NavigationPanel/components/NavigationTabs/NavigationTabsItem/NavItemContents.tsx"],"sourcesContent":["import { Tag } from '@lokalise/louis'\n\nimport classes from './styles.module.css'\n\ninterface NavItemContentProps {\n\tlabel: string\n\tbadge?: number\n\tnovel?: string\n}\nexport const NavItemContents = ({ label, badge, novel }: NavItemContentProps) => (\n\t<div className=\"flex gap-1\">\n\t\t<div>\n\t\t\t<span>{label}</span>\n\t\t\t{!!badge && (\n\t\t\t\t<div className={classes.badge} aria-label={`${badge} items requiring attention`}>\n\t\t\t\t\t{badge > 9 ? '9+' : badge}\n\t\t\t\t</div>\n\t\t\t)}\n\t\t</div>\n\t\t{!!novel && <Tag className={classes.tag}>{novel}</Tag>}\n\t</div>\n)\n"],"names":["jsxs","jsx","classes","Tag"],"mappings":";;;;;AASa,MAAA,kBAAkB,CAAC,EAAE,OAAO,OAAO,YAC/CA,2BAAA,KAAC,OAAI,EAAA,WAAU,cACd,UAAA;AAAA,EAAAA,gCAAC,OACA,EAAA,UAAA;AAAA,IAAAC,2BAAAA,IAAC,UAAM,UAAM,MAAA,CAAA;AAAA,IACZ,CAAC,CAAC,SACFA,+BAAC,SAAI,WAAWC,cAAA,QAAQ,OAAO,cAAY,GAAG,KAAK,8BACjD,UAAQ,QAAA,IAAI,OAAO,MACrB,CAAA;AAAA,EAAA,GAEF;AAAA,EACC,CAAC,CAAC,SAASD,2BAAA,IAACE,aAAI,WAAWD,sBAAQ,KAAM,UAAM,MAAA,CAAA;AAAA,EACjD,CAAA;;"}
@@ -1,15 +1,14 @@
1
- import { jsx } from "react/jsx-runtime";
2
- import { SortAscendingIcon, SortDescendingIcon, SortIcon } from "@lokalise/louis";
3
- const SortingIcon = ({ direction }) => {
4
- if (direction === "asc") {
5
- return /* @__PURE__ */ jsx(SortAscendingIcon, { ariaLabel: "ascending sorting" });
6
- }
7
- if (direction === "desc") {
8
- return /* @__PURE__ */ jsx(SortDescendingIcon, { ariaLabel: "descending sorting" });
9
- }
10
- return /* @__PURE__ */ jsx(SortIcon, { ariaLabel: "sorting" });
11
- };
1
+ import { jsxs, jsx } from "react/jsx-runtime";
2
+ import { Tag } from "@lokalise/louis";
3
+ import classes from "./harmony112.mjs";
4
+ const NavItemContents = ({ label, badge, novel }) => /* @__PURE__ */ jsxs("div", { className: "flex gap-1", children: [
5
+ /* @__PURE__ */ jsxs("div", { children: [
6
+ /* @__PURE__ */ jsx("span", { children: label }),
7
+ !!badge && /* @__PURE__ */ jsx("div", { className: classes.badge, "aria-label": `${badge} items requiring attention`, children: badge > 9 ? "9+" : badge })
8
+ ] }),
9
+ !!novel && /* @__PURE__ */ jsx(Tag, { className: classes.tag, children: novel })
10
+ ] });
12
11
  export {
13
- SortingIcon
12
+ NavItemContents
14
13
  };
15
14
  //# sourceMappingURL=harmony111.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony111.mjs","sources":["../src/components/Table/components/SortingIcon.tsx"],"sourcesContent":["import { SortAscendingIcon, SortDescendingIcon, SortIcon } from '@lokalise/louis'\nimport type { SortDirection } from '@tanstack/react-table'\n\ntype SortingIconProps = {\n\tdirection: SortDirection | false\n}\n\nexport const SortingIcon = ({ direction }: SortingIconProps) => {\n\tif (direction === 'asc') {\n\t\treturn <SortAscendingIcon ariaLabel=\"ascending sorting\" />\n\t}\n\tif (direction === 'desc') {\n\t\treturn <SortDescendingIcon ariaLabel=\"descending sorting\" />\n\t}\n\treturn <SortIcon ariaLabel=\"sorting\" />\n}\n"],"names":[],"mappings":";;AAOO,MAAM,cAAc,CAAC,EAAE,gBAAkC;AAC/D,MAAI,cAAc,OAAO;AACjB,WAAA,oBAAC,mBAAkB,EAAA,WAAU,oBAAoB,CAAA;AAAA,EAAA;AAEzD,MAAI,cAAc,QAAQ;AAClB,WAAA,oBAAC,oBAAmB,EAAA,WAAU,qBAAqB,CAAA;AAAA,EAAA;AAEpD,SAAA,oBAAC,UAAS,EAAA,WAAU,UAAU,CAAA;AACtC;"}
1
+ {"version":3,"file":"harmony111.mjs","sources":["../src/components/NavigationPanel/components/NavigationTabs/NavigationTabsItem/NavItemContents.tsx"],"sourcesContent":["import { Tag } from '@lokalise/louis'\n\nimport classes from './styles.module.css'\n\ninterface NavItemContentProps {\n\tlabel: string\n\tbadge?: number\n\tnovel?: string\n}\nexport const NavItemContents = ({ label, badge, novel }: NavItemContentProps) => (\n\t<div className=\"flex gap-1\">\n\t\t<div>\n\t\t\t<span>{label}</span>\n\t\t\t{!!badge && (\n\t\t\t\t<div className={classes.badge} aria-label={`${badge} items requiring attention`}>\n\t\t\t\t\t{badge > 9 ? '9+' : badge}\n\t\t\t\t</div>\n\t\t\t)}\n\t\t</div>\n\t\t{!!novel && <Tag className={classes.tag}>{novel}</Tag>}\n\t</div>\n)\n"],"names":[],"mappings":";;;AASa,MAAA,kBAAkB,CAAC,EAAE,OAAO,OAAO,YAC/C,qBAAC,OAAI,EAAA,WAAU,cACd,UAAA;AAAA,EAAA,qBAAC,OACA,EAAA,UAAA;AAAA,IAAA,oBAAC,UAAM,UAAM,MAAA,CAAA;AAAA,IACZ,CAAC,CAAC,SACF,oBAAC,SAAI,WAAW,QAAQ,OAAO,cAAY,GAAG,KAAK,8BACjD,UAAQ,QAAA,IAAI,OAAO,MACrB,CAAA;AAAA,EAAA,GAEF;AAAA,EACC,CAAC,CAAC,SAAS,oBAAC,OAAI,WAAW,QAAQ,KAAM,UAAM,MAAA,CAAA;AAAA,EACjD,CAAA;"}
@@ -1,15 +1,24 @@
1
1
  "use strict";
2
2
  Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
- const headerSortButton = "_headerSortButton_b5tlh_1";
4
- const centeredCell = "_centeredCell_b5tlh_15";
5
- const rightAlignedCell = "_rightAlignedCell_b5tlh_19";
6
- const styles = {
7
- headerSortButton,
8
- centeredCell,
9
- rightAlignedCell
3
+ const badge = "_badge_1pc1v_1";
4
+ const tag = "_tag_1pc1v_15";
5
+ const withNavLinkStyle = "_withNavLinkStyle_1pc1v_42 _withLinkStyle_1pc1v_21";
6
+ const disabled = "_disabled_1pc1v_57";
7
+ const projectNavigationItem = "_projectNavigationItem_1pc1v_61";
8
+ const projectNavigationItemDisabled = "_projectNavigationItemDisabled_1pc1v_67";
9
+ const classes = {
10
+ badge,
11
+ tag,
12
+ withNavLinkStyle,
13
+ disabled,
14
+ projectNavigationItem,
15
+ projectNavigationItemDisabled
10
16
  };
11
- exports.centeredCell = centeredCell;
12
- exports.default = styles;
13
- exports.headerSortButton = headerSortButton;
14
- exports.rightAlignedCell = rightAlignedCell;
17
+ exports.badge = badge;
18
+ exports.default = classes;
19
+ exports.disabled = disabled;
20
+ exports.projectNavigationItem = projectNavigationItem;
21
+ exports.projectNavigationItemDisabled = projectNavigationItemDisabled;
22
+ exports.tag = tag;
23
+ exports.withNavLinkStyle = withNavLinkStyle;
15
24
  //# sourceMappingURL=harmony112.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony112.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"harmony112.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,15 +1,24 @@
1
- const headerSortButton = "_headerSortButton_b5tlh_1";
2
- const centeredCell = "_centeredCell_b5tlh_15";
3
- const rightAlignedCell = "_rightAlignedCell_b5tlh_19";
4
- const styles = {
5
- headerSortButton,
6
- centeredCell,
7
- rightAlignedCell
1
+ const badge = "_badge_1pc1v_1";
2
+ const tag = "_tag_1pc1v_15";
3
+ const withNavLinkStyle = "_withNavLinkStyle_1pc1v_42 _withLinkStyle_1pc1v_21";
4
+ const disabled = "_disabled_1pc1v_57";
5
+ const projectNavigationItem = "_projectNavigationItem_1pc1v_61";
6
+ const projectNavigationItemDisabled = "_projectNavigationItemDisabled_1pc1v_67";
7
+ const classes = {
8
+ badge,
9
+ tag,
10
+ withNavLinkStyle,
11
+ disabled,
12
+ projectNavigationItem,
13
+ projectNavigationItemDisabled
8
14
  };
9
15
  export {
10
- centeredCell,
11
- styles as default,
12
- headerSortButton,
13
- rightAlignedCell
16
+ badge,
17
+ classes as default,
18
+ disabled,
19
+ projectNavigationItem,
20
+ projectNavigationItemDisabled,
21
+ tag,
22
+ withNavLinkStyle
14
23
  };
15
24
  //# sourceMappingURL=harmony112.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony112.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;"}
1
+ {"version":3,"file":"harmony112.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;"}
@@ -1,102 +1,17 @@
1
1
  "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
4
+ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
2
5
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const React = require("react");
4
- const debounce = require("./harmony120.cjs");
5
- const throttle = require("./harmony121.cjs");
6
- function _interopNamespaceDefault(e) {
7
- const n = Object.create(null, { [Symbol.toStringTag]: { value: "Module" } });
8
- if (e) {
9
- for (const k in e) {
10
- if (k !== "default") {
11
- const d = Object.getOwnPropertyDescriptor(e, k);
12
- Object.defineProperty(n, k, d.get ? d : {
13
- enumerable: true,
14
- get: () => e[k]
15
- });
16
- }
17
- }
18
- }
19
- n.default = e;
20
- return Object.freeze(n);
21
- }
22
- const React__namespace = /* @__PURE__ */ _interopNamespaceDefault(React);
23
- const patchResizeCallback = (resizeCallback, refreshMode, refreshRate, refreshOptions) => {
24
- switch (refreshMode) {
25
- case "debounce":
26
- return debounce.default(resizeCallback, refreshRate, refreshOptions);
27
- case "throttle":
28
- return throttle.default(resizeCallback, refreshRate, refreshOptions);
29
- default:
30
- return resizeCallback;
31
- }
32
- };
33
- const useCallbackRef = (
34
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
35
- (callback) => {
36
- const callbackRef = React__namespace.useRef(callback);
37
- React__namespace.useEffect(() => {
38
- callbackRef.current = callback;
6
+ const jwtTokenPayload = require("./harmony17.cjs");
7
+ const _NewJwtIssuedEvent = class _NewJwtIssuedEvent extends CustomEvent {
8
+ constructor(token) {
9
+ super(_NewJwtIssuedEvent.eventName, {
10
+ detail: { token, payload: jwtTokenPayload.parseJwtTokenPayload(token.accessToken) }
39
11
  });
40
- return React__namespace.useMemo(() => (...args) => {
41
- var _a;
42
- return (_a = callbackRef.current) === null || _a === void 0 ? void 0 : _a.call(callbackRef, ...args);
43
- }, []);
44
- }
45
- );
46
- const useRefProxy = (
47
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
48
- (targetRef) => {
49
- const [refElement, setRefElement] = React__namespace.useState((targetRef === null || targetRef === void 0 ? void 0 : targetRef.current) || null);
50
- if (targetRef) {
51
- setTimeout(() => {
52
- if (targetRef.current !== refElement) {
53
- setRefElement(targetRef.current);
54
- }
55
- }, 0);
56
- }
57
- const refProxy = React__namespace.useMemo(() => new Proxy((node) => {
58
- if (node !== refElement) {
59
- setRefElement(node);
60
- }
61
- }, {
62
- get(target, prop) {
63
- if (prop === "current") {
64
- return refElement;
65
- }
66
- return target[prop];
67
- },
68
- set(target, prop, value) {
69
- if (prop === "current") {
70
- setRefElement(value);
71
- } else {
72
- target[prop] = value;
73
- }
74
- return true;
75
- }
76
- }), [refElement]);
77
- return { refProxy, refElement, setRefElement };
78
- }
79
- );
80
- const getDimensions = (entry, box) => {
81
- if (box === "border-box") {
82
- return {
83
- width: entry.borderBoxSize[0].inlineSize,
84
- height: entry.borderBoxSize[0].blockSize
85
- };
86
- }
87
- if (box === "content-box") {
88
- return {
89
- width: entry.contentBoxSize[0].inlineSize,
90
- height: entry.contentBoxSize[0].blockSize
91
- };
92
12
  }
93
- return {
94
- width: entry.contentRect.width,
95
- height: entry.contentRect.height
96
- };
97
13
  };
98
- exports.getDimensions = getDimensions;
99
- exports.patchResizeCallback = patchResizeCallback;
100
- exports.useCallbackRef = useCallbackRef;
101
- exports.useRefProxy = useRefProxy;
14
+ __publicField(_NewJwtIssuedEvent, "eventName", "new-jwt-issued");
15
+ let NewJwtIssuedEvent = _NewJwtIssuedEvent;
16
+ exports.NewJwtIssuedEvent = NewJwtIssuedEvent;
102
17
  //# sourceMappingURL=harmony113.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony113.cjs","sources":["../node_modules/react-resize-detector/build/utils.js"],"sourcesContent":["import * as React from 'react';\nimport debounce from 'lodash/debounce.js';\nimport throttle from 'lodash/throttle.js';\n\n/**\n * Wraps the resize callback with a lodash debounce / throttle based on the refresh mode\n */\nconst patchResizeCallback = (resizeCallback, refreshMode, refreshRate, refreshOptions) => {\n switch (refreshMode) {\n case 'debounce':\n return debounce(resizeCallback, refreshRate, refreshOptions);\n case 'throttle':\n return throttle(resizeCallback, refreshRate, refreshOptions);\n default:\n return resizeCallback;\n }\n};\n/**\n * A custom hook that converts a callback to a ref to avoid triggering re-renders when passed as a\n * prop or avoid re-executing effects when passed as a dependency\n */\nconst useCallbackRef = \n// eslint-disable-next-line @typescript-eslint/no-explicit-any\n(callback) => {\n const callbackRef = React.useRef(callback);\n React.useEffect(() => {\n callbackRef.current = callback;\n });\n return React.useMemo(() => ((...args) => { var _a; return (_a = callbackRef.current) === null || _a === void 0 ? void 0 : _a.call(callbackRef, ...args); }), []);\n};\n/** `useRef` hook doesn't handle conditional rendering or dynamic ref changes.\n * This hook creates a proxy that ensures that `refElement` is updated whenever the ref is changed. */\nconst useRefProxy = \n// eslint-disable-next-line @typescript-eslint/no-explicit-any\n(targetRef) => {\n // we are going to use this ref to store the last element that was passed to the hook\n const [refElement, setRefElement] = React.useState((targetRef === null || targetRef === void 0 ? void 0 : targetRef.current) || null);\n // if targetRef is passed, we need to update the refElement\n // we have to use setTimeout because ref get assigned after the hook is called\n // in the future releases we are going to remove targetRef and force users to use ref returned by the hook\n if (targetRef) {\n setTimeout(() => {\n if (targetRef.current !== refElement) {\n setRefElement(targetRef.current);\n }\n }, 0);\n }\n // this is a memo that will be called every time the ref is changed\n // This proxy will properly call setState either when the ref is called as a function or when `.current` is set\n // we call setState inside to trigger rerender\n const refProxy = React.useMemo(() => new Proxy((node) => {\n if (node !== refElement) {\n setRefElement(node);\n }\n }, {\n get(target, prop) {\n if (prop === 'current') {\n return refElement;\n }\n return target[prop];\n },\n set(target, prop, value) {\n if (prop === 'current') {\n setRefElement(value);\n }\n else {\n target[prop] = value;\n }\n return true;\n },\n }), [refElement]);\n return { refProxy, refElement, setRefElement };\n};\n/** Calculates the dimensions of the element based on the current box model.\n * @see https://developer.mozilla.org/en-US/docs/Learn/CSS/Building_blocks/The_box_model\n */\nconst getDimensions = (entry, box) => {\n // Value\t Border\t Padding\t Inner Content\n // ---------------------------------------------------\n // 'border-box'\t Yes\t Yes\t Yes\n // 'content-box'\t No\t No\t Yes\n // undefined No\t No?\t Yes\n if (box === 'border-box') {\n return {\n width: entry.borderBoxSize[0].inlineSize,\n height: entry.borderBoxSize[0].blockSize,\n };\n }\n if (box === 'content-box') {\n return {\n width: entry.contentBoxSize[0].inlineSize,\n height: entry.contentBoxSize[0].blockSize,\n };\n }\n return {\n width: entry.contentRect.width,\n height: entry.contentRect.height,\n };\n};\n\nexport { getDimensions, patchResizeCallback, useCallbackRef, useRefProxy };\n//# sourceMappingURL=utils.js.map\n"],"names":["debounce","throttle","React"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAOK,MAAC,sBAAsB,CAAC,gBAAgB,aAAa,aAAa,mBAAmB;AACtF,UAAQ,aAAW;AAAA,IACf,KAAK;AACD,aAAOA,iBAAS,gBAAgB,aAAa,cAAc;AAAA,IAC/D,KAAK;AACD,aAAOC,iBAAS,gBAAgB,aAAa,cAAc;AAAA,IAC/D;AACI,aAAO;AAAA,EACnB;AACA;AAKK,MAAC;AAAA;AAAA,EAEN,CAAC,aAAa;AACV,UAAM,cAAcC,iBAAM,OAAO,QAAQ;AACzCA,qBAAM,UAAU,MAAM;AAClB,kBAAY,UAAU;AAAA,IAC9B,CAAK;AACD,WAAOA,iBAAM,QAAQ,MAAO,IAAI,SAAS;AAAE,UAAI;AAAI,cAAQ,KAAK,YAAY,aAAa,QAAQ,OAAO,SAAS,SAAS,GAAG,KAAK,aAAa,GAAG,IAAI;AAAA,IAAI,GAAG,CAAA,CAAE;AAAA,EACnK;AAAA;AAGK,MAAC;AAAA;AAAA,EAEN,CAAC,cAAc;AAEX,UAAM,CAAC,YAAY,aAAa,IAAIA,iBAAM,UAAU,cAAc,QAAQ,cAAc,SAAS,SAAS,UAAU,YAAY,IAAI;AAIpI,QAAI,WAAW;AACX,iBAAW,MAAM;AACb,YAAI,UAAU,YAAY,YAAY;AAClC,wBAAc,UAAU,OAAO;AAAA,QAC/C;AAAA,MACS,GAAE,CAAC;AAAA,IACZ;AAII,UAAM,WAAWA,iBAAM,QAAQ,MAAM,IAAI,MAAM,CAAC,SAAS;AACrD,UAAI,SAAS,YAAY;AACrB,sBAAc,IAAI;AAAA,MAC9B;AAAA,IACA,GAAO;AAAA,MACC,IAAI,QAAQ,MAAM;AACd,YAAI,SAAS,WAAW;AACpB,iBAAO;AAAA,QACvB;AACY,eAAO,OAAO,IAAI;AAAA,MACrB;AAAA,MACD,IAAI,QAAQ,MAAM,OAAO;AACrB,YAAI,SAAS,WAAW;AACpB,wBAAc,KAAK;AAAA,QACnC,OACiB;AACD,iBAAO,IAAI,IAAI;AAAA,QAC/B;AACY,eAAO;AAAA,MACV;AAAA,IACT,CAAK,GAAG,CAAC,UAAU,CAAC;AAChB,WAAO,EAAE,UAAU,YAAY,cAAe;AAAA,EAClD;AAAA;AAIK,MAAC,gBAAgB,CAAC,OAAO,QAAQ;AAMlC,MAAI,QAAQ,cAAc;AACtB,WAAO;AAAA,MACH,OAAO,MAAM,cAAc,CAAC,EAAE;AAAA,MAC9B,QAAQ,MAAM,cAAc,CAAC,EAAE;AAAA,IAClC;AAAA,EACT;AACI,MAAI,QAAQ,eAAe;AACvB,WAAO;AAAA,MACH,OAAO,MAAM,eAAe,CAAC,EAAE;AAAA,MAC/B,QAAQ,MAAM,eAAe,CAAC,EAAE;AAAA,IACnC;AAAA,EACT;AACI,SAAO;AAAA,IACH,OAAO,MAAM,YAAY;AAAA,IACzB,QAAQ,MAAM,YAAY;AAAA,EAC7B;AACL;;;;;","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"harmony113.cjs","sources":["../src/features/auth/frontend/events/NewJwtIssuedEvent.ts"],"sourcesContent":["import type { JwtTokenPayload } from '@features/auth/core/types/jwtTokenPayload'\nimport { parseJwtTokenPayload } from '@features/auth/core/utils/jwtTokenPayload'\nimport type { JwtToken } from '@features/publicApi/types/userTokenTypes'\n\ntype NewJwtIssuedEventDetail = {\n\ttoken: JwtToken\n\tpayload: JwtTokenPayload | undefined\n}\n\n/**\n * This event is emitted when a new JWT token is issued or refreshed.\n */\nexport class NewJwtIssuedEvent extends CustomEvent<NewJwtIssuedEventDetail> {\n\tstatic readonly eventName = 'new-jwt-issued' as const\n\n\tconstructor(token: JwtToken) {\n\t\tsuper(NewJwtIssuedEvent.eventName, {\n\t\t\tdetail: { token, payload: parseJwtTokenPayload(token.accessToken) },\n\t\t})\n\t}\n}\n\nexport const isNewJwtIssuedEvent = (event: Event): event is NewJwtIssuedEvent =>\n\tevent.type === NewJwtIssuedEvent.eventName\n\ndeclare global {\n\tinterface WindowEventMap {\n\t\t[NewJwtIssuedEvent.eventName]: NewJwtIssuedEvent\n\t}\n}\n"],"names":["parseJwtTokenPayload"],"mappings":";;;;;;AAYO,MAAM,qBAAN,MAAM,2BAA0B,YAAqC;AAAA,EAG3E,YAAY,OAAiB;AAC5B,UAAM,mBAAkB,WAAW;AAAA,MAClC,QAAQ,EAAE,OAAO,SAASA,gBAAAA,qBAAqB,MAAM,WAAW,EAAE;AAAA,IAAA,CAClE;AAAA,EAAA;AAEH;AAPC,cADY,oBACI,aAAY;AADtB,IAAM,oBAAN;;"}
@@ -1,85 +1,17 @@
1
- import * as React from "react";
2
- import debounce from "./harmony120.mjs";
3
- import throttle from "./harmony121.mjs";
4
- const patchResizeCallback = (resizeCallback, refreshMode, refreshRate, refreshOptions) => {
5
- switch (refreshMode) {
6
- case "debounce":
7
- return debounce(resizeCallback, refreshRate, refreshOptions);
8
- case "throttle":
9
- return throttle(resizeCallback, refreshRate, refreshOptions);
10
- default:
11
- return resizeCallback;
12
- }
13
- };
14
- const useCallbackRef = (
15
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
16
- (callback) => {
17
- const callbackRef = React.useRef(callback);
18
- React.useEffect(() => {
19
- callbackRef.current = callback;
1
+ var __defProp = Object.defineProperty;
2
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
3
+ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
4
+ import { parseJwtTokenPayload } from "./harmony17.mjs";
5
+ const _NewJwtIssuedEvent = class _NewJwtIssuedEvent extends CustomEvent {
6
+ constructor(token) {
7
+ super(_NewJwtIssuedEvent.eventName, {
8
+ detail: { token, payload: parseJwtTokenPayload(token.accessToken) }
20
9
  });
21
- return React.useMemo(() => (...args) => {
22
- var _a;
23
- return (_a = callbackRef.current) === null || _a === void 0 ? void 0 : _a.call(callbackRef, ...args);
24
- }, []);
25
- }
26
- );
27
- const useRefProxy = (
28
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
29
- (targetRef) => {
30
- const [refElement, setRefElement] = React.useState((targetRef === null || targetRef === void 0 ? void 0 : targetRef.current) || null);
31
- if (targetRef) {
32
- setTimeout(() => {
33
- if (targetRef.current !== refElement) {
34
- setRefElement(targetRef.current);
35
- }
36
- }, 0);
37
- }
38
- const refProxy = React.useMemo(() => new Proxy((node) => {
39
- if (node !== refElement) {
40
- setRefElement(node);
41
- }
42
- }, {
43
- get(target, prop) {
44
- if (prop === "current") {
45
- return refElement;
46
- }
47
- return target[prop];
48
- },
49
- set(target, prop, value) {
50
- if (prop === "current") {
51
- setRefElement(value);
52
- } else {
53
- target[prop] = value;
54
- }
55
- return true;
56
- }
57
- }), [refElement]);
58
- return { refProxy, refElement, setRefElement };
59
- }
60
- );
61
- const getDimensions = (entry, box) => {
62
- if (box === "border-box") {
63
- return {
64
- width: entry.borderBoxSize[0].inlineSize,
65
- height: entry.borderBoxSize[0].blockSize
66
- };
67
- }
68
- if (box === "content-box") {
69
- return {
70
- width: entry.contentBoxSize[0].inlineSize,
71
- height: entry.contentBoxSize[0].blockSize
72
- };
73
10
  }
74
- return {
75
- width: entry.contentRect.width,
76
- height: entry.contentRect.height
77
- };
78
11
  };
12
+ __publicField(_NewJwtIssuedEvent, "eventName", "new-jwt-issued");
13
+ let NewJwtIssuedEvent = _NewJwtIssuedEvent;
79
14
  export {
80
- getDimensions,
81
- patchResizeCallback,
82
- useCallbackRef,
83
- useRefProxy
15
+ NewJwtIssuedEvent
84
16
  };
85
17
  //# sourceMappingURL=harmony113.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony113.mjs","sources":["../node_modules/react-resize-detector/build/utils.js"],"sourcesContent":["import * as React from 'react';\nimport debounce from 'lodash/debounce.js';\nimport throttle from 'lodash/throttle.js';\n\n/**\n * Wraps the resize callback with a lodash debounce / throttle based on the refresh mode\n */\nconst patchResizeCallback = (resizeCallback, refreshMode, refreshRate, refreshOptions) => {\n switch (refreshMode) {\n case 'debounce':\n return debounce(resizeCallback, refreshRate, refreshOptions);\n case 'throttle':\n return throttle(resizeCallback, refreshRate, refreshOptions);\n default:\n return resizeCallback;\n }\n};\n/**\n * A custom hook that converts a callback to a ref to avoid triggering re-renders when passed as a\n * prop or avoid re-executing effects when passed as a dependency\n */\nconst useCallbackRef = \n// eslint-disable-next-line @typescript-eslint/no-explicit-any\n(callback) => {\n const callbackRef = React.useRef(callback);\n React.useEffect(() => {\n callbackRef.current = callback;\n });\n return React.useMemo(() => ((...args) => { var _a; return (_a = callbackRef.current) === null || _a === void 0 ? void 0 : _a.call(callbackRef, ...args); }), []);\n};\n/** `useRef` hook doesn't handle conditional rendering or dynamic ref changes.\n * This hook creates a proxy that ensures that `refElement` is updated whenever the ref is changed. */\nconst useRefProxy = \n// eslint-disable-next-line @typescript-eslint/no-explicit-any\n(targetRef) => {\n // we are going to use this ref to store the last element that was passed to the hook\n const [refElement, setRefElement] = React.useState((targetRef === null || targetRef === void 0 ? void 0 : targetRef.current) || null);\n // if targetRef is passed, we need to update the refElement\n // we have to use setTimeout because ref get assigned after the hook is called\n // in the future releases we are going to remove targetRef and force users to use ref returned by the hook\n if (targetRef) {\n setTimeout(() => {\n if (targetRef.current !== refElement) {\n setRefElement(targetRef.current);\n }\n }, 0);\n }\n // this is a memo that will be called every time the ref is changed\n // This proxy will properly call setState either when the ref is called as a function or when `.current` is set\n // we call setState inside to trigger rerender\n const refProxy = React.useMemo(() => new Proxy((node) => {\n if (node !== refElement) {\n setRefElement(node);\n }\n }, {\n get(target, prop) {\n if (prop === 'current') {\n return refElement;\n }\n return target[prop];\n },\n set(target, prop, value) {\n if (prop === 'current') {\n setRefElement(value);\n }\n else {\n target[prop] = value;\n }\n return true;\n },\n }), [refElement]);\n return { refProxy, refElement, setRefElement };\n};\n/** Calculates the dimensions of the element based on the current box model.\n * @see https://developer.mozilla.org/en-US/docs/Learn/CSS/Building_blocks/The_box_model\n */\nconst getDimensions = (entry, box) => {\n // Value\t Border\t Padding\t Inner Content\n // ---------------------------------------------------\n // 'border-box'\t Yes\t Yes\t Yes\n // 'content-box'\t No\t No\t Yes\n // undefined No\t No?\t Yes\n if (box === 'border-box') {\n return {\n width: entry.borderBoxSize[0].inlineSize,\n height: entry.borderBoxSize[0].blockSize,\n };\n }\n if (box === 'content-box') {\n return {\n width: entry.contentBoxSize[0].inlineSize,\n height: entry.contentBoxSize[0].blockSize,\n };\n }\n return {\n width: entry.contentRect.width,\n height: entry.contentRect.height,\n };\n};\n\nexport { getDimensions, patchResizeCallback, useCallbackRef, useRefProxy };\n//# sourceMappingURL=utils.js.map\n"],"names":[],"mappings":";;;AAOK,MAAC,sBAAsB,CAAC,gBAAgB,aAAa,aAAa,mBAAmB;AACtF,UAAQ,aAAW;AAAA,IACf,KAAK;AACD,aAAO,SAAS,gBAAgB,aAAa,cAAc;AAAA,IAC/D,KAAK;AACD,aAAO,SAAS,gBAAgB,aAAa,cAAc;AAAA,IAC/D;AACI,aAAO;AAAA,EACnB;AACA;AAKK,MAAC;AAAA;AAAA,EAEN,CAAC,aAAa;AACV,UAAM,cAAc,MAAM,OAAO,QAAQ;AACzC,UAAM,UAAU,MAAM;AAClB,kBAAY,UAAU;AAAA,IAC9B,CAAK;AACD,WAAO,MAAM,QAAQ,MAAO,IAAI,SAAS;AAAE,UAAI;AAAI,cAAQ,KAAK,YAAY,aAAa,QAAQ,OAAO,SAAS,SAAS,GAAG,KAAK,aAAa,GAAG,IAAI;AAAA,IAAI,GAAG,CAAA,CAAE;AAAA,EACnK;AAAA;AAGK,MAAC;AAAA;AAAA,EAEN,CAAC,cAAc;AAEX,UAAM,CAAC,YAAY,aAAa,IAAI,MAAM,UAAU,cAAc,QAAQ,cAAc,SAAS,SAAS,UAAU,YAAY,IAAI;AAIpI,QAAI,WAAW;AACX,iBAAW,MAAM;AACb,YAAI,UAAU,YAAY,YAAY;AAClC,wBAAc,UAAU,OAAO;AAAA,QAC/C;AAAA,MACS,GAAE,CAAC;AAAA,IACZ;AAII,UAAM,WAAW,MAAM,QAAQ,MAAM,IAAI,MAAM,CAAC,SAAS;AACrD,UAAI,SAAS,YAAY;AACrB,sBAAc,IAAI;AAAA,MAC9B;AAAA,IACA,GAAO;AAAA,MACC,IAAI,QAAQ,MAAM;AACd,YAAI,SAAS,WAAW;AACpB,iBAAO;AAAA,QACvB;AACY,eAAO,OAAO,IAAI;AAAA,MACrB;AAAA,MACD,IAAI,QAAQ,MAAM,OAAO;AACrB,YAAI,SAAS,WAAW;AACpB,wBAAc,KAAK;AAAA,QACnC,OACiB;AACD,iBAAO,IAAI,IAAI;AAAA,QAC/B;AACY,eAAO;AAAA,MACV;AAAA,IACT,CAAK,GAAG,CAAC,UAAU,CAAC;AAChB,WAAO,EAAE,UAAU,YAAY,cAAe;AAAA,EAClD;AAAA;AAIK,MAAC,gBAAgB,CAAC,OAAO,QAAQ;AAMlC,MAAI,QAAQ,cAAc;AACtB,WAAO;AAAA,MACH,OAAO,MAAM,cAAc,CAAC,EAAE;AAAA,MAC9B,QAAQ,MAAM,cAAc,CAAC,EAAE;AAAA,IAClC;AAAA,EACT;AACI,MAAI,QAAQ,eAAe;AACvB,WAAO;AAAA,MACH,OAAO,MAAM,eAAe,CAAC,EAAE;AAAA,MAC/B,QAAQ,MAAM,eAAe,CAAC,EAAE;AAAA,IACnC;AAAA,EACT;AACI,SAAO;AAAA,IACH,OAAO,MAAM,YAAY;AAAA,IACzB,QAAQ,MAAM,YAAY;AAAA,EAC7B;AACL;","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"harmony113.mjs","sources":["../src/features/auth/frontend/events/NewJwtIssuedEvent.ts"],"sourcesContent":["import type { JwtTokenPayload } from '@features/auth/core/types/jwtTokenPayload'\nimport { parseJwtTokenPayload } from '@features/auth/core/utils/jwtTokenPayload'\nimport type { JwtToken } from '@features/publicApi/types/userTokenTypes'\n\ntype NewJwtIssuedEventDetail = {\n\ttoken: JwtToken\n\tpayload: JwtTokenPayload | undefined\n}\n\n/**\n * This event is emitted when a new JWT token is issued or refreshed.\n */\nexport class NewJwtIssuedEvent extends CustomEvent<NewJwtIssuedEventDetail> {\n\tstatic readonly eventName = 'new-jwt-issued' as const\n\n\tconstructor(token: JwtToken) {\n\t\tsuper(NewJwtIssuedEvent.eventName, {\n\t\t\tdetail: { token, payload: parseJwtTokenPayload(token.accessToken) },\n\t\t})\n\t}\n}\n\nexport const isNewJwtIssuedEvent = (event: Event): event is NewJwtIssuedEvent =>\n\tevent.type === NewJwtIssuedEvent.eventName\n\ndeclare global {\n\tinterface WindowEventMap {\n\t\t[NewJwtIssuedEvent.eventName]: NewJwtIssuedEvent\n\t}\n}\n"],"names":[],"mappings":";;;;AAYO,MAAM,qBAAN,MAAM,2BAA0B,YAAqC;AAAA,EAG3E,YAAY,OAAiB;AAC5B,UAAM,mBAAkB,WAAW;AAAA,MAClC,QAAQ,EAAE,OAAO,SAAS,qBAAqB,MAAM,WAAW,EAAE;AAAA,IAAA,CAClE;AAAA,EAAA;AAEH;AAPC,cADY,oBACI,aAAY;AADtB,IAAM,oBAAN;"}
@@ -1,17 +1,21 @@
1
1
  "use strict";
2
- var __defProp = Object.defineProperty;
3
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
4
- var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
5
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
6
- const jwtTokenPayload = require("./harmony17.cjs");
7
- const _NewJwtIssuedEvent = class _NewJwtIssuedEvent extends CustomEvent {
8
- constructor(token) {
9
- super(_NewJwtIssuedEvent.eventName, {
10
- detail: { token, payload: jwtTokenPayload.parseJwtTokenPayload(token.accessToken) }
11
- });
12
- }
13
- };
14
- __publicField(_NewJwtIssuedEvent, "eventName", "new-jwt-issued");
15
- let NewJwtIssuedEvent = _NewJwtIssuedEvent;
16
- exports.NewJwtIssuedEvent = NewJwtIssuedEvent;
3
+ const zod = require("zod");
4
+ const teamRoleTypes = require("./harmony69.cjs");
5
+ const JWT_TOKEN_PAYLOAD_SCHEMA = zod.z.object({
6
+ userId: zod.z.number(),
7
+ userUuid: zod.z.string().uuid(),
8
+ teamId: zod.z.number(),
9
+ teamUuid: zod.z.string().uuid(),
10
+ userTeamRole: teamRoleTypes.TEAM_ROLE_SCHEMA,
11
+ userEmail: zod.z.string().email(),
12
+ userName: zod.z.string(),
13
+ userCurrentTeamId: zod.z.number(),
14
+ planId: zod.z.number(),
15
+ planName: zod.z.string(),
16
+ isProviderAlpha: zod.z.boolean(),
17
+ isFullyAuthenticated: zod.z.boolean(),
18
+ exp: zod.z.number()
19
+ });
20
+ exports.JWT_TOKEN_PAYLOAD_SCHEMA = JWT_TOKEN_PAYLOAD_SCHEMA;
17
21
  //# sourceMappingURL=harmony114.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony114.cjs","sources":["../src/features/auth/frontend/events/NewJwtIssuedEvent.ts"],"sourcesContent":["import type { JwtTokenPayload } from '@features/auth/core/types/jwtTokenPayload'\nimport { parseJwtTokenPayload } from '@features/auth/core/utils/jwtTokenPayload'\nimport type { JwtToken } from '@features/publicApi/types/userTokenTypes'\n\ntype NewJwtIssuedEventDetail = {\n\ttoken: JwtToken\n\tpayload: JwtTokenPayload | undefined\n}\n\n/**\n * This event is emitted when a new JWT token is issued or refreshed.\n */\nexport class NewJwtIssuedEvent extends CustomEvent<NewJwtIssuedEventDetail> {\n\tstatic readonly eventName = 'new-jwt-issued' as const\n\n\tconstructor(token: JwtToken) {\n\t\tsuper(NewJwtIssuedEvent.eventName, {\n\t\t\tdetail: { token, payload: parseJwtTokenPayload(token.accessToken) },\n\t\t})\n\t}\n}\n\nexport const isNewJwtIssuedEvent = (event: Event): event is NewJwtIssuedEvent =>\n\tevent.type === NewJwtIssuedEvent.eventName\n\ndeclare global {\n\tinterface WindowEventMap {\n\t\t[NewJwtIssuedEvent.eventName]: NewJwtIssuedEvent\n\t}\n}\n"],"names":["parseJwtTokenPayload"],"mappings":";;;;;;AAYO,MAAM,qBAAN,MAAM,2BAA0B,YAAqC;AAAA,EAG3E,YAAY,OAAiB;AAC5B,UAAM,mBAAkB,WAAW;AAAA,MAClC,QAAQ,EAAE,OAAO,SAASA,gBAAAA,qBAAqB,MAAM,WAAW,EAAE;AAAA,IAAA,CAClE;AAAA,EAAA;AAEH;AAPC,cADY,oBACI,aAAY;AADtB,IAAM,oBAAN;;"}
1
+ {"version":3,"file":"harmony114.cjs","sources":["../src/features/auth/core/types/jwtTokenPayload.ts"],"sourcesContent":["import { z } from 'zod'\nimport { TEAM_ROLE_SCHEMA } from '../../../publicApi/types/teamRoleTypes'\n\nexport const JWT_TOKEN_PAYLOAD_SCHEMA = z.object({\n\tuserId: z.number(),\n\tuserUuid: z.string().uuid(),\n\tteamId: z.number(),\n\tteamUuid: z.string().uuid(),\n\tuserTeamRole: TEAM_ROLE_SCHEMA,\n\tuserEmail: z.string().email(),\n\tuserName: z.string(),\n\tuserCurrentTeamId: z.number(),\n\tplanId: z.number(),\n\tplanName: z.string(),\n\tisProviderAlpha: z.boolean(),\n\tisFullyAuthenticated: z.boolean(),\n\texp: z.number(),\n})\nexport type JwtTokenPayload = z.infer<typeof JWT_TOKEN_PAYLOAD_SCHEMA>\n"],"names":["z","TEAM_ROLE_SCHEMA"],"mappings":";;;;AAGa,MAAA,2BAA2BA,MAAE,OAAO;AAAA,EAChD,QAAQA,MAAE,OAAO;AAAA,EACjB,UAAUA,IAAA,EAAE,OAAO,EAAE,KAAK;AAAA,EAC1B,QAAQA,MAAE,OAAO;AAAA,EACjB,UAAUA,IAAA,EAAE,OAAO,EAAE,KAAK;AAAA,EAC1B,cAAcC,cAAA;AAAA,EACd,WAAWD,IAAA,EAAE,OAAO,EAAE,MAAM;AAAA,EAC5B,UAAUA,MAAE,OAAO;AAAA,EACnB,mBAAmBA,MAAE,OAAO;AAAA,EAC5B,QAAQA,MAAE,OAAO;AAAA,EACjB,UAAUA,MAAE,OAAO;AAAA,EACnB,iBAAiBA,MAAE,QAAQ;AAAA,EAC3B,sBAAsBA,MAAE,QAAQ;AAAA,EAChC,KAAKA,MAAE,OAAO;AACf,CAAC;;"}
@@ -1,17 +1,21 @@
1
- var __defProp = Object.defineProperty;
2
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
3
- var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
4
- import { parseJwtTokenPayload } from "./harmony17.mjs";
5
- const _NewJwtIssuedEvent = class _NewJwtIssuedEvent extends CustomEvent {
6
- constructor(token) {
7
- super(_NewJwtIssuedEvent.eventName, {
8
- detail: { token, payload: parseJwtTokenPayload(token.accessToken) }
9
- });
10
- }
11
- };
12
- __publicField(_NewJwtIssuedEvent, "eventName", "new-jwt-issued");
13
- let NewJwtIssuedEvent = _NewJwtIssuedEvent;
1
+ import { z } from "zod";
2
+ import { TEAM_ROLE_SCHEMA } from "./harmony69.mjs";
3
+ const JWT_TOKEN_PAYLOAD_SCHEMA = z.object({
4
+ userId: z.number(),
5
+ userUuid: z.string().uuid(),
6
+ teamId: z.number(),
7
+ teamUuid: z.string().uuid(),
8
+ userTeamRole: TEAM_ROLE_SCHEMA,
9
+ userEmail: z.string().email(),
10
+ userName: z.string(),
11
+ userCurrentTeamId: z.number(),
12
+ planId: z.number(),
13
+ planName: z.string(),
14
+ isProviderAlpha: z.boolean(),
15
+ isFullyAuthenticated: z.boolean(),
16
+ exp: z.number()
17
+ });
14
18
  export {
15
- NewJwtIssuedEvent
19
+ JWT_TOKEN_PAYLOAD_SCHEMA
16
20
  };
17
21
  //# sourceMappingURL=harmony114.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony114.mjs","sources":["../src/features/auth/frontend/events/NewJwtIssuedEvent.ts"],"sourcesContent":["import type { JwtTokenPayload } from '@features/auth/core/types/jwtTokenPayload'\nimport { parseJwtTokenPayload } from '@features/auth/core/utils/jwtTokenPayload'\nimport type { JwtToken } from '@features/publicApi/types/userTokenTypes'\n\ntype NewJwtIssuedEventDetail = {\n\ttoken: JwtToken\n\tpayload: JwtTokenPayload | undefined\n}\n\n/**\n * This event is emitted when a new JWT token is issued or refreshed.\n */\nexport class NewJwtIssuedEvent extends CustomEvent<NewJwtIssuedEventDetail> {\n\tstatic readonly eventName = 'new-jwt-issued' as const\n\n\tconstructor(token: JwtToken) {\n\t\tsuper(NewJwtIssuedEvent.eventName, {\n\t\t\tdetail: { token, payload: parseJwtTokenPayload(token.accessToken) },\n\t\t})\n\t}\n}\n\nexport const isNewJwtIssuedEvent = (event: Event): event is NewJwtIssuedEvent =>\n\tevent.type === NewJwtIssuedEvent.eventName\n\ndeclare global {\n\tinterface WindowEventMap {\n\t\t[NewJwtIssuedEvent.eventName]: NewJwtIssuedEvent\n\t}\n}\n"],"names":[],"mappings":";;;;AAYO,MAAM,qBAAN,MAAM,2BAA0B,YAAqC;AAAA,EAG3E,YAAY,OAAiB;AAC5B,UAAM,mBAAkB,WAAW;AAAA,MAClC,QAAQ,EAAE,OAAO,SAAS,qBAAqB,MAAM,WAAW,EAAE;AAAA,IAAA,CAClE;AAAA,EAAA;AAEH;AAPC,cADY,oBACI,aAAY;AADtB,IAAM,oBAAN;"}
1
+ {"version":3,"file":"harmony114.mjs","sources":["../src/features/auth/core/types/jwtTokenPayload.ts"],"sourcesContent":["import { z } from 'zod'\nimport { TEAM_ROLE_SCHEMA } from '../../../publicApi/types/teamRoleTypes'\n\nexport const JWT_TOKEN_PAYLOAD_SCHEMA = z.object({\n\tuserId: z.number(),\n\tuserUuid: z.string().uuid(),\n\tteamId: z.number(),\n\tteamUuid: z.string().uuid(),\n\tuserTeamRole: TEAM_ROLE_SCHEMA,\n\tuserEmail: z.string().email(),\n\tuserName: z.string(),\n\tuserCurrentTeamId: z.number(),\n\tplanId: z.number(),\n\tplanName: z.string(),\n\tisProviderAlpha: z.boolean(),\n\tisFullyAuthenticated: z.boolean(),\n\texp: z.number(),\n})\nexport type JwtTokenPayload = z.infer<typeof JWT_TOKEN_PAYLOAD_SCHEMA>\n"],"names":[],"mappings":";;AAGa,MAAA,2BAA2B,EAAE,OAAO;AAAA,EAChD,QAAQ,EAAE,OAAO;AAAA,EACjB,UAAU,EAAE,OAAO,EAAE,KAAK;AAAA,EAC1B,QAAQ,EAAE,OAAO;AAAA,EACjB,UAAU,EAAE,OAAO,EAAE,KAAK;AAAA,EAC1B,cAAc;AAAA,EACd,WAAW,EAAE,OAAO,EAAE,MAAM;AAAA,EAC5B,UAAU,EAAE,OAAO;AAAA,EACnB,mBAAmB,EAAE,OAAO;AAAA,EAC5B,QAAQ,EAAE,OAAO;AAAA,EACjB,UAAU,EAAE,OAAO;AAAA,EACnB,iBAAiB,EAAE,QAAQ;AAAA,EAC3B,sBAAsB,EAAE,QAAQ;AAAA,EAChC,KAAK,EAAE,OAAO;AACf,CAAC;"}