@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.
- package/dist/build/export-map.json +1 -1
- package/dist/{chunk-REJMFXGD.cjs → chunk-2MND64QJ.cjs} +46 -46
- package/dist/{chunk-BXMDLQUA.cjs → chunk-2TS3FEPQ.cjs} +4 -4
- package/dist/{chunk-KHISVNNH.cjs → chunk-3AZZFTT6.cjs} +6 -6
- package/dist/{chunk-DGNBXZXT.cjs → chunk-4EJU462O.cjs} +57 -30
- package/dist/{chunk-GJ5DHDFQ.cjs → chunk-5HWBW7WU.cjs} +12 -12
- package/dist/{chunk-IKXUJUXC.cjs → chunk-5O6PHVKO.cjs} +4 -4
- package/dist/{chunk-XZ6DKGT4.cjs → chunk-5QP3K2CE.cjs} +5 -5
- package/dist/{chunk-NO2DEFAP.cjs → chunk-BIHMMGRP.cjs} +80 -80
- package/dist/{chunk-YRFWOJF4.cjs → chunk-BLTNKLAX.cjs} +4 -4
- package/dist/{chunk-I7A5MPXA.cjs → chunk-D45Q3WEP.cjs} +3 -3
- package/dist/{chunk-WEPIWJGR.cjs → chunk-DEJB5WHZ.cjs} +26 -26
- package/dist/{chunk-GTONIRJU.cjs → chunk-EHJE3UWZ.cjs} +10 -16
- package/dist/{chunk-XIXR6BHI.cjs → chunk-EZTHTSWZ.cjs} +44 -44
- package/dist/{chunk-UHDBMKJB.cjs → chunk-GGORS7G6.cjs} +13 -13
- package/dist/{chunk-FZB4RMRK.cjs → chunk-HQF62LAU.cjs} +33 -33
- package/dist/{chunk-JTSUAHDL.cjs → chunk-HY6BCZH7.cjs} +4 -2
- package/dist/{chunk-MNIMYGFR.cjs → chunk-IEPWXEA6.cjs} +31 -31
- package/dist/{chunk-FVH53QZJ.cjs → chunk-L5WSNX4H.cjs} +517 -550
- package/dist/{chunk-MPTMT773.cjs → chunk-LJT2KRE2.cjs} +14 -14
- package/dist/{chunk-NBVZIHGS.cjs → chunk-MYA6NR2C.cjs} +2 -2
- package/dist/{chunk-ZV45VS6K.cjs → chunk-MZLWB5AH.cjs} +35 -44
- package/dist/{chunk-GQ7RGD4Y.cjs → chunk-QC47HVA4.cjs} +76 -76
- package/dist/{chunk-ZRDMGMY7.cjs → chunk-QS4G7CHU.cjs} +2 -2
- package/dist/{chunk-TPOLNGOW.cjs → chunk-SV6K7ZLA.cjs} +41 -41
- package/dist/{chunk-JBJVUQVH.cjs → chunk-UBPSA3RM.cjs} +87 -87
- package/dist/{chunk-7TJVYRHR.cjs → chunk-UIXWG2IW.cjs} +24 -24
- package/dist/{chunk-AAECWUNV.cjs → chunk-VFUMM6JC.cjs} +19 -11
- package/dist/{chunk-7ZU3AVEX.cjs → chunk-VVBRYOSI.cjs} +19 -19
- package/dist/{chunk-M2UU3CWX.cjs → chunk-YTPEJIAO.cjs} +5 -5
- package/dist/{chunk-RMUSPTJN.cjs → chunk-ZVNL5OK6.cjs} +5 -5
- package/dist/{chunk-YL6ZB2SR.cjs → chunk-ZXFOMNI5.cjs} +183 -183
- package/dist/{cloud-tenants-WXK5RDSY.cjs → cloud-tenants-3BEIT4LX.cjs} +13 -13
- package/dist/components/case-studies/index.cjs +29 -29
- package/dist/components/case-studies/index.d.ts +1 -1
- package/dist/components/case-studies/index.d.ts.map +1 -1
- package/dist/components/case-studies/index.js +5 -1
- package/dist/components/chat/entity-cards/campaign-card-admin.d.ts.map +1 -1
- package/dist/components/chat/entity-cards/investor-update-card.d.ts.map +1 -1
- package/dist/components/chat/entity-cards/investor-update-card.js +9 -1
- package/dist/components/chat/hooks/use-ask-prompts.d.ts.map +1 -1
- package/dist/components/chat/index.cjs +9 -9
- package/dist/components/contact/index.cjs +14 -14
- package/dist/components/docs/index.cjs +17 -17
- package/dist/components/embeds/index.cjs +14 -14
- package/dist/components/faq/index.cjs +15 -15
- package/dist/components/features/cards-strip.d.ts.map +1 -1
- package/dist/components/features/command-box.d.ts.map +1 -1
- package/dist/components/features/command-box.js +2 -19
- package/dist/components/features/index.cjs +13 -13
- package/dist/components/features/paths-display.d.ts.map +1 -1
- package/dist/components/features/remote-session/remote-desktop-chat-message-row.d.ts.map +1 -1
- package/dist/components/features/remote-session/remote-desktop-chat-message-row.js +1 -10
- package/dist/components/features/remote-session/remote-session-keep-modals.d.ts.map +1 -1
- package/dist/components/features/remote-session/remote-session-keep-modals.js +1 -1
- package/dist/components/help-center-pages/index.cjs +98 -98
- package/dist/components/icon-display.d.ts.map +1 -1
- package/dist/components/icon-display.js +9 -1
- package/dist/components/index.cjs +74 -74
- package/dist/components/interactive-wrapper.d.ts.map +1 -1
- package/dist/components/interactive-wrapper.js +7 -1
- package/dist/components/layout/page-heading.d.ts.map +1 -1
- package/dist/components/layout/page-heading.js +8 -1
- package/dist/components/meeting-scheduler/directory.d.ts.map +1 -1
- package/dist/components/meeting-scheduler/index.cjs +73 -73
- package/dist/components/navigation/index.cjs +16 -16
- package/dist/components/onboarding-guides/index.cjs +16 -16
- package/dist/components/product-demo/index.cjs +24 -24
- package/dist/components/related-content/index.cjs +7 -7
- package/dist/components/results-count.d.ts.map +1 -1
- package/dist/components/results-count.js +2 -2
- package/dist/components/tickets/index.cjs +19 -19
- package/dist/components/ui/avatar-stack.d.ts.map +1 -1
- package/dist/components/ui/avatar-stack.js +17 -9
- package/dist/components/ui/cursor-pagination.d.ts.map +1 -1
- package/dist/components/ui/data-table/data-table-row-count.js +1 -1
- package/dist/components/ui/date-picker.d.ts.map +1 -1
- package/dist/components/ui/date-picker.js +16 -3
- package/dist/components/ui/feature-card.d.ts.map +1 -1
- package/dist/components/ui/feature-list.d.ts.map +1 -1
- package/dist/components/ui/feature-list.js +7 -21
- package/dist/components/ui/incident-feed.d.ts +1 -1
- package/dist/components/ui/incident-feed.d.ts.map +1 -1
- package/dist/components/ui/incident-feed.js +1 -7
- package/dist/components/ui/index.cjs +13 -13
- package/dist/components/ui/leader-row.d.ts.map +1 -1
- package/dist/components/ui/product-screen-frame.d.ts.map +1 -1
- package/dist/components/ui/product-screen-frame.js +4 -13
- package/dist/components/ui/status-badge.d.ts.map +1 -1
- package/dist/components/ui/status-badge.js +5 -1
- package/dist/components/ui/status-line.d.ts.map +1 -1
- package/dist/components/ui/status-line.js +1 -7
- package/dist/components/ui/strip-card.d.ts.map +1 -1
- package/dist/components/ui/tag.d.ts.map +1 -1
- package/dist/{devices-UHHHTCJF.cjs → devices-ZCOK24D4.cjs} +14 -14
- package/dist/{embeddable-chat-YL6ZSTDJ.cjs → embeddable-chat-BXEK3SPJ.cjs} +83 -83
- package/dist/index.cjs +20 -18
- package/dist/{knowledge-TJKHM7W4.cjs → knowledge-W47QGTEK.cjs} +14 -14
- package/dist/{logs-B3KCCMPE.cjs → logs-3DMPE2TM.cjs} +21 -21
- package/dist/{policies-ZTUIXSYZ.cjs → policies-UWHW765K.cjs} +17 -17
- package/dist/{remote-session-PPA5SXX7.cjs → remote-session-WVORQV7V.cjs} +7 -7
- package/dist/{scripts-FIFAHBS6.cjs → scripts-BH7V2ZC4.cjs} +20 -20
- package/dist/{software-update-62PLASQU.cjs → software-update-W6AAGJ2H.cjs} +17 -17
- package/dist/{tickets-board-G3WBH4SV.cjs → tickets-board-YT25IX3O.cjs} +8 -8
- package/dist/utils/format.d.ts +13 -3
- package/dist/utils/format.d.ts.map +1 -1
- package/dist/utils/format.js +4 -2
- package/dist/utils/index.cjs +3 -1
- package/dist/utils/index.d.ts +1 -1
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +2 -0
- package/package.json +1 -1
- package/src/components/case-studies/entity-quotes-panel.tsx +18 -18
- package/src/components/case-studies/index.ts +8 -1
- package/src/components/chat/entity-cards/campaign-card-admin.tsx +1 -3
- package/src/components/chat/entity-cards/investor-update-card.tsx +6 -1
- package/src/components/chat/hooks/use-ask-prompts.ts +1 -2
- package/src/components/features/cards-strip.tsx +3 -2
- package/src/components/features/command-box.tsx +2 -11
- package/src/components/features/paths-display.tsx +4 -1
- package/src/components/features/remote-session/remote-desktop-chat-message-row.tsx +1 -6
- package/src/components/features/remote-session/remote-session-keep-modals.tsx +2 -1
- package/src/components/icon-display.tsx +6 -1
- package/src/components/interactive-wrapper.tsx +4 -1
- package/src/components/layout/page-heading.tsx +15 -3
- package/src/components/meeting-scheduler/directory.tsx +2 -1
- package/src/components/results-count.tsx +3 -2
- package/src/components/ui/avatar-stack.tsx +5 -1
- package/src/components/ui/button/button-styles.ts +0 -1
- package/src/components/ui/cursor-pagination.tsx +8 -1
- package/src/components/ui/data-table/data-table-row-count.tsx +1 -1
- package/src/components/ui/date-picker.tsx +41 -14
- package/src/components/ui/feature-card.tsx +2 -10
- package/src/components/ui/feature-list.tsx +2 -8
- package/src/components/ui/incident-feed.tsx +2 -13
- package/src/components/ui/leader-row.tsx +0 -1
- package/src/components/ui/product-screen-frame.tsx +1 -6
- package/src/components/ui/status-badge.tsx +5 -1
- package/src/components/ui/status-line.tsx +1 -4
- package/src/components/ui/strip-card.tsx +1 -3
- package/src/components/ui/tag.tsx +3 -1
- package/src/utils/format.ts +16 -4
- package/src/utils/index.ts +1 -0
package/dist/utils/format.js
CHANGED
|
@@ -188,11 +188,12 @@ function toValidDate(date) {
|
|
|
188
188
|
const d = date instanceof Date ? date : new Date(date);
|
|
189
189
|
return Number.isNaN(d.getTime()) ? null : d;
|
|
190
190
|
}
|
|
191
|
+
const viewerLocale = () => typeof navigator === "undefined" ? void 0 : navigator.language || void 0;
|
|
191
192
|
function formatDateWithTimezone(date, timezone, style = "medium", options) {
|
|
192
193
|
const dateObj = toValidDate(date);
|
|
193
194
|
if (!dateObj) return "";
|
|
194
195
|
const { timeZone: _ignored, ...fields } = typeof style === "string" ? ZONED_DATE_STYLES[style] : style;
|
|
195
|
-
return formatterFor(timezone, fields, options?.viewerLocale ?
|
|
196
|
+
return formatterFor(timezone, fields, options?.viewerLocale ? viewerLocale() : "en-US").format(dateObj);
|
|
196
197
|
}
|
|
197
198
|
function formatDateTimeYmd(date, timezone, options) {
|
|
198
199
|
const dateObj = toValidDate(date);
|
|
@@ -471,5 +472,6 @@ export {
|
|
|
471
472
|
personInitials,
|
|
472
473
|
singleInitial,
|
|
473
474
|
stripHtml,
|
|
474
|
-
titleCaseFromSlug
|
|
475
|
+
titleCaseFromSlug,
|
|
476
|
+
viewerLocale
|
|
475
477
|
};
|
package/dist/utils/index.cjs
CHANGED
|
@@ -80412,11 +80412,12 @@ function toValidDate(date) {
|
|
|
80412
80412
|
const d = date instanceof Date ? date : new Date(date);
|
|
80413
80413
|
return Number.isNaN(d.getTime()) ? null : d;
|
|
80414
80414
|
}
|
|
80415
|
+
var viewerLocale = () => typeof navigator === "undefined" ? void 0 : navigator.language || void 0;
|
|
80415
80416
|
function formatDateWithTimezone(date, timezone, style = "medium", options) {
|
|
80416
80417
|
const dateObj = toValidDate(date);
|
|
80417
80418
|
if (!dateObj) return "";
|
|
80418
80419
|
const { timeZone: _ignored, ...fields } = typeof style === "string" ? ZONED_DATE_STYLES[style] : style;
|
|
80419
|
-
return formatterFor(timezone, fields, options?.viewerLocale ?
|
|
80420
|
+
return formatterFor(timezone, fields, options?.viewerLocale ? viewerLocale() : "en-US").format(dateObj);
|
|
80420
80421
|
}
|
|
80421
80422
|
function formatDateTimeYmd(date, timezone, options) {
|
|
80422
80423
|
const dateObj = toValidDate(date);
|
|
@@ -86591,6 +86592,7 @@ exports.validateEmailDomainList = validateEmailDomainList;
|
|
|
86591
86592
|
exports.validatePhoneNumber = validatePhoneNumber;
|
|
86592
86593
|
exports.vendorClassificationCopy = vendorClassificationCopy;
|
|
86593
86594
|
exports.vendorClassificationGroup = vendorClassificationGroup;
|
|
86595
|
+
exports.viewerLocale = viewerLocale;
|
|
86594
86596
|
exports.walkthroughDismissCookieName = walkthroughDismissCookieName;
|
|
86595
86597
|
exports.webinarTiming = webinarTiming;
|
|
86596
86598
|
exports.withFirstTouchAttribution = withFirstTouchAttribution;
|
package/dist/utils/index.d.ts
CHANGED
|
@@ -44,7 +44,7 @@ export * from './after-page-load';
|
|
|
44
44
|
export * from './dismissal-storage';
|
|
45
45
|
export * from './walkthrough-deep-link';
|
|
46
46
|
export { type GetProxiedImageUrlOptions, getProxiedImageUrl, urlPathLooksLikeSvg, shouldProxyImage, generateImageSizes, skipsImageOptimizer, } from './image-proxy';
|
|
47
|
-
export { formatLargeNumber, formatAbbreviatedNumber, nameInitials, personFirstName, personInitials, singleInitial, formatDurationMMSS, formatDurationCompact, formatTimeWithTimezone, formatDateWithTimezone, formatDateTimeYmd, VIEWER_TIMEZONE, formatWebinarTimeMeta, formatProgramDate, formatProgramDateRange, formatProgramTimeRange, type ZonedDateStyle, formatDurationFromRange, isOrderedRange, type FormatDateUTCOptions, formatDateUTC, formatEntryMonthUTC, formatCurrency, formatPercent, formatWholeDollars, formatLegalDate, formatBytesShort, formatFileSize, formatDateTimeAt, formatDurationFromMs, type MetricFormat, type TrendPolarity, formatCompactMetric, getTrendColors, formatDateRange, formatDuration, formatUnderscoreText, titleCaseFromSlug, stripHtml, formatBioText, formatClassification, formatPricingModel, } from './format';
|
|
47
|
+
export { formatLargeNumber, formatAbbreviatedNumber, nameInitials, personFirstName, personInitials, singleInitial, formatDurationMMSS, formatDurationCompact, formatTimeWithTimezone, formatDateWithTimezone, formatDateTimeYmd, VIEWER_TIMEZONE, viewerLocale, formatWebinarTimeMeta, formatProgramDate, formatProgramDateRange, formatProgramTimeRange, type ZonedDateStyle, formatDurationFromRange, isOrderedRange, type FormatDateUTCOptions, formatDateUTC, formatEntryMonthUTC, formatCurrency, formatPercent, formatWholeDollars, formatLegalDate, formatBytesShort, formatFileSize, formatDateTimeAt, formatDurationFromMs, type MetricFormat, type TrendPolarity, formatCompactMetric, getTrendColors, formatDateRange, formatDuration, formatUnderscoreText, titleCaseFromSlug, stripHtml, formatBioText, formatClassification, formatPricingModel, } from './format';
|
|
48
48
|
export { formatRelativeTime, formatAbsoluteDate, formatDateTime, getDetailedTimeDifference, isToday, isWithinMinutes, createUTCTimestamp, formatTicketRelativeTime, formatTicketFullTimestamp, } from './date-utils';
|
|
49
49
|
export { SOURCE_ICON_NAMES, getSourceIconName, SOURCE_LABELS_BY_TABLE, getSourceLabel } from './source-icons';
|
|
50
50
|
export { DOC_TABLE_TYPES, groupsByTable, recordCountLabel, buildGroupedSource, groupSourcesByTable, formatCitationIndices, type GroupedSourceRow, } from './source-grouping';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAAE,MAAM,MAAM,CAAC;AAK1B,OAAO,EACL,cAAc,EACd,wBAAwB,EACxB,yBAAyB,EACzB,gBAAgB,EAChB,gBAAgB,EAChB,UAAU,EACV,qBAAqB,GACtB,MAAM,qBAAqB,CAAC;AAI7B,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AACnG,cAAc,gBAAgB,CAAC;AAC/B,cAAc,qBAAqB,CAAC;AACpC,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AACrE,OAAO,EACL,0BAA0B,EAC1B,wBAAwB,EACxB,yBAAyB,EACzB,4BAA4B,EAC5B,yBAAyB,EACzB,KAAK,yBAAyB,EAC9B,KAAK,yBAAyB,EAC9B,KAAK,wBAAwB,EAC7B,KAAK,8BAA8B,GACpC,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EAAE,cAAc,EAAE,MAAM,2DAA2D,CAAC;AAC3F,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,iBAAiB,EACjB,mBAAmB,EACnB,gBAAgB,EAChB,KAAK,aAAa,EAClB,WAAW,EACX,oBAAoB,EACpB,QAAQ,EACR,QAAQ,EACR,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EACL,YAAY,EACZ,KAAK,EACL,oBAAoB,EACpB,cAAc,EACd,SAAS,EACT,wBAAwB,EACxB,eAAe,EACf,KAAK,EACL,IAAI,EACJ,eAAe,GAChB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAGzC,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,0BAA0B,EAAE,MAAM,mBAAmB,CAAC;AAI/D,cAAc,eAAe,CAAC;AAC9B,cAAc,wBAAwB,CAAC;AACvC,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC;AAErC,cAAc,oBAAoB,CAAC;AAGnC,cAAc,sBAAsB,CAAC;AAErC,cAAc,mBAAmB,CAAC;AAGlC,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAIhC,cAAc,kBAAkB,CAAC;AAIjC,OAAO,EACL,sBAAsB,EACtB,kBAAkB,EAClB,KAAK,oBAAoB,EACzB,iBAAiB,EACjB,mBAAmB,GACpB,MAAM,uCAAuC,CAAC;AAK/C,OAAO,EACL,cAAc,EACd,KAAK,eAAe,EACpB,aAAa,EACb,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,wCAAwC,CAAC;AAChD,OAAO,EAAE,wBAAwB,IAAI,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEhF,cAAc,cAAc,CAAC;AAE7B,cAAc,eAAe,CAAC;AAG9B,cAAc,iBAAiB,CAAC;AAEhC,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAE7B,cAAc,cAAc,CAAC;AAE7B,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AAEvC,cAAc,wBAAwB,CAAC;AAGvC,cAAc,kBAAkB,CAAC;AAGjC,cAAc,wBAAwB,CAAC;AAEvC,cAAc,wBAAwB,CAAC;AAEvC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AAEpC,cAAc,yBAAyB,CAAC;AAGxC,OAAO,EACL,KAAK,yBAAyB,EAC9B,kBAAkB,EAClB,mBAAmB,EACnB,gBAAgB,EAChB,kBAAkB,EAClB,mBAAmB,GACpB,MAAM,eAAe,CAAC;AAOvB,OAAO,EACL,iBAAiB,EACjB,uBAAuB,EACvB,YAAY,EACZ,eAAe,EACf,cAAc,EACd,aAAa,EACb,kBAAkB,EAClB,qBAAqB,EACrB,sBAAsB,EACtB,sBAAsB,EACtB,iBAAiB,EACjB,eAAe,EACf,YAAY,EACZ,qBAAqB,EACrB,iBAAiB,EACjB,sBAAsB,EACtB,sBAAsB,EACtB,KAAK,cAAc,EACnB,uBAAuB,EACvB,cAAc,EACd,KAAK,oBAAoB,EACzB,aAAa,EACb,mBAAmB,EACnB,cAAc,EACd,aAAa,EACb,kBAAkB,EAClB,eAAe,EACf,gBAAgB,EAChB,cAAc,EACd,gBAAgB,EAChB,oBAAoB,EACpB,KAAK,YAAY,EACjB,KAAK,aAAa,EAClB,mBAAmB,EACnB,cAAc,EACd,eAAe,EACf,cAAc,EACd,oBAAoB,EACpB,iBAAiB,EACjB,SAAS,EACT,aAAa,EACb,oBAAoB,EACpB,kBAAkB,GACnB,MAAM,UAAU,CAAC;AAGlB,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,cAAc,EACd,yBAAyB,EACzB,OAAO,EACP,eAAe,EACf,kBAAkB,EAClB,wBAAwB,EACxB,yBAAyB,GAC1B,MAAM,cAAc,CAAC;AAKtB,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAG9G,OAAO,EACL,eAAe,EACf,aAAa,EACb,gBAAgB,EAChB,kBAAkB,EAClB,mBAAmB,EACnB,qBAAqB,EACrB,KAAK,gBAAgB,GACtB,MAAM,mBAAmB,CAAC;AAW3B,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,KAAK,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAOpG,OAAO,EACL,qBAAqB,EACrB,KAAK,eAAe,EACpB,KAAK,sBAAsB,EAC3B,KAAK,kBAAkB,GACxB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,uBAAuB,EAC5B,4BAA4B,EAC5B,iBAAiB,EACjB,iBAAiB,EACjB,mBAAmB,EACnB,sBAAsB,EACtB,cAAc,GACf,MAAM,4BAA4B,CAAC;AAKpC,OAAO,EAAE,wBAAwB,EAAE,KAAK,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAO5F,OAAO,EACL,oBAAoB,EACpB,KAAK,cAAc,EACnB,0BAA0B,EAC1B,qCAAqC,EACrC,+BAA+B,EAC/B,sCAAsC,EACtC,8BAA8B,EAC9B,6CAA6C,EAC7C,gCAAgC,EAChC,2BAA2B,GAC5B,MAAM,mDAAmD,CAAC;AAC3D,OAAO,EACL,kCAAkC,EAClC,8BAA8B,EAC9B,KAAK,4BAA4B,GAClC,MAAM,sDAAsD,CAAC;AAC9D,OAAO,EAAE,uBAAuB,EAAE,MAAM,oDAAoD,CAAC;AAC7F,OAAO,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAC;AACnG,OAAO,EAAE,aAAa,EAAE,KAAK,YAAY,EAAE,MAAM,wCAAwC,CAAC;AAC1F,OAAO,EACL,KAAK,mBAAmB,EACxB,wBAAwB,EACxB,oBAAoB,EACpB,8BAA8B,EAC9B,KAAK,eAAe,EACpB,qBAAqB,EACrB,oBAAoB,GACrB,MAAM,+CAA+C,CAAC;AAMvD,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,kDAAkD,CAAC;AAGpG,OAAO,EAAE,KAAK,WAAW,EAAE,oBAAoB,EAAE,MAAM,+CAA+C,CAAC;AACvG,OAAO,EAAE,cAAc,EAAE,MAAM,4CAA4C,CAAC;AAI5E,OAAO,EAAE,gBAAgB,EAAE,MAAM,8CAA8C,CAAC;AAKhF,OAAO,EAAE,iBAAiB,EAAE,KAAK,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAK9E,cAAc,gBAAgB,CAAC;AAS/B,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,KAAK,4BAA4B,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAM9F,OAAO,EACL,uBAAuB,EACvB,kBAAkB,EAClB,wBAAwB,EACxB,oBAAoB,EACpB,qBAAqB,EACrB,mBAAmB,EACnB,uBAAuB,EACvB,oBAAoB,EACpB,KAAK,2BAA2B,GACjC,MAAM,sBAAsB,CAAC;AAQ9B,OAAO,EAAE,+BAA+B,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAOjF,OAAO,EAAE,YAAY,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAMnE,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC3E,YAAY,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAKlD,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,6BAA6B,EAC7B,oBAAoB,EACpB,KAAK,qBAAqB,EAC1B,KAAK,gBAAgB,EACrB,KAAK,kBAAkB,GACxB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAChF,OAAO,EAAE,0BAA0B,EAAE,KAAK,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAC/F,OAAO,EAAE,kBAAkB,EAAE,KAAK,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAKjF,OAAO,EACL,wBAAwB,EACxB,qBAAqB,EACrB,gBAAgB,EAChB,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,GACxB,MAAM,gBAAgB,CAAC;AAMxB,cAAc,oBAAoB,CAAC;AAKnC,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAKlC,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,uBAAuB,CAAC;AACtC,cAAc,iBAAiB,CAAC;AAChC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC;AAIvC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yBAAyB,CAAC;AACxC,cAAc,2BAA2B,CAAC;AAG1C,cAAc,cAAc,CAAC;AAK7B,cAAc,qBAAqB,CAAC;AAEpC,cAAc,iBAAiB,CAAC;AAEhC,cAAc,eAAe,CAAC;AAE9B,cAAc,OAAO,CAAC;AAEtB,cAAc,oBAAoB,CAAC;AAEnC,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,KAAK,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAMhH,OAAO,EACL,kBAAkB,EAClB,qBAAqB,EACrB,eAAe,EACf,aAAa,EACb,UAAU,EACV,aAAa,GACd,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,YAAY,EAAE,iBAAiB,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAGjG,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,OAAO,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACpE,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC"}
|
package/dist/utils/index.js
CHANGED
|
@@ -110,6 +110,7 @@ import {
|
|
|
110
110
|
formatDateWithTimezone,
|
|
111
111
|
formatDateTimeYmd,
|
|
112
112
|
VIEWER_TIMEZONE,
|
|
113
|
+
viewerLocale,
|
|
113
114
|
formatWebinarTimeMeta,
|
|
114
115
|
formatProgramDate,
|
|
115
116
|
formatProgramDateRange,
|
|
@@ -464,5 +465,6 @@ export {
|
|
|
464
465
|
usePlatformColors,
|
|
465
466
|
vendorClassificationCopy,
|
|
466
467
|
vendorClassificationGroup,
|
|
468
|
+
viewerLocale,
|
|
467
469
|
webinarTiming
|
|
468
470
|
};
|
package/package.json
CHANGED
|
@@ -33,24 +33,24 @@ export function EntityQuotesPanel({ quotes, className }: EntityQuotesPanelProps)
|
|
|
33
33
|
// Optional per record, so the loading state draws none: the gate leaves the loaded panel out of its comparison.
|
|
34
34
|
// A plain block around the one panel, so the parent's spacing applies to it as it did to the panel.
|
|
35
35
|
<div data-loading-optional>
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
36
|
+
<StackedRowsPanel
|
|
37
|
+
className={className}
|
|
38
|
+
title={`${ENTITY_QUOTES_TITLE} · ${quotes.length}`}
|
|
39
|
+
rows={quotes.map(q => ({
|
|
40
|
+
id: q.key,
|
|
41
|
+
columns: [
|
|
42
|
+
{
|
|
43
|
+
key: 'quote',
|
|
44
|
+
content: (
|
|
45
|
+
<blockquote className={QUOTE_CLASS}>
|
|
46
|
+
<p className={QUOTE_TEXT_CLASS}>“{q.text}”</p>
|
|
47
|
+
{q.speaker && <p className={QUOTE_SPEAKER_CLASS}>{q.speaker}</p>}
|
|
48
|
+
</blockquote>
|
|
49
|
+
),
|
|
50
|
+
},
|
|
51
|
+
],
|
|
52
|
+
}))}
|
|
53
|
+
/>
|
|
54
54
|
</div>
|
|
55
55
|
);
|
|
56
56
|
}
|
|
@@ -1,3 +1,10 @@
|
|
|
1
1
|
export { ShareExperienceSection, type ShareExperienceSectionProps } from './share-experience-section';
|
|
2
2
|
export { EntityQuotesPanel, EntityQuotesPanelSkeleton, type EntityQuotesPanelProps } from './entity-quotes-panel';
|
|
3
|
-
export {
|
|
3
|
+
export {
|
|
4
|
+
QuoteCardTile,
|
|
5
|
+
QuoteCardTileSkeleton,
|
|
6
|
+
QuoteCardsStrip,
|
|
7
|
+
type QuoteCard,
|
|
8
|
+
type QuoteCardTileProps,
|
|
9
|
+
type QuoteCardsStripProps,
|
|
10
|
+
} from './quote-cards-strip';
|
|
@@ -95,7 +95,5 @@ export function CampaignCardAdmin({ campaign, className, anchorProps }: Campaign
|
|
|
95
95
|
}
|
|
96
96
|
|
|
97
97
|
export function CampaignCardAdminSkeleton({ className }: { className?: string }) {
|
|
98
|
-
return
|
|
99
|
-
<CompactCardSkeleton rows={[{ width: 'w-1/2' }, { width: 'w-11/12' }]} className={className} />
|
|
100
|
-
);
|
|
98
|
+
return <CompactCardSkeleton rows={[{ width: 'w-1/2' }, { width: 'w-11/12' }]} className={className} />;
|
|
101
99
|
}
|
|
@@ -80,7 +80,12 @@ export function InvestorUpdateCardSkeleton({
|
|
|
80
80
|
}
|
|
81
81
|
if (size === 'sm') {
|
|
82
82
|
return (
|
|
83
|
-
<CompactCardSkeleton
|
|
83
|
+
<CompactCardSkeleton
|
|
84
|
+
titleWidth="w-1/2"
|
|
85
|
+
titleBadges={['w-8']}
|
|
86
|
+
rows={[{ width: 'w-1/3' }, { width: 'w-11/12' }]}
|
|
87
|
+
className={className}
|
|
88
|
+
/>
|
|
84
89
|
);
|
|
85
90
|
}
|
|
86
91
|
return null;
|
|
@@ -230,8 +230,7 @@ export function useAskSurface({
|
|
|
230
230
|
const queue = useAskQueue();
|
|
231
231
|
// In a loading scope a surface takes no turn and picks nothing: it draws its loading state.
|
|
232
232
|
const held = useLoadingScope();
|
|
233
|
-
const picks =
|
|
234
|
-
!held && assistantAvailable(assistant) && !!assistant.askPromptsUrl && enabled && exclude !== null;
|
|
233
|
+
const picks = !held && assistantAvailable(assistant) && !!assistant.askPromptsUrl && enabled && exclude !== null;
|
|
235
234
|
|
|
236
235
|
// A layout effect: surfaces a page mounts together take their turns in document order.
|
|
237
236
|
useLayoutEffect(() => {
|
|
@@ -307,7 +307,6 @@ function ManagedCell({
|
|
|
307
307
|
// Component
|
|
308
308
|
// =============================================================================
|
|
309
309
|
|
|
310
|
-
|
|
311
310
|
export function CardsStrip<T = unknown>(props: CardsStripProps<T>): React.ReactElement | null {
|
|
312
311
|
const {
|
|
313
312
|
title,
|
|
@@ -801,7 +800,9 @@ export function CardsStrip<T = unknown>(props: CardsStripProps<T>): React.ReactE
|
|
|
801
800
|
return <ManagedCell item={item} ctx={ctx} cardWidthMobile={cardWidthMobile} cardWidthDesktop={cardWidthDesktop} />;
|
|
802
801
|
};
|
|
803
802
|
|
|
804
|
-
const heading = showTitle && title &&
|
|
803
|
+
const heading = showTitle && title && (
|
|
804
|
+
<h2 className={`${SECTION_HEADING_CLASS} break-words`}>{accentSentenceMarks(title)}</h2>
|
|
805
|
+
);
|
|
805
806
|
if (items.length === 0) {
|
|
806
807
|
// Outside a loading state an empty strip is nothing; inside one, a strip whose host states a skeleton draws it
|
|
807
808
|
// (a host that states none expects no strip, e.g. a record with no bites).
|
|
@@ -166,11 +166,7 @@ export function CommandBox({
|
|
|
166
166
|
and collapsing on each one would fold an expanded box under the
|
|
167
167
|
typist, the exact jump this mode exists to prevent. Nothing goes stale
|
|
168
168
|
without it: the expanded height is re-measured on every commit. */}
|
|
169
|
-
<FadePreview
|
|
170
|
-
fixedHeight
|
|
171
|
-
collapsedHeight={fixedCommandHeight(visibleLines)}
|
|
172
|
-
labels={COMMAND_TOGGLE_LABELS}
|
|
173
|
-
>
|
|
169
|
+
<FadePreview fixedHeight collapsedHeight={fixedCommandHeight(visibleLines)} labels={COMMAND_TOGGLE_LABELS}>
|
|
174
170
|
{text}
|
|
175
171
|
</FadePreview>
|
|
176
172
|
</div>
|
|
@@ -185,12 +181,7 @@ export function CommandBox({
|
|
|
185
181
|
{onCopy ? (
|
|
186
182
|
<div className={COMMAND_BOX_COPY_ROW_CLASS}>
|
|
187
183
|
{commandText}
|
|
188
|
-
<button
|
|
189
|
-
type="button"
|
|
190
|
-
onClick={onCopy}
|
|
191
|
-
aria-label={copyAriaLabel}
|
|
192
|
-
className={COMMAND_BOX_COPY_BUTTON_CLASS}
|
|
193
|
-
>
|
|
184
|
+
<button type="button" onClick={onCopy} aria-label={copyAriaLabel} className={COMMAND_BOX_COPY_BUTTON_CLASS}>
|
|
194
185
|
<Copy02Icon className="h-5 w-5" />
|
|
195
186
|
</button>
|
|
196
187
|
</div>
|
|
@@ -158,7 +158,10 @@ export function PathsDisplaySkeleton({
|
|
|
158
158
|
copyIconSize = 'w-6 h-6',
|
|
159
159
|
leadingIcon,
|
|
160
160
|
className,
|
|
161
|
-
}: Pick<
|
|
161
|
+
}: Pick<
|
|
162
|
+
PathsDisplayProps,
|
|
163
|
+
'title' | 'description' | 'showCopyButtons' | 'copyIconSize' | 'leadingIcon' | 'className'
|
|
164
|
+
> & {
|
|
162
165
|
rows?: number;
|
|
163
166
|
}) {
|
|
164
167
|
return (
|
|
@@ -43,12 +43,7 @@ export function RemoteDesktopChatMessageRow({
|
|
|
43
43
|
{isTechnician && (
|
|
44
44
|
<SquareAvatar variant="round" sizePx={24} src={avatarUrl} alt={authorName} className="shrink-0" />
|
|
45
45
|
)}
|
|
46
|
-
<span
|
|
47
|
-
className={cn(
|
|
48
|
-
MESSAGE_NAME_CLASS,
|
|
49
|
-
isTechnician ? 'text-ods-accent' : 'text-ods-text-secondary',
|
|
50
|
-
)}
|
|
51
|
-
>
|
|
46
|
+
<span className={cn(MESSAGE_NAME_CLASS, isTechnician ? 'text-ods-accent' : 'text-ods-text-secondary')}>
|
|
52
47
|
{authorName}
|
|
53
48
|
</span>
|
|
54
49
|
{/* The time is in the viewer's zone, which a server render cannot know. */}
|
|
@@ -181,7 +181,8 @@ export function ReleaseKeepingModal({
|
|
|
181
181
|
<ModalV2Title>Release Keeping</ModalV2Title>
|
|
182
182
|
</ModalV2Header>
|
|
183
183
|
|
|
184
|
-
|
|
184
|
+
{/* break-words: a free-text reason ("Other") can be one long word, which ran past the modal's edge. */}
|
|
185
|
+
<div className="flex w-full flex-col gap-[var(--spacing-system-xsf)] break-words text-ods-text-primary text-h4">
|
|
185
186
|
<p>
|
|
186
187
|
Kept by {keptBy} on {keptOn} for {reason}.
|
|
187
188
|
</p>
|
|
@@ -46,7 +46,12 @@ export function EntityIcon({
|
|
|
46
46
|
// In a loading scope the icon is data still being read: a box of its size.
|
|
47
47
|
if (held) {
|
|
48
48
|
return (
|
|
49
|
-
<UnifiedSkeleton
|
|
49
|
+
<UnifiedSkeleton
|
|
50
|
+
as="span"
|
|
51
|
+
width={size}
|
|
52
|
+
height={size}
|
|
53
|
+
className={cn('inline-block shrink-0 rounded-md', className)}
|
|
54
|
+
/>
|
|
50
55
|
);
|
|
51
56
|
}
|
|
52
57
|
if (!icon?.url && identity?.url) {
|
|
@@ -176,7 +176,10 @@ export const InteractiveWrapper = forwardRef<HTMLElement, InteractiveWrapperProp
|
|
|
176
176
|
) : null,
|
|
177
177
|
/* Loading Overlay */
|
|
178
178
|
loading ? (
|
|
179
|
-
<div
|
|
179
|
+
<div
|
|
180
|
+
key="loading"
|
|
181
|
+
className={cn('pointer-events-none absolute inset-0 bg-current opacity-10', LIVE_PULSE_CLASS)}
|
|
182
|
+
/>
|
|
180
183
|
) : null,
|
|
181
184
|
);
|
|
182
185
|
},
|
|
@@ -248,7 +248,11 @@ export function SectionEyebrow({
|
|
|
248
248
|
tone?: HeadingAccentTone;
|
|
249
249
|
className?: string;
|
|
250
250
|
}) {
|
|
251
|
-
return
|
|
251
|
+
return (
|
|
252
|
+
<span className={['text-h5', headingAccentClass(platform, tone), className].filter(Boolean).join(' ')}>
|
|
253
|
+
{children}
|
|
254
|
+
</span>
|
|
255
|
+
);
|
|
252
256
|
}
|
|
253
257
|
|
|
254
258
|
/**
|
|
@@ -272,7 +276,11 @@ export function SectionHeading({
|
|
|
272
276
|
const accentClassName = headingAccentClass(platform, tone);
|
|
273
277
|
const layout = SECTION_HEADING_LAYOUT[level];
|
|
274
278
|
const Tag = presentational ? 'div' : level === 'page' ? 'h1' : 'h2';
|
|
275
|
-
const eyebrowNode = eyebrow ?
|
|
279
|
+
const eyebrowNode = eyebrow ? (
|
|
280
|
+
<SectionEyebrow platform={platform} tone={tone}>
|
|
281
|
+
{eyebrow}
|
|
282
|
+
</SectionEyebrow>
|
|
283
|
+
) : null;
|
|
276
284
|
const headingText = (
|
|
277
285
|
<>
|
|
278
286
|
{accentSentenceMarks(title, platform, tone)}
|
|
@@ -362,7 +370,11 @@ export function SectionHeadingSkeleton({
|
|
|
362
370
|
<div className={layout.intro}>
|
|
363
371
|
{Array.from({ length: introLines }, (_, i) => (
|
|
364
372
|
// biome-ignore lint/suspicious/noArrayIndexKey: skeleton lines never reorder
|
|
365
|
-
<TextLineSkeleton
|
|
373
|
+
<TextLineSkeleton
|
|
374
|
+
key={i}
|
|
375
|
+
type="inherit"
|
|
376
|
+
className={i === introLines - 1 && introLines > 1 ? 'w-2/3' : 'w-full'}
|
|
377
|
+
/>
|
|
366
378
|
))}
|
|
367
379
|
</div>
|
|
368
380
|
) : null}
|
|
@@ -75,7 +75,8 @@ export const MEETING_DIRECTORY_PAGE_SIZE = 6;
|
|
|
75
75
|
const directoryRowsMinHeight = (pageSize: number) => pageSize * 80 + (pageSize - 1) * 16;
|
|
76
76
|
|
|
77
77
|
/** A row's frame and columns, read by the row and by its skeleton, so the skeleton is the row's size. */
|
|
78
|
-
const ROW_FRAME_CLASS =
|
|
78
|
+
const ROW_FRAME_CLASS =
|
|
79
|
+
'flex min-h-20 w-full items-center gap-4 rounded-lg border border-ods-border bg-ods-card px-4 py-3';
|
|
79
80
|
const ROW_TITLE_COLUMN_CLASS = 'flex min-w-0 flex-1 flex-col justify-center text-left';
|
|
80
81
|
const ROW_NEXT_COLUMN_CLASS = 'hidden w-44 shrink-0 flex-col items-end justify-center content-md:flex';
|
|
81
82
|
const ROW_NEXT_LABEL_CLASS = 'text-ods-text-secondary text-h6';
|
|
@@ -56,8 +56,9 @@ export function ResultsCountSkeleton({
|
|
|
56
56
|
return (
|
|
57
57
|
<div className={RESULTS_COUNT_ROW_CLASS} aria-hidden>
|
|
58
58
|
<p className={RESULTS_COUNT_TEXT_CLASS}>
|
|
59
|
-
Showing <TextLineSkeleton type="inherit" as="span" className="inline-block align-top
|
|
60
|
-
<TextLineSkeleton type="inherit" as="span" className="inline-block align-top
|
|
59
|
+
Showing <TextLineSkeleton type="inherit" as="span" className="inline-block w-10 align-top" /> of{' '}
|
|
60
|
+
<TextLineSkeleton type="inherit" as="span" className="inline-block w-6 align-top" />{' '}
|
|
61
|
+
{resultLabel(resultType, false)}
|
|
61
62
|
{sortingMessage && <span className={RESULTS_COUNT_SORTING_CLASS}>• {sortingMessage}</span>}
|
|
62
63
|
</p>
|
|
63
64
|
</div>
|
|
@@ -85,7 +85,11 @@ export function AvatarStackSkeleton({
|
|
|
85
85
|
className?: string;
|
|
86
86
|
}) {
|
|
87
87
|
return (
|
|
88
|
-
<div
|
|
88
|
+
<div
|
|
89
|
+
aria-hidden
|
|
90
|
+
className={cn(STACK_ROW_CLASS, slots && 'shrink-0', className)}
|
|
91
|
+
style={slotsWidthStyle(size, slots)}
|
|
92
|
+
>
|
|
89
93
|
{Array.from({ length: count }, (_, i) => (
|
|
90
94
|
<UnifiedSkeleton
|
|
91
95
|
// biome-ignore lint/suspicious/noArrayIndexKey: skeleton faces never reorder
|
|
@@ -152,7 +152,14 @@ export function CursorPagination({
|
|
|
152
152
|
export function CursorPaginationSkeleton(
|
|
153
153
|
props: Pick<
|
|
154
154
|
CursorPaginationProps,
|
|
155
|
-
|
|
155
|
+
| 'hasPreviousPage'
|
|
156
|
+
| 'onPrevious'
|
|
157
|
+
| 'onReset'
|
|
158
|
+
| 'className'
|
|
159
|
+
| 'showInfo'
|
|
160
|
+
| 'compact'
|
|
161
|
+
| 'resetButtonLabel'
|
|
162
|
+
| 'resetButtonIcon'
|
|
156
163
|
>,
|
|
157
164
|
) {
|
|
158
165
|
return <CursorPagination {...props} hasNextPage={false} skeleton />;
|
|
@@ -27,7 +27,7 @@ const ROW_COUNT_CLASS = 'whitespace-nowrap text-ods-text-secondary text-h6';
|
|
|
27
27
|
export function DataTableRowCountSkeleton({ label, className }: { label: string; className?: string }) {
|
|
28
28
|
return (
|
|
29
29
|
<span className={cn(ROW_COUNT_CLASS, className)} aria-hidden>
|
|
30
|
-
<TextLineSkeleton type="inherit" as="span" className="inline-block align-top
|
|
30
|
+
<TextLineSkeleton type="inherit" as="span" className="inline-block w-6 align-top" /> {label}
|
|
31
31
|
</span>
|
|
32
32
|
);
|
|
33
33
|
}
|
|
@@ -661,6 +661,20 @@ const timeSelectTriggerStyles = cn(
|
|
|
661
661
|
'text-ods-text-primary',
|
|
662
662
|
);
|
|
663
663
|
|
|
664
|
+
// ============================================================================
|
|
665
|
+
// Popover bounds (shared by every date popover in this file)
|
|
666
|
+
// ============================================================================
|
|
667
|
+
|
|
668
|
+
/**
|
|
669
|
+
* Keeps a date popover inside the window. Radix flips a popover to the other
|
|
670
|
+
* side only when it fits there whole and never shrinks it, so near the bottom
|
|
671
|
+
* of a short window (a list too short to scroll) the lower part, Apply
|
|
672
|
+
* included, ended up below the screen. The content is capped at the space
|
|
673
|
+
* Radix measures and scrolls inside instead.
|
|
674
|
+
*/
|
|
675
|
+
const DATE_POPOVER_COLLISION_PADDING = 16;
|
|
676
|
+
const datePopoverBounds = 'max-h-[var(--radix-popover-content-available-height)]';
|
|
677
|
+
|
|
664
678
|
// ============================================================================
|
|
665
679
|
// DatePicker Component
|
|
666
680
|
// ============================================================================
|
|
@@ -739,12 +753,15 @@ export function DatePicker(props: DatePickerProps) {
|
|
|
739
753
|
<Popover.Content
|
|
740
754
|
className={cn(
|
|
741
755
|
'z-[9999]',
|
|
756
|
+
datePopoverBounds,
|
|
757
|
+
'overflow-y-auto',
|
|
742
758
|
'animate-in fade-in-0 zoom-in-95',
|
|
743
759
|
'data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95',
|
|
744
760
|
'data-[side=bottom]:slide-in-from-top-2',
|
|
745
761
|
'data-[side=top]:slide-in-from-bottom-2',
|
|
746
762
|
)}
|
|
747
763
|
sideOffset={8}
|
|
764
|
+
collisionPadding={DATE_POPOVER_COLLISION_PADDING}
|
|
748
765
|
align="start"
|
|
749
766
|
>
|
|
750
767
|
<DatePickerCalendar
|
|
@@ -923,12 +940,15 @@ export function DatePickerInput(props: DatePickerInputProps) {
|
|
|
923
940
|
<Popover.Content
|
|
924
941
|
className={cn(
|
|
925
942
|
'z-[9999]',
|
|
943
|
+
datePopoverBounds,
|
|
944
|
+
'overflow-y-auto',
|
|
926
945
|
'animate-in fade-in-0 zoom-in-95',
|
|
927
946
|
'data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95',
|
|
928
947
|
'data-[side=bottom]:slide-in-from-top-2',
|
|
929
948
|
'data-[side=top]:slide-in-from-bottom-2',
|
|
930
949
|
)}
|
|
931
950
|
sideOffset={8}
|
|
951
|
+
collisionPadding={DATE_POPOVER_COLLISION_PADDING}
|
|
932
952
|
align="start"
|
|
933
953
|
>
|
|
934
954
|
<DatePickerCalendar
|
|
@@ -1150,12 +1170,15 @@ export function DatePickerInputSimple(props: DatePickerInputSimpleProps) {
|
|
|
1150
1170
|
<Popover.Content
|
|
1151
1171
|
className={cn(
|
|
1152
1172
|
'z-[9999]',
|
|
1173
|
+
datePopoverBounds,
|
|
1174
|
+
'overflow-y-auto',
|
|
1153
1175
|
'animate-in fade-in-0 zoom-in-95',
|
|
1154
1176
|
'data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95',
|
|
1155
1177
|
'data-[side=bottom]:slide-in-from-top-2',
|
|
1156
1178
|
'data-[side=top]:slide-in-from-bottom-2',
|
|
1157
1179
|
)}
|
|
1158
1180
|
sideOffset={8}
|
|
1181
|
+
collisionPadding={DATE_POPOVER_COLLISION_PADDING}
|
|
1159
1182
|
align="start"
|
|
1160
1183
|
>
|
|
1161
1184
|
<DatePickerCalendar
|
|
@@ -1424,6 +1447,7 @@ export function DateFilterMenu({
|
|
|
1424
1447
|
<Popover.Content
|
|
1425
1448
|
className={cn(
|
|
1426
1449
|
'z-[9999] w-80 max-w-[calc(100vw-2rem)]',
|
|
1450
|
+
datePopoverBounds,
|
|
1427
1451
|
'flex flex-col gap-4 rounded-[6px] border border-ods-border bg-ods-bg p-4',
|
|
1428
1452
|
'animate-in fade-in-0 zoom-in-95',
|
|
1429
1453
|
'data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95',
|
|
@@ -1431,24 +1455,27 @@ export function DateFilterMenu({
|
|
|
1431
1455
|
'data-[side=top]:slide-in-from-bottom-2',
|
|
1432
1456
|
)}
|
|
1433
1457
|
sideOffset={8}
|
|
1458
|
+
collisionPadding={DATE_POPOVER_COLLISION_PADDING}
|
|
1434
1459
|
align={align}
|
|
1435
1460
|
>
|
|
1436
|
-
{/* Sort + calendar (shared panel) */}
|
|
1437
|
-
<
|
|
1438
|
-
|
|
1439
|
-
|
|
1440
|
-
|
|
1441
|
-
|
|
1442
|
-
|
|
1443
|
-
|
|
1444
|
-
|
|
1445
|
-
|
|
1446
|
-
|
|
1447
|
-
|
|
1448
|
-
|
|
1461
|
+
{/* Sort + calendar (shared panel). Scrolls when the window is short, so the actions stay on screen. */}
|
|
1462
|
+
<div className="min-h-0 overflow-y-auto">
|
|
1463
|
+
<DateFilterPanel
|
|
1464
|
+
mode={mode}
|
|
1465
|
+
sort={draftSort}
|
|
1466
|
+
onSortChange={setDraftSort}
|
|
1467
|
+
selected={draftSelected}
|
|
1468
|
+
onSelect={setDraftSelected}
|
|
1469
|
+
fromDate={fromDate}
|
|
1470
|
+
toDate={toDate}
|
|
1471
|
+
locale={locale}
|
|
1472
|
+
ascLabel={ascLabel}
|
|
1473
|
+
descLabel={descLabel}
|
|
1474
|
+
/>
|
|
1475
|
+
</div>
|
|
1449
1476
|
|
|
1450
1477
|
{/* Actions */}
|
|
1451
|
-
<div className="flex w-full items-stretch gap-4">
|
|
1478
|
+
<div className="flex w-full shrink-0 items-stretch gap-4">
|
|
1452
1479
|
<Button type="button" variant="outline" fullWidth onClick={hasChanges ? handleReset : handleClose}>
|
|
1453
1480
|
{hasChanges ? 'Reset' : 'Close'}
|
|
1454
1481
|
</Button>
|
|
@@ -260,11 +260,7 @@ function FeatureCardGridView({
|
|
|
260
260
|
</span>
|
|
261
261
|
)}
|
|
262
262
|
<h3 className={`text-ods-text-primary text-h2 ${titleClassName}`}>
|
|
263
|
-
{loading ?
|
|
264
|
-
<TextLineSkeleton type="inherit" as="span" className="w-1/2" />
|
|
265
|
-
) : (
|
|
266
|
-
item.title
|
|
267
|
-
)}
|
|
263
|
+
{loading ? <TextLineSkeleton type="inherit" as="span" className="w-1/2" /> : item.title}
|
|
268
264
|
</h3>
|
|
269
265
|
{item.subtitle && (
|
|
270
266
|
<p className={`text-h4 ${accentClassName} ${subtitleClassName}`}>
|
|
@@ -294,11 +290,7 @@ function FeatureCardGridView({
|
|
|
294
290
|
</h3>
|
|
295
291
|
{item.subtitle && (
|
|
296
292
|
<p className={`text-h4 ${accentClassName} ${subtitleClassName}`}>
|
|
297
|
-
{loading ?
|
|
298
|
-
<TextLineSkeleton type="inherit" as="span" className="w-3/4" />
|
|
299
|
-
) : (
|
|
300
|
-
item.subtitle
|
|
301
|
-
)}
|
|
293
|
+
{loading ? <TextLineSkeleton type="inherit" as="span" className="w-3/4" /> : item.subtitle}
|
|
302
294
|
</p>
|
|
303
295
|
)}
|
|
304
296
|
</div>
|
|
@@ -116,14 +116,8 @@ export function FeatureList({
|
|
|
116
116
|
return (
|
|
117
117
|
<div className={`${BOXED_LIST_CLASS} ${className}`}>
|
|
118
118
|
{items.map((item, index) => (
|
|
119
|
-
<div
|
|
120
|
-
|
|
121
|
-
className={`${BOXED_ROW_CLASS} ${index < items.length - 1 ? BOXED_ROW_DIVIDER_CLASS : ''}`}
|
|
122
|
-
>
|
|
123
|
-
<div
|
|
124
|
-
className={ICON_BOX_CLASS}
|
|
125
|
-
style={{ width: iconBoxSize, height: iconBoxSize }}
|
|
126
|
-
>
|
|
119
|
+
<div key={index} className={`${BOXED_ROW_CLASS} ${index < items.length - 1 ? BOXED_ROW_DIVIDER_CLASS : ''}`}>
|
|
120
|
+
<div className={ICON_BOX_CLASS} style={{ width: iconBoxSize, height: iconBoxSize }}>
|
|
127
121
|
{item.icon}
|
|
128
122
|
</div>
|
|
129
123
|
<div className={BOXED_TEXT_CLASS}>
|
|
@@ -69,11 +69,7 @@ const SOURCE_TAG_CLASS =
|
|
|
69
69
|
'inline-flex shrink-0 rounded-md border border-ods-border px-2 py-1 text-ods-text-secondary text-h5';
|
|
70
70
|
|
|
71
71
|
function SourceTag({ children }: { children: ReactNode }) {
|
|
72
|
-
return
|
|
73
|
-
<span className={SOURCE_TAG_CLASS}>
|
|
74
|
-
{children}
|
|
75
|
-
</span>
|
|
76
|
-
);
|
|
72
|
+
return <span className={SOURCE_TAG_CLASS}>{children}</span>;
|
|
77
73
|
}
|
|
78
74
|
|
|
79
75
|
/** The row above an item's title: where it was found and when. Nothing to show: no row. */
|
|
@@ -93,13 +89,7 @@ function ItemMeta({ item }: { item: IncidentFeedItem }) {
|
|
|
93
89
|
* to a single row each. An item that is waiting on a person stays open even
|
|
94
90
|
* after newer ones arrive, because it is still the thing to look at.
|
|
95
91
|
*/
|
|
96
|
-
export function IncidentFeed({
|
|
97
|
-
items,
|
|
98
|
-
statusLabels,
|
|
99
|
-
emptyLabel,
|
|
100
|
-
anchor = 'top',
|
|
101
|
-
className,
|
|
102
|
-
}: IncidentFeedProps) {
|
|
92
|
+
export function IncidentFeed({ items, statusLabels, emptyLabel, anchor = 'top', className }: IncidentFeedProps) {
|
|
103
93
|
const lastIndex = items.length - 1;
|
|
104
94
|
return (
|
|
105
95
|
<div className={cn(FEED_CLASS, anchor === 'bottom' && FEED_BOTTOM_CLASS, className)}>
|
|
@@ -146,4 +136,3 @@ export function IncidentFeed({
|
|
|
146
136
|
</div>
|
|
147
137
|
);
|
|
148
138
|
}
|
|
149
|
-
|