@flamingo-stack/openframe-frontend-core 0.0.730 → 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.
- package/dist/aicpa-soc2-logo-icon-MLDYZA5S.cjs +7 -0
- package/dist/build/export-map.json +1 -1
- package/dist/{chunk-XA436AER.cjs → chunk-25H2SZH7.cjs} +4 -4
- package/dist/{chunk-5RMCAY6Y.cjs → chunk-27TMRMOM.cjs} +6 -4
- package/dist/{chunk-SKDQ2SLJ.cjs → chunk-2UNQJVYN.cjs} +670 -667
- package/dist/{chunk-73MDSN5A.cjs → chunk-2WXLQ5R5.cjs} +2 -2
- package/dist/{chunk-YPM3ALIW.cjs → chunk-32ENYVFA.cjs} +42 -42
- package/dist/{chunk-CLA3UGKT.cjs → chunk-3SWLL4IM.cjs} +12 -12
- package/dist/{chunk-FGA6T2XT.cjs → chunk-4YPV4OI4.cjs} +73 -73
- package/dist/{chunk-2T2TH5DF.cjs → chunk-52HFGZCI.cjs} +14 -12
- package/dist/{chunk-PGFR4CDB.cjs → chunk-53XZ6MJ5.cjs} +40 -40
- package/dist/{chunk-4XQXTQUK.cjs → chunk-6N5NQRQA.cjs} +8 -6
- package/dist/{chunk-XSPL7RXL.cjs → chunk-6V4GEE55.cjs} +10 -10
- package/dist/{chunk-5KLNEFZZ.cjs → chunk-7DUXR4HL.cjs} +3 -3
- package/dist/{chunk-AIW4KZQT.cjs → chunk-A4HNF4MP.cjs} +89 -89
- package/dist/{chunk-2I3XU2IB.cjs → chunk-BFHLGEJK.cjs} +45 -45
- package/dist/{chunk-FRET5WH3.cjs → chunk-CKR42OBK.cjs} +4 -2
- package/dist/{chunk-A7T3P5Q5.cjs → chunk-CLILWI6O.cjs} +32 -32
- package/dist/{chunk-GJPAS4RJ.cjs → chunk-CT342EJU.cjs} +6 -4
- package/dist/{chunk-YHFXQ5OR.cjs → chunk-E3N24573.cjs} +9 -9
- package/dist/{chunk-24KWUFWA.cjs → chunk-FKKUQK4C.cjs} +38 -38
- package/dist/{chunk-UG7Q3HQH.cjs → chunk-GID62YEN.cjs} +3 -3
- package/dist/{chunk-NDHQ7JLZ.cjs → chunk-GKHWXI25.cjs} +11 -15
- package/dist/{chunk-KMMV562E.cjs → chunk-HEOD765R.cjs} +18 -18
- package/dist/{chunk-66QTEDJL.cjs → chunk-HI7EFAFQ.cjs} +26 -26
- package/dist/{chunk-CD5YBUJK.cjs → chunk-HLIJ3U2T.cjs} +20 -20
- package/dist/{chunk-4NFVFTD6.cjs → chunk-HY2KTQSL.cjs} +238 -238
- package/dist/{chunk-YJXUJWHN.cjs → chunk-J7SZOZOS.cjs} +28 -26
- package/dist/{chunk-6NKLR5QN.cjs → chunk-JK75ZZP3.cjs} +59 -59
- package/dist/{chunk-JNDR5N3T.cjs → chunk-JPZ4Y6X3.cjs} +93 -93
- package/dist/{chunk-NXCV35RR.cjs → chunk-KLXHCNDC.cjs} +3 -3
- package/dist/{chunk-6KD2XUQZ.cjs → chunk-LRQITIEC.cjs} +28 -26
- package/dist/chunk-MANNIJ42.cjs +967 -0
- package/dist/{chunk-TW2SES5W.cjs → chunk-NCGAP3U4.cjs} +4 -2
- package/dist/{chunk-DINGZJ37.cjs → chunk-NYY25425.cjs} +2 -2
- package/dist/{chunk-HVZBIXCZ.cjs → chunk-O2RPIGSG.cjs} +6 -4
- package/dist/{chunk-UYKL2AXE.cjs → chunk-OKW5OAFJ.cjs} +8 -6
- package/dist/{chunk-YRZB4BMZ.cjs → chunk-QP6QS3YU.cjs} +44 -44
- package/dist/{chunk-VQMWBQUJ.cjs → chunk-R4QMR6S4.cjs} +14 -12
- package/dist/{chunk-2V62Y67F.cjs → chunk-RAHRDJBP.cjs} +4 -4
- package/dist/{chunk-3YHVQ34L.cjs → chunk-RBOIGJYF.cjs} +89 -91
- package/dist/{chunk-NB5BYOTM.cjs → chunk-RC32WBPL.cjs} +6 -4
- package/dist/{chunk-TI2IFCZG.cjs → chunk-TH4N726A.cjs} +17 -17
- package/dist/{chunk-WTURHKM2.cjs → chunk-XDBHGWFH.cjs} +14 -14
- package/dist/{chunk-P4YHBHP4.cjs → chunk-Y4QRK3CB.cjs} +7 -7
- package/dist/{chunk-Q5GR7LKV.cjs → chunk-YDGBRI3Y.cjs} +15 -15
- package/dist/{chunk-CDLDAQBA.cjs → chunk-YJFN2W7A.cjs} +7 -7
- package/dist/{chunk-UHJG2BDI.cjs → chunk-YUXRIR45.cjs} +3 -3
- package/dist/{chunk-L7Y7KDTM.cjs → chunk-ZV6473Z4.cjs} +20 -20
- package/dist/{chunk-GVTCHXW2.cjs → chunk-ZWUIRQNY.cjs} +28 -26
- package/dist/clickup-icon-3SETH2MM.cjs +7 -0
- package/dist/clickup-logo-icon-DJKBEFMR.cjs +7 -0
- package/dist/{cloud-tenants-VV6UQE7J.cjs → cloud-tenants-SC4FNAC2.cjs} +34 -34
- package/dist/components/case-studies/index.cjs +47 -47
- package/dist/components/chat/entity-cards/entity-portrait-card.js +1 -1
- package/dist/components/chat/index.cjs +28 -28
- package/dist/components/chat/types/entities/program-types.d.ts +1 -23
- package/dist/components/chat/types/entities/program-types.d.ts.map +1 -1
- package/dist/components/chat/types/entities/program-types.js +1 -9
- package/dist/components/chat/utils/icon-loading.d.ts +35 -2
- package/dist/components/chat/utils/icon-loading.d.ts.map +1 -1
- package/dist/components/chat/utils/icon-loading.js +31 -9
- package/dist/components/contact/index.cjs +35 -35
- package/dist/components/docs/index.cjs +38 -38
- package/dist/components/embeds/index.cjs +35 -35
- package/dist/components/faq/index.cjs +35 -35
- package/dist/components/features/index.cjs +36 -34
- package/dist/components/features/video-bites-shared.cjs +8 -0
- package/dist/components/features/video-bites-shared.d.ts +25 -0
- package/dist/components/features/video-bites-shared.d.ts.map +1 -1
- package/dist/components/features/video-bites-shared.js +8 -0
- package/dist/components/help-center-pages/index.cjs +150 -150
- package/dist/components/icons-v2-generated/brand-logos/clickup-icon.d.ts +1 -1
- package/dist/components/icons-v2-generated/brand-logos/clickup-icon.d.ts.map +1 -1
- package/dist/components/icons-v2-generated/brand-logos/clickup-icon.js +6 -4
- package/dist/components/icons-v2-generated/brand-logos/clickup-logo-icon.d.ts +1 -1
- package/dist/components/icons-v2-generated/brand-logos/clickup-logo-icon.d.ts.map +1 -1
- package/dist/components/icons-v2-generated/brand-logos/clickup-logo-icon.js +6 -4
- package/dist/components/icons-v2-generated/brand-logos/elestio-logo-grey-icon.d.ts +1 -1
- package/dist/components/icons-v2-generated/brand-logos/elestio-logo-grey-icon.d.ts.map +1 -1
- package/dist/components/icons-v2-generated/brand-logos/elestio-logo-grey-icon.js +4 -2
- package/dist/components/icons-v2-generated/brand-logos/elestio-logo-icon.d.ts +1 -1
- package/dist/components/icons-v2-generated/brand-logos/elestio-logo-icon.d.ts.map +1 -1
- package/dist/components/icons-v2-generated/brand-logos/elestio-logo-icon.js +14 -12
- package/dist/components/icons-v2-generated/brand-logos/gemini-logo-icon.d.ts +1 -1
- package/dist/components/icons-v2-generated/brand-logos/gemini-logo-icon.d.ts.map +1 -1
- package/dist/components/icons-v2-generated/brand-logos/gemini-logo-icon.js +28 -26
- package/dist/components/icons-v2-generated/brand-logos/google-gemini-icon.d.ts +1 -1
- package/dist/components/icons-v2-generated/brand-logos/google-gemini-icon.d.ts.map +1 -1
- package/dist/components/icons-v2-generated/brand-logos/google-gemini-icon.js +28 -26
- package/dist/components/icons-v2-generated/brand-logos/google-gemini-logo-icon.d.ts +1 -1
- package/dist/components/icons-v2-generated/brand-logos/google-gemini-logo-icon.d.ts.map +1 -1
- package/dist/components/icons-v2-generated/brand-logos/google-gemini-logo-icon.js +28 -26
- package/dist/components/icons-v2-generated/brand-logos/google-sheets-icon.d.ts +1 -1
- package/dist/components/icons-v2-generated/brand-logos/google-sheets-icon.d.ts.map +1 -1
- package/dist/components/icons-v2-generated/brand-logos/google-sheets-icon.js +4 -2
- package/dist/components/icons-v2-generated/brand-logos/meshcentral-logo-grey-icon.d.ts +1 -1
- package/dist/components/icons-v2-generated/brand-logos/meshcentral-logo-grey-icon.d.ts.map +1 -1
- package/dist/components/icons-v2-generated/brand-logos/meshcentral-logo-grey-icon.js +8 -6
- package/dist/components/icons-v2-generated/brand-logos/meshcentral-logo-icon.d.ts +1 -1
- package/dist/components/icons-v2-generated/brand-logos/meshcentral-logo-icon.d.ts.map +1 -1
- package/dist/components/icons-v2-generated/brand-logos/meshcentral-logo-icon.js +8 -6
- package/dist/components/icons-v2-generated/brand-logos/winget-logo-icon.d.ts +1 -1
- package/dist/components/icons-v2-generated/brand-logos/winget-logo-icon.d.ts.map +1 -1
- package/dist/components/icons-v2-generated/brand-logos/winget-logo-icon.js +14 -12
- package/dist/components/icons-v2-generated/compliance-logos/aicpa-soc2-logo-icon.d.ts +1 -1
- package/dist/components/icons-v2-generated/compliance-logos/aicpa-soc2-logo-icon.d.ts.map +1 -1
- package/dist/components/icons-v2-generated/compliance-logos/aicpa-soc2-logo-icon.js +6 -4
- package/dist/components/icons-v2-generated/compliance-logos/eu-logo-icon.d.ts +1 -1
- package/dist/components/icons-v2-generated/compliance-logos/eu-logo-icon.d.ts.map +1 -1
- package/dist/components/icons-v2-generated/compliance-logos/eu-logo-icon.js +11 -15
- package/dist/components/icons-v2-generated/icon-names.d.ts +5 -0
- package/dist/components/icons-v2-generated/icon-names.d.ts.map +1 -0
- package/dist/components/icons-v2-generated/icon-names.js +10 -0
- package/dist/components/icons-v2-generated/index.cjs +15 -15
- package/dist/components/icons-v2-generated/interface/empty-vendor-icon.d.ts +1 -1
- package/dist/components/icons-v2-generated/interface/empty-vendor-icon.d.ts.map +1 -1
- package/dist/components/icons-v2-generated/interface/empty-vendor-icon.js +6 -4
- package/dist/components/index.cjs +91 -91
- package/dist/components/meeting-scheduler/index.cjs +93 -93
- package/dist/components/navigation/index.cjs +37 -37
- package/dist/components/onboarding-guides/index.cjs +37 -37
- package/dist/components/product-demo/index.cjs +8 -8
- package/dist/components/related-content/index.cjs +8 -8
- package/dist/components/shared/product-release/product-release-card.js +1 -1
- package/dist/components/tickets/index.cjs +38 -38
- package/dist/components/ui/index.cjs +34 -34
- package/dist/components/ui/photo-wall.d.ts.map +1 -1
- package/dist/components/ui/photo-wall.js +4 -1
- package/dist/{devices-X72Z4QMT.cjs → devices-7MHSJNXS.cjs} +35 -35
- package/dist/elestio-logo-grey-icon-DV7P3JLT.cjs +7 -0
- package/dist/elestio-logo-icon-34ILAIDI.cjs +7 -0
- package/dist/{embeddable-chat-TETIRLQD.cjs → embeddable-chat-VPIG3F7E.cjs} +103 -103
- package/dist/empty-vendor-icon-XZYOZ4EP.cjs +7 -0
- package/dist/eu-logo-icon-EYOX3UC7.cjs +7 -0
- package/dist/gemini-logo-icon-DNACTHIK.cjs +7 -0
- package/dist/google-gemini-icon-TZHJZ4IQ.cjs +7 -0
- package/dist/google-gemini-logo-icon-4XQVV5NN.cjs +7 -0
- package/dist/google-sheets-icon-UAAEBTR7.cjs +7 -0
- package/dist/hooks/index.cjs +8 -8
- package/dist/{chunk-SI24RMI5.cjs → icon-loaders-OLGJZGRP.cjs} +16 -950
- package/dist/index.cjs +40 -40
- package/dist/{knowledge-HWBSPQ7M.cjs → knowledge-4DREGSOZ.cjs} +35 -35
- package/dist/{logs-IZ4QTHPI.cjs → logs-BWXNT2KP.cjs} +42 -42
- package/dist/meshcentral-logo-grey-icon-UCRYV3IC.cjs +7 -0
- package/dist/meshcentral-logo-icon-76NSLOXF.cjs +7 -0
- package/dist/{policies-VHQR7JR5.cjs → policies-MGFUI23M.cjs} +38 -38
- package/dist/{remote-session-IR3YCXSR.cjs → remote-session-O6QGXV2N.cjs} +22 -22
- package/dist/schemas/contact-schema.cjs +31 -11
- package/dist/schemas/contact-schema.d.ts +1 -1
- package/dist/schemas/contact-schema.d.ts.map +1 -1
- package/dist/schemas/contact-schema.js +1 -1
- package/dist/schemas/meeting-booking-schema.cjs +34 -14
- package/dist/schemas/meeting-booking-schema.d.ts +1 -1
- package/dist/schemas/meeting-booking-schema.d.ts.map +1 -1
- package/dist/schemas/meeting-booking-schema.js +1 -1
- package/dist/{software-update-QLOVC6EX.cjs → software-update-7LF7XEYC.cjs} +38 -38
- package/dist/{tickets-board-YONLQB6F.cjs → tickets-board-KNXK747O.cjs} +25 -25
- package/dist/utils/index.cjs +2004 -1959
- package/dist/winget-logo-icon-GBS342G4.cjs +7 -0
- package/package.json +1 -1
- package/src/components/chat/entity-cards/entity-portrait-card.tsx +1 -1
- package/src/components/chat/types/entities/program-types.ts +4 -30
- package/src/components/chat/utils/icon-loading.tsx +50 -9
- package/src/components/features/video-bites-shared.ts +30 -0
- package/src/components/icons-v2-generated/brand-logos/clickup-icon.tsx +7 -5
- package/src/components/icons-v2-generated/brand-logos/clickup-logo-icon.tsx +7 -5
- package/src/components/icons-v2-generated/brand-logos/elestio-logo-grey-icon.tsx +5 -3
- package/src/components/icons-v2-generated/brand-logos/elestio-logo-icon.tsx +15 -13
- package/src/components/icons-v2-generated/brand-logos/gemini-logo-icon.tsx +29 -27
- package/src/components/icons-v2-generated/brand-logos/google-gemini-icon.tsx +29 -27
- package/src/components/icons-v2-generated/brand-logos/google-gemini-logo-icon.tsx +29 -27
- package/src/components/icons-v2-generated/brand-logos/google-sheets-icon.tsx +5 -3
- package/src/components/icons-v2-generated/brand-logos/meshcentral-logo-grey-icon.tsx +9 -7
- package/src/components/icons-v2-generated/brand-logos/meshcentral-logo-icon.tsx +9 -7
- package/src/components/icons-v2-generated/brand-logos/winget-logo-icon.tsx +15 -13
- package/src/components/icons-v2-generated/compliance-logos/aicpa-soc2-logo-icon.tsx +92 -90
- package/src/components/icons-v2-generated/compliance-logos/eu-logo-icon.tsx +51 -52
- package/src/components/icons-v2-generated/icon-names.ts +11 -0
- package/src/components/icons-v2-generated/interface/empty-vendor-icon.tsx +7 -5
- package/src/components/shared/product-release/product-release-card.tsx +1 -1
- package/src/components/ui/photo-wall.tsx +6 -0
- package/src/schemas/contact-schema.ts +1 -1
- package/src/schemas/meeting-booking-schema.ts +1 -1
- package/src/styles/fonts.css +26 -0
- package/src/styles/ods-design-tokens.css +4 -2
- package/dist/aicpa-soc2-logo-icon-CJ5JRV6J.cjs +0 -7
- package/dist/clickup-icon-CBBUZUVQ.cjs +0 -7
- package/dist/clickup-logo-icon-CGDKKISS.cjs +0 -7
- package/dist/elestio-logo-grey-icon-Y5OFW4OO.cjs +0 -7
- package/dist/elestio-logo-icon-X7TTQAYP.cjs +0 -7
- package/dist/empty-vendor-icon-3RKCZUUR.cjs +0 -7
- package/dist/eu-logo-icon-N7QVPGG3.cjs +0 -7
- package/dist/gemini-logo-icon-QOPGATSZ.cjs +0 -7
- package/dist/google-gemini-icon-7GWWF6O6.cjs +0 -7
- package/dist/google-gemini-logo-icon-Z3GHPMVN.cjs +0 -7
- package/dist/google-sheets-icon-7MJ3LV4P.cjs +0 -7
- package/dist/meshcentral-logo-grey-icon-3VFJQMV2.cjs +0 -7
- package/dist/meshcentral-logo-icon-MDVBWMP5.cjs +0 -7
- 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;
|