@flamingo-stack/openframe-frontend-core 0.0.767 → 0.0.769

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 (143) hide show
  1. package/dist/build/export-map.json +1 -1
  2. package/dist/{chunk-REJMFXGD.cjs → chunk-2MND64QJ.cjs} +46 -46
  3. package/dist/{chunk-BXMDLQUA.cjs → chunk-2TS3FEPQ.cjs} +4 -4
  4. package/dist/{chunk-KHISVNNH.cjs → chunk-3AZZFTT6.cjs} +6 -6
  5. package/dist/{chunk-DGNBXZXT.cjs → chunk-4EJU462O.cjs} +57 -30
  6. package/dist/{chunk-GJ5DHDFQ.cjs → chunk-5HWBW7WU.cjs} +12 -12
  7. package/dist/{chunk-IKXUJUXC.cjs → chunk-5O6PHVKO.cjs} +4 -4
  8. package/dist/{chunk-XZ6DKGT4.cjs → chunk-5QP3K2CE.cjs} +5 -5
  9. package/dist/{chunk-NO2DEFAP.cjs → chunk-BIHMMGRP.cjs} +80 -80
  10. package/dist/{chunk-YRFWOJF4.cjs → chunk-BLTNKLAX.cjs} +4 -4
  11. package/dist/{chunk-I7A5MPXA.cjs → chunk-D45Q3WEP.cjs} +3 -3
  12. package/dist/{chunk-WEPIWJGR.cjs → chunk-DEJB5WHZ.cjs} +26 -26
  13. package/dist/{chunk-GTONIRJU.cjs → chunk-EHJE3UWZ.cjs} +10 -16
  14. package/dist/{chunk-XIXR6BHI.cjs → chunk-EZTHTSWZ.cjs} +44 -44
  15. package/dist/{chunk-UHDBMKJB.cjs → chunk-GGORS7G6.cjs} +13 -13
  16. package/dist/{chunk-FZB4RMRK.cjs → chunk-HQF62LAU.cjs} +33 -33
  17. package/dist/{chunk-JTSUAHDL.cjs → chunk-HY6BCZH7.cjs} +4 -2
  18. package/dist/{chunk-MNIMYGFR.cjs → chunk-IEPWXEA6.cjs} +31 -31
  19. package/dist/{chunk-FVH53QZJ.cjs → chunk-L5WSNX4H.cjs} +517 -550
  20. package/dist/{chunk-MPTMT773.cjs → chunk-LJT2KRE2.cjs} +14 -14
  21. package/dist/{chunk-NBVZIHGS.cjs → chunk-MYA6NR2C.cjs} +2 -2
  22. package/dist/{chunk-ZV45VS6K.cjs → chunk-MZLWB5AH.cjs} +35 -44
  23. package/dist/{chunk-GQ7RGD4Y.cjs → chunk-QC47HVA4.cjs} +76 -76
  24. package/dist/{chunk-ZRDMGMY7.cjs → chunk-QS4G7CHU.cjs} +2 -2
  25. package/dist/{chunk-TPOLNGOW.cjs → chunk-SV6K7ZLA.cjs} +41 -41
  26. package/dist/{chunk-JBJVUQVH.cjs → chunk-UBPSA3RM.cjs} +87 -87
  27. package/dist/{chunk-7TJVYRHR.cjs → chunk-UIXWG2IW.cjs} +24 -24
  28. package/dist/{chunk-AAECWUNV.cjs → chunk-VFUMM6JC.cjs} +19 -11
  29. package/dist/{chunk-7ZU3AVEX.cjs → chunk-VVBRYOSI.cjs} +19 -19
  30. package/dist/{chunk-M2UU3CWX.cjs → chunk-YTPEJIAO.cjs} +5 -5
  31. package/dist/{chunk-RMUSPTJN.cjs → chunk-ZVNL5OK6.cjs} +5 -5
  32. package/dist/{chunk-YL6ZB2SR.cjs → chunk-ZXFOMNI5.cjs} +183 -183
  33. package/dist/{cloud-tenants-WXK5RDSY.cjs → cloud-tenants-3BEIT4LX.cjs} +13 -13
  34. package/dist/components/case-studies/index.cjs +29 -29
  35. package/dist/components/case-studies/index.d.ts +1 -1
  36. package/dist/components/case-studies/index.d.ts.map +1 -1
  37. package/dist/components/case-studies/index.js +5 -1
  38. package/dist/components/chat/entity-cards/campaign-card-admin.d.ts.map +1 -1
  39. package/dist/components/chat/entity-cards/investor-update-card.d.ts.map +1 -1
  40. package/dist/components/chat/entity-cards/investor-update-card.js +9 -1
  41. package/dist/components/chat/hooks/use-ask-prompts.d.ts.map +1 -1
  42. package/dist/components/chat/index.cjs +9 -9
  43. package/dist/components/contact/index.cjs +14 -14
  44. package/dist/components/docs/index.cjs +17 -17
  45. package/dist/components/embeds/index.cjs +14 -14
  46. package/dist/components/faq/index.cjs +15 -15
  47. package/dist/components/features/cards-strip.d.ts.map +1 -1
  48. package/dist/components/features/command-box.d.ts.map +1 -1
  49. package/dist/components/features/command-box.js +2 -19
  50. package/dist/components/features/index.cjs +13 -13
  51. package/dist/components/features/paths-display.d.ts.map +1 -1
  52. package/dist/components/features/remote-session/remote-desktop-chat-message-row.d.ts.map +1 -1
  53. package/dist/components/features/remote-session/remote-desktop-chat-message-row.js +1 -10
  54. package/dist/components/features/remote-session/remote-session-keep-modals.d.ts.map +1 -1
  55. package/dist/components/features/remote-session/remote-session-keep-modals.js +1 -1
  56. package/dist/components/help-center-pages/index.cjs +98 -98
  57. package/dist/components/icon-display.d.ts.map +1 -1
  58. package/dist/components/icon-display.js +9 -1
  59. package/dist/components/index.cjs +74 -74
  60. package/dist/components/interactive-wrapper.d.ts.map +1 -1
  61. package/dist/components/interactive-wrapper.js +7 -1
  62. package/dist/components/layout/page-heading.d.ts.map +1 -1
  63. package/dist/components/layout/page-heading.js +8 -1
  64. package/dist/components/meeting-scheduler/directory.d.ts.map +1 -1
  65. package/dist/components/meeting-scheduler/index.cjs +73 -73
  66. package/dist/components/navigation/index.cjs +16 -16
  67. package/dist/components/onboarding-guides/index.cjs +16 -16
  68. package/dist/components/product-demo/index.cjs +24 -24
  69. package/dist/components/related-content/index.cjs +7 -7
  70. package/dist/components/results-count.d.ts.map +1 -1
  71. package/dist/components/results-count.js +2 -2
  72. package/dist/components/tickets/index.cjs +19 -19
  73. package/dist/components/ui/avatar-stack.d.ts.map +1 -1
  74. package/dist/components/ui/avatar-stack.js +17 -9
  75. package/dist/components/ui/cursor-pagination.d.ts.map +1 -1
  76. package/dist/components/ui/data-table/data-table-row-count.js +1 -1
  77. package/dist/components/ui/date-picker.d.ts.map +1 -1
  78. package/dist/components/ui/date-picker.js +16 -3
  79. package/dist/components/ui/feature-card.d.ts.map +1 -1
  80. package/dist/components/ui/feature-list.d.ts.map +1 -1
  81. package/dist/components/ui/feature-list.js +7 -21
  82. package/dist/components/ui/incident-feed.d.ts +1 -1
  83. package/dist/components/ui/incident-feed.d.ts.map +1 -1
  84. package/dist/components/ui/incident-feed.js +1 -7
  85. package/dist/components/ui/index.cjs +13 -13
  86. package/dist/components/ui/leader-row.d.ts.map +1 -1
  87. package/dist/components/ui/product-screen-frame.d.ts.map +1 -1
  88. package/dist/components/ui/product-screen-frame.js +4 -13
  89. package/dist/components/ui/status-badge.d.ts.map +1 -1
  90. package/dist/components/ui/status-badge.js +5 -1
  91. package/dist/components/ui/status-line.d.ts.map +1 -1
  92. package/dist/components/ui/status-line.js +1 -7
  93. package/dist/components/ui/strip-card.d.ts.map +1 -1
  94. package/dist/components/ui/tag.d.ts.map +1 -1
  95. package/dist/{devices-UHHHTCJF.cjs → devices-ZCOK24D4.cjs} +14 -14
  96. package/dist/{embeddable-chat-YL6ZSTDJ.cjs → embeddable-chat-BXEK3SPJ.cjs} +83 -83
  97. package/dist/index.cjs +20 -18
  98. package/dist/{knowledge-TJKHM7W4.cjs → knowledge-W47QGTEK.cjs} +14 -14
  99. package/dist/{logs-B3KCCMPE.cjs → logs-3DMPE2TM.cjs} +21 -21
  100. package/dist/{policies-ZTUIXSYZ.cjs → policies-UWHW765K.cjs} +17 -17
  101. package/dist/{remote-session-PPA5SXX7.cjs → remote-session-WVORQV7V.cjs} +7 -7
  102. package/dist/{scripts-FIFAHBS6.cjs → scripts-BH7V2ZC4.cjs} +20 -20
  103. package/dist/{software-update-62PLASQU.cjs → software-update-W6AAGJ2H.cjs} +17 -17
  104. package/dist/{tickets-board-G3WBH4SV.cjs → tickets-board-YT25IX3O.cjs} +8 -8
  105. package/dist/utils/format.d.ts +13 -3
  106. package/dist/utils/format.d.ts.map +1 -1
  107. package/dist/utils/format.js +4 -2
  108. package/dist/utils/index.cjs +3 -1
  109. package/dist/utils/index.d.ts +1 -1
  110. package/dist/utils/index.d.ts.map +1 -1
  111. package/dist/utils/index.js +2 -0
  112. package/package.json +1 -1
  113. package/src/components/case-studies/entity-quotes-panel.tsx +18 -18
  114. package/src/components/case-studies/index.ts +8 -1
  115. package/src/components/chat/entity-cards/campaign-card-admin.tsx +1 -3
  116. package/src/components/chat/entity-cards/investor-update-card.tsx +6 -1
  117. package/src/components/chat/hooks/use-ask-prompts.ts +1 -2
  118. package/src/components/features/cards-strip.tsx +3 -2
  119. package/src/components/features/command-box.tsx +2 -11
  120. package/src/components/features/paths-display.tsx +4 -1
  121. package/src/components/features/remote-session/remote-desktop-chat-message-row.tsx +1 -6
  122. package/src/components/features/remote-session/remote-session-keep-modals.tsx +2 -1
  123. package/src/components/icon-display.tsx +6 -1
  124. package/src/components/interactive-wrapper.tsx +4 -1
  125. package/src/components/layout/page-heading.tsx +15 -3
  126. package/src/components/meeting-scheduler/directory.tsx +2 -1
  127. package/src/components/results-count.tsx +3 -2
  128. package/src/components/ui/avatar-stack.tsx +5 -1
  129. package/src/components/ui/button/button-styles.ts +0 -1
  130. package/src/components/ui/cursor-pagination.tsx +8 -1
  131. package/src/components/ui/data-table/data-table-row-count.tsx +1 -1
  132. package/src/components/ui/date-picker.tsx +41 -14
  133. package/src/components/ui/feature-card.tsx +2 -10
  134. package/src/components/ui/feature-list.tsx +2 -8
  135. package/src/components/ui/incident-feed.tsx +2 -13
  136. package/src/components/ui/leader-row.tsx +0 -1
  137. package/src/components/ui/product-screen-frame.tsx +1 -6
  138. package/src/components/ui/status-badge.tsx +5 -1
  139. package/src/components/ui/status-line.tsx +1 -4
  140. package/src/components/ui/strip-card.tsx +1 -3
  141. package/src/components/ui/tag.tsx +3 -1
  142. package/src/utils/format.ts +16 -4
  143. package/src/utils/index.ts +1 -0
@@ -45,7 +45,6 @@ export function LeaderRow({ label, value, status, as: Row = 'div', className }:
45
45
  );
46
46
  }
47
47
 
48
-
49
48
  /**
50
49
  * A row while it is read: the label (drawn as it is when the page states it, else a bar), the hairline drawn for
51
50
  * real, a bar for the value, a status box. Every bar is one line of the ROW's type step, so a row sized with
@@ -117,12 +117,7 @@ export function ProductScreenFrame({
117
117
  >
118
118
  <PortalContainerContext.Provider value={portalHost}>
119
119
  <CollisionBoundaryContext.Provider value={frame}>
120
- <div
121
- inert
122
- aria-hidden
123
- className="ods-content-area"
124
- style={screenStyle}
125
- >
120
+ <div inert aria-hidden className="ods-content-area" style={screenStyle}>
126
121
  <div className="ods-content-scope">
127
122
  {/* Until measured (the server's HTML, a page without scripts) the screen is its own loading state: every
128
123
  component in it draws its skeleton, so the window shows the screen's shape instead of nothing, and
@@ -103,7 +103,11 @@ function StatusBadgeSkeleton({ variant, className }: { variant?: 'card' | 'butto
103
103
  return (
104
104
  <UnifiedSkeleton
105
105
  as="span"
106
- className={cn(statusBadgeVariants({ variant, colorScheme: null }), 'box-content h-[1lh] w-12 border-transparent', className)}
106
+ className={cn(
107
+ statusBadgeVariants({ variant, colorScheme: null }),
108
+ 'box-content h-[1lh] w-12 border-transparent',
109
+ className,
110
+ )}
107
111
  />
108
112
  );
109
113
  }
@@ -41,10 +41,7 @@ export function StatusLine({ tone, label, className }: StatusLineProps) {
41
41
  )}
42
42
  >
43
43
  {tone === 'working' && (
44
- <span
45
- className={cn('h-2 w-2 shrink-0 rounded-full bg-ods-flamingo-cyan', LIVE_PULSE_CLASS)}
46
- aria-hidden
47
- />
44
+ <span className={cn('h-2 w-2 shrink-0 rounded-full bg-ods-flamingo-cyan', LIVE_PULSE_CLASS)} aria-hidden />
48
45
  )}
49
46
  {tone === 'success' && <CheckCircleIcon size={16} className="shrink-0 text-ods-success" aria-hidden />}
50
47
  {tone === 'error' && <XmarkCircleIcon size={16} className="shrink-0 text-ods-error" aria-hidden />}
@@ -76,9 +76,7 @@ export function StripCard({
76
76
  {caption && <span className="text-ods-text-secondary text-h6">{caption}</span>}
77
77
  </div>
78
78
  </div>
79
- <div className={cn(bodyClass(roomy), bodyClassName)}>
80
- {children}
81
- </div>
79
+ <div className={cn(bodyClass(roomy), bodyClassName)}>{children}</div>
82
80
  </div>
83
81
  );
84
82
  }
@@ -198,5 +198,7 @@ export function TagSkeleton({
198
198
  size?: keyof typeof TAG_SIZE_CLASS;
199
199
  className?: string;
200
200
  }) {
201
- return <UnifiedSkeleton as="span" className={cn(TAG_FRAME_CLASS, TAG_SIZE_CLASS[size], 'w-16 shrink-0', className)} />;
201
+ return (
202
+ <UnifiedSkeleton as="span" className={cn(TAG_FRAME_CLASS, TAG_SIZE_CLASS[size], 'w-16 shrink-0', className)} />
203
+ );
202
204
  }
@@ -407,13 +407,25 @@ function toValidDate(date: DateInput): Date | null {
407
407
  return Number.isNaN(d.getTime()) ? null : d;
408
408
  }
409
409
 
410
+ /**
411
+ * The viewer's locale: the language the user put first in the browser's own
412
+ * Languages setting (`navigator.language`), not `Intl`'s default. The two
413
+ * differ on macOS, where Chrome's default locale is the OS language — a user
414
+ * with an English (US) Mac who chose English (Australia) in Chrome reads
415
+ * `en-AU` here and `en-US` from a bare `Intl.DateTimeFormat()`. Undefined off
416
+ * the client (SSR, a test without a navigator): the runtime's own default.
417
+ */
418
+ export const viewerLocale = (): string | undefined =>
419
+ typeof navigator === 'undefined' ? undefined : navigator.language || undefined;
420
+
410
421
  /**
411
422
  * Render a date (and, for a date-time style, its time) in an explicit zone.
412
423
  * Returns `''` for a missing or unparseable value.
413
424
  *
414
- * `options.viewerLocale` renders in the runtime's own LOCALE instead of the
415
- * fixed `en-US` — for client-only UI that should read the way its user writes
416
- * dates. The locale is never implied, for the same hydration reason as the zone.
425
+ * `options.viewerLocale` renders in the viewer's LOCALE (`viewerLocale()`)
426
+ * instead of the fixed `en-US` — for client-only UI that should read the way
427
+ * its user writes dates. The locale is never implied, for the same hydration
428
+ * reason as the zone.
417
429
  */
418
430
  export function formatDateWithTimezone(
419
431
  date: DateInput,
@@ -424,7 +436,7 @@ export function formatDateWithTimezone(
424
436
  const dateObj = toValidDate(date);
425
437
  if (!dateObj) return '';
426
438
  const { timeZone: _ignored, ...fields } = typeof style === 'string' ? ZONED_DATE_STYLES[style] : style;
427
- return formatterFor(timezone, fields, options?.viewerLocale ? undefined : 'en-US').format(dateObj);
439
+ return formatterFor(timezone, fields, options?.viewerLocale ? viewerLocale() : 'en-US').format(dateObj);
428
440
  }
429
441
 
430
442
  /**
@@ -171,6 +171,7 @@ export {
171
171
  formatDateWithTimezone,
172
172
  formatDateTimeYmd,
173
173
  VIEWER_TIMEZONE,
174
+ viewerLocale,
174
175
  formatWebinarTimeMeta,
175
176
  formatProgramDate,
176
177
  formatProgramDateRange,