@flamingo-stack/openframe-frontend-core 0.0.745 → 0.0.748

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (99) hide show
  1. package/dist/build/export-map.json +1 -1
  2. package/dist/{chunk-7PQOZLVP.cjs → chunk-46EIXJFC.cjs} +20 -20
  3. package/dist/{chunk-FNIFUCXU.cjs → chunk-4AZHFLOM.cjs} +5 -5
  4. package/dist/{chunk-YJRMCFX3.cjs → chunk-4MGZYY6U.cjs} +7 -7
  5. package/dist/{chunk-QES5NV4T.cjs → chunk-6XP6RNFD.cjs} +1040 -1010
  6. package/dist/{chunk-75BF7YJR.cjs → chunk-7Y3VMMJB.cjs} +13 -13
  7. package/dist/{chunk-GAGNKWOC.cjs → chunk-BBM2ICOY.cjs} +2 -2
  8. package/dist/{chunk-DJO7YMT3.cjs → chunk-BBTSJYTR.cjs} +232 -227
  9. package/dist/{chunk-4N7KGOBS.cjs → chunk-BEC43GHL.cjs} +3 -3
  10. package/dist/{chunk-NFINQ7IZ.cjs → chunk-D4XZL27V.cjs} +6 -6
  11. package/dist/{chunk-PM5ELQBL.cjs → chunk-EH3LOWGY.cjs} +32 -32
  12. package/dist/{chunk-7KHQHYXL.cjs → chunk-G2ELX3DG.cjs} +18 -18
  13. package/dist/{chunk-M4FKV2U5.cjs → chunk-GE4PCDNZ.cjs} +12 -12
  14. package/dist/{chunk-GEEKJ7SH.cjs → chunk-H34A2765.cjs} +74 -74
  15. package/dist/{chunk-URVIPSAJ.cjs → chunk-HNLI4OU5.cjs} +14 -14
  16. package/dist/{chunk-ABLUMGCI.cjs → chunk-JHQNUWFM.cjs} +83 -33
  17. package/dist/{chunk-3LX5AGZO.cjs → chunk-JNBOQ7F2.cjs} +24 -24
  18. package/dist/{chunk-RIGSZEXS.cjs → chunk-JOPFX3PJ.cjs} +90 -90
  19. package/dist/{chunk-UY6A6TEY.cjs → chunk-L2IQESTQ.cjs} +2 -2
  20. package/dist/{chunk-HVR7DPAY.cjs → chunk-OZUJYBQ2.cjs} +4 -4
  21. package/dist/{chunk-LJ46XYYP.cjs → chunk-P7KTAXXE.cjs} +41 -27
  22. package/dist/{chunk-OWGLRE74.cjs → chunk-PSIKUDUV.cjs} +8 -8
  23. package/dist/{chunk-4A6OF4HI.cjs → chunk-PSSGIZXZ.cjs} +44 -44
  24. package/dist/{chunk-YIOWV7LS.cjs → chunk-QPSQ5WLG.cjs} +2 -2
  25. package/dist/{chunk-GQ2TRIOV.cjs → chunk-TRXCQADV.cjs} +35 -35
  26. package/dist/{chunk-U2O5YQRP.cjs → chunk-U6XWGK53.cjs} +33 -33
  27. package/dist/{chunk-HMSCUL4R.cjs → chunk-UNR74CAC.cjs} +4 -4
  28. package/dist/{chunk-JGZEHBBD.cjs → chunk-YIRX6C7V.cjs} +10 -10
  29. package/dist/{chunk-6IQDQQ56.cjs → chunk-YKJQM2O6.cjs} +38 -38
  30. package/dist/{chunk-5TCIRWHL.cjs → chunk-YRULLK7N.cjs} +5 -5
  31. package/dist/{chunk-GOTEXQZN.cjs → chunk-ZNUSYMH7.cjs} +80 -80
  32. package/dist/{cloud-tenants-DECPWIYQ.cjs → cloud-tenants-V5727B7F.cjs} +13 -13
  33. package/dist/components/case-studies/index.cjs +31 -29
  34. package/dist/components/case-studies/share-experience-section.d.ts.map +1 -1
  35. package/dist/components/case-studies/share-experience-section.js +6 -5
  36. package/dist/components/chat/index.cjs +9 -9
  37. package/dist/components/contact/index.cjs +14 -14
  38. package/dist/components/docs/index.cjs +17 -17
  39. package/dist/components/embeds/index.cjs +14 -14
  40. package/dist/components/faq/index.cjs +15 -15
  41. package/dist/components/features/index.cjs +13 -13
  42. package/dist/components/help-center-pages/index.cjs +116 -116
  43. package/dist/components/index.cjs +121 -125
  44. package/dist/components/layout/page-heading.d.ts +16 -0
  45. package/dist/components/layout/page-heading.d.ts.map +1 -1
  46. package/dist/components/layout/page-heading.js +16 -2
  47. package/dist/components/meeting-scheduler/index.cjs +63 -63
  48. package/dist/components/navigation/index.cjs +16 -16
  49. package/dist/components/onboarding-guides/index.cjs +16 -16
  50. package/dist/components/product-demo/index.cjs +9 -9
  51. package/dist/components/related-content/index.cjs +7 -7
  52. package/dist/components/tickets/index.cjs +19 -19
  53. package/dist/components/ui/filter-checkbox-item.d.ts +8 -2
  54. package/dist/components/ui/filter-checkbox-item.d.ts.map +1 -1
  55. package/dist/components/ui/filter-checkbox-item.js +14 -4
  56. package/dist/components/ui/index.cjs +15 -13
  57. package/dist/components/ui/layout-hold.d.ts +4 -3
  58. package/dist/components/ui/layout-hold.d.ts.map +1 -1
  59. package/dist/components/ui/layout-hold.js +29 -9
  60. package/dist/components/unified-filter-logic.js +1 -1
  61. package/dist/components/vendor-tag.d.ts +12 -0
  62. package/dist/components/vendor-tag.d.ts.map +1 -1
  63. package/dist/components/vendor-tag.js +50 -47
  64. package/dist/{devices-HJKDRWQX.cjs → devices-WWMXIIHI.cjs} +14 -14
  65. package/dist/{embeddable-chat-3SKFBO2P.cjs → embeddable-chat-IJHCGQ24.cjs} +80 -80
  66. package/dist/index.cjs +22 -18
  67. package/dist/{knowledge-NH2CGY2C.cjs → knowledge-JZP4RIXB.cjs} +14 -14
  68. package/dist/{logs-KZYIDYQK.cjs → logs-WIRYFNUC.cjs} +21 -21
  69. package/dist/{policies-UAVTPIKM.cjs → policies-X7OJYA7G.cjs} +17 -17
  70. package/dist/{remote-session-N4PJB5FW.cjs → remote-session-IYT4LWJC.cjs} +7 -7
  71. package/dist/{scripts-FRPY43KU.cjs → scripts-GRMT2NGW.cjs} +20 -20
  72. package/dist/{software-update-AEJJNLX5.cjs → software-update-G3QOB7RT.cjs} +17 -17
  73. package/dist/{tickets-board-O753S4ZB.cjs → tickets-board-4MT6ZB4F.cjs} +8 -8
  74. package/dist/utils/format.d.ts.map +1 -1
  75. package/dist/utils/format.js +2 -3
  76. package/dist/utils/index.cjs +123 -72
  77. package/dist/utils/index.d.ts +1 -1
  78. package/dist/utils/index.d.ts.map +1 -1
  79. package/dist/utils/index.js +8 -6
  80. package/dist/utils/markdown-to-plain.d.ts.map +1 -1
  81. package/dist/utils/markdown-to-plain.js +12 -7
  82. package/dist/utils/vendor-classification.d.ts +43 -17
  83. package/dist/utils/vendor-classification.d.ts.map +1 -1
  84. package/dist/utils/vendor-classification.js +73 -22
  85. package/package.json +7 -2
  86. package/src/components/case-studies/share-experience-section.tsx +9 -6
  87. package/src/components/layout/page-heading.tsx +52 -11
  88. package/src/components/ui/filter-checkbox-item.tsx +21 -5
  89. package/src/components/ui/layout-hold.tsx +38 -10
  90. package/src/components/unified-filter-logic.tsx +1 -1
  91. package/src/components/vendor-tag.tsx +73 -69
  92. package/src/utils/format.ts +2 -3
  93. package/src/utils/index.ts +7 -5
  94. package/src/utils/markdown-to-plain.ts +25 -16
  95. package/src/utils/vendor-classification.ts +113 -34
  96. package/dist/utils/format-text-stub.d.ts +0 -5
  97. package/dist/utils/format-text-stub.d.ts.map +0 -1
  98. package/dist/utils/format-text-stub.js +0 -20
  99. package/src/utils/format-text-stub.ts +0 -17
@@ -309,35 +309,85 @@ function Tag({
309
309
  }
310
310
 
311
311
  // src/utils/vendor-classification.ts
312
- var VENDOR_CLASSIFICATIONS = [
313
- "open_source",
314
- "commercial",
315
- "openframe_selected",
316
- "openframe_shipped",
317
- "openframe_connect"
318
- ];
319
- var OPENFRAME_CLASSIFICATIONS = {
312
+ var VENDOR_CLASSIFICATION_COPY = {
320
313
  openframe_selected: {
321
- word: "Selected",
322
314
  label: "OpenFrame Selected",
323
- description: "OpenFrame is a unified platform that integrates multiple open-source IT and security tools into a single dashboard for MSPs. This filter shows vendors selected by our team for their excellence, community support, and MSP-specific value."
315
+ word: "Selected",
316
+ description: "OpenFrame is a unified platform that integrates multiple open-source IT and security tools into a single dashboard for MSPs. This filter shows vendors selected by our team for their excellence, community support, and MSP-specific value.",
317
+ group: "openframe",
318
+ icon: { name: "openframe-logo", tone: "accent" }
319
+ },
320
+ openframe_connect: {
321
+ label: "OpenFrame Connect",
322
+ word: "Connect",
323
+ description: "Services OpenFrame connects to and manages for every client, such as Microsoft 365 and Google Workspace, beside devices and tickets.",
324
+ group: "openframe",
325
+ icon: { name: "openframe-logo", tone: "accent" }
324
326
  },
325
327
  openframe_shipped: {
326
- word: "Shipped",
327
328
  label: "OpenFrame Shipped",
328
- description: "Tools and OpenFrame products that are in the released OpenFrame product today, not on the roadmap."
329
+ word: "Shipped",
330
+ description: "Tools and OpenFrame products that are in the released OpenFrame product today, not on the roadmap.",
331
+ group: "openframe",
332
+ icon: { name: "openframe-logo", tone: "accent" }
329
333
  },
330
- openframe_connect: {
331
- word: "Connect",
332
- label: "OpenFrame Connect",
333
- description: "Services OpenFrame connects to and manages for every client, such as Microsoft 365 and Google Workspace, beside devices and tickets."
334
+ open_source: {
335
+ label: "Open Source",
336
+ description: "Released under an OSI-approved open-source license.",
337
+ group: "license",
338
+ icon: { name: "code", tone: "accent" }
339
+ },
340
+ source_available: {
341
+ label: "Source-available",
342
+ description: "The source code is public, but the license restricts how it may be used (for example SSPL, BSL, the Elastic License, or limits on company size or on offering it as a service).",
343
+ group: "license",
344
+ icon: { name: "file-code", tone: "neutral" }
345
+ },
346
+ commercial: {
347
+ label: "Commercial",
348
+ description: "Proprietary software sold by the vendor.",
349
+ group: "license",
350
+ icon: { name: "dollar", tone: "neutral" }
351
+ },
352
+ end_of_life: {
353
+ label: "End of life",
354
+ description: "The vendor has discontinued or retired the product. No new releases.",
355
+ group: "lifecycle",
356
+ icon: { name: "alert-triangle", tone: "warning" }
357
+ },
358
+ end_of_support: {
359
+ label: "End of support",
360
+ description: "The vendor no longer provides support or security fixes, though the product can still be obtained.",
361
+ group: "lifecycle",
362
+ icon: { name: "clock", tone: "warning" }
363
+ },
364
+ unmaintained: {
365
+ label: "Unmaintained",
366
+ description: "No release for years and no official end-of-life notice.",
367
+ group: "lifecycle",
368
+ icon: { name: "pause-circle", tone: "warning" }
334
369
  }
335
370
  };
336
- function isVendorClassification(value) {
337
- return VENDOR_CLASSIFICATIONS.includes(value);
371
+ function vendorClassificationCopy(value) {
372
+ if (!value || !Object.prototype.hasOwnProperty.call(VENDOR_CLASSIFICATION_COPY, value)) return void 0;
373
+ return VENDOR_CLASSIFICATION_COPY[value];
374
+ }
375
+ function vendorClassificationGroup(value) {
376
+ return _optionalChain([vendorClassificationCopy, 'call', _ => _(value), 'optionalAccess', _2 => _2.group]);
338
377
  }
339
378
  function isOpenFrameClassification(value) {
340
- return !!value && Object.prototype.hasOwnProperty.call(OPENFRAME_CLASSIFICATIONS, value);
379
+ return vendorClassificationGroup(value) === "openframe";
380
+ }
381
+ var DISPLAY_ORDER = Object.keys(VENDOR_CLASSIFICATION_COPY);
382
+ function compareVendorClassifications(a, b) {
383
+ const ia = DISPLAY_ORDER.indexOf(a);
384
+ const ib = DISPLAY_ORDER.indexOf(b);
385
+ if (ia !== -1 || ib !== -1) {
386
+ if (ia === -1) return 1;
387
+ if (ib === -1) return -1;
388
+ return ia - ib;
389
+ }
390
+ return a.localeCompare(b);
341
391
  }
342
392
 
343
393
  // src/utils/format.ts
@@ -534,7 +584,7 @@ function formatDateWithTimezone(date, timezone, style = "medium", options) {
534
584
  const dateObj = toValidDate(date);
535
585
  if (!dateObj) return "";
536
586
  const { timeZone: _ignored, ...fields } = typeof style === "string" ? ZONED_DATE_STYLES[style] : style;
537
- return formatterFor(timezone, fields, _optionalChain([options, 'optionalAccess', _ => _.viewerLocale]) ? void 0 : "en-US").format(dateObj);
587
+ return formatterFor(timezone, fields, _optionalChain([options, 'optionalAccess', _3 => _3.viewerLocale]) ? void 0 : "en-US").format(dateObj);
538
588
  }
539
589
  function formatDateTimeYmd(date, timezone, options) {
540
590
  const dateObj = toValidDate(date);
@@ -544,8 +594,8 @@ function formatDateTimeYmd(date, timezone, options) {
544
594
  { year: "numeric", month: "2-digit", day: "2-digit", hour: "2-digit", minute: "2-digit", hourCycle: "h23" },
545
595
  "en-US"
546
596
  ).formatToParts(dateObj);
547
- const part = (type) => _nullishCoalesce(_optionalChain([parts, 'access', _2 => _2.find, 'call', _3 => _3((p) => p.type === type), 'optionalAccess', _4 => _4.value]), () => ( ""));
548
- return `${part("year")}/${part("month")}/${part("day")}${_nullishCoalesce(_optionalChain([options, 'optionalAccess', _5 => _5.separator]), () => ( ", "))}${part("hour")}:${part("minute")}`;
597
+ const part = (type) => _nullishCoalesce(_optionalChain([parts, 'access', _4 => _4.find, 'call', _5 => _5((p) => p.type === type), 'optionalAccess', _6 => _6.value]), () => ( ""));
598
+ return `${part("year")}/${part("month")}/${part("day")}${_nullishCoalesce(_optionalChain([options, 'optionalAccess', _7 => _7.separator]), () => ( ", "))}${part("hour")}:${part("minute")}`;
549
599
  }
550
600
  function formatTimeWithTimezone(date, timezone, options) {
551
601
  return formatDateWithTimezone(
@@ -555,10 +605,10 @@ function formatTimeWithTimezone(date, timezone, options) {
555
605
  hour: "numeric",
556
606
  minute: "2-digit",
557
607
  // A viewer-locale clock uses the locale's own 12/24h convention.
558
- ..._optionalChain([options, 'optionalAccess', _6 => _6.viewerLocale]) ? {} : { hour12: true },
559
- ..._optionalChain([options, 'optionalAccess', _7 => _7.withZoneLabel]) ? { timeZoneName: "short" } : {}
608
+ ..._optionalChain([options, 'optionalAccess', _8 => _8.viewerLocale]) ? {} : { hour12: true },
609
+ ..._optionalChain([options, 'optionalAccess', _9 => _9.withZoneLabel]) ? { timeZoneName: "short" } : {}
560
610
  },
561
- { viewerLocale: _optionalChain([options, 'optionalAccess', _8 => _8.viewerLocale]) }
611
+ { viewerLocale: _optionalChain([options, 'optionalAccess', _10 => _10.viewerLocale]) }
562
612
  );
563
613
  }
564
614
  function formatProgramDate(at, style = "medium") {
@@ -572,7 +622,7 @@ function formatProgramDateRange(at, end) {
572
622
  const formatter = formatterFor(at.timezone, { year: "numeric", month: "short", day: "numeric" }, "en-US");
573
623
  const partsOf = (date) => {
574
624
  const parts = formatter.formatToParts(date);
575
- const part = (type) => _nullishCoalesce(_optionalChain([parts, 'access', _9 => _9.find, 'call', _10 => _10((p) => p.type === type), 'optionalAccess', _11 => _11.value]), () => ( ""));
625
+ const part = (type) => _nullishCoalesce(_optionalChain([parts, 'access', _11 => _11.find, 'call', _12 => _12((p) => p.type === type), 'optionalAccess', _13 => _13.value]), () => ( ""));
576
626
  return { month: part("month"), day: part("day"), year: part("year") };
577
627
  };
578
628
  const from = partsOf(start);
@@ -646,15 +696,15 @@ function formatWholeDollars(price, currency = "USD") {
646
696
  }
647
697
  function formatCompactMetric(value, format = "number", options) {
648
698
  if (value === 0 || value === null || value === void 0) {
649
- if (format === "currency") return `${_optionalChain([options, 'optionalAccess', _12 => _12.prefix]) || "$"}0`;
699
+ if (format === "currency") return `${_optionalChain([options, 'optionalAccess', _14 => _14.prefix]) || "$"}0`;
650
700
  if (format === "percentage") return "0%";
651
- if (format === "months") return `0 ${_optionalChain([options, 'optionalAccess', _13 => _13.suffix]) || "months"}`;
701
+ if (format === "months") return `0 ${_optionalChain([options, 'optionalAccess', _15 => _15.suffix]) || "months"}`;
652
702
  return "0";
653
703
  }
654
704
  const absValue = Math.abs(value);
655
705
  const sign = value < 0 ? "-" : "";
656
706
  if (format === "currency") {
657
- const prefix = _optionalChain([options, 'optionalAccess', _14 => _14.prefix]) || "$";
707
+ const prefix = _optionalChain([options, 'optionalAccess', _16 => _16.prefix]) || "$";
658
708
  const compact = (val, divisor, suffix) => {
659
709
  const divided = val / divisor;
660
710
  const formatted = divided % 1 === 0 ? divided.toFixed(0) : divided.toFixed(1);
@@ -670,7 +720,7 @@ function formatCompactMetric(value, format = "number", options) {
670
720
  }
671
721
  if (format === "months") {
672
722
  const rounded = Math.round(value * 10) / 10;
673
- return `${rounded} ${_optionalChain([options, 'optionalAccess', _15 => _15.suffix]) || "months"}`;
723
+ return `${rounded} ${_optionalChain([options, 'optionalAccess', _17 => _17.suffix]) || "months"}`;
674
724
  }
675
725
  if (absValue >= 1e6) return `${sign}${(absValue / 1e6).toFixed(1)}M`;
676
726
  if (absValue >= 1e3) return `${sign}${(absValue / 1e3).toFixed(1)}K`;
@@ -735,8 +785,7 @@ function stripHtml(html) {
735
785
  return noTags.replace(/&nbsp;/g, " ").replace(/&lt;/g, "<").replace(/&gt;/g, ">").replace(/&quot;/g, '"').replace(/&#39;/g, "'").replace(/&#x27;/g, "'").replace(/&apos;/g, "'").replace(/&amp;/g, "&").replace(/\s+/g, " ").trim();
736
786
  }
737
787
  function formatClassification(classification) {
738
- if (isOpenFrameClassification(classification)) return OPENFRAME_CLASSIFICATIONS[classification].label;
739
- return formatUnderscoreText(classification);
788
+ return _nullishCoalesce(_optionalChain([vendorClassificationCopy, 'call', _18 => _18(classification), 'optionalAccess', _19 => _19.label]), () => ( formatUnderscoreText(classification)));
740
789
  }
741
790
  function formatPricingModel(pricingModel) {
742
791
  const customMappings = {
@@ -932,4 +981,5 @@ SquareAvatar.displayName = "SquareAvatar";
932
981
 
933
982
 
934
983
 
935
- exports.FloatingTooltip = FloatingTooltip; exports.tagVariants = tagVariants; exports.Tag = Tag; exports.VENDOR_CLASSIFICATIONS = VENDOR_CLASSIFICATIONS; exports.OPENFRAME_CLASSIFICATIONS = OPENFRAME_CLASSIFICATIONS; exports.isVendorClassification = isVendorClassification; exports.isOpenFrameClassification = isOpenFrameClassification; exports.formatDate = formatDate; exports.formatNumber = formatNumber; exports.formatPrice = formatPrice; exports.formatBytes = formatBytes; exports.formatBytesShort = formatBytesShort; exports.formatFileSize = formatFileSize; exports.formatLargeNumber = formatLargeNumber; exports.formatAbbreviatedNumber = formatAbbreviatedNumber; exports.nameInitials = nameInitials; exports.personInitials = personInitials; exports.personFirstName = personFirstName; exports.singleInitial = singleInitial; exports.formatDurationMMSS = formatDurationMMSS; exports.formatDurationCompact = formatDurationCompact; exports.VIEWER_TIMEZONE = VIEWER_TIMEZONE; exports.formatDateWithTimezone = formatDateWithTimezone; exports.formatDateTimeYmd = formatDateTimeYmd; exports.formatTimeWithTimezone = formatTimeWithTimezone; exports.formatProgramDate = formatProgramDate; exports.formatProgramDateRange = formatProgramDateRange; exports.isOrderedRange = isOrderedRange; exports.formatDurationFromRange = formatDurationFromRange; exports.formatDateUTC = formatDateUTC; exports.formatEntryMonthUTC = formatEntryMonthUTC; exports.formatLegalDate = formatLegalDate; exports.formatCurrency = formatCurrency; exports.formatPercent = formatPercent; exports.formatWholeDollars = formatWholeDollars; exports.formatCompactMetric = formatCompactMetric; exports.getTrendColors = getTrendColors; exports.formatDateRange = formatDateRange; exports.formatDateTimeAt = formatDateTimeAt; exports.formatDurationFromMs = formatDurationFromMs; exports.formatDuration = formatDuration; exports.titleCaseFromSlug = titleCaseFromSlug; exports.formatUnderscoreText = formatUnderscoreText; exports.stripHtml = stripHtml; exports.formatClassification = formatClassification; exports.formatPricingModel = formatPricingModel; exports.formatBioText = formatBioText; exports.formatProgramTimeRange = formatProgramTimeRange; exports.formatWebinarTimeMeta = formatWebinarTimeMeta; exports.formatUrlForDisplay = formatUrlForDisplay; exports.SquareAvatar = SquareAvatar;
984
+
985
+ exports.FloatingTooltip = FloatingTooltip; exports.tagVariants = tagVariants; exports.Tag = Tag; exports.VENDOR_CLASSIFICATION_COPY = VENDOR_CLASSIFICATION_COPY; exports.vendorClassificationCopy = vendorClassificationCopy; exports.vendorClassificationGroup = vendorClassificationGroup; exports.isOpenFrameClassification = isOpenFrameClassification; exports.compareVendorClassifications = compareVendorClassifications; exports.formatDate = formatDate; exports.formatNumber = formatNumber; exports.formatPrice = formatPrice; exports.formatBytes = formatBytes; exports.formatBytesShort = formatBytesShort; exports.formatFileSize = formatFileSize; exports.formatLargeNumber = formatLargeNumber; exports.formatAbbreviatedNumber = formatAbbreviatedNumber; exports.nameInitials = nameInitials; exports.personInitials = personInitials; exports.personFirstName = personFirstName; exports.singleInitial = singleInitial; exports.formatDurationMMSS = formatDurationMMSS; exports.formatDurationCompact = formatDurationCompact; exports.VIEWER_TIMEZONE = VIEWER_TIMEZONE; exports.formatDateWithTimezone = formatDateWithTimezone; exports.formatDateTimeYmd = formatDateTimeYmd; exports.formatTimeWithTimezone = formatTimeWithTimezone; exports.formatProgramDate = formatProgramDate; exports.formatProgramDateRange = formatProgramDateRange; exports.isOrderedRange = isOrderedRange; exports.formatDurationFromRange = formatDurationFromRange; exports.formatDateUTC = formatDateUTC; exports.formatEntryMonthUTC = formatEntryMonthUTC; exports.formatLegalDate = formatLegalDate; exports.formatCurrency = formatCurrency; exports.formatPercent = formatPercent; exports.formatWholeDollars = formatWholeDollars; exports.formatCompactMetric = formatCompactMetric; exports.getTrendColors = getTrendColors; exports.formatDateRange = formatDateRange; exports.formatDateTimeAt = formatDateTimeAt; exports.formatDurationFromMs = formatDurationFromMs; exports.formatDuration = formatDuration; exports.titleCaseFromSlug = titleCaseFromSlug; exports.formatUnderscoreText = formatUnderscoreText; exports.stripHtml = stripHtml; exports.formatClassification = formatClassification; exports.formatPricingModel = formatPricingModel; exports.formatBioText = formatBioText; exports.formatProgramTimeRange = formatProgramTimeRange; exports.formatWebinarTimeMeta = formatWebinarTimeMeta; exports.formatUrlForDisplay = formatUrlForDisplay; exports.SquareAvatar = SquareAvatar;
@@ -2,14 +2,14 @@
2
2
 
3
3
 
4
4
 
5
- var _chunkQES5NV4Tcjs = require('./chunk-QES5NV4T.cjs');
5
+ var _chunk6XP6RNFDcjs = require('./chunk-6XP6RNFD.cjs');
6
6
 
7
7
 
8
8
 
9
9
 
10
10
 
11
11
 
12
- var _chunkU2O5YQRPcjs = require('./chunk-U2O5YQRP.cjs');
12
+ var _chunkU6XWGK53cjs = require('./chunk-U6XWGK53.cjs');
13
13
 
14
14
 
15
15
 
@@ -17,16 +17,16 @@ var _chunkU2O5YQRPcjs = require('./chunk-U2O5YQRP.cjs');
17
17
  var _chunk4FWURR3Wcjs = require('./chunk-4FWURR3W.cjs');
18
18
 
19
19
 
20
- var _chunkGOTEXQZNcjs = require('./chunk-GOTEXQZN.cjs');
20
+ var _chunkZNUSYMH7cjs = require('./chunk-ZNUSYMH7.cjs');
21
21
 
22
22
 
23
23
 
24
24
 
25
- var _chunkDJO7YMT3cjs = require('./chunk-DJO7YMT3.cjs');
25
+ var _chunkBBTSJYTRcjs = require('./chunk-BBTSJYTR.cjs');
26
26
 
27
27
 
28
28
 
29
- var _chunkLJ46XYYPcjs = require('./chunk-LJ46XYYP.cjs');
29
+ var _chunkP7KTAXXEcjs = require('./chunk-P7KTAXXE.cjs');
30
30
 
31
31
 
32
32
 
@@ -119,7 +119,7 @@ function ContactForm({
119
119
  successToastMessage = "Redirecting you to join our community...",
120
120
  rescue: rescueForm = null
121
121
  } = {}) {
122
- const attachments = _chunkDJO7YMT3cjs.useChatAttachments.call(void 0, );
122
+ const attachments = _chunkBBTSJYTRcjs.useChatAttachments.call(void 0, );
123
123
  const builtInSubmission = _chunk4FWURR3Wcjs.useContactSubmission.call(void 0, {
124
124
  userId,
125
125
  successRedirectUrl,
@@ -190,7 +190,7 @@ function ContactForm({
190
190
  className: `flex h-full flex-col ${!noBorder ? "rounded-2xl border border-ods-border content-md:rounded-3xl" : ""} ${!noPadding ? "p-6 content-md:p-8 content-lg:p-10" : ""}`,
191
191
  children: [
192
192
  (title || subtitle) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "mb-6 content-md:mb-8", children: [
193
- title && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h2", { className: `${_chunkLJ46XYYPcjs.SECTION_HEADING_CLASS} mb-3 content-md:mb-4`, children: _chunkLJ46XYYPcjs.accentSentenceMarks.call(void 0, title) }),
193
+ title && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h2", { className: `${_chunkP7KTAXXEcjs.SECTION_HEADING_CLASS} mb-3 content-md:mb-4`, children: _chunkP7KTAXXEcjs.accentSentenceMarks.call(void 0, title) }),
194
194
  subtitle && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-primary text-h4", children: subtitle })
195
195
  ] }),
196
196
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
@@ -203,13 +203,13 @@ function ContactForm({
203
203
  );
204
204
  }),
205
205
  className: "flex flex-grow flex-col space-y-4 content-md:space-y-6",
206
- ..._chunkGOTEXQZNcjs.HUBSPOT_DO_NOT_COLLECT_FORM_PROPS,
206
+ ..._chunkZNUSYMH7cjs.HUBSPOT_DO_NOT_COLLECT_FORM_PROPS,
207
207
  children: [
208
208
  !showName && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "input", { type: "hidden", ...register("name") }),
209
209
  !showEmail && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "input", { type: "hidden", ...register("email") }),
210
210
  !showHelpCategory && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "input", { type: "hidden", ...register("helpCategory") }),
211
211
  !showMessage && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "input", { type: "hidden", ...register("message") }),
212
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQES5NV4Tcjs.HoneypotField, { ...honeypotInputProps }),
212
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk6XP6RNFDcjs.HoneypotField, { ...honeypotInputProps }),
213
213
  extraTopField,
214
214
  showNameEmailRow && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "grid grid-cols-1 gap-4 content-md:grid-cols-2 content-md:gap-6", children: [
215
215
  showName && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col", children: [
@@ -261,17 +261,17 @@ function ContactForm({
261
261
  {
262
262
  control,
263
263
  name: "companySize",
264
- render: ({ field }) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkU2O5YQRPcjs.Select, { onValueChange: field.onChange, value: _nullishCoalesce(field.value, () => ( "")), children: [
264
+ render: ({ field }) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkU6XWGK53cjs.Select, { onValueChange: field.onChange, value: _nullishCoalesce(field.value, () => ( "")), children: [
265
265
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
266
- _chunkU2O5YQRPcjs.SelectTrigger,
266
+ _chunkU6XWGK53cjs.SelectTrigger,
267
267
  {
268
268
  id: "companySize",
269
269
  "aria-label": "Company Size",
270
270
  className: "h-12 border-ods-border bg-ods-card px-3 text-ods-text-primary",
271
- children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkU2O5YQRPcjs.SelectValue, { placeholder: "Select company size" })
271
+ children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkU6XWGK53cjs.SelectValue, { placeholder: "Select company size" })
272
272
  }
273
273
  ),
274
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkU2O5YQRPcjs.SelectContent, { children: companySizeOptions.map((opt) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkU2O5YQRPcjs.SelectItem, { value: opt, children: opt }, opt)) })
274
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkU6XWGK53cjs.SelectContent, { children: companySizeOptions.map((opt) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkU6XWGK53cjs.SelectItem, { value: opt, children: opt }, opt)) })
275
275
  ] })
276
276
  }
277
277
  ),
@@ -284,17 +284,17 @@ function ContactForm({
284
284
  {
285
285
  control,
286
286
  name: "referralSource",
287
- render: ({ field }) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkU2O5YQRPcjs.Select, { onValueChange: field.onChange, value: _nullishCoalesce(field.value, () => ( "")), children: [
287
+ render: ({ field }) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkU6XWGK53cjs.Select, { onValueChange: field.onChange, value: _nullishCoalesce(field.value, () => ( "")), children: [
288
288
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
289
- _chunkU2O5YQRPcjs.SelectTrigger,
289
+ _chunkU6XWGK53cjs.SelectTrigger,
290
290
  {
291
291
  id: "referralSource",
292
292
  "aria-label": "Referral Source",
293
293
  className: "h-12 border-ods-border bg-ods-card px-3 text-ods-text-primary",
294
- children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkU2O5YQRPcjs.SelectValue, { placeholder: "Select an option" })
294
+ children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkU6XWGK53cjs.SelectValue, { placeholder: "Select an option" })
295
295
  }
296
296
  ),
297
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkU2O5YQRPcjs.SelectContent, { children: referralSourceOptions.map((opt) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkU2O5YQRPcjs.SelectItem, { value: opt, children: opt }, opt)) })
297
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkU6XWGK53cjs.SelectContent, { children: referralSourceOptions.map((opt) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkU6XWGK53cjs.SelectItem, { value: opt, children: opt }, opt)) })
298
298
  ] })
299
299
  }
300
300
  ),
@@ -311,18 +311,18 @@ function ContactForm({
311
311
  {
312
312
  control,
313
313
  name: "helpCategory",
314
- render: ({ field }) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkU2O5YQRPcjs.Select, { onValueChange: field.onChange, value: _nullishCoalesce(field.value, () => ( "")), children: [
314
+ render: ({ field }) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkU6XWGK53cjs.Select, { onValueChange: field.onChange, value: _nullishCoalesce(field.value, () => ( "")), children: [
315
315
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
316
- _chunkU2O5YQRPcjs.SelectTrigger,
316
+ _chunkU6XWGK53cjs.SelectTrigger,
317
317
  {
318
318
  id: "helpCategory",
319
319
  "aria-label": "Help Category",
320
320
  "aria-required": true,
321
321
  className: "h-12 border-ods-border bg-ods-card px-3 text-ods-text-primary",
322
- children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkU2O5YQRPcjs.SelectValue, { placeholder: "Choose your main interest" })
322
+ children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkU6XWGK53cjs.SelectValue, { placeholder: "Choose your main interest" })
323
323
  }
324
324
  ),
325
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkU2O5YQRPcjs.SelectContent, { children: helpCategoryOptions.map((opt) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkU2O5YQRPcjs.SelectItem, { value: opt, children: opt }, opt)) })
325
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkU6XWGK53cjs.SelectContent, { children: helpCategoryOptions.map((opt) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkU6XWGK53cjs.SelectItem, { value: opt, children: opt }, opt)) })
326
326
  ] })
327
327
  }
328
328
  ),
@@ -334,7 +334,7 @@ function ContactForm({
334
334
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHTRILBJDcjs.RequiredMark, {})
335
335
  ] }),
336
336
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
337
- _chunkQES5NV4Tcjs.Textarea,
337
+ _chunk6XP6RNFDcjs.Textarea,
338
338
  {
339
339
  id: "message",
340
340
  ...register("message"),
@@ -349,7 +349,7 @@ function ContactForm({
349
349
  ] }),
350
350
  attachmentsEnabled && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col gap-2", children: [
351
351
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
352
- _chunkDJO7YMT3cjs.ChatAttachmentChipStrip,
352
+ _chunkBBTSJYTRcjs.ChatAttachmentChipStrip,
353
353
  {
354
354
  attachments: attachments.attachments,
355
355
  onRemove: attachments.removeAttachment,
@@ -358,7 +358,7 @@ function ContactForm({
358
358
  ),
359
359
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-2", children: [
360
360
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
361
- _chunkDJO7YMT3cjs.ChatAttachmentAddButton,
361
+ _chunkBBTSJYTRcjs.ChatAttachmentAddButton,
362
362
  {
363
363
  attachmentsEnabled: true,
364
364
  attachmentsCount: attachments.attachments.length,