@flamingo-stack/openframe-frontend-core 0.0.702 → 0.0.703-snapshot.20261006080901
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/{chunk-CYYTD5ZK.cjs → chunk-262YQFOS.cjs} +47 -47
- package/dist/{chunk-SAA7B3DA.js → chunk-2G546OND.js} +500 -67
- package/dist/{chunk-6JPQDYYY.js → chunk-2JDVL7UV.js} +2614 -2001
- package/dist/{chunk-ASN65P3F.cjs → chunk-4DQMTBMK.cjs} +15 -15
- package/dist/{chunk-CZ34HXDW.js → chunk-4KGXLVCF.js} +686 -725
- package/dist/{chunk-TCZCMD5Q.js → chunk-5HBHO5TB.js} +1 -1
- package/dist/{chunk-446KS5BG.js → chunk-5QJDM6UV.js} +5 -5
- package/dist/{chunk-UJJWTJ6S.js → chunk-6WQIUQUC.js} +30 -16
- package/dist/{chunk-YR6JPJF4.js → chunk-6XIF2Z7I.js} +4 -4
- package/dist/{chunk-YGRHITPY.cjs → chunk-7JIL3WOH.cjs} +24 -24
- package/dist/{chunk-RS7HWAYX.js → chunk-7LFIKJX2.js} +3 -3
- package/dist/{chunk-4OGAXAEG.cjs → chunk-ABU3TGXA.cjs} +3 -3
- package/dist/{chunk-3WSFIV5G.cjs → chunk-AMYY3PNL.cjs} +69 -55
- package/dist/{chunk-BRXOGCH3.cjs → chunk-BIZNSF3U.cjs} +3 -3
- package/dist/{chunk-2A4XES7R.cjs → chunk-BM5MVGH3.cjs} +3 -3
- package/dist/{chunk-IIMICN7L.cjs → chunk-C3BWIU7R.cjs} +4 -44
- package/dist/{chunk-LZNJH23A.cjs → chunk-C7XGRLT5.cjs} +12 -12
- package/dist/{chunk-6YCXA7CN.js → chunk-CH5232HV.js} +20 -19
- package/dist/{chunk-UIBSSVON.cjs → chunk-D7BTSVMS.cjs} +2 -2
- package/dist/{chunk-BO5ZHDA4.js → chunk-ERCV6HHJ.js} +7 -7
- package/dist/{chunk-5V6O73EH.js → chunk-FLKJYMVB.js} +3 -3
- package/dist/{chunk-Z5HDCZAS.js → chunk-FXENTYE5.js} +15 -15
- package/dist/{chunk-HIXGAY2L.cjs → chunk-HFJW24JJ.cjs} +121 -121
- package/dist/{chunk-HPJ4XS2L.js → chunk-HJAYVKWQ.js} +24 -24
- package/dist/{chunk-PLK6GHN7.js → chunk-I7DFUQMN.js} +10 -10
- package/dist/{chunk-KJ5LWATV.js → chunk-IHU5ANUY.js} +7 -7
- package/dist/{chunk-AEQANLBW.cjs → chunk-IZGDG5X6.cjs} +505 -72
- package/dist/{chunk-2V4Z44G6.js → chunk-JEYRXT5L.js} +17 -17
- package/dist/{chunk-B3LZJ6J3.cjs → chunk-L3IC42IF.cjs} +32 -32
- package/dist/{chunk-RTGPIHVO.cjs → chunk-LDPEQGKT.cjs} +2243 -1630
- package/dist/{chunk-FD4DBTFO.cjs → chunk-LTSTC3N5.cjs} +1253 -1292
- package/dist/{chunk-OGLCD3UL.js → chunk-MFFCUVWG.js} +6 -6
- package/dist/{chunk-3L7KCOGO.cjs → chunk-MGGGBHYD.cjs} +30 -30
- package/dist/{chunk-QFW3RUZS.cjs → chunk-MI3JUJ75.cjs} +33 -33
- package/dist/{chunk-EMCQGFXD.cjs → chunk-MMOODW57.cjs} +28 -27
- package/dist/{chunk-Q76ZTHNV.js → chunk-MP2C3LJ4.js} +1 -1
- package/dist/{chunk-E3DH543A.cjs → chunk-N3TO7JV3.cjs} +98 -98
- package/dist/{chunk-2T6QWNXU.js → chunk-NDESEPW5.js} +99 -11
- package/dist/{chunk-ETFFEA3J.js → chunk-NRLJUBCS.js} +7 -7
- package/dist/{chunk-HUOLB7ZN.cjs → chunk-OHFS7VOU.cjs} +9 -9
- package/dist/{chunk-MWUBBBWZ.js → chunk-QVSFBSWV.js} +10 -10
- package/dist/{chunk-MDBHZBW7.cjs → chunk-RKV5B7EU.cjs} +92 -4
- package/dist/{chunk-3G76LRGL.cjs → chunk-SYXQLETR.cjs} +29 -29
- package/dist/{chunk-FHM7GD5B.cjs → chunk-UK62YTH6.cjs} +28 -14
- package/dist/{chunk-HUMWQMCU.js → chunk-UT4YHQZW.js} +3 -3
- package/dist/{chunk-NGJCWEYX.cjs → chunk-VHCACDKP.cjs} +46 -46
- package/dist/{chunk-5FFNNJM7.js → chunk-VR2ZLFCP.js} +1 -1
- package/dist/{chunk-IZKOQVXO.js → chunk-VTASHWER.js} +14 -14
- package/dist/{chunk-64O4L7WN.js → chunk-WUJNYGO2.js} +11 -51
- package/dist/{chunk-JOY6HVPV.js → chunk-XATTBO5X.js} +25 -11
- package/dist/{chunk-L7KZA7ZD.cjs → chunk-XIFOBQRQ.cjs} +6 -6
- package/dist/{chunk-CXDJUKC6.cjs → chunk-XJKZ4IKT.cjs} +4 -4
- package/dist/{chunk-XCIFHW4E.cjs → chunk-XOYH2YQE.cjs} +2 -2
- package/dist/{chunk-HYFLTFFB.js → chunk-ZQFZSFQI.js} +2 -2
- package/dist/components/case-studies/index.cjs +24 -24
- package/dist/components/case-studies/index.js +10 -10
- package/dist/components/chat/chat-archive-page.d.ts +3 -3
- package/dist/components/chat/chat-archive-page.d.ts.map +1 -1
- package/dist/components/chat/chat-nav-sidebar.d.ts +4 -0
- package/dist/components/chat/chat-nav-sidebar.d.ts.map +1 -1
- package/dist/components/chat/chat-panel-header.d.ts +3 -2
- package/dist/components/chat/chat-panel-header.d.ts.map +1 -1
- package/dist/components/chat/embeddable-chat.d.ts +36 -2
- package/dist/components/chat/embeddable-chat.d.ts.map +1 -1
- package/dist/components/chat/index.cjs +14 -6
- package/dist/components/chat/index.d.ts +4 -1
- package/dist/components/chat/index.d.ts.map +1 -1
- package/dist/components/chat/index.js +13 -5
- package/dist/components/chat/mingo-archive-list.d.ts +17 -0
- package/dist/components/chat/mingo-archive-list.d.ts.map +1 -0
- package/dist/components/chat/mingo-chat-header.d.ts +31 -0
- package/dist/components/chat/mingo-chat-header.d.ts.map +1 -0
- package/dist/components/chat/mingo-chat-rail.d.ts +54 -0
- package/dist/components/chat/mingo-chat-rail.d.ts.map +1 -0
- package/dist/components/chat/model-display.d.ts.map +1 -1
- package/dist/components/contact/contact-form.d.ts.map +1 -1
- package/dist/components/contact/index.cjs +11 -11
- package/dist/components/contact/index.js +10 -10
- package/dist/components/content-loading-container.d.ts +1 -1
- package/dist/components/content-loading-container.d.ts.map +1 -1
- package/dist/components/docs/index.cjs +14 -14
- package/dist/components/docs/index.js +13 -13
- package/dist/components/docs/skeletons.d.ts.map +1 -1
- package/dist/components/embeds/index.cjs +11 -11
- package/dist/components/embeds/index.js +10 -10
- package/dist/components/faq/index.cjs +12 -12
- package/dist/components/faq/index.js +11 -11
- package/dist/components/features/figma-prototype-viewer.d.ts.map +1 -1
- package/dist/components/features/index.cjs +10 -10
- package/dist/components/features/index.js +9 -9
- package/dist/components/features/media-gallery-manager.d.ts.map +1 -1
- package/dist/components/features/parallax-image-showcase.d.ts.map +1 -1
- package/dist/components/features/policy-configuration-panel.d.ts.map +1 -1
- package/dist/components/features/section-selector.d.ts.map +1 -1
- package/dist/components/help-center-pages/index.cjs +119 -119
- package/dist/components/help-center-pages/index.js +39 -39
- package/dist/components/help-center-pages/trust-center-sections.d.ts +2 -2
- package/dist/components/help-center-pages/trust-center-sections.d.ts.map +1 -1
- package/dist/components/index.cjs +94 -86
- package/dist/components/index.js +32 -24
- package/dist/components/layout/article-detail-layout.d.ts +1 -1
- package/dist/components/layout/article-detail-layout.d.ts.map +1 -1
- package/dist/components/layout/page-container.d.ts.map +1 -1
- package/dist/components/layout/title-block.d.ts +2 -2
- package/dist/components/layout/title-block.d.ts.map +1 -1
- package/dist/components/loading/page-layout-skeleton.d.ts.map +1 -1
- package/dist/components/loading/unified-skeleton.d.ts.map +1 -1
- package/dist/components/meeting-scheduler/booking-form.d.ts +4 -4
- package/dist/components/meeting-scheduler/booking-form.d.ts.map +1 -1
- package/dist/components/meeting-scheduler/context-panel.d.ts.map +1 -1
- package/dist/components/meeting-scheduler/index.cjs +127 -127
- package/dist/components/meeting-scheduler/index.d.ts +2 -2
- package/dist/components/meeting-scheduler/index.d.ts.map +1 -1
- package/dist/components/meeting-scheduler/index.js +50 -50
- package/dist/components/navigation/app-header.d.ts +4 -0
- package/dist/components/navigation/app-header.d.ts.map +1 -1
- package/dist/components/navigation/app-layout-drawer.d.ts.map +1 -1
- package/dist/components/navigation/app-layout-side-panel.d.ts +142 -0
- package/dist/components/navigation/app-layout-side-panel.d.ts.map +1 -0
- package/dist/components/navigation/app-layout.d.ts +11 -1
- package/dist/components/navigation/app-layout.d.ts.map +1 -1
- package/dist/components/navigation/header-mingo-button.d.ts +4 -1
- package/dist/components/navigation/header-mingo-button.d.ts.map +1 -1
- package/dist/components/navigation/index.cjs +13 -13
- package/dist/components/navigation/index.d.ts +1 -0
- package/dist/components/navigation/index.d.ts.map +1 -1
- package/dist/components/navigation/index.js +12 -12
- package/dist/components/navigation/navigation-sidebar.d.ts +8 -1
- package/dist/components/navigation/navigation-sidebar.d.ts.map +1 -1
- package/dist/components/navigation/sliding-sidebar.d.ts.map +1 -1
- package/dist/components/onboarding-guides/index.cjs +14 -14
- package/dist/components/onboarding-guides/index.js +13 -13
- package/dist/components/persistent-filter-controls.d.ts.map +1 -1
- package/dist/components/related-content/index.cjs +7 -7
- package/dist/components/related-content/index.js +6 -6
- package/dist/components/shared/detail-page-skeleton.d.ts.map +1 -1
- package/dist/components/tickets/help-center-create-form.d.ts +4 -4
- package/dist/components/tickets/index.cjs +15 -15
- package/dist/components/tickets/index.js +14 -14
- package/dist/components/ui/announcement-bar-view.d.ts.map +1 -1
- package/dist/components/ui/breadcrumb.d.ts.map +1 -1
- package/dist/components/ui/checkbox-block.d.ts.map +1 -1
- package/dist/components/ui/dashboard-info-card.d.ts +1 -1
- package/dist/components/ui/dashboard-info-card.d.ts.map +1 -1
- package/dist/components/ui/data-table/data-table-body.d.ts +2 -2
- package/dist/components/ui/data-table/data-table-skeleton.d.ts +2 -2
- package/dist/components/ui/data-table/data-table-skeleton.d.ts.map +1 -1
- package/dist/components/ui/data-table/utils.d.ts +2 -2
- package/dist/components/ui/dialog.d.ts.map +1 -1
- package/dist/components/ui/drawer.d.ts +7 -3
- package/dist/components/ui/drawer.d.ts.map +1 -1
- package/dist/components/ui/entity-image.d.ts +2 -2
- package/dist/components/ui/file-manager/index.cjs +36 -36
- package/dist/components/ui/file-manager/index.js +3 -3
- package/dist/components/ui/filter-modal.d.ts.map +1 -1
- package/dist/components/ui/index.cjs +18 -10
- package/dist/components/ui/index.js +17 -9
- package/dist/components/ui/info-card-row.d.ts.map +1 -1
- package/dist/components/ui/menubar.d.ts +1 -1
- package/dist/components/ui/menubar.d.ts.map +1 -1
- package/dist/components/ui/modal-v2.d.ts.map +1 -1
- package/dist/components/ui/modal.d.ts.map +1 -1
- package/dist/components/ui/no-data/no-data-actions.d.ts.map +1 -1
- package/dist/components/ui/no-data/no-data-styles.d.ts +1 -1
- package/dist/components/ui/no-data/no-data-styles.d.ts.map +1 -1
- package/dist/components/ui/page-actions.d.ts.map +1 -1
- package/dist/components/ui/panel-resize-handle.d.ts +25 -0
- package/dist/components/ui/panel-resize-handle.d.ts.map +1 -0
- package/dist/components/ui/sheet.d.ts.map +1 -1
- package/dist/components/ui/table/table-skeleton.d.ts +1 -1
- package/dist/components/ui/table/table-skeleton.d.ts.map +1 -1
- package/dist/hooks/index.cjs +23 -9
- package/dist/hooks/index.js +24 -10
- package/dist/hooks/ui/index.d.ts +1 -0
- package/dist/hooks/ui/index.d.ts.map +1 -1
- package/dist/hooks/ui/use-content-breakpoint.d.ts +32 -0
- package/dist/hooks/ui/use-content-breakpoint.d.ts.map +1 -0
- package/dist/hooks/ui/use-isomorphic-layout-effect.d.ts +2 -2
- package/dist/hooks/ui/use-isomorphic-layout-effect.d.ts.map +1 -1
- package/dist/hooks/ui/use-media-query.d.ts.map +1 -1
- package/dist/hooks/ui/use-resizable-panel-size.d.ts +46 -0
- package/dist/hooks/ui/use-resizable-panel-size.d.ts.map +1 -0
- package/dist/index.cjs +39 -17
- package/dist/index.js +41 -19
- package/dist/styles/layout-steps.d.ts +30 -0
- package/dist/styles/layout-steps.d.ts.map +1 -0
- package/dist/tailwind.config.cjs +36 -11
- package/dist/tailwind.config.js +36 -11
- package/eslint-config/README.md +9 -0
- package/eslint-config/base.js +17 -1
- package/eslint-config/layout-variants.js +57 -0
- package/package.json +3 -1
- package/src/ODS_TOKEN_RULES.md +40 -0
- package/src/components/chat/chat-archive-page.tsx +9 -7
- package/src/components/chat/chat-nav-sidebar.tsx +10 -4
- package/src/components/chat/chat-panel-header.tsx +8 -5
- package/src/components/chat/embeddable-chat.tsx +686 -494
- package/src/components/chat/index.ts +4 -0
- package/src/components/chat/mingo-archive-list.tsx +108 -0
- package/src/components/chat/mingo-chat-header.tsx +104 -0
- package/src/components/chat/mingo-chat-rail.tsx +361 -0
- package/src/components/chat/model-display.tsx +8 -1
- package/src/components/contact/contact-form.tsx +11 -9
- package/src/components/content-loading-container.tsx +4 -2
- package/src/components/docs/doc-viewer.tsx +7 -7
- package/src/components/docs/skeletons.tsx +7 -4
- package/src/components/dynamic-skeleton.tsx +1 -1
- package/src/components/embeds/claude-embed.tsx +1 -1
- package/src/components/embeds/embed-viewer-frame.tsx +4 -4
- package/src/components/embeds/figma-embed.tsx +2 -2
- package/src/components/embeds/google-sheets-viewer.tsx +1 -1
- package/src/components/embeds/pdf-viewer.tsx +3 -3
- package/src/components/empty-state.tsx +6 -6
- package/src/components/faq/faq-section.tsx +2 -2
- package/src/components/faq-accordion.tsx +1 -1
- package/src/components/features/board/board-column-header.tsx +1 -1
- package/src/components/features/command-box.tsx +3 -3
- package/src/components/features/entity-video-section.tsx +2 -2
- package/src/components/features/figma-prototype-viewer.tsx +4 -1
- package/src/components/features/media-gallery-manager.tsx +3 -1
- package/src/components/features/parallax-image-showcase.tsx +9 -6
- package/src/components/features/policy-configuration-panel.tsx +9 -7
- package/src/components/features/provider-button.tsx +1 -1
- package/src/components/features/section-selector.tsx +11 -6
- package/src/components/features/select-button.tsx +4 -4
- package/src/components/features/seo-editor-preview.tsx +2 -2
- package/src/components/features/video-ratio-tabs.tsx +3 -3
- package/src/components/features/waitlist-form.tsx +1 -1
- package/src/components/help-center-pages/trust-center-page.tsx +1 -1
- package/src/components/help-center-pages/trust-center-sections.tsx +14 -14
- package/src/components/icon-display.tsx +1 -1
- package/src/components/layout/article-detail-layout.tsx +4 -2
- package/src/components/layout/list-page-layout.tsx +2 -2
- package/src/components/layout/page-container.tsx +26 -14
- package/src/components/layout/page-heading.tsx +1 -1
- package/src/components/layout/page-layout.tsx +1 -1
- package/src/components/layout/title-block.tsx +13 -13
- package/src/components/loading/card-skeleton.tsx +11 -11
- package/src/components/loading/category-vendor-selector-skeleton.tsx +1 -1
- package/src/components/loading/content-skeleton.tsx +6 -6
- package/src/components/loading/device-card-skeleton.tsx +1 -1
- package/src/components/loading/margin-report-skeleton.tsx +7 -7
- package/src/components/loading/msp-profile-form-skeleton.tsx +3 -3
- package/src/components/loading/organization-card-skeleton.tsx +2 -2
- package/src/components/loading/page-layout-skeleton.tsx +80 -68
- package/src/components/loading/unified-skeleton.tsx +16 -6
- package/src/components/media-carousel.tsx +3 -3
- package/src/components/meeting-scheduler/booking-form.tsx +9 -8
- package/src/components/meeting-scheduler/context-panel.tsx +8 -6
- package/src/components/meeting-scheduler/directory.tsx +4 -4
- package/src/components/meeting-scheduler/index.tsx +15 -15
- package/src/components/meeting-scheduler/slot-picker.tsx +12 -12
- package/src/components/navigation/app-header.tsx +6 -0
- package/src/components/navigation/app-layout-drawer.tsx +14 -237
- package/src/components/navigation/app-layout-side-panel.tsx +594 -0
- package/src/components/navigation/app-layout.tsx +69 -4
- package/src/components/navigation/header-mingo-button.tsx +13 -3
- package/src/components/navigation/index.ts +5 -0
- package/src/components/navigation/navigation-sidebar.tsx +17 -3
- package/src/components/navigation/sliding-sidebar.tsx +2 -1
- package/src/components/pagination.tsx +3 -3
- package/src/components/persistent-filter-controls.tsx +6 -2
- package/src/components/platform/ScriptArguments.tsx +1 -1
- package/src/components/platform/ScriptInfoSection.tsx +4 -4
- package/src/components/shared/article-author-byline.tsx +1 -1
- package/src/components/shared/delivery/delivery-lists.tsx +2 -2
- package/src/components/shared/delivery/delivery-row.tsx +7 -7
- package/src/components/shared/delivery/delivery-table.tsx +3 -3
- package/src/components/shared/detail-page-skeleton.tsx +11 -5
- package/src/components/shared/dev-section/dev-card-row.tsx +6 -6
- package/src/components/shared/dev-section/dev-section-view.tsx +1 -1
- package/src/components/shared/product-release/product-release-card-skeleton.tsx +8 -8
- package/src/components/shared/product-release/product-release-card.tsx +9 -9
- package/src/components/shared/product-release/product-releases-view.tsx +1 -1
- package/src/components/shared/product-release/release-detail-page.tsx +5 -5
- package/src/components/shared/roadmap/roadmap-grid-skeleton.tsx +1 -1
- package/src/components/shared/roadmap/roadmap-grid.tsx +3 -3
- package/src/components/tickets/help-center-card.tsx +1 -1
- package/src/components/tickets/help-center-create-form.tsx +12 -12
- package/src/components/ui/announcement-bar-view.tsx +2 -10
- package/src/components/ui/benefit-card.tsx +18 -18
- package/src/components/ui/brand-association-grid.tsx +4 -4
- package/src/components/ui/breadcrumb.tsx +4 -1
- package/src/components/ui/card.tsx +1 -1
- package/src/components/ui/checkbox-block.tsx +9 -7
- package/src/components/ui/content-loader.tsx +3 -3
- package/src/components/ui/cursor-pagination.tsx +3 -3
- package/src/components/ui/dashboard-info-card.tsx +13 -9
- package/src/components/ui/data-attribution.tsx +2 -2
- package/src/components/ui/data-table/data-table-body.tsx +2 -2
- package/src/components/ui/data-table/data-table-header.tsx +15 -15
- package/src/components/ui/data-table/data-table-skeleton.tsx +6 -6
- package/src/components/ui/data-table/utils.ts +5 -5
- package/src/components/ui/dialog.tsx +4 -1
- package/src/components/ui/drawer.tsx +43 -189
- package/src/components/ui/duration-input.tsx +1 -1
- package/src/components/ui/entity-image.tsx +3 -3
- package/src/components/ui/feature-card.tsx +10 -10
- package/src/components/ui/file-manager/file-manager-action-bar.tsx +1 -1
- package/src/components/ui/file-manager/file-manager.tsx +1 -1
- package/src/components/ui/filter-modal.tsx +8 -1
- package/src/components/ui/highlight-card.tsx +7 -7
- package/src/components/ui/info-card-row.tsx +10 -6
- package/src/components/ui/modal-v2.tsx +7 -2
- package/src/components/ui/modal.tsx +3 -2
- package/src/components/ui/no-data/no-data-actions.tsx +10 -4
- package/src/components/ui/no-data/no-data-styles.ts +1 -1
- package/src/components/ui/no-data/no-data.tsx +1 -1
- package/src/components/ui/organization-card.tsx +1 -1
- package/src/components/ui/page-actions.tsx +34 -5
- package/src/components/ui/panel-resize-handle.tsx +184 -0
- package/src/components/ui/progress-bar.tsx +2 -2
- package/src/components/ui/query-report-table/query-report-table.tsx +1 -1
- package/src/components/ui/search-input.tsx +2 -2
- package/src/components/ui/service-card.tsx +2 -2
- package/src/components/ui/sheet.tsx +2 -1
- package/src/components/ui/skeleton.tsx +3 -3
- package/src/components/ui/stacked-rows-panel.tsx +4 -4
- package/src/components/ui/tab-navigation.tsx +2 -2
- package/src/components/ui/tab-selector.tsx +2 -2
- package/src/components/ui/table/table-header.tsx +3 -3
- package/src/components/ui/table/table-skeleton.tsx +3 -3
- package/src/components/ui/table/utils.ts +5 -5
- package/src/components/ui/tag-search-input.tsx +3 -3
- package/src/components/ui/tags-manager.tsx +5 -5
- package/src/components/ui/test-run.tsx +2 -2
- package/src/components/ui/ticket-info-section.tsx +1 -1
- package/src/components/ui/ticket-notes-section.tsx +1 -1
- package/src/components/ui/ticket-status-config-row.tsx +15 -15
- package/src/hooks/ui/index.ts +1 -0
- package/src/hooks/ui/use-content-breakpoint.ts +58 -0
- package/src/hooks/ui/use-media-query.ts +3 -2
- package/src/hooks/ui/use-resizable-panel-size.ts +114 -0
- package/src/styles/index.css +2 -0
- package/src/styles/layout-steps.ts +14 -0
- package/src/styles/ods-colors.css +15 -0
- package/src/styles/ods-content-area-tokens.css +27 -0
- package/src/styles/ods-content-area.css +31 -0
- package/src/styles/ods-effects.css +4 -2
- package/src/styles/ods-responsive-tokens.css +14 -4
- package/tailwind.config.ts +42 -7
|
@@ -3,14 +3,64 @@ import {
|
|
|
3
3
|
useChatRuntime
|
|
4
4
|
} from "./chunk-E4ABZWTJ.js";
|
|
5
5
|
|
|
6
|
+
// src/hooks/ui/use-isomorphic-layout-effect.ts
|
|
7
|
+
import { useEffect, useLayoutEffect } from "react";
|
|
8
|
+
var useIsomorphicLayoutEffect = typeof window !== "undefined" ? useLayoutEffect : useEffect;
|
|
9
|
+
|
|
10
|
+
// src/hooks/ui/use-media-query.ts
|
|
11
|
+
import { useState } from "react";
|
|
12
|
+
|
|
13
|
+
// src/styles/layout-steps.ts
|
|
14
|
+
var LAYOUT_STEPS = {
|
|
15
|
+
sm: { viewport: 640, content: 640 },
|
|
16
|
+
md: { viewport: 800, content: 720 },
|
|
17
|
+
lg: { viewport: 1280, content: 1024 },
|
|
18
|
+
xl: { viewport: 1440, content: 1216 },
|
|
19
|
+
"2xl": { viewport: 1536, content: 1312 }
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
// src/hooks/ui/use-media-query.ts
|
|
23
|
+
function useMediaQuery(query) {
|
|
24
|
+
const [matches, setMatches] = useState(void 0);
|
|
25
|
+
useIsomorphicLayoutEffect(() => {
|
|
26
|
+
const matchMedia = window.matchMedia(query);
|
|
27
|
+
const handleChange = () => {
|
|
28
|
+
setMatches(matchMedia.matches);
|
|
29
|
+
};
|
|
30
|
+
handleChange();
|
|
31
|
+
matchMedia.addEventListener("change", handleChange);
|
|
32
|
+
return () => {
|
|
33
|
+
matchMedia.removeEventListener("change", handleChange);
|
|
34
|
+
};
|
|
35
|
+
}, [query]);
|
|
36
|
+
return matches;
|
|
37
|
+
}
|
|
38
|
+
var breakpoints = {
|
|
39
|
+
md: `(min-width: ${LAYOUT_STEPS.md.viewport}px)`,
|
|
40
|
+
// Tablet
|
|
41
|
+
lg: `(min-width: ${LAYOUT_STEPS.lg.viewport}px)`
|
|
42
|
+
// Desktop
|
|
43
|
+
};
|
|
44
|
+
function useSmUp() {
|
|
45
|
+
return useMdUp();
|
|
46
|
+
}
|
|
47
|
+
function useMdUp() {
|
|
48
|
+
const matches = useMediaQuery(breakpoints.md);
|
|
49
|
+
return matches === void 0 ? void 0 : matches;
|
|
50
|
+
}
|
|
51
|
+
function useLgUp() {
|
|
52
|
+
const matches = useMediaQuery(breakpoints.lg);
|
|
53
|
+
return matches === void 0 ? void 0 : matches;
|
|
54
|
+
}
|
|
55
|
+
|
|
6
56
|
// src/hooks/ui/use-is-truncated.ts
|
|
7
|
-
import { useCallback, useEffect, useState } from "react";
|
|
57
|
+
import { useCallback, useEffect as useEffect2, useState as useState2 } from "react";
|
|
8
58
|
function useIsTruncated(value, options) {
|
|
9
59
|
const multiline = options?.multiline ?? false;
|
|
10
|
-
const [element, setElement] =
|
|
11
|
-
const [isTruncated, setIsTruncated] =
|
|
60
|
+
const [element, setElement] = useState2(null);
|
|
61
|
+
const [isTruncated, setIsTruncated] = useState2(false);
|
|
12
62
|
const ref = useCallback((node) => setElement(node), []);
|
|
13
|
-
|
|
63
|
+
useEffect2(() => {
|
|
14
64
|
if (!element) return void 0;
|
|
15
65
|
const check = () => {
|
|
16
66
|
setIsTruncated(
|
|
@@ -25,12 +75,38 @@ function useIsTruncated(value, options) {
|
|
|
25
75
|
return { ref, isTruncated: element ? isTruncated : false };
|
|
26
76
|
}
|
|
27
77
|
|
|
28
|
-
// src/hooks/ui/use-
|
|
29
|
-
import {
|
|
30
|
-
var
|
|
78
|
+
// src/hooks/ui/use-content-breakpoint.ts
|
|
79
|
+
import { createContext, createElement, useContext } from "react";
|
|
80
|
+
var CONTENT_BREAKPOINTS = { md: LAYOUT_STEPS.md.content, lg: LAYOUT_STEPS.lg.content };
|
|
81
|
+
var ContentAreaWidthContext = createContext(null);
|
|
82
|
+
function ViewportBreakpoints({ children }) {
|
|
83
|
+
return createElement(ContentAreaWidthContext.Provider, { value: null }, children);
|
|
84
|
+
}
|
|
85
|
+
function contentBreakpointFor(width) {
|
|
86
|
+
if (width >= CONTENT_BREAKPOINTS.lg) return "desktop";
|
|
87
|
+
if (width >= CONTENT_BREAKPOINTS.md) return "tablet";
|
|
88
|
+
return "mobile";
|
|
89
|
+
}
|
|
90
|
+
function useContentBreakpoint() {
|
|
91
|
+
const width = useContext(ContentAreaWidthContext);
|
|
92
|
+
const mdUp = useMdUp();
|
|
93
|
+
const lgUp = useLgUp();
|
|
94
|
+
if (width !== null) return contentBreakpointFor(width);
|
|
95
|
+
if (mdUp === void 0) return void 0;
|
|
96
|
+
if (lgUp) return "desktop";
|
|
97
|
+
return mdUp ? "tablet" : "mobile";
|
|
98
|
+
}
|
|
99
|
+
function useContentMdUp() {
|
|
100
|
+
const breakpoint = useContentBreakpoint();
|
|
101
|
+
return breakpoint === void 0 ? void 0 : breakpoint !== "mobile";
|
|
102
|
+
}
|
|
103
|
+
function useContentLgUp() {
|
|
104
|
+
const breakpoint = useContentBreakpoint();
|
|
105
|
+
return breakpoint === void 0 ? void 0 : breakpoint === "desktop";
|
|
106
|
+
}
|
|
31
107
|
|
|
32
108
|
// src/hooks/ui/use-image-edge-color.ts
|
|
33
|
-
import { useState as
|
|
109
|
+
import { useState as useState3, useEffect as useEffect3 } from "react";
|
|
34
110
|
function extractEdgeColor(img) {
|
|
35
111
|
const canvas = document.createElement("canvas");
|
|
36
112
|
const ctx = canvas.getContext("2d");
|
|
@@ -86,8 +162,8 @@ function extractEdgeColor(img) {
|
|
|
86
162
|
return `rgb(${r}, ${g}, ${b})`;
|
|
87
163
|
}
|
|
88
164
|
function useImageEdgeColor(imageUrl, fallback = "#000000") {
|
|
89
|
-
const [color, setColor] =
|
|
90
|
-
const [resetFor, setResetFor] =
|
|
165
|
+
const [color, setColor] = useState3(fallback);
|
|
166
|
+
const [resetFor, setResetFor] = useState3({ imageUrl, fallback });
|
|
91
167
|
if (resetFor.imageUrl !== imageUrl || resetFor.fallback !== fallback) {
|
|
92
168
|
setResetFor({ imageUrl, fallback });
|
|
93
169
|
if (!imageUrl) setColor(fallback);
|
|
@@ -732,8 +808,20 @@ function useOgPlaceholderUrl({
|
|
|
732
808
|
}
|
|
733
809
|
|
|
734
810
|
export {
|
|
735
|
-
useIsTruncated,
|
|
736
811
|
useIsomorphicLayoutEffect,
|
|
812
|
+
useMediaQuery,
|
|
813
|
+
breakpoints,
|
|
814
|
+
useSmUp,
|
|
815
|
+
useMdUp,
|
|
816
|
+
useLgUp,
|
|
817
|
+
useIsTruncated,
|
|
818
|
+
CONTENT_BREAKPOINTS,
|
|
819
|
+
ContentAreaWidthContext,
|
|
820
|
+
ViewportBreakpoints,
|
|
821
|
+
contentBreakpointFor,
|
|
822
|
+
useContentBreakpoint,
|
|
823
|
+
useContentMdUp,
|
|
824
|
+
useContentLgUp,
|
|
737
825
|
useImageEdgeColor,
|
|
738
826
|
createLocalStorageAdapter,
|
|
739
827
|
platformDisplayNames,
|
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import {
|
|
3
3
|
EmbedViewerFrame
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-4KGXLVCF.js";
|
|
5
5
|
import {
|
|
6
6
|
toGoogleSheetsEmbedUrl,
|
|
7
7
|
toGoogleSheetsOriginalUrl
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-IHU5ANUY.js";
|
|
9
9
|
import {
|
|
10
10
|
AdobePdfIcon,
|
|
11
11
|
GoogleSheetsIcon
|
|
12
12
|
} from "./chunk-Z2VNQQ74.js";
|
|
13
13
|
import {
|
|
14
14
|
formatFileSize
|
|
15
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-CH5232HV.js";
|
|
16
16
|
import {
|
|
17
17
|
Button
|
|
18
18
|
} from "./chunk-YDPKUAP4.js";
|
|
@@ -59,7 +59,7 @@ function GoogleSheetsViewer({ externalUrl, fileName, height }) {
|
|
|
59
59
|
openInNewTab: true,
|
|
60
60
|
leftIcon: /* @__PURE__ */ jsx2(GoogleSheetsIcon, { className: "h-4 w-4" }),
|
|
61
61
|
rightIcon: /* @__PURE__ */ jsx2(ExternalLink, { className: "h-4 w-4" }),
|
|
62
|
-
className: "w-full sm:w-auto",
|
|
62
|
+
className: "w-full content-sm:w-auto",
|
|
63
63
|
children: "Open in Google Sheets"
|
|
64
64
|
}
|
|
65
65
|
),
|
|
@@ -85,7 +85,7 @@ function PdfViewer({ src, fileName, onPreview, onDownload, height }) {
|
|
|
85
85
|
{
|
|
86
86
|
icon: /* @__PURE__ */ jsx3(AdobePdfIcon, { className: "h-5 w-5 shrink-0" }),
|
|
87
87
|
title: displayName,
|
|
88
|
-
actions: /* @__PURE__ */ jsxs3("div", { className: "flex w-full items-center gap-2 sm:w-auto", children: [
|
|
88
|
+
actions: /* @__PURE__ */ jsxs3("div", { className: "flex w-full items-center gap-2 content-sm:w-auto", children: [
|
|
89
89
|
/* @__PURE__ */ jsx3(
|
|
90
90
|
Button,
|
|
91
91
|
{
|
|
@@ -95,7 +95,7 @@ function PdfViewer({ src, fileName, onPreview, onDownload, height }) {
|
|
|
95
95
|
openInNewTab: !onPreview,
|
|
96
96
|
onClick: onPreview,
|
|
97
97
|
leftIcon: /* @__PURE__ */ jsx3(Eye, { className: "h-4 w-4" }),
|
|
98
|
-
className: "flex-1 sm:flex-initial",
|
|
98
|
+
className: "flex-1 content-sm:flex-initial",
|
|
99
99
|
children: "Preview"
|
|
100
100
|
}
|
|
101
101
|
),
|
|
@@ -108,7 +108,7 @@ function PdfViewer({ src, fileName, onPreview, onDownload, height }) {
|
|
|
108
108
|
openInNewTab: !onDownload,
|
|
109
109
|
onClick: onDownload,
|
|
110
110
|
leftIcon: /* @__PURE__ */ jsx3(Download2, { className: "h-4 w-4" }),
|
|
111
|
-
className: "flex-1 sm:flex-initial",
|
|
111
|
+
className: "flex-1 content-sm:flex-initial",
|
|
112
112
|
children: "Download"
|
|
113
113
|
}
|
|
114
114
|
)
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
"use strict";Object.defineProperty(exports, "__esModule", {value: true});"use client";
|
|
2
2
|
|
|
3
3
|
|
|
4
|
-
var
|
|
4
|
+
var _chunkBIZNSF3Ucjs = require('./chunk-BIZNSF3U.cjs');
|
|
5
5
|
|
|
6
6
|
|
|
7
|
-
var
|
|
7
|
+
var _chunkABU3TGXAcjs = require('./chunk-ABU3TGXA.cjs');
|
|
8
8
|
|
|
9
9
|
|
|
10
10
|
|
|
@@ -126,10 +126,10 @@ function EmptyState({
|
|
|
126
126
|
const displayDescription = description || defaultContent.description;
|
|
127
127
|
const smartCTA = ctaHref ? null : getSmartCTA();
|
|
128
128
|
const ctaButtonVariant = ctaVariant === "primary" ? "accent" : "outline";
|
|
129
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col items-center justify-center px-6 py-6 text-center md:py-16", children: [
|
|
130
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "mb-3 flex items-center justify-center md:mb-6", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "rounded-full border border-ods-border bg-ods-card p-3 md:p-6", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex h-8 w-8 items-center justify-center text-ods-text-secondary md:h-16 md:w-16", children: defaultContent.icon }) }) }),
|
|
131
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h2", { className: "mb-2 text-ods-text-primary text-h3 md:mb-3", children: displayTitle }),
|
|
132
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "mb-4 max-w-md text-ods-text-secondary text-h6 md:mb-8", children: displayDescription }),
|
|
129
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col items-center justify-center px-6 py-6 text-center content-md:py-16", children: [
|
|
130
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "mb-3 flex items-center justify-center content-md:mb-6", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "rounded-full border border-ods-border bg-ods-card p-3 content-md:p-6", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex h-8 w-8 items-center justify-center text-ods-text-secondary content-md:h-16 content-md:w-16", children: defaultContent.icon }) }) }),
|
|
131
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h2", { className: "mb-2 text-ods-text-primary text-h3 content-md:mb-3", children: displayTitle }),
|
|
132
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "mb-4 max-w-md text-ods-text-secondary text-h6 content-md:mb-8", children: displayDescription }),
|
|
133
133
|
showCTA && ctaHref && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "mb-3 w-full max-w-xs", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDFQYAYBHcjs.Button, { href: ctaHref, variant: ctaButtonVariant, className: "w-full", children: ctaText || "Contact us" }) }),
|
|
134
134
|
showCTA && !ctaHref && smartCTA && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "mb-3 w-full max-w-xs", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDFQYAYBHcjs.Button, { onClick: smartCTA.action, variant: ctaButtonVariant, className: "w-full", children: smartCTA.text }) }),
|
|
135
135
|
showBackButton && onGoBack && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "w-full max-w-xs", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -164,7 +164,7 @@ function UnifiedPagination({
|
|
|
164
164
|
if (syncUrl) {
|
|
165
165
|
const params = new URLSearchParams(searchParams.toString());
|
|
166
166
|
params.set("page", page.toString());
|
|
167
|
-
window.history.replaceState(null, "",
|
|
167
|
+
window.history.replaceState(null, "", _chunkABU3TGXAcjs.withQuery.call(void 0, pathname, params.toString()));
|
|
168
168
|
}
|
|
169
169
|
setTimeout(() => {
|
|
170
170
|
window.scrollTo({
|
|
@@ -175,10 +175,10 @@ function UnifiedPagination({
|
|
|
175
175
|
}, 0);
|
|
176
176
|
};
|
|
177
177
|
if (totalPages <= 1) {
|
|
178
|
-
return reserveSpace ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className, "aria-hidden": "true", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "pointer-events-none invisible", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
178
|
+
return reserveSpace ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className, "aria-hidden": "true", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "pointer-events-none invisible", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBIZNSF3Ucjs.Pagination, { currentPage: 1, totalPages: 1, onPageChange: () => {
|
|
179
179
|
} }) }) }) : null;
|
|
180
180
|
}
|
|
181
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
181
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBIZNSF3Ucjs.Pagination, { currentPage, totalPages, onPageChange: handlePageChange }) });
|
|
182
182
|
}
|
|
183
183
|
|
|
184
184
|
|
|
@@ -1,27 +1,27 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import {
|
|
3
3
|
useSelfFetch
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-VR2ZLFCP.js";
|
|
5
5
|
import {
|
|
6
6
|
PageLayout,
|
|
7
7
|
PageShell
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-4KGXLVCF.js";
|
|
9
9
|
import {
|
|
10
10
|
useScrollToHash
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-IHU5ANUY.js";
|
|
12
12
|
import {
|
|
13
13
|
buildSuggestionUrl
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-UT4YHQZW.js";
|
|
15
15
|
import {
|
|
16
16
|
faqItemAnchor,
|
|
17
17
|
faqSectionSlug,
|
|
18
18
|
parseFaqHash
|
|
19
|
-
} from "./chunk-
|
|
19
|
+
} from "./chunk-2JDVL7UV.js";
|
|
20
20
|
import {
|
|
21
21
|
STICKY_HEADER_OFFSET_PX,
|
|
22
22
|
navigateSamePageHash,
|
|
23
23
|
serializeJsonLd
|
|
24
|
-
} from "./chunk-
|
|
24
|
+
} from "./chunk-WUJNYGO2.js";
|
|
25
25
|
import {
|
|
26
26
|
useRouter
|
|
27
27
|
} from "./chunk-GY4IZG22.js";
|
|
@@ -30,7 +30,7 @@ import {
|
|
|
30
30
|
} from "./chunk-Z2VNQQ74.js";
|
|
31
31
|
import {
|
|
32
32
|
SECTION_HEADING_CLASS
|
|
33
|
-
} from "./chunk-
|
|
33
|
+
} from "./chunk-CH5232HV.js";
|
|
34
34
|
import {
|
|
35
35
|
cn
|
|
36
36
|
} from "./chunk-7RXWKTAP.js";
|
|
@@ -72,7 +72,7 @@ function FaqAccordion({ items, defaultOpenIds = [] }) {
|
|
|
72
72
|
}
|
|
73
73
|
},
|
|
74
74
|
"aria-expanded": isOpen,
|
|
75
|
-
className: "flex w-full cursor-pointer items-center gap-6 px-6 py-4 text-left transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-ods-focus md:gap-10",
|
|
75
|
+
className: "flex w-full cursor-pointer items-center gap-6 px-6 py-4 text-left transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-ods-focus content-md:gap-10",
|
|
76
76
|
children: [
|
|
77
77
|
/* @__PURE__ */ jsx("h3", { className: "min-w-0 flex-1 break-words", children: item.question }),
|
|
78
78
|
/* @__PURE__ */ jsx(
|
|
@@ -268,8 +268,8 @@ function GroupedFaqList({
|
|
|
268
268
|
}
|
|
269
269
|
function FaqSkeleton() {
|
|
270
270
|
return /* @__PURE__ */ jsxs2("div", { className: "animate-pulse space-y-8", children: [
|
|
271
|
-
/* @__PURE__ */ jsx2("div", { className: "h-12 w-2/3 rounded bg-ods-border md:h-14" }),
|
|
272
|
-
/* @__PURE__ */ jsx2("div", { className: "w-full divide-y divide-ods-border overflow-hidden rounded-md border border-ods-border bg-transparent", children: Array.from({ length: 8 }).map((_, idx) => /* @__PURE__ */ jsxs2("div", { className: "flex items-center justify-between gap-6 px-6 py-4 md:gap-10", children: [
|
|
271
|
+
/* @__PURE__ */ jsx2("div", { className: "h-12 w-2/3 rounded bg-ods-border content-md:h-14" }),
|
|
272
|
+
/* @__PURE__ */ jsx2("div", { className: "w-full divide-y divide-ods-border overflow-hidden rounded-md border border-ods-border bg-transparent", children: Array.from({ length: 8 }).map((_, idx) => /* @__PURE__ */ jsxs2("div", { className: "flex items-center justify-between gap-6 px-6 py-4 content-md:gap-10", children: [
|
|
273
273
|
/* @__PURE__ */ jsx2("div", { className: "h-6 w-5/6 rounded bg-ods-border" }),
|
|
274
274
|
/* @__PURE__ */ jsx2("div", { className: "size-6 rounded bg-ods-border" })
|
|
275
275
|
] }, idx)) })
|
|
@@ -3,8 +3,58 @@
|
|
|
3
3
|
|
|
4
4
|
var _chunkUJ7AXHRZcjs = require('./chunk-UJ7AXHRZ.cjs');
|
|
5
5
|
|
|
6
|
-
// src/hooks/ui/use-
|
|
6
|
+
// src/hooks/ui/use-isomorphic-layout-effect.ts
|
|
7
7
|
var _react = require('react');
|
|
8
|
+
var useIsomorphicLayoutEffect = typeof window !== "undefined" ? _react.useLayoutEffect : _react.useEffect;
|
|
9
|
+
|
|
10
|
+
// src/hooks/ui/use-media-query.ts
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
// src/styles/layout-steps.ts
|
|
14
|
+
var LAYOUT_STEPS = {
|
|
15
|
+
sm: { viewport: 640, content: 640 },
|
|
16
|
+
md: { viewport: 800, content: 720 },
|
|
17
|
+
lg: { viewport: 1280, content: 1024 },
|
|
18
|
+
xl: { viewport: 1440, content: 1216 },
|
|
19
|
+
"2xl": { viewport: 1536, content: 1312 }
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
// src/hooks/ui/use-media-query.ts
|
|
23
|
+
function useMediaQuery(query) {
|
|
24
|
+
const [matches, setMatches] = _react.useState.call(void 0, void 0);
|
|
25
|
+
useIsomorphicLayoutEffect(() => {
|
|
26
|
+
const matchMedia = window.matchMedia(query);
|
|
27
|
+
const handleChange = () => {
|
|
28
|
+
setMatches(matchMedia.matches);
|
|
29
|
+
};
|
|
30
|
+
handleChange();
|
|
31
|
+
matchMedia.addEventListener("change", handleChange);
|
|
32
|
+
return () => {
|
|
33
|
+
matchMedia.removeEventListener("change", handleChange);
|
|
34
|
+
};
|
|
35
|
+
}, [query]);
|
|
36
|
+
return matches;
|
|
37
|
+
}
|
|
38
|
+
var breakpoints = {
|
|
39
|
+
md: `(min-width: ${LAYOUT_STEPS.md.viewport}px)`,
|
|
40
|
+
// Tablet
|
|
41
|
+
lg: `(min-width: ${LAYOUT_STEPS.lg.viewport}px)`
|
|
42
|
+
// Desktop
|
|
43
|
+
};
|
|
44
|
+
function useSmUp() {
|
|
45
|
+
return useMdUp();
|
|
46
|
+
}
|
|
47
|
+
function useMdUp() {
|
|
48
|
+
const matches = useMediaQuery(breakpoints.md);
|
|
49
|
+
return matches === void 0 ? void 0 : matches;
|
|
50
|
+
}
|
|
51
|
+
function useLgUp() {
|
|
52
|
+
const matches = useMediaQuery(breakpoints.lg);
|
|
53
|
+
return matches === void 0 ? void 0 : matches;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
// src/hooks/ui/use-is-truncated.ts
|
|
57
|
+
|
|
8
58
|
function useIsTruncated(value, options) {
|
|
9
59
|
const multiline = _nullishCoalesce(_optionalChain([options, 'optionalAccess', _ => _.multiline]), () => ( false));
|
|
10
60
|
const [element, setElement] = _react.useState.call(void 0, null);
|
|
@@ -25,9 +75,35 @@ function useIsTruncated(value, options) {
|
|
|
25
75
|
return { ref, isTruncated: element ? isTruncated : false };
|
|
26
76
|
}
|
|
27
77
|
|
|
28
|
-
// src/hooks/ui/use-
|
|
78
|
+
// src/hooks/ui/use-content-breakpoint.ts
|
|
29
79
|
|
|
30
|
-
var
|
|
80
|
+
var CONTENT_BREAKPOINTS = { md: LAYOUT_STEPS.md.content, lg: LAYOUT_STEPS.lg.content };
|
|
81
|
+
var ContentAreaWidthContext = _react.createContext.call(void 0, null);
|
|
82
|
+
function ViewportBreakpoints({ children }) {
|
|
83
|
+
return _react.createElement.call(void 0, ContentAreaWidthContext.Provider, { value: null }, children);
|
|
84
|
+
}
|
|
85
|
+
function contentBreakpointFor(width) {
|
|
86
|
+
if (width >= CONTENT_BREAKPOINTS.lg) return "desktop";
|
|
87
|
+
if (width >= CONTENT_BREAKPOINTS.md) return "tablet";
|
|
88
|
+
return "mobile";
|
|
89
|
+
}
|
|
90
|
+
function useContentBreakpoint() {
|
|
91
|
+
const width = _react.useContext.call(void 0, ContentAreaWidthContext);
|
|
92
|
+
const mdUp = useMdUp();
|
|
93
|
+
const lgUp = useLgUp();
|
|
94
|
+
if (width !== null) return contentBreakpointFor(width);
|
|
95
|
+
if (mdUp === void 0) return void 0;
|
|
96
|
+
if (lgUp) return "desktop";
|
|
97
|
+
return mdUp ? "tablet" : "mobile";
|
|
98
|
+
}
|
|
99
|
+
function useContentMdUp() {
|
|
100
|
+
const breakpoint = useContentBreakpoint();
|
|
101
|
+
return breakpoint === void 0 ? void 0 : breakpoint !== "mobile";
|
|
102
|
+
}
|
|
103
|
+
function useContentLgUp() {
|
|
104
|
+
const breakpoint = useContentBreakpoint();
|
|
105
|
+
return breakpoint === void 0 ? void 0 : breakpoint === "desktop";
|
|
106
|
+
}
|
|
31
107
|
|
|
32
108
|
// src/hooks/ui/use-image-edge-color.ts
|
|
33
109
|
|
|
@@ -782,4 +858,16 @@ function useOgPlaceholderUrl({
|
|
|
782
858
|
|
|
783
859
|
|
|
784
860
|
|
|
785
|
-
|
|
861
|
+
|
|
862
|
+
|
|
863
|
+
|
|
864
|
+
|
|
865
|
+
|
|
866
|
+
|
|
867
|
+
|
|
868
|
+
|
|
869
|
+
|
|
870
|
+
|
|
871
|
+
|
|
872
|
+
|
|
873
|
+
exports.useIsomorphicLayoutEffect = useIsomorphicLayoutEffect; exports.useMediaQuery = useMediaQuery; exports.breakpoints = breakpoints; exports.useSmUp = useSmUp; exports.useMdUp = useMdUp; exports.useLgUp = useLgUp; exports.useIsTruncated = useIsTruncated; exports.CONTENT_BREAKPOINTS = CONTENT_BREAKPOINTS; exports.ContentAreaWidthContext = ContentAreaWidthContext; exports.ViewportBreakpoints = ViewportBreakpoints; exports.contentBreakpointFor = contentBreakpointFor; exports.useContentBreakpoint = useContentBreakpoint; exports.useContentMdUp = useContentMdUp; exports.useContentLgUp = useContentLgUp; exports.useImageEdgeColor = useImageEdgeColor; exports.createLocalStorageAdapter = createLocalStorageAdapter; exports.platformDisplayNames = platformDisplayNames; exports.platformShortNames = platformShortNames; exports.platformDescriptions = platformDescriptions; exports.platformSlogans = platformSlogans; exports.platformIconNames = platformIconNames; exports.getPlatformDisplayName = getPlatformDisplayName; exports.getPlatformShortName = getPlatformShortName; exports.getPlatformDescription = getPlatformDescription; exports.getPlatformSlogan = getPlatformSlogan; exports.getDefaultIconForPlatform = getDefaultIconForPlatform; 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.getAppType = getAppType; exports.EMBED_PROXY_OPTIONAL_HEADERS = EMBED_PROXY_OPTIONAL_HEADERS; exports.getEmbedProxyAuth = getEmbedProxyAuth; exports.getPersistedProxyEmail = getPersistedProxyEmail; exports.setEmbedProxyAuth = setEmbedProxyAuth; exports.clearEmbedProxyAuth = clearEmbedProxyAuth; exports.applyProxyAuth = applyProxyAuth; exports.setEmbedAuthAdapter = setEmbedAuthAdapter; exports.hasEmbedAuthAdapter = hasEmbedAuthAdapter; exports.subscribeEmbedCredentialChange = subscribeEmbedCredentialChange; exports.embedAuthedFetch = embedAuthedFetch; exports.clearAuthedAssetCache = clearAuthedAssetCache; exports.useAuthedAssetSrc = useAuthedAssetSrc; exports.useAuthedImageSrc = useAuthedImageSrc; exports.clearAuthedImageCache = clearAuthedImageCache; exports.buildOgPlaceholderUrl = buildOgPlaceholderUrl; exports.useOgPlaceholderUrl = useOgPlaceholderUrl;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } }"use client";
|
|
2
2
|
|
|
3
3
|
|
|
4
|
-
var
|
|
4
|
+
var _chunkOHFS7VOUcjs = require('./chunk-OHFS7VOU.cjs');
|
|
5
5
|
|
|
6
6
|
|
|
7
7
|
|
|
@@ -10,7 +10,7 @@ var _chunkHUOLB7ZNcjs = require('./chunk-HUOLB7ZN.cjs');
|
|
|
10
10
|
|
|
11
11
|
|
|
12
12
|
|
|
13
|
-
var
|
|
13
|
+
var _chunkLTSTC3N5cjs = require('./chunk-LTSTC3N5.cjs');
|
|
14
14
|
|
|
15
15
|
|
|
16
16
|
|
|
@@ -20,7 +20,7 @@ var _chunk7DNL734Scjs = require('./chunk-7DNL734S.cjs');
|
|
|
20
20
|
|
|
21
21
|
|
|
22
22
|
|
|
23
|
-
var
|
|
23
|
+
var _chunkMMOODW57cjs = require('./chunk-MMOODW57.cjs');
|
|
24
24
|
|
|
25
25
|
|
|
26
26
|
var _chunkLLRGR4I5cjs = require('./chunk-LLRGR4I5.cjs');
|
|
@@ -33,7 +33,7 @@ var _jsxruntime = require('react/jsx-runtime');
|
|
|
33
33
|
function ListEmptyState({ isFiltered, filtered, onClearFilters, empty }) {
|
|
34
34
|
if (isFiltered) {
|
|
35
35
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
36
|
-
|
|
36
|
+
_chunkOHFS7VOUcjs.EmptyState,
|
|
37
37
|
{
|
|
38
38
|
type: "search",
|
|
39
39
|
title: filtered.title,
|
|
@@ -46,7 +46,7 @@ function ListEmptyState({ isFiltered, filtered, onClearFilters, empty }) {
|
|
|
46
46
|
}
|
|
47
47
|
const hasCta = Boolean(empty.ctaText && (empty.onCtaClick || empty.ctaHref));
|
|
48
48
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
49
|
-
|
|
49
|
+
_chunkOHFS7VOUcjs.EmptyState,
|
|
50
50
|
{
|
|
51
51
|
type: "generic",
|
|
52
52
|
title: empty.title,
|
|
@@ -63,7 +63,7 @@ function ListEmptyState({ isFiltered, filtered, onClearFilters, empty }) {
|
|
|
63
63
|
var _react = require('react');
|
|
64
64
|
|
|
65
65
|
function DevSectionView({ sectionKey, hero, preControls, children, showHeading = true }) {
|
|
66
|
-
const section =
|
|
66
|
+
const section = _chunkLTSTC3N5cjs.OPENFRAME_DEV_SECTIONS[sectionKey];
|
|
67
67
|
const router = _chunk7DNL734Scjs.useRouter.call(void 0, );
|
|
68
68
|
const pathname = _chunk7DNL734Scjs.usePathname.call(void 0, );
|
|
69
69
|
const searchParams = _chunk7DNL734Scjs.useSearchParams.call(void 0, );
|
|
@@ -107,14 +107,14 @@ function DevSectionView({ sectionKey, hero, preControls, children, showHeading =
|
|
|
107
107
|
_nullishCoalesce(hero.title, () => ( section.hero.title))
|
|
108
108
|
] }),
|
|
109
109
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "max-w-3xl text-ods-text-secondary text-h4", children: hero.description })
|
|
110
|
-
] }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex w-full items-center justify-between", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "h2", { className: "font-['Azeret_Mono'] text-[32px] font-semibold leading-[40px] tracking-[-0.64px] text-ods-text-primary md:text-[40px] md:leading-[48px] md:tracking-[-0.8px] lg:text-[48px] lg:leading-[56px] lg:tracking-[-0.96px]", children: [
|
|
110
|
+
] }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex w-full items-center justify-between", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "h2", { className: "font-['Azeret_Mono'] text-[32px] font-semibold leading-[40px] tracking-[-0.64px] text-ods-text-primary content-md:text-[40px] content-md:leading-[48px] content-md:tracking-[-0.8px] content-lg:text-[48px] content-lg:leading-[56px] content-lg:tracking-[-0.96px]", children: [
|
|
111
111
|
section.hero.title,
|
|
112
112
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-ods-accent", children: ":" })
|
|
113
113
|
] }) })),
|
|
114
114
|
preControls,
|
|
115
115
|
(search || filter) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-4", children: [
|
|
116
116
|
search && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
117
|
-
|
|
117
|
+
_chunkLTSTC3N5cjs.SearchInput,
|
|
118
118
|
{
|
|
119
119
|
showDropdown: false,
|
|
120
120
|
placeholder: search.placeholder,
|
|
@@ -124,7 +124,7 @@ function DevSectionView({ sectionKey, hero, preControls, children, showHeading =
|
|
|
124
124
|
}
|
|
125
125
|
),
|
|
126
126
|
filter && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
127
|
-
|
|
127
|
+
_chunkLTSTC3N5cjs.StatusFilterComponent,
|
|
128
128
|
{
|
|
129
129
|
selectedStatus: currentFilterValue,
|
|
130
130
|
onStatusChange: handleFilterChange,
|
|
@@ -148,7 +148,7 @@ function DevSectionPage({
|
|
|
148
148
|
shell = true
|
|
149
149
|
}) {
|
|
150
150
|
const router = _chunk7DNL734Scjs.useRouter.call(void 0, );
|
|
151
|
-
const section =
|
|
151
|
+
const section = _chunkLTSTC3N5cjs.OPENFRAME_DEV_SECTIONS[sectionKey];
|
|
152
152
|
const backCfg = backButton === false ? void 0 : {
|
|
153
153
|
label: _nullishCoalesce((backButton ? backButton.label : void 0), () => ( "Back to home")),
|
|
154
154
|
onClick: () => router.push(_nullishCoalesce((backButton ? backButton.href : void 0), () => ( "/")))
|
|
@@ -161,7 +161,7 @@ function DevSectionPage({
|
|
|
161
161
|
// duplicate title. (The hero icon is intentionally dropped: TitleBlock is
|
|
162
162
|
// frozen and renders title-only.)
|
|
163
163
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
164
|
-
|
|
164
|
+
_chunkLTSTC3N5cjs.PageLayout,
|
|
165
165
|
{
|
|
166
166
|
title: _nullishCoalesce(title, () => ( section.hero.title)),
|
|
167
167
|
subtitle: _nullishCoalesce(subtitle, () => ( section.hero.description)),
|
|
@@ -172,7 +172,7 @@ function DevSectionPage({
|
|
|
172
172
|
}
|
|
173
173
|
)
|
|
174
174
|
);
|
|
175
|
-
return shell ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
175
|
+
return shell ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkLTSTC3N5cjs.PageShell, { children: inner }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "page-shell-content", children: inner });
|
|
176
176
|
}
|
|
177
177
|
|
|
178
178
|
// src/components/shared/dev-section/dev-card-row.tsx
|
|
@@ -184,9 +184,9 @@ function DevCardRowContent({
|
|
|
184
184
|
emptyDescription = "No description provided",
|
|
185
185
|
rightBadges
|
|
186
186
|
}) {
|
|
187
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full flex-col items-start justify-between gap-[12px] md:flex-row md:gap-[16px]", children: [
|
|
188
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full min-w-0 flex-1 flex-col gap-[12px] md:w-auto md:gap-[16px]", children: [
|
|
189
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex min-h-[24px] items-center", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h3", { className: "line-clamp-2 flex-1 break-words tracking-[-0.36px] text-ods-text-primary text-h3 md:truncate", children: title }) }),
|
|
187
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full flex-col items-start justify-between gap-[12px] content-md:flex-row content-md:gap-[16px]", children: [
|
|
188
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full min-w-0 flex-1 flex-col gap-[12px] content-md:w-auto content-md:gap-[16px]", children: [
|
|
189
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex min-h-[24px] items-center", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h3", { className: "line-clamp-2 flex-1 break-words tracking-[-0.36px] text-ods-text-primary text-h3 content-md:truncate", children: title }) }),
|
|
190
190
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex min-h-[20px] items-center", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "truncate uppercase tracking-[-0.28px] text-ods-text-secondary text-h5", children: subtitle }) }),
|
|
191
191
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex min-h-[72px] items-center", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "line-clamp-3 break-words text-ods-text-secondary text-h4", children: description || emptyDescription }) })
|
|
192
192
|
] }),
|
|
@@ -194,8 +194,8 @@ function DevCardRowContent({
|
|
|
194
194
|
] });
|
|
195
195
|
}
|
|
196
196
|
function DevCardRowSkeleton() {
|
|
197
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "border-b border-ods-border p-[12px] last:border-b-0 md:p-[16px]", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full flex-col items-start justify-between gap-[12px] md:flex-row md:gap-[16px]", children: [
|
|
198
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full min-w-0 flex-1 flex-col gap-[12px] md:w-auto md:gap-[16px]", children: [
|
|
197
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "border-b border-ods-border p-[12px] last:border-b-0 content-md:p-[16px]", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full flex-col items-start justify-between gap-[12px] content-md:flex-row content-md:gap-[16px]", children: [
|
|
198
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full min-w-0 flex-1 flex-col gap-[12px] content-md:w-auto content-md:gap-[16px]", children: [
|
|
199
199
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex min-h-[24px] items-center", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-[20px] w-full animate-pulse rounded bg-ods-border" }) }),
|
|
200
200
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex min-h-[20px] items-center", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-[20px] w-1/2 animate-pulse rounded bg-ods-border" }) }),
|
|
201
201
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex min-h-[72px] items-center", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex-1 space-y-1", children: [
|
|
@@ -230,21 +230,21 @@ function getRelativeTime(timestamp) {
|
|
|
230
230
|
}
|
|
231
231
|
function DeliveryRow({ item, href, target, caption, id, className }) {
|
|
232
232
|
const taskType = item.taskType;
|
|
233
|
-
const typeBadgeLabel =
|
|
234
|
-
const typeBadgeTextColor =
|
|
235
|
-
const statusBadgeScheme =
|
|
233
|
+
const typeBadgeLabel = _chunkLTSTC3N5cjs.TASK_TYPE_LABELS[taskType] || "TASK";
|
|
234
|
+
const typeBadgeTextColor = _chunkLTSTC3N5cjs.TASK_TYPE_TEXT_COLORS[taskType] || "";
|
|
235
|
+
const statusBadgeScheme = _chunkMMOODW57cjs.getStatusColorScheme.call(void 0, item.status);
|
|
236
236
|
const relativeTime = getRelativeTime(item.dateUpdated);
|
|
237
237
|
const subtitle = `ACTIVE ${relativeTime}${item.listNames.length > 0 ? `, ${item.listNames.join(", ")}` : ""}, ${item.id}`;
|
|
238
|
-
const inner = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full flex-col items-start justify-between gap-[12px] md:flex-row md:gap-[16px]", children: [
|
|
239
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full min-w-0 flex-1 flex-col gap-[12px] md:w-auto md:gap-[16px]", children: [
|
|
238
|
+
const inner = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full flex-col items-start justify-between gap-[12px] content-md:flex-row content-md:gap-[16px]", children: [
|
|
239
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full min-w-0 flex-1 flex-col gap-[12px] content-md:w-auto content-md:gap-[16px]", children: [
|
|
240
240
|
caption && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-secondary text-h5", children: caption }),
|
|
241
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex min-h-[24px] items-center md:min-h-[24px]", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h3", { className: "line-clamp-2 flex-1 break-words tracking-[-0.36px] text-ods-text-primary text-h3 md:truncate", children: item.title }) }),
|
|
241
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex min-h-[24px] items-center content-md:min-h-[24px]", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h3", { className: "line-clamp-2 flex-1 break-words tracking-[-0.36px] text-ods-text-primary text-h3 content-md:truncate", children: item.title }) }),
|
|
242
242
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex min-h-[20px] items-center", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "truncate uppercase tracking-[-0.28px] text-ods-text-secondary text-h5", suppressHydrationWarning: true, children: subtitle }) }),
|
|
243
243
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex min-h-[72px] items-center", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "line-clamp-3 break-words text-ods-text-secondary text-h4", children: item.description || "No description provided" }) })
|
|
244
244
|
] }),
|
|
245
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full flex-shrink-0 flex-row items-center gap-2 self-stretch md:w-auto md:flex-col md:items-end md:self-start", children: [
|
|
245
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full flex-shrink-0 flex-row items-center gap-2 self-stretch content-md:w-auto content-md:flex-col content-md:items-end content-md:self-start", children: [
|
|
246
246
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
247
|
-
|
|
247
|
+
_chunkMMOODW57cjs.StatusBadge,
|
|
248
248
|
{
|
|
249
249
|
text: item.status.toUpperCase(),
|
|
250
250
|
colorScheme: statusBadgeScheme,
|
|
@@ -253,7 +253,7 @@ function DeliveryRow({ item, href, target, caption, id, className }) {
|
|
|
253
253
|
}
|
|
254
254
|
),
|
|
255
255
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
256
|
-
|
|
256
|
+
_chunkMMOODW57cjs.StatusBadge,
|
|
257
257
|
{
|
|
258
258
|
text: typeBadgeLabel,
|
|
259
259
|
variant: "card",
|
|
@@ -261,10 +261,10 @@ function DeliveryRow({ item, href, target, caption, id, className }) {
|
|
|
261
261
|
}
|
|
262
262
|
),
|
|
263
263
|
item.assignees && item.assignees.length > 0 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
264
|
-
|
|
264
|
+
_chunkMMOODW57cjs.AvatarStack,
|
|
265
265
|
{
|
|
266
266
|
size: "xs",
|
|
267
|
-
className: "ml-auto md:ml-0",
|
|
267
|
+
className: "ml-auto content-md:ml-0",
|
|
268
268
|
people: item.assignees.map((a) => ({
|
|
269
269
|
key: a.id,
|
|
270
270
|
name: _nullishCoalesce(a.name, () => ( "Unknown")),
|
|
@@ -275,7 +275,7 @@ function DeliveryRow({ item, href, target, caption, id, className }) {
|
|
|
275
275
|
] })
|
|
276
276
|
] });
|
|
277
277
|
const baseClass = _chunk3ATAYP36cjs.cn.call(void 0,
|
|
278
|
-
"block p-[12px] text-inherit no-underline transition-colors duration-150 md:p-[16px]",
|
|
278
|
+
"block p-[12px] text-inherit no-underline transition-colors duration-150 content-md:p-[16px]",
|
|
279
279
|
// `scroll-mt-24` is paid for whether `id` is set or not (it's a
|
|
280
280
|
// single Tailwind utility, no runtime cost). Keeping it
|
|
281
281
|
// unconditional means a future caller adding `id` doesn't also
|