@flamingo-stack/openframe-frontend-core 0.0.729 → 0.0.731

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 (204) hide show
  1. package/dist/aicpa-soc2-logo-icon-MLDYZA5S.cjs +7 -0
  2. package/dist/build/export-map.json +1 -1
  3. package/dist/{chunk-XA436AER.cjs → chunk-25H2SZH7.cjs} +4 -4
  4. package/dist/{chunk-5RMCAY6Y.cjs → chunk-27TMRMOM.cjs} +6 -4
  5. package/dist/{chunk-SKDQ2SLJ.cjs → chunk-2UNQJVYN.cjs} +670 -667
  6. package/dist/{chunk-73MDSN5A.cjs → chunk-2WXLQ5R5.cjs} +2 -2
  7. package/dist/{chunk-YPM3ALIW.cjs → chunk-32ENYVFA.cjs} +42 -42
  8. package/dist/{chunk-CLA3UGKT.cjs → chunk-3SWLL4IM.cjs} +12 -12
  9. package/dist/{chunk-FGA6T2XT.cjs → chunk-4YPV4OI4.cjs} +73 -73
  10. package/dist/{chunk-2T2TH5DF.cjs → chunk-52HFGZCI.cjs} +14 -12
  11. package/dist/{chunk-PGFR4CDB.cjs → chunk-53XZ6MJ5.cjs} +40 -40
  12. package/dist/{chunk-4XQXTQUK.cjs → chunk-6N5NQRQA.cjs} +8 -6
  13. package/dist/{chunk-XSPL7RXL.cjs → chunk-6V4GEE55.cjs} +10 -10
  14. package/dist/{chunk-5KLNEFZZ.cjs → chunk-7DUXR4HL.cjs} +3 -3
  15. package/dist/{chunk-AIW4KZQT.cjs → chunk-A4HNF4MP.cjs} +89 -89
  16. package/dist/{chunk-2I3XU2IB.cjs → chunk-BFHLGEJK.cjs} +45 -45
  17. package/dist/{chunk-FRET5WH3.cjs → chunk-CKR42OBK.cjs} +4 -2
  18. package/dist/{chunk-A7T3P5Q5.cjs → chunk-CLILWI6O.cjs} +32 -32
  19. package/dist/{chunk-GJPAS4RJ.cjs → chunk-CT342EJU.cjs} +6 -4
  20. package/dist/{chunk-YHFXQ5OR.cjs → chunk-E3N24573.cjs} +9 -9
  21. package/dist/{chunk-24KWUFWA.cjs → chunk-FKKUQK4C.cjs} +38 -38
  22. package/dist/{chunk-UG7Q3HQH.cjs → chunk-GID62YEN.cjs} +3 -3
  23. package/dist/{chunk-NDHQ7JLZ.cjs → chunk-GKHWXI25.cjs} +11 -15
  24. package/dist/{chunk-KMMV562E.cjs → chunk-HEOD765R.cjs} +18 -18
  25. package/dist/{chunk-66QTEDJL.cjs → chunk-HI7EFAFQ.cjs} +26 -26
  26. package/dist/{chunk-CD5YBUJK.cjs → chunk-HLIJ3U2T.cjs} +20 -20
  27. package/dist/{chunk-4NFVFTD6.cjs → chunk-HY2KTQSL.cjs} +238 -238
  28. package/dist/{chunk-YJXUJWHN.cjs → chunk-J7SZOZOS.cjs} +28 -26
  29. package/dist/{chunk-6NKLR5QN.cjs → chunk-JK75ZZP3.cjs} +59 -59
  30. package/dist/{chunk-JNDR5N3T.cjs → chunk-JPZ4Y6X3.cjs} +93 -93
  31. package/dist/{chunk-NXCV35RR.cjs → chunk-KLXHCNDC.cjs} +3 -3
  32. package/dist/{chunk-6KD2XUQZ.cjs → chunk-LRQITIEC.cjs} +28 -26
  33. package/dist/chunk-MANNIJ42.cjs +967 -0
  34. package/dist/{chunk-TW2SES5W.cjs → chunk-NCGAP3U4.cjs} +4 -2
  35. package/dist/{chunk-DINGZJ37.cjs → chunk-NYY25425.cjs} +2 -2
  36. package/dist/{chunk-HVZBIXCZ.cjs → chunk-O2RPIGSG.cjs} +6 -4
  37. package/dist/{chunk-UYKL2AXE.cjs → chunk-OKW5OAFJ.cjs} +8 -6
  38. package/dist/{chunk-YRZB4BMZ.cjs → chunk-QP6QS3YU.cjs} +44 -44
  39. package/dist/{chunk-VQMWBQUJ.cjs → chunk-R4QMR6S4.cjs} +14 -12
  40. package/dist/{chunk-2V62Y67F.cjs → chunk-RAHRDJBP.cjs} +4 -4
  41. package/dist/{chunk-3YHVQ34L.cjs → chunk-RBOIGJYF.cjs} +89 -91
  42. package/dist/{chunk-NB5BYOTM.cjs → chunk-RC32WBPL.cjs} +6 -4
  43. package/dist/{chunk-TI2IFCZG.cjs → chunk-TH4N726A.cjs} +17 -17
  44. package/dist/{chunk-WTURHKM2.cjs → chunk-XDBHGWFH.cjs} +14 -14
  45. package/dist/{chunk-P4YHBHP4.cjs → chunk-Y4QRK3CB.cjs} +7 -7
  46. package/dist/{chunk-Q5GR7LKV.cjs → chunk-YDGBRI3Y.cjs} +15 -15
  47. package/dist/{chunk-CDLDAQBA.cjs → chunk-YJFN2W7A.cjs} +7 -7
  48. package/dist/{chunk-UHJG2BDI.cjs → chunk-YUXRIR45.cjs} +3 -3
  49. package/dist/{chunk-L7Y7KDTM.cjs → chunk-ZV6473Z4.cjs} +20 -20
  50. package/dist/{chunk-GVTCHXW2.cjs → chunk-ZWUIRQNY.cjs} +28 -26
  51. package/dist/clickup-icon-3SETH2MM.cjs +7 -0
  52. package/dist/clickup-logo-icon-DJKBEFMR.cjs +7 -0
  53. package/dist/{cloud-tenants-VV6UQE7J.cjs → cloud-tenants-SC4FNAC2.cjs} +34 -34
  54. package/dist/components/case-studies/index.cjs +47 -47
  55. package/dist/components/chat/entity-cards/entity-portrait-card.js +1 -1
  56. package/dist/components/chat/index.cjs +30 -28
  57. package/dist/components/chat/types/entities/program-types.d.ts +1 -23
  58. package/dist/components/chat/types/entities/program-types.d.ts.map +1 -1
  59. package/dist/components/chat/types/entities/program-types.js +1 -9
  60. package/dist/components/chat/utils/icon-loading.d.ts +35 -2
  61. package/dist/components/chat/utils/icon-loading.d.ts.map +1 -1
  62. package/dist/components/chat/utils/icon-loading.js +31 -9
  63. package/dist/components/chat/utils/index.d.ts +1 -1
  64. package/dist/components/chat/utils/index.d.ts.map +1 -1
  65. package/dist/components/chat/utils/index.js +2 -1
  66. package/dist/components/contact/index.cjs +35 -35
  67. package/dist/components/docs/index.cjs +38 -38
  68. package/dist/components/embeds/index.cjs +35 -35
  69. package/dist/components/faq/index.cjs +35 -35
  70. package/dist/components/features/index.cjs +36 -34
  71. package/dist/components/features/video-bites-shared.cjs +8 -0
  72. package/dist/components/features/video-bites-shared.d.ts +25 -0
  73. package/dist/components/features/video-bites-shared.d.ts.map +1 -1
  74. package/dist/components/features/video-bites-shared.js +8 -0
  75. package/dist/components/help-center-pages/index.cjs +150 -150
  76. package/dist/components/icons-v2-generated/brand-logos/clickup-icon.d.ts +1 -1
  77. package/dist/components/icons-v2-generated/brand-logos/clickup-icon.d.ts.map +1 -1
  78. package/dist/components/icons-v2-generated/brand-logos/clickup-icon.js +6 -4
  79. package/dist/components/icons-v2-generated/brand-logos/clickup-logo-icon.d.ts +1 -1
  80. package/dist/components/icons-v2-generated/brand-logos/clickup-logo-icon.d.ts.map +1 -1
  81. package/dist/components/icons-v2-generated/brand-logos/clickup-logo-icon.js +6 -4
  82. package/dist/components/icons-v2-generated/brand-logos/elestio-logo-grey-icon.d.ts +1 -1
  83. package/dist/components/icons-v2-generated/brand-logos/elestio-logo-grey-icon.d.ts.map +1 -1
  84. package/dist/components/icons-v2-generated/brand-logos/elestio-logo-grey-icon.js +4 -2
  85. package/dist/components/icons-v2-generated/brand-logos/elestio-logo-icon.d.ts +1 -1
  86. package/dist/components/icons-v2-generated/brand-logos/elestio-logo-icon.d.ts.map +1 -1
  87. package/dist/components/icons-v2-generated/brand-logos/elestio-logo-icon.js +14 -12
  88. package/dist/components/icons-v2-generated/brand-logos/gemini-logo-icon.d.ts +1 -1
  89. package/dist/components/icons-v2-generated/brand-logos/gemini-logo-icon.d.ts.map +1 -1
  90. package/dist/components/icons-v2-generated/brand-logos/gemini-logo-icon.js +28 -26
  91. package/dist/components/icons-v2-generated/brand-logos/google-gemini-icon.d.ts +1 -1
  92. package/dist/components/icons-v2-generated/brand-logos/google-gemini-icon.d.ts.map +1 -1
  93. package/dist/components/icons-v2-generated/brand-logos/google-gemini-icon.js +28 -26
  94. package/dist/components/icons-v2-generated/brand-logos/google-gemini-logo-icon.d.ts +1 -1
  95. package/dist/components/icons-v2-generated/brand-logos/google-gemini-logo-icon.d.ts.map +1 -1
  96. package/dist/components/icons-v2-generated/brand-logos/google-gemini-logo-icon.js +28 -26
  97. package/dist/components/icons-v2-generated/brand-logos/google-sheets-icon.d.ts +1 -1
  98. package/dist/components/icons-v2-generated/brand-logos/google-sheets-icon.d.ts.map +1 -1
  99. package/dist/components/icons-v2-generated/brand-logos/google-sheets-icon.js +4 -2
  100. package/dist/components/icons-v2-generated/brand-logos/meshcentral-logo-grey-icon.d.ts +1 -1
  101. package/dist/components/icons-v2-generated/brand-logos/meshcentral-logo-grey-icon.d.ts.map +1 -1
  102. package/dist/components/icons-v2-generated/brand-logos/meshcentral-logo-grey-icon.js +8 -6
  103. package/dist/components/icons-v2-generated/brand-logos/meshcentral-logo-icon.d.ts +1 -1
  104. package/dist/components/icons-v2-generated/brand-logos/meshcentral-logo-icon.d.ts.map +1 -1
  105. package/dist/components/icons-v2-generated/brand-logos/meshcentral-logo-icon.js +8 -6
  106. package/dist/components/icons-v2-generated/brand-logos/winget-logo-icon.d.ts +1 -1
  107. package/dist/components/icons-v2-generated/brand-logos/winget-logo-icon.d.ts.map +1 -1
  108. package/dist/components/icons-v2-generated/brand-logos/winget-logo-icon.js +14 -12
  109. package/dist/components/icons-v2-generated/compliance-logos/aicpa-soc2-logo-icon.d.ts +1 -1
  110. package/dist/components/icons-v2-generated/compliance-logos/aicpa-soc2-logo-icon.d.ts.map +1 -1
  111. package/dist/components/icons-v2-generated/compliance-logos/aicpa-soc2-logo-icon.js +6 -4
  112. package/dist/components/icons-v2-generated/compliance-logos/eu-logo-icon.d.ts +1 -1
  113. package/dist/components/icons-v2-generated/compliance-logos/eu-logo-icon.d.ts.map +1 -1
  114. package/dist/components/icons-v2-generated/compliance-logos/eu-logo-icon.js +11 -15
  115. package/dist/components/icons-v2-generated/icon-names.d.ts +5 -0
  116. package/dist/components/icons-v2-generated/icon-names.d.ts.map +1 -0
  117. package/dist/components/icons-v2-generated/icon-names.js +10 -0
  118. package/dist/components/icons-v2-generated/index.cjs +15 -15
  119. package/dist/components/icons-v2-generated/interface/empty-vendor-icon.d.ts +1 -1
  120. package/dist/components/icons-v2-generated/interface/empty-vendor-icon.d.ts.map +1 -1
  121. package/dist/components/icons-v2-generated/interface/empty-vendor-icon.js +6 -4
  122. package/dist/components/index.cjs +93 -91
  123. package/dist/components/meeting-scheduler/index.cjs +93 -93
  124. package/dist/components/navigation/index.cjs +37 -37
  125. package/dist/components/onboarding-guides/index.cjs +37 -37
  126. package/dist/components/product-demo/index.cjs +8 -8
  127. package/dist/components/related-content/index.cjs +8 -8
  128. package/dist/components/shared/product-release/product-release-card.js +1 -1
  129. package/dist/components/tickets/index.cjs +38 -38
  130. package/dist/components/ui/index.cjs +36 -34
  131. package/dist/components/ui/photo-wall.d.ts.map +1 -1
  132. package/dist/components/ui/photo-wall.js +4 -1
  133. package/dist/{devices-X72Z4QMT.cjs → devices-7MHSJNXS.cjs} +35 -35
  134. package/dist/elestio-logo-grey-icon-DV7P3JLT.cjs +7 -0
  135. package/dist/elestio-logo-icon-34ILAIDI.cjs +7 -0
  136. package/dist/{embeddable-chat-TETIRLQD.cjs → embeddable-chat-VPIG3F7E.cjs} +103 -103
  137. package/dist/empty-vendor-icon-XZYOZ4EP.cjs +7 -0
  138. package/dist/eu-logo-icon-EYOX3UC7.cjs +7 -0
  139. package/dist/gemini-logo-icon-DNACTHIK.cjs +7 -0
  140. package/dist/google-gemini-icon-TZHJZ4IQ.cjs +7 -0
  141. package/dist/google-gemini-logo-icon-4XQVV5NN.cjs +7 -0
  142. package/dist/google-sheets-icon-UAAEBTR7.cjs +7 -0
  143. package/dist/hooks/index.cjs +8 -8
  144. package/dist/{chunk-SI24RMI5.cjs → icon-loaders-OLGJZGRP.cjs} +16 -950
  145. package/dist/index.cjs +42 -40
  146. package/dist/{knowledge-HWBSPQ7M.cjs → knowledge-4DREGSOZ.cjs} +35 -35
  147. package/dist/{logs-IZ4QTHPI.cjs → logs-BWXNT2KP.cjs} +42 -42
  148. package/dist/meshcentral-logo-grey-icon-UCRYV3IC.cjs +7 -0
  149. package/dist/meshcentral-logo-icon-76NSLOXF.cjs +7 -0
  150. package/dist/{policies-VHQR7JR5.cjs → policies-MGFUI23M.cjs} +38 -38
  151. package/dist/{remote-session-IR3YCXSR.cjs → remote-session-O6QGXV2N.cjs} +22 -22
  152. package/dist/schemas/contact-schema.cjs +31 -11
  153. package/dist/schemas/contact-schema.d.ts +1 -1
  154. package/dist/schemas/contact-schema.d.ts.map +1 -1
  155. package/dist/schemas/contact-schema.js +1 -1
  156. package/dist/schemas/meeting-booking-schema.cjs +34 -14
  157. package/dist/schemas/meeting-booking-schema.d.ts +1 -1
  158. package/dist/schemas/meeting-booking-schema.d.ts.map +1 -1
  159. package/dist/schemas/meeting-booking-schema.js +1 -1
  160. package/dist/{software-update-QLOVC6EX.cjs → software-update-7LF7XEYC.cjs} +38 -38
  161. package/dist/{tickets-board-YONLQB6F.cjs → tickets-board-KNXK747O.cjs} +25 -25
  162. package/dist/utils/index.cjs +2004 -1959
  163. package/dist/winget-logo-icon-GBS342G4.cjs +7 -0
  164. package/package.json +1 -1
  165. package/src/components/chat/entity-cards/entity-portrait-card.tsx +1 -1
  166. package/src/components/chat/types/entities/program-types.ts +4 -30
  167. package/src/components/chat/utils/icon-loading.tsx +50 -9
  168. package/src/components/chat/utils/index.ts +1 -1
  169. package/src/components/features/video-bites-shared.ts +30 -0
  170. package/src/components/icons-v2-generated/brand-logos/clickup-icon.tsx +7 -5
  171. package/src/components/icons-v2-generated/brand-logos/clickup-logo-icon.tsx +7 -5
  172. package/src/components/icons-v2-generated/brand-logos/elestio-logo-grey-icon.tsx +5 -3
  173. package/src/components/icons-v2-generated/brand-logos/elestio-logo-icon.tsx +15 -13
  174. package/src/components/icons-v2-generated/brand-logos/gemini-logo-icon.tsx +29 -27
  175. package/src/components/icons-v2-generated/brand-logos/google-gemini-icon.tsx +29 -27
  176. package/src/components/icons-v2-generated/brand-logos/google-gemini-logo-icon.tsx +29 -27
  177. package/src/components/icons-v2-generated/brand-logos/google-sheets-icon.tsx +5 -3
  178. package/src/components/icons-v2-generated/brand-logos/meshcentral-logo-grey-icon.tsx +9 -7
  179. package/src/components/icons-v2-generated/brand-logos/meshcentral-logo-icon.tsx +9 -7
  180. package/src/components/icons-v2-generated/brand-logos/winget-logo-icon.tsx +15 -13
  181. package/src/components/icons-v2-generated/compliance-logos/aicpa-soc2-logo-icon.tsx +92 -90
  182. package/src/components/icons-v2-generated/compliance-logos/eu-logo-icon.tsx +51 -52
  183. package/src/components/icons-v2-generated/icon-names.ts +11 -0
  184. package/src/components/icons-v2-generated/interface/empty-vendor-icon.tsx +7 -5
  185. package/src/components/shared/product-release/product-release-card.tsx +1 -1
  186. package/src/components/ui/photo-wall.tsx +6 -0
  187. package/src/schemas/contact-schema.ts +1 -1
  188. package/src/schemas/meeting-booking-schema.ts +1 -1
  189. package/src/styles/fonts.css +26 -0
  190. package/src/styles/ods-design-tokens.css +4 -2
  191. package/dist/aicpa-soc2-logo-icon-CJ5JRV6J.cjs +0 -7
  192. package/dist/clickup-icon-CBBUZUVQ.cjs +0 -7
  193. package/dist/clickup-logo-icon-CGDKKISS.cjs +0 -7
  194. package/dist/elestio-logo-grey-icon-Y5OFW4OO.cjs +0 -7
  195. package/dist/elestio-logo-icon-X7TTQAYP.cjs +0 -7
  196. package/dist/empty-vendor-icon-3RKCZUUR.cjs +0 -7
  197. package/dist/eu-logo-icon-N7QVPGG3.cjs +0 -7
  198. package/dist/gemini-logo-icon-QOPGATSZ.cjs +0 -7
  199. package/dist/google-gemini-icon-7GWWF6O6.cjs +0 -7
  200. package/dist/google-gemini-logo-icon-Z3GHPMVN.cjs +0 -7
  201. package/dist/google-sheets-icon-7MJ3LV4P.cjs +0 -7
  202. package/dist/meshcentral-logo-grey-icon-3VFJQMV2.cjs +0 -7
  203. package/dist/meshcentral-logo-icon-MDVBWMP5.cjs +0 -7
  204. package/dist/winget-logo-icon-XVZJ4QDM.cjs +0 -7
@@ -0,0 +1,967 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { newObj[key] = obj[key]; } } } newObj.default = obj; return newObj; } } function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }"use client";
2
+
3
+
4
+
5
+
6
+ var _chunkVOX4E6AXcjs = require('./chunk-VOX4E6AX.cjs');
7
+
8
+
9
+ var _chunk3LU4UFPScjs = require('./chunk-3LU4UFPS.cjs');
10
+
11
+
12
+ var _chunk3ATAYP36cjs = require('./chunk-3ATAYP36.cjs');
13
+
14
+ // src/hooks/ui/use-media-query.ts
15
+ var _react = require('react');
16
+ function useMediaQuery(query) {
17
+ const [matches, setMatches] = _react.useState.call(void 0, void 0);
18
+ _chunkVOX4E6AXcjs.useIsomorphicLayoutEffect.call(void 0, () => {
19
+ const matchMedia = window.matchMedia(query);
20
+ const handleChange = () => {
21
+ setMatches(matchMedia.matches);
22
+ };
23
+ handleChange();
24
+ matchMedia.addEventListener("change", handleChange);
25
+ return () => {
26
+ matchMedia.removeEventListener("change", handleChange);
27
+ };
28
+ }, [query]);
29
+ return matches;
30
+ }
31
+ var breakpoints = {
32
+ md: `(min-width: ${_chunk3LU4UFPScjs.LAYOUT_STEPS.md.viewport}px)`,
33
+ // Tablet
34
+ lg: `(min-width: ${_chunk3LU4UFPScjs.LAYOUT_STEPS.lg.viewport}px)`
35
+ // Desktop
36
+ };
37
+ function useSmUp() {
38
+ return useMdUp();
39
+ }
40
+ function useMdUp() {
41
+ const matches = useMediaQuery(breakpoints.md);
42
+ return matches === void 0 ? void 0 : matches;
43
+ }
44
+ function useLgUp() {
45
+ const matches = useMediaQuery(breakpoints.lg);
46
+ return matches === void 0 ? void 0 : matches;
47
+ }
48
+
49
+ // src/hooks/ui/use-is-truncated.ts
50
+
51
+ function useIsTruncated(value, options) {
52
+ const multiline = _nullishCoalesce(_optionalChain([options, 'optionalAccess', _ => _.multiline]), () => ( false));
53
+ const [element, setElement] = _react.useState.call(void 0, null);
54
+ const [isTruncated, setIsTruncated] = _react.useState.call(void 0, false);
55
+ const ref = _react.useCallback.call(void 0, (node) => setElement(node), []);
56
+ _react.useEffect.call(void 0, () => {
57
+ if (!element) return void 0;
58
+ const check = () => {
59
+ setIsTruncated(
60
+ multiline ? element.scrollHeight > element.clientHeight + 1 : element.scrollWidth > element.clientWidth + 1
61
+ );
62
+ };
63
+ check();
64
+ const observer = new ResizeObserver(check);
65
+ observer.observe(element);
66
+ return () => observer.disconnect();
67
+ }, [element, value, multiline]);
68
+ return { ref, isTruncated: element ? isTruncated : false };
69
+ }
70
+
71
+ // src/components/chat/utils/icon-loading.tsx
72
+
73
+
74
+ // src/components/icons-v2-generated/icon-names.ts
75
+ var ICON_SET_NAMES = new Set(
76
+ "AboutIcon,AcornIcon,ActivityCircleIcon,ActivityIcon,ActivitySquareIcon,AddressBookIcon,AdobeAeIcon,AdobeAiIcon,AdobeIdIcon,AdobePdfIcon,AdobePrIcon,AdobePsIcon,AdobeXdIcon,AgeLimit0Icon,AgeLimit10Icon,AgeLimit12Icon,AgeLimit13Icon,AgeLimit16Icon,AgeLimit17Icon,AgeLimit18Icon,AgeLimit21Icon,AgeLimit3Icon,AgeLimit6Icon,AicpaSoc2LogoIcon,AirConditionerIcon,AirdropIcon,AirplayIcon,AlarmBlankIcon,AlarmCheckIcon,AlarmExclamationIcon,AlarmIcon,AlarmMinusIcon,AlarmPlusIcon,AlarmSnoozeIcon,AlarmXmarkIcon,AlertAltIcon,AlertCircleIcon,AlertDiamondIcon,AlertHexagonIcon,AlertOctagonIcon,AlertSquareIcon,AlertTriangleClassicIcon,AlertTriangleIcon,AlienIcon,AlignBottomIcon,AlignLeftIcon,AlignRightIcon,AlignTopIcon,AlphabetACircleIcon,AlphabetAIcon,AlphabetASquareIcon,AlphabetBCircleIcon,AlphabetBIcon,AlphabetBSquareIcon,AlphabetCCircleIcon,AlphabetCIcon,AlphabetCSquareIcon,AlphabetDCircleIcon,AlphabetDIcon,AlphabetDSquareIcon,AlphabetECircleIcon,AlphabetEIcon,AlphabetESquareIcon,AlphabetFCircleIcon,AlphabetFIcon,AlphabetFSquareIcon,AlphabetGCircleIcon,AlphabetGIcon,AlphabetGSquareIcon,AlphabetHCircleIcon,AlphabetHIcon,AlphabetHSquareIcon,AlphabetICircleIcon,AlphabetIIcon,AlphabetISquareIcon,AlphabetJCircleIcon,AlphabetJIcon,AlphabetJSquareIcon,AlphabetKCircleIcon,AlphabetKIcon,AlphabetKSquareIcon,AlphabetLCircleIcon,AlphabetLIcon,AlphabetLSquareIcon,AlphabetMCircleIcon,AlphabetMIcon,AlphabetMSquareIcon,AlphabetNCircleIcon,AlphabetNIcon,AlphabetNSquareIcon,AlphabetOCircleIcon,AlphabetOIcon,AlphabetOSquareIcon,AlphabetPCircleIcon,AlphabetPIcon,AlphabetPSquareIcon,AlphabetQCircleIcon,AlphabetQIcon,AlphabetQSquareIcon,AlphabetRCircleIcon,AlphabetRIcon,AlphabetRSquareIcon,AlphabetSCircleIcon,AlphabetSIcon,AlphabetSSquareIcon,AlphabetTCircleIcon,AlphabetTIcon,AlphabetTSquareIcon,AlphabetUCircleIcon,AlphabetUIcon,AlphabetUSquareIcon,AlphabetVCircleIcon,AlphabetVIcon,AlphabetVSquareIcon,AlphabetWCircleIcon,AlphabetWIcon,AlphabetWSquareIcon,AlphabetXCircleIcon,AlphabetXIcon,AlphabetXSquareIcon,AlphabetYCircleIcon,AlphabetYIcon,AlphabetYSquareIcon,AlphabetZCircleIcon,AlphabetZIcon,AlphabetZSquareIcon,AmericanFootballIcon,AnalysisIcon,AnchorIcon,AndroidIcon,Angle90Icon,AngleIcon,AnonymousIcon,AnthropicLogoGreyIcon,AnthropicLogoIcon,ApertureIcon,AppStoreIcon,AppleClassicIcon,AppleFoodIcon,AppleIcon,AppleIncIcon,AppleLogoIcon,ApronIcon,AquariumIcon,ArcheryArrowIcon,ArcheryBowIcon,ArcheryTargetIcon,ArchwayIcon,ArrangeIcon,Arrow01DownIcon,Arrow01LeftIcon,Arrow01RightIcon,Arrow01UpIcon,Arrow02DownIcon,Arrow02LeftIcon,Arrow02RightIcon,Arrow02UpIcon,Arrow03DownIcon,Arrow03LeftIcon,Arrow03RightIcon,Arrow03UpIcon,Arrow04DownIcon,Arrow04LeftIcon,Arrow04RightIcon,Arrow04UpIcon,ArrowCircleDownIcon,ArrowCircleLeftIcon,ArrowCircleRightIcon,ArrowCircleUpIcon,ArrowCornerBlIcon,ArrowCornerBrIcon,ArrowCornerTlIcon,ArrowCornerTrIcon,ArrowLocationHrIcon,ArrowLocationIcon,ArrowLocationOffIcon,ArrowRightUpIcon,ArrowSquareDownIcon,ArrowSquareLeftIcon,ArrowSquareRightIcon,ArrowSquareUpIcon,ArrowTurnDownIcon,ArrowTurnLeftIcon,ArrowTurnRightIcon,ArrowTurnUpIcon,ArrowsSpinIcon,AsteriskIcon,AtSignIcon,AtmCardIcon,AtmMoneyIcon,AtomIcon,AuditIcon,AuditLoggingIcon,AuthentikLogoGreyIcon,AuthentikLogoIcon,AutomateEverythingIcon,AutomatedDiagnosticsIcon,AvatarCircleIcon,AvatarSquareIcon,AvocadoIcon,AxeIcon,AzureAdLogoGreyIcon,AzureAdLogoIcon,BabyCarriageIcon,BabyMilkIcon,BackpackIcon,BackwardIcon,BadgeDollarIcon,BadgePercentIcon,BagAltIcon,BagArrowDownIcon,BagArrowUpIcon,BagCheckIcon,BagExclamationIcon,BagIcon,BagMinusIcon,BagPlusIcon,BagXmarkIcon,BagelIcon,BananaIcon,BandageIcon,BandagesIcon,BankIcon,BankInterestIcon,BannedIcon,BaseballIcon,BashIcon,BasketArrowDownIcon,BasketArrowUpIcon,BasketBlankIcon,BasketCheckIcon,BasketExclamationIcon,BasketIcon,BasketMinusIcon,BasketPlusIcon,BasketXmarkIcon,BasketballBasketIcon,BasketballIcon,BathIcon,BatteryChargingIcon,BatteryEmptyIcon,BatteryFullIcon,BatteryLowIcon,BatteryMediumIcon,BatteryOffIcon,BbqGrillIcon,BeachIcon,BedBunkIcon,BedFrontIcon,BedIcon,BedPersonIcon,BeerIcon,BehanceIcon,BehanceSquareIcon,BellCheckIcon,BellExclamationIcon,BellIcon,BellIndicatorIcon,BellMinusIcon,BellOffIcon,BellPlusIcon,BellRingingIcon,BellRingingOffIcon,BellRingingSnoozeIcon,BellSnoozeIcon,BellXmarkIcon,BikeIcon,BikingIcon,BinaryIcon,BitcoinCircleIcon,BitcoinIcon,BlenderIcon,BlockQuoteIcon,BlockchainIcon,BloodPressureIcon,BluetoothBannedIcon,BluetoothConnectingIcon,BluetoothIcon,BluetoothOffIcon,BluetoothSearchIcon,BoldAltIcon,BoldIcon,BoneBrokenIcon,BoneIcon,BookAltIcon,BookBookmarkIcon,BookFontIcon,BookHeartIcon,BookIcon,BookMedicalIcon,BookOpenIcon,BookPlayIcon,BookTextIcon,BookUserIcon,BookmarkCheckIcon,BookmarkIcon,BookmarkMinusIcon,BookmarkOffIcon,BookmarkPlusIcon,BookmarkXmarkIcon,BookmarksIcon,BooksIcon,BowTieIcon,BowlHotIcon,BowlNoodleIcon,BowlingIcon,BoxArchiveIcon,BoxingIcon,BracketCurlyCheckIcon,BracketCurlyEllipsisHrIcon,BracketCurlyEllipsisVrIcon,BracketCurlyIcon,BracketCurlyMinusIcon,BracketCurlyPlusIcon,BracketCurlyXmarkIcon,BracketRoundCheckIcon,BracketRoundEllipsisHrIcon,BracketRoundEllipsisVrIcon,BracketRoundIcon,BracketRoundMinusIcon,BracketRoundPlusIcon,BracketRoundXmarkIcon,BracketSquareCheckIcon,BracketSquareEllipsisHrIcon,BracketSquareEllipsisVrIcon,BracketSquareIcon,BracketSquareMinusIcon,BracketSquarePlusIcon,BracketSquareXmarkIcon,BrainAIIcon,BrainIcon,BreadLongIcon,BreadShortIcon,BreadSliceIcon,Bridge01Icon,Bridge02Icon,BriefcaseIcon,BriefcaseMedicalIcon,BriefcaseWorkIcon,BrightnessDownIcon,BrightnessUpIcon,BrowserIcon,BrowserWindowIcon,BrushIcon,BugIcon,BugOffIcon,BuildingIcon,BuildingTreeIcon,BuildingsClassicIcon,BuildingsIcon,BulkOperationsIcon,BusIcon,CableCarIcon,CakeBirthdayIcon,CakeSliceIcon,Calculator01Icon,Calculator02Icon,CalendarArrowLeftIcon,CalendarArrowRightIcon,CalendarBookmarkIcon,CalendarCheckIcon,CalendarDayIcon,CalendarDaysIcon,CalendarHeartIcon,CalendarIcon,CalendarLockIcon,CalendarMinusIcon,CalendarOffIcon,CalendarPlusIcon,CalendarStarIcon,CalendarXmarkIcon,CallHangupIcon,CallIcon,CallInboundIcon,CallLockIcon,CallMinusIcon,CallMissed01Icon,CallMissed02Icon,CallOffIcon,CallOutboundIcon,CallPauseIcon,CallPlusIcon,CallRingingIcon,CallSignalIcon,CallUnlockIcon,CallXmarkIcon,CameraIcon,CameraOffIcon,CameraRetro01Icon,CameraRetro02Icon,CampgroundIcon,CandyCaneIcon,CandyIcon,CapsuleIcon,CapsuleTabletIcon,CapterraIcon,CarBattery01Icon,CarBattery02Icon,CarIcon,CarSideElectricIcon,CarSideIcon,CarTaxiIcon,CarouselHrIcon,CarouselVrIcon,CarrotIcon,CartArrowDownIcon,CartArrowUpIcon,CartCheckIcon,CartExclamationIcon,CartIcon,CartMinusIcon,CartPlusIcon,CartXmarkIcon,CartaIcon,CassetteTapeIcon,CastleIcon,CaterIcon,CctvIcon,CctvOffIcon,Certified01Icon,Certified02Icon,ChairIcon,ChairSwivelIcon,ChartBar01HrIcon,ChartBar01VerIcon,ChartBar02HrIcon,ChartBar02VrIcon,ChartBar03HrIcon,ChartBar03VerIcon,ChartBarSquareHrIcon,ChartBarSquareVrIcon,ChartDonutIcon,ChartLineDownIcon,ChartLineHeartIcon,ChartLineStarIcon,ChartLineUpIcon,ChartPieIcon,ChartPyramidIcon,ChartRadarIcon,ChartScatterIcon,ChatBlankIcon,ChatCheckIcon,ChatEllipsisIcon,ChatExclamationIcon,ChatFaceIcon,ChatHeartIcon,ChatIndicatorIcon,ChatLanguageIcon,ChatMinusIcon,ChatOffIcon,ChatPlusIcon,ChatQuestionIcon,ChatQuoteIcon,ChatStarIcon,ChatTextIcon,ChatVoicemailIcon,ChatXmarkIcon,ChatsIcon,CheckAltIcon,CheckCircleIcon,CheckFillIcon,CheckIcon,CheckSquareIcon,CheckboxCheckmarkIcon,ChecksIcon,CheeseIcon,ChefHatIcon,CherriesIcon,ChessIcon,Chevron01DownIcon,Chevron01LeftIcon,Chevron01RightIcon,Chevron01UpIcon,Chevron02DownIcon,Chevron02LeftIcon,Chevron02RightIcon,Chevron02UpIcon,ChevronCircleDownIcon,ChevronCircleLeftIcon,ChevronCircleRightIcon,ChevronCircleUpIcon,ChevronSquareDownIcon,ChevronSquareLeftIcon,ChevronSquareRightIcon,ChevronSquareUpIcon,Chevrons03DownIcon,Chevrons03LeftIcon,Chevrons03RightIcon,Chevrons03UpIcon,Chevrons04HrIcon,Chevrons04VrIcon,Chevrons05HrIcon,Chevrons05VrIcon,ChocolateyLogoGreyIcon,ChocolateyLogoIcon,ChromeIcon,ChromecastIcon,ChurchIcon,ClapperboardIcon,ClapperboardPlayIcon,ClaudeIcon,CleaverIcon,ClickupIcon,ClickupLogoGreyIcon,ClickupLogoIcon,ClipboardCheckIcon,ClipboardExclamationIcon,ClipboardIcon,ClipboardInfoIcon,ClipboardListIcon,ClipboardMedicalIcon,ClipboardMinusIcon,ClipboardPlusIcon,ClipboardQuestionIcon,ClipboardXmarkIcon,ClockCheckIcon,ClockHistoryIcon,ClockIcon,ClockPlusIcon,CloudArrowDownIcon,CloudArrowUpIcon,CloudCheckIcon,CloudExclamationIcon,CloudIcon,CloudMusicIcon,CloudWeatherBoltIcon,CloudWeatherDrizzleIcon,CloudWeatherFogIcon,CloudWeatherIcon,CloudWeatherMoonIcon,CloudWeatherRain01Icon,CloudWeatherRain02Icon,CloudWeatherSnow01Icon,CloudWeatherSnow02Icon,CloudWeatherSunBrightIcon,CloudWeatherSunIcon,CloudXmarkIcon,CmdIcon,CmmcLogoIcon,CodeAIIcon,CodeBarIcon,CodeBarScanIcon,CodeBrowserIcon,CodeCircleIcon,CodeIcon,CodeLaptopIcon,CodeMonitorIcon,CodeQrIcon,CodeQrScanIcon,CodeScanIcon,CodeSquareIcon,CodingBranchIcon,CodingCommitIcon,CodingForkIcon,CodingMergeIcon,CodingPullRequestClosedIcon,CodingPullRequestIcon,CoffeeBeanIcon,CoffeeBeansIcon,CoinIcon,CoinInsertIcon,CoinsClassicIcon,CoinsExchangeCurrencyIcon,CoinsExchangeIcon,CoinsIcon,Collapse01Icon,Collapse02Icon,Collapse03Icon,Collapse04DotsIcon,Collapse04Icon,CollectionAlbumIcon,CollectionAudioIcon,CollectionImageIcon,CollectionMusicIcon,CollectionVideoIcon,ColorPaletteIcon,ColorsIcon,CommunityHubIcon,CommunityIcon,CompareIcon,CompassIcon,ComputerMouseIcon,ConnectionIcon,Contrast01Icon,Contrast02Icon,CookieIcon,Copy01Icon,Copy02Icon,Copy03Icon,CopyIcon,CouchIcon,CourtIcon,CreditCardAltIcon,CreditCardArrowDownIcon,CreditCardArrowUpIcon,CreditCardEditIcon,CreditCardIcon,CreditCardLockIcon,CreditCardMinusIcon,CreditCardPlusIcon,CreditCardSearchIcon,CreditCardShieldIcon,CreditCardXmarkIcon,CreditCardsExchangeIcon,CropIcon,Crosshair01Icon,Crosshair02Icon,CrosshairOffIcon,CrownIcon,CupBubbleTeaIcon,CupToGoIcon,CupWaterIcon,CupcakeIcon,CurtainIcon,CustomExternalLinkIcon,CustomForkIcon,CustomLicenseIcon,CustomStarIcon,CustomTimeIcon,CutVendorCostsIcon,DatabaseIcon,DatabaseLockIcon,DegreeCelsiusIcon,DegreeFahrenheitIcon,DeleteIcon,DenoIcon,DialpadIcon,DiamondGemIcon,Dice1Icon,Dice2Icon,Dice3Icon,Dice4Icon,Dice5Icon,Dice6Icon,DiscVinylIcon,DiscordIcon,Dispenser01Icon,Dispenser02Icon,DispenserMedicalIcon,DistributeHorizontalIcon,DistributeVerticalIcon,DividerIcon,DjinniLogoIcon,DnaIcon,DocumentIcon,DogIcon,DogLeashIcon,DollarCircleIcon,DollarIcon,DonutIcon,DoorIcon,DoorOpenIcon,DotIcon,DotsIcon,DotsLoaderIcon,Download01Icon,Download02Icon,DraggerIcon,DrawingCompassIcon,DribbbleIcon,DropperIcon,DrowningIcon,DryerIcon,DumbellIcon,EarIcon,EarphoneIcon,EditProfileIcon,EggFriedIcon,EggIcon,EggplantIcon,EjectIcon,ElectricalPlugIcon,ElestioLogoGreyIcon,ElestioLogoIcon,Ellipsis01CircleIcon,Ellipsis01Icon,Ellipsis01SquareIcon,Ellipsis01StrokeIcon,Ellipsis02CircleIcon,Ellipsis02Icon,Ellipsis02SquareIcon,Ellipsis02StrokeIcon,EmailArrowDownIcon,EmailArrowUpIcon,EmailBannedIcon,EmailCheckIcon,EmailHeartIcon,EmailIcon,EmailLockIcon,EmailOpenIcon,EmailReadingHeartIcon,EmailReadingIcon,EmailSearchIcon,EmailShieldIcon,EmailsIcon,EmptyVendorIcon,EraserIcon,ErrorIcon,EuLogoIcon,EuroCircleIcon,EuroIcon,ExclamationIcon,Expand01Icon,Expand02Icon,Expand03Icon,Expand04DotsIcon,Expand04Icon,ExpandArrowHrIcon,ExpandArrowVrIcon,ExpandSquareIcon,ExploreCategoriesIcon,ExplosionIcon,ExternalLinkIcon,EyeAltIcon,EyeAltOffIcon,EyeClassicIcon,EyeCloseIcon,EyeIcon,EyeOffClassicIcon,EyeOffIcon,FaceAngryIcon,FaceBabyIcon,FaceLaughIcon,FaceMaskIcon,FaceMeh01Icon,FaceMeh02Icon,FaceSad01Icon,FaceSad02Icon,FaceSleepingIcon,FaceSmile01Icon,FaceSmile02Icon,FaceSurpriseIcon,FaceWinkIcon,FaceWorryIcon,FacebookClassicIcon,FacebookIcon,FacebookSquareIcon,FanIcon,FastBackwardIcon,FastForwardIcon,FeedbackIcon,FenceIcon,FerryIcon,FigmaClassicIcon,FigmaIcon,FileActivityIcon,FileAttachmentIcon,FileAudioIcon,FileBannedIcon,FileBookmarkIcon,FileChartBarIcon,FileChartLineIcon,FileCheckIcon,FileCodeIcon,FileContentIcon,FileDollarIcon,FileEditIcon,FileExclamationIcon,FileHeartIcon,FileIcon,FileImageIcon,FileInfoIcon,FileLockIcon,FileMinusIcon,FileMusicIcon,FileOffIcon,FilePlayIcon,FilePlusIcon,FileQuestionIcon,FileSearchIcon,FileShieldIcon,FileUserIcon,FileXmarkIcon,FilesIcon,FillPourIcon,FilmHrIcon,FilmVrIcon,Filter01CheckIcon,Filter01ClockIcon,Filter01Icon,Filter01ListIcon,Filter02Icon,Filter03HrIcon,Filter03VrIcon,Filter04HrIcon,Filter04VrIcon,FingerprintIcon,FireExtinguisherIcon,FireIcon,FishBoneIcon,FishIcon,Flag01Icon,Flag02Icon,Flag03Icon,FlamingoLogoIcon,FlamingoMarkIcon,FlashAutoIcon,FlashIcon,FlashOffIcon,FlashlightIcon,FlaskIcon,FlaskVialIcon,FleetMdmLogoGreyIcon,FleetMdmLogoIcon,Flip01LeftIcon,Flip01RightIcon,Flip02LeftIcon,Flip02RightIcon,FloodIcon,FloppyDiscIcon,Flower01Icon,Flower02Icon,FlowerPlantIcon,FlowerSakuraIcon,FlowerTulipIcon,FolderBannedIcon,FolderBookmarkIcon,FolderCheckIcon,FolderEditIcon,FolderIcon,FolderImageIcon,FolderInfoIcon,FolderLockIcon,FolderMinusIcon,FolderOffIcon,FolderOpenIcon,FolderPlusIcon,FolderSearchIcon,FolderShieldClassicIcon,FolderShieldIcon,FolderUserIcon,FolderXmarkIcon,FoldersIcon,FontAltIcon,FontIcon,FootballIcon,FootprintsIcon,ForkKnifeIcon,ForkPlateIcon,ForkSpoonIcon,FortIcon,ForwardIcon,FramerIcon,G2Icon,GameControllerIcon,GameIcon,GarageIcon,GarlicIcon,Gauge01Icon,Gauge02Icon,GeminiLogoGreyIcon,GeminiLogoIcon,GenderFemaleIcon,GenderMaleIcon,GetappIcon,GiftIcon,GiftcardIcon,GithubCircleIcon,GithubClassicIcon,GithubIcon,GithubLogo1Icon,GithubLogoIcon,GlassCocktail01Icon,GlassCocktail02Icon,GlassWineIcon,Glasses01Icon,Glasses02Icon,GlassesWineIcon,Globe01Icon,Globe02Icon,GlobeIcon,GlobeStandIcon,GloveSmittenIcon,GoogleDriveIcon,GoogleGeminiIcon,GoogleGeminiLogoIcon,GoogleIcon,GoogleLogoClassicIcon,GoogleLogoGreyIcon,GoogleLogoIcon,GooglePlayIcon,GoogleSheetsIcon,GraduationCapIcon,GramophoneIcon,GrapesIcon,GraphBarIcon,GraphCurveArrowIcon,GraphLineDownIcon,GraphLineUpIcon,GraphMixSquareIcon,GraphMixedIcon,GridAltIcon,GridCheckIcon,GridDotsBlankIcon,GridDotsBottomIcon,GridDotsCenterHrIcon,GridDotsCenterIcon,GridDotsCenterVrIcon,GridDotsLeftIcon,GridDotsOuterIcon,GridDotsRightIcon,GridDotsTopIcon,GridIcon,GridLayoutIcon,GridMinusIcon,GridPlusIcon,GridViewIcon,GripHrIcon,GripVrIcon,HairdryerIcon,HamburgerCheeseIcon,HamburgerIcon,HamburgerVeggieIcon,HammerAuctionIcon,HammerIcon,Hand1FingerIcon,Hand2FingerIcon,HandCoinIcon,HandDollarClassicIcon,HandDollarIcon,HandDropletIcon,HandHeartIcon,HandIcon,HandParcelIcon,HandSeedlingIcon,HandsHeartIcon,HandsIcon,HangerIcon,HardDriveIcon,HardDrivesIcon,HashIcon,HatIcon,HeadHeadphoneIcon,HeadHeartIcon,HeadIcon,HeadMedicalIcon,HeadSettingsIcon,HeadingAltIcon,HeadingH1Icon,HeadingH2Icon,HeadingH3Icon,HeadingH4Icon,HeadingH5Icon,HeadingH6Icon,HeadingIcon,HeadphoneIcon,HeadsetIcon,HeartBrokenIcon,HeartIcon,HeartPulseIcon,HeatIcon,HeelsChunkyIcon,HeelsHighIcon,HelicopterIcon,HelicopterSymbolIcon,HelmetIcon,HhsLogoIcon,Hierarchy01Icon,Hierarchy02Icon,HillAvalancheIcon,HillRockslideIcon,HomeAltIcon,HomeCircleIcon,HomeDoorIcon,HomeHeartIcon,HomeIcon,HomeLineIcon,HomeSmileIcon,HomeStarIcon,HomebrewLogoGreyIcon,HomebrewLogoIcon,HoneyPotIcon,HonorIcon,HonorStarIcon,HospitalIcon,HotWaterIcon,HotdogIcon,HotelAltIcon,HotelClassicIcon,HotelIcon,HourglassClockIcon,HourglassIcon,HouseDoorIcon,HouseIcon,HouseMedicalIcon,HouseUserIcon,HouseWindowIcon,HubspotIcon,HubspotLogoGreyIcon,HubspotLogoIcon,HurricaneIcon,ICursorIcon,IceCreamIcon,IdCardIcon,ImageAIIcon,ImageArrowDownIcon,ImageArrowUpIcon,ImageCheckIcon,ImageClassicIcon,ImageIcon,ImageOffIcon,ImagePlusIcon,ImageXmarkIcon,InboxArrowDownIcon,InboxArrowUpIcon,InboxContentIcon,InboxIcon,IndentIcon,InfoCircleClassicIcon,InfoCircleIcon,InfoIcon,InstagramClassicIcon,InstagramIcon,IslandIcon,IsoIecLogoIcon,IsoLogoIcon,ItIcon,ItalicIcon,JarIcon,JumpInIcon,KettleIcon,KeyCommandIcon,KeyIcon,KeyOptionIcon,KeySkeletonIcon,KeyboardDownIcon,KeyboardIcon,KeyboardUpIcon,KeyholeCircleIcon,KeyholeSquareIcon,KiwiIcon,LampDeskIcon,LampIcon,LaptopFileIcon,LaptopIcon,LaptopMobileIcon,LayersIcon,LayersMinusIcon,LayersOffIcon,LayersPlusIcon,LayoutIcon,LeafIcon,LeafyGreenIcon,LeavesIcon,LemonIcon,LemonSliceIcon,LifeBuoyIcon,LifeVestIcon,LightbulbIcon,LightbulbOnIcon,LighthouseIcon,LightningFastIcon,LightningIcon,LightningOffIcon,LineHeightIcon,Link01BreakIcon,Link01HorizontalIcon,Link01Icon,Link02HorizontalIcon,Link02Icon,LinkedinClassicIcon,LinkedinIcon,LinkedinLogoGreyIcon,LinkedinLogoIcon,LinkedinSquareIcon,LinuxIcon,LinuxLogoIcon,LipstickIcon,ListBulletIcon,ListCheckIcon,ListNumberIcon,ListTreeIcon,LivestormIcon,Loading01Icon,Loading02Icon,Loading03Icon,LocationCheckIcon,LocationExclamationIcon,LocationHeartIcon,LocationIcon,LocationMinusIcon,LocationOffIcon,LocationPlusIcon,LocationStarIcon,LocationXmarkIcon,LockAltIcon,LockCheckIcon,LockCircleIcon,LockIcon,LockKeyholeIcon,LockKeyholeOffIcon,LockOpenIcon,LockOpenKeyholeIcon,LockSquareIcon,LogOutIcon,Login01Icon,Login02Icon,Logout01Icon,Logout02Icon,LumaIcon,MacosIcon,MagicWandIcon,MagnetIcon,MailboxIcon,MapIcon,MapLocationIcon,MapSearchIcon,MapSquareIcon,MarkerIcon,MeatIcon,Medal01Icon,Medal02Icon,MedicalCircleIcon,MedicalIcon,MedicalSquareIcon,Megaphone01Icon,Megaphone02Icon,MemoIcon,MemoryCardIcon,Menu01CircleIcon,Menu01Icon,Menu01SquareIcon,Menu02CircleIcon,Menu02Icon,Menu02SquareIcon,MenuIcon,MeshcentralLogoGreyIcon,MeshcentralLogoIcon,MessageBlankIcon,MessageCheckIcon,MessageCircleIcon,MessageEllipsisIcon,MessageExclamationIcon,MessageFaceIcon,MessageHeartIcon,MessageIndicatorIcon,MessageLanguageIcon,MessageMinusIcon,MessageOffIcon,MessagePlusIcon,MessageQuestionIcon,MessageQuoteIcon,MessageRobotIcon,MessageStarIcon,MessageTextIcon,MessageVoicemailIcon,MessageXmarkIcon,MessagesIcon,MessengerIcon,MiamiCyberGangLogoIcon,MicAltIcon,MicIcon,MicOffIcon,MicrochipAIIcon,MicrochipIcon,MicrophoneIcon,MicrophoneStandIcon,MicroscopeIcon,MicrosoftIcon,MicrosoftLogoGreyIcon,MicrosoftLogoIcon,MicrowaveIcon,MilkBottleIcon,MilkCartonIcon,MingoIcon,MingoMonochromeIcon,MinusAltIcon,MinusCircleIcon,MinusIcon,MinusSquareIcon,MirrorIcon,MixerIcon,MlgLogoIcon,MobilePhoneBannedIcon,MobilePhoneIcon,MobilePhoneLockIcon,MobilePhoneOffIcon,MobilePhoneShieldIcon,MobilePhoneSignalInIcon,MobilePhoneSignalOutIcon,MobilePhoneVibrationIcon,ModemIcon,MoneyBillDollarIcon,MoneyBillIcon,MoneyBillWavyDollarIcon,MoneyBillWavyIcon,MoneyChequeDollarIcon,MoneyChequeEditIcon,MonitorAltIcon,MonitorChartIcon,MonitorIcon,MonitorOffIcon,MonitorShieldIcon,MoonClassicIcon,MoonIcon,MoonStarIcon,MotorbikeIcon,MouthIcon,MoveIcon,MovieIcon,MugHotIcon,MugIcon,MugTeaIcon,MushroomIcon,MusicNote01Icon,MusicNote02Icon,MustacheIcon,NaturalLanguageIcon,NetworkIcon,NewspaperIcon,NextIcon,NistLogoIcon,NocIcon,NoseIcon,NotebookAltIcon,NotebookIcon,Number0Icon,Number1Icon,Number2Icon,Number3Icon,Number4Icon,Number5Icon,Number6Icon,Number7Icon,Number8Icon,Number9Icon,Numer0CircleIcon,Numer0SquareIcon,Numer1CircleIcon,Numer1SquareIcon,Numer2CircleIcon,Numer2SquareIcon,Numer3CircleIcon,Numer3SquareIcon,Numer4CircleIcon,Numer4SquareIcon,Numer5CircleIcon,Numer5SquareIcon,Numer6CircleIcon,Numer6SquareIcon,Numer7CircleIcon,Numer7SquareIcon,Numer8CircleIcon,Numer8SquareIcon,Numer9CircleIcon,Numer9SquareIcon,NushellIcon,Office365LogoGreyIcon,Office365LogoIcon,OfficePhoneIcon,OpenSourceIcon,OpenaiIcon,OpenaiLogoGreyIcon,OpenaiLogoIcon,OpenframeLogoGreyIcon,OpenframeLogoIcon,OpenframeTextIcon,OpenmspLogoIcon,OpsIcon,OsqueryLogoGreyIcon,OsqueryLogoIcon,OvenIcon,PackageAltIcon,PackageCheckIcon,PackageClassicIcon,PackageIcon,PackageLockIcon,PackageMinusIcon,PackagePlusIcon,PackageSearchIcon,PackageXmarkIcon,PageBlankIcon,PaintRollerIcon,PanHotIcon,PantsIcon,PaperclipIcon,PaperclipVrIcon,ParagraphIcon,Parcel01CheckIcon,Parcel01DelayIcon,Parcel01FastIcon,Parcel01HeartIcon,Parcel01Icon,Parcel01LabelIcon,Parcel01LockIcon,Parcel01SearchIcon,Parcel01StarIcon,Parcel02CheckIcon,Parcel02FastIcon,Parcel02Icon,Parcel02LockIcon,Parcel02SearchIcon,Parcel03Icon,ParcelsIcon,ParkIcon,PartyIcon,PasscodeIcon,PassportIcon,Paste01Icon,Paste02Icon,Paste03Icon,PatchPolicyIcon,PauseCircleIcon,PauseIcon,PawIcon,PaypalIcon,PcIcon,PeachIcon,PearIcon,Pen01Icon,Pen02Icon,PenBrushIcon,PenEditIcon,PenLineIcon,PenNibAltIcon,PenNibCircleIcon,PenNibIcon,PenNibMinusIcon,PenNibPlusIcon,PenPointIcon,PencilIcon,PercentCircleIcon,PercentIcon,PercentSquareIcon,PercentStrokeIcon,PhotoFilterIcon,PianoKeyIcon,PieIcon,PiggyBankIcon,PinIcon,PinLocation01Icon,PinLocation02Icon,PinVrIcon,PingpongIcon,PinterestIcon,PizzaSliceIcon,PlaneAltIcon,PlaneArrivalIcon,PlaneDepartureIcon,PlaneIcon,PlaneOffIcon,PlaneVerticalIcon,PlaneVerticalOffIcon,PlanetIcon,PlayCircleIcon,PlayFilledIcon,PlayIcon,PlaylistIcon,PlaylistMusicIcon,PlusAltIcon,PlusCircleIcon,PlusIcon,PlusMultipleIcon,PlusSquareIcon,PodbeanIcon,PodcastIcon,Point100Icon,PoolIcon,PosMachineIcon,PostSignIcon,PostSignsIcon,PotIcon,PoundCircleIcon,PoundIcon,PowerCircleIcon,PowerIcon,PowershellLogoGreyIcon,PowershellLogoIcon,PresentationBarIcon,PresentationIcon,PresentationLineIcon,PreviousIcon,PrinterIcon,PrinterOffIcon,ProgressIcon,ProjectorIcon,PulseIcon,PulseSquareIcon,PumpElectricIcon,PumpGasIcon,Puzzle01Icon,Puzzle02Icon,PythonLogoIcon,PytonLogoGreyIcon,PytonLogoIcon,QuestionAltIcon,QuestionCircleIcon,QuestionIcon,QuestionSquareIcon,QuickbooksIcon,QuoteLeftIcon,QuoteRightIcon,QuoteSquareIcon,RadarIcon,RadiationCircleIcon,RadiationIcon,RadioIcon,RadioWavesIcon,RankingIcon,Receipt01Icon,Receipt02Icon,ReclaimProfitsIcon,RecordingCircleIcon,RecordingIcon,RecycleIcon,RedditIcon,RedditLogoGreyIcon,RedditLogoIcon,ReflectHrIcon,ReflectVrIcon,Refresh01LeftIcon,Refresh01RightIcon,Refresh02ExclamationIcon,Refresh02HrIcon,Refresh02VrIcon,RefrigeratorIcon,RepeatIcon,RepeatOneIcon,RetweetIcon,RewardBadgeCheckIcon,RewardBadgeIcon,RewardBadgeStarIcon,RoadBarrierIcon,RoadIcon,RobotIcon,Rocket01Icon,Rocket02Icon,Rotate360Icon,RouteArrowIcon,RouteIcon,RouteLocationIcon,RouteXmarkIcon,RssIcon,RulerIcon,RulerTriangleIcon,RunningIcon,RvIcon,SackIcon,SailboatIcon,SandwichIcon,SausageIcon,Scale01Icon,Scale02Icon,ScaleBalancedIcon,ScaleUnbalancedIcon,ScalingUpIcon,ScanIcon,ScanXmarkIcon,ScannerIcon,SchoolIcon,ScissorsIcon,ScribbleIcon,ScriptGenerationIcon,SearchClassicIcon,SearchIcon,SearchXmarkIcon,SeedlingIcon,SeedlingPotIcon,Send01Icon,Send02Icon,Send03Icon,SendIcon,Settings01Icon,Settings02Icon,Settings02LineIcon,SettingsIcon,ShapeCircleDashClassicIcon,ShapeCircleDashIcon,ShapeCircleIcon,ShapeDiamondSquareIcon,ShapeHexagonIcon,ShapeOctagonIcon,ShapeSquareDashIcon,ShapeSquareIcon,ShapeTriangleIcon,ShapesIcon,ShareIcon,ShareSquareIcon,ShellIcon,ShieldAltIcon,ShieldCheckClassicIcon,ShieldCheckIcon,ShieldClassicIcon,ShieldExclamationIcon,ShieldIcon,ShieldKeyholeIcon,ShieldLightningIcon,ShieldLockClassicIcon,ShieldLockIcon,ShieldMinusIcon,ShieldOffIcon,ShieldPlusIcon,ShieldUserIcon,ShieldWifiIcon,ShieldXmarkIcon,ShoesIcon,ShoesRunIcon,ShopIcon,ShopLocationIcon,ShovelIcon,ShrimpIcon,ShuffleIcon,SidebarFlipIcon,SidebarIcon,SignFemaleIcon,SignMaleIcon,SignalBroadcast01Icon,SignalBroadcast02Icon,SignalBroadcast03Icon,SignalLevelIcon,SignatureDocumentIcon,SignatureIcon,SimCardIcon,SirenIcon,SirenOnIcon,SkateBootsIcon,SkippingRopeIcon,SkullIcon,SlackIcon,SlackLogoGreyIcon,SlackLogoIcon,SlackMonoIcon,SliderRightIcon,SlidersIcon,SlidersSquareHrIcon,SlidersSquareVrIcon,SmartEscalationIcon,SmokingIcon,SmokingOffCircleIcon,SmokingOffIcon,SnorkelIcon,SnowflakeIcon,SocIcon,SocketIcon,SocksIcon,SodaCanIcon,SolarPanelIcon,Sort19DownIcon,Sort19UpIcon,Sort91DownIcon,Sort91UpIcon,SortAzDownIcon,SortAzUpIcon,SortItemDownIcon,SortItemUpIcon,SortZaDownIcon,SortZaUpIcon,SoundcloudIcon,SpaIcon,SpacingHrIcon,SpacingVrIcon,Sparkle01BlinkIcon,Sparkle01Icon,Sparkle02BlinkIcon,Sparkle02Icon,SparklesIcon,SpatulaIcon,SpeakerIcon,SpeedTrainIcon,SpotifyIcon,StairsIcon,StampIcon,Standard3dIcon,Standard4kIcon,StandardAdIcon,StandardArIcon,StandardCcIcon,StandardHdIcon,StandardSdIcon,StandardVrIcon,StarIcon,StarsIcon,StationeryIcon,StatusUpdatesIcon,SteakIcon,SteeringWheelIcon,StethoscopeIcon,StickerDotsIcon,StickerEmojiIcon,StickerIcon,StickersIcon,StockingsIcon,StomachIcon,StopCircleIcon,StopIcon,StopwatchIcon,StorageCabinIcon,StorageClothingIcon,StoryAddIcon,StrawberryIcon,StreetViewIcon,StrikeThroughIcon,SubtitleIcon,SuitcaseIcon,Sun01Icon,Sun02Icon,SunIcon,SunriseIcon,SunriseSeaIcon,SunsetIcon,SwimmingIcon,SwitchHrIcon,SwitchVrIcon,SyringeIcon,TShirtIcon,TableCellIcon,TableColIcon,TableIcon,TableRowIcon,TableViewIcon,TabletIcon,TagDollarIcon,TagIcon,TagPercentIcon,TagsIcon,TankTopIcon,TankTopNumberIcon,TelegramIcon,TelephoneRetroIcon,TelescopeIcon,TemperatureColdIcon,TemperatureHotIcon,TemperatureIcon,TerminalBrowserIcon,TerminalIcon,TerminalLaptopIcon,TerminalMonitorIcon,TerminalSquareIcon,TerraceIcon,TextAlignCenterIcon,TextAlignJustifyIcon,TextAlignLeftIcon,TextAlignRightIcon,TextAreaDraggerIcon,TextToolIcon,ThermometerIcon,ThumbsDownClassicIcon,ThumbsDownIcon,ThumbsUpClassicIcon,ThumbsUpIcon,TicketAirlineIcon,TicketIcon,TieIcon,TiktokIcon,TiktokSquareIcon,Timer10sIcon,TimerIcon,TmcgMarkIcon,ToggleAltRightIcon,ToggleRightIcon,TogglesIcon,ToothBrokenIcon,ToothIcon,ToothShieldCheckIcon,ToothbrushIcon,TornadoIcon,TrafficConeIcon,TrafficSignalIcon,TrainIcon,TrainTunnelIcon,TramIcon,TransferAltIcon,TransferAltSquareIcon,TransferHrIcon,TransferHrSquareIcon,TransferVrIcon,TransferVrSquareIcon,TranslateIcon,TranslateSquareIcon,TransparentTrustedIcon,TrashBlankIcon,TrashCheckIcon,TrashClockIcon,TrashExclamationIcon,TrashIcon,TrashXmarkIcon,TreeIcon,TreesIcon,TrelloIcon,TrendDownIcon,TrendUpIcon,TrolleyCaseIcon,TrolleyIcon,TrophyIcon,TruckDelayIcon,TruckFastIcon,TruckIcon,TruckMedicalIcon,TrustpilotIcon,TubeIcon,TurnLeftSignIcon,TurnRightSignIcon,TvIcon,TvMusicIcon,TvRetroIcon,TwitterIcon,TwitterSquareIcon,TwitterXIcon,TwitterXSquareIcon,UfoIcon,UmbrellaIcon,UnderlineIcon,UnderpantsIcon,UnlockIcon,UnlockKeyholeIcon,Upload01Icon,Upload02Icon,UsbIcon,UserBannedIcon,UserCheckIcon,UserClassicIcon,UserEditIcon,UserIcon,UserLockIcon,UserMinusIcon,UserPlusIcon,UserSearchIcon,UserSettingsIcon,UserXmarkIcon,UsersClassicIcon,UsersGroupIcon,UsersIcon,UsersPlusIcon,VacuumIcon,VectorBezierCurveIcon,VectorCircleIcon,VectorSquareIcon,VectorTriangleIcon,VendorDirectoryIcon,VendorsIcon,VennDiagramIcon,VialIcon,VideoRecorderAltIcon,VideoRecorderIcon,VideoRecorderOffIcon,VideoRecorderPlayIcon,Virus01Icon,Virus02Icon,VoicemailIcon,VolleyballIcon,VolumeDownIcon,VolumeMinusIcon,VolumeOffFilledIcon,VolumeOffIcon,VolumePlusIcon,VolumeUpIcon,VolumeXmarkIcon,VoucherDollarIcon,VoucherPercentIcon,VrGlassesIcon,Wallet01Icon,Wallet02Icon,WarehouseIcon,WasherIcon,Watch01Icon,Watch02Icon,Watch03Icon,WatchHeartIcon,WatchPulseIcon,WaterBottleIcon,WaterDropletIcon,WaterDropletOffIcon,WaterWaveIcon,WatermelonIcon,WaveformIcon,WebDesignIcon,WebcamCircleIcon,WebcamSquareIcon,WhatsappIcon,WheelchairIcon,WhistleIcon,WifiExclamationIcon,WifiIcon,WifiLockIcon,WifiOffIcon,WifiShieldIcon,WifiXmarkIcon,WindIcon,WindowIcon,WindowsClassicIcon,WindowsIcon,WindowsLogoGreyIcon,WindowsLogoIcon,WingetLogoGreyIcon,WingetLogoIcon,WrenchIcon,WrenchScrewdiverIcon,XLogoIcon,XSmallIcon,XmarkAltIcon,XmarkCircleIcon,XmarkIcon,XmarkSquareIcon,YinYangIcon,YoutubeClassicIcon,YoutubeIcon,ZoomInIcon,ZoomOutIcon".split(",")
77
+ );
78
+ var LUCIDE_ICON_NAMES = new Set(
79
+ "a-arrow-down,a-arrow-up,a-large-small,accessibility,activity,air-vent,airplay,alarm-clock,alarm-clock-check,alarm-clock-minus,alarm-clock-off,alarm-clock-plus,alarm-smoke,album,align-center,align-center-horizontal,align-center-vertical,align-end-horizontal,align-end-vertical,align-horizontal-distribute-center,align-horizontal-distribute-end,align-horizontal-distribute-start,align-horizontal-justify-center,align-horizontal-justify-end,align-horizontal-justify-start,align-horizontal-space-around,align-horizontal-space-between,align-justify,align-left,align-right,align-start-horizontal,align-start-vertical,align-vertical-distribute-center,align-vertical-distribute-end,align-vertical-distribute-start,align-vertical-justify-center,align-vertical-justify-end,align-vertical-justify-start,align-vertical-space-around,align-vertical-space-between,ambulance,ampersand,ampersands,amphora,anchor,angry,annoyed,antenna,anvil,aperture,app-window,app-window-mac,apple,archive,archive-restore,archive-x,armchair,arrow-big-down,arrow-big-down-dash,arrow-big-left,arrow-big-left-dash,arrow-big-right,arrow-big-right-dash,arrow-big-up,arrow-big-up-dash,arrow-down,arrow-down-0-1,arrow-down-1-0,arrow-down-a-z,arrow-down-from-line,arrow-down-left,arrow-down-narrow-wide,arrow-down-right,arrow-down-to-dot,arrow-down-to-line,arrow-down-up,arrow-down-wide-narrow,arrow-down-z-a,arrow-left,arrow-left-from-line,arrow-left-right,arrow-left-to-line,arrow-right,arrow-right-from-line,arrow-right-left,arrow-right-to-line,arrow-up,arrow-up-0-1,arrow-up-1-0,arrow-up-a-z,arrow-up-down,arrow-up-from-dot,arrow-up-from-line,arrow-up-left,arrow-up-narrow-wide,arrow-up-right,arrow-up-to-line,arrow-up-wide-narrow,arrow-up-z-a,arrows-up-from-line,asterisk,at-sign,atom,audio-lines,audio-waveform,award,axe,axis-3d,baby,backpack,badge,badge-alert,badge-cent,badge-check,badge-dollar-sign,badge-euro,badge-help,badge-indian-rupee,badge-info,badge-japanese-yen,badge-minus,badge-percent,badge-plus,badge-pound-sterling,badge-russian-ruble,badge-swiss-franc,badge-x,baggage-claim,ban,banana,bandage,banknote,barcode,baseline,bath,battery,battery-charging,battery-full,battery-low,battery-medium,battery-warning,beaker,bean,bean-off,bed,bed-double,bed-single,beef,beer,beer-off,bell,bell-dot,bell-electric,bell-minus,bell-off,bell-plus,bell-ring,between-horizontal-end,between-horizontal-start,between-vertical-end,between-vertical-start,biceps-flexed,bike,binary,binoculars,biohazard,bird,bitcoin,blend,blinds,blocks,bluetooth,bluetooth-connected,bluetooth-off,bluetooth-searching,bold,bolt,bomb,bone,book,book-a,book-audio,book-check,book-copy,book-dashed,book-down,book-headphones,book-heart,book-image,book-key,book-lock,book-marked,book-minus,book-open,book-open-check,book-open-text,book-plus,book-text,book-type,book-up,book-up-2,book-user,book-x,bookmark,bookmark-check,bookmark-minus,bookmark-plus,bookmark-x,boom-box,bot,bot-message-square,bot-off,box,boxes,braces,brackets,brain,brain-circuit,brain-cog,brick-wall,briefcase,briefcase-business,briefcase-conveyor-belt,briefcase-medical,bring-to-front,brush,bug,bug-off,bug-play,building,building-2,bus,bus-front,cable,cable-car,cake,cake-slice,calculator,calendar,calendar-1,calendar-arrow-down,calendar-arrow-up,calendar-check,calendar-check-2,calendar-clock,calendar-cog,calendar-days,calendar-fold,calendar-heart,calendar-minus,calendar-minus-2,calendar-off,calendar-plus,calendar-plus-2,calendar-range,calendar-search,calendar-x,calendar-x-2,camera,camera-off,candy,candy-cane,candy-off,cannabis,captions,captions-off,car,car-front,car-taxi-front,caravan,carrot,case-lower,case-sensitive,case-upper,cassette-tape,cast,castle,cat,cctv,chart-area,chart-bar,chart-bar-big,chart-bar-decreasing,chart-bar-increasing,chart-bar-stacked,chart-candlestick,chart-column,chart-column-big,chart-column-decreasing,chart-column-increasing,chart-column-stacked,chart-gantt,chart-line,chart-network,chart-no-axes-column,chart-no-axes-column-decreasing,chart-no-axes-column-increasing,chart-no-axes-combined,chart-no-axes-gantt,chart-pie,chart-scatter,chart-spline,check,check-check,chef-hat,cherry,chevron-down,chevron-first,chevron-last,chevron-left,chevron-right,chevron-up,chevrons-down,chevrons-down-up,chevrons-left,chevrons-left-right,chevrons-left-right-ellipsis,chevrons-right,chevrons-right-left,chevrons-up,chevrons-up-down,chrome,church,cigarette,cigarette-off,circle,circle-alert,circle-arrow-down,circle-arrow-left,circle-arrow-out-down-left,circle-arrow-out-down-right,circle-arrow-out-up-left,circle-arrow-out-up-right,circle-arrow-right,circle-arrow-up,circle-check,circle-check-big,circle-chevron-down,circle-chevron-left,circle-chevron-right,circle-chevron-up,circle-dashed,circle-divide,circle-dollar-sign,circle-dot,circle-dot-dashed,circle-ellipsis,circle-equal,circle-fading-arrow-up,circle-fading-plus,circle-gauge,circle-help,circle-minus,circle-off,circle-parking,circle-parking-off,circle-pause,circle-percent,circle-play,circle-plus,circle-power,circle-slash,circle-slash-2,circle-stop,circle-user,circle-user-round,circle-x,circuit-board,citrus,clapperboard,clipboard,clipboard-check,clipboard-copy,clipboard-list,clipboard-minus,clipboard-paste,clipboard-pen,clipboard-pen-line,clipboard-plus,clipboard-type,clipboard-x,clock,clock-1,clock-10,clock-11,clock-12,clock-2,clock-3,clock-4,clock-5,clock-6,clock-7,clock-8,clock-9,clock-alert,clock-arrow-down,clock-arrow-up,cloud,cloud-cog,cloud-download,cloud-drizzle,cloud-fog,cloud-hail,cloud-lightning,cloud-moon,cloud-moon-rain,cloud-off,cloud-rain,cloud-rain-wind,cloud-snow,cloud-sun,cloud-sun-rain,cloud-upload,cloudy,clover,club,code,code-xml,codepen,codesandbox,coffee,cog,coins,columns-2,columns-3,columns-4,combine,command,compass,component,computer,concierge-bell,cone,construction,contact,contact-round,container,contrast,cookie,cooking-pot,copy,copy-check,copy-minus,copy-plus,copy-slash,copy-x,copyleft,copyright,corner-down-left,corner-down-right,corner-left-down,corner-left-up,corner-right-down,corner-right-up,corner-up-left,corner-up-right,cpu,creative-commons,credit-card,croissant,crop,cross,crosshair,crown,cuboid,cup-soda,currency,cylinder,dam,database,database-backup,database-zap,delete,dessert,diameter,diamond,diamond-minus,diamond-percent,diamond-plus,dice-1,dice-2,dice-3,dice-4,dice-5,dice-6,dices,diff,disc,disc-2,disc-3,disc-album,divide,dna,dna-off,dock,dog,dollar-sign,donut,door-closed,door-open,dot,download,drafting-compass,drama,dribbble,drill,droplet,droplets,drum,drumstick,dumbbell,ear,ear-off,earth,earth-lock,eclipse,egg,egg-fried,egg-off,ellipsis,ellipsis-vertical,equal,equal-not,eraser,ethernet-port,euro,expand,external-link,eye,eye-closed,eye-off,facebook,factory,fan,fast-forward,feather,fence,ferris-wheel,figma,file,file-archive,file-audio,file-audio-2,file-axis-3d,file-badge,file-badge-2,file-box,file-chart-column,file-chart-column-increasing,file-chart-line,file-chart-pie,file-check,file-check-2,file-clock,file-code,file-code-2,file-cog,file-diff,file-digit,file-down,file-heart,file-image,file-input,file-json,file-json-2,file-key,file-key-2,file-lock,file-lock-2,file-minus,file-minus-2,file-music,file-output,file-pen,file-pen-line,file-plus,file-plus-2,file-question,file-scan,file-search,file-search-2,file-sliders,file-spreadsheet,file-stack,file-symlink,file-terminal,file-text,file-type,file-type-2,file-up,file-user,file-video,file-video-2,file-volume,file-volume-2,file-warning,file-x,file-x-2,files,film,filter,filter-x,fingerprint,fire-extinguisher,fish,fish-off,fish-symbol,flag,flag-off,flag-triangle-left,flag-triangle-right,flame,flame-kindling,flashlight,flashlight-off,flask-conical,flask-conical-off,flask-round,flip-horizontal,flip-horizontal-2,flip-vertical,flip-vertical-2,flower,flower-2,focus,fold-horizontal,fold-vertical,folder,folder-archive,folder-check,folder-clock,folder-closed,folder-code,folder-cog,folder-dot,folder-down,folder-git,folder-git-2,folder-heart,folder-input,folder-kanban,folder-key,folder-lock,folder-minus,folder-open,folder-open-dot,folder-output,folder-pen,folder-plus,folder-root,folder-search,folder-search-2,folder-symlink,folder-sync,folder-tree,folder-up,folder-x,folders,footprints,forklift,forward,frame,framer,frown,fuel,fullscreen,gallery-horizontal,gallery-horizontal-end,gallery-thumbnails,gallery-vertical,gallery-vertical-end,gamepad,gamepad-2,gauge,gavel,gem,ghost,gift,git-branch,git-branch-plus,git-commit-horizontal,git-commit-vertical,git-compare,git-compare-arrows,git-fork,git-graph,git-merge,git-pull-request,git-pull-request-arrow,git-pull-request-closed,git-pull-request-create,git-pull-request-create-arrow,git-pull-request-draft,github,gitlab,glass-water,glasses,globe,globe-lock,goal,grab,graduation-cap,grape,grid-2x2,grid-2x2-check,grid-2x2-plus,grid-2x2-x,grid-3x3,grip,grip-horizontal,grip-vertical,group,guitar,ham,hammer,hand,hand-coins,hand-heart,hand-helping,hand-metal,hand-platter,handshake,hard-drive,hard-drive-download,hard-drive-upload,hard-hat,hash,haze,hdmi-port,heading,heading-1,heading-2,heading-3,heading-4,heading-5,heading-6,headphone-off,headphones,headset,heart,heart-crack,heart-handshake,heart-off,heart-pulse,heater,hexagon,highlighter,history,hop,hop-off,hospital,hotel,hourglass,house,house-plug,house-plus,ice-cream-bowl,ice-cream-cone,id-card,image,image-down,image-minus,image-off,image-play,image-plus,image-up,images,import,inbox,indent-decrease,indent-increase,indian-rupee,infinity,info,inspection-panel,instagram,italic,iteration-ccw,iteration-cw,japanese-yen,joystick,kanban,key,key-round,key-square,keyboard,keyboard-music,keyboard-off,lamp,lamp-ceiling,lamp-desk,lamp-floor,lamp-wall-down,lamp-wall-up,land-plot,landmark,languages,laptop,laptop-minimal,lasso,lasso-select,laugh,layers,layers-2,layers-3,layout-dashboard,layout-grid,layout-list,layout-panel-left,layout-panel-top,layout-template,leaf,leafy-green,lectern,letter-text,library,library-big,life-buoy,ligature,lightbulb,lightbulb-off,link,link-2,link-2-off,linkedin,list,list-check,list-checks,list-collapse,list-end,list-filter,list-minus,list-music,list-ordered,list-plus,list-restart,list-start,list-todo,list-tree,list-video,list-x,loader,loader-circle,loader-pinwheel,locate,locate-fixed,locate-off,lock,lock-keyhole,lock-keyhole-open,lock-open,log-in,log-out,logs,lollipop,luggage,magnet,mail,mail-check,mail-minus,mail-open,mail-plus,mail-question,mail-search,mail-warning,mail-x,mailbox,mails,map,map-pin,map-pin-check,map-pin-check-inside,map-pin-house,map-pin-minus,map-pin-minus-inside,map-pin-off,map-pin-plus,map-pin-plus-inside,map-pin-x,map-pin-x-inside,map-pinned,martini,maximize,maximize-2,medal,megaphone,megaphone-off,meh,memory-stick,menu,merge,message-circle,message-circle-code,message-circle-dashed,message-circle-heart,message-circle-more,message-circle-off,message-circle-plus,message-circle-question,message-circle-reply,message-circle-warning,message-circle-x,message-square,message-square-code,message-square-dashed,message-square-diff,message-square-dot,message-square-heart,message-square-lock,message-square-more,message-square-off,message-square-plus,message-square-quote,message-square-reply,message-square-share,message-square-text,message-square-warning,message-square-x,messages-square,mic,mic-off,mic-vocal,microchip,microscope,microwave,milestone,milk,milk-off,minimize,minimize-2,minus,monitor,monitor-check,monitor-cog,monitor-dot,monitor-down,monitor-off,monitor-pause,monitor-play,monitor-smartphone,monitor-speaker,monitor-stop,monitor-up,monitor-x,moon,moon-star,mountain,mountain-snow,mouse,mouse-off,mouse-pointer,mouse-pointer-2,mouse-pointer-ban,mouse-pointer-click,move,move-3d,move-diagonal,move-diagonal-2,move-down,move-down-left,move-down-right,move-horizontal,move-left,move-right,move-up,move-up-left,move-up-right,move-vertical,music,music-2,music-3,music-4,navigation,navigation-2,navigation-2-off,navigation-off,network,newspaper,nfc,notebook,notebook-pen,notebook-tabs,notebook-text,notepad-text,notepad-text-dashed,nut,nut-off,octagon,octagon-alert,octagon-minus,octagon-pause,octagon-x,omega,option,orbit,origami,package,package-2,package-check,package-minus,package-open,package-plus,package-search,package-x,paint-bucket,paint-roller,paintbrush,paintbrush-vertical,palette,panel-bottom,panel-bottom-close,panel-bottom-dashed,panel-bottom-open,panel-left,panel-left-close,panel-left-dashed,panel-left-open,panel-right,panel-right-close,panel-right-dashed,panel-right-open,panel-top,panel-top-close,panel-top-dashed,panel-top-open,panels-left-bottom,panels-right-bottom,panels-top-left,paperclip,parentheses,parking-meter,party-popper,pause,paw-print,pc-case,pen,pen-line,pen-off,pen-tool,pencil,pencil-line,pencil-off,pencil-ruler,pentagon,percent,person-standing,philippine-peso,phone,phone-call,phone-forwarded,phone-incoming,phone-missed,phone-off,phone-outgoing,pi,piano,pickaxe,picture-in-picture,picture-in-picture-2,piggy-bank,pilcrow,pilcrow-left,pilcrow-right,pill,pill-bottle,pin,pin-off,pipette,pizza,plane,plane-landing,plane-takeoff,play,plug,plug-2,plug-zap,plus,pocket,pocket-knife,podcast,pointer,pointer-off,popcorn,popsicle,pound-sterling,power,power-off,presentation,printer,printer-check,projector,proportions,puzzle,pyramid,qr-code,quote,rabbit,radar,radiation,radical,radio,radio-receiver,radio-tower,radius,rail-symbol,rainbow,rat,ratio,receipt,receipt-cent,receipt-euro,receipt-indian-rupee,receipt-japanese-yen,receipt-pound-sterling,receipt-russian-ruble,receipt-swiss-franc,receipt-text,rectangle-ellipsis,rectangle-horizontal,rectangle-vertical,recycle,redo,redo-2,redo-dot,refresh-ccw,refresh-ccw-dot,refresh-cw,refresh-cw-off,refrigerator,regex,remove-formatting,repeat,repeat-1,repeat-2,replace,replace-all,reply,reply-all,rewind,ribbon,rocket,rocking-chair,roller-coaster,rotate-3d,rotate-ccw,rotate-ccw-square,rotate-cw,rotate-cw-square,route,route-off,router,rows-2,rows-3,rows-4,rss,ruler,russian-ruble,sailboat,salad,sandwich,satellite,satellite-dish,save,save-all,save-off,scale,scale-3d,scaling,scan,scan-barcode,scan-eye,scan-face,scan-line,scan-qr-code,scan-search,scan-text,school,scissors,scissors-line-dashed,screen-share,screen-share-off,scroll,scroll-text,search,search-check,search-code,search-slash,search-x,section,send,send-horizontal,send-to-back,separator-horizontal,separator-vertical,server,server-cog,server-crash,server-off,settings,settings-2,shapes,share,share-2,sheet,shell,shield,shield-alert,shield-ban,shield-check,shield-ellipsis,shield-half,shield-minus,shield-off,shield-plus,shield-question,shield-x,ship,ship-wheel,shirt,shopping-bag,shopping-basket,shopping-cart,shovel,shower-head,shrink,shrub,shuffle,sigma,signal,signal-high,signal-low,signal-medium,signal-zero,signature,signpost,signpost-big,siren,skip-back,skip-forward,skull,slack,slash,slice,sliders-horizontal,sliders-vertical,smartphone,smartphone-charging,smartphone-nfc,smile,smile-plus,snail,snowflake,sofa,soup,space,spade,sparkle,sparkles,speaker,speech,spell-check,spell-check-2,spline,split,spray-can,sprout,square,square-activity,square-arrow-down,square-arrow-down-left,square-arrow-down-right,square-arrow-left,square-arrow-out-down-left,square-arrow-out-down-right,square-arrow-out-up-left,square-arrow-out-up-right,square-arrow-right,square-arrow-up,square-arrow-up-left,square-arrow-up-right,square-asterisk,square-bottom-dashed-scissors,square-chart-gantt,square-check,square-check-big,square-chevron-down,square-chevron-left,square-chevron-right,square-chevron-up,square-code,square-dashed,square-dashed-bottom,square-dashed-bottom-code,square-dashed-kanban,square-dashed-mouse-pointer,square-divide,square-dot,square-equal,square-function,square-kanban,square-library,square-m,square-menu,square-minus,square-mouse-pointer,square-parking,square-parking-off,square-pen,square-percent,square-pi,square-pilcrow,square-play,square-plus,square-power,square-radical,square-scissors,square-sigma,square-slash,square-split-horizontal,square-split-vertical,square-square,square-stack,square-terminal,square-user,square-user-round,square-x,squircle,squirrel,stamp,star,star-half,star-off,step-back,step-forward,stethoscope,sticker,sticky-note,store,stretch-horizontal,stretch-vertical,strikethrough,subscript,sun,sun-dim,sun-medium,sun-moon,sun-snow,sunrise,sunset,superscript,swatch-book,swiss-franc,switch-camera,sword,swords,syringe,table,table-2,table-cells-merge,table-cells-split,table-columns-split,table-of-contents,table-properties,table-rows-split,tablet,tablet-smartphone,tablets,tag,tags,tally-1,tally-2,tally-3,tally-4,tally-5,tangent,target,telescope,tent,tent-tree,terminal,test-tube,test-tube-diagonal,test-tubes,text,text-cursor,text-cursor-input,text-quote,text-search,text-select,theater,thermometer,thermometer-snowflake,thermometer-sun,thumbs-down,thumbs-up,ticket,ticket-check,ticket-minus,ticket-percent,ticket-plus,ticket-slash,ticket-x,tickets,tickets-plane,timer,timer-off,timer-reset,toggle-left,toggle-right,tornado,torus,touchpad,touchpad-off,tower-control,toy-brick,tractor,traffic-cone,train-front,train-front-tunnel,train-track,tram-front,trash,trash-2,tree-deciduous,tree-palm,tree-pine,trees,trello,trending-down,trending-up,trending-up-down,triangle,triangle-alert,triangle-right,trophy,truck,turtle,tv,tv-minimal,tv-minimal-play,twitch,twitter,type,type-outline,umbrella,umbrella-off,underline,undo,undo-2,undo-dot,unfold-horizontal,unfold-vertical,ungroup,university,unlink,unlink-2,unplug,upload,usb,user,user-check,user-cog,user-minus,user-pen,user-plus,user-round,user-round-check,user-round-cog,user-round-minus,user-round-pen,user-round-plus,user-round-search,user-round-x,user-search,user-x,users,users-round,utensils,utensils-crossed,utility-pole,variable,vault,vegan,venetian-mask,vibrate,vibrate-off,video,video-off,videotape,view,voicemail,volleyball,volume,volume-1,volume-2,volume-off,volume-x,vote,wallet,wallet-cards,wallet-minimal,wallpaper,wand,wand-sparkles,warehouse,washing-machine,watch,waves,waypoints,webcam,webhook,webhook-off,weight,wheat,wheat-off,whole-word,wifi,wifi-high,wifi-low,wifi-off,wifi-zero,wind,wine,wine-off,workflow,worm,wrap-text,wrench,x,youtube,zap,zap-off,zoom-in,zoom-out".split(",")
80
+ );
81
+
82
+ // src/components/chat/utils/icon-loading.tsx
83
+ var _jsxruntime = require('react/jsx-runtime');
84
+ var ICON_DEFAULT_SIZE = 24;
85
+ var icons = /* @__PURE__ */ new Map();
86
+ var loadedIcons = /* @__PURE__ */ new Map();
87
+ var iconLoads = /* @__PURE__ */ new Map();
88
+ var iconListeners = /* @__PURE__ */ new Map();
89
+ var iconFailures = /* @__PURE__ */ new Map();
90
+ var ICON_RETRY_AFTER_MS = 3e4;
91
+ function loadIcon(key, loader) {
92
+ if (loadedIcons.has(key) || iconLoads.has(key)) return;
93
+ const failedAt = iconFailures.get(key);
94
+ if (failedAt !== void 0 && Date.now() - failedAt < ICON_RETRY_AFTER_MS) return;
95
+ iconLoads.set(
96
+ key,
97
+ loader().then((module) => {
98
+ loadedIcons.set(key, module.default);
99
+ iconFailures.delete(key);
100
+ for (const listener of _nullishCoalesce(iconListeners.get(key), () => ( []))) listener();
101
+ }).catch(() => {
102
+ iconFailures.set(key, Date.now());
103
+ }).finally(() => {
104
+ iconLoads.delete(key);
105
+ })
106
+ );
107
+ }
108
+ function subscribeToIcon(key) {
109
+ return (listener) => {
110
+ const listeners = _nullishCoalesce(iconListeners.get(key), () => ( /* @__PURE__ */ new Set()));
111
+ listeners.add(listener);
112
+ iconListeners.set(key, listeners);
113
+ return () => {
114
+ listeners.delete(listener);
115
+ };
116
+ };
117
+ }
118
+ var KEEP_MARKUP = { __html: "" };
119
+ function sameProps(a, b) {
120
+ const keys = Object.keys(a);
121
+ return keys.length === Object.keys(b).length && keys.every((key) => Object.is(a[key], b[key]));
122
+ }
123
+ function loadedOnDemand(key, displayName, loader) {
124
+ const known = icons.get(key);
125
+ if (known) return known;
126
+ const ServerDrawn = _react.lazy.call(void 0, loader);
127
+ const subscribe = subscribeToIcon(key);
128
+ const loaded = () => loadedIcons.get(key);
129
+ const OnDemandIcon = (props) => {
130
+ const arrived = _react.useSyncExternalStore.call(void 0, subscribe, loaded, loaded);
131
+ const svg = _react.useRef.call(void 0, null);
132
+ const drawnWith = _react.useRef.call(void 0, null);
133
+ _react.useEffect.call(void 0, () => {
134
+ if (arrived) return;
135
+ const first = drawnWith.current === null;
136
+ if (first) drawnWith.current = props;
137
+ const drawn = _nullishCoalesce(_optionalChain([svg, 'access', _2 => _2.current, 'optionalAccess', _3 => _3.hasChildNodes, 'call', _4 => _4()]), () => ( false));
138
+ if (!drawn || !first && drawnWith.current !== null && !sameProps(drawnWith.current, props))
139
+ loadIcon(key, loader);
140
+ });
141
+ if (typeof window === "undefined") return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ServerDrawn, { ...props });
142
+ if (arrived) return _react.createElement.call(void 0, arrived, props);
143
+ const { size, color: _color, secondaryColor: _secondaryColor, tertiaryColor: _tertiaryColor, ...rest } = props;
144
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
145
+ "svg",
146
+ {
147
+ ...rest,
148
+ ref: svg,
149
+ width: _nullishCoalesce(size, () => ( ICON_DEFAULT_SIZE)),
150
+ height: _nullishCoalesce(size, () => ( ICON_DEFAULT_SIZE)),
151
+ suppressHydrationWarning: true,
152
+ dangerouslySetInnerHTML: KEEP_MARKUP
153
+ }
154
+ );
155
+ };
156
+ OnDemandIcon.displayName = displayName;
157
+ icons.set(key, OnDemandIcon);
158
+ return OnDemandIcon;
159
+ }
160
+ var NO_ICON = { default: () => null };
161
+ function fromTable(table, name) {
162
+ return () => table().then((loaders) => _nullishCoalesce(_optionalChain([loaders, 'access', _5 => _5[name], 'optionalCall', _6 => _6()]), () => ( NO_ICON)));
163
+ }
164
+ function sharedTable(fetchTable) {
165
+ let table;
166
+ return () => {
167
+ if (!table) {
168
+ const attempt = fetchTable();
169
+ table = attempt;
170
+ attempt.catch(() => {
171
+ if (table === attempt) table = void 0;
172
+ });
173
+ }
174
+ return table;
175
+ };
176
+ }
177
+ var setLoaders = sharedTable(
178
+ () => Promise.resolve().then(() => _interopRequireWildcard(require("./icon-loaders-OLGJZGRP.cjs"))).then((module) => module.ICON_LOADERS)
179
+ );
180
+ var lucideLoaders = sharedTable(
181
+ () => Promise.resolve().then(() => _interopRequireWildcard(require("lucide-react/dynamicIconImports"))).then((module) => _nullishCoalesce(module.default, () => ( module)))
182
+ );
183
+ function iconFromSet(exportName) {
184
+ if (!ICON_SET_NAMES.has(exportName)) return void 0;
185
+ return loadedOnDemand(`set:${exportName}`, exportName, fromTable(setLoaders, exportName));
186
+ }
187
+ function setIcon(exportName) {
188
+ const icon = iconFromSet(exportName);
189
+ if (!icon) throw new Error(`icon-loading: the generated icon set has no "${exportName}"`);
190
+ return icon;
191
+ }
192
+ function lucideIcon(name) {
193
+ if (!LUCIDE_ICON_NAMES.has(name)) return void 0;
194
+ return loadedOnDemand(`lucide:${name}`, `Lucide(${name})`, fromTable(lucideLoaders, name));
195
+ }
196
+ var refIcons = /* @__PURE__ */ new Map();
197
+ function iconOf(ref) {
198
+ const key = JSON.stringify(ref);
199
+ const known = refIcons.get(key);
200
+ if (known !== void 0) return known;
201
+ const icon = _nullishCoalesce(_nullishCoalesce((ref.set ? iconFromSet(ref.set) : void 0), () => ( (ref.lucide ? lucideIcon(ref.lucide) : void 0))), () => ( null));
202
+ const { set: _set, lucide: _lucide, size, ownColor, oneColor, ...colors } = ref;
203
+ const plain = size === void 0 && !ownColor && !oneColor && Object.keys(colors).length === 0;
204
+ let resolved = icon;
205
+ if (icon && !plain) {
206
+ const mark = icon;
207
+ const partsOfItsOwn = Boolean(ownColor || oneColor || colors.secondaryColor || colors.tertiaryColor);
208
+ const Mark = (props) => {
209
+ const tint = oneColor ? _nullishCoalesce(_nullishCoalesce(props.color, () => ( colors.color)), () => ( "currentColor")) : void 0;
210
+ return _react.createElement.call(void 0, mark, {
211
+ ...colors,
212
+ // A mark with parts of its own takes its size, class and colour and nothing else: a stored `icon_props`
213
+ // may name the parts of an older component, which are not attributes of an `<svg>`.
214
+ ...partsOfItsOwn ? { className: props.className } : props,
215
+ size: _nullishCoalesce(props.size, () => ( size)),
216
+ color: _nullishCoalesce(tint, () => ( (ownColor ? colors.color : _nullishCoalesce(props.color, () => ( colors.color))))),
217
+ ...tint ? { secondaryColor: tint } : {}
218
+ });
219
+ };
220
+ Mark.displayName = `Mark(${_nullishCoalesce(_nullishCoalesce(ref.set, () => ( ref.lucide)), () => ( ""))})`;
221
+ resolved = Mark;
222
+ }
223
+ refIcons.set(key, resolved);
224
+ return resolved;
225
+ }
226
+ function requireIcon(ref) {
227
+ const icon = iconOf(ref);
228
+ if (!icon) throw new Error(`icon-loading: no icon named ${JSON.stringify(_nullishCoalesce(ref.set, () => ( ref.lucide)))}`);
229
+ return icon;
230
+ }
231
+ function NamedIcon({ icon, ...props }) {
232
+ return _react.createElement.call(void 0, requireIcon(icon), props);
233
+ }
234
+ var HOUSE_MARK = { set: "FlamingoMarkIcon", color: "var(--color-accent-primary)" };
235
+ var EVERY_PLATFORM = "universal";
236
+ var EVERY_PLATFORM_MARK = { lucide: "globe" };
237
+ function setStem(platform) {
238
+ return platform.split(/[^a-zA-Z0-9]+/).filter(Boolean).map((part) => part.charAt(0).toUpperCase() + part.slice(1).toLowerCase()).join("");
239
+ }
240
+ function platformMarkRef(platform) {
241
+ if (platform === EVERY_PLATFORM) return EVERY_PLATFORM_MARK;
242
+ const stem = setStem(platform);
243
+ for (const exportName of [`${stem}MarkIcon`, `${stem}LogoIcon`]) {
244
+ if (ICON_SET_NAMES.has(exportName)) return { set: exportName };
245
+ }
246
+ return HOUSE_MARK;
247
+ }
248
+ function PlatformMark({ platform, ...props }) {
249
+ const mark = requireIcon(platformMarkRef(platform));
250
+ return _react.createElement.call(void 0, mark, { ...props, "data-app-type": platform });
251
+ }
252
+
253
+ // src/utils/platform-identity.ts
254
+ var platformDisplayNames = {
255
+ openmsp: "OpenMSP",
256
+ openframe: "OpenFrame",
257
+ flamingo: "Flamingo",
258
+ "marketing-hub": "Flamingo Marketing Hub",
259
+ "product-hub": "Flamingo Product Hub",
260
+ "revenue-hub": "Flamingo Revenue Hub",
261
+ "people-hub": "Flamingo People Hub",
262
+ "company-hub": "Flamingo Company Hub",
263
+ tmcg: "TMCG",
264
+ mlg: "Major League GitHub",
265
+ universal: "Universal"
266
+ };
267
+ var platformShortNames = {
268
+ mlg: "MLG"
269
+ };
270
+ var platformDescriptions = {
271
+ openmsp: "Comprehensive directory and comparison platform for managed service providers (MSPs) and technology vendors. Reduce vendor costs and discover open-source alternatives.",
272
+ openframe: "AI-driven open-source security operations center (SOC) and endpoint detection platform for MSPs.",
273
+ flamingo: "AI-driven open-source OS for MSPs. Swap bloated vendor tools for open ones. Automate the boring crap. Take your margin back.",
274
+ tmcg: "The Miami Cyber Gang - A cybersecurity community focused on education and collaboration.",
275
+ mlg: "Scouting report for US open-source talent. Rank GitHub contributors by programming language, city, state, region, and nearest Major League Soccer club.",
276
+ universal: "Cross-platform universal content."
277
+ };
278
+ var platformSlogans = {
279
+ openmsp: "Find Your Perfect MSP Partner",
280
+ openframe: "Open-Source Security Operations",
281
+ flamingo: "Open-Source OS for MSPs",
282
+ tmcg: "Miami Cyber Community",
283
+ mlg: "GitHub Scouting Report: Major League Edition",
284
+ universal: "Universal Platform"
285
+ };
286
+ function getPlatformDisplayName(platformName) {
287
+ return platformDisplayNames[platformName] || platformName;
288
+ }
289
+ function getPlatformShortName(platformName) {
290
+ return _nullishCoalesce(platformShortNames[platformName], () => ( getPlatformDisplayName(platformName)));
291
+ }
292
+ function getPlatformDescription(platformName) {
293
+ return platformDescriptions[platformName] || platformName;
294
+ }
295
+ function getPlatformSlogan(platformName) {
296
+ return platformSlogans[platformName] || platformName;
297
+ }
298
+ var ODS_STEM_TOKENS = {
299
+ "flamingo-pink": "flamingo-pink-base",
300
+ "flamingo-cyan": "flamingo-cyan-base",
301
+ "open-yellow": "open-yellow-base",
302
+ success: "attention-green-success",
303
+ warning: "attention-yellow-warning",
304
+ error: "attention-red-error",
305
+ "text-secondary": "system-greys-grey"
306
+ };
307
+ var ODS_STEM_CLASSES = {
308
+ "flamingo-pink": {
309
+ text: "text-ods-flamingo-pink",
310
+ bg: "bg-ods-flamingo-pink",
311
+ bgSoft: "bg-ods-flamingo-pink/10",
312
+ borderSoft: "border-ods-flamingo-pink/30"
313
+ },
314
+ "flamingo-cyan": {
315
+ text: "text-ods-flamingo-cyan",
316
+ bg: "bg-ods-flamingo-cyan",
317
+ bgSoft: "bg-ods-flamingo-cyan/10",
318
+ borderSoft: "border-ods-flamingo-cyan/30"
319
+ },
320
+ "open-yellow": {
321
+ text: "text-ods-open-yellow",
322
+ bg: "bg-ods-open-yellow",
323
+ bgSoft: "bg-ods-open-yellow/10",
324
+ borderSoft: "border-ods-open-yellow/30"
325
+ },
326
+ success: {
327
+ text: "text-ods-success",
328
+ bg: "bg-ods-success",
329
+ bgSoft: "bg-ods-success/10",
330
+ borderSoft: "border-ods-success/30"
331
+ },
332
+ warning: {
333
+ text: "text-ods-warning",
334
+ bg: "bg-ods-warning",
335
+ bgSoft: "bg-ods-warning/10",
336
+ borderSoft: "border-ods-warning/30"
337
+ },
338
+ error: {
339
+ text: "text-ods-error",
340
+ bg: "bg-ods-error",
341
+ bgSoft: "bg-ods-error/10",
342
+ borderSoft: "border-ods-error/30"
343
+ },
344
+ "text-secondary": {
345
+ text: "text-ods-text-secondary",
346
+ bg: "bg-ods-text-secondary",
347
+ bgSoft: "bg-ods-text-secondary/10",
348
+ borderSoft: "border-ods-text-secondary/30"
349
+ }
350
+ };
351
+ var PLATFORM_THEME = "dark";
352
+ var PLATFORM_SURFACE = {
353
+ background: "system-greys-background",
354
+ text: "system-greys-white"
355
+ };
356
+ var getPlatformBackgroundVarName = () => `--ods-${PLATFORM_SURFACE.background}`;
357
+ var getPlatformTextVarName = () => `--ods-${PLATFORM_SURFACE.text}`;
358
+ var PLATFORM_BRAND = {
359
+ openframe: { accentStem: "open-yellow", secondaryStem: "flamingo-cyan" },
360
+ openmsp: { accentStem: "open-yellow", secondaryStem: "open-yellow" },
361
+ flamingo: { accentStem: "flamingo-pink", secondaryStem: "flamingo-pink" },
362
+ tmcg: { accentStem: "flamingo-pink", secondaryStem: "flamingo-pink" },
363
+ "marketing-hub": { accentStem: "flamingo-pink", secondaryStem: "flamingo-pink" },
364
+ "product-hub": { accentStem: "success", secondaryStem: "success" },
365
+ "revenue-hub": { accentStem: "warning", secondaryStem: "warning" },
366
+ "people-hub": { accentStem: "flamingo-cyan", secondaryStem: "flamingo-cyan" },
367
+ "company-hub": { accentStem: "error", secondaryStem: "error" },
368
+ mlg: { accentStem: "flamingo-pink", secondaryStem: "flamingo-cyan" },
369
+ universal: { accentStem: "text-secondary", secondaryStem: "text-secondary" }
370
+ };
371
+ function getPlatformBrand(platformName) {
372
+ return _nullishCoalesce(PLATFORM_BRAND[platformName], () => ( PLATFORM_BRAND.universal));
373
+ }
374
+ function platformAccentToken(platformName) {
375
+ return ODS_STEM_TOKENS[getPlatformBrand(platformName).accentStem];
376
+ }
377
+ function platformSecondaryToken(platformName) {
378
+ return ODS_STEM_TOKENS[getPlatformBrand(platformName).secondaryStem];
379
+ }
380
+ function platformAccentVarName(platformName) {
381
+ return `--ods-${platformAccentToken(platformName)}`;
382
+ }
383
+ function platformSecondaryVarName(platformName) {
384
+ return `--ods-${platformSecondaryToken(platformName)}`;
385
+ }
386
+ function getPlatformAccentColor(platformName) {
387
+ return `var(${platformAccentVarName(platformName)})`;
388
+ }
389
+ function getPlatformSecondaryColor(platformName) {
390
+ return `var(${platformSecondaryVarName(platformName)})`;
391
+ }
392
+ function getPlatformBrandClasses(platformName) {
393
+ const brand = getPlatformBrand(platformName);
394
+ const accent = ODS_STEM_CLASSES[brand.accentStem];
395
+ const secondary = ODS_STEM_CLASSES[brand.secondaryStem];
396
+ return {
397
+ accentText: accent.text,
398
+ accentBg: accent.bg,
399
+ accentBgSoft: accent.bgSoft,
400
+ accentBorderSoft: accent.borderSoft,
401
+ secondaryText: secondary.text
402
+ };
403
+ }
404
+ var platformColors = Object.fromEntries(
405
+ Object.keys(PLATFORM_BRAND).map((p) => [p, getPlatformBrandClasses(p).accentBg])
406
+ );
407
+ function getPlatformColor(platformName) {
408
+ return platformColors[platformName] || platformColors.universal;
409
+ }
410
+ var platformHexColors = {
411
+ openmsp: "#ffc008",
412
+ openframe: "#ffc008",
413
+ flamingo: "#f357bb",
414
+ universal: "#888888",
415
+ "marketing-hub": "#f357bb",
416
+ "product-hub": "#5ea62e",
417
+ "revenue-hub": "#e1b32f",
418
+ "people-hub": "#5efaf0",
419
+ "company-hub": "#f36666",
420
+ tmcg: "#f357bb",
421
+ mlg: "#f357bb"
422
+ };
423
+ function getDefaultColorForPlatform(platformName) {
424
+ return platformHexColors[platformName] || platformHexColors.universal;
425
+ }
426
+
427
+ // src/components/chat/utils/icon-registry.ts
428
+
429
+ var lucide = (name) => ({ lucide: name });
430
+ var fromSet = (exportName) => ({ set: exportName });
431
+ var ICON_REGISTRY = {
432
+ activity: lucide("activity"),
433
+ banknote: lucide("banknote"),
434
+ bell: lucide("bell"),
435
+ "book-open": lucide("book-open"),
436
+ box: lucide("box"),
437
+ briefcase: lucide("briefcase"),
438
+ calendar: lucide("calendar"),
439
+ "check-square": lucide("square-check-big"),
440
+ "dollar-sign": lucide("dollar-sign"),
441
+ // For brand-vs-lucide variants the kebab key is the BRAND (most-common
442
+ // social-platform intent); `'<name>-lucide'` carries the lucide outline.
443
+ facebook: fromSet("FacebookClassicIcon"),
444
+ "facebook-lucide": lucide("facebook"),
445
+ "file-text": lucide("file-text"),
446
+ // `'github-lucide'` is the lucide outline glyph (used by
447
+ // `social_platforms.icon_name='Github'`); `'github'` is the brand icon
448
+ // (used by `chat_admin_slash_commands.icon_name='github'`).
449
+ github: fromSet("GithubClassicIcon"),
450
+ "github-lucide": lucide("github"),
451
+ globe: lucide("globe"),
452
+ "graduation-cap": lucide("graduation-cap"),
453
+ headphones: lucide("headphones"),
454
+ info: lucide("info"),
455
+ instagram: fromSet("InstagramClassicIcon"),
456
+ "instagram-lucide": lucide("instagram"),
457
+ mail: lucide("mail"),
458
+ megaphone: lucide("megaphone"),
459
+ "message-circle": lucide("message-circle"),
460
+ "message-square": lucide("message-square"),
461
+ newspaper: lucide("newspaper"),
462
+ package: lucide("package"),
463
+ "pen-square": lucide("square-pen"),
464
+ phone: lucide("phone"),
465
+ rocket: lucide("rocket"),
466
+ search: lucide("search"),
467
+ send: lucide("send"),
468
+ shield: lucide("shield"),
469
+ star: lucide("star"),
470
+ table: lucide("table-properties"),
471
+ "trending-up": lucide("trending-up"),
472
+ twitter: lucide("twitter"),
473
+ users: lucide("users"),
474
+ video: lucide("video"),
475
+ whatsapp: fromSet("WhatsappIcon"),
476
+ youtube: fromSet("YoutubeClassicIcon"),
477
+ "youtube-lucide": lucide("youtube"),
478
+ // brand-only icons (no lucide variant in current use)
479
+ slack: fromSet("SlackIcon"),
480
+ clickup: fromSet("ClickupIcon"),
481
+ hubspot: fromSet("HubspotIcon"),
482
+ linkedin: fromSet("LinkedinClassicIcon"),
483
+ x: fromSet("XLogoIcon"),
484
+ // The OpenFrame logo's frame takes the text colour of where it sits (its own
485
+ // default is invisible on dark chat surfaces); the squares stay white.
486
+ openframe: {
487
+ set: "OpenframeLogoIcon",
488
+ color: "currentColor",
489
+ secondaryColor: "var(--ods-system-greys-white)",
490
+ ownColor: true
491
+ }
492
+ };
493
+ function registryIcon(key) {
494
+ if (!Object.prototype.hasOwnProperty.call(ICON_REGISTRY, key)) return void 0;
495
+ return _nullishCoalesce(iconOf(ICON_REGISTRY[key]), () => ( void 0));
496
+ }
497
+ var GLOBE = lucide("globe");
498
+ var fallbackIcon = (name) => lucideIcon(name);
499
+ var PASCAL_TO_KEBAB_ALIASES = {
500
+ // Lucide PascalCase names → kebab equivalents
501
+ Activity: "activity",
502
+ Banknote: "banknote",
503
+ Bell: "bell",
504
+ BookOpen: "book-open",
505
+ Box: "box",
506
+ Briefcase: "briefcase",
507
+ Calendar: "calendar",
508
+ CheckSquare: "check-square",
509
+ DollarSign: "dollar-sign",
510
+ // Lucide PascalCase → the `-lucide` kebab variant (kebab default is the
511
+ // brand icon for the social-platform names below).
512
+ Facebook: "facebook-lucide",
513
+ FileText: "file-text",
514
+ Github: "github-lucide",
515
+ Globe: "globe",
516
+ GraduationCap: "graduation-cap",
517
+ Headphones: "headphones",
518
+ Info: "info",
519
+ Instagram: "instagram-lucide",
520
+ Mail: "mail",
521
+ Megaphone: "megaphone",
522
+ MessageCircle: "message-circle",
523
+ MessageSquare: "message-square",
524
+ Newspaper: "newspaper",
525
+ Package: "package",
526
+ PenSquare: "pen-square",
527
+ Phone: "phone",
528
+ Rocket: "rocket",
529
+ Search: "search",
530
+ Send: "send",
531
+ Shield: "shield",
532
+ Star: "star",
533
+ TableProperties: "table",
534
+ TrendingUp: "trending-up",
535
+ Twitter: "twitter",
536
+ Users: "users",
537
+ Video: "video",
538
+ Youtube: "youtube-lucide",
539
+ // Brand-icon PascalCase exports → kebab (kebab default is the brand)
540
+ SlackIcon: "slack",
541
+ GitHubIcon: "github",
542
+ ClickUpIcon: "clickup",
543
+ HubspotIcon: "hubspot",
544
+ LinkedInIcon: "linkedin",
545
+ // `social_platforms.icon_name` stores the names these marks were first exported under.
546
+ FacebookIcon: "facebook",
547
+ InstagramIcon: "instagram",
548
+ FacebookClassicIcon: "facebook",
549
+ InstagramClassicIcon: "instagram",
550
+ YouTubeIcon: "youtube",
551
+ WhatsAppIcon: "whatsapp",
552
+ XLogo: "x",
553
+ OpenFrameLogo: "openframe"
554
+ };
555
+ function normalizeIconKey(key) {
556
+ return _nullishCoalesce(PASCAL_TO_KEBAB_ALIASES[key], () => ( key));
557
+ }
558
+ function getIconComponent(iconName) {
559
+ if (!iconName) return fallbackIcon("file-text");
560
+ return _nullishCoalesce(registryIcon(normalizeIconKey(iconName)), () => ( fallbackIcon("file-text")));
561
+ }
562
+ var SIZE_CLASSES = {
563
+ xs: "w-3 h-3",
564
+ // 12px
565
+ sm: "w-4 h-4",
566
+ // 16px
567
+ md: "w-6 h-6",
568
+ // 24px
569
+ lg: "w-8 h-8",
570
+ // 32px
571
+ xl: "w-12 h-12"
572
+ // 48px
573
+ };
574
+ var ICON_COLORS = {
575
+ linkedin: { color: "var(--social-linkedin)" },
576
+ facebook: { color: "var(--social-facebook)" },
577
+ youtube: { color: "var(--social-youtube)" },
578
+ instagram: { color: "var(--social-instagram-pink)" }
579
+ };
580
+ function getDynamicIcon(iconName, size = "md", className) {
581
+ if (!iconName) {
582
+ console.warn("[getDynamicIcon] No iconName provided, using Globe fallback");
583
+ return _react.createElement.call(void 0, NamedIcon, { icon: GLOBE, className: SIZE_CLASSES[size] });
584
+ }
585
+ const sizeClass = SIZE_CLASSES[size];
586
+ const finalClassName = _chunk3ATAYP36cjs.cn.call(void 0, sizeClass, className);
587
+ const canonicalKey = normalizeIconKey(iconName);
588
+ if (Object.prototype.hasOwnProperty.call(ICON_REGISTRY, canonicalKey)) {
589
+ const colorConfig = ICON_COLORS[canonicalKey] || {};
590
+ return _react.createElement.call(void 0, NamedIcon, { icon: ICON_REGISTRY[canonicalKey], className: finalClassName, ...colorConfig });
591
+ }
592
+ console.error(
593
+ `[getDynamicIcon] Icon NOT found in registry: "${iconName}" (normalized to "${canonicalKey}"). Available icons:`,
594
+ Object.keys(ICON_REGISTRY)
595
+ );
596
+ return _react.createElement.call(void 0, NamedIcon, { icon: GLOBE, className: finalClassName });
597
+ }
598
+
599
+ // src/components/chat/utils/icon-library.tsx
600
+ var brandColor = (platform) => `var(${platformAccentVarName(platform)})`;
601
+ var MARK_SIZE = 16;
602
+ var OPENMSP_MARK = {
603
+ set: "OpenmspLogoIcon",
604
+ size: MARK_SIZE,
605
+ // On the dark surfaces every glyph sits on, the bubbles take the theme's text
606
+ // and background tokens and the back bubble OpenMSP's brand colour.
607
+ color: "var(--color-text-primary)",
608
+ secondaryColor: "var(--color-bg)",
609
+ tertiaryColor: brandColor("openmsp"),
610
+ ownColor: true
611
+ };
612
+ var FLAMINGO_MARK = {
613
+ set: "FlamingoMarkIcon",
614
+ size: MARK_SIZE,
615
+ color: brandColor("flamingo"),
616
+ ownColor: true
617
+ };
618
+ var OPENFRAME_GLYPH = { set: "OpenframeLogoIcon", size: MARK_SIZE, oneColor: true };
619
+ var CLICKUP_GREY = { set: "ClickupLogoGreyIcon" };
620
+ var SLACK_GREY = { set: "SlackLogoGreyIcon" };
621
+ var HUBSPOT_GREY = { set: "HubspotLogoGreyIcon" };
622
+ var GITHUB = { set: "GithubIcon" };
623
+ var ROCKET = { set: "Rocket02Icon" };
624
+ var BOOK = { set: "BookIcon" };
625
+ var CHATS = { set: "ChatsIcon" };
626
+ var FILE = { set: "FileIcon" };
627
+ var ICON_ALIASES = {
628
+ // Production `/api/docs/commands` keys (multi-platform-hub contract)
629
+ clickup: CLICKUP_GREY,
630
+ slack: SLACK_GREY,
631
+ hubspot: HUBSPOT_GREY,
632
+ github: GITHUB,
633
+ openframe: OPENFRAME_GLYPH,
634
+ rocket: ROCKET,
635
+ video: { set: "VideoRecorderIcon" },
636
+ headphones: { set: "HeadphoneIcon" },
637
+ // Figma-canonical aliases (node 7363:205938) — kept for Storybook
638
+ // fixtures and any older feed entries still using the long names.
639
+ "clickup-logo": CLICKUP_GREY,
640
+ "clickup-logo-grey": CLICKUP_GREY,
641
+ "slack-logo": SLACK_GREY,
642
+ "slack-logo-grey": SLACK_GREY,
643
+ "hubspot-logo": HUBSPOT_GREY,
644
+ "hubspot-logo-grey": HUBSPOT_GREY,
645
+ "github-logo": GITHUB,
646
+ "logo-openframe": OPENFRAME_GLYPH,
647
+ "rocket-01": ROCKET,
648
+ "rocket-02": ROCKET,
649
+ // The platforms' marks, by the names the announcement bar and the navigation store.
650
+ "openframe-logo": OPENFRAME_GLYPH,
651
+ "openmsp-logo": OPENMSP_MARK,
652
+ // Major League GitHub draws its mark in the theme's text colour on its own site, never in an accent.
653
+ "mlg-logo": { set: "MlgLogoIcon", size: MARK_SIZE, color: "var(--color-text-primary)" },
654
+ "tmcg-logo": {
655
+ set: "TmcgMarkIcon",
656
+ size: MARK_SIZE,
657
+ secondaryColor: brandColor("tmcg"),
658
+ tertiaryColor: "var(--color-text-primary)",
659
+ ownColor: true
660
+ },
661
+ flamingo: FLAMINGO_MARK,
662
+ "flamingo-logo": FLAMINGO_MARK,
663
+ // The same mark as a GLYPH: it takes the colour of the slot it sits in, like every icon beside it.
664
+ "flamingo-logo-grey": { set: "FlamingoMarkIcon", size: MARK_SIZE, color: "currentColor" },
665
+ // Microsoft 365 is drawn with the Office 365 mark, which the set names by the product's older name.
666
+ "microsoft-365-logo-grey": { set: "Office365LogoGreyIcon" },
667
+ megaphone: { lucide: "megaphone" },
668
+ bell: { lucide: "bell" },
669
+ info: { lucide: "info" },
670
+ star: { lucide: "star" },
671
+ package: { lucide: "package" },
672
+ // Names whose glyph is another icon of the set.
673
+ book: BOOK,
674
+ "book-open": BOOK,
675
+ file: FILE,
676
+ "file-text": FILE,
677
+ chats: CHATS,
678
+ "message-square": CHATS,
679
+ "message-circle": CHATS
680
+ };
681
+ function aliasIcon(iconName) {
682
+ if (!Object.prototype.hasOwnProperty.call(ICON_ALIASES, iconName)) return void 0;
683
+ return _nullishCoalesce(iconOf(ICON_ALIASES[iconName]), () => ( void 0));
684
+ }
685
+ function resolveFromLibrary(iconName) {
686
+ const tokens = iconName.trim().toLowerCase().replace(/_/g, "-").split("-");
687
+ if (tokens.some((t) => t.length === 0)) return void 0;
688
+ const cap = (t) => t.charAt(0).toUpperCase() + t.slice(1);
689
+ const candidates = [
690
+ `${tokens.map(cap).join("")}Icon`,
691
+ `${tokens.map((t) => t === "ai" ? "AI" : cap(t)).join("")}Icon`
692
+ ];
693
+ for (const name of candidates) {
694
+ if (iconFromSet(name)) return _nullishCoalesce(iconOf({ set: name, color: "currentColor" }), () => ( void 0));
695
+ }
696
+ return void 0;
697
+ }
698
+ function brandLogoForName(name) {
699
+ const words = (_nullishCoalesce(name, () => ( ""))).split(/[^A-Za-z0-9]+/).filter(Boolean);
700
+ const pascal = (word) => word.charAt(0).toUpperCase() + word.slice(1).toLowerCase();
701
+ for (let length = Math.min(3, words.length); length >= 1; length -= 1) {
702
+ for (let start = 0; start + length <= words.length; start += 1) {
703
+ const Logo = iconFromSet(
704
+ `${words.slice(start, start + length).map(pascal).join("")}LogoIcon`
705
+ );
706
+ if (Logo) return Logo;
707
+ }
708
+ }
709
+ return null;
710
+ }
711
+ function resolveIcon(iconName, opts) {
712
+ if (_optionalChain([opts, 'optionalAccess', _7 => _7.variant]) === "brand") {
713
+ const brand = iconName ? registryIcon(normalizeIconKey(iconName)) : void 0;
714
+ if (brand) return brand;
715
+ const design = iconName ? _nullishCoalesce(aliasIcon(iconName), () => ( resolveFromLibrary(iconName))) : void 0;
716
+ return _nullishCoalesce(design, () => ( getIconComponent(iconName)));
717
+ }
718
+ if (!iconName) return setIcon("FileIcon");
719
+ return _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(aliasIcon(iconName), () => ( resolveFromLibrary(iconName))), () => ( lucideIcon(iconName.trim().toLowerCase()))), () => ( setIcon("FileIcon")));
720
+ }
721
+ function findIcon(iconName) {
722
+ if (!iconName) return null;
723
+ return _nullishCoalesce(_nullishCoalesce(aliasIcon(iconName), () => ( resolveFromLibrary(iconName))), () => ( null));
724
+ }
725
+ var ICON_OPTIONS = [
726
+ // Brands
727
+ { key: "openframe", label: "OpenFrame" },
728
+ { key: "slack", label: "Slack" },
729
+ { key: "hubspot", label: "HubSpot" },
730
+ { key: "clickup", label: "ClickUp" },
731
+ { key: "github", label: "GitHub" },
732
+ { key: "linkedin", label: "LinkedIn" },
733
+ { key: "twitter", label: "Twitter (X)" },
734
+ { key: "twitter-x", label: "X" },
735
+ { key: "facebook", label: "Facebook" },
736
+ { key: "instagram", label: "Instagram" },
737
+ { key: "youtube", label: "YouTube" },
738
+ { key: "discord", label: "Discord" },
739
+ { key: "figma", label: "Figma" },
740
+ { key: "google", label: "Google" },
741
+ { key: "apple", label: "Apple" },
742
+ { key: "windows", label: "Windows" },
743
+ { key: "android", label: "Android" },
744
+ { key: "openai-logo", label: "OpenAI" },
745
+ { key: "anthropic-logo", label: "Anthropic" },
746
+ // Content & docs
747
+ { key: "newspaper", label: "Newspaper" },
748
+ { key: "book", label: "Book" },
749
+ { key: "file", label: "File" },
750
+ { key: "file-text", label: "Document" },
751
+ { key: "file-code", label: "Code file" },
752
+ { key: "file-chart-bar", label: "Report" },
753
+ { key: "file-dollar", label: "Invoice file" },
754
+ { key: "folder", label: "Folder" },
755
+ { key: "folder-open", label: "Folder open" },
756
+ { key: "clipboard", label: "Clipboard" },
757
+ { key: "clipboard-list", label: "Checklist" },
758
+ { key: "clipboard-check", label: "Clipboard check" },
759
+ { key: "memo", label: "Memo" },
760
+ { key: "paperclip", label: "Attachment" },
761
+ { key: "copy-01", label: "Copy" },
762
+ { key: "files", label: "Files" },
763
+ { key: "box-archive", label: "Box" },
764
+ { key: "parcel-01", label: "Parcel" },
765
+ // Media
766
+ { key: "video", label: "Video" },
767
+ { key: "headphones", label: "Podcast / audio" },
768
+ { key: "podcast", label: "Podcast" },
769
+ { key: "mic", label: "Microphone" },
770
+ { key: "music-note-01", label: "Music" },
771
+ { key: "camera", label: "Camera" },
772
+ { key: "image", label: "Image" },
773
+ { key: "film-hr", label: "Film" },
774
+ { key: "play", label: "Play" },
775
+ // Date & time
776
+ { key: "calendar", label: "Calendar" },
777
+ { key: "calendar-check", label: "Calendar check" },
778
+ { key: "clock", label: "Clock" },
779
+ { key: "alarm", label: "Alarm" },
780
+ { key: "stopwatch", label: "Stopwatch" },
781
+ { key: "timer", label: "Timer" },
782
+ { key: "hourglass", label: "Hourglass" },
783
+ // Places & business
784
+ { key: "briefcase", label: "Briefcase" },
785
+ { key: "graduation-cap", label: "Education" },
786
+ { key: "building", label: "Building" },
787
+ { key: "buildings", label: "Buildings" },
788
+ { key: "hospital", label: "Hospital" },
789
+ { key: "school", label: "School" },
790
+ { key: "warehouse", label: "Warehouse" },
791
+ { key: "shop", label: "Shop" },
792
+ // Communication
793
+ { key: "search", label: "Search" },
794
+ { key: "chats", label: "Chat" },
795
+ { key: "message-text", label: "Message" },
796
+ { key: "messages", label: "Messages" },
797
+ { key: "email", label: "Email" },
798
+ { key: "inbox", label: "Inbox" },
799
+ { key: "send-01", label: "Send" },
800
+ { key: "at-sign", label: "Mention" },
801
+ { key: "bell", label: "Notifications" },
802
+ { key: "megaphone-01", label: "Announcement" },
803
+ // Charts & analytics
804
+ { key: "chart-pie", label: "Pie chart" },
805
+ { key: "chart-donut", label: "Donut chart" },
806
+ { key: "chart-bar-01-ver", label: "Bar chart" },
807
+ { key: "chart-line-up", label: "Line chart" },
808
+ { key: "trend-up", label: "Trend up" },
809
+ { key: "trend-down", label: "Trend down" },
810
+ { key: "presentation", label: "Presentation" },
811
+ { key: "analysis", label: "Analysis" },
812
+ { key: "activity", label: "Activity" },
813
+ { key: "network", label: "Network" },
814
+ // Finance
815
+ { key: "bank", label: "Bank" },
816
+ { key: "money-bill-dollar", label: "Money" },
817
+ { key: "money-bill", label: "Bill" },
818
+ { key: "coins", label: "Coins" },
819
+ { key: "coin", label: "Coin" },
820
+ { key: "coins-exchange-currency", label: "Currency exchange" },
821
+ { key: "piggy-bank", label: "Savings" },
822
+ { key: "wallet-01", label: "Wallet" },
823
+ { key: "credit-card", label: "Credit card" },
824
+ { key: "hand-coin", label: "Hand coin" },
825
+ { key: "dollar", label: "Dollar" },
826
+ { key: "dollar-circle", label: "Dollar circle" },
827
+ { key: "euro", label: "Euro" },
828
+ { key: "bitcoin", label: "Bitcoin" },
829
+ { key: "percent", label: "Percent" },
830
+ { key: "receipt-01", label: "Receipt" },
831
+ { key: "badge-dollar", label: "Price badge" },
832
+ { key: "sack", label: "Money sack" },
833
+ // Security
834
+ { key: "shield", label: "Shield" },
835
+ { key: "shield-check", label: "Shield check" },
836
+ { key: "lock", label: "Lock" },
837
+ { key: "unlock", label: "Unlock" },
838
+ { key: "key", label: "Key" },
839
+ { key: "fingerprint", label: "Fingerprint" },
840
+ { key: "scan", label: "Scan" },
841
+ // People
842
+ { key: "user", label: "User" },
843
+ { key: "users", label: "Users" },
844
+ { key: "users-group", label: "User group" },
845
+ { key: "user-check", label: "User check" },
846
+ { key: "id-card", label: "ID card" },
847
+ { key: "avatar-circle", label: "Avatar" },
848
+ // Devices & infra
849
+ { key: "laptop", label: "Laptop" },
850
+ { key: "monitor", label: "Monitor" },
851
+ { key: "mobile-phone", label: "Phone" },
852
+ { key: "hard-drive", label: "Hard drive" },
853
+ { key: "hard-drives", label: "Storage" },
854
+ { key: "cloud", label: "Cloud" },
855
+ { key: "wifi", label: "Wi-Fi" },
856
+ { key: "printer", label: "Printer" },
857
+ { key: "keyboard", label: "Keyboard" },
858
+ { key: "microchip", label: "Chip" },
859
+ { key: "microchip-ai", label: "AI chip" },
860
+ { key: "power", label: "Power" },
861
+ // Code & dev
862
+ { key: "bracket-curly", label: "Code" },
863
+ { key: "terminal", label: "Terminal" },
864
+ { key: "code", label: "Code block" },
865
+ { key: "bug", label: "Bug" },
866
+ { key: "package", label: "Package" },
867
+ { key: "database", label: "Database" },
868
+ { key: "browser", label: "Browser" },
869
+ { key: "puzzle-01", label: "Plugin" },
870
+ { key: "coding-branch", label: "Branch" },
871
+ { key: "coding-commit", label: "Commit" },
872
+ { key: "coding-pull-request", label: "Pull request" },
873
+ { key: "robot", label: "Bot" },
874
+ { key: "blockchain", label: "Blockchain" },
875
+ // General & status
876
+ { key: "layers", label: "Layers" },
877
+ { key: "settings-01", label: "Settings" },
878
+ { key: "home", label: "Home" },
879
+ { key: "eye", label: "View" },
880
+ { key: "link-01", label: "Link" },
881
+ { key: "download-01", label: "Download" },
882
+ { key: "upload-01", label: "Upload" },
883
+ { key: "trash", label: "Delete" },
884
+ { key: "share", label: "Share" },
885
+ { key: "life-buoy", label: "Support" },
886
+ { key: "rocket", label: "Rocket" },
887
+ { key: "compass", label: "Compass" },
888
+ { key: "star", label: "Star" },
889
+ { key: "crown", label: "Crown" },
890
+ { key: "gift", label: "Gift" },
891
+ { key: "ticket", label: "Ticket" },
892
+ { key: "tag", label: "Tag" },
893
+ { key: "cart", label: "Cart" },
894
+ { key: "thumbs-up", label: "Thumbs up" },
895
+ { key: "flag-01", label: "Flag" },
896
+ { key: "bookmark", label: "Bookmark" },
897
+ { key: "pin", label: "Pin" },
898
+ { key: "check-circle", label: "Check" },
899
+ { key: "check-square", label: "Checkbox" },
900
+ { key: "info-circle", label: "Info" },
901
+ { key: "info", label: "Info alt" },
902
+ { key: "question-circle", label: "Help" },
903
+ { key: "alert-triangle", label: "Warning" },
904
+ { key: "hash", label: "Hashtag" },
905
+ { key: "pencil", label: "Edit" },
906
+ { key: "lightning", label: "Lightning" },
907
+ { key: "globe-01", label: "Globe" },
908
+ { key: "scale-balanced", label: "Balance" },
909
+ { key: "certified-01", label: "Certified" }
910
+ ];
911
+
912
+ // src/hooks/use-authed-image-src.ts
913
+ function useAuthedImageSrc(src) {
914
+ return _chunkVOX4E6AXcjs.useAuthedAssetSrc.call(void 0, src, "image/*");
915
+ }
916
+ var clearAuthedImageCache = _chunkVOX4E6AXcjs.clearAuthedAssetCache;
917
+
918
+
919
+
920
+
921
+
922
+
923
+
924
+
925
+
926
+
927
+
928
+
929
+
930
+
931
+
932
+
933
+
934
+
935
+
936
+
937
+
938
+
939
+
940
+
941
+
942
+
943
+
944
+
945
+
946
+
947
+
948
+
949
+
950
+
951
+
952
+
953
+
954
+
955
+
956
+
957
+
958
+
959
+
960
+
961
+
962
+
963
+
964
+
965
+
966
+
967
+ exports.useMediaQuery = useMediaQuery; exports.breakpoints = breakpoints; exports.useSmUp = useSmUp; exports.useMdUp = useMdUp; exports.useLgUp = useLgUp; exports.useIsTruncated = useIsTruncated; exports.iconOf = iconOf; exports.requireIcon = requireIcon; exports.NamedIcon = NamedIcon; exports.PlatformMark = PlatformMark; exports.platformDisplayNames = platformDisplayNames; exports.platformShortNames = platformShortNames; exports.platformDescriptions = platformDescriptions; exports.platformSlogans = platformSlogans; exports.getPlatformDisplayName = getPlatformDisplayName; exports.getPlatformShortName = getPlatformShortName; exports.getPlatformDescription = getPlatformDescription; exports.getPlatformSlogan = getPlatformSlogan; exports.ODS_STEM_TOKENS = ODS_STEM_TOKENS; exports.ODS_STEM_CLASSES = ODS_STEM_CLASSES; exports.PLATFORM_THEME = PLATFORM_THEME; exports.PLATFORM_SURFACE = PLATFORM_SURFACE; exports.getPlatformBackgroundVarName = getPlatformBackgroundVarName; exports.getPlatformTextVarName = getPlatformTextVarName; exports.PLATFORM_BRAND = PLATFORM_BRAND; exports.getPlatformBrand = getPlatformBrand; exports.platformAccentToken = platformAccentToken; exports.platformSecondaryToken = platformSecondaryToken; exports.platformAccentVarName = platformAccentVarName; exports.platformSecondaryVarName = platformSecondaryVarName; exports.getPlatformAccentColor = getPlatformAccentColor; exports.getPlatformSecondaryColor = getPlatformSecondaryColor; exports.getPlatformBrandClasses = getPlatformBrandClasses; exports.platformColors = platformColors; exports.getPlatformColor = getPlatformColor; exports.platformHexColors = platformHexColors; exports.getDefaultColorForPlatform = getDefaultColorForPlatform; exports.ICON_REGISTRY = ICON_REGISTRY; exports.normalizeIconKey = normalizeIconKey; exports.getIconComponent = getIconComponent; exports.getDynamicIcon = getDynamicIcon; exports.ICON_ALIASES = ICON_ALIASES; exports.brandLogoForName = brandLogoForName; exports.resolveIcon = resolveIcon; exports.findIcon = findIcon; exports.ICON_OPTIONS = ICON_OPTIONS; exports.useAuthedImageSrc = useAuthedImageSrc; exports.clearAuthedImageCache = clearAuthedImageCache;