@flamingo-stack/openframe-frontend-core 0.0.846 → 0.0.848
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/{case-study-card-DJOHIHYU.cjs → case-study-card-X2HKPKT7.cjs} +5 -5
- package/dist/{chunk-N2A24FDF.cjs → chunk-2V6FCVUL.cjs} +955 -932
- package/dist/{chunk-CNMXP77I.cjs → chunk-36DUCHI7.cjs} +4 -4
- package/dist/{chunk-J2IXYCEH.cjs → chunk-3W4ASAXN.cjs} +15 -15
- package/dist/{chunk-6LDL3UZE.cjs → chunk-4YBS4HIO.cjs} +20 -20
- package/dist/{chunk-QK2A334V.cjs → chunk-5HOWR4TG.cjs} +12 -12
- package/dist/{chunk-2FUTZKLB.cjs → chunk-74Z34I2C.cjs} +6 -6
- package/dist/{chunk-PV3NKXWS.cjs → chunk-7DW3LZ52.cjs} +57 -57
- package/dist/{chunk-ZTO7KNYV.cjs → chunk-7LE4HWHA.cjs} +35 -35
- package/dist/{chunk-URP6GYTD.cjs → chunk-7YJQTQPV.cjs} +56 -56
- package/dist/{chunk-4R4HAFXI.cjs → chunk-ALRYVZ3E.cjs} +6 -6
- package/dist/{chunk-57JYB3E2.cjs → chunk-C3WZXOZJ.cjs} +3 -3
- package/dist/{chunk-SSSI2RBV.cjs → chunk-FNQWL4W4.cjs} +14 -14
- package/dist/{chunk-J2ZSGOUC.cjs → chunk-GASFYPGH.cjs} +27 -27
- package/dist/{chunk-3V5JWG27.cjs → chunk-GG466XFQ.cjs} +2 -2
- package/dist/{chunk-XCVH5BCZ.cjs → chunk-GRCOEICK.cjs} +6 -6
- package/dist/{chunk-5GBLXY5F.cjs → chunk-HTYJUMFB.cjs} +7 -7
- package/dist/{chunk-HBDLJUI3.cjs → chunk-I3YRYS23.cjs} +5 -5
- package/dist/{chunk-HPXET3LH.cjs → chunk-IIUZE73M.cjs} +27 -27
- package/dist/{chunk-WCK5T3UD.cjs → chunk-IKOL6NJY.cjs} +101 -69
- package/dist/{chunk-DGQDGCQH.cjs → chunk-INA2FX2N.cjs} +2 -2
- package/dist/{chunk-PQDCSZ3W.cjs → chunk-IUZVOQXP.cjs} +85 -85
- package/dist/{chunk-BIOSHDXQ.cjs → chunk-MDLT6D46.cjs} +61 -61
- package/dist/{chunk-DEEQSVLX.cjs → chunk-MWYEROAP.cjs} +90 -90
- package/dist/{chunk-D5DMWXF2.cjs → chunk-NYT6IBIX.cjs} +4 -4
- package/dist/{chunk-TBOWFTEN.cjs → chunk-O4BXHCMK.cjs} +22 -22
- package/dist/{chunk-YC52LSPP.cjs → chunk-OCJXOSIH.cjs} +40 -40
- package/dist/{chunk-3TOWCFIK.cjs → chunk-PMUCEUFQ.cjs} +13 -1
- package/dist/{chunk-BZZE4KIV.cjs → chunk-QUSCSYHJ.cjs} +135 -135
- package/dist/{chunk-744JXTDP.cjs → chunk-SA2NNWIJ.cjs} +23 -23
- package/dist/{chunk-BHOVF4KP.cjs → chunk-SOSIXRQ3.cjs} +2 -2
- package/dist/{chunk-PZNWIJRZ.cjs → chunk-TIVPOVIM.cjs} +2 -2
- package/dist/{chunk-FLW4WULE.cjs → chunk-U7UBYJEZ.cjs} +17 -61
- package/dist/{chunk-Y2OEC7UW.cjs → chunk-VW4446JR.cjs} +40 -40
- package/dist/{chunk-NFNSPLGC.cjs → chunk-W7OFAROY.cjs} +14 -9
- package/dist/{chunk-RAJ5FYFL.cjs → chunk-Y2ZWWIUA.cjs} +14 -14
- package/dist/{chunk-MPVOPSU6.cjs → chunk-Y4BG7SPX.cjs} +96 -96
- package/dist/{chunk-SIFRIUPW.cjs → chunk-YAW7CHLV.cjs} +340 -354
- package/dist/{chunk-ABL5OBSF.cjs → chunk-YXKAHQYS.cjs} +294 -249
- package/dist/{chunk-SWF6TNZ3.cjs → chunk-ZGEWT3SF.cjs} +2 -2
- package/dist/{chunk-5SZ4ILU3.cjs → chunk-ZZDFMUEU.cjs} +3 -3
- package/dist/{cloud-tenants-XEUUMABT.cjs → cloud-tenants-YAZHLPOQ.cjs} +21 -21
- package/dist/components/case-studies/index.cjs +36 -36
- package/dist/components/chat/chat-composer.d.ts.map +1 -1
- package/dist/components/chat/chat-composer.js +4 -3
- package/dist/components/chat/chat-container.d.ts.map +1 -1
- package/dist/components/chat/chat-container.js +2 -2
- package/dist/components/chat/entity-cards/design-doc-card.d.ts.map +1 -1
- package/dist/components/chat/entity-cards/design-doc-card.js +5 -17
- package/dist/components/chat/entity-cards/dispatch.d.ts.map +1 -1
- package/dist/components/chat/entity-cards/dispatch.js +4 -7
- package/dist/components/chat/index.cjs +15 -15
- package/dist/components/contact/index.cjs +22 -22
- package/dist/components/docs/index.cjs +25 -25
- package/dist/components/embeds/index.cjs +22 -22
- package/dist/components/faq/index.cjs +23 -23
- package/dist/components/features/index.cjs +21 -21
- package/dist/components/features/status-filter-component.d.ts +7 -1
- package/dist/components/features/status-filter-component.d.ts.map +1 -1
- package/dist/components/features/status-filter-component.js +9 -3
- package/dist/components/help-center-pages/index.cjs +140 -140
- package/dist/components/index.cjs +137 -135
- package/dist/components/layout/back-button.d.ts +7 -1
- package/dist/components/layout/back-button.d.ts.map +1 -1
- package/dist/components/layout/back-button.js +34 -2
- package/dist/components/loading/unified-skeleton.d.ts +6 -1
- package/dist/components/loading/unified-skeleton.d.ts.map +1 -1
- package/dist/components/loading/unified-skeleton.js +13 -1
- package/dist/components/meeting-scheduler/index.cjs +119 -119
- package/dist/components/navigation/index.cjs +24 -24
- package/dist/components/onboarding-guides/index.cjs +24 -24
- package/dist/components/product-demo/index.cjs +33 -33
- package/dist/components/related-content/index.cjs +11 -11
- package/dist/components/tickets/index.cjs +28 -28
- package/dist/components/ui/file-manager/file-manager-table.d.ts.map +1 -1
- package/dist/components/ui/file-manager/file-manager-table.js +63 -85
- package/dist/components/ui/file-manager/index.cjs +87 -109
- package/dist/components/ui/index.cjs +23 -21
- package/dist/components/ui/markdown/engine.d.ts +5 -4
- package/dist/components/ui/markdown/engine.d.ts.map +1 -1
- package/dist/components/ui/markdown/engine.js +15 -15
- package/dist/components/ui/people-cell.d.ts +9 -2
- package/dist/components/ui/people-cell.d.ts.map +1 -1
- package/dist/components/ui/people-cell.js +39 -23
- package/dist/components/ui/progress-bar.d.ts +6 -0
- package/dist/components/ui/progress-bar.d.ts.map +1 -1
- package/dist/components/ui/progress-bar.js +2 -0
- package/dist/components/ui/tag.d.ts +8 -0
- package/dist/components/ui/tag.d.ts.map +1 -1
- package/dist/components/ui/tag.js +5 -0
- package/dist/{devices-7YDIHVVP.cjs → devices-IZROCLFK.cjs} +22 -22
- package/dist/embed-shims/index.cjs +3 -3
- package/dist/embed-shims/next-image.cjs +3 -3
- package/dist/{embeddable-chat-Z3S37SSM.cjs → embeddable-chat-ETW6S22E.cjs} +94 -94
- package/dist/hooks/index.cjs +6 -6
- package/dist/index.cjs +30 -32
- package/dist/{knowledge-SQVPQSKM.cjs → knowledge-4IRWLTNW.cjs} +22 -22
- package/dist/{logs-M5DFGUBC.cjs → logs-EFDGY5IO.cjs} +28 -28
- package/dist/{policies-T3VQEJUD.cjs → policies-3KEXZ5BP.cjs} +25 -25
- package/dist/{remote-session-EE6477O3.cjs → remote-session-NT4NG7EF.cjs} +10 -10
- package/dist/{scripts-JFRFJKPH.cjs → scripts-PCGTZLZL.cjs} +28 -28
- package/dist/{software-update-E7W3AAIY.cjs → software-update-YCDNVFJE.cjs} +25 -25
- package/dist/{tickets-board-44HO3LR4.cjs → tickets-board-7FLGQEHF.cjs} +10 -10
- package/dist/types/design-doc.d.ts +45 -8
- package/dist/types/design-doc.d.ts.map +1 -1
- package/dist/utils/design-doc-readiness.d.ts +17 -15
- package/dist/utils/design-doc-readiness.d.ts.map +1 -1
- package/dist/utils/design-doc-readiness.js +5 -11
- package/dist/utils/index.cjs +5 -11
- package/package.json +1 -1
- package/src/components/chat/chat-composer.tsx +10 -3
- package/src/components/chat/chat-container.tsx +6 -4
- package/src/components/chat/entity-cards/design-doc-card.tsx +12 -17
- package/src/components/chat/entity-cards/dispatch.tsx +7 -10
- package/src/components/features/status-filter-component.tsx +15 -0
- package/src/components/layout/back-button.tsx +54 -2
- package/src/components/loading/unified-skeleton.tsx +18 -2
- package/src/components/ui/file-manager/file-manager-table.tsx +10 -45
- package/src/components/ui/markdown/engine.tsx +21 -30
- package/src/components/ui/people-cell.tsx +53 -17
- package/src/components/ui/progress-bar.tsx +8 -0
- package/src/components/ui/tag.tsx +14 -0
- package/src/types/design-doc.ts +59 -10
- package/src/utils/design-doc-readiness.ts +22 -23
|
@@ -15,24 +15,24 @@ var _chunkFDZOE5TLcjs = require('./chunk-FDZOE5TL.cjs');
|
|
|
15
15
|
|
|
16
16
|
|
|
17
17
|
|
|
18
|
-
var
|
|
18
|
+
var _chunk2V6FCVULcjs = require('./chunk-2V6FCVUL.cjs');
|
|
19
19
|
|
|
20
20
|
|
|
21
|
-
var
|
|
22
|
-
require('./chunk-
|
|
23
|
-
require('./chunk-
|
|
21
|
+
var _chunkIKOL6NJYcjs = require('./chunk-IKOL6NJY.cjs');
|
|
22
|
+
require('./chunk-SA2NNWIJ.cjs');
|
|
23
|
+
require('./chunk-INA2FX2N.cjs');
|
|
24
24
|
require('./chunk-HQQE74RO.cjs');
|
|
25
25
|
require('./chunk-DEY6XXGO.cjs');
|
|
26
|
-
require('./chunk-
|
|
26
|
+
require('./chunk-FNQWL4W4.cjs');
|
|
27
27
|
require('./chunk-IUDBG3HJ.cjs');
|
|
28
28
|
require('./chunk-24I6RFVU.cjs');
|
|
29
29
|
require('./chunk-MZ4KBSH7.cjs');
|
|
30
|
-
require('./chunk-
|
|
31
|
-
require('./chunk-
|
|
30
|
+
require('./chunk-ZZDFMUEU.cjs');
|
|
31
|
+
require('./chunk-QUSCSYHJ.cjs');
|
|
32
32
|
require('./chunk-OT6P57ZS.cjs');
|
|
33
|
-
require('./chunk-
|
|
34
|
-
require('./chunk-
|
|
35
|
-
require('./chunk-
|
|
33
|
+
require('./chunk-YAW7CHLV.cjs');
|
|
34
|
+
require('./chunk-3W4ASAXN.cjs');
|
|
35
|
+
require('./chunk-4YBS4HIO.cjs');
|
|
36
36
|
require('./chunk-YJZ7R3W5.cjs');
|
|
37
37
|
require('./chunk-PGAMWM6C.cjs');
|
|
38
38
|
require('./chunk-46547WQW.cjs');
|
|
@@ -1825,7 +1825,7 @@ require('./chunk-TMVC7S2R.cjs');
|
|
|
1825
1825
|
require('./chunk-IYHH5EIO.cjs');
|
|
1826
1826
|
require('./chunk-XIBCMGBW.cjs');
|
|
1827
1827
|
require('./chunk-HLJXCOMA.cjs');
|
|
1828
|
-
require('./chunk-
|
|
1828
|
+
require('./chunk-GRCOEICK.cjs');
|
|
1829
1829
|
require('./chunk-FW7RKWPY.cjs');
|
|
1830
1830
|
require('./chunk-BUEEQD3G.cjs');
|
|
1831
1831
|
require('./chunk-JKX2C3I2.cjs');
|
|
@@ -1834,11 +1834,11 @@ require('./chunk-SKI6NKOE.cjs');
|
|
|
1834
1834
|
require('./chunk-EWPR7662.cjs');
|
|
1835
1835
|
require('./chunk-IX2E3AN7.cjs');
|
|
1836
1836
|
require('./chunk-7DNL734S.cjs');
|
|
1837
|
-
require('./chunk-
|
|
1838
|
-
require('./chunk-
|
|
1839
|
-
require('./chunk-
|
|
1840
|
-
require('./chunk-
|
|
1841
|
-
require('./chunk-
|
|
1837
|
+
require('./chunk-U7UBYJEZ.cjs');
|
|
1838
|
+
require('./chunk-YXKAHQYS.cjs');
|
|
1839
|
+
require('./chunk-HTYJUMFB.cjs');
|
|
1840
|
+
require('./chunk-W7OFAROY.cjs');
|
|
1841
|
+
require('./chunk-MDLT6D46.cjs');
|
|
1842
1842
|
require('./chunk-JBTH3O2C.cjs');
|
|
1843
1843
|
require('./chunk-X432Y6RM.cjs');
|
|
1844
1844
|
require('./chunk-S5C3OZCO.cjs');
|
|
@@ -1852,20 +1852,20 @@ require('./chunk-BLH2SFOO.cjs');
|
|
|
1852
1852
|
require('./chunk-UAI4VMEF.cjs');
|
|
1853
1853
|
require('./chunk-COWMXUHN.cjs');
|
|
1854
1854
|
require('./chunk-YSDB6HGQ.cjs');
|
|
1855
|
-
require('./chunk-
|
|
1855
|
+
require('./chunk-TIVPOVIM.cjs');
|
|
1856
1856
|
require('./chunk-FX35L4Y6.cjs');
|
|
1857
1857
|
require('./chunk-JQCQCE6U.cjs');
|
|
1858
1858
|
require('./chunk-NTPX5GXI.cjs');
|
|
1859
1859
|
require('./chunk-GI3MMBP3.cjs');
|
|
1860
|
-
require('./chunk-
|
|
1860
|
+
require('./chunk-GG466XFQ.cjs');
|
|
1861
1861
|
require('./chunk-UJ7AXHRZ.cjs');
|
|
1862
|
-
require('./chunk-
|
|
1862
|
+
require('./chunk-ZGEWT3SF.cjs');
|
|
1863
1863
|
require('./chunk-N3MBQRCQ.cjs');
|
|
1864
1864
|
require('./chunk-S3QXLD4X.cjs');
|
|
1865
1865
|
require('./chunk-Z74QE57T.cjs');
|
|
1866
1866
|
require('./chunk-XZJCBIYR.cjs');
|
|
1867
1867
|
require('./chunk-2XCORRJV.cjs');
|
|
1868
|
-
require('./chunk-
|
|
1868
|
+
require('./chunk-PMUCEUFQ.cjs');
|
|
1869
1869
|
require('./chunk-FCZAUK4D.cjs');
|
|
1870
1870
|
require('./chunk-63A4GZMB.cjs');
|
|
1871
1871
|
require('./chunk-V45KLJQP.cjs');
|
|
@@ -1923,14 +1923,14 @@ var noop = () => {
|
|
|
1923
1923
|
var HIDDEN_WHEN_COMPACT = ["organization"];
|
|
1924
1924
|
function StaticPackageField({ value }) {
|
|
1925
1925
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1926
|
-
|
|
1926
|
+
_chunkIKOL6NJYcjs.Autocomplete,
|
|
1927
1927
|
{
|
|
1928
|
-
label:
|
|
1928
|
+
label: _chunk2V6FCVULcjs.PACKAGE_SEARCH_LABEL,
|
|
1929
1929
|
labelVariant: "large",
|
|
1930
1930
|
options: value ? [{ value: value.id, label: value.name, description: _nullishCoalesce(value.description, () => ( void 0)) }] : [],
|
|
1931
1931
|
value: _nullishCoalesce(_optionalChain([value, 'optionalAccess', _ => _.id]), () => ( null)),
|
|
1932
1932
|
onChange: noop,
|
|
1933
|
-
placeholder:
|
|
1933
|
+
placeholder: _chunk2V6FCVULcjs.PACKAGE_SEARCH_PLACEHOLDER
|
|
1934
1934
|
}
|
|
1935
1935
|
);
|
|
1936
1936
|
}
|
|
@@ -1944,7 +1944,7 @@ function SoftwareUpdateScreen({ compact = false }) {
|
|
|
1944
1944
|
[fixture.devices, fixture.selectedIds]
|
|
1945
1945
|
);
|
|
1946
1946
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-full bg-ods-bg pt-[var(--spacing-system-l)]", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1947
|
-
|
|
1947
|
+
_chunk2V6FCVULcjs.SoftwareActionForm,
|
|
1948
1948
|
{
|
|
1949
1949
|
action: fixture.action,
|
|
1950
1950
|
showHeader: false,
|
|
@@ -1956,7 +1956,7 @@ function SoftwareUpdateScreen({ compact = false }) {
|
|
|
1956
1956
|
initialValues: fixture.initialValues,
|
|
1957
1957
|
renderPackageSearch,
|
|
1958
1958
|
renderDevicePicker: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1959
|
-
|
|
1959
|
+
_chunk2V6FCVULcjs.DeviceSelector,
|
|
1960
1960
|
{
|
|
1961
1961
|
devices: selected,
|
|
1962
1962
|
loading: false,
|
|
@@ -10,9 +10,9 @@ var _chunkFDZOE5TLcjs = require('./chunk-FDZOE5TL.cjs');
|
|
|
10
10
|
|
|
11
11
|
|
|
12
12
|
|
|
13
|
-
var
|
|
13
|
+
var _chunkSA2NNWIJcjs = require('./chunk-SA2NNWIJ.cjs');
|
|
14
14
|
require('./chunk-IUDBG3HJ.cjs');
|
|
15
|
-
require('./chunk-
|
|
15
|
+
require('./chunk-4YBS4HIO.cjs');
|
|
16
16
|
require('./chunk-YJZ7R3W5.cjs');
|
|
17
17
|
require('./chunk-46547WQW.cjs');
|
|
18
18
|
require('./chunk-LNUFH4E2.cjs');
|
|
@@ -1806,7 +1806,7 @@ require('./chunk-XIBCMGBW.cjs');
|
|
|
1806
1806
|
require('./chunk-BUEEQD3G.cjs');
|
|
1807
1807
|
require('./chunk-WWUSFOJ7.cjs');
|
|
1808
1808
|
require('./chunk-SKI6NKOE.cjs');
|
|
1809
|
-
require('./chunk-
|
|
1809
|
+
require('./chunk-W7OFAROY.cjs');
|
|
1810
1810
|
require('./chunk-JBTH3O2C.cjs');
|
|
1811
1811
|
require('./chunk-S5C3OZCO.cjs');
|
|
1812
1812
|
require('./chunk-32ASZMTV.cjs');
|
|
@@ -1820,11 +1820,11 @@ require('./chunk-YSDB6HGQ.cjs');
|
|
|
1820
1820
|
require('./chunk-FX35L4Y6.cjs');
|
|
1821
1821
|
require('./chunk-JQCQCE6U.cjs');
|
|
1822
1822
|
require('./chunk-GI3MMBP3.cjs');
|
|
1823
|
-
require('./chunk-
|
|
1823
|
+
require('./chunk-GG466XFQ.cjs');
|
|
1824
1824
|
require('./chunk-S3QXLD4X.cjs');
|
|
1825
1825
|
require('./chunk-Z74QE57T.cjs');
|
|
1826
1826
|
require('./chunk-XZJCBIYR.cjs');
|
|
1827
|
-
require('./chunk-
|
|
1827
|
+
require('./chunk-PMUCEUFQ.cjs');
|
|
1828
1828
|
require('./chunk-FCZAUK4D.cjs');
|
|
1829
1829
|
require('./chunk-63A4GZMB.cjs');
|
|
1830
1830
|
require('./chunk-V45KLJQP.cjs');
|
|
@@ -1841,7 +1841,7 @@ function buildTicketsBoardFixture(cast) {
|
|
|
1841
1841
|
const dana = assignee(cast.person("dana"));
|
|
1842
1842
|
const alex = assignee(cast.person("alex"));
|
|
1843
1843
|
return [
|
|
1844
|
-
|
|
1844
|
+
_chunkSA2NNWIJcjs.columnFromTicketStatus.call(void 0, "ACTIVE", [
|
|
1845
1845
|
ticket("tk-1051", "Printer offline at the front desk", "ACTIVE", {
|
|
1846
1846
|
ticketNumber: "1051",
|
|
1847
1847
|
agent: "fae",
|
|
@@ -1859,7 +1859,7 @@ function buildTicketsBoardFixture(cast) {
|
|
|
1859
1859
|
tags: ["onboarding"]
|
|
1860
1860
|
})
|
|
1861
1861
|
]),
|
|
1862
|
-
|
|
1862
|
+
_chunkSA2NNWIJcjs.columnFromTicketStatus.call(void 0, "TECH_REQUIRED", [
|
|
1863
1863
|
ticket("tk-1049", "Acrobat Pro for Maya", "TECH_REQUIRED", {
|
|
1864
1864
|
ticketNumber: "1049",
|
|
1865
1865
|
agent: "fae",
|
|
@@ -1883,7 +1883,7 @@ function buildTicketsBoardFixture(cast) {
|
|
|
1883
1883
|
escalatedByUser: true
|
|
1884
1884
|
})
|
|
1885
1885
|
]),
|
|
1886
|
-
|
|
1886
|
+
_chunkSA2NNWIJcjs.columnFromTicketStatus.call(void 0, "ON_HOLD", [
|
|
1887
1887
|
ticket("tk-1046", "Replace the conference room display", "ON_HOLD", {
|
|
1888
1888
|
ticketNumber: "1046",
|
|
1889
1889
|
organizationName: _chunkFDZOE5TLcjs.DEMO_ORGANIZATIONS.acme.name,
|
|
@@ -1892,7 +1892,7 @@ function buildTicketsBoardFixture(cast) {
|
|
|
1892
1892
|
activity: { kind: "waiting-external" }
|
|
1893
1893
|
})
|
|
1894
1894
|
]),
|
|
1895
|
-
|
|
1895
|
+
_chunkSA2NNWIJcjs.columnFromTicketStatus.call(void 0,
|
|
1896
1896
|
"RESOLVED",
|
|
1897
1897
|
[
|
|
1898
1898
|
ticket("tk-1048", "Slow laptop", "RESOLVED", {
|
|
@@ -1928,7 +1928,7 @@ function TicketsBoardScreen({ compact = false }) {
|
|
|
1928
1928
|
const cast = _chunkLHV2R6QUcjs.useProductDemoCast.call(void 0, );
|
|
1929
1929
|
const board = _react.useMemo.call(void 0, () => buildTicketsBoardFixture(cast), [cast]);
|
|
1930
1930
|
const columns = compact ? board.filter((column) => column.id !== "ON_HOLD") : board;
|
|
1931
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-full bg-ods-bg p-[var(--spacing-system-m)]", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1931
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-full bg-ods-bg p-[var(--spacing-system-m)]", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSA2NNWIJcjs.Board, { columns, onChange: noop, initialCollapsed: compact ? void 0 : FOLDED }) });
|
|
1932
1932
|
}
|
|
1933
1933
|
|
|
1934
1934
|
|
|
@@ -5,7 +5,7 @@ import type { EmployeeDirectoryRow } from './employee';
|
|
|
5
5
|
import type { EntityAuthor } from './entity-author';
|
|
6
6
|
/** One value of `design_doc_vocabulary.kind` — the STRUCTURAL list (one per
|
|
7
7
|
* value column), the only design-doc vocabulary that is code. */
|
|
8
|
-
export type DesignDocVocabularyKind = 'tier' | 'spec_mode' | 'participant_status' | 'comment_type' | 'comment_status' | 'link_type' | 'media_type';
|
|
8
|
+
export type DesignDocVocabularyKind = 'tier' | 'spec_mode' | 'participant_status' | 'comment_type' | 'comment_status' | 'link_type' | 'media_type' | 'lifecycle_status' | 'readiness';
|
|
9
9
|
/** A `design_doc_vocabulary` row, as the DAL and the vocabulary API return it. */
|
|
10
10
|
export interface DesignDocVocabularyOption {
|
|
11
11
|
id: number;
|
|
@@ -55,6 +55,23 @@ export type DesignDocCommentStatus = string;
|
|
|
55
55
|
export type DesignDocLinkType = string;
|
|
56
56
|
/** A `design_doc_vocabulary.value` of kind `media_type`. */
|
|
57
57
|
export type DesignDocMediaType = string;
|
|
58
|
+
/**
|
|
59
|
+
* A `design_doc_vocabulary.value` of kind `lifecycle_status`: a status a PERSON sets (postponed, shipped, archived),
|
|
60
|
+
* beside the readiness the sign-offs decide. Null on a doc = active, and its readiness shows.
|
|
61
|
+
*/
|
|
62
|
+
export type DesignDocLifecycleStatus = string;
|
|
63
|
+
/**
|
|
64
|
+
* A `design_doc_vocabulary.value` of kind `readiness`: the stage the sign-offs put a doc in (not ready, in active
|
|
65
|
+
* work, blocked, ready to build). The hub picks the row by its role; the words and the colour are the row's.
|
|
66
|
+
*/
|
|
67
|
+
export type DesignDocReadiness = string;
|
|
68
|
+
/** A vocabulary value as a card shows it, resolved by the hub so a surface without the vocabulary can draw it. */
|
|
69
|
+
export interface DesignDocVocabularyDisplay {
|
|
70
|
+
value: string;
|
|
71
|
+
label: string;
|
|
72
|
+
/** A `StatusBadge` colorScheme name. */
|
|
73
|
+
color_scheme: string;
|
|
74
|
+
}
|
|
58
75
|
/**
|
|
59
76
|
* The profile identity the DAL embeds on participants / comment authors — THE
|
|
60
77
|
* shared person projection, not a second declaration of it. `email` rides the
|
|
@@ -197,6 +214,15 @@ export interface DesignDoc {
|
|
|
197
214
|
comments: DesignDocComment[];
|
|
198
215
|
completion: DesignDocCompletion;
|
|
199
216
|
my_open_work?: DesignDocMyOpenWork;
|
|
217
|
+
/** The status a person set (postponed, shipped, archived); null = active, its readiness shows. */
|
|
218
|
+
lifecycle_status: DesignDocLifecycleStatus | null;
|
|
219
|
+
/** That status as the vocabulary words it, resolved by the hub (null when none is set). */
|
|
220
|
+
lifecycle?: DesignDocVocabularyDisplay | null;
|
|
221
|
+
/** When the status was last set or cleared, and by whom. */
|
|
222
|
+
lifecycle_status_changed_at: string | null;
|
|
223
|
+
lifecycle_status_changed_by?: DesignDocPerson | null;
|
|
224
|
+
/** The stage its sign-offs put it in, as the vocabulary words it, resolved by the hub. */
|
|
225
|
+
readiness?: DesignDocVocabularyDisplay | null;
|
|
200
226
|
}
|
|
201
227
|
export interface DesignDocLinkInput {
|
|
202
228
|
link_type: DesignDocLinkType;
|
|
@@ -257,6 +283,8 @@ export interface UpdateDesignDocData {
|
|
|
257
283
|
*/
|
|
258
284
|
feature_lead_ids?: string[];
|
|
259
285
|
links?: DesignDocLinkInput[];
|
|
286
|
+
/** A `lifecycle_status` value, or null to make the doc active again. Anyone who may edit the doc may set it. */
|
|
287
|
+
lifecycle_status?: DesignDocLifecycleStatus | null;
|
|
260
288
|
/** OCC token — the `updated_at` the editor seeded from; mismatch → 409. */
|
|
261
289
|
expected_updated_at?: string;
|
|
262
290
|
}
|
|
@@ -283,9 +311,16 @@ export interface AddDesignDocCommentData {
|
|
|
283
311
|
title?: string | null;
|
|
284
312
|
body: string;
|
|
285
313
|
}
|
|
286
|
-
/** The dashboard's readiness filter (`?ready=`). */
|
|
287
|
-
export type DesignDocReadyFilter =
|
|
314
|
+
/** The dashboard's readiness filter (`?ready=`): one `readiness` value. */
|
|
315
|
+
export type DesignDocReadyFilter = DesignDocReadiness;
|
|
316
|
+
/**
|
|
317
|
+
* The dashboard's status filter (`?status=`): `active` (no lifecycle status set, the default) or one
|
|
318
|
+
* `lifecycle_status` value.
|
|
319
|
+
*/
|
|
320
|
+
export type DesignDocLifecycleFilter = 'active' | DesignDocLifecycleStatus;
|
|
288
321
|
export interface DesignDocFilters {
|
|
322
|
+
/** Defaults to `active`: a doc a person postponed, shipped or archived is listed only under its own status. */
|
|
323
|
+
lifecycle?: DesignDocLifecycleFilter;
|
|
289
324
|
ready?: DesignDocReadyFilter;
|
|
290
325
|
/** One or more `spec_mode` values (CSV on the wire). */
|
|
291
326
|
spec_mode?: string;
|
|
@@ -301,15 +336,17 @@ export interface DesignDocListResponse {
|
|
|
301
336
|
* filter itself — so a filtered row still shows what the other value holds. */
|
|
302
337
|
facets: {
|
|
303
338
|
spec_mode: Record<string, number>;
|
|
304
|
-
/** The same over readiness (`
|
|
305
|
-
ready: Record<
|
|
339
|
+
/** The same over readiness (each `readiness` value), MINUS the ready filter itself: the filter row's options. */
|
|
340
|
+
ready: Record<DesignDocReadiness, number>;
|
|
341
|
+
/** The same over the status filter (`active` and each `lifecycle_status` value), MINUS the status filter itself. */
|
|
342
|
+
lifecycle: Record<string, number>;
|
|
306
343
|
};
|
|
307
344
|
}
|
|
345
|
+
/** Counted over ACTIVE docs (no lifecycle status), so postponed, shipped and archived docs never inflate open work. */
|
|
308
346
|
export interface DesignDocStats {
|
|
309
347
|
total: number;
|
|
310
|
-
/**
|
|
311
|
-
|
|
312
|
-
not_ready: number;
|
|
348
|
+
/** How many active docs each `readiness` value holds, zeros included. */
|
|
349
|
+
readiness: Record<DesignDocReadiness, number>;
|
|
313
350
|
waiting_on_me_docs: number;
|
|
314
351
|
waiting_on_me_tasks: number;
|
|
315
352
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"design-doc.d.ts","sourceRoot":"","sources":["../../src/types/design-doc.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"design-doc.d.ts","sourceRoot":"","sources":["../../src/types/design-doc.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,20 +1,22 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* A design doc's
|
|
3
|
-
*
|
|
4
|
-
*
|
|
2
|
+
* A design doc's status as every surface draws it (the hub's design-docs screens, its doc page, the lib's design-doc
|
|
3
|
+
* cards), and its sign-off caption.
|
|
4
|
+
*
|
|
5
|
+
* Both halves of the status are vocabulary rows the hub resolves onto the doc, so no surface holds a word or a colour:
|
|
6
|
+
* - its READINESS (`doc.readiness`): the stage the sign-offs put it in (not ready, in active work, blocked, ready to
|
|
7
|
+
* build), picked by the hub from the `readiness` rows by role;
|
|
8
|
+
* - a LIFECYCLE status a person set (`doc.lifecycle`: postponed, shipped, archived). While one is set it is what the
|
|
9
|
+
* doc shows; cleared, the readiness shows again.
|
|
10
|
+
*
|
|
11
|
+
* The sign-off caption is counts only ("4/6 signed off · 1 blocking"): the status has its own badge.
|
|
12
|
+
* Pure, zero-import beyond the type.
|
|
5
13
|
*/
|
|
6
|
-
import type { DesignDocCompletion } from '../types/design-doc';
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
label: string;
|
|
12
|
-
scheme: 'success' | 'default';
|
|
13
|
-
}>;
|
|
14
|
-
/** Ready to build ⇔ `completion.isComplete` (every section signed off, no open blocking comment). */
|
|
15
|
-
export declare const designDocReadiness: (completion: Pick<DesignDocCompletion, "isComplete">) => DesignDocReadiness;
|
|
16
|
-
/** "4/6 reviews signed off" */
|
|
14
|
+
import type { DesignDoc, DesignDocCompletion, DesignDocVocabularyDisplay } from '../types/design-doc';
|
|
15
|
+
/** What the doc's status badge says: its lifecycle status when a person set one, else its readiness (null from a hub
|
|
16
|
+
* that resolves neither). */
|
|
17
|
+
export declare function designDocStatusDisplay(doc: Pick<DesignDoc, 'lifecycle' | 'readiness'>): DesignDocVocabularyDisplay | null;
|
|
18
|
+
/** "4/6 signed off" */
|
|
17
19
|
export declare function formatCompletionLabel(completion: Pick<DesignDocCompletion, 'total' | 'completed'>): string;
|
|
18
|
-
/** The SAME
|
|
20
|
+
/** The SAME count plus the blocking veto ("4/6 signed off · 1 blocking"): the dashboard row, the doc page, the card. */
|
|
19
21
|
export declare function formatCompletionLabelWithBlockers(completion: DesignDocCompletion): string;
|
|
20
22
|
//# sourceMappingURL=design-doc-readiness.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"design-doc-readiness.d.ts","sourceRoot":"","sources":["../../src/utils/design-doc-readiness.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"design-doc-readiness.d.ts","sourceRoot":"","sources":["../../src/utils/design-doc-readiness.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,mBAAmB,EAAE,0BAA0B,EAAE,MAAM,qBAAqB,CAAC;AAEtG;8BAC8B;AAC9B,wBAAgB,sBAAsB,CACpC,GAAG,EAAE,IAAI,CAAC,SAAS,EAAE,WAAW,GAAG,WAAW,CAAC,GAC9C,0BAA0B,GAAG,IAAI,CAEnC;AAED,uBAAuB;AACvB,wBAAgB,qBAAqB,CAAC,UAAU,EAAE,IAAI,CAAC,mBAAmB,EAAE,OAAO,GAAG,WAAW,CAAC,GAAG,MAAM,CAE1G;AAED,wHAAwH;AACxH,wBAAgB,iCAAiC,CAAC,UAAU,EAAE,mBAAmB,GAAG,MAAM,CAGzF"}
|
|
@@ -1,21 +1,15 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
not_ready: { label: "Not ready", scheme: "default" }
|
|
5
|
-
};
|
|
6
|
-
const designDocReadiness = (completion) => completion.isComplete ? "ready" : "not_ready";
|
|
1
|
+
function designDocStatusDisplay(doc) {
|
|
2
|
+
return doc.lifecycle ?? doc.readiness ?? null;
|
|
3
|
+
}
|
|
7
4
|
function formatCompletionLabel(completion) {
|
|
8
|
-
return `${completion.completed}/${completion.total}
|
|
5
|
+
return `${completion.completed}/${completion.total} signed off`;
|
|
9
6
|
}
|
|
10
7
|
function formatCompletionLabelWithBlockers(completion) {
|
|
11
8
|
const base = formatCompletionLabel(completion);
|
|
12
|
-
if (completion.isComplete) return `${DESIGN_DOC_READINESS_DISPLAY.ready.label} \xB7 ${base}`;
|
|
13
9
|
return completion.openBlocking > 0 ? `${base} \xB7 ${completion.openBlocking} blocking` : base;
|
|
14
10
|
}
|
|
15
11
|
export {
|
|
16
|
-
|
|
17
|
-
DESIGN_DOC_READINESS_DISPLAY,
|
|
18
|
-
designDocReadiness,
|
|
12
|
+
designDocStatusDisplay,
|
|
19
13
|
formatCompletionLabel,
|
|
20
14
|
formatCompletionLabelWithBlockers
|
|
21
15
|
};
|
package/dist/utils/index.cjs
CHANGED
|
@@ -81364,18 +81364,14 @@ function brandMarkDataUri(name) {
|
|
|
81364
81364
|
}
|
|
81365
81365
|
|
|
81366
81366
|
// src/utils/design-doc-readiness.ts
|
|
81367
|
-
|
|
81368
|
-
|
|
81369
|
-
|
|
81370
|
-
not_ready: { label: "Not ready", scheme: "default" }
|
|
81371
|
-
};
|
|
81372
|
-
var designDocReadiness = (completion) => completion.isComplete ? "ready" : "not_ready";
|
|
81367
|
+
function designDocStatusDisplay(doc) {
|
|
81368
|
+
return doc.lifecycle ?? doc.readiness ?? null;
|
|
81369
|
+
}
|
|
81373
81370
|
function formatCompletionLabel(completion) {
|
|
81374
|
-
return `${completion.completed}/${completion.total}
|
|
81371
|
+
return `${completion.completed}/${completion.total} signed off`;
|
|
81375
81372
|
}
|
|
81376
81373
|
function formatCompletionLabelWithBlockers(completion) {
|
|
81377
81374
|
const base = formatCompletionLabel(completion);
|
|
81378
|
-
if (completion.isComplete) return `${DESIGN_DOC_READINESS_DISPLAY.ready.label} \xB7 ${base}`;
|
|
81379
81375
|
return completion.openBlocking > 0 ? `${base} \xB7 ${completion.openBlocking} blocking` : base;
|
|
81380
81376
|
}
|
|
81381
81377
|
|
|
@@ -86334,8 +86330,6 @@ exports.DEFAULT_FOLDER_INDEX_FILE = DEFAULT_FOLDER_INDEX_FILE;
|
|
|
86334
86330
|
exports.DEFAULT_MIN_FILL_MS = DEFAULT_MIN_FILL_MS;
|
|
86335
86331
|
exports.DEFAULT_OS_PLATFORM = DEFAULT_OS_PLATFORM;
|
|
86336
86332
|
exports.DELIVERY_TASK_TYPE_OPTIONS = DELIVERY_TASK_TYPE_OPTIONS;
|
|
86337
|
-
exports.DESIGN_DOC_READINESS = DESIGN_DOC_READINESS;
|
|
86338
|
-
exports.DESIGN_DOC_READINESS_DISPLAY = DESIGN_DOC_READINESS_DISPLAY;
|
|
86339
86333
|
exports.DESIGN_PALETTE = DESIGN_PALETTE;
|
|
86340
86334
|
exports.DESKTOP_OSES = DESKTOP_OSES;
|
|
86341
86335
|
exports.DEV_SECTION_PARAM_KEYS = DEV_SECTION_PARAM_KEYS;
|
|
@@ -86457,7 +86451,7 @@ exports.delay = delay;
|
|
|
86457
86451
|
exports.demoClockTimes = demoClockTimes;
|
|
86458
86452
|
exports.deriveActiveColor = deriveActiveColor;
|
|
86459
86453
|
exports.deriveHoverColor = deriveHoverColor;
|
|
86460
|
-
exports.
|
|
86454
|
+
exports.designDocStatusDisplay = designDocStatusDisplay;
|
|
86461
86455
|
exports.desktopOsBeforePaintScript = desktopOsBeforePaintScript;
|
|
86462
86456
|
exports.desktopOsOf = desktopOsOf;
|
|
86463
86457
|
exports.detectDesktopOs = detectDesktopOs;
|
package/package.json
CHANGED
|
@@ -14,6 +14,13 @@ import { ModelDisplay } from './model-display';
|
|
|
14
14
|
import type { ChatInputRef, ModelDisplayProps } from './types/component.types';
|
|
15
15
|
import type { ChatContextItem, ChatContextPickerConfig } from './types/context-item.types';
|
|
16
16
|
|
|
17
|
+
/**
|
|
18
|
+
* The top strip's corners: the card's radius (`rounded-md`, `--radius` - 2px) less the card's 1px border, so the strip
|
|
19
|
+
* meets the border's inner curve. At the card's own radius it sits 1px inside that curve and leaves a sliver of the
|
|
20
|
+
* card's fill at each corner. The card cannot clip it instead: the picker and the memory popover float out of it.
|
|
21
|
+
*/
|
|
22
|
+
const TOP_STRIP_ROUNDING_CLASS = 'rounded-t-[calc(var(--radius)_-_3px)]';
|
|
23
|
+
|
|
17
24
|
/** Why the composer takes no input, in the user's words — shown where the prompt would be. */
|
|
18
25
|
export interface ChatComposerLock {
|
|
19
26
|
placeholder: string;
|
|
@@ -248,7 +255,7 @@ export function ChatComposer({
|
|
|
248
255
|
// `border-b`) stack flush above the input; the card owns the border
|
|
249
256
|
// / radius / focus ring. No `overflow-hidden` so the picker and the
|
|
250
257
|
// memory popover can float above the input (whichever strip comes
|
|
251
|
-
// first gets `
|
|
258
|
+
// first gets `TOP_STRIP_ROUNDING_CLASS`).
|
|
252
259
|
// `has-[[data-editor]:focus]` (not `focus-within`) so the accent
|
|
253
260
|
// border reacts ONLY to the composer editor — not the picker's search
|
|
254
261
|
// input or item buttons, which also live inside this card. The editor
|
|
@@ -264,7 +271,7 @@ export function ChatComposer({
|
|
|
264
271
|
resolveIcon={resolveContextIcon}
|
|
265
272
|
disabled={sending || locked}
|
|
266
273
|
leading={contextLeading}
|
|
267
|
-
className=
|
|
274
|
+
className={TOP_STRIP_ROUNDING_CLASS}
|
|
268
275
|
/>
|
|
269
276
|
{selected.length > 0 && (
|
|
270
277
|
<ChatContextChipStrip
|
|
@@ -275,7 +282,7 @@ export function ChatComposer({
|
|
|
275
282
|
className={cn(
|
|
276
283
|
'border-b border-ods-border bg-ods-bg p-2',
|
|
277
284
|
// Only the TOP strip rounds into the card corner.
|
|
278
|
-
memory.length === 0 && !contextLeading &&
|
|
285
|
+
memory.length === 0 && !contextLeading && TOP_STRIP_ROUNDING_CLASS,
|
|
279
286
|
)}
|
|
280
287
|
/>
|
|
281
288
|
)}
|
|
@@ -111,7 +111,9 @@ const ChatHeader = forwardRef<HTMLDivElement, ChatHeaderProps>(
|
|
|
111
111
|
className={cn(cardClasses, 'absolute right-full top-0 mr-[var(--spacing-system-s)] hover:bg-ods-bg-hover')}
|
|
112
112
|
/>
|
|
113
113
|
)}
|
|
114
|
-
|
|
114
|
+
{/* The card clips its content at the border's inner curve, so a filled section at its edge (the MSP card)
|
|
115
|
+
meets the border; nothing in it floats out. */}
|
|
116
|
+
<div className={cn(cardClasses, !bare && 'overflow-hidden')}>
|
|
115
117
|
<div className="flex items-center justify-between gap-4 px-4 py-3">
|
|
116
118
|
<div className="flex items-center gap-3">
|
|
117
119
|
{userIcon && !isLoading ? (
|
|
@@ -176,8 +178,8 @@ const ChatHeader = forwardRef<HTMLDivElement, ChatHeaderProps>(
|
|
|
176
178
|
</div>
|
|
177
179
|
{/* MSP branding slot — home-screen only; `ticketInfo` (open chat)
|
|
178
180
|
claims this space, so it wins when both are provided. The card
|
|
179
|
-
already draws the chrome
|
|
180
|
-
|
|
181
|
+
already draws the chrome and clips its corners: strip the
|
|
182
|
+
section's own ring and rounding. */}
|
|
181
183
|
{!ticketInfo && (mspLoading || mspOrganization) && (
|
|
182
184
|
<>
|
|
183
185
|
<div className="h-px bg-ods-border" />
|
|
@@ -185,7 +187,7 @@ const ChatHeader = forwardRef<HTMLDivElement, ChatHeaderProps>(
|
|
|
185
187
|
name=""
|
|
186
188
|
{...mspOrganization}
|
|
187
189
|
loading={mspLoading || !mspOrganization}
|
|
188
|
-
className={cn('rounded-none ring-0',
|
|
190
|
+
className={cn('rounded-none ring-0', mspOrganization?.className)}
|
|
189
191
|
/>
|
|
190
192
|
</>
|
|
191
193
|
)}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
/**
|
|
4
4
|
* DesignDocCard (pure presentation) — a design doc as the entity card every surface shows it with: the full card
|
|
5
5
|
* (`default`, the `RoadmapCard` layout without its image slot, since a doc has no image of its own and a constant glyph
|
|
6
|
-
* says nothing: title, DRI and date,
|
|
6
|
+
* says nothing: title, DRI and date, its status (the status a person set, else its readiness: the hub's own wording, `design-doc-readiness`), summary, sign-off caption and the people) for admin surfaces, and the chat's compact card (`DesignDocChatCard` in `dispatch.tsx`, which reads
|
|
7
7
|
* the same readiness and meta). The card writes no click logic beyond its `href` anchor.
|
|
8
8
|
*/
|
|
9
9
|
|
|
@@ -12,14 +12,11 @@ import { TEXT_LINES_MIN } from '../../../styles/component-sizes';
|
|
|
12
12
|
import type { DesignDoc } from '../../../types/design-doc';
|
|
13
13
|
import { cn } from '../../../utils/cn';
|
|
14
14
|
import { formatDateShort } from '../../../utils/date-formatters';
|
|
15
|
-
import {
|
|
16
|
-
DESIGN_DOC_READINESS_DISPLAY,
|
|
17
|
-
designDocReadiness,
|
|
18
|
-
formatCompletionLabelWithBlockers,
|
|
19
|
-
} from '../../../utils/design-doc-readiness';
|
|
15
|
+
import { designDocStatusDisplay, formatCompletionLabelWithBlockers } from '../../../utils/design-doc-readiness';
|
|
20
16
|
import { TextLineSkeleton } from '../../loading/unified-skeleton';
|
|
21
17
|
import { AvatarStack, type AvatarStackPerson } from '../../ui/avatar-stack';
|
|
22
18
|
import { useLoadingScope } from '../../ui/loading-scope';
|
|
19
|
+
import { PaletteBadge } from '../../ui/palette-badge';
|
|
23
20
|
import { StatusBadge } from '../../ui/status-badge';
|
|
24
21
|
import { safeHref } from '../utils/compact-card-classes';
|
|
25
22
|
import { CONTENT_CARD_FRAME_CLASS, CONTENT_CARD_SKELETON_FRAME_CLASS } from './content-card-frame';
|
|
@@ -102,7 +99,7 @@ function DesignDocCardSkeleton({ className }: { className?: string } = {}) {
|
|
|
102
99
|
}
|
|
103
100
|
|
|
104
101
|
export function DesignDocCard({ doc, href, target, rel, className }: DesignDocCardProps) {
|
|
105
|
-
const
|
|
102
|
+
const status = designDocStatusDisplay(doc);
|
|
106
103
|
const people = designDocPeople(doc);
|
|
107
104
|
const link = safeHref(href ?? null);
|
|
108
105
|
if (useLoadingScope()) return <DesignDocCardSkeleton className={className} />;
|
|
@@ -117,17 +114,15 @@ export function DesignDocCard({ doc, href, target, rel, className }: DesignDocCa
|
|
|
117
114
|
<p className="truncate text-ods-text-secondary text-h5">{designDocMetaLine(doc)}</p>
|
|
118
115
|
</div>
|
|
119
116
|
</div>
|
|
120
|
-
|
|
121
|
-
text={
|
|
122
|
-
|
|
123
|
-
variant="button"
|
|
124
|
-
singleLine
|
|
125
|
-
className="hidden md:inline-flex"
|
|
126
|
-
/>
|
|
127
|
-
</div>
|
|
128
|
-
<div className="md:hidden">
|
|
129
|
-
<StatusBadge text={readiness.label} colorScheme={readiness.scheme} variant="button" singleLine />
|
|
117
|
+
{status ? (
|
|
118
|
+
<PaletteBadge text={status.label} color={status.color_scheme} className="hidden md:inline-flex" />
|
|
119
|
+
) : null}
|
|
130
120
|
</div>
|
|
121
|
+
{status ? (
|
|
122
|
+
<div className="md:hidden">
|
|
123
|
+
<PaletteBadge text={status.label} color={status.color_scheme} />
|
|
124
|
+
</div>
|
|
125
|
+
) : null}
|
|
131
126
|
<div className={DESIGN_DOC_CARD_SUMMARY_ROW}>
|
|
132
127
|
<p className="line-clamp-3 text-ods-text-secondary text-h4">{doc.summary || ''}</p>
|
|
133
128
|
</div>
|