@flamingo-stack/openframe-frontend-core 0.0.710 → 0.0.712
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-2NASBO7O.js +1137 -0
- package/dist/{chunk-RQRX4YC3.cjs → chunk-2RKFMUNW.cjs} +46 -46
- package/dist/chunk-2Y7QZAB2.cjs +158 -0
- package/dist/chunk-34I6XI3N.js +136 -0
- package/dist/chunk-3K5ZLZE7.js +292 -0
- package/dist/chunk-3LU4UFPS.cjs +14 -0
- package/dist/{chunk-YBUT4AMG.cjs → chunk-3RKBJT6K.cjs} +8 -6
- package/dist/{chunk-LNW45N2C.js → chunk-3SEEGNRE.js} +35 -27
- package/dist/{chunk-L6Y6OOKG.cjs → chunk-3UAJLO5U.cjs} +41 -39
- package/dist/chunk-4HJRHEXD.cjs +1612 -0
- package/dist/{chunk-JPG7OHEG.js → chunk-4QFWGLZO.js} +1 -1
- package/dist/chunk-4R2L3DSA.js +14 -0
- package/dist/{chunk-36BCTE7D.js → chunk-4UYKNOZG.js} +12 -10
- package/dist/{chunk-DA5UDTLG.js → chunk-5SDELRH3.js} +5 -5
- package/dist/{chunk-CZSZSDD4.js → chunk-5Y72YQEK.js} +22 -113
- package/dist/{chunk-KUC673HM.js → chunk-6T3BTD6Q.js} +204 -982
- package/dist/{chunk-F57ECE2I.js → chunk-6YPTUHM7.js} +4 -4
- package/dist/{chunk-TDYIREDJ.js → chunk-7HNYYNKE.js} +28 -22
- package/dist/{chunk-2G7UYK35.cjs → chunk-7NSU5EQD.cjs} +57 -148
- package/dist/chunk-AAYNCJMW.cjs +48 -0
- package/dist/{chunk-FXJ3WWUB.js → chunk-ADBE7QF3.js} +5 -252
- package/dist/chunk-AECTRMGQ.cjs +334 -0
- package/dist/chunk-AGVXKD4K.js +334 -0
- package/dist/chunk-AL2GUHAJ.cjs +18 -0
- package/dist/{chunk-WMX26HB5.js → chunk-APJZBDQN.js} +12 -12
- package/dist/chunk-AUMKE74M.cjs +16 -0
- package/dist/chunk-B4NCVYEQ.cjs +292 -0
- package/dist/{chunk-2RNB5DTN.cjs → chunk-BXSRTBLU.cjs} +82 -54
- package/dist/chunk-CMGFZHCN.js +233 -0
- package/dist/chunk-CMZ3QTFQ.js +1207 -0
- package/dist/chunk-CPA2CKRZ.cjs +125 -0
- package/dist/{chunk-B73373AG.cjs → chunk-CSCJU6YC.cjs} +35 -33
- package/dist/chunk-CYUUHFXL.js +41 -0
- package/dist/chunk-DC4RTYWK.cjs +1122 -0
- package/dist/{chunk-6YKAT7NV.js → chunk-DDWFCWOE.js} +5 -7
- package/dist/{chunk-F5FF4DME.js → chunk-EFNKS5W4.js} +322 -428
- package/dist/{chunk-2KXTOP6G.cjs → chunk-EOKSKJSS.cjs} +25 -83
- package/dist/{chunk-6NTPY5QA.cjs → chunk-ETYLOZOB.cjs} +978 -2413
- package/dist/chunk-F5BPGWGT.cjs +931 -0
- package/dist/{chunk-4L6XCMOU.js → chunk-FCAVAEHF.js} +8277 -9990
- package/dist/chunk-FFT56TYB.cjs +401 -0
- package/dist/chunk-FYEJTF5Y.js +125 -0
- package/dist/chunk-G3GRYDMS.js +16 -0
- package/dist/{chunk-MR3A4MZV.js → chunk-G3OMVCID.js} +13 -7
- package/dist/chunk-G6OHIX5C.cjs +100 -0
- package/dist/{chunk-UDFRUKLC.cjs → chunk-GEDY7HQI.cjs} +2 -2
- package/dist/chunk-GQ7JJUIT.cjs +1207 -0
- package/dist/chunk-H3PKYE4N.js +18 -0
- package/dist/{chunk-CNWOMQQJ.js → chunk-H5R7U2D2.js} +206 -5
- package/dist/{chunk-SEXWHIMS.cjs → chunk-HETQETPV.cjs} +9648 -9680
- package/dist/{chunk-Y2GSOUCS.cjs → chunk-HWVUR735.cjs} +2 -2
- package/dist/chunk-II4QMH26.cjs +35 -0
- package/dist/chunk-ILNN6QRW.js +1612 -0
- package/dist/chunk-IYVFSLWJ.js +931 -0
- package/dist/{chunk-3AHTOSXJ.cjs → chunk-JGCFRTND.cjs} +23 -17
- package/dist/chunk-JHQ334WS.js +655 -0
- package/dist/{chunk-WCVZCGK5.cjs → chunk-JO5TLJPM.cjs} +129 -907
- package/dist/{chunk-JRU2CXLB.cjs → chunk-JVCAK4W3.cjs} +210 -9
- package/dist/chunk-KBJJQFYU.js +1122 -0
- package/dist/chunk-KEKCQENI.js +48 -0
- package/dist/chunk-KHXZFLIN.cjs +41 -0
- package/dist/chunk-KT3U3ZRP.cjs +1137 -0
- package/dist/chunk-L2VUINHN.js +35 -0
- package/dist/{chunk-P42V6N34.cjs → chunk-L6ZQGWCX.cjs} +4521 -6234
- package/dist/{chunk-PLYEKV3N.cjs → chunk-MA4Q5RBP.cjs} +6 -6
- package/dist/{chunk-SS5MBHDP.js → chunk-N67XG5GY.js} +10 -8
- package/dist/chunk-NPAQSMRY.js +2087 -0
- package/dist/{chunk-I3ST4PLM.js → chunk-NQWJAOHO.js} +6 -4
- package/dist/{chunk-QAOFMK2A.cjs → chunk-OBZJICEA.cjs} +8 -8
- package/dist/{chunk-6IW7TWPV.js → chunk-OPYODNV2.js} +3 -3
- package/dist/chunk-P3JMAMHP.js +401 -0
- package/dist/chunk-PPXR22YC.cjs +2087 -0
- package/dist/chunk-PSVSEN4J.cjs +655 -0
- package/dist/{chunk-4UM2ETLM.js → chunk-RBYVFPER.js} +74 -46
- package/dist/{chunk-PO33GZVY.js → chunk-ROBQ5TR7.js} +10549 -10581
- package/dist/{chunk-ZCLBYT2V.cjs → chunk-T3CLXR43.cjs} +114 -220
- package/dist/{chunk-FI6GMDO7.js → chunk-TTVOLEUS.js} +3605 -5040
- package/dist/{chunk-LM7TXMLU.cjs → chunk-ULWVKHSI.cjs} +8 -255
- package/dist/{chunk-6I4ZAFO2.cjs → chunk-UT3ODMBU.cjs} +15 -15
- package/dist/chunk-WANCBTUE.js +71 -0
- package/dist/{chunk-BIZNSF3U.cjs → chunk-WBNAEYTQ.cjs} +2 -51
- package/dist/chunk-WFPCCBOM.cjs +71 -0
- package/dist/chunk-WI6FHKD7.js +158 -0
- package/dist/chunk-WMNCVLES.js +100 -0
- package/dist/{chunk-UT4YHQZW.js → chunk-WSDT7LYL.js} +0 -49
- package/dist/chunk-WVOTC7HW.cjs +136 -0
- package/dist/{chunk-AOWDNSTM.cjs → chunk-WWJG4GVG.cjs} +93 -87
- package/dist/chunk-XXBLN4BP.cjs +233 -0
- package/dist/{chunk-4IBPRIQH.js → chunk-YBQQNDC7.js} +1 -1
- package/dist/{chunk-LFFB6EMB.js → chunk-YBS5QGON.js} +70 -128
- package/dist/{chunk-NSGXARGJ.cjs → chunk-Z5SWJW5Q.cjs} +125 -117
- package/dist/{chunk-OJLR5MEO.cjs → chunk-ZX7SCPLO.cjs} +6 -8
- package/dist/cloud-tenants-KZUZGD4A.cjs +117 -0
- package/dist/cloud-tenants-OGLVVQ7X.js +117 -0
- package/dist/components/case-studies/index.cjs +45 -29
- package/dist/components/case-studies/index.js +32 -16
- package/dist/components/chat/ask-prompts.d.ts +64 -0
- package/dist/components/chat/ask-prompts.d.ts.map +1 -0
- package/dist/components/chat/entity-cards/case-study-card.d.ts +6 -3
- package/dist/components/chat/entity-cards/case-study-card.d.ts.map +1 -1
- package/dist/components/chat/hooks/use-chat-dialog-manager.d.ts +4 -1
- package/dist/components/chat/hooks/use-chat-dialog-manager.d.ts.map +1 -1
- package/dist/components/chat/hooks/use-unified-chat.d.ts.map +1 -1
- package/dist/components/chat/index.cjs +27 -8
- package/dist/components/chat/index.d.ts +1 -0
- package/dist/components/chat/index.d.ts.map +1 -1
- package/dist/components/chat/index.js +57 -38
- package/dist/components/chat/quick-action-chip.d.ts +7 -3
- package/dist/components/chat/quick-action-chip.d.ts.map +1 -1
- package/dist/components/chat/types/component.types.d.ts +4 -0
- package/dist/components/chat/types/component.types.d.ts.map +1 -1
- package/dist/components/chat/types/unified-chat-state.types.d.ts +12 -0
- package/dist/components/chat/types/unified-chat-state.types.d.ts.map +1 -1
- package/dist/components/contact/index.cjs +29 -13
- package/dist/components/contact/index.js +28 -12
- package/dist/components/docs/index.cjs +33 -16
- package/dist/components/docs/index.js +33 -16
- package/dist/components/docs/use-scroll-spy.d.ts +23 -1
- package/dist/components/docs/use-scroll-spy.d.ts.map +1 -1
- package/dist/components/embeds/index.cjs +29 -13
- package/dist/components/embeds/index.js +28 -12
- package/dist/components/faq/faq-section.d.ts +8 -1
- package/dist/components/faq/faq-section.d.ts.map +1 -1
- package/dist/components/faq/index.cjs +30 -14
- package/dist/components/faq/index.js +29 -13
- package/dist/components/features/array-entry-manager.d.ts +5 -1
- package/dist/components/features/array-entry-manager.d.ts.map +1 -1
- package/dist/components/features/board/board.d.ts +2 -0
- package/dist/components/features/board/board.d.ts.map +1 -1
- package/dist/components/features/board/ticket-card.d.ts.map +1 -1
- package/dist/components/features/board/touch-board.d.ts +1 -1
- package/dist/components/features/board/touch-board.d.ts.map +1 -1
- package/dist/components/features/board/types.d.ts +3 -0
- package/dist/components/features/board/types.d.ts.map +1 -1
- package/dist/components/features/board/use-board-collapse.d.ts +6 -1
- package/dist/components/features/board/use-board-collapse.d.ts.map +1 -1
- package/dist/components/features/capability-explorer.d.ts +94 -0
- package/dist/components/features/capability-explorer.d.ts.map +1 -0
- package/dist/components/features/cloud-tenants/index.d.ts +14 -0
- package/dist/components/features/cloud-tenants/index.d.ts.map +1 -0
- package/dist/components/features/cloud-tenants/tenant-access-cell.d.ts +9 -0
- package/dist/components/features/cloud-tenants/tenant-access-cell.d.ts.map +1 -0
- package/dist/components/features/cloud-tenants/tenant-cell.d.ts +8 -0
- package/dist/components/features/cloud-tenants/tenant-cell.d.ts.map +1 -0
- package/dist/components/features/cloud-tenants/tenant-customer-cell.d.ts +9 -0
- package/dist/components/features/cloud-tenants/tenant-customer-cell.d.ts.map +1 -0
- package/dist/components/features/cloud-tenants/tenant-presentation.d.ts +42 -0
- package/dist/components/features/cloud-tenants/tenant-presentation.d.ts.map +1 -0
- package/dist/components/features/cloud-tenants/tenant-row.d.ts +22 -0
- package/dist/components/features/cloud-tenants/tenant-row.d.ts.map +1 -0
- package/dist/components/features/cloud-tenants/tenants-table-columns.d.ts +42 -0
- package/dist/components/features/cloud-tenants/tenants-table-columns.d.ts.map +1 -0
- package/dist/components/features/cloud-tenants/tenants-table-view.d.ts +26 -0
- package/dist/components/features/cloud-tenants/tenants-table-view.d.ts.map +1 -0
- package/dist/components/features/devices/device-last-online.d.ts +3 -0
- package/dist/components/features/devices/device-last-online.d.ts.map +1 -0
- package/dist/components/features/devices/device-name.d.ts +42 -0
- package/dist/components/features/devices/device-name.d.ts.map +1 -0
- package/dist/components/features/devices/device-selector/device-selection-mode-radio.d.ts +26 -0
- package/dist/components/features/devices/device-selector/device-selection-mode-radio.d.ts.map +1 -0
- package/dist/components/features/devices/device-selector/device-selector-skeleton.d.ts +25 -0
- package/dist/components/features/devices/device-selector/device-selector-skeleton.d.ts.map +1 -0
- package/dist/components/features/devices/device-selector/device-selector.d.ts +38 -0
- package/dist/components/features/devices/device-selector/device-selector.d.ts.map +1 -0
- package/dist/components/features/devices/device-selector/device-selector.types.d.ts +133 -0
- package/dist/components/features/devices/device-selector/device-selector.types.d.ts.map +1 -0
- package/dist/components/features/devices/device-selector/narrowing.d.ts +13 -0
- package/dist/components/features/devices/device-selector/narrowing.d.ts.map +1 -0
- package/dist/components/features/devices/device-selector/use-device-selector.d.ts +17 -0
- package/dist/components/features/devices/device-selector/use-device-selector.d.ts.map +1 -0
- package/dist/components/features/devices/device-status.d.ts +23 -0
- package/dist/components/features/devices/device-status.d.ts.map +1 -0
- package/dist/components/features/devices/device-statuses.d.ts +40 -0
- package/dist/components/features/devices/device-statuses.d.ts.map +1 -0
- package/dist/components/features/devices/device-tags-filter-button.d.ts +22 -0
- package/dist/components/features/devices/device-tags-filter-button.d.ts.map +1 -0
- package/dist/components/features/devices/device-type-icon.d.ts +11 -0
- package/dist/components/features/devices/device-type-icon.d.ts.map +1 -0
- package/dist/components/features/devices/device-type-tile.d.ts +9 -0
- package/dist/components/features/devices/device-type-tile.d.ts.map +1 -0
- package/dist/components/features/devices/devices-filter-toolbar.d.ts +46 -0
- package/dist/components/features/devices/devices-filter-toolbar.d.ts.map +1 -0
- package/dist/components/features/devices/devices-grid-filters.d.ts +25 -0
- package/dist/components/features/devices/devices-grid-filters.d.ts.map +1 -0
- package/dist/components/features/devices/devices-grid.d.ts +12 -0
- package/dist/components/features/devices/devices-grid.d.ts.map +1 -0
- package/dist/components/features/devices/devices-list.d.ts +131 -0
- package/dist/components/features/devices/devices-list.d.ts.map +1 -0
- package/dist/components/features/devices/devices-panel-header.d.ts +46 -0
- package/dist/components/features/devices/devices-panel-header.d.ts.map +1 -0
- package/dist/components/features/devices/devices-panel-view.d.ts +79 -0
- package/dist/components/features/devices/devices-panel-view.d.ts.map +1 -0
- package/dist/components/features/devices/devices-table-columns.d.ts +76 -0
- package/dist/components/features/devices/devices-table-columns.d.ts.map +1 -0
- package/dist/components/features/devices/devices-view-config.d.ts +25 -0
- package/dist/components/features/devices/devices-view-config.d.ts.map +1 -0
- package/dist/components/features/devices/index.d.ts +24 -0
- package/dist/components/features/devices/index.d.ts.map +1 -0
- package/dist/components/features/devices/types.d.ts +68 -0
- package/dist/components/features/devices/types.d.ts.map +1 -0
- package/dist/components/features/devices/use-tag-filter-modal.d.ts +50 -0
- package/dist/components/features/devices/use-tag-filter-modal.d.ts.map +1 -0
- package/dist/components/features/index.cjs +227 -12
- package/dist/components/features/index.d.ts +7 -0
- package/dist/components/features/index.d.ts.map +1 -1
- package/dist/components/features/index.js +266 -51
- package/dist/components/features/knowledge-base/index.d.ts +7 -0
- package/dist/components/features/knowledge-base/index.d.ts.map +1 -0
- package/dist/components/features/knowledge-base/knowledge-base-article-view.d.ts +44 -0
- package/dist/components/features/knowledge-base/knowledge-base-article-view.d.ts.map +1 -0
- package/dist/components/features/knowledge-base/knowledge-base-item-icon.d.ts +13 -0
- package/dist/components/features/knowledge-base/knowledge-base-item-icon.d.ts.map +1 -0
- package/dist/components/features/knowledge-base/knowledge-base-status.d.ts +8 -0
- package/dist/components/features/knowledge-base/knowledge-base-status.d.ts.map +1 -0
- package/dist/components/features/knowledge-base/knowledge-base-table.d.ts +52 -0
- package/dist/components/features/knowledge-base/knowledge-base-table.d.ts.map +1 -0
- package/dist/components/features/logs/index.d.ts +12 -0
- package/dist/components/features/logs/index.d.ts.map +1 -0
- package/dist/components/features/logs/log-drawer.d.ts +29 -0
- package/dist/components/features/logs/log-drawer.d.ts.map +1 -0
- package/dist/components/features/logs/log-source-labels.d.ts +11 -0
- package/dist/components/features/logs/log-source-labels.d.ts.map +1 -0
- package/dist/components/features/logs/logs-page-view.d.ts +32 -0
- package/dist/components/features/logs/logs-page-view.d.ts.map +1 -0
- package/dist/components/features/logs/logs-table-columns.d.ts +15 -0
- package/dist/components/features/logs/logs-table-columns.d.ts.map +1 -0
- package/dist/components/features/logs/logs-table-view.d.ts +64 -0
- package/dist/components/features/logs/logs-table-view.d.ts.map +1 -0
- package/dist/components/features/logs/types.d.ts +52 -0
- package/dist/components/features/logs/types.d.ts.map +1 -0
- package/dist/components/features/policies/compute-policy-summary.d.ts +37 -0
- package/dist/components/features/policies/compute-policy-summary.d.ts.map +1 -0
- package/dist/components/features/policies/index.d.ts +8 -0
- package/dist/components/features/policies/index.d.ts.map +1 -0
- package/dist/components/features/policies/policies-table.d.ts +34 -0
- package/dist/components/features/policies/policies-table.d.ts.map +1 -0
- package/dist/components/features/policies/policy-summary-cards.d.ts +17 -0
- package/dist/components/features/policies/policy-summary-cards.d.ts.map +1 -0
- package/dist/components/features/policies/policy-table-row.d.ts +37 -0
- package/dist/components/features/policies/policy-table-row.d.ts.map +1 -0
- package/dist/components/features/remote-session/index.d.ts +8 -0
- package/dist/components/features/remote-session/index.d.ts.map +1 -1
- package/dist/components/features/remote-session/remote-desktop-chat-message-row.d.ts +21 -0
- package/dist/components/features/remote-session/remote-desktop-chat-message-row.d.ts.map +1 -0
- package/dist/components/features/remote-session/remote-desktop-chat-panel.d.ts +31 -0
- package/dist/components/features/remote-session/remote-desktop-chat-panel.d.ts.map +1 -0
- package/dist/components/features/remote-session/remote-desktop-fullscreen-toolbar.d.ts +21 -0
- package/dist/components/features/remote-session/remote-desktop-fullscreen-toolbar.d.ts.map +1 -0
- package/dist/components/features/remote-session/remote-desktop-view.d.ts +50 -0
- package/dist/components/features/remote-session/remote-desktop-view.d.ts.map +1 -0
- package/dist/components/features/software/index.d.ts +8 -0
- package/dist/components/features/software/index.d.ts.map +1 -0
- package/dist/components/features/software/package-managers.d.ts +30 -0
- package/dist/components/features/software/package-managers.d.ts.map +1 -0
- package/dist/components/features/software/package-search-field-placeholder.d.ts +7 -0
- package/dist/components/features/software/package-search-field-placeholder.d.ts.map +1 -0
- package/dist/components/features/software/schedule-fields.d.ts +34 -0
- package/dist/components/features/software/schedule-fields.d.ts.map +1 -0
- package/dist/components/features/software/software-action-copy.d.ts +25 -0
- package/dist/components/features/software/software-action-copy.d.ts.map +1 -0
- package/dist/components/features/software/software-action-form.d.ts +71 -0
- package/dist/components/features/software/software-action-form.d.ts.map +1 -0
- package/dist/components/features/software/software-row-fields.d.ts +23 -0
- package/dist/components/features/software/software-row-fields.d.ts.map +1 -0
- package/dist/components/features/software/software-row.d.ts +18 -0
- package/dist/components/features/software/software-row.d.ts.map +1 -0
- package/dist/components/features/sortable-list/index.d.ts +1 -0
- package/dist/components/features/sortable-list/index.d.ts.map +1 -1
- package/dist/components/features/sortable-list/sortable-drag-handle.d.ts +21 -0
- package/dist/components/features/sortable-list/sortable-drag-handle.d.ts.map +1 -0
- package/dist/components/help-center-pages/index.cjs +133 -114
- package/dist/components/help-center-pages/index.js +58 -39
- package/dist/components/index.cjs +320 -82
- package/dist/components/index.js +451 -213
- package/dist/components/layout/page-heading.d.ts +12 -3
- package/dist/components/layout/page-heading.d.ts.map +1 -1
- package/dist/components/meeting-scheduler/index.cjs +120 -98
- package/dist/components/meeting-scheduler/index.js +50 -28
- package/dist/components/navigation/index.cjs +36 -17
- package/dist/components/navigation/index.d.ts +3 -0
- package/dist/components/navigation/index.d.ts.map +1 -1
- package/dist/components/navigation/index.js +36 -17
- package/dist/components/navigation/mingo-ai-button.d.ts +23 -10
- package/dist/components/navigation/mingo-ai-button.d.ts.map +1 -1
- package/dist/components/navigation/sticky-section-nav.d.ts +14 -1
- package/dist/components/navigation/sticky-section-nav.d.ts.map +1 -1
- package/dist/components/onboarding-guides/index.cjs +32 -16
- package/dist/components/onboarding-guides/index.js +31 -15
- package/dist/components/product-demo/cast.d.ts +58 -0
- package/dist/components/product-demo/cast.d.ts.map +1 -0
- package/dist/components/product-demo/fixtures/cloud-tenants.d.ts +10 -0
- package/dist/components/product-demo/fixtures/cloud-tenants.d.ts.map +1 -0
- package/dist/components/product-demo/fixtures/devices.d.ts +14 -0
- package/dist/components/product-demo/fixtures/devices.d.ts.map +1 -0
- package/dist/components/product-demo/fixtures/knowledge.d.ts +14 -0
- package/dist/components/product-demo/fixtures/knowledge.d.ts.map +1 -0
- package/dist/components/product-demo/fixtures/logs.d.ts +15 -0
- package/dist/components/product-demo/fixtures/logs.d.ts.map +1 -0
- package/dist/components/product-demo/fixtures/policies.d.ts +13 -0
- package/dist/components/product-demo/fixtures/policies.d.ts.map +1 -0
- package/dist/components/product-demo/fixtures/remote-session.d.ts +20 -0
- package/dist/components/product-demo/fixtures/remote-session.d.ts.map +1 -0
- package/dist/components/product-demo/fixtures/shared.d.ts +156 -0
- package/dist/components/product-demo/fixtures/shared.d.ts.map +1 -0
- package/dist/components/product-demo/fixtures/software-update.d.ts +19 -0
- package/dist/components/product-demo/fixtures/software-update.d.ts.map +1 -0
- package/dist/components/product-demo/fixtures/tickets-board.d.ts +8 -0
- package/dist/components/product-demo/fixtures/tickets-board.d.ts.map +1 -0
- package/dist/components/product-demo/index.cjs +112 -0
- package/dist/components/product-demo/index.d.ts +6 -0
- package/dist/components/product-demo/index.d.ts.map +1 -0
- package/dist/components/product-demo/index.js +112 -0
- package/dist/components/product-demo/product-screen.d.ts +22 -0
- package/dist/components/product-demo/product-screen.d.ts.map +1 -0
- package/dist/components/product-demo/registry.d.ts +13 -0
- package/dist/components/product-demo/registry.d.ts.map +1 -0
- package/dist/components/product-demo/screen-keys.cjs +25 -0
- package/dist/components/product-demo/screen-keys.d.ts +27 -0
- package/dist/components/product-demo/screen-keys.d.ts.map +1 -0
- package/dist/components/product-demo/screen-keys.js +20 -0
- package/dist/components/product-demo/screens/cloud-tenants.d.ts +8 -0
- package/dist/components/product-demo/screens/cloud-tenants.d.ts.map +1 -0
- package/dist/components/product-demo/screens/devices.d.ts +10 -0
- package/dist/components/product-demo/screens/devices.d.ts.map +1 -0
- package/dist/components/product-demo/screens/knowledge.d.ts +9 -0
- package/dist/components/product-demo/screens/knowledge.d.ts.map +1 -0
- package/dist/components/product-demo/screens/logs.d.ts +4 -0
- package/dist/components/product-demo/screens/logs.d.ts.map +1 -0
- package/dist/components/product-demo/screens/policies.d.ts +8 -0
- package/dist/components/product-demo/screens/policies.d.ts.map +1 -0
- package/dist/components/product-demo/screens/remote-desktop-picture.d.ts +11 -0
- package/dist/components/product-demo/screens/remote-desktop-picture.d.ts.map +1 -0
- package/dist/components/product-demo/screens/remote-session.d.ts +8 -0
- package/dist/components/product-demo/screens/remote-session.d.ts.map +1 -0
- package/dist/components/product-demo/screens/software-update.d.ts +12 -0
- package/dist/components/product-demo/screens/software-update.d.ts.map +1 -0
- package/dist/components/product-demo/screens/tickets-board.d.ts +4 -0
- package/dist/components/product-demo/screens/tickets-board.d.ts.map +1 -0
- package/dist/components/product-demo/types.d.ts +9 -0
- package/dist/components/product-demo/types.d.ts.map +1 -0
- package/dist/components/related-content/index.cjs +14 -8
- package/dist/components/related-content/index.js +13 -7
- package/dist/components/tickets/index.cjs +36 -20
- package/dist/components/tickets/index.js +35 -19
- package/dist/components/ui/file-manager/index.cjs +38 -34
- package/dist/components/ui/file-manager/index.js +8 -4
- package/dist/components/ui/index.cjs +57 -17
- package/dist/components/ui/index.d.ts +1 -0
- package/dist/components/ui/index.d.ts.map +1 -1
- package/dist/components/ui/index.js +141 -101
- package/dist/components/ui/product-screen-frame.d.ts +45 -0
- package/dist/components/ui/product-screen-frame.d.ts.map +1 -0
- package/dist/components/ui/radio-group.d.ts +5 -0
- package/dist/components/ui/radio-group.d.ts.map +1 -1
- package/dist/components/ui/snap-carousel.d.ts +11 -1
- package/dist/components/ui/snap-carousel.d.ts.map +1 -1
- package/dist/components/ui/tag.d.ts +1 -1
- package/dist/components/ui/tag.d.ts.map +1 -1
- package/dist/devices-LBMG42K6.js +81 -0
- package/dist/devices-YGYJIXQY.cjs +81 -0
- package/dist/hooks/index.cjs +17 -8
- package/dist/hooks/index.js +32 -23
- package/dist/hooks/ui/index.d.ts +1 -0
- package/dist/hooks/ui/index.d.ts.map +1 -1
- package/dist/hooks/ui/use-header-height.d.ts +12 -0
- package/dist/hooks/ui/use-header-height.d.ts.map +1 -1
- package/dist/hooks/ui/use-sticky-toolbar.d.ts +29 -0
- package/dist/hooks/ui/use-sticky-toolbar.d.ts.map +1 -0
- package/dist/hooks/use-location-hash.d.ts +2 -2
- package/dist/hooks/use-location-hash.d.ts.map +1 -1
- package/dist/hooks/use-scroll-to-hash.d.ts +7 -0
- package/dist/hooks/use-scroll-to-hash.d.ts.map +1 -1
- package/dist/index.cjs +276 -25
- package/dist/index.js +729 -478
- package/dist/knowledge-H5BIWJVI.js +108 -0
- package/dist/knowledge-KTCVJIWN.cjs +108 -0
- package/dist/logs-DB5Z7M5Q.js +216 -0
- package/dist/logs-RVCC2UQW.cjs +216 -0
- package/dist/policies-EWUULFBR.js +121 -0
- package/dist/policies-HV4IQCBV.cjs +121 -0
- package/dist/remote-session-GSGZOFDX.js +196 -0
- package/dist/remote-session-R6VAFESR.cjs +196 -0
- package/dist/software-update-6PXKRKBT.js +179 -0
- package/dist/software-update-D4OVSWSG.cjs +179 -0
- package/dist/tickets-board-BHLPAVNJ.cjs +137 -0
- package/dist/tickets-board-PYDNELSK.js +137 -0
- package/dist/types/case-study.d.ts +15 -1
- package/dist/types/case-study.d.ts.map +1 -1
- package/dist/utils/date-utils.d.ts +5 -0
- package/dist/utils/date-utils.d.ts.map +1 -1
- package/dist/utils/index.cjs +45 -2
- package/dist/utils/index.d.ts +2 -1
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +41 -3
- package/dist/utils/open-in-new-tab.d.ts +7 -0
- package/dist/utils/open-in-new-tab.d.ts.map +1 -0
- package/dist/utils/same-page-hash-nav.d.ts +31 -0
- package/dist/utils/same-page-hash-nav.d.ts.map +1 -1
- package/dist/utils/scroll-into-view.d.ts +14 -1
- package/dist/utils/scroll-into-view.d.ts.map +1 -1
- package/package.json +13 -1
- package/src/components/chat/ask-prompts.tsx +226 -0
- package/src/components/chat/embeddable-chat.tsx +38 -2
- package/src/components/chat/entity-cards/case-study-card.tsx +122 -46
- package/src/components/chat/hooks/use-chat-dialog-manager.ts +22 -4
- package/src/components/chat/hooks/use-unified-chat.ts +1 -0
- package/src/components/chat/index.ts +1 -0
- package/src/components/chat/quick-action-chip.tsx +33 -9
- package/src/components/chat/types/component.types.ts +4 -0
- package/src/components/chat/types/unified-chat-state.types.ts +13 -0
- package/src/components/docs/use-scroll-spy.ts +93 -18
- package/src/components/faq/faq-section.tsx +82 -43
- package/src/components/features/array-entry-manager.tsx +10 -1
- package/src/components/features/board/board.tsx +4 -1
- package/src/components/features/board/ticket-card.tsx +11 -1
- package/src/components/features/board/touch-board.tsx +2 -1
- package/src/components/features/board/types.ts +3 -0
- package/src/components/features/board/use-board-collapse.ts +7 -2
- package/src/components/features/capability-explorer.tsx +412 -0
- package/src/components/features/cloud-tenants/index.ts +28 -0
- package/src/components/features/cloud-tenants/tenant-access-cell.tsx +24 -0
- package/src/components/features/cloud-tenants/tenant-cell.tsx +26 -0
- package/src/components/features/cloud-tenants/tenant-customer-cell.tsx +27 -0
- package/src/components/features/cloud-tenants/tenant-presentation.ts +111 -0
- package/src/components/features/cloud-tenants/tenant-row.ts +21 -0
- package/src/components/features/cloud-tenants/tenants-table-columns.ts +30 -0
- package/src/components/features/cloud-tenants/tenants-table-view.tsx +142 -0
- package/src/components/features/devices/device-last-online.ts +6 -0
- package/src/components/features/devices/device-name.ts +51 -0
- package/src/components/features/devices/device-selector/device-selection-mode-radio.tsx +107 -0
- package/src/components/features/devices/device-selector/device-selector-skeleton.tsx +32 -0
- package/src/components/features/devices/device-selector/device-selector.tsx +799 -0
- package/src/components/features/devices/device-selector/device-selector.types.ts +138 -0
- package/src/components/features/devices/device-selector/narrowing.ts +33 -0
- package/src/components/features/devices/device-selector/use-device-selector.ts +51 -0
- package/src/components/features/devices/device-status.ts +102 -0
- package/src/components/features/devices/device-statuses.ts +88 -0
- package/src/components/features/devices/device-tags-filter-button.tsx +49 -0
- package/src/components/features/devices/device-type-icon.tsx +29 -0
- package/src/components/features/devices/device-type-tile.tsx +17 -0
- package/src/components/features/devices/devices-filter-toolbar.tsx +114 -0
- package/src/components/features/devices/devices-grid-filters.tsx +99 -0
- package/src/components/features/devices/devices-grid.tsx +86 -0
- package/src/components/features/devices/devices-list.tsx +357 -0
- package/src/components/features/devices/devices-panel-header.tsx +97 -0
- package/src/components/features/devices/devices-panel-view.tsx +261 -0
- package/src/components/features/devices/devices-table-columns.tsx +356 -0
- package/src/components/features/devices/devices-view-config.tsx +38 -0
- package/src/components/features/devices/index.ts +89 -0
- package/src/components/features/devices/types.ts +74 -0
- package/src/components/features/devices/use-tag-filter-modal.ts +109 -0
- package/src/components/features/index.ts +9 -0
- package/src/components/features/knowledge-base/index.ts +19 -0
- package/src/components/features/knowledge-base/knowledge-base-article-view.tsx +134 -0
- package/src/components/features/knowledge-base/knowledge-base-item-icon.ts +14 -0
- package/src/components/features/knowledge-base/knowledge-base-status.ts +12 -0
- package/src/components/features/knowledge-base/knowledge-base-table.tsx +180 -0
- package/src/components/features/logs/index.ts +20 -0
- package/src/components/features/logs/log-drawer.tsx +138 -0
- package/src/components/features/logs/log-source-labels.ts +25 -0
- package/src/components/features/logs/logs-page-view.tsx +100 -0
- package/src/components/features/logs/logs-table-columns.ts +16 -0
- package/src/components/features/logs/logs-table-view.tsx +509 -0
- package/src/components/features/logs/types.ts +71 -0
- package/src/components/features/policies/compute-policy-summary.ts +115 -0
- package/src/components/features/policies/index.ts +14 -0
- package/src/components/features/policies/policies-table.tsx +235 -0
- package/src/components/features/policies/policy-summary-cards.tsx +69 -0
- package/src/components/features/policies/policy-table-row.ts +37 -0
- package/src/components/features/remote-session/index.ts +8 -0
- package/src/components/features/remote-session/remote-desktop-chat-message-row.tsx +56 -0
- package/src/components/features/remote-session/remote-desktop-chat-panel.tsx +102 -0
- package/src/components/features/remote-session/remote-desktop-fullscreen-toolbar.tsx +119 -0
- package/src/components/features/remote-session/remote-desktop-view.tsx +209 -0
- package/src/components/features/software/index.ts +39 -0
- package/src/components/features/software/package-managers.ts +54 -0
- package/src/components/features/software/package-search-field-placeholder.tsx +23 -0
- package/src/components/features/software/schedule-fields.tsx +105 -0
- package/src/components/features/software/software-action-copy.ts +70 -0
- package/src/components/features/software/software-action-form.tsx +199 -0
- package/src/components/features/software/software-row-fields.tsx +105 -0
- package/src/components/features/software/software-row.ts +22 -0
- package/src/components/features/sortable-list/index.ts +1 -0
- package/src/components/features/sortable-list/sortable-drag-handle.tsx +41 -0
- package/src/components/layout/page-heading.tsx +23 -6
- package/src/components/navigation/index.ts +5 -0
- package/src/components/navigation/mingo-ai-button.tsx +37 -13
- package/src/components/navigation/sticky-section-nav.tsx +99 -1
- package/src/components/product-demo/cast.tsx +78 -0
- package/src/components/product-demo/fixtures/cloud-tenants.ts +63 -0
- package/src/components/product-demo/fixtures/devices.ts +87 -0
- package/src/components/product-demo/fixtures/knowledge.ts +48 -0
- package/src/components/product-demo/fixtures/logs.ts +103 -0
- package/src/components/product-demo/fixtures/policies.ts +77 -0
- package/src/components/product-demo/fixtures/remote-session.ts +65 -0
- package/src/components/product-demo/fixtures/shared.ts +53 -0
- package/src/components/product-demo/fixtures/software-update.ts +63 -0
- package/src/components/product-demo/fixtures/tickets-board.ts +100 -0
- package/src/components/product-demo/index.ts +7 -0
- package/src/components/product-demo/product-screen.tsx +94 -0
- package/src/components/product-demo/registry.ts +20 -0
- package/src/components/product-demo/screen-keys.ts +31 -0
- package/src/components/product-demo/screens/cloud-tenants.tsx +23 -0
- package/src/components/product-demo/screens/devices.tsx +41 -0
- package/src/components/product-demo/screens/knowledge.tsx +27 -0
- package/src/components/product-demo/screens/logs.tsx +113 -0
- package/src/components/product-demo/screens/policies.tsx +29 -0
- package/src/components/product-demo/screens/remote-desktop-picture.tsx +118 -0
- package/src/components/product-demo/screens/remote-session.tsx +46 -0
- package/src/components/product-demo/screens/software-update.tsx +97 -0
- package/src/components/product-demo/screens/tickets-board.tsx +28 -0
- package/src/components/product-demo/types.ts +10 -0
- package/src/components/ui/index.ts +1 -0
- package/src/components/ui/product-screen-frame.tsx +136 -0
- package/src/components/ui/radio-group.tsx +16 -4
- package/src/components/ui/snap-carousel.tsx +26 -1
- package/src/components/ui/tag.tsx +5 -0
- package/src/hooks/ui/index.ts +1 -0
- package/src/hooks/ui/use-header-height.ts +51 -2
- package/src/hooks/ui/use-sticky-toolbar.ts +60 -0
- package/src/hooks/use-location-hash.ts +9 -5
- package/src/hooks/use-scroll-to-hash.ts +9 -1
- package/src/types/case-study.ts +21 -1
- package/src/utils/date-utils.ts +8 -1
- package/src/utils/index.ts +5 -0
- package/src/utils/open-in-new-tab.ts +12 -0
- package/src/utils/same-page-hash-nav.ts +57 -0
- package/src/utils/scroll-into-view.ts +21 -5
- package/dist/chunk-BM5MVGH3.cjs +0 -499
- package/dist/chunk-CUME3VTQ.js +0 -144
- package/dist/chunk-CZ7Y7UG4.js +0 -732
- package/dist/chunk-FLKJYMVB.js +0 -499
- package/dist/chunk-OF6GEI5A.cjs +0 -144
- package/dist/chunk-UVTD52MD.cjs +0 -732
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
import type { ReactNode } from 'react';
|
|
2
|
+
import type { ColumnFiltersState } from '../../../ui';
|
|
3
|
+
import type { DeviceFilters, DeviceRow } from '../types';
|
|
4
|
+
export type SubTab = 'available' | 'selected';
|
|
5
|
+
/** The two ways a consumer can target devices, the picker's top-level radio. */
|
|
6
|
+
export type DeviceSelectionMode = 'specific' | 'criteria';
|
|
7
|
+
/** The narrowing the picker is showing, in the component's own vocabulary. */
|
|
8
|
+
export interface DeviceSelectorNarrowing {
|
|
9
|
+
/** Column funnels (status / customer / os), TanStack-shaped. */
|
|
10
|
+
columnFilters: ColumnFiltersState;
|
|
11
|
+
/** Tag chips in the search bar, `key:value`. */
|
|
12
|
+
tags: string[];
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Hands the picker's state to a parent that answers it from the server.
|
|
16
|
+
*
|
|
17
|
+
* Present ⇒ the component stops deriving anything from the `devices` array:
|
|
18
|
+
* `devices` IS the current tab's page, the Available/Selected split is two
|
|
19
|
+
* server queries rather than one list partitioned by `selectedIds`, and search,
|
|
20
|
+
* filters and the bulk actions are questions for the backend. Absent ⇒ every
|
|
21
|
+
* bit of that stays client-side exactly as before, which is what the other
|
|
22
|
+
* consumers (Run/Test Script, monitoring) rely on.
|
|
23
|
+
*
|
|
24
|
+
* The row action is add-or-remove by tab, not a toggle: with only a page of the
|
|
25
|
+
* assignment in hand, "is this one selected?" is not a question the client can
|
|
26
|
+
* answer. Selected always offers remove; on Available the row flips off
|
|
27
|
+
* `selectedIds`, which the parent fills from the connection's own per-row
|
|
28
|
+
* "already assigned" flag rather than from the page it holds.
|
|
29
|
+
*/
|
|
30
|
+
export interface DeviceSelectorServer<T extends DeviceRow = DeviceRow> {
|
|
31
|
+
activeTab: SubTab;
|
|
32
|
+
onTabChange: (tab: SubTab) => void;
|
|
33
|
+
/** Search box value. The parent debounces it into its query. */
|
|
34
|
+
search: string;
|
|
35
|
+
onSearchChange: (value: string) => void;
|
|
36
|
+
narrowing: DeviceSelectorNarrowing;
|
|
37
|
+
onNarrowingChange: (next: DeviceSelectorNarrowing) => void;
|
|
38
|
+
/**
|
|
39
|
+
* Options for the column funnels. Rows are paged, so options derived from
|
|
40
|
+
* them would only ever offer what page one happens to contain.
|
|
41
|
+
*/
|
|
42
|
+
filterOptions?: DeviceFilters | null;
|
|
43
|
+
/** Size of the whole assignment, the "Selected Devices (N)" label. */
|
|
44
|
+
selectedCount: number;
|
|
45
|
+
/** Server-side count for the list on screen, for the header's row count. */
|
|
46
|
+
totalCount?: number;
|
|
47
|
+
/** Row actions. Committed immediately; there is no Save to batch them into. */
|
|
48
|
+
onAdd: (device: T) => void;
|
|
49
|
+
onRemove: (device: T) => void;
|
|
50
|
+
/** Header bulk actions, resolved server-side over the current narrowing. */
|
|
51
|
+
onAddAll: () => void;
|
|
52
|
+
onRemoveAll: () => void;
|
|
53
|
+
}
|
|
54
|
+
export interface DeviceSelectorInfiniteScroll {
|
|
55
|
+
hasNextPage: boolean;
|
|
56
|
+
isFetchingNextPage: boolean;
|
|
57
|
+
onLoadMore: () => void;
|
|
58
|
+
skeletonRows: number;
|
|
59
|
+
}
|
|
60
|
+
export interface DeviceSelectorProps<T extends DeviceRow = DeviceRow> {
|
|
61
|
+
/** Devices to display. Consumer controls fetching and pre-filtering. */
|
|
62
|
+
devices: T[];
|
|
63
|
+
/** Whether the device list is loading. */
|
|
64
|
+
loading: boolean;
|
|
65
|
+
/**
|
|
66
|
+
* Currently selected device keys. Optional so a skeleton can render the real
|
|
67
|
+
* picker with nothing selected, the component falls back to an empty set and
|
|
68
|
+
* a no-op change handler. Every consumer a user can act on passes both.
|
|
69
|
+
*
|
|
70
|
+
* In `server` mode this is not the picker's own state, the parent fills it
|
|
71
|
+
* with the rows the backend reports as already assigned, so the Available tab
|
|
72
|
+
* pre-checks them instead of offering to add what is already in.
|
|
73
|
+
*/
|
|
74
|
+
selectedIds?: Set<string>;
|
|
75
|
+
/** Called when selection changes. Optional for the same reason as `selectedIds`. */
|
|
76
|
+
onSelectionChange?: (ids: Set<string>) => void;
|
|
77
|
+
/** Extract the unique string key for selection from a device. Defaults to `d.machineId ?? d.id`. */
|
|
78
|
+
getDeviceKey?: (device: T) => string | undefined;
|
|
79
|
+
/** Infinite scroll config for the available tab. */
|
|
80
|
+
infiniteScroll?: DeviceSelectorInfiniteScroll;
|
|
81
|
+
/** Disable all interactions (e.g. during save). */
|
|
82
|
+
disabled?: boolean;
|
|
83
|
+
/** Show selection mode radio group. Default: true. */
|
|
84
|
+
showSelectionModeRadio?: boolean;
|
|
85
|
+
/**
|
|
86
|
+
* Controls the selection-mode radio. Passing it is what ENABLES the "by
|
|
87
|
+
* criteria" option, a consumer that leaves it out gets the uncontrolled
|
|
88
|
+
* radio with criteria disabled and tagged "Coming Soon", which is what the
|
|
89
|
+
* monitoring and run-script pages still want.
|
|
90
|
+
*/
|
|
91
|
+
selectionMode?: DeviceSelectionMode;
|
|
92
|
+
onSelectionModeChange?: (mode: DeviceSelectionMode) => void;
|
|
93
|
+
/**
|
|
94
|
+
* The rule editor, rendered in place of the whole picker card while
|
|
95
|
+
* `selectionMode` is `'criteria'` (design 460:85294 drops the card frame
|
|
96
|
+
* there, fields and table sit straight on the page).
|
|
97
|
+
*
|
|
98
|
+
* The table below it then shows what the rule currently resolves to: no row
|
|
99
|
+
* actions, no search box, no column funnels, the rule IS the narrowing, and a
|
|
100
|
+
* second one layered on top would make the row count answer a different
|
|
101
|
+
* question than the one the user is editing.
|
|
102
|
+
*/
|
|
103
|
+
criteriaContent?: ReactNode;
|
|
104
|
+
/** Extra content rendered above the selection radio / tabs (e.g. ScheduleInfoBar). */
|
|
105
|
+
headerContent?: ReactNode;
|
|
106
|
+
/** Table rowKey. Default: "id". */
|
|
107
|
+
rowKey?: string;
|
|
108
|
+
/** "replace" replaces entire selection on Add All; "merge" adds to existing. Default: "merge". */
|
|
109
|
+
addAllBehavior?: 'replace' | 'merge';
|
|
110
|
+
/** Allow only one device to be selected at a time. Default: false. */
|
|
111
|
+
singleSelect?: boolean;
|
|
112
|
+
/** Return a tooltip string if the device should be disabled, or undefined if enabled. */
|
|
113
|
+
isDeviceDisabled?: (device: T) => string | undefined;
|
|
114
|
+
/**
|
|
115
|
+
* The search and tag filter row over the table. Default true; a host that
|
|
116
|
+
* shows a fixed list (nothing to search) passes false.
|
|
117
|
+
*/
|
|
118
|
+
showToolbar?: boolean;
|
|
119
|
+
/** Column ids to drop from the table (e.g. `['organization', 'status']` to leave only device + os). */
|
|
120
|
+
hideColumns?: string[];
|
|
121
|
+
/**
|
|
122
|
+
* Server-side size of the list on screen, for the header's row count. Only
|
|
123
|
+
* needed when the rows are paged but `server` is not in play (the criteria
|
|
124
|
+
* preview); `server.totalCount` covers the server-driven picker.
|
|
125
|
+
*/
|
|
126
|
+
totalCount?: number;
|
|
127
|
+
/**
|
|
128
|
+
* Switches the picker to server-driven mode, see {@link DeviceSelectorServer}.
|
|
129
|
+
* Omit for the client-side behaviour every other consumer uses.
|
|
130
|
+
*/
|
|
131
|
+
server?: DeviceSelectorServer<T>;
|
|
132
|
+
}
|
|
133
|
+
//# sourceMappingURL=device-selector.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"device-selector.types.d.ts","sourceRoot":"","sources":["../../../../../src/components/features/devices/device-selector/device-selector.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAEzD,MAAM,MAAM,MAAM,GAAG,WAAW,GAAG,UAAU,CAAC;AAE9C,gFAAgF;AAChF,MAAM,MAAM,mBAAmB,GAAG,UAAU,GAAG,UAAU,CAAC;AAE1D,8EAA8E;AAC9E,MAAM,WAAW,uBAAuB;IACtC,gEAAgE;IAChE,aAAa,EAAE,kBAAkB,CAAC;IAClC,gDAAgD;IAChD,IAAI,EAAE,MAAM,EAAE,CAAC;CAChB;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,WAAW,oBAAoB,CAAC,CAAC,SAAS,SAAS,GAAG,SAAS;IACnE,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,gEAAgE;IAChE,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,SAAS,EAAE,uBAAuB,CAAC;IACnC,iBAAiB,EAAE,CAAC,IAAI,EAAE,uBAAuB,KAAK,IAAI,CAAC;IAC3D;;;OAGG;IACH,aAAa,CAAC,EAAE,aAAa,GAAG,IAAI,CAAC;IACrC,sEAAsE;IACtE,aAAa,EAAE,MAAM,CAAC;IACtB,4EAA4E;IAC5E,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,+EAA+E;IAC/E,KAAK,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,IAAI,CAAC;IAC3B,QAAQ,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,IAAI,CAAC;IAC9B,4EAA4E;IAC5E,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,WAAW,EAAE,MAAM,IAAI,CAAC;CACzB;AAED,MAAM,WAAW,4BAA4B;IAC3C,WAAW,EAAE,OAAO,CAAC;IACrB,kBAAkB,EAAE,OAAO,CAAC;IAC5B,UAAU,EAAE,MAAM,IAAI,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,mBAAmB,CAAC,CAAC,SAAS,SAAS,GAAG,SAAS;IAClE,wEAAwE;IACxE,OAAO,EAAE,CAAC,EAAE,CAAC;IACb,0CAA0C;IAC1C,OAAO,EAAE,OAAO,CAAC;IACjB;;;;;;;;OAQG;IACH,WAAW,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC1B,oFAAoF;IACpF,iBAAiB,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC;IAC/C,oGAAoG;IACpG,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,MAAM,GAAG,SAAS,CAAC;IACjD,oDAAoD;IACpD,cAAc,CAAC,EAAE,4BAA4B,CAAC;IAC9C,mDAAmD;IACnD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,sDAAsD;IACtD,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC;;;;;OAKG;IACH,aAAa,CAAC,EAAE,mBAAmB,CAAC;IACpC,qBAAqB,CAAC,EAAE,CAAC,IAAI,EAAE,mBAAmB,KAAK,IAAI,CAAC;IAC5D;;;;;;;;;OASG;IACH,eAAe,CAAC,EAAE,SAAS,CAAC;IAC5B,sFAAsF;IACtF,aAAa,CAAC,EAAE,SAAS,CAAC;IAC1B,mCAAmC;IACnC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,kGAAkG;IAClG,cAAc,CAAC,EAAE,SAAS,GAAG,OAAO,CAAC;IACrC,sEAAsE;IACtE,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,yFAAyF;IACzF,gBAAgB,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,MAAM,GAAG,SAAS,CAAC;IACrD;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,uGAAuG;IACvG,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;OAGG;IACH,MAAM,CAAC,EAAE,oBAAoB,CAAC,CAAC,CAAC,CAAC;CAClC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { DeviceFilterInput } from '../types';
|
|
2
|
+
import type { DeviceSelectorNarrowing } from './device-selector.types';
|
|
3
|
+
export declare const EMPTY_NARROWING: DeviceSelectorNarrowing;
|
|
4
|
+
/**
|
|
5
|
+
* Turns the picker's narrowing vocabulary into the backend's.
|
|
6
|
+
*
|
|
7
|
+
* The component speaks in table column filters and `key:value` chips because
|
|
8
|
+
* that is what its controls produce; the owner's device fields take a
|
|
9
|
+
* `DeviceFilterInput`. A plain-text chip (no colon) stays on screen but carries
|
|
10
|
+
* no filter, same as the devices page.
|
|
11
|
+
*/
|
|
12
|
+
export declare function narrowingToFilter(narrowing: DeviceSelectorNarrowing): DeviceFilterInput;
|
|
13
|
+
//# sourceMappingURL=narrowing.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"narrowing.d.ts","sourceRoot":"","sources":["../../../../../src/components/features/devices/device-selector/narrowing.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAClD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAEvE,eAAO,MAAM,eAAe,EAAE,uBAAyD,CAAC;AAExF;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,uBAAuB,GAAG,iBAAiB,CAmBvF"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { DeviceRow } from '../types';
|
|
2
|
+
import type { SubTab } from './device-selector.types';
|
|
3
|
+
interface UseDeviceSelectorParams<T extends DeviceRow> {
|
|
4
|
+
devices: T[];
|
|
5
|
+
selectedIds: Set<string>;
|
|
6
|
+
getDeviceKey: (device: T) => string | undefined;
|
|
7
|
+
}
|
|
8
|
+
export declare function useDeviceSelector<T extends DeviceRow>({ devices, selectedIds, getDeviceKey, }: UseDeviceSelectorParams<T>): {
|
|
9
|
+
searchTerm: string;
|
|
10
|
+
setSearchTerm: import("react").Dispatch<import("react").SetStateAction<string>>;
|
|
11
|
+
activeSubTab: SubTab;
|
|
12
|
+
handleTabChange: (tabId: string) => void;
|
|
13
|
+
filteredDevices: T[];
|
|
14
|
+
displayDevices: T[];
|
|
15
|
+
};
|
|
16
|
+
export {};
|
|
17
|
+
//# sourceMappingURL=use-device-selector.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-device-selector.d.ts","sourceRoot":"","sources":["../../../../../src/components/features/devices/device-selector/use-device-selector.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAC1C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AAEtD,UAAU,uBAAuB,CAAC,CAAC,SAAS,SAAS;IACnD,OAAO,EAAE,CAAC,EAAE,CAAC;IACb,WAAW,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACzB,YAAY,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,MAAM,GAAG,SAAS,CAAC;CACjD;AAED,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,SAAS,EAAE,EACrD,OAAO,EACP,WAAW,EACX,YAAY,GACb,EAAE,uBAAuB,CAAC,CAAC,CAAC;;;;6BAsBiB,MAAM;;;EAanD"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Device status configuration utilities
|
|
3
|
+
* Provides consistent status mapping across the application
|
|
4
|
+
*/
|
|
5
|
+
import type { OSPlatformId } from '../../../utils/os-platforms';
|
|
6
|
+
export type DeviceStatusVariant = 'success' | 'error' | 'warning' | 'grey' | 'critical';
|
|
7
|
+
export type DeviceCardStatus = 'active' | 'inactive' | 'offline' | 'warning' | 'error';
|
|
8
|
+
export interface DeviceStatusConfig {
|
|
9
|
+
label: string;
|
|
10
|
+
variant: DeviceStatusVariant;
|
|
11
|
+
cardStatus: DeviceCardStatus;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Get status configuration for display
|
|
15
|
+
* Used by both table and grid views for consistent status representation
|
|
16
|
+
*/
|
|
17
|
+
export declare function getDeviceStatusConfig(status: string | null | undefined): DeviceStatusConfig;
|
|
18
|
+
/**
|
|
19
|
+
* Get operating system type for DeviceCard component
|
|
20
|
+
* Uses centralized OS type system from ui-kit
|
|
21
|
+
*/
|
|
22
|
+
export declare function getDeviceOperatingSystem(osType?: string): OSPlatformId | undefined;
|
|
23
|
+
//# sourceMappingURL=device-status.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"device-status.d.ts","sourceRoot":"","sources":["../../../../src/components/features/devices/device-status.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAGhE,MAAM,MAAM,mBAAmB,GAAG,SAAS,GAAG,OAAO,GAAG,SAAS,GAAG,MAAM,GAAG,UAAU,CAAC;AACxF,MAAM,MAAM,gBAAgB,GAAG,QAAQ,GAAG,UAAU,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,CAAC;AAEvF,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,mBAAmB,CAAC;IAC7B,UAAU,EAAE,gBAAgB,CAAC;CAC9B;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,kBAAkB,CAsE3F;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS,CAIlF"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import type { DeviceFilterInput } from './types';
|
|
2
|
+
/**
|
|
3
|
+
* Default visible device statuses (excludes ARCHIVED and DELETED).
|
|
4
|
+
* Deleted devices live on the dedicated /devices/archive page as read-only
|
|
5
|
+
* records. Use this constant for all device queries that should show "active"
|
|
6
|
+
* devices only.
|
|
7
|
+
*
|
|
8
|
+
* NOTE: If new statuses are added to the backend, they must be added here
|
|
9
|
+
* to appear in default views.
|
|
10
|
+
*/
|
|
11
|
+
export declare const DEVICE_STATUS: {
|
|
12
|
+
readonly ONLINE: "ONLINE";
|
|
13
|
+
readonly OFFLINE: "OFFLINE";
|
|
14
|
+
readonly ACTIVE: "ACTIVE";
|
|
15
|
+
readonly INACTIVE: "INACTIVE";
|
|
16
|
+
readonly MAINTENANCE: "MAINTENANCE";
|
|
17
|
+
readonly DECOMMISSIONED: "DECOMMISSIONED";
|
|
18
|
+
readonly PENDING: "PENDING";
|
|
19
|
+
readonly PENDING_DELETION: "PENDING_DELETION";
|
|
20
|
+
readonly ARCHIVED: "ARCHIVED";
|
|
21
|
+
readonly DELETED: "DELETED";
|
|
22
|
+
};
|
|
23
|
+
export type DeviceStatus = (typeof DEVICE_STATUS)[keyof typeof DEVICE_STATUS];
|
|
24
|
+
export declare const DEFAULT_VISIBLE_STATUSES: ["ONLINE", "OFFLINE", "PENDING", "PENDING_DELETION"];
|
|
25
|
+
export declare const DEFAULT_DASHBOARD_STATUSES: ["ONLINE", "OFFLINE", "PENDING", "PENDING_DELETION", "ARCHIVED", "DELETED"];
|
|
26
|
+
export declare const DEFAULT_DEVICES_LIST_STATUSES: ["ONLINE", "OFFLINE", "PENDING_DELETION"];
|
|
27
|
+
export declare const DEVICE_ENRICHMENT_STATUSES: ["ONLINE", "OFFLINE", "ARCHIVED", "DELETED"];
|
|
28
|
+
/**
|
|
29
|
+
* The device-registry filter the monitoring tables read: the enrichment statuses
|
|
30
|
+
* as a ready `DeviceFilterInput`. Shared so the policy and query tables ask for
|
|
31
|
+
* the same fleet and therefore share one cached fetch.
|
|
32
|
+
*/
|
|
33
|
+
export declare const DEVICE_ENRICHMENT_FILTER: DeviceFilterInput;
|
|
34
|
+
export type DefaultVisibleStatus = (typeof DEFAULT_VISIBLE_STATUSES)[number];
|
|
35
|
+
/**
|
|
36
|
+
* Statuses that are hidden by default (for documentation/reference)
|
|
37
|
+
*/
|
|
38
|
+
export declare const HIDDEN_DEVICE_STATUSES: readonly ["ARCHIVED", "DELETED"];
|
|
39
|
+
export type HiddenDeviceStatus = (typeof HIDDEN_DEVICE_STATUSES)[number];
|
|
40
|
+
//# sourceMappingURL=device-statuses.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"device-statuses.d.ts","sourceRoot":"","sources":["../../../../src/components/features/devices/device-statuses.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAEjD;;;;;;;;GAQG;AAEH,eAAO,MAAM,aAAa;;;;;;;;;;;CAiBhB,CAAC;AAEX,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,OAAO,aAAa,CAAC,CAAC;AAE9E,eAAO,MAAM,wBAAwB,sDAKR,CAAC;AAI9B,eAAO,MAAM,0BAA0B,6EAOV,CAAC;AAO9B,eAAO,MAAM,6BAA6B,2CAIb,CAAC;AAM9B,eAAO,MAAM,0BAA0B,8CAKV,CAAC;AAE9B;;;;GAIG;AACH,eAAO,MAAM,wBAAwB,EAAE,iBAAiE,CAAC;AAEzG,MAAM,MAAM,oBAAoB,GAAG,CAAC,OAAO,wBAAwB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE7E;;GAEG;AACH,eAAO,MAAM,sBAAsB,kCAA2D,CAAC;AAE/F,MAAM,MAAM,kBAAkB,GAAG,CAAC,OAAO,sBAAsB,CAAC,CAAC,MAAM,CAAC,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The "Device Tags" filter trigger: labelled from md, icon-only below it.
|
|
3
|
+
*
|
|
4
|
+
* Breakpoint decided in CSS, and that is the point. Both call sites used to branch
|
|
5
|
+
* on a `useMdUp()` value threaded down as a prop, and that hook answers `undefined`
|
|
6
|
+
* until an effect has run, so `isMdUp ? labelled : iconOnly` took the icon-only
|
|
7
|
+
* arm on the FIRST render at every width, server included. On desktop the button
|
|
8
|
+
* appeared as a bare square and grew its label a frame later, which also nudged the
|
|
9
|
+
* search input beside it.
|
|
10
|
+
*
|
|
11
|
+
* Two buttons rather than one with a hidden label: `size="icon"` is not just "no
|
|
12
|
+
* text", it is a square box (`w-11 content-md:w-12`), uniform padding and a smaller glyph
|
|
13
|
+
* below md. Reproducing that on a `size="default"` button would mean four
|
|
14
|
+
* `max-md:` overrides fighting the lib's cva variants; letting each variant render
|
|
15
|
+
* itself and hiding one in CSS keeps both exactly as the design system defines them.
|
|
16
|
+
* Only one is ever visible, and neither is interactive while hidden (`display: none`
|
|
17
|
+
* removes it from the tab order).
|
|
18
|
+
*/
|
|
19
|
+
export declare function DeviceTagsFilterButton({ onClick }: {
|
|
20
|
+
onClick: () => void;
|
|
21
|
+
}): import("react").JSX.Element;
|
|
22
|
+
//# sourceMappingURL=device-tags-filter-button.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"device-tags-filter-button.d.ts","sourceRoot":"","sources":["../../../../src/components/features/devices/device-tags-filter-button.tsx"],"names":[],"mappings":"AAKA;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,sBAAsB,CAAC,EAAE,OAAO,EAAE,EAAE;IAAE,OAAO,EAAE,MAAM,IAAI,CAAA;CAAE,+BAyB1E"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type React from 'react';
|
|
2
|
+
/**
|
|
3
|
+
* Returns the icon for a device type (desktop / laptop / server / mobile / tablet),
|
|
4
|
+
* using the current icons-v2 set. Replaces the deprecated `getDeviceTypeIcon` from
|
|
5
|
+
* the core library.
|
|
6
|
+
*
|
|
7
|
+
* Returns `undefined` for unknown / missing types so the caller can skip rendering.
|
|
8
|
+
* A row that names a device draws it through `DeviceTypeTile`.
|
|
9
|
+
*/
|
|
10
|
+
export declare function renderDeviceTypeIcon(type?: string, className?: string): React.ReactNode;
|
|
11
|
+
//# sourceMappingURL=device-type-icon.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"device-type-icon.d.ts","sourceRoot":"","sources":["../../../../src/components/features/devices/device-type-icon.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAK/B;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,SAAS,GAAE,MAA2B,GAAG,KAAK,CAAC,SAAS,CAe3G"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A device's type icon in its 32px tile, the leading mark of every row that
|
|
3
|
+
* names a device. Card-filled, so it keeps its edge on any row ground; an
|
|
4
|
+
* unknown type draws the monitor rather than an empty tile.
|
|
5
|
+
*/
|
|
6
|
+
export declare function DeviceTypeTile({ type }: {
|
|
7
|
+
type: string | null | undefined;
|
|
8
|
+
}): import("react").JSX.Element;
|
|
9
|
+
//# sourceMappingURL=device-type-tile.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"device-type-tile.d.ts","sourceRoot":"","sources":["../../../../src/components/features/devices/device-type-tile.tsx"],"names":[],"mappings":"AAKA;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,EAAE,IAAI,EAAE,EAAE;IAAE,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAA;CAAE,+BAM3E"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import type { ComponentProps, Ref } from 'react';
|
|
2
|
+
import { FilterModal, type TagSearchOption } from '../../ui';
|
|
3
|
+
type FilterModalProps = ComponentProps<typeof FilterModal>;
|
|
4
|
+
export interface DevicesFilterToolbarProps {
|
|
5
|
+
/** Search input, current value (debounce/URL sync owned by the parent). */
|
|
6
|
+
searchValue: string;
|
|
7
|
+
onSearchChange: (value: string) => void;
|
|
8
|
+
/** Already-selected tag chips rendered inside the search input. */
|
|
9
|
+
tags: TagSearchOption<string>[];
|
|
10
|
+
onTagRemove: (value: string) => void;
|
|
11
|
+
onClearAll: () => void;
|
|
12
|
+
onSubmit: (value: string) => void;
|
|
13
|
+
/** Open the Device Tags modal. */
|
|
14
|
+
onOpenFilterModal: () => void;
|
|
15
|
+
/** FilterModal state, proxied straight through. */
|
|
16
|
+
isFilterModalOpen: boolean;
|
|
17
|
+
onCloseFilterModal: () => void;
|
|
18
|
+
filterGroups: FilterModalProps['filterGroups'];
|
|
19
|
+
onFilterChange: FilterModalProps['onFilterChange'];
|
|
20
|
+
currentFilters?: FilterModalProps['currentFilters'];
|
|
21
|
+
tagFilterKeys: FilterModalProps['tagFilterKeys'];
|
|
22
|
+
selectedTags: FilterModalProps['selectedTags'];
|
|
23
|
+
onTagsChange: FilterModalProps['onTagsChange'];
|
|
24
|
+
isLoading?: boolean;
|
|
25
|
+
/**
|
|
26
|
+
* When true (default), pins the toolbar at the top with the same negative-margin
|
|
27
|
+
* bleed used by `DevicesPanel` (so the search row's background covers the
|
|
28
|
+
* `PageLayout` padding). Pass `false` when mounting inside a container that
|
|
29
|
+
* shouldn't bleed (e.g. a modal).
|
|
30
|
+
*/
|
|
31
|
+
sticky?: boolean;
|
|
32
|
+
/**
|
|
33
|
+
* Attach to the pinned row so a caller can measure it, its height is what the
|
|
34
|
+
* sticky table header parks below, and it CHANGES as the tag-chip row appears
|
|
35
|
+
* and collapses. See `useStickyToolbar`.
|
|
36
|
+
*/
|
|
37
|
+
toolbarRef?: Ref<HTMLDivElement>;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Search bar + "Device Tags" button + FilterModal. Pure presentation ,
|
|
41
|
+
* all state (search value, modal open/close, filter options) is owned by
|
|
42
|
+
* the parent. Reused by `DevicesPanel` and (eventually) `DeviceSelector`.
|
|
43
|
+
*/
|
|
44
|
+
export declare function DevicesFilterToolbar({ searchValue, onSearchChange, tags, onTagRemove, onClearAll, onSubmit, onOpenFilterModal, isFilterModalOpen, onCloseFilterModal, filterGroups, onFilterChange, currentFilters, tagFilterKeys, selectedTags, onTagsChange, isLoading, sticky, toolbarRef, }: DevicesFilterToolbarProps): import("react").JSX.Element;
|
|
45
|
+
export {};
|
|
46
|
+
//# sourceMappingURL=devices-filter-toolbar.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"devices-filter-toolbar.d.ts","sourceRoot":"","sources":["../../../../src/components/features/devices/devices-filter-toolbar.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAEjD,OAAO,EAAE,WAAW,EAAkB,KAAK,eAAe,EAAE,MAAM,UAAU,CAAC;AAG7E,KAAK,gBAAgB,GAAG,cAAc,CAAC,OAAO,WAAW,CAAC,CAAC;AAE3D,MAAM,WAAW,yBAAyB;IACxC,2EAA2E;IAC3E,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,mEAAmE;IACnE,IAAI,EAAE,eAAe,CAAC,MAAM,CAAC,EAAE,CAAC;IAChC,WAAW,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,UAAU,EAAE,MAAM,IAAI,CAAC;IACvB,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAElC,kCAAkC;IAClC,iBAAiB,EAAE,MAAM,IAAI,CAAC;IAE9B,mDAAmD;IACnD,iBAAiB,EAAE,OAAO,CAAC;IAC3B,kBAAkB,EAAE,MAAM,IAAI,CAAC;IAC/B,YAAY,EAAE,gBAAgB,CAAC,cAAc,CAAC,CAAC;IAC/C,cAAc,EAAE,gBAAgB,CAAC,gBAAgB,CAAC,CAAC;IACnD,cAAc,CAAC,EAAE,gBAAgB,CAAC,gBAAgB,CAAC,CAAC;IACpD,aAAa,EAAE,gBAAgB,CAAC,eAAe,CAAC,CAAC;IACjD,YAAY,EAAE,gBAAgB,CAAC,cAAc,CAAC,CAAC;IAC/C,YAAY,EAAE,gBAAgB,CAAC,cAAc,CAAC,CAAC;IAC/C,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB;;;;;OAKG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB;;;;OAIG;IACH,UAAU,CAAC,EAAE,GAAG,CAAC,cAAc,CAAC,CAAC;CAClC;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,EACnC,WAAW,EACX,cAAc,EACd,IAAI,EACJ,WAAW,EACX,UAAU,EACV,QAAQ,EACR,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EAClB,YAAY,EACZ,cAAc,EACd,cAAc,EACd,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,SAAS,EACT,MAAa,EACb,UAAU,GACX,EAAE,yBAAyB,+BAwC3B"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type { DeviceFilterColumn } from './devices-table-columns';
|
|
2
|
+
export interface DevicesGridFiltersProps {
|
|
3
|
+
filterColumns: DeviceFilterColumn[];
|
|
4
|
+
/** Current filter values keyed by column id (same shape as table's tableFilters). */
|
|
5
|
+
currentFilters: Record<string, string[]>;
|
|
6
|
+
/** Called with the next filters Record on apply/reset. Should write to URL params. */
|
|
7
|
+
onFilterChange: (filters: Record<string, string[]>) => void;
|
|
8
|
+
/** Server-side count for the "N results" tail. */
|
|
9
|
+
totalCount?: number;
|
|
10
|
+
/**
|
|
11
|
+
* The facet query is still out. Keeps every filterable column in the row even
|
|
12
|
+
* though its options haven't arrived, the LABELS are static, so the row can
|
|
13
|
+
* be drawn at its real height instead of collapsing to nothing and pushing the
|
|
14
|
+
* grid down a row the moment the facets land. Used by the panel's Suspense
|
|
15
|
+
* fallback, which renders this inert.
|
|
16
|
+
*/
|
|
17
|
+
isLoading?: boolean;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* DevicesGridFilters, horizontal row of dropdown filters shown above the
|
|
21
|
+
* devices grid. Mirrors the column-header filters from the table view so the
|
|
22
|
+
* same filter set is available in both layouts.
|
|
23
|
+
*/
|
|
24
|
+
export declare function DevicesGridFilters({ filterColumns, currentFilters, onFilterChange, totalCount, isLoading, }: DevicesGridFiltersProps): import("react").JSX.Element | null;
|
|
25
|
+
//# sourceMappingURL=devices-grid-filters.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"devices-grid-filters.d.ts","sourceRoot":"","sources":["../../../../src/components/features/devices/devices-grid-filters.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAElE,MAAM,WAAW,uBAAuB;IACtC,aAAa,EAAE,kBAAkB,EAAE,CAAC;IACpC,qFAAqF;IACrF,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IACzC,sFAAsF;IACtF,cAAc,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,KAAK,IAAI,CAAC;IAC5D,kDAAkD;IAClD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,EACjC,aAAa,EACb,cAAc,EACd,cAAc,EACd,UAAU,EACV,SAAiB,GAClB,EAAE,uBAAuB,sCA8DzB"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type React from 'react';
|
|
2
|
+
import type { DeviceRow } from './types';
|
|
3
|
+
export interface DevicesGridProps<T extends DeviceRow = DeviceRow> {
|
|
4
|
+
devices: T[];
|
|
5
|
+
isLoading: boolean;
|
|
6
|
+
hasNextPage?: boolean;
|
|
7
|
+
isFetchingNextPage?: boolean;
|
|
8
|
+
sentinelRef?: React.RefObject<HTMLDivElement | null>;
|
|
9
|
+
emptyMessage?: string;
|
|
10
|
+
}
|
|
11
|
+
export declare function DevicesGrid<T extends DeviceRow = DeviceRow>({ devices, isLoading, hasNextPage, isFetchingNextPage, sentinelRef, emptyMessage, }: DevicesGridProps<T>): React.JSX.Element;
|
|
12
|
+
//# sourceMappingURL=devices-grid.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"devices-grid.d.ts","sourceRoot":"","sources":["../../../../src/components/features/devices/devices-grid.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAO/B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAEzC,MAAM,WAAW,gBAAgB,CAAC,CAAC,SAAS,SAAS,GAAG,SAAS;IAC/D,OAAO,EAAE,CAAC,EAAE,CAAC;IACb,SAAS,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;IACrD,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,wBAAgB,WAAW,CAAC,CAAC,SAAS,SAAS,GAAG,SAAS,EAAE,EAC3D,OAAO,EACP,SAAS,EACT,WAAW,EACX,kBAAkB,EAClB,WAAW,EACX,YAAwE,GACzE,EAAE,gBAAgB,CAAC,CAAC,CAAC,qBA0DrB"}
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
import { type ReactNode } from 'react';
|
|
2
|
+
import { type NoDataProps } from '../../ui';
|
|
3
|
+
import type { DeviceFilters, DeviceRow } from './types';
|
|
4
|
+
/**
|
|
5
|
+
* What the user has narrowed the list down to. One shape for every surface, so a
|
|
6
|
+
* caller can keep it in the URL, in local state, or hand it straight to a server
|
|
7
|
+
* filter without translating between vocabularies.
|
|
8
|
+
*/
|
|
9
|
+
export interface DevicesListNarrowing {
|
|
10
|
+
search: string;
|
|
11
|
+
statuses: string[];
|
|
12
|
+
osTypes: string[];
|
|
13
|
+
organizationIds: string[];
|
|
14
|
+
/** Chips as typed. `key:value` narrows; a bare word stays visible and filters nothing. */
|
|
15
|
+
tags: string[];
|
|
16
|
+
}
|
|
17
|
+
export declare const EMPTY_DEVICES_NARROWING: DevicesListNarrowing;
|
|
18
|
+
/** True when anything at all is narrowing the list, an empty list then means "no matches", not "nothing here". */
|
|
19
|
+
export declare function isNarrowed(narrowing: DevicesListNarrowing): boolean;
|
|
20
|
+
export interface DevicesListProps<T extends DeviceRow = DeviceRow> {
|
|
21
|
+
/**
|
|
22
|
+
* The rows to render, already narrowed. This component never filters and never
|
|
23
|
+
* fetches, see the module docstring.
|
|
24
|
+
*/
|
|
25
|
+
devices: T[];
|
|
26
|
+
isLoading?: boolean;
|
|
27
|
+
/**
|
|
28
|
+
* Facet counts behind the column funnels and the mobile filter modal, **from
|
|
29
|
+
* the server**, the `deviceFilters` query, scoped the same way the rows are.
|
|
30
|
+
*
|
|
31
|
+
* NEVER derive these from `devices`. Counts computed off the loaded rows read
|
|
32
|
+
* as facts about the list and are not: they change with every page fetched and
|
|
33
|
+
* disagree with the server the moment anything is narrowed. A surface with no
|
|
34
|
+
* facet query of its own passes `null` (or omits this) and the table drops the
|
|
35
|
+
* funnels entirely, a control that opens onto nothing is worse than none.
|
|
36
|
+
*/
|
|
37
|
+
deviceFilters?: DeviceFilters | null;
|
|
38
|
+
/**
|
|
39
|
+
* The facet query has not answered yet, keeps the funnels drawn but inert,
|
|
40
|
+
* so they don't appear out of nowhere when it does. Key it on the DATA
|
|
41
|
+
* (`!deviceFilters`), never on a react-query `isLoading`, which reads false
|
|
42
|
+
* before the request has started.
|
|
43
|
+
*/
|
|
44
|
+
filtersPending?: boolean;
|
|
45
|
+
/**
|
|
46
|
+
* True while the rows on screen are the PREVIOUS result and a refetch is in
|
|
47
|
+
* flight (deferred query variables, see `useDeferredQuery`). Dims them,
|
|
48
|
+
* rather than tearing the list down to a skeleton on every keystroke.
|
|
49
|
+
*/
|
|
50
|
+
isPending?: boolean;
|
|
51
|
+
/**
|
|
52
|
+
* Row count beside the column header: the server's total for the CURRENT
|
|
53
|
+
* narrowing (a connection's `filteredCount`), not the number of rows fetched
|
|
54
|
+
* so far. Honest at any point precisely because the narrowing is the server's
|
|
55
|
+
* too, a count taken from a client-side filter would contradict it.
|
|
56
|
+
*/
|
|
57
|
+
totalCount?: number;
|
|
58
|
+
/** Controlled narrowing. Omit both to render a read-only list (skeletons, previews). */
|
|
59
|
+
narrowing?: DevicesListNarrowing;
|
|
60
|
+
onNarrowingChange?: (next: DevicesListNarrowing) => void;
|
|
61
|
+
/** Column ids to drop, e.g. `['organization']` when the list is already scoped to one customer. */
|
|
62
|
+
hideColumns?: string[];
|
|
63
|
+
/** Filter keys to drop from the funnels AND the modal; the column itself stays. */
|
|
64
|
+
hideFilters?: string[];
|
|
65
|
+
/** Per-row overflow menu. Omit for a read-only list. */
|
|
66
|
+
rowActions?: (device: T) => ReactNode;
|
|
67
|
+
/**
|
|
68
|
+
* Shown when the list is empty and nothing is narrowing it, the design's
|
|
69
|
+
* `data-placeholder`: icon over title over description, rendered by the
|
|
70
|
+
* table's own `DataTableEmpty`.
|
|
71
|
+
*/
|
|
72
|
+
emptyState?: NoDataProps;
|
|
73
|
+
/**
|
|
74
|
+
* Shown when narrowing is what emptied it. Defaults to the table's standard
|
|
75
|
+
* "no results" state (search icon, "Try adjusting your search or filters"),
|
|
76
|
+
* which is the right answer on every list, override only to name the rows.
|
|
77
|
+
*/
|
|
78
|
+
narrowedEmptyState?: NoDataProps;
|
|
79
|
+
skeletonRows?: number;
|
|
80
|
+
infiniteScroll?: {
|
|
81
|
+
hasNextPage: boolean;
|
|
82
|
+
isFetchingNextPage: boolean;
|
|
83
|
+
onLoadMore: () => void;
|
|
84
|
+
skeletonRows?: number;
|
|
85
|
+
};
|
|
86
|
+
/**
|
|
87
|
+
* Pins the search / tag toolbar to the top of the scroll area, as the fleet
|
|
88
|
+
* list does. On by default: a list long enough to scroll is exactly the one
|
|
89
|
+
* whose search must stay reachable. Turn it off only where something else is
|
|
90
|
+
* already pinned at the top.
|
|
91
|
+
*/
|
|
92
|
+
stickyToolbar?: boolean;
|
|
93
|
+
/**
|
|
94
|
+
* Overrides the wrapper around the toolbar and the table. By default it adds
|
|
95
|
+
* NO gap while the toolbar is pinned, the pinned row carries its own `p-l`,
|
|
96
|
+
* and a gap on top of it doubles the space under the search box.
|
|
97
|
+
*/
|
|
98
|
+
/**
|
|
99
|
+
* Where the column header parks once the rows scroll under it. Defaults to the
|
|
100
|
+
* MEASURED height of the pinned toolbar, so the two never overlap and never
|
|
101
|
+
* leave a gap, the toolbar grows and shrinks with the tag-chip row, and is
|
|
102
|
+
* shorter on a phone. Only pass this to park the header somewhere else.
|
|
103
|
+
*/
|
|
104
|
+
stickyHeaderOffset?: string;
|
|
105
|
+
className?: string;
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* The devices list, search + tag chips + column funnels over the shared devices
|
|
109
|
+
* table, identical on every surface that shows devices.
|
|
110
|
+
*
|
|
111
|
+
* **It does not fetch, and it does not filter.** That is the whole point: in
|
|
112
|
+
* Relay the rows are a CONNECTION, and every surface has a different one
|
|
113
|
+
* (`devices` for the fleet, `scriptSchedule.assignedDevices` for a schedule's
|
|
114
|
+
* assignment, `availableDevices` for its picker). Baking a query in would tie
|
|
115
|
+
* the list to exactly one of them; taking `devices` + a controlled
|
|
116
|
+
* {@link DevicesListNarrowing} lets one component serve all of them.
|
|
117
|
+
*
|
|
118
|
+
* It follows that the narrowing this component reports belongs in the caller's
|
|
119
|
+
* QUERY, every devices connection takes the same `filter` / `search`, so every
|
|
120
|
+
* surface narrows server-side, over the whole list rather than the pages fetched
|
|
121
|
+
* so far. The funnel options come from the server too (`deviceFilters`), or not
|
|
122
|
+
* at all; see the `deviceFilters` prop.
|
|
123
|
+
*
|
|
124
|
+
* The rows-in / narrowing-out split is also what makes the two data layers
|
|
125
|
+
* coexist: the fleet list is still react-query over raw POST, the schedule reads
|
|
126
|
+
* Relay. When devices move to Relay, the natural next step is a colocated
|
|
127
|
+
* fragment on `Device` that each caller spreads on its own connection, the
|
|
128
|
+
* props here do not change.
|
|
129
|
+
*/
|
|
130
|
+
export declare function DevicesList<T extends DeviceRow = DeviceRow>({ devices, isLoading, deviceFilters, filtersPending, isPending, totalCount, narrowing, onNarrowingChange, hideColumns, hideFilters, rowActions, emptyState, narrowedEmptyState, skeletonRows, infiniteScroll, stickyToolbar, stickyHeaderOffset, className, }: DevicesListProps<T>): import("react").JSX.Element;
|
|
131
|
+
//# sourceMappingURL=devices-list.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"devices-list.d.ts","sourceRoot":"","sources":["../../../../src/components/features/devices/devices-list.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,SAAS,EAAwB,MAAM,OAAO,CAAC;AAE7D,OAAO,EAAsC,KAAK,WAAW,EAAmB,MAAM,UAAU,CAAC;AAGjG,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAGxD;;;;GAIG;AACH,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,0FAA0F;IAC1F,IAAI,EAAE,MAAM,EAAE,CAAC;CAChB;AAED,eAAO,MAAM,uBAAuB,EAAE,oBAMrC,CAAC;AAEF,kHAAkH;AAClH,wBAAgB,UAAU,CAAC,SAAS,EAAE,oBAAoB,GAAG,OAAO,CAQnE;AAED,MAAM,WAAW,gBAAgB,CAAC,CAAC,SAAS,SAAS,GAAG,SAAS;IAC/D;;;OAGG;IACH,OAAO,EAAE,CAAC,EAAE,CAAC;IACb,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB;;;;;;;;;OASG;IACH,aAAa,CAAC,EAAE,aAAa,GAAG,IAAI,CAAC;IACrC;;;;;OAKG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IAEzB;;;;OAIG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB;;;;;OAKG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,wFAAwF;IACxF,SAAS,CAAC,EAAE,oBAAoB,CAAC;IACjC,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE,oBAAoB,KAAK,IAAI,CAAC;IAEzD,mGAAmG;IACnG,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,mFAAmF;IACnF,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,wDAAwD;IACxD,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,SAAS,CAAC;IAEtC;;;;OAIG;IACH,UAAU,CAAC,EAAE,WAAW,CAAC;IACzB;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,WAAW,CAAC;IAEjC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE;QACf,WAAW,EAAE,OAAO,CAAC;QACrB,kBAAkB,EAAE,OAAO,CAAC;QAC5B,UAAU,EAAE,MAAM,IAAI,CAAC;QACvB,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB,CAAC;IAEF;;;;;OAKG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;;;OAIG;IACH;;;;;OAKG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAID;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,WAAW,CAAC,CAAC,SAAS,SAAS,GAAG,SAAS,EAAE,EAC3D,OAAO,EACP,SAAS,EACT,aAAoB,EACpB,cAAc,EACd,SAAS,EACT,UAAU,EACV,SAAmC,EACnC,iBAAwB,EACxB,WAAW,EACX,WAAW,EACX,UAAU,EACV,UAAU,EACV,kBAAkB,EAClB,YAAgB,EAChB,cAAc,EACd,aAAoB,EACpB,kBAAkB,EAClB,SAAS,GACV,EAAE,gBAAgB,CAAC,CAAC,CAAC,+BA6KrB"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import type { PageActionButton } from '../../ui';
|
|
2
|
+
/**
|
|
3
|
+
* The panel header's contents, declared once for both the loaded panel and its
|
|
4
|
+
* `Suspense` fallback.
|
|
5
|
+
*
|
|
6
|
+
* Same reasoning as `scripts-table-columns` on the scripts pages: a loading
|
|
7
|
+
* state that RE-DECLARES the chrome it stands in for drifts from it, silently,
|
|
8
|
+
* and only in the frame nobody screenshots. Reading one declaration is what
|
|
9
|
+
* makes the two identical by construction rather than by review.
|
|
10
|
+
*/
|
|
11
|
+
/** The table/grid switch. Fed by the `viewMode` URL param, so it needs no data. */
|
|
12
|
+
export declare const DEVICE_VIEW_MODE_ITEMS: {
|
|
13
|
+
id: string;
|
|
14
|
+
icon: import("react").JSX.Element;
|
|
15
|
+
}[];
|
|
16
|
+
export interface DevicePanelActionsOptions {
|
|
17
|
+
/** Shows the "Archive" button linking to the archived-devices page. */
|
|
18
|
+
archiveHref?: string;
|
|
19
|
+
showAddDevice?: boolean;
|
|
20
|
+
noOrganizations?: boolean;
|
|
21
|
+
/** Destination of the "Add Customer" button shown when the tenant has no customers. */
|
|
22
|
+
addCustomerHref?: string;
|
|
23
|
+
isCheckingOrganizations?: boolean;
|
|
24
|
+
/**
|
|
25
|
+
* Accent the "Add Device" button, the panel's pristine-empty state, which is
|
|
26
|
+
* the ONE thing here that needs the list to have answered. Left off while
|
|
27
|
+
* loading: it changes the button's colour, never its size, so the header does
|
|
28
|
+
* not move when the real answer lands.
|
|
29
|
+
*/
|
|
30
|
+
accent?: boolean;
|
|
31
|
+
onAddDevice?: () => void;
|
|
32
|
+
/**
|
|
33
|
+
* Loading. Every button the loaded header will have is still rendered, same
|
|
34
|
+
* labels, same icons, same widths, but inert and without its destination, so
|
|
35
|
+
* the header is pixel-identical and nothing is clickable before the panel can
|
|
36
|
+
* honour the click.
|
|
37
|
+
*/
|
|
38
|
+
disabled?: boolean;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* The panel's header buttons. Every input is a prop or a URL value, nothing
|
|
42
|
+
* here is derived from the device query, which is what lets the fallback build
|
|
43
|
+
* the same set the loaded panel will.
|
|
44
|
+
*/
|
|
45
|
+
export declare function buildDevicePanelActions({ archiveHref, showAddDevice, noOrganizations, addCustomerHref, isCheckingOrganizations, accent, onAddDevice, disabled, }: DevicePanelActionsOptions): PageActionButton[];
|
|
46
|
+
//# sourceMappingURL=devices-panel-header.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"devices-panel-header.d.ts","sourceRoot":"","sources":["../../../../src/components/features/devices/devices-panel-header.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAEjD;;;;;;;;GAQG;AAEH,mFAAmF;AACnF,eAAO,MAAM,sBAAsB;;;GAGlC,CAAC;AAEF,MAAM,WAAW,yBAAyB;IACxC,uEAAuE;IACvE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,uFAAuF;IACvF,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC;;;;;OAKG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;IACzB;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,EACtC,WAAW,EACX,aAAoB,EACpB,eAAuB,EACvB,eAAe,EACf,uBAA+B,EAC/B,MAAc,EACd,WAAW,EACX,QAAgB,GACjB,EAAE,yBAAyB,GAAG,gBAAgB,EAAE,CAoChD"}
|