@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
@@ -1,76 +1,4 @@
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 _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } 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
- var _dynamicIconImports = require('lucide-react/dynamicIconImports'); var _dynamicIconImports2 = _interopRequireDefault(_dynamicIconImports);
73
-
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; } }"use client";
74
2
 
75
3
  // src/components/icons-v2-generated/icon-loaders.ts
76
4
  var ICON_LOADERS = {
@@ -97,7 +25,7 @@ var ICON_LOADERS = {
97
25
  AgeLimit21Icon: () => Promise.resolve().then(() => _interopRequireWildcard(require("./age-limit-21-icon-VZQPOFHQ.cjs"))).then((module) => ({ default: module.AgeLimit21Icon })),
98
26
  AgeLimit3Icon: () => Promise.resolve().then(() => _interopRequireWildcard(require("./age-limit-3-icon-LHIU6ICH.cjs"))).then((module) => ({ default: module.AgeLimit3Icon })),
99
27
  AgeLimit6Icon: () => Promise.resolve().then(() => _interopRequireWildcard(require("./age-limit-6-icon-DGDNQIM5.cjs"))).then((module) => ({ default: module.AgeLimit6Icon })),
100
- AicpaSoc2LogoIcon: () => Promise.resolve().then(() => _interopRequireWildcard(require("./aicpa-soc2-logo-icon-CJ5JRV6J.cjs"))).then((module) => ({ default: module.AicpaSoc2LogoIcon })),
28
+ AicpaSoc2LogoIcon: () => Promise.resolve().then(() => _interopRequireWildcard(require("./aicpa-soc2-logo-icon-MLDYZA5S.cjs"))).then((module) => ({ default: module.AicpaSoc2LogoIcon })),
101
29
  AirConditionerIcon: () => Promise.resolve().then(() => _interopRequireWildcard(require("./air-conditioner-icon-4HJBXH5R.cjs"))).then((module) => ({ default: module.AirConditionerIcon })),
102
30
  AirdropIcon: () => Promise.resolve().then(() => _interopRequireWildcard(require("./airdrop-icon-LPROR5W2.cjs"))).then((module) => ({ default: module.AirdropIcon })),
103
31
  AirplayIcon: () => Promise.resolve().then(() => _interopRequireWildcard(require("./airplay-icon-T2KTZZBX.cjs"))).then((module) => ({ default: module.AirplayIcon })),
@@ -576,9 +504,9 @@ var ICON_LOADERS = {
576
504
  ClapperboardPlayIcon: () => Promise.resolve().then(() => _interopRequireWildcard(require("./clapperboard-play-icon-L2LRZSJS.cjs"))).then((module) => ({ default: module.ClapperboardPlayIcon })),
577
505
  ClaudeIcon: () => Promise.resolve().then(() => _interopRequireWildcard(require("./claude-icon-KU2OHT2U.cjs"))).then((module) => ({ default: module.ClaudeIcon })),
578
506
  CleaverIcon: () => Promise.resolve().then(() => _interopRequireWildcard(require("./cleaver-icon-C74WVXIO.cjs"))).then((module) => ({ default: module.CleaverIcon })),
579
- ClickupIcon: () => Promise.resolve().then(() => _interopRequireWildcard(require("./clickup-icon-CBBUZUVQ.cjs"))).then((module) => ({ default: module.ClickupIcon })),
507
+ ClickupIcon: () => Promise.resolve().then(() => _interopRequireWildcard(require("./clickup-icon-3SETH2MM.cjs"))).then((module) => ({ default: module.ClickupIcon })),
580
508
  ClickupLogoGreyIcon: () => Promise.resolve().then(() => _interopRequireWildcard(require("./clickup-logo-grey-icon-EJJL6XV6.cjs"))).then((module) => ({ default: module.ClickupLogoGreyIcon })),
581
- ClickupLogoIcon: () => Promise.resolve().then(() => _interopRequireWildcard(require("./clickup-logo-icon-CGDKKISS.cjs"))).then((module) => ({ default: module.ClickupLogoIcon })),
509
+ ClickupLogoIcon: () => Promise.resolve().then(() => _interopRequireWildcard(require("./clickup-logo-icon-DJKBEFMR.cjs"))).then((module) => ({ default: module.ClickupLogoIcon })),
582
510
  ClipboardCheckIcon: () => Promise.resolve().then(() => _interopRequireWildcard(require("./clipboard-check-icon-2TCE6NAV.cjs"))).then((module) => ({ default: module.ClipboardCheckIcon })),
583
511
  ClipboardExclamationIcon: () => Promise.resolve().then(() => _interopRequireWildcard(require("./clipboard-exclamation-icon-KFGZYY4X.cjs"))).then((module) => ({ default: module.ClipboardExclamationIcon })),
584
512
  ClipboardIcon: () => Promise.resolve().then(() => _interopRequireWildcard(require("./clipboard-icon-GQBAUHKE.cjs"))).then((module) => ({ default: module.ClipboardIcon })),
@@ -746,8 +674,8 @@ var ICON_LOADERS = {
746
674
  EggplantIcon: () => Promise.resolve().then(() => _interopRequireWildcard(require("./eggplant-icon-FOJ6G5DC.cjs"))).then((module) => ({ default: module.EggplantIcon })),
747
675
  EjectIcon: () => Promise.resolve().then(() => _interopRequireWildcard(require("./eject-icon-MAV4V2YO.cjs"))).then((module) => ({ default: module.EjectIcon })),
748
676
  ElectricalPlugIcon: () => Promise.resolve().then(() => _interopRequireWildcard(require("./electrical-plug-icon-CCCMW2SD.cjs"))).then((module) => ({ default: module.ElectricalPlugIcon })),
749
- ElestioLogoGreyIcon: () => Promise.resolve().then(() => _interopRequireWildcard(require("./elestio-logo-grey-icon-Y5OFW4OO.cjs"))).then((module) => ({ default: module.ElestioLogoGreyIcon })),
750
- ElestioLogoIcon: () => Promise.resolve().then(() => _interopRequireWildcard(require("./elestio-logo-icon-X7TTQAYP.cjs"))).then((module) => ({ default: module.ElestioLogoIcon })),
677
+ ElestioLogoGreyIcon: () => Promise.resolve().then(() => _interopRequireWildcard(require("./elestio-logo-grey-icon-DV7P3JLT.cjs"))).then((module) => ({ default: module.ElestioLogoGreyIcon })),
678
+ ElestioLogoIcon: () => Promise.resolve().then(() => _interopRequireWildcard(require("./elestio-logo-icon-34ILAIDI.cjs"))).then((module) => ({ default: module.ElestioLogoIcon })),
751
679
  Ellipsis01CircleIcon: () => Promise.resolve().then(() => _interopRequireWildcard(require("./ellipsis-01-circle-icon-QX2GQDTF.cjs"))).then((module) => ({ default: module.Ellipsis01CircleIcon })),
752
680
  Ellipsis01Icon: () => Promise.resolve().then(() => _interopRequireWildcard(require("./ellipsis-01-icon-QLRL22BO.cjs"))).then((module) => ({ default: module.Ellipsis01Icon })),
753
681
  Ellipsis01SquareIcon: () => Promise.resolve().then(() => _interopRequireWildcard(require("./ellipsis-01-square-icon-EFBNABQY.cjs"))).then((module) => ({ default: module.Ellipsis01SquareIcon })),
@@ -769,10 +697,10 @@ var ICON_LOADERS = {
769
697
  EmailSearchIcon: () => Promise.resolve().then(() => _interopRequireWildcard(require("./email-search-icon-N25CA6M4.cjs"))).then((module) => ({ default: module.EmailSearchIcon })),
770
698
  EmailShieldIcon: () => Promise.resolve().then(() => _interopRequireWildcard(require("./email-shield-icon-IGO6NOIV.cjs"))).then((module) => ({ default: module.EmailShieldIcon })),
771
699
  EmailsIcon: () => Promise.resolve().then(() => _interopRequireWildcard(require("./emails-icon-Q2UKGGRH.cjs"))).then((module) => ({ default: module.EmailsIcon })),
772
- EmptyVendorIcon: () => Promise.resolve().then(() => _interopRequireWildcard(require("./empty-vendor-icon-3RKCZUUR.cjs"))).then((module) => ({ default: module.EmptyVendorIcon })),
700
+ EmptyVendorIcon: () => Promise.resolve().then(() => _interopRequireWildcard(require("./empty-vendor-icon-XZYOZ4EP.cjs"))).then((module) => ({ default: module.EmptyVendorIcon })),
773
701
  EraserIcon: () => Promise.resolve().then(() => _interopRequireWildcard(require("./eraser-icon-76LKICQG.cjs"))).then((module) => ({ default: module.EraserIcon })),
774
702
  ErrorIcon: () => Promise.resolve().then(() => _interopRequireWildcard(require("./error-icon-PTQ2DP7G.cjs"))).then((module) => ({ default: module.ErrorIcon })),
775
- EuLogoIcon: () => Promise.resolve().then(() => _interopRequireWildcard(require("./eu-logo-icon-N7QVPGG3.cjs"))).then((module) => ({ default: module.EuLogoIcon })),
703
+ EuLogoIcon: () => Promise.resolve().then(() => _interopRequireWildcard(require("./eu-logo-icon-EYOX3UC7.cjs"))).then((module) => ({ default: module.EuLogoIcon })),
776
704
  EuroCircleIcon: () => Promise.resolve().then(() => _interopRequireWildcard(require("./euro-circle-icon-BIJ4DERK.cjs"))).then((module) => ({ default: module.EuroCircleIcon })),
777
705
  EuroIcon: () => Promise.resolve().then(() => _interopRequireWildcard(require("./euro-icon-JSWOYMXK.cjs"))).then((module) => ({ default: module.EuroIcon })),
778
706
  ExclamationIcon: () => Promise.resolve().then(() => _interopRequireWildcard(require("./exclamation-icon-4N2QIKQI.cjs"))).then((module) => ({ default: module.ExclamationIcon })),
@@ -925,7 +853,7 @@ var ICON_LOADERS = {
925
853
  Gauge01Icon: () => Promise.resolve().then(() => _interopRequireWildcard(require("./gauge-01-icon-6U6PIEHU.cjs"))).then((module) => ({ default: module.Gauge01Icon })),
926
854
  Gauge02Icon: () => Promise.resolve().then(() => _interopRequireWildcard(require("./gauge-02-icon-L6FDOA4B.cjs"))).then((module) => ({ default: module.Gauge02Icon })),
927
855
  GeminiLogoGreyIcon: () => Promise.resolve().then(() => _interopRequireWildcard(require("./gemini-logo-grey-icon-4XTKVYOK.cjs"))).then((module) => ({ default: module.GeminiLogoGreyIcon })),
928
- GeminiLogoIcon: () => Promise.resolve().then(() => _interopRequireWildcard(require("./gemini-logo-icon-QOPGATSZ.cjs"))).then((module) => ({ default: module.GeminiLogoIcon })),
856
+ GeminiLogoIcon: () => Promise.resolve().then(() => _interopRequireWildcard(require("./gemini-logo-icon-DNACTHIK.cjs"))).then((module) => ({ default: module.GeminiLogoIcon })),
929
857
  GenderFemaleIcon: () => Promise.resolve().then(() => _interopRequireWildcard(require("./gender-female-icon-E7B44HNS.cjs"))).then((module) => ({ default: module.GenderFemaleIcon })),
930
858
  GenderMaleIcon: () => Promise.resolve().then(() => _interopRequireWildcard(require("./gender-male-icon-JFWJBBMV.cjs"))).then((module) => ({ default: module.GenderMaleIcon })),
931
859
  GetappIcon: () => Promise.resolve().then(() => _interopRequireWildcard(require("./getapp-icon-XWIFIJVF.cjs"))).then((module) => ({ default: module.GetappIcon })),
@@ -948,14 +876,14 @@ var ICON_LOADERS = {
948
876
  GlobeStandIcon: () => Promise.resolve().then(() => _interopRequireWildcard(require("./globe-stand-icon-3AT2UALC.cjs"))).then((module) => ({ default: module.GlobeStandIcon })),
949
877
  GloveSmittenIcon: () => Promise.resolve().then(() => _interopRequireWildcard(require("./glove-smitten-icon-FBYDQYOO.cjs"))).then((module) => ({ default: module.GloveSmittenIcon })),
950
878
  GoogleDriveIcon: () => Promise.resolve().then(() => _interopRequireWildcard(require("./google-drive-icon-BDHUC4EE.cjs"))).then((module) => ({ default: module.GoogleDriveIcon })),
951
- GoogleGeminiIcon: () => Promise.resolve().then(() => _interopRequireWildcard(require("./google-gemini-icon-7GWWF6O6.cjs"))).then((module) => ({ default: module.GoogleGeminiIcon })),
952
- GoogleGeminiLogoIcon: () => Promise.resolve().then(() => _interopRequireWildcard(require("./google-gemini-logo-icon-Z3GHPMVN.cjs"))).then((module) => ({ default: module.GoogleGeminiLogoIcon })),
879
+ GoogleGeminiIcon: () => Promise.resolve().then(() => _interopRequireWildcard(require("./google-gemini-icon-TZHJZ4IQ.cjs"))).then((module) => ({ default: module.GoogleGeminiIcon })),
880
+ GoogleGeminiLogoIcon: () => Promise.resolve().then(() => _interopRequireWildcard(require("./google-gemini-logo-icon-4XQVV5NN.cjs"))).then((module) => ({ default: module.GoogleGeminiLogoIcon })),
953
881
  GoogleIcon: () => Promise.resolve().then(() => _interopRequireWildcard(require("./google-icon-P2WPGJMB.cjs"))).then((module) => ({ default: module.GoogleIcon })),
954
882
  GoogleLogoClassicIcon: () => Promise.resolve().then(() => _interopRequireWildcard(require("./google-logo-classic-icon-UJPU5SAA.cjs"))).then((module) => ({ default: module.GoogleLogoClassicIcon })),
955
883
  GoogleLogoGreyIcon: () => Promise.resolve().then(() => _interopRequireWildcard(require("./google-logo-grey-icon-53B22KLT.cjs"))).then((module) => ({ default: module.GoogleLogoGreyIcon })),
956
884
  GoogleLogoIcon: () => Promise.resolve().then(() => _interopRequireWildcard(require("./google-logo-icon-6WZEMQOZ.cjs"))).then((module) => ({ default: module.GoogleLogoIcon })),
957
885
  GooglePlayIcon: () => Promise.resolve().then(() => _interopRequireWildcard(require("./google-play-icon-KFDQKB2A.cjs"))).then((module) => ({ default: module.GooglePlayIcon })),
958
- GoogleSheetsIcon: () => Promise.resolve().then(() => _interopRequireWildcard(require("./google-sheets-icon-7MJ3LV4P.cjs"))).then((module) => ({ default: module.GoogleSheetsIcon })),
886
+ GoogleSheetsIcon: () => Promise.resolve().then(() => _interopRequireWildcard(require("./google-sheets-icon-UAAEBTR7.cjs"))).then((module) => ({ default: module.GoogleSheetsIcon })),
959
887
  GraduationCapIcon: () => Promise.resolve().then(() => _interopRequireWildcard(require("./graduation-cap-icon-E7SB53QI.cjs"))).then((module) => ({ default: module.GraduationCapIcon })),
960
888
  GramophoneIcon: () => Promise.resolve().then(() => _interopRequireWildcard(require("./gramophone-icon-PLD5YKSB.cjs"))).then((module) => ({ default: module.GramophoneIcon })),
961
889
  GrapesIcon: () => Promise.resolve().then(() => _interopRequireWildcard(require("./grapes-icon-J4E3YVWZ.cjs"))).then((module) => ({ default: module.GrapesIcon })),
@@ -1200,8 +1128,8 @@ var ICON_LOADERS = {
1200
1128
  Menu02Icon: () => Promise.resolve().then(() => _interopRequireWildcard(require("./menu-02-icon-AV2SD2MV.cjs"))).then((module) => ({ default: module.Menu02Icon })),
1201
1129
  Menu02SquareIcon: () => Promise.resolve().then(() => _interopRequireWildcard(require("./menu-02-square-icon-UJH5JUTZ.cjs"))).then((module) => ({ default: module.Menu02SquareIcon })),
1202
1130
  MenuIcon: () => Promise.resolve().then(() => _interopRequireWildcard(require("./menu-icon-CO3NGINX.cjs"))).then((module) => ({ default: module.MenuIcon })),
1203
- MeshcentralLogoGreyIcon: () => Promise.resolve().then(() => _interopRequireWildcard(require("./meshcentral-logo-grey-icon-3VFJQMV2.cjs"))).then((module) => ({ default: module.MeshcentralLogoGreyIcon })),
1204
- MeshcentralLogoIcon: () => Promise.resolve().then(() => _interopRequireWildcard(require("./meshcentral-logo-icon-MDVBWMP5.cjs"))).then((module) => ({ default: module.MeshcentralLogoIcon })),
1131
+ MeshcentralLogoGreyIcon: () => Promise.resolve().then(() => _interopRequireWildcard(require("./meshcentral-logo-grey-icon-UCRYV3IC.cjs"))).then((module) => ({ default: module.MeshcentralLogoGreyIcon })),
1132
+ MeshcentralLogoIcon: () => Promise.resolve().then(() => _interopRequireWildcard(require("./meshcentral-logo-icon-76NSLOXF.cjs"))).then((module) => ({ default: module.MeshcentralLogoIcon })),
1205
1133
  MessageBlankIcon: () => Promise.resolve().then(() => _interopRequireWildcard(require("./message-blank-icon-DFERLWGR.cjs"))).then((module) => ({ default: module.MessageBlankIcon })),
1206
1134
  MessageCheckIcon: () => Promise.resolve().then(() => _interopRequireWildcard(require("./message-check-icon-LDONFTKB.cjs"))).then((module) => ({ default: module.MessageCheckIcon })),
1207
1135
  MessageCircleIcon: () => Promise.resolve().then(() => _interopRequireWildcard(require("./message-circle-icon-557OENQK.cjs"))).then((module) => ({ default: module.MessageCircleIcon })),
@@ -1858,7 +1786,7 @@ var ICON_LOADERS = {
1858
1786
  WindowsLogoGreyIcon: () => Promise.resolve().then(() => _interopRequireWildcard(require("./windows-logo-grey-icon-XBXPFFF7.cjs"))).then((module) => ({ default: module.WindowsLogoGreyIcon })),
1859
1787
  WindowsLogoIcon: () => Promise.resolve().then(() => _interopRequireWildcard(require("./windows-logo-icon-XL6BF7JR.cjs"))).then((module) => ({ default: module.WindowsLogoIcon })),
1860
1788
  WingetLogoGreyIcon: () => Promise.resolve().then(() => _interopRequireWildcard(require("./winget-logo-grey-icon-HGJR6D5Y.cjs"))).then((module) => ({ default: module.WingetLogoGreyIcon })),
1861
- WingetLogoIcon: () => Promise.resolve().then(() => _interopRequireWildcard(require("./winget-logo-icon-XVZJ4QDM.cjs"))).then((module) => ({ default: module.WingetLogoIcon })),
1789
+ WingetLogoIcon: () => Promise.resolve().then(() => _interopRequireWildcard(require("./winget-logo-icon-GBS342G4.cjs"))).then((module) => ({ default: module.WingetLogoIcon })),
1862
1790
  WrenchIcon: () => Promise.resolve().then(() => _interopRequireWildcard(require("./wrench-icon-3HP5QPVR.cjs"))).then((module) => ({ default: module.WrenchIcon })),
1863
1791
  WrenchScrewdiverIcon: () => Promise.resolve().then(() => _interopRequireWildcard(require("./wrench-screwdiver-icon-65UEM6EE.cjs"))).then((module) => ({ default: module.WrenchScrewdiverIcon })),
1864
1792
  XLogoIcon: () => Promise.resolve().then(() => _interopRequireWildcard(require("./x-logo-icon-XZQASJRM.cjs"))).then((module) => ({ default: module.XLogoIcon })),
@@ -1873,868 +1801,6 @@ var ICON_LOADERS = {
1873
1801
  ZoomInIcon: () => Promise.resolve().then(() => _interopRequireWildcard(require("./zoom-in-icon-OHDV3LDI.cjs"))).then((module) => ({ default: module.ZoomInIcon })),
1874
1802
  ZoomOutIcon: () => Promise.resolve().then(() => _interopRequireWildcard(require("./zoom-out-icon-YYFCISNQ.cjs"))).then((module) => ({ default: module.ZoomOutIcon }))
1875
1803
  };
1876
-
1877
- // src/components/chat/utils/icon-loading.tsx
1878
- var _jsxruntime = require('react/jsx-runtime');
1879
- var ICON_DEFAULT_SIZE = 24;
1880
- var icons = /* @__PURE__ */ new Map();
1881
- var loadedIcons = /* @__PURE__ */ new Map();
1882
- var iconLoads = /* @__PURE__ */ new Map();
1883
- var iconListeners = /* @__PURE__ */ new Map();
1884
- var iconFailures = /* @__PURE__ */ new Map();
1885
- var ICON_RETRY_AFTER_MS = 3e4;
1886
- function loadIcon(key, loader) {
1887
- if (loadedIcons.has(key) || iconLoads.has(key)) return;
1888
- const failedAt = iconFailures.get(key);
1889
- if (failedAt !== void 0 && Date.now() - failedAt < ICON_RETRY_AFTER_MS) return;
1890
- iconLoads.set(
1891
- key,
1892
- loader().then((module) => {
1893
- loadedIcons.set(key, module.default);
1894
- iconFailures.delete(key);
1895
- for (const listener of _nullishCoalesce(iconListeners.get(key), () => ( []))) listener();
1896
- }).catch(() => {
1897
- iconFailures.set(key, Date.now());
1898
- }).finally(() => {
1899
- iconLoads.delete(key);
1900
- })
1901
- );
1902
- }
1903
- function subscribeToIcon(key) {
1904
- return (listener) => {
1905
- const listeners = _nullishCoalesce(iconListeners.get(key), () => ( /* @__PURE__ */ new Set()));
1906
- listeners.add(listener);
1907
- iconListeners.set(key, listeners);
1908
- return () => {
1909
- listeners.delete(listener);
1910
- };
1911
- };
1912
- }
1913
- var KEEP_MARKUP = { __html: "" };
1914
- function sameProps(a, b) {
1915
- const keys = Object.keys(a);
1916
- return keys.length === Object.keys(b).length && keys.every((key) => Object.is(a[key], b[key]));
1917
- }
1918
- function loadedOnDemand(key, displayName, loader) {
1919
- const known = icons.get(key);
1920
- if (known) return known;
1921
- const ServerDrawn = _react.lazy.call(void 0, loader);
1922
- const subscribe = subscribeToIcon(key);
1923
- const loaded = () => loadedIcons.get(key);
1924
- const OnDemandIcon = (props) => {
1925
- const arrived = _react.useSyncExternalStore.call(void 0, subscribe, loaded, loaded);
1926
- const svg = _react.useRef.call(void 0, null);
1927
- const drawnWith = _react.useRef.call(void 0, null);
1928
- _react.useEffect.call(void 0, () => {
1929
- if (arrived) return;
1930
- const first = drawnWith.current === null;
1931
- if (first) drawnWith.current = props;
1932
- const drawn = _nullishCoalesce(_optionalChain([svg, 'access', _2 => _2.current, 'optionalAccess', _3 => _3.hasChildNodes, 'call', _4 => _4()]), () => ( false));
1933
- if (!drawn || !first && drawnWith.current !== null && !sameProps(drawnWith.current, props))
1934
- loadIcon(key, loader);
1935
- });
1936
- if (typeof window === "undefined") return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ServerDrawn, { ...props });
1937
- if (arrived) return _react.createElement.call(void 0, arrived, props);
1938
- const { size, color: _color, secondaryColor: _secondaryColor, tertiaryColor: _tertiaryColor, ...rest } = props;
1939
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1940
- "svg",
1941
- {
1942
- ...rest,
1943
- ref: svg,
1944
- width: _nullishCoalesce(size, () => ( ICON_DEFAULT_SIZE)),
1945
- height: _nullishCoalesce(size, () => ( ICON_DEFAULT_SIZE)),
1946
- suppressHydrationWarning: true,
1947
- dangerouslySetInnerHTML: KEEP_MARKUP
1948
- }
1949
- );
1950
- };
1951
- OnDemandIcon.displayName = displayName;
1952
- icons.set(key, OnDemandIcon);
1953
- return OnDemandIcon;
1954
- }
1955
- function iconFromSet(exportName) {
1956
- if (!Object.prototype.hasOwnProperty.call(ICON_LOADERS, exportName)) return void 0;
1957
- return loadedOnDemand(`set:${exportName}`, exportName, ICON_LOADERS[exportName]);
1958
- }
1959
- function setIcon(exportName) {
1960
- const icon = iconFromSet(exportName);
1961
- if (!icon) throw new Error(`icon-loading: the generated icon set has no "${exportName}"`);
1962
- return icon;
1963
- }
1964
- var lucideLoaders = _dynamicIconImports2.default;
1965
- function lucideIcon(name) {
1966
- if (!Object.prototype.hasOwnProperty.call(lucideLoaders, name)) return void 0;
1967
- return loadedOnDemand(`lucide:${name}`, `Lucide(${name})`, lucideLoaders[name]);
1968
- }
1969
- var refIcons = /* @__PURE__ */ new Map();
1970
- function iconOf(ref) {
1971
- const key = JSON.stringify(ref);
1972
- const known = refIcons.get(key);
1973
- if (known !== void 0) return known;
1974
- const icon = _nullishCoalesce(_nullishCoalesce((ref.set ? iconFromSet(ref.set) : void 0), () => ( (ref.lucide ? lucideIcon(ref.lucide) : void 0))), () => ( null));
1975
- const { set: _set, lucide: _lucide, size, ownColor, oneColor, ...colors } = ref;
1976
- const plain = size === void 0 && !ownColor && !oneColor && Object.keys(colors).length === 0;
1977
- let resolved = icon;
1978
- if (icon && !plain) {
1979
- const mark = icon;
1980
- const partsOfItsOwn = Boolean(ownColor || oneColor || colors.secondaryColor || colors.tertiaryColor);
1981
- const Mark = (props) => {
1982
- const tint = oneColor ? _nullishCoalesce(_nullishCoalesce(props.color, () => ( colors.color)), () => ( "currentColor")) : void 0;
1983
- return _react.createElement.call(void 0, mark, {
1984
- ...colors,
1985
- // A mark with parts of its own takes its size, class and colour and nothing else: a stored `icon_props`
1986
- // may name the parts of an older component, which are not attributes of an `<svg>`.
1987
- ...partsOfItsOwn ? { className: props.className } : props,
1988
- size: _nullishCoalesce(props.size, () => ( size)),
1989
- color: _nullishCoalesce(tint, () => ( (ownColor ? colors.color : _nullishCoalesce(props.color, () => ( colors.color))))),
1990
- ...tint ? { secondaryColor: tint } : {}
1991
- });
1992
- };
1993
- Mark.displayName = `Mark(${_nullishCoalesce(_nullishCoalesce(ref.set, () => ( ref.lucide)), () => ( ""))})`;
1994
- resolved = Mark;
1995
- }
1996
- refIcons.set(key, resolved);
1997
- return resolved;
1998
- }
1999
- function requireIcon(ref) {
2000
- const icon = iconOf(ref);
2001
- if (!icon) throw new Error(`icon-loading: no icon named ${JSON.stringify(_nullishCoalesce(ref.set, () => ( ref.lucide)))}`);
2002
- return icon;
2003
- }
2004
- function NamedIcon({ icon, ...props }) {
2005
- return _react.createElement.call(void 0, requireIcon(icon), props);
2006
- }
2007
- var HOUSE_MARK = { set: "FlamingoMarkIcon", color: "var(--color-accent-primary)" };
2008
- var EVERY_PLATFORM = "universal";
2009
- var EVERY_PLATFORM_MARK = { lucide: "globe" };
2010
- function setStem(platform) {
2011
- return platform.split(/[^a-zA-Z0-9]+/).filter(Boolean).map((part) => part.charAt(0).toUpperCase() + part.slice(1).toLowerCase()).join("");
2012
- }
2013
- function platformMarkRef(platform) {
2014
- if (platform === EVERY_PLATFORM) return EVERY_PLATFORM_MARK;
2015
- const stem = setStem(platform);
2016
- for (const exportName of [`${stem}MarkIcon`, `${stem}LogoIcon`]) {
2017
- if (Object.prototype.hasOwnProperty.call(ICON_LOADERS, exportName)) return { set: exportName };
2018
- }
2019
- return HOUSE_MARK;
2020
- }
2021
- function PlatformMark({ platform, ...props }) {
2022
- const mark = requireIcon(platformMarkRef(platform));
2023
- return _react.createElement.call(void 0, mark, { ...props, "data-app-type": platform });
2024
- }
2025
-
2026
- // src/utils/platform-identity.ts
2027
- var platformDisplayNames = {
2028
- openmsp: "OpenMSP",
2029
- openframe: "OpenFrame",
2030
- flamingo: "Flamingo",
2031
- "marketing-hub": "Flamingo Marketing Hub",
2032
- "product-hub": "Flamingo Product Hub",
2033
- "revenue-hub": "Flamingo Revenue Hub",
2034
- "people-hub": "Flamingo People Hub",
2035
- "company-hub": "Flamingo Company Hub",
2036
- tmcg: "TMCG",
2037
- mlg: "Major League GitHub",
2038
- universal: "Universal"
2039
- };
2040
- var platformShortNames = {
2041
- mlg: "MLG"
2042
- };
2043
- var platformDescriptions = {
2044
- openmsp: "Comprehensive directory and comparison platform for managed service providers (MSPs) and technology vendors. Reduce vendor costs and discover open-source alternatives.",
2045
- openframe: "AI-driven open-source security operations center (SOC) and endpoint detection platform for MSPs.",
2046
- flamingo: "AI-driven open-source OS for MSPs. Swap bloated vendor tools for open ones. Automate the boring crap. Take your margin back.",
2047
- tmcg: "The Miami Cyber Gang - A cybersecurity community focused on education and collaboration.",
2048
- mlg: "Scouting report for US open-source talent. Rank GitHub contributors by programming language, city, state, region, and nearest Major League Soccer club.",
2049
- universal: "Cross-platform universal content."
2050
- };
2051
- var platformSlogans = {
2052
- openmsp: "Find Your Perfect MSP Partner",
2053
- openframe: "Open-Source Security Operations",
2054
- flamingo: "Open-Source OS for MSPs",
2055
- tmcg: "Miami Cyber Community",
2056
- mlg: "GitHub Scouting Report: Major League Edition",
2057
- universal: "Universal Platform"
2058
- };
2059
- function getPlatformDisplayName(platformName) {
2060
- return platformDisplayNames[platformName] || platformName;
2061
- }
2062
- function getPlatformShortName(platformName) {
2063
- return _nullishCoalesce(platformShortNames[platformName], () => ( getPlatformDisplayName(platformName)));
2064
- }
2065
- function getPlatformDescription(platformName) {
2066
- return platformDescriptions[platformName] || platformName;
2067
- }
2068
- function getPlatformSlogan(platformName) {
2069
- return platformSlogans[platformName] || platformName;
2070
- }
2071
- var ODS_STEM_TOKENS = {
2072
- "flamingo-pink": "flamingo-pink-base",
2073
- "flamingo-cyan": "flamingo-cyan-base",
2074
- "open-yellow": "open-yellow-base",
2075
- success: "attention-green-success",
2076
- warning: "attention-yellow-warning",
2077
- error: "attention-red-error",
2078
- "text-secondary": "system-greys-grey"
2079
- };
2080
- var ODS_STEM_CLASSES = {
2081
- "flamingo-pink": {
2082
- text: "text-ods-flamingo-pink",
2083
- bg: "bg-ods-flamingo-pink",
2084
- bgSoft: "bg-ods-flamingo-pink/10",
2085
- borderSoft: "border-ods-flamingo-pink/30"
2086
- },
2087
- "flamingo-cyan": {
2088
- text: "text-ods-flamingo-cyan",
2089
- bg: "bg-ods-flamingo-cyan",
2090
- bgSoft: "bg-ods-flamingo-cyan/10",
2091
- borderSoft: "border-ods-flamingo-cyan/30"
2092
- },
2093
- "open-yellow": {
2094
- text: "text-ods-open-yellow",
2095
- bg: "bg-ods-open-yellow",
2096
- bgSoft: "bg-ods-open-yellow/10",
2097
- borderSoft: "border-ods-open-yellow/30"
2098
- },
2099
- success: {
2100
- text: "text-ods-success",
2101
- bg: "bg-ods-success",
2102
- bgSoft: "bg-ods-success/10",
2103
- borderSoft: "border-ods-success/30"
2104
- },
2105
- warning: {
2106
- text: "text-ods-warning",
2107
- bg: "bg-ods-warning",
2108
- bgSoft: "bg-ods-warning/10",
2109
- borderSoft: "border-ods-warning/30"
2110
- },
2111
- error: {
2112
- text: "text-ods-error",
2113
- bg: "bg-ods-error",
2114
- bgSoft: "bg-ods-error/10",
2115
- borderSoft: "border-ods-error/30"
2116
- },
2117
- "text-secondary": {
2118
- text: "text-ods-text-secondary",
2119
- bg: "bg-ods-text-secondary",
2120
- bgSoft: "bg-ods-text-secondary/10",
2121
- borderSoft: "border-ods-text-secondary/30"
2122
- }
2123
- };
2124
- var PLATFORM_THEME = "dark";
2125
- var PLATFORM_SURFACE = {
2126
- background: "system-greys-background",
2127
- text: "system-greys-white"
2128
- };
2129
- var getPlatformBackgroundVarName = () => `--ods-${PLATFORM_SURFACE.background}`;
2130
- var getPlatformTextVarName = () => `--ods-${PLATFORM_SURFACE.text}`;
2131
- var PLATFORM_BRAND = {
2132
- openframe: { accentStem: "open-yellow", secondaryStem: "flamingo-cyan" },
2133
- openmsp: { accentStem: "open-yellow", secondaryStem: "open-yellow" },
2134
- flamingo: { accentStem: "flamingo-pink", secondaryStem: "flamingo-pink" },
2135
- tmcg: { accentStem: "flamingo-pink", secondaryStem: "flamingo-pink" },
2136
- "marketing-hub": { accentStem: "flamingo-pink", secondaryStem: "flamingo-pink" },
2137
- "product-hub": { accentStem: "success", secondaryStem: "success" },
2138
- "revenue-hub": { accentStem: "warning", secondaryStem: "warning" },
2139
- "people-hub": { accentStem: "flamingo-cyan", secondaryStem: "flamingo-cyan" },
2140
- "company-hub": { accentStem: "error", secondaryStem: "error" },
2141
- mlg: { accentStem: "flamingo-pink", secondaryStem: "flamingo-cyan" },
2142
- universal: { accentStem: "text-secondary", secondaryStem: "text-secondary" }
2143
- };
2144
- function getPlatformBrand(platformName) {
2145
- return _nullishCoalesce(PLATFORM_BRAND[platformName], () => ( PLATFORM_BRAND.universal));
2146
- }
2147
- function platformAccentToken(platformName) {
2148
- return ODS_STEM_TOKENS[getPlatformBrand(platformName).accentStem];
2149
- }
2150
- function platformSecondaryToken(platformName) {
2151
- return ODS_STEM_TOKENS[getPlatformBrand(platformName).secondaryStem];
2152
- }
2153
- function platformAccentVarName(platformName) {
2154
- return `--ods-${platformAccentToken(platformName)}`;
2155
- }
2156
- function platformSecondaryVarName(platformName) {
2157
- return `--ods-${platformSecondaryToken(platformName)}`;
2158
- }
2159
- function getPlatformAccentColor(platformName) {
2160
- return `var(${platformAccentVarName(platformName)})`;
2161
- }
2162
- function getPlatformSecondaryColor(platformName) {
2163
- return `var(${platformSecondaryVarName(platformName)})`;
2164
- }
2165
- function getPlatformBrandClasses(platformName) {
2166
- const brand = getPlatformBrand(platformName);
2167
- const accent = ODS_STEM_CLASSES[brand.accentStem];
2168
- const secondary = ODS_STEM_CLASSES[brand.secondaryStem];
2169
- return {
2170
- accentText: accent.text,
2171
- accentBg: accent.bg,
2172
- accentBgSoft: accent.bgSoft,
2173
- accentBorderSoft: accent.borderSoft,
2174
- secondaryText: secondary.text
2175
- };
2176
- }
2177
- var platformColors = Object.fromEntries(
2178
- Object.keys(PLATFORM_BRAND).map((p) => [p, getPlatformBrandClasses(p).accentBg])
2179
- );
2180
- function getPlatformColor(platformName) {
2181
- return platformColors[platformName] || platformColors.universal;
2182
- }
2183
- var platformHexColors = {
2184
- openmsp: "#ffc008",
2185
- openframe: "#ffc008",
2186
- flamingo: "#f357bb",
2187
- universal: "#888888",
2188
- "marketing-hub": "#f357bb",
2189
- "product-hub": "#5ea62e",
2190
- "revenue-hub": "#e1b32f",
2191
- "people-hub": "#5efaf0",
2192
- "company-hub": "#f36666",
2193
- tmcg: "#f357bb",
2194
- mlg: "#f357bb"
2195
- };
2196
- function getDefaultColorForPlatform(platformName) {
2197
- return platformHexColors[platformName] || platformHexColors.universal;
2198
- }
2199
-
2200
- // src/components/chat/utils/icon-registry.ts
2201
-
2202
- var lucide = (name) => ({ lucide: name });
2203
- var fromSet = (exportName) => ({ set: exportName });
2204
- var ICON_REGISTRY = {
2205
- activity: lucide("activity"),
2206
- banknote: lucide("banknote"),
2207
- bell: lucide("bell"),
2208
- "book-open": lucide("book-open"),
2209
- box: lucide("box"),
2210
- briefcase: lucide("briefcase"),
2211
- calendar: lucide("calendar"),
2212
- "check-square": lucide("square-check-big"),
2213
- "dollar-sign": lucide("dollar-sign"),
2214
- // For brand-vs-lucide variants the kebab key is the BRAND (most-common
2215
- // social-platform intent); `'<name>-lucide'` carries the lucide outline.
2216
- facebook: fromSet("FacebookClassicIcon"),
2217
- "facebook-lucide": lucide("facebook"),
2218
- "file-text": lucide("file-text"),
2219
- // `'github-lucide'` is the lucide outline glyph (used by
2220
- // `social_platforms.icon_name='Github'`); `'github'` is the brand icon
2221
- // (used by `chat_admin_slash_commands.icon_name='github'`).
2222
- github: fromSet("GithubClassicIcon"),
2223
- "github-lucide": lucide("github"),
2224
- globe: lucide("globe"),
2225
- "graduation-cap": lucide("graduation-cap"),
2226
- headphones: lucide("headphones"),
2227
- info: lucide("info"),
2228
- instagram: fromSet("InstagramClassicIcon"),
2229
- "instagram-lucide": lucide("instagram"),
2230
- mail: lucide("mail"),
2231
- megaphone: lucide("megaphone"),
2232
- "message-circle": lucide("message-circle"),
2233
- "message-square": lucide("message-square"),
2234
- newspaper: lucide("newspaper"),
2235
- package: lucide("package"),
2236
- "pen-square": lucide("square-pen"),
2237
- phone: lucide("phone"),
2238
- rocket: lucide("rocket"),
2239
- search: lucide("search"),
2240
- send: lucide("send"),
2241
- shield: lucide("shield"),
2242
- star: lucide("star"),
2243
- table: lucide("table-properties"),
2244
- "trending-up": lucide("trending-up"),
2245
- twitter: lucide("twitter"),
2246
- users: lucide("users"),
2247
- video: lucide("video"),
2248
- whatsapp: fromSet("WhatsappIcon"),
2249
- youtube: fromSet("YoutubeClassicIcon"),
2250
- "youtube-lucide": lucide("youtube"),
2251
- // brand-only icons (no lucide variant in current use)
2252
- slack: fromSet("SlackIcon"),
2253
- clickup: fromSet("ClickupIcon"),
2254
- hubspot: fromSet("HubspotIcon"),
2255
- linkedin: fromSet("LinkedinClassicIcon"),
2256
- x: fromSet("XLogoIcon"),
2257
- // The OpenFrame logo's frame takes the text colour of where it sits (its own
2258
- // default is invisible on dark chat surfaces); the squares stay white.
2259
- openframe: {
2260
- set: "OpenframeLogoIcon",
2261
- color: "currentColor",
2262
- secondaryColor: "var(--ods-system-greys-white)",
2263
- ownColor: true
2264
- }
2265
- };
2266
- function registryIcon(key) {
2267
- if (!Object.prototype.hasOwnProperty.call(ICON_REGISTRY, key)) return void 0;
2268
- return _nullishCoalesce(iconOf(ICON_REGISTRY[key]), () => ( void 0));
2269
- }
2270
- var GLOBE = lucide("globe");
2271
- var fallbackIcon = (name) => lucideIcon(name);
2272
- var PASCAL_TO_KEBAB_ALIASES = {
2273
- // Lucide PascalCase names → kebab equivalents
2274
- Activity: "activity",
2275
- Banknote: "banknote",
2276
- Bell: "bell",
2277
- BookOpen: "book-open",
2278
- Box: "box",
2279
- Briefcase: "briefcase",
2280
- Calendar: "calendar",
2281
- CheckSquare: "check-square",
2282
- DollarSign: "dollar-sign",
2283
- // Lucide PascalCase → the `-lucide` kebab variant (kebab default is the
2284
- // brand icon for the social-platform names below).
2285
- Facebook: "facebook-lucide",
2286
- FileText: "file-text",
2287
- Github: "github-lucide",
2288
- Globe: "globe",
2289
- GraduationCap: "graduation-cap",
2290
- Headphones: "headphones",
2291
- Info: "info",
2292
- Instagram: "instagram-lucide",
2293
- Mail: "mail",
2294
- Megaphone: "megaphone",
2295
- MessageCircle: "message-circle",
2296
- MessageSquare: "message-square",
2297
- Newspaper: "newspaper",
2298
- Package: "package",
2299
- PenSquare: "pen-square",
2300
- Phone: "phone",
2301
- Rocket: "rocket",
2302
- Search: "search",
2303
- Send: "send",
2304
- Shield: "shield",
2305
- Star: "star",
2306
- TableProperties: "table",
2307
- TrendingUp: "trending-up",
2308
- Twitter: "twitter",
2309
- Users: "users",
2310
- Video: "video",
2311
- Youtube: "youtube-lucide",
2312
- // Brand-icon PascalCase exports → kebab (kebab default is the brand)
2313
- SlackIcon: "slack",
2314
- GitHubIcon: "github",
2315
- ClickUpIcon: "clickup",
2316
- HubspotIcon: "hubspot",
2317
- LinkedInIcon: "linkedin",
2318
- // `social_platforms.icon_name` stores the names these marks were first exported under.
2319
- FacebookIcon: "facebook",
2320
- InstagramIcon: "instagram",
2321
- FacebookClassicIcon: "facebook",
2322
- InstagramClassicIcon: "instagram",
2323
- YouTubeIcon: "youtube",
2324
- WhatsAppIcon: "whatsapp",
2325
- XLogo: "x",
2326
- OpenFrameLogo: "openframe"
2327
- };
2328
- function normalizeIconKey(key) {
2329
- return _nullishCoalesce(PASCAL_TO_KEBAB_ALIASES[key], () => ( key));
2330
- }
2331
- function getIconComponent(iconName) {
2332
- if (!iconName) return fallbackIcon("file-text");
2333
- return _nullishCoalesce(registryIcon(normalizeIconKey(iconName)), () => ( fallbackIcon("file-text")));
2334
- }
2335
- var SIZE_CLASSES = {
2336
- xs: "w-3 h-3",
2337
- // 12px
2338
- sm: "w-4 h-4",
2339
- // 16px
2340
- md: "w-6 h-6",
2341
- // 24px
2342
- lg: "w-8 h-8",
2343
- // 32px
2344
- xl: "w-12 h-12"
2345
- // 48px
2346
- };
2347
- var ICON_COLORS = {
2348
- linkedin: { color: "var(--social-linkedin)" },
2349
- facebook: { color: "var(--social-facebook)" },
2350
- youtube: { color: "var(--social-youtube)" },
2351
- instagram: { color: "var(--social-instagram-pink)" }
2352
- };
2353
- function getDynamicIcon(iconName, size = "md", className) {
2354
- if (!iconName) {
2355
- console.warn("[getDynamicIcon] No iconName provided, using Globe fallback");
2356
- return _react.createElement.call(void 0, NamedIcon, { icon: GLOBE, className: SIZE_CLASSES[size] });
2357
- }
2358
- const sizeClass = SIZE_CLASSES[size];
2359
- const finalClassName = _chunk3ATAYP36cjs.cn.call(void 0, sizeClass, className);
2360
- const canonicalKey = normalizeIconKey(iconName);
2361
- if (Object.prototype.hasOwnProperty.call(ICON_REGISTRY, canonicalKey)) {
2362
- const colorConfig = ICON_COLORS[canonicalKey] || {};
2363
- return _react.createElement.call(void 0, NamedIcon, { icon: ICON_REGISTRY[canonicalKey], className: finalClassName, ...colorConfig });
2364
- }
2365
- console.error(
2366
- `[getDynamicIcon] Icon NOT found in registry: "${iconName}" (normalized to "${canonicalKey}"). Available icons:`,
2367
- Object.keys(ICON_REGISTRY)
2368
- );
2369
- return _react.createElement.call(void 0, NamedIcon, { icon: GLOBE, className: finalClassName });
2370
- }
2371
-
2372
- // src/components/chat/utils/icon-library.tsx
2373
- var brandColor = (platform) => `var(${platformAccentVarName(platform)})`;
2374
- var MARK_SIZE = 16;
2375
- var OPENMSP_MARK = {
2376
- set: "OpenmspLogoIcon",
2377
- size: MARK_SIZE,
2378
- // On the dark surfaces every glyph sits on, the bubbles take the theme's text
2379
- // and background tokens and the back bubble OpenMSP's brand colour.
2380
- color: "var(--color-text-primary)",
2381
- secondaryColor: "var(--color-bg)",
2382
- tertiaryColor: brandColor("openmsp"),
2383
- ownColor: true
2384
- };
2385
- var FLAMINGO_MARK = {
2386
- set: "FlamingoMarkIcon",
2387
- size: MARK_SIZE,
2388
- color: brandColor("flamingo"),
2389
- ownColor: true
2390
- };
2391
- var OPENFRAME_GLYPH = { set: "OpenframeLogoIcon", size: MARK_SIZE, oneColor: true };
2392
- var CLICKUP_GREY = { set: "ClickupLogoGreyIcon" };
2393
- var SLACK_GREY = { set: "SlackLogoGreyIcon" };
2394
- var HUBSPOT_GREY = { set: "HubspotLogoGreyIcon" };
2395
- var GITHUB = { set: "GithubIcon" };
2396
- var ROCKET = { set: "Rocket02Icon" };
2397
- var BOOK = { set: "BookIcon" };
2398
- var CHATS = { set: "ChatsIcon" };
2399
- var FILE = { set: "FileIcon" };
2400
- var ICON_ALIASES = {
2401
- // Production `/api/docs/commands` keys (multi-platform-hub contract)
2402
- clickup: CLICKUP_GREY,
2403
- slack: SLACK_GREY,
2404
- hubspot: HUBSPOT_GREY,
2405
- github: GITHUB,
2406
- openframe: OPENFRAME_GLYPH,
2407
- rocket: ROCKET,
2408
- video: { set: "VideoRecorderIcon" },
2409
- headphones: { set: "HeadphoneIcon" },
2410
- // Figma-canonical aliases (node 7363:205938) — kept for Storybook
2411
- // fixtures and any older feed entries still using the long names.
2412
- "clickup-logo": CLICKUP_GREY,
2413
- "clickup-logo-grey": CLICKUP_GREY,
2414
- "slack-logo": SLACK_GREY,
2415
- "slack-logo-grey": SLACK_GREY,
2416
- "hubspot-logo": HUBSPOT_GREY,
2417
- "hubspot-logo-grey": HUBSPOT_GREY,
2418
- "github-logo": GITHUB,
2419
- "logo-openframe": OPENFRAME_GLYPH,
2420
- "rocket-01": ROCKET,
2421
- "rocket-02": ROCKET,
2422
- // The platforms' marks, by the names the announcement bar and the navigation store.
2423
- "openframe-logo": OPENFRAME_GLYPH,
2424
- "openmsp-logo": OPENMSP_MARK,
2425
- // Major League GitHub draws its mark in the theme's text colour on its own site, never in an accent.
2426
- "mlg-logo": { set: "MlgLogoIcon", size: MARK_SIZE, color: "var(--color-text-primary)" },
2427
- "tmcg-logo": {
2428
- set: "TmcgMarkIcon",
2429
- size: MARK_SIZE,
2430
- secondaryColor: brandColor("tmcg"),
2431
- tertiaryColor: "var(--color-text-primary)",
2432
- ownColor: true
2433
- },
2434
- flamingo: FLAMINGO_MARK,
2435
- "flamingo-logo": FLAMINGO_MARK,
2436
- // The same mark as a GLYPH: it takes the colour of the slot it sits in, like every icon beside it.
2437
- "flamingo-logo-grey": { set: "FlamingoMarkIcon", size: MARK_SIZE, color: "currentColor" },
2438
- // Microsoft 365 is drawn with the Office 365 mark, which the set names by the product's older name.
2439
- "microsoft-365-logo-grey": { set: "Office365LogoGreyIcon" },
2440
- megaphone: { lucide: "megaphone" },
2441
- bell: { lucide: "bell" },
2442
- info: { lucide: "info" },
2443
- star: { lucide: "star" },
2444
- package: { lucide: "package" },
2445
- // Names whose glyph is another icon of the set.
2446
- book: BOOK,
2447
- "book-open": BOOK,
2448
- file: FILE,
2449
- "file-text": FILE,
2450
- chats: CHATS,
2451
- "message-square": CHATS,
2452
- "message-circle": CHATS
2453
- };
2454
- function aliasIcon(iconName) {
2455
- if (!Object.prototype.hasOwnProperty.call(ICON_ALIASES, iconName)) return void 0;
2456
- return _nullishCoalesce(iconOf(ICON_ALIASES[iconName]), () => ( void 0));
2457
- }
2458
- function resolveFromLibrary(iconName) {
2459
- const tokens = iconName.trim().toLowerCase().replace(/_/g, "-").split("-");
2460
- if (tokens.some((t) => t.length === 0)) return void 0;
2461
- const cap = (t) => t.charAt(0).toUpperCase() + t.slice(1);
2462
- const candidates = [
2463
- `${tokens.map(cap).join("")}Icon`,
2464
- `${tokens.map((t) => t === "ai" ? "AI" : cap(t)).join("")}Icon`
2465
- ];
2466
- for (const name of candidates) {
2467
- if (iconFromSet(name)) return _nullishCoalesce(iconOf({ set: name, color: "currentColor" }), () => ( void 0));
2468
- }
2469
- return void 0;
2470
- }
2471
- function brandLogoForName(name) {
2472
- const words = (_nullishCoalesce(name, () => ( ""))).split(/[^A-Za-z0-9]+/).filter(Boolean);
2473
- const pascal = (word) => word.charAt(0).toUpperCase() + word.slice(1).toLowerCase();
2474
- for (let length = Math.min(3, words.length); length >= 1; length -= 1) {
2475
- for (let start = 0; start + length <= words.length; start += 1) {
2476
- const Logo = iconFromSet(
2477
- `${words.slice(start, start + length).map(pascal).join("")}LogoIcon`
2478
- );
2479
- if (Logo) return Logo;
2480
- }
2481
- }
2482
- return null;
2483
- }
2484
- function resolveIcon(iconName, opts) {
2485
- if (_optionalChain([opts, 'optionalAccess', _5 => _5.variant]) === "brand") {
2486
- const brand = iconName ? registryIcon(normalizeIconKey(iconName)) : void 0;
2487
- if (brand) return brand;
2488
- const design = iconName ? _nullishCoalesce(aliasIcon(iconName), () => ( resolveFromLibrary(iconName))) : void 0;
2489
- return _nullishCoalesce(design, () => ( getIconComponent(iconName)));
2490
- }
2491
- if (!iconName) return setIcon("FileIcon");
2492
- return _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(aliasIcon(iconName), () => ( resolveFromLibrary(iconName))), () => ( lucideIcon(iconName.trim().toLowerCase()))), () => ( setIcon("FileIcon")));
2493
- }
2494
- function findIcon(iconName) {
2495
- if (!iconName) return null;
2496
- return _nullishCoalesce(_nullishCoalesce(aliasIcon(iconName), () => ( resolveFromLibrary(iconName))), () => ( null));
2497
- }
2498
- var ICON_OPTIONS = [
2499
- // Brands
2500
- { key: "openframe", label: "OpenFrame" },
2501
- { key: "slack", label: "Slack" },
2502
- { key: "hubspot", label: "HubSpot" },
2503
- { key: "clickup", label: "ClickUp" },
2504
- { key: "github", label: "GitHub" },
2505
- { key: "linkedin", label: "LinkedIn" },
2506
- { key: "twitter", label: "Twitter (X)" },
2507
- { key: "twitter-x", label: "X" },
2508
- { key: "facebook", label: "Facebook" },
2509
- { key: "instagram", label: "Instagram" },
2510
- { key: "youtube", label: "YouTube" },
2511
- { key: "discord", label: "Discord" },
2512
- { key: "figma", label: "Figma" },
2513
- { key: "google", label: "Google" },
2514
- { key: "apple", label: "Apple" },
2515
- { key: "windows", label: "Windows" },
2516
- { key: "android", label: "Android" },
2517
- { key: "openai-logo", label: "OpenAI" },
2518
- { key: "anthropic-logo", label: "Anthropic" },
2519
- // Content & docs
2520
- { key: "newspaper", label: "Newspaper" },
2521
- { key: "book", label: "Book" },
2522
- { key: "file", label: "File" },
2523
- { key: "file-text", label: "Document" },
2524
- { key: "file-code", label: "Code file" },
2525
- { key: "file-chart-bar", label: "Report" },
2526
- { key: "file-dollar", label: "Invoice file" },
2527
- { key: "folder", label: "Folder" },
2528
- { key: "folder-open", label: "Folder open" },
2529
- { key: "clipboard", label: "Clipboard" },
2530
- { key: "clipboard-list", label: "Checklist" },
2531
- { key: "clipboard-check", label: "Clipboard check" },
2532
- { key: "memo", label: "Memo" },
2533
- { key: "paperclip", label: "Attachment" },
2534
- { key: "copy-01", label: "Copy" },
2535
- { key: "files", label: "Files" },
2536
- { key: "box-archive", label: "Box" },
2537
- { key: "parcel-01", label: "Parcel" },
2538
- // Media
2539
- { key: "video", label: "Video" },
2540
- { key: "headphones", label: "Podcast / audio" },
2541
- { key: "podcast", label: "Podcast" },
2542
- { key: "mic", label: "Microphone" },
2543
- { key: "music-note-01", label: "Music" },
2544
- { key: "camera", label: "Camera" },
2545
- { key: "image", label: "Image" },
2546
- { key: "film-hr", label: "Film" },
2547
- { key: "play", label: "Play" },
2548
- // Date & time
2549
- { key: "calendar", label: "Calendar" },
2550
- { key: "calendar-check", label: "Calendar check" },
2551
- { key: "clock", label: "Clock" },
2552
- { key: "alarm", label: "Alarm" },
2553
- { key: "stopwatch", label: "Stopwatch" },
2554
- { key: "timer", label: "Timer" },
2555
- { key: "hourglass", label: "Hourglass" },
2556
- // Places & business
2557
- { key: "briefcase", label: "Briefcase" },
2558
- { key: "graduation-cap", label: "Education" },
2559
- { key: "building", label: "Building" },
2560
- { key: "buildings", label: "Buildings" },
2561
- { key: "hospital", label: "Hospital" },
2562
- { key: "school", label: "School" },
2563
- { key: "warehouse", label: "Warehouse" },
2564
- { key: "shop", label: "Shop" },
2565
- // Communication
2566
- { key: "search", label: "Search" },
2567
- { key: "chats", label: "Chat" },
2568
- { key: "message-text", label: "Message" },
2569
- { key: "messages", label: "Messages" },
2570
- { key: "email", label: "Email" },
2571
- { key: "inbox", label: "Inbox" },
2572
- { key: "send-01", label: "Send" },
2573
- { key: "at-sign", label: "Mention" },
2574
- { key: "bell", label: "Notifications" },
2575
- { key: "megaphone-01", label: "Announcement" },
2576
- // Charts & analytics
2577
- { key: "chart-pie", label: "Pie chart" },
2578
- { key: "chart-donut", label: "Donut chart" },
2579
- { key: "chart-bar-01-ver", label: "Bar chart" },
2580
- { key: "chart-line-up", label: "Line chart" },
2581
- { key: "trend-up", label: "Trend up" },
2582
- { key: "trend-down", label: "Trend down" },
2583
- { key: "presentation", label: "Presentation" },
2584
- { key: "analysis", label: "Analysis" },
2585
- { key: "activity", label: "Activity" },
2586
- { key: "network", label: "Network" },
2587
- // Finance
2588
- { key: "bank", label: "Bank" },
2589
- { key: "money-bill-dollar", label: "Money" },
2590
- { key: "money-bill", label: "Bill" },
2591
- { key: "coins", label: "Coins" },
2592
- { key: "coin", label: "Coin" },
2593
- { key: "coins-exchange-currency", label: "Currency exchange" },
2594
- { key: "piggy-bank", label: "Savings" },
2595
- { key: "wallet-01", label: "Wallet" },
2596
- { key: "credit-card", label: "Credit card" },
2597
- { key: "hand-coin", label: "Hand coin" },
2598
- { key: "dollar", label: "Dollar" },
2599
- { key: "dollar-circle", label: "Dollar circle" },
2600
- { key: "euro", label: "Euro" },
2601
- { key: "bitcoin", label: "Bitcoin" },
2602
- { key: "percent", label: "Percent" },
2603
- { key: "receipt-01", label: "Receipt" },
2604
- { key: "badge-dollar", label: "Price badge" },
2605
- { key: "sack", label: "Money sack" },
2606
- // Security
2607
- { key: "shield", label: "Shield" },
2608
- { key: "shield-check", label: "Shield check" },
2609
- { key: "lock", label: "Lock" },
2610
- { key: "unlock", label: "Unlock" },
2611
- { key: "key", label: "Key" },
2612
- { key: "fingerprint", label: "Fingerprint" },
2613
- { key: "scan", label: "Scan" },
2614
- // People
2615
- { key: "user", label: "User" },
2616
- { key: "users", label: "Users" },
2617
- { key: "users-group", label: "User group" },
2618
- { key: "user-check", label: "User check" },
2619
- { key: "id-card", label: "ID card" },
2620
- { key: "avatar-circle", label: "Avatar" },
2621
- // Devices & infra
2622
- { key: "laptop", label: "Laptop" },
2623
- { key: "monitor", label: "Monitor" },
2624
- { key: "mobile-phone", label: "Phone" },
2625
- { key: "hard-drive", label: "Hard drive" },
2626
- { key: "hard-drives", label: "Storage" },
2627
- { key: "cloud", label: "Cloud" },
2628
- { key: "wifi", label: "Wi-Fi" },
2629
- { key: "printer", label: "Printer" },
2630
- { key: "keyboard", label: "Keyboard" },
2631
- { key: "microchip", label: "Chip" },
2632
- { key: "microchip-ai", label: "AI chip" },
2633
- { key: "power", label: "Power" },
2634
- // Code & dev
2635
- { key: "bracket-curly", label: "Code" },
2636
- { key: "terminal", label: "Terminal" },
2637
- { key: "code", label: "Code block" },
2638
- { key: "bug", label: "Bug" },
2639
- { key: "package", label: "Package" },
2640
- { key: "database", label: "Database" },
2641
- { key: "browser", label: "Browser" },
2642
- { key: "puzzle-01", label: "Plugin" },
2643
- { key: "coding-branch", label: "Branch" },
2644
- { key: "coding-commit", label: "Commit" },
2645
- { key: "coding-pull-request", label: "Pull request" },
2646
- { key: "robot", label: "Bot" },
2647
- { key: "blockchain", label: "Blockchain" },
2648
- // General & status
2649
- { key: "layers", label: "Layers" },
2650
- { key: "settings-01", label: "Settings" },
2651
- { key: "home", label: "Home" },
2652
- { key: "eye", label: "View" },
2653
- { key: "link-01", label: "Link" },
2654
- { key: "download-01", label: "Download" },
2655
- { key: "upload-01", label: "Upload" },
2656
- { key: "trash", label: "Delete" },
2657
- { key: "share", label: "Share" },
2658
- { key: "life-buoy", label: "Support" },
2659
- { key: "rocket", label: "Rocket" },
2660
- { key: "compass", label: "Compass" },
2661
- { key: "star", label: "Star" },
2662
- { key: "crown", label: "Crown" },
2663
- { key: "gift", label: "Gift" },
2664
- { key: "ticket", label: "Ticket" },
2665
- { key: "tag", label: "Tag" },
2666
- { key: "cart", label: "Cart" },
2667
- { key: "thumbs-up", label: "Thumbs up" },
2668
- { key: "flag-01", label: "Flag" },
2669
- { key: "bookmark", label: "Bookmark" },
2670
- { key: "pin", label: "Pin" },
2671
- { key: "check-circle", label: "Check" },
2672
- { key: "check-square", label: "Checkbox" },
2673
- { key: "info-circle", label: "Info" },
2674
- { key: "info", label: "Info alt" },
2675
- { key: "question-circle", label: "Help" },
2676
- { key: "alert-triangle", label: "Warning" },
2677
- { key: "hash", label: "Hashtag" },
2678
- { key: "pencil", label: "Edit" },
2679
- { key: "lightning", label: "Lightning" },
2680
- { key: "globe-01", label: "Globe" },
2681
- { key: "scale-balanced", label: "Balance" },
2682
- { key: "certified-01", label: "Certified" }
2683
- ];
2684
-
2685
- // src/hooks/use-authed-image-src.ts
2686
- function useAuthedImageSrc(src) {
2687
- return _chunkVOX4E6AXcjs.useAuthedAssetSrc.call(void 0, src, "image/*");
2688
- }
2689
- var clearAuthedImageCache = _chunkVOX4E6AXcjs.clearAuthedAssetCache;
2690
-
2691
-
2692
-
2693
-
2694
-
2695
-
2696
-
2697
-
2698
-
2699
-
2700
-
2701
-
2702
-
2703
-
2704
-
2705
-
2706
-
2707
-
2708
-
2709
-
2710
-
2711
-
2712
-
2713
-
2714
-
2715
-
2716
-
2717
-
2718
-
2719
-
2720
-
2721
-
2722
-
2723
-
2724
-
2725
-
2726
-
2727
-
2728
-
2729
-
2730
-
2731
-
2732
-
2733
-
2734
-
2735
-
2736
-
2737
-
2738
1804
 
2739
1805
 
2740
- 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;
1806
+ exports.ICON_LOADERS = ICON_LOADERS;