@makaio/framework 1.0.0-dev-1779046984397
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/LICENSE +21 -0
- package/README.md +363 -0
- package/dist/account-identity-Ce1Bwrqi.mjs +1 -0
- package/dist/adapter-CbyjCE2d.mjs +1 -0
- package/dist/adapters/acp-client/index.d.mts +209 -0
- package/dist/adapters/acp-client/index.mjs +1 -0
- package/dist/adapters/config/index.d.mts +429 -0
- package/dist/adapters/config/index.mjs +1 -0
- package/dist/adapters/index.d.mts +4175 -0
- package/dist/adapters/index.mjs +11 -0
- package/dist/adapters/node.d.mts +263 -0
- package/dist/adapters/node.mjs +4 -0
- package/dist/adapters/stream-session/index.d.mts +1384 -0
- package/dist/adapters/stream-session/index.mjs +1 -0
- package/dist/adapters/stream-session/testing/index.d.mts +29 -0
- package/dist/adapters/stream-session/testing/index.mjs +1 -0
- package/dist/base-orchestrator-9z8TuA5a.d.mts +772 -0
- package/dist/bus/index.d.mts +3331 -0
- package/dist/bus/index.mjs +1 -0
- package/dist/bus-B1seC4M_.mjs +2 -0
- package/dist/capability-service-tnpR_TaB.mjs +1 -0
- package/dist/chunk-Dc06z0qk.mjs +1 -0
- package/dist/chunk-cpUYaJdV.mjs +1 -0
- package/dist/cleanEnvForAdapter-DvcIGXTG.mjs +1 -0
- package/dist/client-Dh4x4GQN.mjs +1 -0
- package/dist/clients/index.d.mts +2786 -0
- package/dist/clients/index.mjs +1 -0
- package/dist/clients-namespace-B0xAPZ6J.d.mts +332 -0
- package/dist/config-namespace-DLSs83zr.d.mts +638 -0
- package/dist/config-namespace-MJT8P0Ud.mjs +1 -0
- package/dist/contracts/adapter/index.d.mts +3 -0
- package/dist/contracts/adapter/index.mjs +1 -0
- package/dist/contracts/adapter/schemas/session-lineage.d.mts +2 -0
- package/dist/contracts/adapter/schemas/session-lineage.mjs +1 -0
- package/dist/contracts/client/index.d.mts +3 -0
- package/dist/contracts/client/index.mjs +1 -0
- package/dist/contracts/common/index.d.mts +2 -0
- package/dist/contracts/common/index.mjs +1 -0
- package/dist/contracts/config/index.d.mts +455 -0
- package/dist/contracts/config/index.mjs +1 -0
- package/dist/contracts/extension/index.d.mts +3 -0
- package/dist/contracts/extension/index.mjs +1 -0
- package/dist/contracts/harness/index.d.mts +2 -0
- package/dist/contracts/harness/index.mjs +1 -0
- package/dist/contracts/host/index.d.mts +2 -0
- package/dist/contracts/host/index.mjs +1 -0
- package/dist/contracts/index.d.mts +12665 -0
- package/dist/contracts/index.mjs +1 -0
- package/dist/contracts/model-registry/index.d.mts +2 -0
- package/dist/contracts/model-registry/index.mjs +1 -0
- package/dist/contracts/native-session-supervisor/index.d.mts +2 -0
- package/dist/contracts/native-session-supervisor/index.mjs +1 -0
- package/dist/contracts/platform/index.d.mts +2 -0
- package/dist/contracts/platform/index.mjs +1 -0
- package/dist/contracts/provider/index.d.mts +3 -0
- package/dist/contracts/provider/index.mjs +1 -0
- package/dist/contracts/session/index.d.mts +3 -0
- package/dist/contracts/session/index.mjs +1 -0
- package/dist/contracts/shared/index.d.mts +2 -0
- package/dist/contracts/shared/index.mjs +1 -0
- package/dist/contracts/skill/index.d.mts +2 -0
- package/dist/contracts/skill/index.mjs +1 -0
- package/dist/contracts/toast/index.d.mts +198 -0
- package/dist/contracts/toast/index.mjs +1 -0
- package/dist/contracts/variant/index.d.mts +2 -0
- package/dist/contracts/variant/index.mjs +1 -0
- package/dist/core/index.d.mts +1001 -0
- package/dist/core/index.mjs +1 -0
- package/dist/credential-ref-DLCsoKVZ.mjs +1 -0
- package/dist/cursor-storage-DOQdvo9j.mjs +1 -0
- package/dist/definition-DkYy1PZz.mjs +1 -0
- package/dist/definition-DtUNiGom.d.mts +158 -0
- package/dist/definition-DxvZ9e22.d.mts +376 -0
- package/dist/drizzle-CWVVw7Er.mjs +1 -0
- package/dist/execution-target-BW_uiBVe.mjs +1 -0
- package/dist/extension-COqwS-2Q.mjs +1 -0
- package/dist/extension-Cbrl4YGX.mjs +1 -0
- package/dist/extension-namespace-zaGKi6Qj.mjs +1 -0
- package/dist/handlers-iGKUJ380.mjs +41 -0
- package/dist/harness-CEq1Zkf9.mjs +1 -0
- package/dist/hooks/index.d.mts +423 -0
- package/dist/hooks/index.mjs +1 -0
- package/dist/host-CXAUGGN0.mjs +1 -0
- package/dist/identity-B_A0mE63.mjs +1 -0
- package/dist/index-6lyShOoU.d.mts +225 -0
- package/dist/index-7sXlairn2.d.mts +43 -0
- package/dist/index-BAKM2GMH2.d.mts +535 -0
- package/dist/index-BB419vv-.d.mts +3897 -0
- package/dist/index-BJOfdtbw.d.mts +729 -0
- package/dist/index-BXP9GK5q.d.mts +1075 -0
- package/dist/index-BdPwu6c0.d.mts +1730 -0
- package/dist/index-BePI0ckL.d.mts +40 -0
- package/dist/index-Bigx81Kr.d.mts +37 -0
- package/dist/index-BnNqbx2I.d.mts +134 -0
- package/dist/index-Bv15sNLn.d.mts +389 -0
- package/dist/index-C-myW_aK.d.mts +412 -0
- package/dist/index-C9F3Fc1A.d.mts +2938 -0
- package/dist/index-CNxS4Tlu.d.mts +1 -0
- package/dist/index-CVA0m1g9.d.mts +995 -0
- package/dist/index-C_kS2aqV2.d.mts +438 -0
- package/dist/index-Ch3ph52M2.d.mts +40 -0
- package/dist/index-CnZOKNjU.d.mts +89 -0
- package/dist/index-D1T-PPqF.d.mts +67 -0
- package/dist/index-D7T8XCku.d.mts +341 -0
- package/dist/index-DBQtpFLE.d.mts +4843 -0
- package/dist/index-DEw90pa2.d.mts +183 -0
- package/dist/index-DQRsGXb5.d.mts +109 -0
- package/dist/index-Dd5s4MSm.d.mts +72 -0
- package/dist/index-DubqLGH8.d.mts +1002 -0
- package/dist/index-ESSDWIB7.d.mts +11 -0
- package/dist/index-N5K1NOYs.d.mts +184 -0
- package/dist/index-PdUSmPT2.d.mts +180 -0
- package/dist/index-SzSiyG61.d.mts +117 -0
- package/dist/index-T0471kWA.d.mts +6760 -0
- package/dist/index-WKjrpcA_.d.mts +218 -0
- package/dist/index-hapw9_En.d.mts +13592 -0
- package/dist/index-iID2R9G1.d.mts +1490 -0
- package/dist/kernel/cli/index.d.mts +141 -0
- package/dist/kernel/cli/index.mjs +1 -0
- package/dist/kernel/cli/schemas.d.mts +63 -0
- package/dist/kernel/cli/schemas.mjs +1 -0
- package/dist/kernel/extension/index.d.mts +2 -0
- package/dist/kernel/extension/index.mjs +1 -0
- package/dist/kernel/index.d.mts +296 -0
- package/dist/kernel/index.mjs +1 -0
- package/dist/kernel/namespace/index.d.mts +2 -0
- package/dist/kernel/namespace/index.mjs +1 -0
- package/dist/kernel/observability/index.d.mts +2 -0
- package/dist/kernel/observability/index.mjs +1 -0
- package/dist/kernel/providers/index.d.mts +2 -0
- package/dist/kernel/providers/index.mjs +1 -0
- package/dist/kernel/window/index.d.mts +2 -0
- package/dist/kernel/window/index.mjs +1 -0
- package/dist/model-registry-BNzpR6TU.mjs +1 -0
- package/dist/model-registry-CIscwC52.mjs +1 -0
- package/dist/namespace-0yuzAKlr.mjs +1 -0
- package/dist/namespace-8cNguvIp.mjs +1 -0
- package/dist/namespace-BK2erxpV.d.mts +921 -0
- package/dist/namespace-Bmc7AW4J2.mjs +1 -0
- package/dist/namespace-C2ufjgaQ.d.mts +767 -0
- package/dist/namespace-C54Oj025.d.mts +159 -0
- package/dist/namespace-CCDEOwmW.d.mts +1313 -0
- package/dist/namespace-CfEWMXBx.mjs +1 -0
- package/dist/namespace-CkLUtc0g.d.mts +580 -0
- package/dist/namespace-D5Wrt7YU.mjs +1 -0
- package/dist/namespace-DZcuLwEA.d.mts +51 -0
- package/dist/namespace-Db-p67Rg.mjs +1 -0
- package/dist/namespace-FWx6HxaW.d.mts +611 -0
- package/dist/namespace-GLGGcWPH.d.mts +43 -0
- package/dist/namespace-N0dfwSg6.mjs +1 -0
- package/dist/namespace-O5SNY-LV.d.mts +2226 -0
- package/dist/namespace-ZbthBQVt.d.mts +142 -0
- package/dist/namespace-bq4Prtzn.d.mts +2046 -0
- package/dist/namespace-pNcSglBS.mjs +1 -0
- package/dist/namespace-ptv-pw_g.d.mts +3019 -0
- package/dist/namespace-xkvVw3hf2.d.mts +189 -0
- package/dist/native-session-supervisor-L-UIaEfd.mjs +1 -0
- package/dist/node/bus-server/index.d.mts +178 -0
- package/dist/node/bus-server/index.mjs +1 -0
- package/dist/node/bus-server/server-lifecycle.d.mts +2 -0
- package/dist/node/bus-server/server-lifecycle.mjs +1 -0
- package/dist/node/machine-identity/index.d.mts +85 -0
- package/dist/node/machine-identity/index.mjs +3 -0
- package/dist/node/transports/index.d.mts +1752 -0
- package/dist/node/transports/index.mjs +2 -0
- package/dist/orchestrator-shared-DrjtTXYh.d.mts +249 -0
- package/dist/orchestrator-shared-Wv1GI2mW.mjs +1 -0
- package/dist/platform-BbSLVg5b.mjs +1 -0
- package/dist/profile-4StaDQW0.mjs +1 -0
- package/dist/provider-context-CNRQ4d5m.mjs +1 -0
- package/dist/providers/index.d.mts +135 -0
- package/dist/providers/index.mjs +1 -0
- package/dist/providers-Cr4Za8a1.mjs +1 -0
- package/dist/providers-namespace-CDwxY_DV.d.mts +583 -0
- package/dist/schema-BwzXEtT2.d.mts +837 -0
- package/dist/schema-CAw_BqaG.mjs +1 -0
- package/dist/schema-introspection-D61TT_7b.mjs +1 -0
- package/dist/schema-uSGW-6oM.mjs +1 -0
- package/dist/schemas-BXstpWVp.mjs +1 -0
- package/dist/schemas-BdMU-gew.d.mts +160 -0
- package/dist/schemas-C40ZAJ33.mjs +1 -0
- package/dist/schemas-C5xtVqdb.d.mts +46 -0
- package/dist/schemas-CGZy_rU6.d.mts +13 -0
- package/dist/schemas-CLxtoKFy.mjs +1 -0
- package/dist/schemas-Co_sVhzz.mjs +1 -0
- package/dist/schemas-D9108Iv1.d.mts +182 -0
- package/dist/schemas-DENVYyds.d.mts +463 -0
- package/dist/schemas-DbWs_hj8.d.mts +174 -0
- package/dist/schemas-Di0XnnMX.d.mts +73 -0
- package/dist/schemas-KMA1efQg.d.mts +944 -0
- package/dist/schemas-qmn5SWPU.d.mts +312 -0
- package/dist/schemas-sshQEF3l.d.mts +237 -0
- package/dist/server-lifecycle-Cf_SZ27k.d.mts +160 -0
- package/dist/server-lifecycle-DbFwlrTW.mjs +1 -0
- package/dist/service-base/index.d.mts +98 -0
- package/dist/service-base/index.mjs +1 -0
- package/dist/services/adapter-runtime/index.d.mts +4 -0
- package/dist/services/adapter-runtime/index.mjs +1 -0
- package/dist/services/adapter-runtime/namespace.d.mts +2 -0
- package/dist/services/adapter-runtime/namespace.mjs +1 -0
- package/dist/services/adapter-runtime/schemas.d.mts +2 -0
- package/dist/services/adapter-runtime/schemas.mjs +1 -0
- package/dist/services/adapter-subsystem/index.d.mts +3 -0
- package/dist/services/adapter-subsystem/index.mjs +1 -0
- package/dist/services/adapter-subsystem/namespace.d.mts +2 -0
- package/dist/services/adapter-subsystem/namespace.mjs +1 -0
- package/dist/services/agent-runtime/index.d.mts +3 -0
- package/dist/services/agent-runtime/index.mjs +1 -0
- package/dist/services/agent-runtime/namespace.d.mts +2 -0
- package/dist/services/agent-runtime/namespace.mjs +1 -0
- package/dist/services/agent-runtime/schemas.d.mts +2 -0
- package/dist/services/agent-runtime/schemas.mjs +1 -0
- package/dist/services/capability/index.d.mts +2 -0
- package/dist/services/capability/index.mjs +1 -0
- package/dist/services/cli-detection/namespace.d.mts +56 -0
- package/dist/services/cli-detection/namespace.mjs +1 -0
- package/dist/services/codebase/index.d.mts +3 -0
- package/dist/services/codebase/index.mjs +1 -0
- package/dist/services/codebase/namespace.d.mts +2 -0
- package/dist/services/codebase/namespace.mjs +1 -0
- package/dist/services/codebase/schemas.d.mts +2 -0
- package/dist/services/codebase/schemas.mjs +1 -0
- package/dist/services/compression/index.d.mts +3 -0
- package/dist/services/compression/index.mjs +1 -0
- package/dist/services/compression/namespace.d.mts +2 -0
- package/dist/services/compression/namespace.mjs +1 -0
- package/dist/services/compression/schemas.d.mts +2 -0
- package/dist/services/compression/schemas.mjs +1 -0
- package/dist/services/context-rules/index.d.mts +412 -0
- package/dist/services/context-rules/index.mjs +1 -0
- package/dist/services/credential-change/index.d.mts +17 -0
- package/dist/services/credential-change/index.mjs +1 -0
- package/dist/services/definition/index.d.mts +2 -0
- package/dist/services/definition/index.mjs +1 -0
- package/dist/services/definition/namespace.d.mts +71 -0
- package/dist/services/definition/namespace.mjs +1 -0
- package/dist/services/definition/schemas.d.mts +38 -0
- package/dist/services/definition/schemas.mjs +1 -0
- package/dist/services/dialog/namespace.d.mts +105 -0
- package/dist/services/dialog/namespace.mjs +1 -0
- package/dist/services/dialog/schemas.d.mts +109 -0
- package/dist/services/dialog/schemas.mjs +1 -0
- package/dist/services/execution-target/index.d.mts +4 -0
- package/dist/services/execution-target/index.mjs +1 -0
- package/dist/services/execution-target/namespace.d.mts +2 -0
- package/dist/services/execution-target/namespace.mjs +1 -0
- package/dist/services/execution-target/schemas.d.mts +2 -0
- package/dist/services/execution-target/schemas.mjs +1 -0
- package/dist/services/filesystem/namespace.d.mts +432 -0
- package/dist/services/filesystem/namespace.mjs +1 -0
- package/dist/services/filesystem/schemas.d.mts +240 -0
- package/dist/services/filesystem/schemas.mjs +1 -0
- package/dist/services/harness/index.d.mts +861 -0
- package/dist/services/harness/index.mjs +1 -0
- package/dist/services/harness/storage/schema.d.mts +424 -0
- package/dist/services/harness/storage/schema.mjs +1 -0
- package/dist/services/index.d.mts +5703 -0
- package/dist/services/index.mjs +1 -0
- package/dist/services/local-notification/index.d.mts +25 -0
- package/dist/services/local-notification/index.mjs +1 -0
- package/dist/services/local-notification/namespace.d.mts +73 -0
- package/dist/services/local-notification/namespace.mjs +1 -0
- package/dist/services/local-notification/schemas.d.mts +88 -0
- package/dist/services/local-notification/schemas.mjs +1 -0
- package/dist/services/log-import/browser.d.mts +3 -0
- package/dist/services/log-import/browser.mjs +1 -0
- package/dist/services/log-import/index.d.mts +275 -0
- package/dist/services/log-import/index.mjs +2 -0
- package/dist/services/log-import/log-import.d.mts +3 -0
- package/dist/services/log-import/log-import.mjs +1 -0
- package/dist/services/log-import/namespace.d.mts +327 -0
- package/dist/services/log-import/namespace.mjs +1 -0
- package/dist/services/log-import/schemas.d.mts +217 -0
- package/dist/services/log-import/schemas.mjs +1 -0
- package/dist/services/model-registry/index.d.mts +2 -0
- package/dist/services/model-registry/index.mjs +1 -0
- package/dist/services/preferences/index.d.mts +3 -0
- package/dist/services/preferences/index.mjs +1 -0
- package/dist/services/preferences/schemas.d.mts +2 -0
- package/dist/services/preferences/schemas.mjs +1 -0
- package/dist/services/preferences/storage-namespace.d.mts +3 -0
- package/dist/services/preferences/storage-namespace.mjs +1 -0
- package/dist/services/provider-context/index.d.mts +2 -0
- package/dist/services/provider-context/index.mjs +1 -0
- package/dist/services/provider-runtime/index.d.mts +136 -0
- package/dist/services/provider-runtime/index.mjs +1 -0
- package/dist/services/session/handlers/index.d.mts +2 -0
- package/dist/services/session/handlers/index.mjs +1 -0
- package/dist/services/session/index.d.mts +10 -0
- package/dist/services/session/index.mjs +1 -0
- package/dist/services/session/messages/namespace.d.mts +2 -0
- package/dist/services/session/messages/namespace.mjs +1 -0
- package/dist/services/session/orchestrator-testing/index.d.mts +2 -0
- package/dist/services/session/orchestrator-testing/index.mjs +1 -0
- package/dist/services/session/session-events/namespace.d.mts +2 -0
- package/dist/services/session/session-events/namespace.mjs +1 -0
- package/dist/services/session/storage/namespace.d.mts +2 -0
- package/dist/services/session/storage/namespace.mjs +1 -0
- package/dist/services/session/storage/schema.d.mts +2 -0
- package/dist/services/session/storage/schema.mjs +1 -0
- package/dist/services/session/testing/index.d.mts +35 -0
- package/dist/services/session/testing/index.mjs +52 -0
- package/dist/services/session/testing/orchestrator-shared.d.mts +2 -0
- package/dist/services/session/testing/orchestrator-shared.mjs +1 -0
- package/dist/services/session/turns/namespace.d.mts +2 -0
- package/dist/services/session/turns/namespace.mjs +1 -0
- package/dist/services/session-editor/index.d.mts +119 -0
- package/dist/services/session-editor/index.mjs +1 -0
- package/dist/services/settings/index.d.mts +47 -0
- package/dist/services/settings/index.mjs +1 -0
- package/dist/services/settings/namespace.d.mts +662 -0
- package/dist/services/settings/namespace.mjs +1 -0
- package/dist/services/settings/storage/clients-namespace.d.mts +2 -0
- package/dist/services/settings/storage/clients-namespace.mjs +1 -0
- package/dist/services/settings/storage/extension-configs/namespace.d.mts +184 -0
- package/dist/services/settings/storage/extension-configs/namespace.mjs +1 -0
- package/dist/services/settings/storage/index.d.mts +4 -0
- package/dist/services/settings/storage/index.mjs +1 -0
- package/dist/services/settings/storage/providers-namespace.d.mts +2 -0
- package/dist/services/settings/storage/providers-namespace.mjs +1 -0
- package/dist/services/tool-approval/index.d.mts +2 -0
- package/dist/services/tool-approval/index.mjs +1 -0
- package/dist/services/tools/index.d.mts +2 -0
- package/dist/services/tools/index.mjs +1 -0
- package/dist/services/tray-menu/index.d.mts +4 -0
- package/dist/services/tray-menu/index.mjs +1 -0
- package/dist/services/tray-menu/namespace.d.mts +2 -0
- package/dist/services/tray-menu/namespace.mjs +1 -0
- package/dist/services/tray-menu/schemas.d.mts +2 -0
- package/dist/services/tray-menu/schemas.mjs +1 -0
- package/dist/services/turn/index.d.mts +2 -0
- package/dist/services/turn/index.mjs +1 -0
- package/dist/services/turn/namespace.d.mts +2 -0
- package/dist/services/turn/namespace.mjs +1 -0
- package/dist/services/turn/schemas.d.mts +335 -0
- package/dist/services/turn/schemas.mjs +1 -0
- package/dist/services/worker/index.d.mts +3 -0
- package/dist/services/worker/index.mjs +1 -0
- package/dist/services/worker/namespace.d.mts +2 -0
- package/dist/services/worker/namespace.mjs +1 -0
- package/dist/services/worker/schemas.d.mts +2 -0
- package/dist/services/worker/schemas.mjs +1 -0
- package/dist/session-Do6lDZM4.mjs +123 -0
- package/dist/session-lineage-Eev4uo4I.d.mts +65 -0
- package/dist/session-piI1R5rP.mjs +1 -0
- package/dist/shared-DxHLl9UP.mjs +1 -0
- package/dist/shared-schemas-BgQv_tnu.mjs +1 -0
- package/dist/skill-CB5h-ZFQ.mjs +1 -0
- package/dist/storage/drizzle/client.d.mts +78 -0
- package/dist/storage/drizzle/client.mjs +1 -0
- package/dist/storage/drizzle/index.d.mts +98 -0
- package/dist/storage/drizzle/index.mjs +1 -0
- package/dist/storage/handlers/drizzle/index.d.mts +2 -0
- package/dist/storage/handlers/drizzle/index.mjs +1 -0
- package/dist/storage/handlers/index.d.mts +33 -0
- package/dist/storage/handlers/index.mjs +1 -0
- package/dist/storage/index.d.mts +192 -0
- package/dist/storage/index.mjs +1 -0
- package/dist/storage-namespace-ADwyijoe.mjs +1 -0
- package/dist/storage-namespace-DAm8iWEj.d.mts +221 -0
- package/dist/storage-namespace-definition-CHu2k14q.mjs +1 -0
- package/dist/storage-namespace-definition-CJgqyXH1.d.mts +17 -0
- package/dist/style.css +3782 -0
- package/dist/testing/drizzle-harness.d.mts +130 -0
- package/dist/testing/drizzle-harness.mjs +1 -0
- package/dist/testing/index.d.mts +106 -0
- package/dist/testing/index.mjs +1 -0
- package/dist/tool-approval-service-BcBSUZCO.mjs +1 -0
- package/dist/tools/index.d.mts +825 -0
- package/dist/tools/index.mjs +1 -0
- package/dist/tools/testing/index.d.mts +53 -0
- package/dist/tools/testing/index.mjs +1 -0
- package/dist/tools-CDSgj0ee.mjs +1 -0
- package/dist/tray-menu-service-CTXC1Elg.mjs +1 -0
- package/dist/types-6WxLfoM3.d.mts +31 -0
- package/dist/types-BjToUrHp.d.mts +6619 -0
- package/dist/types-CD1LJwPc.d.mts +1009 -0
- package/dist/types-Cvrj2ogm.d.mts +305 -0
- package/dist/types-DYF5LxZY.d.mts +233 -0
- package/dist/types-t295YC6T.d.mts +262 -0
- package/dist/types-vNpkAe4Y.d.mts +128 -0
- package/dist/ui-components/index.d.mts +2342 -0
- package/dist/ui-components/index.mjs +8 -0
- package/dist/ui-config-CXmbsqZV.mjs +1 -0
- package/dist/ui-hooks/index.d.mts +1805 -0
- package/dist/ui-hooks/index.mjs +1 -0
- package/dist/ui-kernel/index.d.mts +2793 -0
- package/dist/ui-kernel/index.mjs +1 -0
- package/dist/ui-kernel/pages/namespace.d.mts +88 -0
- package/dist/ui-kernel/pages/namespace.mjs +1 -0
- package/dist/ui-kernel/pages/schemas.d.mts +2 -0
- package/dist/ui-kernel/pages/schemas.mjs +1 -0
- package/dist/ui-views/index.d.mts +487 -0
- package/dist/ui-views/index.mjs +30 -0
- package/dist/utils/health-probe.d.mts +26 -0
- package/dist/utils/health-probe.mjs +1 -0
- package/dist/utils/index.d.mts +227 -0
- package/dist/utils/index.mjs +2 -0
- package/dist/utils/keychain.d.mts +31 -0
- package/dist/utils/keychain.mjs +1 -0
- package/dist/utils/resolve-package-root.d.mts +12 -0
- package/dist/utils/resolve-package-root.mjs +1 -0
- package/dist/utils/workspace-root.d.mts +27 -0
- package/dist/utils/workspace-root.mjs +2 -0
- package/dist/variant-D5kSrL3m.mjs +1 -0
- package/dist/version-CjS20oXi.mjs +1 -0
- package/dist/visibility-CZu8ooOA.mjs +1 -0
- package/dist/window-registry-CUftmDr3.mjs +1 -0
- package/dist/window-registry-C_IJmY8_.d.mts +130 -0
- package/package.json +346 -0
|
@@ -0,0 +1,2342 @@
|
|
|
1
|
+
import * as _$react from "react";
|
|
2
|
+
import React, { ButtonHTMLAttributes, HTMLAttributes, InputHTMLAttributes, MouseEventHandler, ReactElement, ReactNode, Ref, RefAttributes, RefObject, SVGProps, TextareaHTMLAttributes } from "react";
|
|
3
|
+
import * as _$react_jsx_runtime0 from "react/jsx-runtime";
|
|
4
|
+
|
|
5
|
+
//#region ui/components/src/themes/types.d.ts
|
|
6
|
+
/**
|
|
7
|
+
* Theme type definitions
|
|
8
|
+
*
|
|
9
|
+
* Based on design-concept prototypes analysis.
|
|
10
|
+
* @see /design-concept/*.html for source colors
|
|
11
|
+
*/
|
|
12
|
+
interface Theme {
|
|
13
|
+
id: string;
|
|
14
|
+
name: string;
|
|
15
|
+
className: string;
|
|
16
|
+
}
|
|
17
|
+
//#endregion
|
|
18
|
+
//#region ui/components/src/themes/ThemeProvider.d.ts
|
|
19
|
+
interface ThemeContextValue {
|
|
20
|
+
theme: Theme;
|
|
21
|
+
themeId: string;
|
|
22
|
+
setThemeId: (id: string) => void;
|
|
23
|
+
availableThemes: string[];
|
|
24
|
+
}
|
|
25
|
+
declare const ThemeContext: _$react.Context<ThemeContextValue | null>;
|
|
26
|
+
interface ThemeProviderProps {
|
|
27
|
+
children: ReactNode;
|
|
28
|
+
defaultTheme?: string;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* ThemeProvider
|
|
32
|
+
*
|
|
33
|
+
* Provides theme context and injects CSS custom properties.
|
|
34
|
+
* Persists theme selection to localStorage.
|
|
35
|
+
* @param props - Component props
|
|
36
|
+
*/
|
|
37
|
+
declare function ThemeProvider({
|
|
38
|
+
children,
|
|
39
|
+
defaultTheme
|
|
40
|
+
}: ThemeProviderProps): _$react_jsx_runtime0.JSX.Element;
|
|
41
|
+
//#endregion
|
|
42
|
+
//#region ui/components/src/themes/useTheme.d.ts
|
|
43
|
+
/**
|
|
44
|
+
* Hook to access theme context
|
|
45
|
+
* @returns Theme context value
|
|
46
|
+
* @throws If used outside ThemeProvider
|
|
47
|
+
*/
|
|
48
|
+
declare function useTheme(): ThemeContextValue;
|
|
49
|
+
//#endregion
|
|
50
|
+
//#region ui/components/src/themes/tokens.d.ts
|
|
51
|
+
/**
|
|
52
|
+
* Aura Theme
|
|
53
|
+
*
|
|
54
|
+
* CSS variables live in the ui-theme Aura stylesheet.
|
|
55
|
+
*/
|
|
56
|
+
declare const auraTheme: Theme;
|
|
57
|
+
/**
|
|
58
|
+
* All available themes
|
|
59
|
+
*/
|
|
60
|
+
declare const themes: Record<string, Theme>;
|
|
61
|
+
/**
|
|
62
|
+
* Default theme ID
|
|
63
|
+
*/
|
|
64
|
+
declare const defaultThemeId = "aura";
|
|
65
|
+
//#endregion
|
|
66
|
+
//#region ui/components/src/branding/Logo/Logo.d.ts
|
|
67
|
+
/**
|
|
68
|
+
* Logo display variant
|
|
69
|
+
*/
|
|
70
|
+
type LogoVariant = 'full' | 'monochrome';
|
|
71
|
+
/**
|
|
72
|
+
* Makaio Logo props
|
|
73
|
+
*/
|
|
74
|
+
interface LogoProps extends SVGProps<SVGSVGElement> {
|
|
75
|
+
/** Accessible title for the logo */
|
|
76
|
+
title?: string;
|
|
77
|
+
/**
|
|
78
|
+
* Display variant:
|
|
79
|
+
* - `full`: Colored rings with brand colors (default)
|
|
80
|
+
* - `monochrome`: Single color using currentColor, suitable for icons/buttons
|
|
81
|
+
*/
|
|
82
|
+
variant?: LogoVariant;
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Makaio Logo Component
|
|
86
|
+
*
|
|
87
|
+
* Inline SVG of the Makaio logo for portable usage across web packages.
|
|
88
|
+
* Accepts standard SVG props for sizing and styling.
|
|
89
|
+
* @param props - Standard SVG props passed to the root svg element
|
|
90
|
+
*/
|
|
91
|
+
declare function Logo(props: LogoProps): _$react_jsx_runtime0.JSX.Element;
|
|
92
|
+
//#endregion
|
|
93
|
+
//#region ui/components/src/layout/AppShell/AppShell.d.ts
|
|
94
|
+
interface AppShellProps extends HTMLAttributes<HTMLDivElement> {
|
|
95
|
+
/** Left sidebar content (IconSidebar) */
|
|
96
|
+
sidebar?: ReactNode;
|
|
97
|
+
/** Top navigation bar content */
|
|
98
|
+
topbar?: ReactNode;
|
|
99
|
+
/** Main content area */
|
|
100
|
+
children: ReactNode;
|
|
101
|
+
/** Bottom panel slot (e.g., terminal, git status) */
|
|
102
|
+
bottomPanel?: ReactNode;
|
|
103
|
+
/** Optional footer content */
|
|
104
|
+
footer?: ReactNode;
|
|
105
|
+
/** Whether sidebar is collapsed (responsive behavior) */
|
|
106
|
+
sidebarCollapsed?: boolean;
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* AppShell component
|
|
110
|
+
*
|
|
111
|
+
* Main layout container for the web app. Provides a CSS Grid-based layout with slots for:
|
|
112
|
+
* - Sidebar (64px left sidebar for icon navigation)
|
|
113
|
+
* - Topbar (top navigation bar)
|
|
114
|
+
* - Main content area
|
|
115
|
+
* - Bottom panel (terminal, git status, problems)
|
|
116
|
+
* - Optional footer
|
|
117
|
+
*
|
|
118
|
+
* Matches the visual structure from design-concept/prototype.html
|
|
119
|
+
* @param sidebar - Left sidebar content (IconSidebar)
|
|
120
|
+
* @param topbar - Top navigation bar content
|
|
121
|
+
* @param children - Main content area
|
|
122
|
+
* @param bottomPanel - Bottom panel content (e.g., PanelSlot)
|
|
123
|
+
* @param footer - Optional footer content
|
|
124
|
+
* @param sidebarCollapsed - Whether sidebar is collapsed (responsive behavior)
|
|
125
|
+
* @param className - CSS class name for custom styling
|
|
126
|
+
* @param ref - Forwarded ref to the underlying div element
|
|
127
|
+
* @returns The rendered AppShell layout component
|
|
128
|
+
* @example
|
|
129
|
+
* ```tsx
|
|
130
|
+
* <AppShell
|
|
131
|
+
* sidebar={<IconSidebar />}
|
|
132
|
+
* topbar={<Topbar />}
|
|
133
|
+
* bottomPanel={<PanelSlot {...panelProps} />}
|
|
134
|
+
* footer={<Footer />}>
|
|
135
|
+
* <MainContent />
|
|
136
|
+
* </AppShell>
|
|
137
|
+
* ```
|
|
138
|
+
*/
|
|
139
|
+
declare const AppShell: _$react.ForwardRefExoticComponent<AppShellProps & _$react.RefAttributes<HTMLDivElement>>;
|
|
140
|
+
//#endregion
|
|
141
|
+
//#region ui/components/src/layout/ContentHeader/HeaderTextAction.d.ts
|
|
142
|
+
/**
|
|
143
|
+
* HeaderTextAction component
|
|
144
|
+
*
|
|
145
|
+
* Text-style action button for ContentHeader.
|
|
146
|
+
* Mirrors NavSidebar navigation item hover behavior.
|
|
147
|
+
* @example
|
|
148
|
+
* ```tsx
|
|
149
|
+
* <HeaderTextAction onClick={handleSave}>Save Changes</HeaderTextAction>
|
|
150
|
+
* ```
|
|
151
|
+
* @param props - Component props
|
|
152
|
+
* @returns The rendered text action button
|
|
153
|
+
*/
|
|
154
|
+
declare const HeaderTextAction: _$react.ForwardRefExoticComponent<HeaderTextActionProps & _$react.RefAttributes<HTMLButtonElement>>;
|
|
155
|
+
//#endregion
|
|
156
|
+
//#region ui/components/src/layout/ContentHeader/HeaderIconAction.d.ts
|
|
157
|
+
/**
|
|
158
|
+
* HeaderIconAction component
|
|
159
|
+
*
|
|
160
|
+
* Icon-style action button for ContentHeader.
|
|
161
|
+
* Circular button with active state support (e.g., for edit mode toggle).
|
|
162
|
+
* @example
|
|
163
|
+
* ```tsx
|
|
164
|
+
* <HeaderIconAction
|
|
165
|
+
* icon={<EditIcon />}
|
|
166
|
+
* label="Toggle edit mode"
|
|
167
|
+
* active={isEditMode}
|
|
168
|
+
* onClick={toggleEditMode}
|
|
169
|
+
* />
|
|
170
|
+
* ```
|
|
171
|
+
* @param props - Component props
|
|
172
|
+
* @returns The rendered icon action button
|
|
173
|
+
*/
|
|
174
|
+
declare const HeaderIconAction: _$react.ForwardRefExoticComponent<HeaderIconActionProps & _$react.RefAttributes<HTMLButtonElement>>;
|
|
175
|
+
//#endregion
|
|
176
|
+
//#region ui/components/src/layout/ContentHeader/types.d.ts
|
|
177
|
+
/**
|
|
178
|
+
* Props for text-style header action button
|
|
179
|
+
*/
|
|
180
|
+
interface HeaderTextActionProps {
|
|
181
|
+
/** Button text content */
|
|
182
|
+
children: ReactNode;
|
|
183
|
+
/** Click handler */
|
|
184
|
+
onClick?: MouseEventHandler<HTMLButtonElement>;
|
|
185
|
+
/** Disabled state */
|
|
186
|
+
disabled?: boolean;
|
|
187
|
+
/** Additional CSS class */
|
|
188
|
+
className?: string;
|
|
189
|
+
}
|
|
190
|
+
/**
|
|
191
|
+
* Props for icon-style header action button
|
|
192
|
+
*/
|
|
193
|
+
interface HeaderIconActionProps {
|
|
194
|
+
/** Icon element to display */
|
|
195
|
+
icon: ReactNode;
|
|
196
|
+
/** Accessibility label (required) */
|
|
197
|
+
label: string;
|
|
198
|
+
/** Click handler */
|
|
199
|
+
onClick?: MouseEventHandler<HTMLButtonElement>;
|
|
200
|
+
/** Disabled state */
|
|
201
|
+
disabled?: boolean;
|
|
202
|
+
/** Visual active state (e.g., edit mode toggle) */
|
|
203
|
+
active?: boolean;
|
|
204
|
+
/** Additional CSS class */
|
|
205
|
+
className?: string;
|
|
206
|
+
}
|
|
207
|
+
type HeaderTextActionComponent = typeof HeaderTextAction;
|
|
208
|
+
type HeaderIconActionComponent = typeof HeaderIconAction;
|
|
209
|
+
/**
|
|
210
|
+
* Constrained action element types for ContentHeader
|
|
211
|
+
* Only HeaderTextAction and HeaderIconAction elements are allowed
|
|
212
|
+
*/
|
|
213
|
+
type HeaderActionElement = ReactElement<HeaderTextActionProps, HeaderTextActionComponent> | ReactElement<HeaderIconActionProps, HeaderIconActionComponent>;
|
|
214
|
+
/**
|
|
215
|
+
* Props for ContentHeader component
|
|
216
|
+
*/
|
|
217
|
+
interface ContentHeaderProps {
|
|
218
|
+
/** Page title displayed on the left */
|
|
219
|
+
title: string;
|
|
220
|
+
/** Optional subtitle below title */
|
|
221
|
+
subtitle?: string;
|
|
222
|
+
/** Action elements (HeaderTextAction or HeaderIconAction only) */
|
|
223
|
+
actions?: HeaderActionElement[];
|
|
224
|
+
/** Additional CSS class */
|
|
225
|
+
className?: string;
|
|
226
|
+
}
|
|
227
|
+
//#endregion
|
|
228
|
+
//#region ui/components/src/layout/ContentHeader/ContentHeader.d.ts
|
|
229
|
+
/**
|
|
230
|
+
* ContentHeader component
|
|
231
|
+
*
|
|
232
|
+
* Reusable page header with title and action buttons.
|
|
233
|
+
* Displays title, optional subtitle, and action buttons on the right.
|
|
234
|
+
* @example
|
|
235
|
+
* ```tsx
|
|
236
|
+
* <ContentHeader
|
|
237
|
+
* title="Widgets"
|
|
238
|
+
* subtitle="Manage your widgets"
|
|
239
|
+
* actions={[
|
|
240
|
+
* <HeaderTextAction key="add" onClick={handleAdd}>Add Widget</HeaderTextAction>,
|
|
241
|
+
* <HeaderIconAction key="edit" icon={<EditIcon />} label="Edit mode" active={isEditMode} />,
|
|
242
|
+
* ]}
|
|
243
|
+
* />
|
|
244
|
+
* ```
|
|
245
|
+
* @param props - Component props
|
|
246
|
+
* @returns The rendered header component
|
|
247
|
+
*/
|
|
248
|
+
declare function ContentHeader({
|
|
249
|
+
title,
|
|
250
|
+
subtitle,
|
|
251
|
+
actions,
|
|
252
|
+
className
|
|
253
|
+
}: ContentHeaderProps): _$react_jsx_runtime0.JSX.Element;
|
|
254
|
+
//#endregion
|
|
255
|
+
//#region ui/components/src/layout/GlassPanel/GlassPanel.d.ts
|
|
256
|
+
/**
|
|
257
|
+
* Props for GlassPanel component
|
|
258
|
+
*/
|
|
259
|
+
interface GlassPanelProps extends HTMLAttributes<HTMLDivElement> {
|
|
260
|
+
/** Child elements to render inside the panel */
|
|
261
|
+
children: ReactNode;
|
|
262
|
+
/** Enable hover effect (background brightens, border becomes more visible) */
|
|
263
|
+
hoverable?: boolean;
|
|
264
|
+
/** CSS class name for custom styling */
|
|
265
|
+
className?: string;
|
|
266
|
+
}
|
|
267
|
+
/**
|
|
268
|
+
* GlassPanel component
|
|
269
|
+
*
|
|
270
|
+
* Glass morphism effect panel with backdrop blur and semi-transparent background.
|
|
271
|
+
* Used for floating panels, modals, dropdowns, and any UI element that needs
|
|
272
|
+
* a subtle, modern glass-like appearance.
|
|
273
|
+
* @param children - Child elements to render inside the panel
|
|
274
|
+
* @param hoverable - Enable hover effect (background brightens, border becomes more visible)
|
|
275
|
+
* @param className - CSS class name for custom styling
|
|
276
|
+
* @param ref - Forwarded ref to the underlying div element
|
|
277
|
+
* @returns The rendered GlassPanel component
|
|
278
|
+
* @example
|
|
279
|
+
* ```tsx
|
|
280
|
+
* <GlassPanel hoverable>
|
|
281
|
+
* <p>Content with glass effect</p>
|
|
282
|
+
* </GlassPanel>
|
|
283
|
+
* ```
|
|
284
|
+
*/
|
|
285
|
+
declare const GlassPanel: _$react.ForwardRefExoticComponent<GlassPanelProps & _$react.RefAttributes<HTMLDivElement>>;
|
|
286
|
+
//#endregion
|
|
287
|
+
//#region ui/components/src/layout/IconSidebar/IconSidebar.d.ts
|
|
288
|
+
interface NavItem {
|
|
289
|
+
/** Unique identifier for the nav item */
|
|
290
|
+
id: string;
|
|
291
|
+
/** Icon element to display */
|
|
292
|
+
icon: ReactNode;
|
|
293
|
+
/** Accessible label for the button (used as aria-label and tooltip) */
|
|
294
|
+
label: string;
|
|
295
|
+
/** Whether this item is currently active */
|
|
296
|
+
active?: boolean;
|
|
297
|
+
/** Click handler */
|
|
298
|
+
onClick?: () => void;
|
|
299
|
+
}
|
|
300
|
+
interface IconSidebarProps {
|
|
301
|
+
/** Navigation items for main section */
|
|
302
|
+
navItems: NavItem[];
|
|
303
|
+
/** Navigation items for bottom section (profile, settings) */
|
|
304
|
+
bottomItems?: NavItem[];
|
|
305
|
+
/** CSS class name */
|
|
306
|
+
className?: string;
|
|
307
|
+
}
|
|
308
|
+
/**
|
|
309
|
+
* IconSidebar component
|
|
310
|
+
*
|
|
311
|
+
* Vertical icon navigation sidebar (64px wide).
|
|
312
|
+
* Displays context navigation icons with active states and hover effects.
|
|
313
|
+
* Based on design-concept/prototype.html lines 122-195.
|
|
314
|
+
* @param navItems - Navigation items for main section
|
|
315
|
+
* @param bottomItems - Navigation items for bottom section (profile, settings)
|
|
316
|
+
* @param className - CSS class name for custom styling
|
|
317
|
+
* @returns The rendered IconSidebar component
|
|
318
|
+
*/
|
|
319
|
+
declare function IconSidebar({
|
|
320
|
+
navItems,
|
|
321
|
+
bottomItems,
|
|
322
|
+
className
|
|
323
|
+
}: IconSidebarProps): _$react_jsx_runtime0.JSX.Element;
|
|
324
|
+
//#endregion
|
|
325
|
+
//#region ui/components/src/layout/Sidebar/Sidebar.d.ts
|
|
326
|
+
/**
|
|
327
|
+
* Navigation item definition for NavSidebar.
|
|
328
|
+
*
|
|
329
|
+
* Items support two interaction models:
|
|
330
|
+
* - Link-based: provide `path` for anchor/custom link rendering
|
|
331
|
+
* - Action-based: provide `onClick` for button rendering
|
|
332
|
+
*/
|
|
333
|
+
interface NavSidebarItem {
|
|
334
|
+
/** Unique key for the item (falls back to path if not provided) */
|
|
335
|
+
id?: string;
|
|
336
|
+
/** Route path for link-based navigation */
|
|
337
|
+
path?: string;
|
|
338
|
+
/** Click handler for action-based navigation */
|
|
339
|
+
onClick?: () => void;
|
|
340
|
+
/** Display label for the nav item */
|
|
341
|
+
label: string;
|
|
342
|
+
/** Optional icon element */
|
|
343
|
+
icon?: ReactNode;
|
|
344
|
+
/** Optional active state */
|
|
345
|
+
isActive?: boolean;
|
|
346
|
+
/** Optional keyboard shortcut hint (display only) */
|
|
347
|
+
shortcut?: string;
|
|
348
|
+
/** Optional tooltip/description */
|
|
349
|
+
title?: string;
|
|
350
|
+
/**
|
|
351
|
+
* Optional notification badge count.
|
|
352
|
+
* Renders a count bubble on the icon when greater than 0.
|
|
353
|
+
* Values greater than 99 render as "99+".
|
|
354
|
+
*/
|
|
355
|
+
badge?: number;
|
|
356
|
+
}
|
|
357
|
+
/**
|
|
358
|
+
* Grouped section of navigation items.
|
|
359
|
+
*
|
|
360
|
+
* Sections provide visual grouping with a label header and separator between groups.
|
|
361
|
+
*/
|
|
362
|
+
interface NavSidebarSection {
|
|
363
|
+
/** Unique section identifier */
|
|
364
|
+
id: string;
|
|
365
|
+
/** Display label for the section header */
|
|
366
|
+
label: string;
|
|
367
|
+
/** Navigation items in this section */
|
|
368
|
+
items: NavSidebarItem[];
|
|
369
|
+
}
|
|
370
|
+
/**
|
|
371
|
+
* Render function for custom link handling.
|
|
372
|
+
* @param item - The navigation item being rendered
|
|
373
|
+
* @param linkClassName - CSS class for the link element
|
|
374
|
+
* @param activeClassName - CSS class for active state
|
|
375
|
+
* @param children - Pre-rendered icon + label content
|
|
376
|
+
*/
|
|
377
|
+
type NavSidebarLinkRenderer = (item: NavSidebarItem, linkClassName: string, activeClassName: string, children: ReactNode) => ReactNode;
|
|
378
|
+
/**
|
|
379
|
+
* NavSidebar component props.
|
|
380
|
+
*
|
|
381
|
+
* Supports two rendering modes:
|
|
382
|
+
* - Flat: provide `items` for a simple list
|
|
383
|
+
* - Grouped: provide `sections` for labeled groups with separators
|
|
384
|
+
*
|
|
385
|
+
* When both are provided, flat items render before sections.
|
|
386
|
+
*/
|
|
387
|
+
interface NavSidebarProps {
|
|
388
|
+
/** Optional sidebar title displayed in header */
|
|
389
|
+
title?: string;
|
|
390
|
+
/** Flat navigation items (rendered before sections) */
|
|
391
|
+
items?: NavSidebarItem[];
|
|
392
|
+
/** Grouped navigation sections (rendered after flat items) */
|
|
393
|
+
sections?: NavSidebarSection[];
|
|
394
|
+
/** Optional footer content */
|
|
395
|
+
footer?: ReactNode;
|
|
396
|
+
/** Optional custom link renderer for link-based items */
|
|
397
|
+
renderLink?: NavSidebarLinkRenderer;
|
|
398
|
+
/** Additional CSS class */
|
|
399
|
+
className?: string;
|
|
400
|
+
/** Whether the sidebar is collapsed to icons only */
|
|
401
|
+
collapsed?: boolean;
|
|
402
|
+
/** Callback to toggle collapse state */
|
|
403
|
+
onToggleCollapse?: () => void;
|
|
404
|
+
}
|
|
405
|
+
/**
|
|
406
|
+
* Navigation sidebar component.
|
|
407
|
+
*
|
|
408
|
+
* Renders a sidebar with optional header, flat items, grouped sections,
|
|
409
|
+
* footer, and collapse toggle. Supports both link-based and action-based
|
|
410
|
+
* navigation items.
|
|
411
|
+
* @param props - Component props
|
|
412
|
+
*/
|
|
413
|
+
declare function NavSidebar(props: NavSidebarProps): ReactNode;
|
|
414
|
+
//#endregion
|
|
415
|
+
//#region ui/components/src/layout/SplitPane/types.d.ts
|
|
416
|
+
/**
|
|
417
|
+
* Type definitions for SplitPane component.
|
|
418
|
+
*
|
|
419
|
+
* These types mirror shared layout contracts to avoid circular dependencies
|
|
420
|
+
* between components and higher-level UI packages.
|
|
421
|
+
* @packageDocumentation
|
|
422
|
+
*/
|
|
423
|
+
/**
|
|
424
|
+
* Content that can be displayed within a leaf pane.
|
|
425
|
+
*/
|
|
426
|
+
type PaneContent = {
|
|
427
|
+
type: 'view';
|
|
428
|
+
viewId: string;
|
|
429
|
+
props?: Record<string, unknown>;
|
|
430
|
+
} | {
|
|
431
|
+
type: 'widget';
|
|
432
|
+
widgetId: string;
|
|
433
|
+
instanceId: string;
|
|
434
|
+
config?: Record<string, unknown>;
|
|
435
|
+
} | {
|
|
436
|
+
type: 'panelSlot';
|
|
437
|
+
} | {
|
|
438
|
+
type: 'widgetSlot';
|
|
439
|
+
scope: string;
|
|
440
|
+
defaultWidgets?: string[];
|
|
441
|
+
} | {
|
|
442
|
+
type: 'empty';
|
|
443
|
+
};
|
|
444
|
+
/**
|
|
445
|
+
* Size constraints for a pane.
|
|
446
|
+
*
|
|
447
|
+
* All size values are percentages (0-100).
|
|
448
|
+
*/
|
|
449
|
+
interface PaneSizeConstraints {
|
|
450
|
+
/**
|
|
451
|
+
* Minimum size as percentage (0-100).
|
|
452
|
+
*/
|
|
453
|
+
minSize?: number;
|
|
454
|
+
/**
|
|
455
|
+
* Maximum size as percentage (0-100).
|
|
456
|
+
*/
|
|
457
|
+
maxSize?: number;
|
|
458
|
+
/**
|
|
459
|
+
* Default size as percentage (0-100).
|
|
460
|
+
*/
|
|
461
|
+
defaultSize?: number;
|
|
462
|
+
/**
|
|
463
|
+
* Whether the pane can be collapsed to zero size.
|
|
464
|
+
*/
|
|
465
|
+
collapsible?: boolean;
|
|
466
|
+
}
|
|
467
|
+
/**
|
|
468
|
+
* Leaf pane containing actual content.
|
|
469
|
+
*/
|
|
470
|
+
interface LeafPane {
|
|
471
|
+
type: 'leaf';
|
|
472
|
+
id: string;
|
|
473
|
+
content: PaneContent;
|
|
474
|
+
constraints?: PaneSizeConstraints;
|
|
475
|
+
}
|
|
476
|
+
/**
|
|
477
|
+
* Split pane containing child panes arranged horizontally or vertically.
|
|
478
|
+
*
|
|
479
|
+
* The sizes array must have the same length as children and sum to 100.
|
|
480
|
+
*/
|
|
481
|
+
interface SplitPane$1 {
|
|
482
|
+
type: 'split';
|
|
483
|
+
id: string;
|
|
484
|
+
direction: 'horizontal' | 'vertical';
|
|
485
|
+
children: Pane[];
|
|
486
|
+
/**
|
|
487
|
+
* Sizes as percentages (must sum to 100).
|
|
488
|
+
*/
|
|
489
|
+
sizes: number[];
|
|
490
|
+
constraints?: PaneSizeConstraints;
|
|
491
|
+
}
|
|
492
|
+
/**
|
|
493
|
+
* Discriminated union of all pane types.
|
|
494
|
+
*/
|
|
495
|
+
type Pane = LeafPane | SplitPane$1;
|
|
496
|
+
//#endregion
|
|
497
|
+
//#region ui/components/src/layout/SplitPane/SplitPane.d.ts
|
|
498
|
+
/**
|
|
499
|
+
* Props for the SplitPane component.
|
|
500
|
+
*/
|
|
501
|
+
interface SplitPaneProps {
|
|
502
|
+
/**
|
|
503
|
+
* The root pane to render (can be a leaf or split pane).
|
|
504
|
+
*/
|
|
505
|
+
root: Pane;
|
|
506
|
+
/**
|
|
507
|
+
* Callback to render content for a leaf pane.
|
|
508
|
+
* @param content - The content descriptor for the pane
|
|
509
|
+
* @param paneId - The unique ID of the pane
|
|
510
|
+
* @returns The rendered content
|
|
511
|
+
*/
|
|
512
|
+
renderContent: (content: PaneContent, paneId: string) => ReactNode;
|
|
513
|
+
/**
|
|
514
|
+
* Optional auto-save ID for persisting layout state.
|
|
515
|
+
*/
|
|
516
|
+
autoSaveId?: string;
|
|
517
|
+
/**
|
|
518
|
+
* Optional callback when panel sizes change after user resize.
|
|
519
|
+
* @param sizes - Array of panel sizes as percentages
|
|
520
|
+
*/
|
|
521
|
+
onLayoutChange?: (sizes: number[]) => void;
|
|
522
|
+
/**
|
|
523
|
+
* Optional CSS class name for custom styling.
|
|
524
|
+
*/
|
|
525
|
+
className?: string;
|
|
526
|
+
}
|
|
527
|
+
/**
|
|
528
|
+
* SplitPane component - Recursive layout renderer using react-resizable-panels.
|
|
529
|
+
*
|
|
530
|
+
* This component renders a workspace layout tree with support for:
|
|
531
|
+
* - Horizontal and vertical splits
|
|
532
|
+
* - Resizable panes with drag handles
|
|
533
|
+
* - Nested layouts (splits within splits)
|
|
534
|
+
* - Auto-save layout state to localStorage
|
|
535
|
+
* - Leaf panes with custom content rendering
|
|
536
|
+
*
|
|
537
|
+
* The component is pure UI - it takes a layout tree and a render function,
|
|
538
|
+
* and handles the visual presentation and user interactions (resize).
|
|
539
|
+
* State management and content rendering are delegated to the parent.
|
|
540
|
+
* @param props - Component props
|
|
541
|
+
* @returns The rendered SplitPane component
|
|
542
|
+
* @example
|
|
543
|
+
* ```tsx
|
|
544
|
+
* const layout: Pane = {
|
|
545
|
+
* type: 'split',
|
|
546
|
+
* id: 'root',
|
|
547
|
+
* direction: 'horizontal',
|
|
548
|
+
* sizes: [30, 70],
|
|
549
|
+
* children: [
|
|
550
|
+
* { type: 'leaf', id: 'sidebar', content: { type: 'view', viewId: 'nav' } },
|
|
551
|
+
* { type: 'leaf', id: 'main', content: { type: 'view', viewId: 'editor' } },
|
|
552
|
+
* ],
|
|
553
|
+
* };
|
|
554
|
+
*
|
|
555
|
+
* <SplitPane
|
|
556
|
+
* root={layout}
|
|
557
|
+
* renderContent={(content, paneId) => <MyView content={content} />}
|
|
558
|
+
* autoSaveId="workspace-layout"
|
|
559
|
+
* />
|
|
560
|
+
* ```
|
|
561
|
+
*/
|
|
562
|
+
declare function SplitPane({
|
|
563
|
+
root,
|
|
564
|
+
renderContent,
|
|
565
|
+
autoSaveId,
|
|
566
|
+
onLayoutChange,
|
|
567
|
+
className
|
|
568
|
+
}: SplitPaneProps): ReactNode;
|
|
569
|
+
//#endregion
|
|
570
|
+
//#region ui/components/src/layout/Topbar/Topbar.d.ts
|
|
571
|
+
/**
|
|
572
|
+
* Breadcrumb item
|
|
573
|
+
*/
|
|
574
|
+
interface BreadcrumbItem {
|
|
575
|
+
/** Display label */
|
|
576
|
+
label: string;
|
|
577
|
+
/** Optional href for anchor link */
|
|
578
|
+
href?: string;
|
|
579
|
+
/** Optional click handler */
|
|
580
|
+
onClick?: () => void;
|
|
581
|
+
}
|
|
582
|
+
/**
|
|
583
|
+
* Topbar props
|
|
584
|
+
*/
|
|
585
|
+
interface TopbarProps extends HTMLAttributes<HTMLDivElement> {
|
|
586
|
+
/** Breadcrumb items for left side */
|
|
587
|
+
breadcrumbs?: BreadcrumbItem[];
|
|
588
|
+
/** Action buttons for right side */
|
|
589
|
+
actions?: ReactNode;
|
|
590
|
+
/** CSS class name */
|
|
591
|
+
className?: string;
|
|
592
|
+
}
|
|
593
|
+
/**
|
|
594
|
+
* Topbar component
|
|
595
|
+
*
|
|
596
|
+
* Fixed height navigation bar spanning the width of the main content area.
|
|
597
|
+
* Left side displays breadcrumb navigation, right side displays action buttons.
|
|
598
|
+
* @param breadcrumbs - Breadcrumb items for left side
|
|
599
|
+
* @param actions - Action buttons for right side
|
|
600
|
+
* @param className - CSS class name for custom styling
|
|
601
|
+
* @param ref - Forwarded ref to the underlying div element
|
|
602
|
+
* @returns The rendered Topbar component
|
|
603
|
+
* @example
|
|
604
|
+
* ```tsx
|
|
605
|
+
* <Topbar
|
|
606
|
+
* breadcrumbs={[
|
|
607
|
+
* { label: 'Dashboard', href: '/dashboard' },
|
|
608
|
+
* { label: 'Chat', href: '/chat' },
|
|
609
|
+
* { label: 'New Session' }
|
|
610
|
+
* ]}
|
|
611
|
+
* actions={<Button>Save</Button>}
|
|
612
|
+
* />
|
|
613
|
+
* ```
|
|
614
|
+
*/
|
|
615
|
+
declare const Topbar: _$react.ForwardRefExoticComponent<TopbarProps & _$react.RefAttributes<HTMLDivElement>>;
|
|
616
|
+
//#endregion
|
|
617
|
+
//#region ui/components/src/layout/Page/Page.d.ts
|
|
618
|
+
interface PageProps {
|
|
619
|
+
/** Page content */
|
|
620
|
+
children: ReactNode;
|
|
621
|
+
/**
|
|
622
|
+
* Whether to remove default content padding.
|
|
623
|
+
* Useful for views that manage their own internal layout/scrolling (e.g. Chat, Git).
|
|
624
|
+
* Defaults to false.
|
|
625
|
+
*/
|
|
626
|
+
noPadding?: boolean;
|
|
627
|
+
/** Optional className for the root element */
|
|
628
|
+
className?: string;
|
|
629
|
+
/** Optional className for the content area */
|
|
630
|
+
contentClassName?: string;
|
|
631
|
+
}
|
|
632
|
+
/**
|
|
633
|
+
* Standard page layout container.
|
|
634
|
+
* @param props - Component props
|
|
635
|
+
* @example
|
|
636
|
+
* ```tsx
|
|
637
|
+
* <Page>
|
|
638
|
+
* <ContentHeader title="Projects" />
|
|
639
|
+
* <ProjectList />
|
|
640
|
+
* </Page>
|
|
641
|
+
* ```
|
|
642
|
+
*/
|
|
643
|
+
declare function Page(props: PageProps): _$react_jsx_runtime0.JSX.Element;
|
|
644
|
+
//#endregion
|
|
645
|
+
//#region ui/components/src/layout/ListPage/ListPage.d.ts
|
|
646
|
+
/**
|
|
647
|
+
* Props for ListPage component
|
|
648
|
+
*/
|
|
649
|
+
interface ListPageProps {
|
|
650
|
+
/** Page title displayed in the header */
|
|
651
|
+
title: string;
|
|
652
|
+
/** Optional subtitle below the title */
|
|
653
|
+
subtitle?: string;
|
|
654
|
+
/** Action elements for the header (HeaderTextAction or HeaderIconAction) */
|
|
655
|
+
actions?: HeaderActionElement[];
|
|
656
|
+
/** Page content (typically a grid of cards or list) */
|
|
657
|
+
children: ReactNode;
|
|
658
|
+
/** Additional className for the root Page element */
|
|
659
|
+
className?: string;
|
|
660
|
+
/** Additional className for the content Panel */
|
|
661
|
+
contentClassName?: string;
|
|
662
|
+
/**
|
|
663
|
+
* Whether to show the content in a Panel with glass styling.
|
|
664
|
+
* Set to false for custom content containers.
|
|
665
|
+
* Defaults to true.
|
|
666
|
+
*/
|
|
667
|
+
usePanel?: boolean;
|
|
668
|
+
}
|
|
669
|
+
/**
|
|
670
|
+
* ListPage component - standardized layout for entity list pages.
|
|
671
|
+
*
|
|
672
|
+
* Composes Page, ContentHeader, and Panel into a consistent structure
|
|
673
|
+
* for browsing entities (Projects, Sessions, Prompts, Personas, Profiles, etc.).
|
|
674
|
+
* @example
|
|
675
|
+
* ```tsx
|
|
676
|
+
* <ListPage
|
|
677
|
+
* title="Prompts"
|
|
678
|
+
* subtitle="Reusable prompt templates"
|
|
679
|
+
* actions={[
|
|
680
|
+
* <Input key="search" leftIcon={<Search />} placeholder="Search..." />,
|
|
681
|
+
* <HeaderTextAction key="create" onClick={handleCreate}>Create</HeaderTextAction>,
|
|
682
|
+
* ]}
|
|
683
|
+
* >
|
|
684
|
+
* <div className={styles.grid}>
|
|
685
|
+
* {prompts.map((p) => <PromptCard key={p.id} {...p} />)}
|
|
686
|
+
* </div>
|
|
687
|
+
* </ListPage>
|
|
688
|
+
* ```
|
|
689
|
+
* @param props - Component props
|
|
690
|
+
* @returns The rendered list page
|
|
691
|
+
*/
|
|
692
|
+
declare function ListPage({
|
|
693
|
+
title,
|
|
694
|
+
subtitle,
|
|
695
|
+
actions,
|
|
696
|
+
children,
|
|
697
|
+
className,
|
|
698
|
+
contentClassName,
|
|
699
|
+
usePanel
|
|
700
|
+
}: ListPageProps): _$react_jsx_runtime0.JSX.Element;
|
|
701
|
+
//#endregion
|
|
702
|
+
//#region ui/components/src/layout/SlotPanel/SlotPanel.d.ts
|
|
703
|
+
type SlotPanelPadding = 'none' | 'sm' | 'md' | 'lg';
|
|
704
|
+
/**
|
|
705
|
+
* Props for the SlotPanel component.
|
|
706
|
+
* @param padding - Inner padding preset
|
|
707
|
+
* @param className - Additional CSS class name
|
|
708
|
+
* @param children - Panel content
|
|
709
|
+
* @returns SlotPanel component JSX element
|
|
710
|
+
*/
|
|
711
|
+
interface SlotPanelProps extends HTMLAttributes<HTMLDivElement> {
|
|
712
|
+
/** Inner padding preset */
|
|
713
|
+
padding?: SlotPanelPadding;
|
|
714
|
+
/** Panel content */
|
|
715
|
+
children: ReactNode;
|
|
716
|
+
}
|
|
717
|
+
/**
|
|
718
|
+
* SlotPanel component.
|
|
719
|
+
*
|
|
720
|
+
* Consistent container styling for page slot content.
|
|
721
|
+
* @param props - Component props
|
|
722
|
+
* @returns SlotPanel component JSX element
|
|
723
|
+
*/
|
|
724
|
+
declare const SlotPanel: _$react.ForwardRefExoticComponent<SlotPanelProps & _$react.RefAttributes<HTMLDivElement>>;
|
|
725
|
+
//#endregion
|
|
726
|
+
//#region ui/components/src/primitives/Button/Button.d.ts
|
|
727
|
+
/**
|
|
728
|
+
* Button visual variants
|
|
729
|
+
*/
|
|
730
|
+
type ButtonVariant = 'primary' | 'secondary' | 'ghost' | 'danger';
|
|
731
|
+
/**
|
|
732
|
+
* Button size presets
|
|
733
|
+
*/
|
|
734
|
+
type ButtonSize = 'sm' | 'md' | 'lg';
|
|
735
|
+
/**
|
|
736
|
+
* Base button props shared by all button variants.
|
|
737
|
+
* @param variant - Visual style variant (primary, secondary, ghost, danger)
|
|
738
|
+
* @param size - Size preset (sm: 28px, md: 36px, lg: 44px)
|
|
739
|
+
* @param fullWidth - Stretch button to full width of container
|
|
740
|
+
* @param leftIcon - Icon element to display before label
|
|
741
|
+
* @param rightIcon - Icon element to display after label
|
|
742
|
+
* @param loading - Show loading spinner and disable interaction
|
|
743
|
+
* @param disabled - Native disabled state
|
|
744
|
+
* @param type - Button type attribute; defaults to `'button'` to prevent
|
|
745
|
+
* accidental form submission. Pass `type="submit"` explicitly when
|
|
746
|
+
* form-submit behavior is required.
|
|
747
|
+
* @param className - Additional CSS classes
|
|
748
|
+
* @param children - Button label content
|
|
749
|
+
*/
|
|
750
|
+
type BaseButtonProps = ButtonHTMLAttributes<HTMLButtonElement> & {
|
|
751
|
+
/** Visual style variant */variant?: ButtonVariant; /** Size preset */
|
|
752
|
+
size?: ButtonSize; /** Full width button */
|
|
753
|
+
fullWidth?: boolean; /** Left icon element */
|
|
754
|
+
leftIcon?: ReactNode; /** Right icon element */
|
|
755
|
+
rightIcon?: ReactNode; /** Loading state */
|
|
756
|
+
loading?: boolean;
|
|
757
|
+
};
|
|
758
|
+
/**
|
|
759
|
+
* Discriminated union enforcing that `iconOnly: true` requires `aria-label`,
|
|
760
|
+
* so every icon-only button always has an accessible name (WCAG 2.1 SC 4.1.2).
|
|
761
|
+
*/
|
|
762
|
+
type IconOnlyAccessibility = {
|
|
763
|
+
iconOnly?: false | undefined;
|
|
764
|
+
} | {
|
|
765
|
+
iconOnly: true;
|
|
766
|
+
'aria-label': string;
|
|
767
|
+
};
|
|
768
|
+
/**
|
|
769
|
+
* Button component props.
|
|
770
|
+
*
|
|
771
|
+
* When `iconOnly` is `true`, `aria-label` is required so the button always
|
|
772
|
+
* has an accessible name.
|
|
773
|
+
* @param ref - Forwarded ref to underlying button element
|
|
774
|
+
*/
|
|
775
|
+
type ButtonProps = BaseButtonProps & IconOnlyAccessibility;
|
|
776
|
+
/**
|
|
777
|
+
* Button component
|
|
778
|
+
*
|
|
779
|
+
* Primary interactive element for triggering actions with Aura theme styling.
|
|
780
|
+
* Supports multiple variants, sizes, loading states, and icon placements.
|
|
781
|
+
* @example
|
|
782
|
+
* ```tsx
|
|
783
|
+
* <Button variant="primary" size="md" loading={isLoading}>
|
|
784
|
+
* Submit
|
|
785
|
+
* </Button>
|
|
786
|
+
* ```
|
|
787
|
+
*/
|
|
788
|
+
declare const Button: _$react.ForwardRefExoticComponent<ButtonProps & _$react.RefAttributes<HTMLButtonElement>>;
|
|
789
|
+
//#endregion
|
|
790
|
+
//#region ui/components/src/primitives/Badge/Badge.d.ts
|
|
791
|
+
/**
|
|
792
|
+
* Badge variant types
|
|
793
|
+
*
|
|
794
|
+
* Maps to semantic color categories in the Aura design system.
|
|
795
|
+
*/
|
|
796
|
+
type BadgeVariant = 'default' | 'primary' | 'success' | 'warning' | 'danger' | 'info';
|
|
797
|
+
/**
|
|
798
|
+
* Badge size types
|
|
799
|
+
*
|
|
800
|
+
* - sm: Small badges with uppercase text and wider letter-spacing
|
|
801
|
+
* - md: Medium badges with normal text styling
|
|
802
|
+
*/
|
|
803
|
+
type BadgeSize = 'sm' | 'md';
|
|
804
|
+
/**
|
|
805
|
+
* Badge component props
|
|
806
|
+
*
|
|
807
|
+
* Extends standard HTML span attributes for full flexibility.
|
|
808
|
+
*/
|
|
809
|
+
interface BadgeProps extends HTMLAttributes<HTMLSpanElement> {
|
|
810
|
+
/**
|
|
811
|
+
* Badge variant - maps to theme accent colors
|
|
812
|
+
*/
|
|
813
|
+
variant?: BadgeVariant;
|
|
814
|
+
/**
|
|
815
|
+
* Badge size preset
|
|
816
|
+
*/
|
|
817
|
+
size?: BadgeSize;
|
|
818
|
+
/**
|
|
819
|
+
* Optional icon to display on the left side
|
|
820
|
+
*/
|
|
821
|
+
icon?: ReactNode;
|
|
822
|
+
/**
|
|
823
|
+
* Badge content
|
|
824
|
+
*/
|
|
825
|
+
children: ReactNode;
|
|
826
|
+
}
|
|
827
|
+
/**
|
|
828
|
+
* Badge component
|
|
829
|
+
*
|
|
830
|
+
* A compact component for displaying status indicators, labels, or counts.
|
|
831
|
+
* Supports multiple variants mapped to theme accent colors and two size presets.
|
|
832
|
+
*
|
|
833
|
+
* Small badges use uppercase text with wider letter-spacing for improved readability
|
|
834
|
+
* at small sizes, matching the Aura design system badge pattern.
|
|
835
|
+
* @param props - Component props
|
|
836
|
+
* @returns Badge component
|
|
837
|
+
* @example
|
|
838
|
+
* ```tsx
|
|
839
|
+
* <Badge variant="success" size="sm">Active</Badge>
|
|
840
|
+
* <Badge variant="primary">New Feature</Badge>
|
|
841
|
+
* <Badge variant="danger" icon={<AlertIcon />}>Error</Badge>
|
|
842
|
+
* ```
|
|
843
|
+
*/
|
|
844
|
+
declare function Badge({
|
|
845
|
+
variant,
|
|
846
|
+
size,
|
|
847
|
+
icon,
|
|
848
|
+
children,
|
|
849
|
+
className,
|
|
850
|
+
...restProps
|
|
851
|
+
}: BadgeProps): ReactNode;
|
|
852
|
+
//#endregion
|
|
853
|
+
//#region ui/components/src/primitives/Panel/Panel.d.ts
|
|
854
|
+
type PanelVariant = 'default' | 'elevated' | 'bordered' | 'ghost';
|
|
855
|
+
type PanelPadding = 'none' | 'sm' | 'md' | 'lg';
|
|
856
|
+
/**
|
|
857
|
+
* Props for the Panel component
|
|
858
|
+
* @param variant - Visual style variant (default, elevated, bordered, ghost)
|
|
859
|
+
* @param padding - Body padding preset (none, sm, md, lg)
|
|
860
|
+
* @param title - Optional header title
|
|
861
|
+
* @param subtitle - Optional header subtitle
|
|
862
|
+
* @param titlePrefix - Optional element to render before title (icon, badge, etc.)
|
|
863
|
+
* @param actions - Optional actions to render in header
|
|
864
|
+
* @param fullHeight - Whether the panel should take full height
|
|
865
|
+
* @param className - Additional CSS class name
|
|
866
|
+
* @param children - Panel content
|
|
867
|
+
* @returns Panel component JSX element
|
|
868
|
+
*/
|
|
869
|
+
interface PanelProps extends HTMLAttributes<HTMLDivElement> {
|
|
870
|
+
/** Visual style variant */
|
|
871
|
+
variant?: PanelVariant;
|
|
872
|
+
/** Body padding preset */
|
|
873
|
+
padding?: PanelPadding;
|
|
874
|
+
/** Optional header title */
|
|
875
|
+
title?: string;
|
|
876
|
+
/** Optional header subtitle */
|
|
877
|
+
subtitle?: string;
|
|
878
|
+
/** Optional element to render before title */
|
|
879
|
+
titlePrefix?: ReactNode;
|
|
880
|
+
/** Optional actions to render in header */
|
|
881
|
+
actions?: ReactNode;
|
|
882
|
+
/** Full height container */
|
|
883
|
+
fullHeight?: boolean;
|
|
884
|
+
/**
|
|
885
|
+
* Ref forwarded to the inner scrollable `.body` div.
|
|
886
|
+
*
|
|
887
|
+
* Use this when a child needs the scroll container element
|
|
888
|
+
* (e.g. Virtuoso's `customScrollParent`).
|
|
889
|
+
*/
|
|
890
|
+
bodyRef?: Ref<HTMLDivElement>;
|
|
891
|
+
}
|
|
892
|
+
/**
|
|
893
|
+
* Panel component
|
|
894
|
+
*
|
|
895
|
+
* Container with optional header section for grouping related content
|
|
896
|
+
* with clear visual boundaries. Features Aura theme glass morphism styling.
|
|
897
|
+
* @param props - Component props
|
|
898
|
+
* @returns Panel component JSX element
|
|
899
|
+
*/
|
|
900
|
+
declare const Panel: _$react.ForwardRefExoticComponent<PanelProps & _$react.RefAttributes<HTMLDivElement>>;
|
|
901
|
+
//#endregion
|
|
902
|
+
//#region ui/components/src/primitives/Input/Input.d.ts
|
|
903
|
+
type InputSize = 'sm' | 'md' | 'lg';
|
|
904
|
+
interface InputProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'size'> {
|
|
905
|
+
/** Size preset */
|
|
906
|
+
size?: InputSize;
|
|
907
|
+
/** Label text */
|
|
908
|
+
label?: string;
|
|
909
|
+
/** Helper text shown below input */
|
|
910
|
+
helperText?: string;
|
|
911
|
+
/** Error text (overrides helperText when present) */
|
|
912
|
+
errorText?: string;
|
|
913
|
+
/** Error state */
|
|
914
|
+
error?: boolean;
|
|
915
|
+
/** Left icon element */
|
|
916
|
+
leftIcon?: ReactNode;
|
|
917
|
+
/** Right icon element */
|
|
918
|
+
rightIcon?: ReactNode;
|
|
919
|
+
}
|
|
920
|
+
/**
|
|
921
|
+
* Input component
|
|
922
|
+
*
|
|
923
|
+
* Text input with label, icons, and validation states.
|
|
924
|
+
* Features amber glow on focus matching the Aura design system.
|
|
925
|
+
* @param props - Component props
|
|
926
|
+
* @returns Input component
|
|
927
|
+
* @example
|
|
928
|
+
* ```tsx
|
|
929
|
+
* <Input
|
|
930
|
+
* label="Email"
|
|
931
|
+
* placeholder="Enter your email"
|
|
932
|
+
* errorText="Invalid email format"
|
|
933
|
+
* leftIcon={<MailIcon />}
|
|
934
|
+
* />
|
|
935
|
+
* ```
|
|
936
|
+
*/
|
|
937
|
+
declare const Input: _$react.ForwardRefExoticComponent<InputProps & _$react.RefAttributes<HTMLInputElement>>;
|
|
938
|
+
//#endregion
|
|
939
|
+
//#region ui/components/src/primitives/Textarea/Textarea.d.ts
|
|
940
|
+
interface TextareaProps extends TextareaHTMLAttributes<HTMLTextAreaElement> {
|
|
941
|
+
/** Label text displayed above the textarea */
|
|
942
|
+
label?: string;
|
|
943
|
+
/** Error message - overrides helperText when present */
|
|
944
|
+
error?: string;
|
|
945
|
+
/** Helper text shown below textarea */
|
|
946
|
+
helperText?: string;
|
|
947
|
+
/** Enable auto-resize based on content */
|
|
948
|
+
autoResize?: boolean;
|
|
949
|
+
/** Minimum number of rows to display */
|
|
950
|
+
minRows?: number;
|
|
951
|
+
/** Maximum number of rows before scrolling */
|
|
952
|
+
maxRows?: number;
|
|
953
|
+
/** Error state */
|
|
954
|
+
errorState?: boolean;
|
|
955
|
+
}
|
|
956
|
+
/**
|
|
957
|
+
* Textarea component
|
|
958
|
+
*
|
|
959
|
+
* Multi-line text input with label, auto-resize, and validation states.
|
|
960
|
+
* Styled with amber accent focus glow matching the Aura theme.
|
|
961
|
+
* @param props - Component props
|
|
962
|
+
* @returns Textarea component
|
|
963
|
+
*/
|
|
964
|
+
declare const Textarea: _$react.ForwardRefExoticComponent<TextareaProps & _$react.RefAttributes<HTMLTextAreaElement>>;
|
|
965
|
+
//#endregion
|
|
966
|
+
//#region ui/components/src/primitives/IconButton/IconButton.d.ts
|
|
967
|
+
type IconButtonVariant = 'ghost' | 'filled';
|
|
968
|
+
type IconButtonSize = 'sm' | 'md' | 'lg';
|
|
969
|
+
interface IconButtonProps extends ButtonHTMLAttributes<HTMLButtonElement> {
|
|
970
|
+
/**
|
|
971
|
+
* Visual style variant
|
|
972
|
+
* - ghost: transparent background with hover state (default)
|
|
973
|
+
* - filled: solid background color
|
|
974
|
+
*/
|
|
975
|
+
variant?: IconButtonVariant;
|
|
976
|
+
/**
|
|
977
|
+
* Size preset
|
|
978
|
+
* - sm: 28px square
|
|
979
|
+
* - md: 36px square
|
|
980
|
+
* - lg: 44px square
|
|
981
|
+
*/
|
|
982
|
+
size?: IconButtonSize;
|
|
983
|
+
/**
|
|
984
|
+
* Icon element to render
|
|
985
|
+
*/
|
|
986
|
+
icon: ReactNode;
|
|
987
|
+
/**
|
|
988
|
+
* Accessibility label for screen readers. Required so every icon-only button
|
|
989
|
+
* has an accessible name (WCAG 2.1 SC 4.1.2).
|
|
990
|
+
* Callers may still override via the native `aria-label` spread prop when needed.
|
|
991
|
+
*/
|
|
992
|
+
label: string;
|
|
993
|
+
}
|
|
994
|
+
/**
|
|
995
|
+
* IconButton Component
|
|
996
|
+
*
|
|
997
|
+
* Square button for icon-only interactions.
|
|
998
|
+
* Based on prototype nav-item pattern with Aura theme styling.
|
|
999
|
+
* @param props - Component props
|
|
1000
|
+
* @returns Icon button element
|
|
1001
|
+
* @example
|
|
1002
|
+
* ```tsx
|
|
1003
|
+
* <IconButton
|
|
1004
|
+
* icon={<CloseIcon />}
|
|
1005
|
+
* label="Close"
|
|
1006
|
+
* size="md"
|
|
1007
|
+
* variant="ghost"
|
|
1008
|
+
* />
|
|
1009
|
+
* ```
|
|
1010
|
+
*/
|
|
1011
|
+
declare const IconButton: _$react.ForwardRefExoticComponent<IconButtonProps & _$react.RefAttributes<HTMLButtonElement>>;
|
|
1012
|
+
//#endregion
|
|
1013
|
+
//#region ui/components/src/primitives/Tooltip/Tooltip.d.ts
|
|
1014
|
+
type TooltipPosition = 'top' | 'right' | 'bottom' | 'left';
|
|
1015
|
+
interface TooltipProps extends Omit<HTMLAttributes<HTMLDivElement>, 'content'> {
|
|
1016
|
+
/**
|
|
1017
|
+
* Content to display in the tooltip
|
|
1018
|
+
*/
|
|
1019
|
+
content: ReactNode;
|
|
1020
|
+
/**
|
|
1021
|
+
* Position of the tooltip relative to the trigger element
|
|
1022
|
+
*/
|
|
1023
|
+
position?: TooltipPosition;
|
|
1024
|
+
/**
|
|
1025
|
+
* Delay in milliseconds before showing the tooltip
|
|
1026
|
+
*/
|
|
1027
|
+
delay?: number;
|
|
1028
|
+
/**
|
|
1029
|
+
* Trigger element that activates the tooltip on hover.
|
|
1030
|
+
* Must be a single React element. Typed with `Record<string, unknown>` props
|
|
1031
|
+
* so that the component can safely read and forward `aria-describedby`.
|
|
1032
|
+
*/
|
|
1033
|
+
children: ReactElement<Record<string, unknown>>;
|
|
1034
|
+
}
|
|
1035
|
+
/**
|
|
1036
|
+
* Tooltip component
|
|
1037
|
+
*
|
|
1038
|
+
* Displays additional information on hover with glass panel styling.
|
|
1039
|
+
* Supports positioning on all four sides with configurable delay.
|
|
1040
|
+
* @param props - Component props
|
|
1041
|
+
* @returns Rendered tooltip with trigger
|
|
1042
|
+
*/
|
|
1043
|
+
declare function Tooltip({
|
|
1044
|
+
content,
|
|
1045
|
+
position,
|
|
1046
|
+
delay,
|
|
1047
|
+
children,
|
|
1048
|
+
className,
|
|
1049
|
+
...props
|
|
1050
|
+
}: TooltipProps): _$react_jsx_runtime0.JSX.Element;
|
|
1051
|
+
//#endregion
|
|
1052
|
+
//#region ui/components/src/primitives/Dropdown/Dropdown.d.ts
|
|
1053
|
+
/**
|
|
1054
|
+
* Dropdown item definition
|
|
1055
|
+
* Represents a single menu item with optional icon, label, shortcut, and click handler
|
|
1056
|
+
*/
|
|
1057
|
+
interface DropdownItem {
|
|
1058
|
+
/** Unique identifier for the item */
|
|
1059
|
+
id: string;
|
|
1060
|
+
/** Optional icon element to display */
|
|
1061
|
+
icon?: ReactNode;
|
|
1062
|
+
/** Display label text */
|
|
1063
|
+
label: string;
|
|
1064
|
+
/** Optional keyboard shortcut hint to display */
|
|
1065
|
+
shortcut?: string;
|
|
1066
|
+
/** Click event handler */
|
|
1067
|
+
onClick?: () => void;
|
|
1068
|
+
/** Disabled state */
|
|
1069
|
+
disabled?: boolean;
|
|
1070
|
+
}
|
|
1071
|
+
/**
|
|
1072
|
+
* Dropdown component props
|
|
1073
|
+
*/
|
|
1074
|
+
interface DropdownProps {
|
|
1075
|
+
/** Trigger element that opens the dropdown when clicked */
|
|
1076
|
+
trigger: ReactElement;
|
|
1077
|
+
/** Array of menu items or dividers */
|
|
1078
|
+
items: (DropdownItem | 'divider')[];
|
|
1079
|
+
/** Alignment of the dropdown relative to trigger */
|
|
1080
|
+
align?: 'start' | 'end';
|
|
1081
|
+
/**
|
|
1082
|
+
* Called when the dropdown open state changes.
|
|
1083
|
+
*
|
|
1084
|
+
* Use this to lazily initialise data that is only needed once the user
|
|
1085
|
+
* actually opens the menu (e.g. fetching per-item actions from the bus).
|
|
1086
|
+
* @param open - Whether the dropdown is now open
|
|
1087
|
+
*/
|
|
1088
|
+
onOpenChange?: (open: boolean) => void;
|
|
1089
|
+
}
|
|
1090
|
+
/**
|
|
1091
|
+
* Dropdown component
|
|
1092
|
+
*
|
|
1093
|
+
* Floating menu panel with trigger element.
|
|
1094
|
+
* Supports keyboard navigation (Arrow keys, Enter, Escape),
|
|
1095
|
+
* menu items with icons/labels/shortcuts, and dividers.
|
|
1096
|
+
* @param props - Dropdown component properties
|
|
1097
|
+
* @returns Dropdown component
|
|
1098
|
+
*/
|
|
1099
|
+
declare function Dropdown({
|
|
1100
|
+
trigger,
|
|
1101
|
+
items,
|
|
1102
|
+
align,
|
|
1103
|
+
onOpenChange
|
|
1104
|
+
}: DropdownProps): _$react_jsx_runtime0.JSX.Element;
|
|
1105
|
+
//#endregion
|
|
1106
|
+
//#region node_modules/lucide-react/dist/lucide-react.d.ts
|
|
1107
|
+
type SVGAttributes = Partial<SVGProps<SVGSVGElement>>;
|
|
1108
|
+
type ElementAttributes = RefAttributes<SVGSVGElement> & SVGAttributes;
|
|
1109
|
+
interface LucideProps extends ElementAttributes {
|
|
1110
|
+
size?: string | number;
|
|
1111
|
+
absoluteStrokeWidth?: boolean;
|
|
1112
|
+
}
|
|
1113
|
+
//#endregion
|
|
1114
|
+
//#region ui/components/src/primitives/Icon/Icon.d.ts
|
|
1115
|
+
/**
|
|
1116
|
+
* Icon component for application-wide use
|
|
1117
|
+
*
|
|
1118
|
+
* Simple icon renderer using lucide-react icons.
|
|
1119
|
+
*/
|
|
1120
|
+
/**
|
|
1121
|
+
* Mapping of icon names to Lucide components.
|
|
1122
|
+
*
|
|
1123
|
+
* This is the single source of truth for supported icon names — `IconName`
|
|
1124
|
+
* is derived from the keys so the union type never drifts out of sync.
|
|
1125
|
+
*/
|
|
1126
|
+
declare const ICON_MAP: {
|
|
1127
|
+
clipboard: _$react.ForwardRefExoticComponent<Omit<LucideProps, "ref"> & _$react.RefAttributes<SVGSVGElement>>;
|
|
1128
|
+
copy: _$react.ForwardRefExoticComponent<Omit<LucideProps, "ref"> & _$react.RefAttributes<SVGSVGElement>>;
|
|
1129
|
+
eye: _$react.ForwardRefExoticComponent<Omit<LucideProps, "ref"> & _$react.RefAttributes<SVGSVGElement>>;
|
|
1130
|
+
branch: _$react.ForwardRefExoticComponent<Omit<LucideProps, "ref"> & _$react.RefAttributes<SVGSVGElement>>;
|
|
1131
|
+
'git-branch': _$react.ForwardRefExoticComponent<Omit<LucideProps, "ref"> & _$react.RefAttributes<SVGSVGElement>>;
|
|
1132
|
+
commit: _$react.ForwardRefExoticComponent<Omit<LucideProps, "ref"> & _$react.RefAttributes<SVGSVGElement>>;
|
|
1133
|
+
'git-commit': _$react.ForwardRefExoticComponent<Omit<LucideProps, "ref"> & _$react.RefAttributes<SVGSVGElement>>;
|
|
1134
|
+
folder: _$react.ForwardRefExoticComponent<Omit<LucideProps, "ref"> & _$react.RefAttributes<SVGSVGElement>>;
|
|
1135
|
+
diff: _$react.ForwardRefExoticComponent<Omit<LucideProps, "ref"> & _$react.RefAttributes<SVGSVGElement>>;
|
|
1136
|
+
tag: _$react.ForwardRefExoticComponent<Omit<LucideProps, "ref"> & _$react.RefAttributes<SVGSVGElement>>;
|
|
1137
|
+
'external-link': _$react.ForwardRefExoticComponent<Omit<LucideProps, "ref"> & _$react.RefAttributes<SVGSVGElement>>;
|
|
1138
|
+
file: _$react.ForwardRefExoticComponent<Omit<LucideProps, "ref"> & _$react.RefAttributes<SVGSVGElement>>;
|
|
1139
|
+
revert: _$react.ForwardRefExoticComponent<Omit<LucideProps, "ref"> & _$react.RefAttributes<SVGSVGElement>>;
|
|
1140
|
+
'chevron-right': _$react.ForwardRefExoticComponent<Omit<LucideProps, "ref"> & _$react.RefAttributes<SVGSVGElement>>;
|
|
1141
|
+
'chevron-down': _$react.ForwardRefExoticComponent<Omit<LucideProps, "ref"> & _$react.RefAttributes<SVGSVGElement>>;
|
|
1142
|
+
monitor: _$react.ForwardRefExoticComponent<Omit<LucideProps, "ref"> & _$react.RefAttributes<SVGSVGElement>>;
|
|
1143
|
+
globe: _$react.ForwardRefExoticComponent<Omit<LucideProps, "ref"> & _$react.RefAttributes<SVGSVGElement>>;
|
|
1144
|
+
list: _$react.ForwardRefExoticComponent<Omit<LucideProps, "ref"> & _$react.RefAttributes<SVGSVGElement>>;
|
|
1145
|
+
};
|
|
1146
|
+
/**
|
|
1147
|
+
* Supported icon names, derived from `ICON_MAP` to stay in sync automatically.
|
|
1148
|
+
*/
|
|
1149
|
+
type IconName = keyof typeof ICON_MAP;
|
|
1150
|
+
/**
|
|
1151
|
+
* Props for the Icon component.
|
|
1152
|
+
*/
|
|
1153
|
+
interface IconProps {
|
|
1154
|
+
name: IconName;
|
|
1155
|
+
className?: string;
|
|
1156
|
+
size?: number | string;
|
|
1157
|
+
}
|
|
1158
|
+
/**
|
|
1159
|
+
* Type guard for valid icon names.
|
|
1160
|
+
* @param icon - String to check
|
|
1161
|
+
* @returns True if icon is a valid IconName
|
|
1162
|
+
*/
|
|
1163
|
+
declare function isIconName(icon: string): icon is IconName;
|
|
1164
|
+
/**
|
|
1165
|
+
* Renders an icon from a string name.
|
|
1166
|
+
*
|
|
1167
|
+
* Falls back to null if icon not found.
|
|
1168
|
+
* @param props - Icon props
|
|
1169
|
+
* @returns Icon element or null
|
|
1170
|
+
*/
|
|
1171
|
+
declare function Icon({
|
|
1172
|
+
name,
|
|
1173
|
+
className,
|
|
1174
|
+
size
|
|
1175
|
+
}: IconProps): _$react_jsx_runtime0.JSX.Element | null;
|
|
1176
|
+
//#endregion
|
|
1177
|
+
//#region ui/components/src/primitives/FilterChipGroup/types.d.ts
|
|
1178
|
+
/**
|
|
1179
|
+
* A single filter option.
|
|
1180
|
+
* @typeParam T - The value type
|
|
1181
|
+
*/
|
|
1182
|
+
interface FilterOption<T> {
|
|
1183
|
+
/** Unique identifier for stable equality checks */
|
|
1184
|
+
id: string;
|
|
1185
|
+
/** The value this option represents */
|
|
1186
|
+
value: T;
|
|
1187
|
+
/** Display label */
|
|
1188
|
+
label: string;
|
|
1189
|
+
/** Optional count badge */
|
|
1190
|
+
count?: number;
|
|
1191
|
+
/** Badge color variant */
|
|
1192
|
+
variant?: BadgeVariant;
|
|
1193
|
+
}
|
|
1194
|
+
//#endregion
|
|
1195
|
+
//#region ui/components/src/primitives/FilterChipGroup/FilterChipGroup.d.ts
|
|
1196
|
+
/**
|
|
1197
|
+
* Props for FilterChipGroup component.
|
|
1198
|
+
* @typeParam T - The value type for filter options
|
|
1199
|
+
*/
|
|
1200
|
+
interface FilterChipGroupProps<T> {
|
|
1201
|
+
/** Available filter options */
|
|
1202
|
+
options: FilterOption<T>[];
|
|
1203
|
+
/** Currently selected options (not just values) */
|
|
1204
|
+
selected: FilterOption<T>[];
|
|
1205
|
+
/** Called when selection changes */
|
|
1206
|
+
onChange: (selected: FilterOption<T>[]) => void;
|
|
1207
|
+
/** Allow multiple selections (default: true) */
|
|
1208
|
+
multiSelect?: boolean;
|
|
1209
|
+
/** Additional CSS class */
|
|
1210
|
+
className?: string;
|
|
1211
|
+
}
|
|
1212
|
+
/**
|
|
1213
|
+
* FilterChipGroup - Toggleable filter chips for list filtering.
|
|
1214
|
+
*
|
|
1215
|
+
* Pure component supporting single or multi-select modes.
|
|
1216
|
+
* @param options - Available filter options
|
|
1217
|
+
* @param selected - Currently selected options
|
|
1218
|
+
* @param onChange - Called when selection changes
|
|
1219
|
+
* @param multiSelect - Allow multiple selections (default: true)
|
|
1220
|
+
* @param className - Additional CSS class
|
|
1221
|
+
* @returns React component
|
|
1222
|
+
* @typeParam T - The value type for filter options
|
|
1223
|
+
*/
|
|
1224
|
+
declare function FilterChipGroup<T>({
|
|
1225
|
+
options,
|
|
1226
|
+
selected,
|
|
1227
|
+
onChange,
|
|
1228
|
+
multiSelect,
|
|
1229
|
+
className
|
|
1230
|
+
}: FilterChipGroupProps<T>): ReactNode;
|
|
1231
|
+
//#endregion
|
|
1232
|
+
//#region ui/components/src/primitives/ButtonGroupFilter/ButtonGroupFilter.d.ts
|
|
1233
|
+
/**
|
|
1234
|
+
* Represents a single option in the button group filter.
|
|
1235
|
+
* Generic type parameter T is the string literal type for option values.
|
|
1236
|
+
*/
|
|
1237
|
+
interface ButtonGroupOption<T extends string> {
|
|
1238
|
+
/** The value of this option */
|
|
1239
|
+
value: T;
|
|
1240
|
+
/** The label to display for this option */
|
|
1241
|
+
label: string;
|
|
1242
|
+
/** Whether this option is disabled */
|
|
1243
|
+
disabled?: boolean;
|
|
1244
|
+
}
|
|
1245
|
+
/**
|
|
1246
|
+
* Props for the ButtonGroupFilter component.
|
|
1247
|
+
* Generic type parameter T is the string literal type for option values.
|
|
1248
|
+
*/
|
|
1249
|
+
interface ButtonGroupFilterProps<T extends string> {
|
|
1250
|
+
/** Current selected value */
|
|
1251
|
+
value: T;
|
|
1252
|
+
/** Callback when the selected value changes */
|
|
1253
|
+
onChange: (value: T) => void;
|
|
1254
|
+
/** Array of options to display */
|
|
1255
|
+
options: ButtonGroupOption<T>[];
|
|
1256
|
+
/** Optional counts to display in parentheses after each label */
|
|
1257
|
+
counts?: Partial<Record<T, number>>;
|
|
1258
|
+
/** Label text shown before the buttons */
|
|
1259
|
+
label?: string;
|
|
1260
|
+
/** Optional CSS class name for the container */
|
|
1261
|
+
className?: string;
|
|
1262
|
+
}
|
|
1263
|
+
/**
|
|
1264
|
+
* ButtonGroupFilter - Generic toggle control for filtering with button groups.
|
|
1265
|
+
* Provides a reusable component for creating filter controls with multiple options.
|
|
1266
|
+
* Generic type parameter T is the string literal type for option values.
|
|
1267
|
+
* @param props - Component props
|
|
1268
|
+
* @returns Button group filter control
|
|
1269
|
+
* @example
|
|
1270
|
+
* ```tsx
|
|
1271
|
+
* const options = [
|
|
1272
|
+
* { value: 'all', label: 'All' },
|
|
1273
|
+
* { value: 'active', label: 'Active' },
|
|
1274
|
+
* { value: 'closed', label: 'Closed' },
|
|
1275
|
+
* ];
|
|
1276
|
+
*
|
|
1277
|
+
* <ButtonGroupFilter
|
|
1278
|
+
* value={status}
|
|
1279
|
+
* onChange={setStatus}
|
|
1280
|
+
* options={options}
|
|
1281
|
+
* counts={{ all: 10, active: 5, closed: 5 }}
|
|
1282
|
+
* label="Status"
|
|
1283
|
+
* />
|
|
1284
|
+
* ```
|
|
1285
|
+
*/
|
|
1286
|
+
declare function ButtonGroupFilter<T extends string>({
|
|
1287
|
+
value,
|
|
1288
|
+
onChange,
|
|
1289
|
+
options,
|
|
1290
|
+
counts,
|
|
1291
|
+
label,
|
|
1292
|
+
className
|
|
1293
|
+
}: ButtonGroupFilterProps<T>): _$react_jsx_runtime0.JSX.Element;
|
|
1294
|
+
//#endregion
|
|
1295
|
+
//#region ui/components/src/primitives/Collapsible/types.d.ts
|
|
1296
|
+
/**
|
|
1297
|
+
* Props for CollapsibleSection component.
|
|
1298
|
+
*/
|
|
1299
|
+
interface CollapsibleSectionProps {
|
|
1300
|
+
/** Section title displayed in header */
|
|
1301
|
+
title: string;
|
|
1302
|
+
/** Controlled expanded state (omit for uncontrolled) */
|
|
1303
|
+
expanded?: boolean;
|
|
1304
|
+
/** Default expanded state for uncontrolled mode */
|
|
1305
|
+
defaultExpanded?: boolean;
|
|
1306
|
+
/** Callback when expanded state changes */
|
|
1307
|
+
onExpandedChange?: (expanded: boolean) => void;
|
|
1308
|
+
/** Optional action element rendered in the header (e.g., add button) */
|
|
1309
|
+
action?: ReactNode;
|
|
1310
|
+
/** Section content */
|
|
1311
|
+
children: ReactNode;
|
|
1312
|
+
/** Optional className for container */
|
|
1313
|
+
className?: string;
|
|
1314
|
+
/** Optional className for header */
|
|
1315
|
+
headerClassName?: string;
|
|
1316
|
+
/** Unique ID for group coordination (auto-generated if omitted) */
|
|
1317
|
+
id?: string;
|
|
1318
|
+
}
|
|
1319
|
+
/**
|
|
1320
|
+
* Group coordination mode.
|
|
1321
|
+
* - 'independent': Sections expand/collapse independently
|
|
1322
|
+
* - 'accordion': Only one section can be expanded at a time
|
|
1323
|
+
*/
|
|
1324
|
+
type CollapsibleGroupMode = 'independent' | 'accordion';
|
|
1325
|
+
/**
|
|
1326
|
+
* Props for CollapsibleGroup component.
|
|
1327
|
+
*/
|
|
1328
|
+
interface CollapsibleGroupProps {
|
|
1329
|
+
/** Child CollapsibleSection components */
|
|
1330
|
+
children: ReactNode;
|
|
1331
|
+
/** Coordination mode */
|
|
1332
|
+
mode?: CollapsibleGroupMode;
|
|
1333
|
+
/** Key for localStorage persistence (omit to disable) */
|
|
1334
|
+
persistKey?: string;
|
|
1335
|
+
/** Optional className */
|
|
1336
|
+
className?: string;
|
|
1337
|
+
}
|
|
1338
|
+
/**
|
|
1339
|
+
* Context value provided by CollapsibleGroup.
|
|
1340
|
+
*/
|
|
1341
|
+
interface CollapsibleContextValue {
|
|
1342
|
+
/** Current mode */
|
|
1343
|
+
mode: CollapsibleGroupMode;
|
|
1344
|
+
/** Map of section id -\> expanded state */
|
|
1345
|
+
expandedMap: Map<string, boolean>;
|
|
1346
|
+
/** Register a section with the group */
|
|
1347
|
+
register: (id: string, defaultExpanded: boolean) => void;
|
|
1348
|
+
/** Unregister a section */
|
|
1349
|
+
unregister: (id: string) => void;
|
|
1350
|
+
/** Toggle a section's expanded state */
|
|
1351
|
+
toggle: (id: string) => void;
|
|
1352
|
+
/** Expand all sections */
|
|
1353
|
+
expandAll: () => void;
|
|
1354
|
+
/** Collapse all sections */
|
|
1355
|
+
collapseAll: () => void;
|
|
1356
|
+
}
|
|
1357
|
+
//#endregion
|
|
1358
|
+
//#region ui/components/src/primitives/Collapsible/CollapsibleSection.d.ts
|
|
1359
|
+
/**
|
|
1360
|
+
* Collapsible section with smooth height animation.
|
|
1361
|
+
* @param props - Component props
|
|
1362
|
+
* @example Uncontrolled (internal state)
|
|
1363
|
+
* ```tsx
|
|
1364
|
+
* <CollapsibleSection title="Settings" defaultExpanded>
|
|
1365
|
+
* <SettingsPanel />
|
|
1366
|
+
* </CollapsibleSection>
|
|
1367
|
+
* ```
|
|
1368
|
+
* @example Controlled (external state)
|
|
1369
|
+
* ```tsx
|
|
1370
|
+
* <CollapsibleSection
|
|
1371
|
+
* title="Branches"
|
|
1372
|
+
* expanded={isExpanded}
|
|
1373
|
+
* onExpandedChange={setIsExpanded}
|
|
1374
|
+
* >
|
|
1375
|
+
* <BranchList />
|
|
1376
|
+
* </CollapsibleSection>
|
|
1377
|
+
* ```
|
|
1378
|
+
*/
|
|
1379
|
+
declare const CollapsibleSection: React.FC<CollapsibleSectionProps>;
|
|
1380
|
+
//#endregion
|
|
1381
|
+
//#region ui/components/src/primitives/Collapsible/CollapsibleGroup.d.ts
|
|
1382
|
+
/**
|
|
1383
|
+
* Coordinates multiple CollapsibleSection components.
|
|
1384
|
+
* @param props - Component props
|
|
1385
|
+
* @example Independent mode (default)
|
|
1386
|
+
* ```tsx
|
|
1387
|
+
* <CollapsibleGroup>
|
|
1388
|
+
* <CollapsibleSection title="Section 1">...</CollapsibleSection>
|
|
1389
|
+
* <CollapsibleSection title="Section 2">...</CollapsibleSection>
|
|
1390
|
+
* </CollapsibleGroup>
|
|
1391
|
+
* ```
|
|
1392
|
+
* @example Accordion mode (only one open at a time)
|
|
1393
|
+
* ```tsx
|
|
1394
|
+
* <CollapsibleGroup mode="accordion">
|
|
1395
|
+
* <CollapsibleSection title="Section 1">...</CollapsibleSection>
|
|
1396
|
+
* <CollapsibleSection title="Section 2">...</CollapsibleSection>
|
|
1397
|
+
* </CollapsibleGroup>
|
|
1398
|
+
* ```
|
|
1399
|
+
*/
|
|
1400
|
+
declare const CollapsibleGroup: React.FC<CollapsibleGroupProps>;
|
|
1401
|
+
//#endregion
|
|
1402
|
+
//#region ui/components/src/primitives/Collapsible/CollapsibleContext.d.ts
|
|
1403
|
+
/**
|
|
1404
|
+
* Hook to access CollapsibleGroup context.
|
|
1405
|
+
* @returns Context value or null when used outside a group
|
|
1406
|
+
*/
|
|
1407
|
+
declare function useCollapsibleGroup(): CollapsibleContextValue | null;
|
|
1408
|
+
//#endregion
|
|
1409
|
+
//#region ui/components/src/primitives/ContextMenu/ContextMenu.types.d.ts
|
|
1410
|
+
/**
|
|
1411
|
+
* A single action item rendered in the context menu.
|
|
1412
|
+
*/
|
|
1413
|
+
interface ContextMenuAction {
|
|
1414
|
+
/** Unique identifier for the action */
|
|
1415
|
+
id: string;
|
|
1416
|
+
/** Display label */
|
|
1417
|
+
label: string;
|
|
1418
|
+
/** Optional icon identifier (must match known icon set) */
|
|
1419
|
+
icon?: string;
|
|
1420
|
+
/** Category key for grouping */
|
|
1421
|
+
category: string;
|
|
1422
|
+
/** Optional keyboard shortcut display text */
|
|
1423
|
+
shortcut?: string;
|
|
1424
|
+
}
|
|
1425
|
+
/**
|
|
1426
|
+
* Category configuration for display ordering and labels.
|
|
1427
|
+
*/
|
|
1428
|
+
interface CategoryConfig {
|
|
1429
|
+
/** Display label for the category group header */
|
|
1430
|
+
label: string;
|
|
1431
|
+
/** Sort order (lower = higher in menu) */
|
|
1432
|
+
order: number;
|
|
1433
|
+
}
|
|
1434
|
+
/**
|
|
1435
|
+
* Props for the generic ContextMenu component.
|
|
1436
|
+
*/
|
|
1437
|
+
interface ContextMenuProps {
|
|
1438
|
+
/** Available actions to display */
|
|
1439
|
+
actions: ContextMenuAction[];
|
|
1440
|
+
/** Position to display the menu */
|
|
1441
|
+
position: {
|
|
1442
|
+
x: number;
|
|
1443
|
+
y: number;
|
|
1444
|
+
};
|
|
1445
|
+
/** Callback when menu should close */
|
|
1446
|
+
onClose: () => void;
|
|
1447
|
+
/** Callback when an action is executed */
|
|
1448
|
+
onExecute: (actionId: string) => void;
|
|
1449
|
+
/** Category display config: maps category key to label + order */
|
|
1450
|
+
categoryConfig: Record<string, CategoryConfig>;
|
|
1451
|
+
/** ARIA label for the menu element */
|
|
1452
|
+
ariaLabel: string;
|
|
1453
|
+
/** Optional header content rendered above the action groups */
|
|
1454
|
+
header?: ReactNode;
|
|
1455
|
+
}
|
|
1456
|
+
//#endregion
|
|
1457
|
+
//#region ui/components/src/primitives/ContextMenu/ContextMenu.d.ts
|
|
1458
|
+
/**
|
|
1459
|
+
* Generic context menu component.
|
|
1460
|
+
*
|
|
1461
|
+
* Displays actions grouped by category with keyboard shortcuts.
|
|
1462
|
+
* Closes on click outside or Escape key.
|
|
1463
|
+
* Features glass panel effect with backdrop blur.
|
|
1464
|
+
* @param props - Component props
|
|
1465
|
+
*/
|
|
1466
|
+
declare function ContextMenu(props: ContextMenuProps): _$react.ReactPortal | null;
|
|
1467
|
+
//#endregion
|
|
1468
|
+
//#region ui/components/src/primitives/ModalPortal/ModalPortal.d.ts
|
|
1469
|
+
interface ModalPortalProps {
|
|
1470
|
+
/** Content to render at the document body level */
|
|
1471
|
+
children: ReactNode;
|
|
1472
|
+
}
|
|
1473
|
+
/**
|
|
1474
|
+
* Renders children into a React portal at document.body,
|
|
1475
|
+
* escaping all ancestor stacking contexts.
|
|
1476
|
+
* @param children - Portal content rendered at the document root
|
|
1477
|
+
* @returns Portal-rendered children
|
|
1478
|
+
*/
|
|
1479
|
+
declare function ModalPortal({
|
|
1480
|
+
children
|
|
1481
|
+
}: ModalPortalProps): _$react.ReactPortal | null;
|
|
1482
|
+
//#endregion
|
|
1483
|
+
//#region ui/components/src/primitives/Popover/Popover.d.ts
|
|
1484
|
+
/**
|
|
1485
|
+
* Popover component props.
|
|
1486
|
+
*
|
|
1487
|
+
* Supports both controlled and uncontrolled open state.
|
|
1488
|
+
* When `open` and `onOpenChange` are provided, the component is controlled.
|
|
1489
|
+
* When omitted, the component manages open state internally.
|
|
1490
|
+
*/
|
|
1491
|
+
interface PopoverProps {
|
|
1492
|
+
/** Trigger element that toggles the popover */
|
|
1493
|
+
trigger: ReactElement;
|
|
1494
|
+
/** Popover content */
|
|
1495
|
+
children: ReactNode;
|
|
1496
|
+
/** Alignment relative to trigger */
|
|
1497
|
+
align?: 'start' | 'end';
|
|
1498
|
+
/** Controlled open state (optional, uncontrolled by default) */
|
|
1499
|
+
open?: boolean;
|
|
1500
|
+
/** Callback when open state changes */
|
|
1501
|
+
onOpenChange?: (open: boolean) => void;
|
|
1502
|
+
/** Accessible label for the dialog panel. */
|
|
1503
|
+
ariaLabel?: string;
|
|
1504
|
+
/** Accessible labelled-by id for the dialog panel. */
|
|
1505
|
+
ariaLabelledBy?: string;
|
|
1506
|
+
}
|
|
1507
|
+
/**
|
|
1508
|
+
* Popover primitive component.
|
|
1509
|
+
*
|
|
1510
|
+
* Floating panel anchored below a trigger element.
|
|
1511
|
+
* Supports:
|
|
1512
|
+
* - Click trigger to toggle open/close
|
|
1513
|
+
* - Escape key to close
|
|
1514
|
+
* - Click outside to close
|
|
1515
|
+
* - Controlled (`open` + `onOpenChange`) and uncontrolled modes
|
|
1516
|
+
* - Start or end alignment relative to the trigger
|
|
1517
|
+
* @param props - Popover component properties
|
|
1518
|
+
* @returns Popover component
|
|
1519
|
+
*/
|
|
1520
|
+
declare function Popover({
|
|
1521
|
+
trigger,
|
|
1522
|
+
children,
|
|
1523
|
+
align,
|
|
1524
|
+
open: controlledOpen,
|
|
1525
|
+
onOpenChange,
|
|
1526
|
+
ariaLabel,
|
|
1527
|
+
ariaLabelledBy
|
|
1528
|
+
}: PopoverProps): _$react_jsx_runtime0.JSX.Element;
|
|
1529
|
+
//#endregion
|
|
1530
|
+
//#region ui/components/src/primitives/Toggle/Toggle.d.ts
|
|
1531
|
+
/**
|
|
1532
|
+
* Toggle size variants.
|
|
1533
|
+
*
|
|
1534
|
+
* - sm: 32x18px track
|
|
1535
|
+
* - md: 40x22px track
|
|
1536
|
+
*/
|
|
1537
|
+
type ToggleSize = 'sm' | 'md';
|
|
1538
|
+
/**
|
|
1539
|
+
* Base props for the Toggle switch component, excluding the accessible-name
|
|
1540
|
+
* constraint which is enforced via {@link ToggleProps}.
|
|
1541
|
+
*/
|
|
1542
|
+
interface BaseToggleProps {
|
|
1543
|
+
/** Whether the toggle is on. */
|
|
1544
|
+
checked: boolean;
|
|
1545
|
+
/**
|
|
1546
|
+
* Called when the toggle is clicked.
|
|
1547
|
+
* @param checked - The new checked state after the click.
|
|
1548
|
+
*/
|
|
1549
|
+
onChange: (checked: boolean) => void;
|
|
1550
|
+
/** Whether the toggle is disabled. */
|
|
1551
|
+
disabled?: boolean;
|
|
1552
|
+
/** Toggle size variant. */
|
|
1553
|
+
size?: ToggleSize;
|
|
1554
|
+
/** Additional CSS class. */
|
|
1555
|
+
className?: string;
|
|
1556
|
+
}
|
|
1557
|
+
/**
|
|
1558
|
+
* Discriminated union that enforces at least one of `accessibleLabel` or
|
|
1559
|
+
* `ariaLabel` is supplied so the toggle always has an accessible name
|
|
1560
|
+
* (WCAG 2.1 SC 1.3.1 / 4.1.2).
|
|
1561
|
+
*
|
|
1562
|
+
* - `accessibleLabel` — the primary accessible name for the toggle. Not
|
|
1563
|
+
* rendered as visible text; it is passed directly to `aria-label`. Use this
|
|
1564
|
+
* when a visible label is provided by the surrounding UI or is otherwise
|
|
1565
|
+
* unnecessary.
|
|
1566
|
+
* - `ariaLabel` — an override accessible name. When both `accessibleLabel` and
|
|
1567
|
+
* `ariaLabel` are present, `ariaLabel` takes precedence.
|
|
1568
|
+
*/
|
|
1569
|
+
type AccessibleName = {
|
|
1570
|
+
accessibleLabel: string;
|
|
1571
|
+
ariaLabel?: string;
|
|
1572
|
+
} | {
|
|
1573
|
+
accessibleLabel?: string;
|
|
1574
|
+
ariaLabel: string;
|
|
1575
|
+
};
|
|
1576
|
+
/**
|
|
1577
|
+
* Props for the Toggle switch component.
|
|
1578
|
+
*
|
|
1579
|
+
* At least one of `accessibleLabel` or `ariaLabel` must be provided so the
|
|
1580
|
+
* toggle always has an accessible name (WCAG 2.1 SC 1.3.1 / 4.1.2).
|
|
1581
|
+
*/
|
|
1582
|
+
type ToggleProps = BaseToggleProps & AccessibleName;
|
|
1583
|
+
/**
|
|
1584
|
+
* Toggle switch component.
|
|
1585
|
+
*
|
|
1586
|
+
* A pure presentational toggle switch rendered as an accessible `<button role="switch">`.
|
|
1587
|
+
* State is fully controlled via `checked` and `onChange` — no internal state.
|
|
1588
|
+
* Uses Aura theme tokens for all colors and sizing.
|
|
1589
|
+
* @param props - Component props
|
|
1590
|
+
* @returns Toggle switch component
|
|
1591
|
+
* @example
|
|
1592
|
+
* ```tsx
|
|
1593
|
+
* <Toggle checked={enabled} onChange={setEnabled} accessibleLabel="Enable notifications" />
|
|
1594
|
+
* <Toggle checked={active} onChange={setActive} size="sm" disabled ariaLabel="Toggle active" />
|
|
1595
|
+
* ```
|
|
1596
|
+
*/
|
|
1597
|
+
declare function Toggle({
|
|
1598
|
+
checked,
|
|
1599
|
+
onChange,
|
|
1600
|
+
disabled,
|
|
1601
|
+
size,
|
|
1602
|
+
accessibleLabel,
|
|
1603
|
+
ariaLabel,
|
|
1604
|
+
className
|
|
1605
|
+
}: ToggleProps): ReactNode;
|
|
1606
|
+
//#endregion
|
|
1607
|
+
//#region ui/components/src/icons/Icon.types.d.ts
|
|
1608
|
+
/**
|
|
1609
|
+
* Shared props interface for all icon components.
|
|
1610
|
+
*
|
|
1611
|
+
* Icons are pure SVG wrappers with standardized sizing and accessibility.
|
|
1612
|
+
*/
|
|
1613
|
+
interface IconProps$1 {
|
|
1614
|
+
/**
|
|
1615
|
+
* Icon size in pixels (applies to both width and height)
|
|
1616
|
+
* @defaultValue 16
|
|
1617
|
+
*/
|
|
1618
|
+
size?: number;
|
|
1619
|
+
/**
|
|
1620
|
+
* Additional CSS class name
|
|
1621
|
+
*/
|
|
1622
|
+
className?: string;
|
|
1623
|
+
/**
|
|
1624
|
+
* Whether the icon is decorative and should be hidden from screen readers
|
|
1625
|
+
* @defaultValue true
|
|
1626
|
+
*/
|
|
1627
|
+
'aria-hidden'?: boolean;
|
|
1628
|
+
/**
|
|
1629
|
+
* Accessible name for non-decorative icon usage.
|
|
1630
|
+
* Supply this when `'aria-hidden'` is false.
|
|
1631
|
+
* Concrete icon wrappers forward both accessibility props to the SVG; see
|
|
1632
|
+
* IconAccessibility.test.tsx for the locked contract.
|
|
1633
|
+
*/
|
|
1634
|
+
'aria-label'?: string;
|
|
1635
|
+
}
|
|
1636
|
+
/**
|
|
1637
|
+
* Default icon props applied to all icons
|
|
1638
|
+
*/
|
|
1639
|
+
declare const DEFAULT_ICON_PROPS: Required<Pick<IconProps$1, 'size' | 'aria-hidden'>>;
|
|
1640
|
+
//#endregion
|
|
1641
|
+
//#region ui/components/src/icons/ChevronIcon.d.ts
|
|
1642
|
+
/**
|
|
1643
|
+
* Extended props for ChevronIcon with direction support
|
|
1644
|
+
*/
|
|
1645
|
+
interface ChevronIconProps extends IconProps$1 {
|
|
1646
|
+
/**
|
|
1647
|
+
* Direction the chevron should point
|
|
1648
|
+
* @defaultValue 'right'
|
|
1649
|
+
*/
|
|
1650
|
+
direction?: 'left' | 'right' | 'up' | 'down';
|
|
1651
|
+
}
|
|
1652
|
+
/**
|
|
1653
|
+
* Directional chevron icon.
|
|
1654
|
+
* @param props - Icon props with direction
|
|
1655
|
+
* @returns SVG chevron icon
|
|
1656
|
+
*/
|
|
1657
|
+
declare function ChevronIcon({
|
|
1658
|
+
size,
|
|
1659
|
+
className,
|
|
1660
|
+
'aria-hidden': ariaHidden,
|
|
1661
|
+
'aria-label': ariaLabel,
|
|
1662
|
+
direction
|
|
1663
|
+
}: ChevronIconProps): _$react_jsx_runtime0.JSX.Element;
|
|
1664
|
+
//#endregion
|
|
1665
|
+
//#region ui/components/src/icons/AlertTriangleIcon.d.ts
|
|
1666
|
+
/**
|
|
1667
|
+
* Warning triangle icon for alerts and cautions.
|
|
1668
|
+
* @param props - Icon props
|
|
1669
|
+
* @returns SVG alert triangle icon
|
|
1670
|
+
*/
|
|
1671
|
+
declare function AlertTriangleIcon({
|
|
1672
|
+
size,
|
|
1673
|
+
className,
|
|
1674
|
+
'aria-hidden': ariaHidden,
|
|
1675
|
+
'aria-label': ariaLabel
|
|
1676
|
+
}: IconProps$1): _$react_jsx_runtime0.JSX.Element;
|
|
1677
|
+
//#endregion
|
|
1678
|
+
//#region ui/components/src/icons/ArchiveIcon.d.ts
|
|
1679
|
+
/**
|
|
1680
|
+
* Archive box icon for archiving actions.
|
|
1681
|
+
* @param props - Icon props
|
|
1682
|
+
* @returns SVG archive icon
|
|
1683
|
+
*/
|
|
1684
|
+
declare function ArchiveIcon({
|
|
1685
|
+
size,
|
|
1686
|
+
className,
|
|
1687
|
+
'aria-hidden': ariaHidden,
|
|
1688
|
+
'aria-label': ariaLabel
|
|
1689
|
+
}: IconProps$1): _$react_jsx_runtime0.JSX.Element;
|
|
1690
|
+
//#endregion
|
|
1691
|
+
//#region ui/components/src/icons/AttachmentIcon.d.ts
|
|
1692
|
+
/**
|
|
1693
|
+
* Paperclip icon for attachment/file upload actions.
|
|
1694
|
+
* @param props - Icon props
|
|
1695
|
+
* @returns SVG attachment icon
|
|
1696
|
+
*/
|
|
1697
|
+
declare function AttachmentIcon({
|
|
1698
|
+
size,
|
|
1699
|
+
className,
|
|
1700
|
+
'aria-hidden': ariaHidden,
|
|
1701
|
+
'aria-label': ariaLabel
|
|
1702
|
+
}: IconProps$1): _$react_jsx_runtime0.JSX.Element;
|
|
1703
|
+
//#endregion
|
|
1704
|
+
//#region ui/components/src/icons/ChatBubbleIcon.d.ts
|
|
1705
|
+
/**
|
|
1706
|
+
* Chat bubble icon for messaging/conversation contexts.
|
|
1707
|
+
* @param props - Icon props
|
|
1708
|
+
* @returns SVG chat bubble icon
|
|
1709
|
+
*/
|
|
1710
|
+
declare function ChatBubbleIcon({
|
|
1711
|
+
size,
|
|
1712
|
+
className,
|
|
1713
|
+
'aria-hidden': ariaHidden,
|
|
1714
|
+
'aria-label': ariaLabel
|
|
1715
|
+
}: IconProps$1): _$react_jsx_runtime0.JSX.Element;
|
|
1716
|
+
//#endregion
|
|
1717
|
+
//#region ui/components/src/icons/CloseIcon.d.ts
|
|
1718
|
+
/**
|
|
1719
|
+
* X icon for close/dismiss actions.
|
|
1720
|
+
* @param props - Icon props
|
|
1721
|
+
* @returns SVG close icon
|
|
1722
|
+
*/
|
|
1723
|
+
declare function CloseIcon({
|
|
1724
|
+
size,
|
|
1725
|
+
className,
|
|
1726
|
+
'aria-hidden': ariaHidden,
|
|
1727
|
+
'aria-label': ariaLabel
|
|
1728
|
+
}: IconProps$1): _$react_jsx_runtime0.JSX.Element;
|
|
1729
|
+
//#endregion
|
|
1730
|
+
//#region ui/components/src/icons/CompressIcon.d.ts
|
|
1731
|
+
/**
|
|
1732
|
+
* Compress/minimize icon for reducing size or collapsing content.
|
|
1733
|
+
* @param props - Icon props
|
|
1734
|
+
* @returns SVG compress icon
|
|
1735
|
+
*/
|
|
1736
|
+
declare function CompressIcon({
|
|
1737
|
+
size,
|
|
1738
|
+
className,
|
|
1739
|
+
'aria-hidden': ariaHidden,
|
|
1740
|
+
'aria-label': ariaLabel
|
|
1741
|
+
}: IconProps$1): _$react_jsx_runtime0.JSX.Element;
|
|
1742
|
+
//#endregion
|
|
1743
|
+
//#region ui/components/src/icons/ForkIcon.d.ts
|
|
1744
|
+
/**
|
|
1745
|
+
* Fork icon for session/content forking actions.
|
|
1746
|
+
* Shows a branching network pattern.
|
|
1747
|
+
* @param props - Icon props
|
|
1748
|
+
* @returns SVG fork icon
|
|
1749
|
+
*/
|
|
1750
|
+
declare function ForkIcon({
|
|
1751
|
+
size,
|
|
1752
|
+
className,
|
|
1753
|
+
'aria-hidden': ariaHidden,
|
|
1754
|
+
'aria-label': ariaLabel
|
|
1755
|
+
}: IconProps$1): _$react_jsx_runtime0.JSX.Element;
|
|
1756
|
+
//#endregion
|
|
1757
|
+
//#region ui/components/src/icons/GitBranchIcon.d.ts
|
|
1758
|
+
/**
|
|
1759
|
+
* Git branch icon for repository/version control contexts.
|
|
1760
|
+
* @param props - Icon props
|
|
1761
|
+
* @returns SVG git branch icon
|
|
1762
|
+
*/
|
|
1763
|
+
declare function GitBranchIcon({
|
|
1764
|
+
size,
|
|
1765
|
+
className,
|
|
1766
|
+
'aria-hidden': ariaHidden,
|
|
1767
|
+
'aria-label': ariaLabel
|
|
1768
|
+
}: IconProps$1): _$react_jsx_runtime0.JSX.Element;
|
|
1769
|
+
//#endregion
|
|
1770
|
+
//#region ui/components/src/icons/GripVerticalIcon.d.ts
|
|
1771
|
+
/**
|
|
1772
|
+
* Vertical grip icon for drag handles and reorderable items.
|
|
1773
|
+
* @param props - Icon props
|
|
1774
|
+
* @returns SVG grip icon
|
|
1775
|
+
*/
|
|
1776
|
+
declare function GripVerticalIcon({
|
|
1777
|
+
size,
|
|
1778
|
+
className,
|
|
1779
|
+
'aria-hidden': ariaHidden,
|
|
1780
|
+
'aria-label': ariaLabel
|
|
1781
|
+
}: IconProps$1): _$react_jsx_runtime0.JSX.Element;
|
|
1782
|
+
//#endregion
|
|
1783
|
+
//#region ui/components/src/icons/KebabMenuIcon.d.ts
|
|
1784
|
+
/**
|
|
1785
|
+
* Vertical three dots icon for dropdown menus.
|
|
1786
|
+
* @param props - Icon props
|
|
1787
|
+
* @returns SVG kebab menu icon
|
|
1788
|
+
*/
|
|
1789
|
+
declare function KebabMenuIcon({
|
|
1790
|
+
size,
|
|
1791
|
+
className,
|
|
1792
|
+
'aria-hidden': ariaHidden,
|
|
1793
|
+
'aria-label': ariaLabel
|
|
1794
|
+
}: IconProps$1): _$react_jsx_runtime0.JSX.Element;
|
|
1795
|
+
//#endregion
|
|
1796
|
+
//#region ui/components/src/icons/MessagesSquareIcon.d.ts
|
|
1797
|
+
/**
|
|
1798
|
+
* Multiple messages icon for sessions/conversations list.
|
|
1799
|
+
* @param props - Icon props
|
|
1800
|
+
* @returns SVG messages square icon
|
|
1801
|
+
*/
|
|
1802
|
+
declare function MessagesSquareIcon({
|
|
1803
|
+
size,
|
|
1804
|
+
className,
|
|
1805
|
+
'aria-hidden': ariaHidden,
|
|
1806
|
+
'aria-label': ariaLabel
|
|
1807
|
+
}: IconProps$1): _$react_jsx_runtime0.JSX.Element;
|
|
1808
|
+
//#endregion
|
|
1809
|
+
//#region ui/components/src/icons/PlusIcon.d.ts
|
|
1810
|
+
/**
|
|
1811
|
+
* Plus icon for add/create actions.
|
|
1812
|
+
* @param props - Icon props
|
|
1813
|
+
* @returns SVG plus icon
|
|
1814
|
+
*/
|
|
1815
|
+
declare function PlusIcon({
|
|
1816
|
+
size,
|
|
1817
|
+
className,
|
|
1818
|
+
'aria-hidden': ariaHidden,
|
|
1819
|
+
'aria-label': ariaLabel
|
|
1820
|
+
}: IconProps$1): _$react_jsx_runtime0.JSX.Element;
|
|
1821
|
+
//#endregion
|
|
1822
|
+
//#region ui/components/src/icons/RestoreIcon.d.ts
|
|
1823
|
+
/**
|
|
1824
|
+
* Circular restore/undo icon.
|
|
1825
|
+
* @param props - Icon props
|
|
1826
|
+
* @returns SVG restore icon
|
|
1827
|
+
*/
|
|
1828
|
+
declare function RestoreIcon({
|
|
1829
|
+
size,
|
|
1830
|
+
className,
|
|
1831
|
+
'aria-hidden': ariaHidden,
|
|
1832
|
+
'aria-label': ariaLabel
|
|
1833
|
+
}: IconProps$1): _$react_jsx_runtime0.JSX.Element;
|
|
1834
|
+
//#endregion
|
|
1835
|
+
//#region ui/components/src/icons/SearchIcon.d.ts
|
|
1836
|
+
/**
|
|
1837
|
+
* Magnifying glass icon for search actions.
|
|
1838
|
+
* @param props - Icon props
|
|
1839
|
+
* @returns SVG search icon
|
|
1840
|
+
*/
|
|
1841
|
+
declare function SearchIcon({
|
|
1842
|
+
size,
|
|
1843
|
+
className,
|
|
1844
|
+
'aria-hidden': ariaHidden,
|
|
1845
|
+
'aria-label': ariaLabel
|
|
1846
|
+
}: IconProps$1): _$react_jsx_runtime0.JSX.Element;
|
|
1847
|
+
//#endregion
|
|
1848
|
+
//#region ui/components/src/icons/SendIcon.d.ts
|
|
1849
|
+
/**
|
|
1850
|
+
* Paper plane icon for send/submit actions.
|
|
1851
|
+
* @param props - Icon props
|
|
1852
|
+
* @returns SVG send icon
|
|
1853
|
+
*/
|
|
1854
|
+
declare function SendIcon({
|
|
1855
|
+
size,
|
|
1856
|
+
className,
|
|
1857
|
+
'aria-hidden': ariaHidden,
|
|
1858
|
+
'aria-label': ariaLabel
|
|
1859
|
+
}: IconProps$1): _$react_jsx_runtime0.JSX.Element;
|
|
1860
|
+
//#endregion
|
|
1861
|
+
//#region ui/components/src/icons/SpinnerIcon.d.ts
|
|
1862
|
+
/**
|
|
1863
|
+
* Animated loading spinner icon.
|
|
1864
|
+
*
|
|
1865
|
+
* CSS animation should be applied via className for rotation effect.
|
|
1866
|
+
* @param props - Icon props
|
|
1867
|
+
* @returns SVG spinner icon
|
|
1868
|
+
*/
|
|
1869
|
+
declare function SpinnerIcon({
|
|
1870
|
+
size,
|
|
1871
|
+
className,
|
|
1872
|
+
'aria-hidden': ariaHidden,
|
|
1873
|
+
'aria-label': ariaLabel
|
|
1874
|
+
}: IconProps$1): _$react_jsx_runtime0.JSX.Element;
|
|
1875
|
+
//#endregion
|
|
1876
|
+
//#region ui/components/src/icons/TrashIcon.d.ts
|
|
1877
|
+
/**
|
|
1878
|
+
* Trash can icon for delete/remove actions.
|
|
1879
|
+
* @param props - Icon props
|
|
1880
|
+
* @returns SVG trash icon
|
|
1881
|
+
*/
|
|
1882
|
+
declare function TrashIcon({
|
|
1883
|
+
size,
|
|
1884
|
+
className,
|
|
1885
|
+
'aria-hidden': ariaHidden,
|
|
1886
|
+
'aria-label': ariaLabel
|
|
1887
|
+
}: IconProps$1): _$react_jsx_runtime0.JSX.Element;
|
|
1888
|
+
//#endregion
|
|
1889
|
+
//#region ui/components/src/icons/UnlinkIcon.d.ts
|
|
1890
|
+
/**
|
|
1891
|
+
* Broken link icon for disconnect/unlink actions.
|
|
1892
|
+
* @param props - Icon props
|
|
1893
|
+
* @returns SVG unlink icon
|
|
1894
|
+
*/
|
|
1895
|
+
declare function UnlinkIcon({
|
|
1896
|
+
size,
|
|
1897
|
+
className,
|
|
1898
|
+
'aria-hidden': ariaHidden,
|
|
1899
|
+
'aria-label': ariaLabel
|
|
1900
|
+
}: IconProps$1): _$react_jsx_runtime0.JSX.Element;
|
|
1901
|
+
//#endregion
|
|
1902
|
+
//#region ui/components/src/icons/WrenchIcon.d.ts
|
|
1903
|
+
/**
|
|
1904
|
+
* Wrench icon for tools/settings contexts.
|
|
1905
|
+
* @param props - Icon props
|
|
1906
|
+
* @returns SVG wrench icon
|
|
1907
|
+
*/
|
|
1908
|
+
declare function WrenchIcon({
|
|
1909
|
+
size,
|
|
1910
|
+
className,
|
|
1911
|
+
'aria-hidden': ariaHidden,
|
|
1912
|
+
'aria-label': ariaLabel
|
|
1913
|
+
}: IconProps$1): _$react_jsx_runtime0.JSX.Element;
|
|
1914
|
+
//#endregion
|
|
1915
|
+
//#region ui/components/src/utils/ConfirmDialog/ConfirmDialog.d.ts
|
|
1916
|
+
/**
|
|
1917
|
+
* ConfirmDialog - Modal confirmation dialog component
|
|
1918
|
+
*
|
|
1919
|
+
* Native HTML dialog element with glass panel styling.
|
|
1920
|
+
* Supports multiple action options with different variants (primary, secondary, danger).
|
|
1921
|
+
* Handles backdrop click and escape key for dismissal.
|
|
1922
|
+
*/
|
|
1923
|
+
/**
|
|
1924
|
+
* Single action option for the confirmation dialog.
|
|
1925
|
+
* @param id - Unique identifier for the option (passed to onSelect)
|
|
1926
|
+
* @param label - Display text for the button
|
|
1927
|
+
* @param variant - Visual style variant (primary, secondary, danger)
|
|
1928
|
+
* @param disabled - Whether the option is disabled
|
|
1929
|
+
*/
|
|
1930
|
+
interface ConfirmDialogOption {
|
|
1931
|
+
/** Unique identifier for the option */
|
|
1932
|
+
id: string;
|
|
1933
|
+
/** Display text for the button */
|
|
1934
|
+
label: string;
|
|
1935
|
+
/** Visual style variant */
|
|
1936
|
+
variant?: 'primary' | 'secondary' | 'danger';
|
|
1937
|
+
/** Whether the option is disabled */
|
|
1938
|
+
disabled?: boolean;
|
|
1939
|
+
}
|
|
1940
|
+
interface ConfirmDialogBaseProps {
|
|
1941
|
+
/** Whether the dialog is currently open */
|
|
1942
|
+
isOpen: boolean;
|
|
1943
|
+
/** Dialog title text */
|
|
1944
|
+
title: string;
|
|
1945
|
+
/** Dialog message/description text */
|
|
1946
|
+
message: string;
|
|
1947
|
+
/** Optional detailed description text */
|
|
1948
|
+
details?: string;
|
|
1949
|
+
/** Show "Don't ask again" checkbox */
|
|
1950
|
+
showDontAskAgain?: boolean;
|
|
1951
|
+
/** Current checkbox state */
|
|
1952
|
+
dontAskAgain?: boolean;
|
|
1953
|
+
/** Checkbox change callback */
|
|
1954
|
+
onDontAskAgainChange?: (checked: boolean) => void;
|
|
1955
|
+
/** Array of action options to display */
|
|
1956
|
+
options: ConfirmDialogOption[];
|
|
1957
|
+
/** Callback when an option is selected */
|
|
1958
|
+
onSelect: (optionId: string) => void;
|
|
1959
|
+
/** Optional callback when dialog is dismissed */
|
|
1960
|
+
onClose?: () => void;
|
|
1961
|
+
/** Optional positioning class or coordinates */
|
|
1962
|
+
position?: 'center' | 'top-center' | 'bottom-center';
|
|
1963
|
+
}
|
|
1964
|
+
interface ConfirmDialogWithDontAskAgain extends ConfirmDialogBaseProps {
|
|
1965
|
+
/** Show "Don't ask again" checkbox */
|
|
1966
|
+
showDontAskAgain: true;
|
|
1967
|
+
/** Current checkbox state */
|
|
1968
|
+
dontAskAgain: boolean;
|
|
1969
|
+
/** Checkbox change callback */
|
|
1970
|
+
onDontAskAgainChange: (checked: boolean) => void;
|
|
1971
|
+
}
|
|
1972
|
+
interface ConfirmDialogWithoutDontAskAgain extends ConfirmDialogBaseProps {
|
|
1973
|
+
/** Show "Don't ask again" checkbox */
|
|
1974
|
+
showDontAskAgain?: false;
|
|
1975
|
+
/** Current checkbox state */
|
|
1976
|
+
dontAskAgain?: never;
|
|
1977
|
+
/** Checkbox change callback */
|
|
1978
|
+
onDontAskAgainChange?: never;
|
|
1979
|
+
}
|
|
1980
|
+
type ConfirmDialogProps = ConfirmDialogWithDontAskAgain | ConfirmDialogWithoutDontAskAgain;
|
|
1981
|
+
/**
|
|
1982
|
+
* Modal confirmation dialog using native HTML dialog element.
|
|
1983
|
+
*
|
|
1984
|
+
* Features:
|
|
1985
|
+
* - Native dialog element with showModal()/close() API
|
|
1986
|
+
* - Glass panel styling with backdrop blur
|
|
1987
|
+
* - Action buttons with variant support (primary, secondary, danger)
|
|
1988
|
+
* - Escape key and backdrop click dismissal
|
|
1989
|
+
* - Theme-aware styling via CSS custom properties
|
|
1990
|
+
* @param props - Component props
|
|
1991
|
+
* @example
|
|
1992
|
+
* ```tsx
|
|
1993
|
+
* <ConfirmDialog
|
|
1994
|
+
* isOpen={showDialog}
|
|
1995
|
+
* title="Delete Session?"
|
|
1996
|
+
* message="This action cannot be undone."
|
|
1997
|
+
* options={[
|
|
1998
|
+
* { id: 'cancel', label: 'Cancel', variant: 'secondary' },
|
|
1999
|
+
* { id: 'delete', label: 'Delete', variant: 'danger' },
|
|
2000
|
+
* ]}
|
|
2001
|
+
* onSelect={(id) => handleSelection(id)}
|
|
2002
|
+
* onClose={() => setShowDialog(false)}
|
|
2003
|
+
* />
|
|
2004
|
+
* ```
|
|
2005
|
+
*/
|
|
2006
|
+
declare function ConfirmDialog(props: ConfirmDialogProps): _$react_jsx_runtime0.JSX.Element;
|
|
2007
|
+
//#endregion
|
|
2008
|
+
//#region ui/components/src/utils/PromptDialog/PromptDialog.d.ts
|
|
2009
|
+
/**
|
|
2010
|
+
* PromptDialog - Modal text input dialog component
|
|
2011
|
+
*
|
|
2012
|
+
* Native HTML dialog element with glass panel styling.
|
|
2013
|
+
* Supports single-line input or multiline textarea.
|
|
2014
|
+
* Handles backdrop click and escape key for dismissal.
|
|
2015
|
+
*/
|
|
2016
|
+
/**
|
|
2017
|
+
* Props for PromptDialog component
|
|
2018
|
+
* @param isOpen - Whether the dialog is currently open
|
|
2019
|
+
* @param title - Dialog title text
|
|
2020
|
+
* @param message - Dialog message/description text
|
|
2021
|
+
* @param placeholder - Placeholder text for the input field
|
|
2022
|
+
* @param defaultValue - Initial value for the input field
|
|
2023
|
+
* @param multiline - Whether to use a multiline textarea
|
|
2024
|
+
* @param submitLabel - Label for the submit button
|
|
2025
|
+
* @param cancelLabel - Label for the cancel button
|
|
2026
|
+
* @param onSubmit - Callback when text is submitted - receives the entered text
|
|
2027
|
+
* @param onClose - Callback when dialog is dismissed (escape/backdrop/cancel)
|
|
2028
|
+
*/
|
|
2029
|
+
interface PromptDialogProps {
|
|
2030
|
+
/** Whether the dialog is currently open */
|
|
2031
|
+
isOpen: boolean;
|
|
2032
|
+
/** Dialog title text */
|
|
2033
|
+
title: string;
|
|
2034
|
+
/** Dialog message/description text */
|
|
2035
|
+
message: string;
|
|
2036
|
+
/** Placeholder text for the input field */
|
|
2037
|
+
placeholder?: string;
|
|
2038
|
+
/** Initial value for the input field */
|
|
2039
|
+
defaultValue?: string;
|
|
2040
|
+
/** Whether to use a multiline textarea */
|
|
2041
|
+
multiline?: boolean;
|
|
2042
|
+
/** Label for the submit button */
|
|
2043
|
+
submitLabel?: string;
|
|
2044
|
+
/** Label for the cancel button */
|
|
2045
|
+
cancelLabel?: string;
|
|
2046
|
+
/** Callback when text is submitted */
|
|
2047
|
+
onSubmit: (value: string) => void;
|
|
2048
|
+
/** Callback when dialog is dismissed */
|
|
2049
|
+
onClose: () => void;
|
|
2050
|
+
}
|
|
2051
|
+
/**
|
|
2052
|
+
* Modal text input dialog using native HTML dialog element.
|
|
2053
|
+
*
|
|
2054
|
+
* Features:
|
|
2055
|
+
* - Native dialog element with showModal()/close() API
|
|
2056
|
+
* - Glass panel styling with backdrop blur
|
|
2057
|
+
* - Single-line input or multiline textarea mode
|
|
2058
|
+
* - Enter key submits (Ctrl/Cmd+Enter for multiline)
|
|
2059
|
+
* - Escape key and backdrop click dismissal
|
|
2060
|
+
* - Theme-aware styling via CSS custom properties
|
|
2061
|
+
* @param props - Component props
|
|
2062
|
+
* @example
|
|
2063
|
+
* ```tsx
|
|
2064
|
+
* <PromptDialog
|
|
2065
|
+
* isOpen={showPrompt}
|
|
2066
|
+
* title="Add Comment"
|
|
2067
|
+
* message="Enter your comment for this line."
|
|
2068
|
+
* placeholder="Write your comment..."
|
|
2069
|
+
* multiline
|
|
2070
|
+
* onSubmit={(text) => handleComment(text)}
|
|
2071
|
+
* onClose={() => setShowPrompt(false)}
|
|
2072
|
+
* />
|
|
2073
|
+
* ```
|
|
2074
|
+
*/
|
|
2075
|
+
declare function PromptDialog(props: PromptDialogProps): _$react_jsx_runtime0.JSX.Element;
|
|
2076
|
+
//#endregion
|
|
2077
|
+
//#region ui/components/src/utils/SlidePanel/SlidePanel.d.ts
|
|
2078
|
+
interface SlidePanelProps {
|
|
2079
|
+
/** Whether the panel is open */
|
|
2080
|
+
isOpen: boolean;
|
|
2081
|
+
/** Close handler */
|
|
2082
|
+
onClose: () => void;
|
|
2083
|
+
/** Panel title */
|
|
2084
|
+
title: string;
|
|
2085
|
+
/** Panel subtitle */
|
|
2086
|
+
subtitle?: string;
|
|
2087
|
+
/** Panel content */
|
|
2088
|
+
children: ReactNode;
|
|
2089
|
+
/** Width of the panel */
|
|
2090
|
+
width?: 'sm' | 'md' | 'lg';
|
|
2091
|
+
/** Position - seam for mobile and left-side panels */
|
|
2092
|
+
position?: 'left' | 'right' | 'bottom';
|
|
2093
|
+
}
|
|
2094
|
+
/**
|
|
2095
|
+
* Slide-in panel component for forms and detail views.
|
|
2096
|
+
*
|
|
2097
|
+
* Features:
|
|
2098
|
+
* - Slides in from right (or bottom for mobile)
|
|
2099
|
+
* - Overlay backdrop that closes on click
|
|
2100
|
+
* - Escape key closes
|
|
2101
|
+
* - Smooth CSS transitions
|
|
2102
|
+
* - Glass panel styling with theme tokens
|
|
2103
|
+
* @param props - Component props
|
|
2104
|
+
* @returns SlidePanel component
|
|
2105
|
+
*/
|
|
2106
|
+
declare function SlidePanel({
|
|
2107
|
+
isOpen,
|
|
2108
|
+
onClose,
|
|
2109
|
+
title,
|
|
2110
|
+
subtitle,
|
|
2111
|
+
children,
|
|
2112
|
+
width,
|
|
2113
|
+
position
|
|
2114
|
+
}: SlidePanelProps): _$react_jsx_runtime0.JSX.Element;
|
|
2115
|
+
//#endregion
|
|
2116
|
+
//#region ui/components/src/utils/ResizablePanel/ResizablePanel.d.ts
|
|
2117
|
+
type ResizablePanelOrientation = 'horizontal' | 'vertical';
|
|
2118
|
+
interface ResizablePanelProps {
|
|
2119
|
+
/**
|
|
2120
|
+
* Panel title
|
|
2121
|
+
*/
|
|
2122
|
+
title?: string;
|
|
2123
|
+
/**
|
|
2124
|
+
* Panel content
|
|
2125
|
+
*/
|
|
2126
|
+
children: ReactNode;
|
|
2127
|
+
/**
|
|
2128
|
+
* Current size in pixels (width for horizontal, height for vertical)
|
|
2129
|
+
*/
|
|
2130
|
+
size: number;
|
|
2131
|
+
/**
|
|
2132
|
+
* Callback when size changes (during drag)
|
|
2133
|
+
*/
|
|
2134
|
+
onSizeChange: (size: number) => void;
|
|
2135
|
+
/**
|
|
2136
|
+
* Minimum size
|
|
2137
|
+
*/
|
|
2138
|
+
minSize?: number;
|
|
2139
|
+
/**
|
|
2140
|
+
* Maximum size
|
|
2141
|
+
*/
|
|
2142
|
+
maxSize?: number;
|
|
2143
|
+
/**
|
|
2144
|
+
* Orientation of the resize handle
|
|
2145
|
+
* @defaultValue 'horizontal'
|
|
2146
|
+
*/
|
|
2147
|
+
orientation?: ResizablePanelOrientation;
|
|
2148
|
+
/**
|
|
2149
|
+
* Whether panel is pinned (push mode)
|
|
2150
|
+
*/
|
|
2151
|
+
isPinned?: boolean;
|
|
2152
|
+
/**
|
|
2153
|
+
* Callback when pin state changes
|
|
2154
|
+
*/
|
|
2155
|
+
onPinChange?: (pinned: boolean) => void;
|
|
2156
|
+
/**
|
|
2157
|
+
* Callback when close button clicked
|
|
2158
|
+
*/
|
|
2159
|
+
onClose?: () => void;
|
|
2160
|
+
/**
|
|
2161
|
+
* Additional CSS class
|
|
2162
|
+
*/
|
|
2163
|
+
className?: string;
|
|
2164
|
+
}
|
|
2165
|
+
/**
|
|
2166
|
+
* Resizable panel with pin toggle
|
|
2167
|
+
*
|
|
2168
|
+
* Features:
|
|
2169
|
+
* - Drag handle for resizing (horizontal or vertical)
|
|
2170
|
+
* - Pin toggle (pinned = push mode, unpinned = overlay)
|
|
2171
|
+
* - Close button
|
|
2172
|
+
* - Scrollable content area
|
|
2173
|
+
* @param props - Component props
|
|
2174
|
+
*/
|
|
2175
|
+
declare function ResizablePanel(props: ResizablePanelProps): _$react_jsx_runtime0.JSX.Element;
|
|
2176
|
+
//#endregion
|
|
2177
|
+
//#region ui/components/src/utils/FatalErrorDialog/FatalErrorDialog.d.ts
|
|
2178
|
+
/**
|
|
2179
|
+
* FatalErrorDialog - Self-contained fatal error modal
|
|
2180
|
+
*
|
|
2181
|
+
* Pure component with inline styles, designed to render outside ThemeProvider.
|
|
2182
|
+
* Uses native HTML dialog element with showModal()/close() API.
|
|
2183
|
+
* Escape key and backdrop click dismissal are intentionally disabled — the caller
|
|
2184
|
+
* must explicitly provide action buttons to resolve the error state.
|
|
2185
|
+
*/
|
|
2186
|
+
type NonEmptyArray<T> = [T, ...T[]];
|
|
2187
|
+
/**
|
|
2188
|
+
* A single action button rendered in the FatalErrorDialog footer.
|
|
2189
|
+
* @param id - Unique identifier passed back to onAction
|
|
2190
|
+
* @param label - Display text for the button
|
|
2191
|
+
* @param variant - Visual style: 'primary' (highlighted) or 'secondary' (muted)
|
|
2192
|
+
*/
|
|
2193
|
+
interface FatalErrorDialogAction {
|
|
2194
|
+
/** Unique identifier passed back to onAction */
|
|
2195
|
+
id: string;
|
|
2196
|
+
/** Display text for the button */
|
|
2197
|
+
label: string;
|
|
2198
|
+
/** Visual style variant */
|
|
2199
|
+
variant?: 'primary' | 'secondary';
|
|
2200
|
+
}
|
|
2201
|
+
/**
|
|
2202
|
+
* Props for the FatalErrorDialog component.
|
|
2203
|
+
* @param isOpen - Whether the dialog is currently visible
|
|
2204
|
+
* @param title - Short error title shown in the dialog header
|
|
2205
|
+
* @param message - Human-readable description of the error
|
|
2206
|
+
* @param details - Optional technical details (e.g. raw error message) shown in a collapsible section
|
|
2207
|
+
* @param actions - Ordered list of action buttons; must contain at least one action
|
|
2208
|
+
* @param onAction - Called with the action id when a button is clicked
|
|
2209
|
+
*/
|
|
2210
|
+
interface FatalErrorDialogProps {
|
|
2211
|
+
/** Whether the dialog is open. */
|
|
2212
|
+
isOpen: boolean;
|
|
2213
|
+
/** Error title. */
|
|
2214
|
+
title: string;
|
|
2215
|
+
/** Error description. */
|
|
2216
|
+
message: string;
|
|
2217
|
+
/** Technical details (error message). */
|
|
2218
|
+
details?: string;
|
|
2219
|
+
/** Action buttons. */
|
|
2220
|
+
actions: NonEmptyArray<FatalErrorDialogAction>;
|
|
2221
|
+
/** Called when an action button is clicked. */
|
|
2222
|
+
onAction: (actionId: string) => void;
|
|
2223
|
+
}
|
|
2224
|
+
/**
|
|
2225
|
+
* Modal dialog for fatal, unrecoverable application errors.
|
|
2226
|
+
*
|
|
2227
|
+
* Intentionally self-contained with inline styles so it renders correctly even
|
|
2228
|
+
* when mounted outside `ThemeProvider`. Escape key and backdrop click are
|
|
2229
|
+
* suppressed — the caller must resolve the error via the provided action buttons.
|
|
2230
|
+
* @param props - Component props
|
|
2231
|
+
* @example
|
|
2232
|
+
* ```tsx
|
|
2233
|
+
* <FatalErrorDialog
|
|
2234
|
+
* isOpen={hasFatalError}
|
|
2235
|
+
* title="Connection lost"
|
|
2236
|
+
* message="The relay connection could not be established."
|
|
2237
|
+
* details={error.message}
|
|
2238
|
+
* actions={[{ id: 'reload', label: 'Reload', variant: 'primary' }]}
|
|
2239
|
+
* onAction={(id) => id === 'reload' && window.location.reload()}
|
|
2240
|
+
* />
|
|
2241
|
+
* ```
|
|
2242
|
+
*/
|
|
2243
|
+
declare function FatalErrorDialog(props: FatalErrorDialogProps): _$react_jsx_runtime0.JSX.Element;
|
|
2244
|
+
//#endregion
|
|
2245
|
+
//#region ui/components/src/toast/MultiActionToast.d.ts
|
|
2246
|
+
interface MultiActionToastAction {
|
|
2247
|
+
/** Stable action identifier forwarded to the action callback. */
|
|
2248
|
+
id: string;
|
|
2249
|
+
/** Visible button label. */
|
|
2250
|
+
label: string;
|
|
2251
|
+
/** Visual treatment for the action button. */
|
|
2252
|
+
variant?: 'default' | 'destructive' | 'outline';
|
|
2253
|
+
}
|
|
2254
|
+
interface MultiActionToastPayload {
|
|
2255
|
+
/** Main message content to display. */
|
|
2256
|
+
message: string;
|
|
2257
|
+
/** Optional title/headline for the toast. */
|
|
2258
|
+
title?: string;
|
|
2259
|
+
/** Optional action buttons attached to the toast. */
|
|
2260
|
+
actions?: MultiActionToastAction[];
|
|
2261
|
+
}
|
|
2262
|
+
interface MultiActionToastProps {
|
|
2263
|
+
/** Toast display payload rendered by this component. */
|
|
2264
|
+
payload: MultiActionToastPayload;
|
|
2265
|
+
/** Callback when an action is clicked */
|
|
2266
|
+
onAction: (actionId: string) => void;
|
|
2267
|
+
/** Callback when toast is dismissed */
|
|
2268
|
+
onDismiss: () => void;
|
|
2269
|
+
}
|
|
2270
|
+
/**
|
|
2271
|
+
* Multi-action toast notification component.
|
|
2272
|
+
*
|
|
2273
|
+
* Pure UI component for displaying toasts with multiple interactive actions.
|
|
2274
|
+
* Renders actions as buttons with appropriate variants.
|
|
2275
|
+
* @param payload - Toast data including title, message, and actions
|
|
2276
|
+
* @param onAction - Callback when an action button is clicked
|
|
2277
|
+
* @param onDismiss - Callback when the dismiss button is clicked
|
|
2278
|
+
* @returns Multi-action toast component
|
|
2279
|
+
* @example
|
|
2280
|
+
* ```tsx
|
|
2281
|
+
* <MultiActionToast
|
|
2282
|
+
* payload={{
|
|
2283
|
+
* title: 'Unsaved Changes',
|
|
2284
|
+
* message: 'You have unsaved changes. Do you want to save them?',
|
|
2285
|
+
* actions: [
|
|
2286
|
+
* { id: 'save', label: 'Save', variant: 'default' },
|
|
2287
|
+
* { id: 'discard', label: 'Discard', variant: 'destructive' },
|
|
2288
|
+
* ],
|
|
2289
|
+
* }}
|
|
2290
|
+
* onAction={(id) => console.log('Action:', id)}
|
|
2291
|
+
* onDismiss={() => console.log('Dismissed')}
|
|
2292
|
+
* />
|
|
2293
|
+
* ```
|
|
2294
|
+
*/
|
|
2295
|
+
declare function MultiActionToast({
|
|
2296
|
+
payload,
|
|
2297
|
+
onAction,
|
|
2298
|
+
onDismiss
|
|
2299
|
+
}: MultiActionToastProps): ReactNode;
|
|
2300
|
+
//#endregion
|
|
2301
|
+
//#region ui/components/src/utils/dom-hooks.d.ts
|
|
2302
|
+
/**
|
|
2303
|
+
* Attach a document-level `keydown` listener that calls `handler` when the
|
|
2304
|
+
* user presses Escape. The listener is attached only while `enabled` is true
|
|
2305
|
+
* and automatically removed on cleanup.
|
|
2306
|
+
* @param handler - Callback invoked when Escape is pressed.
|
|
2307
|
+
* @param enabled - When `false` the listener is not attached. Defaults to `true`.
|
|
2308
|
+
*/
|
|
2309
|
+
declare function useEscapeKey(handler: () => void, enabled?: boolean): void;
|
|
2310
|
+
/**
|
|
2311
|
+
* Lock `document.body` scroll while `enabled` is true.
|
|
2312
|
+
*
|
|
2313
|
+
* Saves and restores the previous `overflow` inline style so an existing
|
|
2314
|
+
* body-overflow policy is not lost when the overlay closes.
|
|
2315
|
+
* @param enabled - When `true` body scroll is locked; when `false` it is restored.
|
|
2316
|
+
*/
|
|
2317
|
+
declare function useBodyScrollLock(enabled: boolean): void;
|
|
2318
|
+
/**
|
|
2319
|
+
* Focus the first focusable element inside `ref` when `enabled` becomes true.
|
|
2320
|
+
*
|
|
2321
|
+
* Falls back to focusing `ref` itself when no focusable descendant is found.
|
|
2322
|
+
* Restores focus to the previously-active element on cleanup (i.e. when the
|
|
2323
|
+
* overlay closes).
|
|
2324
|
+
*
|
|
2325
|
+
* Tab-cycle trapping is intentionally **not** included here. Components that
|
|
2326
|
+
* need full trap behaviour should pair this with {@link useFocusTrap}.
|
|
2327
|
+
* @param ref - Ref to the container whose first focusable child should receive focus.
|
|
2328
|
+
* @param enabled - When `true` focus management is active.
|
|
2329
|
+
*/
|
|
2330
|
+
declare function useFocusOnOpen(ref: RefObject<HTMLElement | null>, enabled: boolean): void;
|
|
2331
|
+
/**
|
|
2332
|
+
* Keep Tab focus inside `ref` while `enabled` is true.
|
|
2333
|
+
*
|
|
2334
|
+
* This owns only the Tab-cycle contract. Pair with {@link useFocusOnOpen} when
|
|
2335
|
+
* the same overlay should also move initial focus and restore prior focus on
|
|
2336
|
+
* close.
|
|
2337
|
+
* @param ref - Ref to the focus containment root.
|
|
2338
|
+
* @param enabled - When `true`, Tab and Shift+Tab are trapped inside `ref`.
|
|
2339
|
+
*/
|
|
2340
|
+
declare function useFocusTrap(ref: RefObject<HTMLElement | null>, enabled: boolean): void;
|
|
2341
|
+
//#endregion
|
|
2342
|
+
export { AlertTriangleIcon, AppShell, type AppShellProps, ArchiveIcon, AttachmentIcon, Badge, type BadgeProps, type BadgeSize, type BadgeVariant, type BreadcrumbItem, Button, ButtonGroupFilter, type ButtonGroupFilterProps, type ButtonGroupOption, type ButtonProps, type ButtonSize, type ButtonVariant, type CategoryConfig, ChatBubbleIcon, ChevronIcon, type ChevronIconProps, CloseIcon, type CollapsibleContextValue, CollapsibleGroup, type CollapsibleGroupMode, type CollapsibleGroupProps, CollapsibleSection, type CollapsibleSectionProps, CompressIcon, ConfirmDialog, type ConfirmDialogOption, type ConfirmDialogProps, ContentHeader, type ContentHeaderProps, ContextMenu, type ContextMenuAction, type ContextMenuProps, DEFAULT_ICON_PROPS, Dropdown, type DropdownItem, type DropdownProps, FatalErrorDialog, type FatalErrorDialogAction, type FatalErrorDialogProps, FilterChipGroup, type FilterChipGroupProps, type FilterOption, ForkIcon, GitBranchIcon, GlassPanel, type GlassPanelProps, GripVerticalIcon, type HeaderActionElement, HeaderIconAction, type HeaderIconActionProps, HeaderTextAction, type HeaderTextActionProps, Icon, IconButton, type IconButtonProps, type IconButtonSize, type IconButtonVariant, type IconName, type IconProps, IconSidebar, type IconSidebarProps, Input, type InputProps, type InputSize, KebabMenuIcon, type LeafPane, ListPage, type ListPageProps, Logo, type LogoProps, type LogoVariant, MessagesSquareIcon, ModalPortal, type ModalPortalProps, MultiActionToast, type MultiActionToastProps, type NavItem, NavSidebar, type NavSidebarItem, type NavSidebarLinkRenderer, type NavSidebarProps, type NavSidebarSection, Page, type PageProps, type Pane, type PaneContent, type PaneSizeConstraints, Panel, type PanelPadding, type PanelProps, type PanelVariant, PlusIcon, Popover, type PopoverProps, PromptDialog, type PromptDialogProps, ResizablePanel, type ResizablePanelOrientation, type ResizablePanelProps, RestoreIcon, type IconProps$1 as SVGIconProps, SearchIcon, SendIcon, SlidePanel, type SlidePanelProps, SlotPanel, type SlotPanelPadding, type SlotPanelProps, SpinnerIcon, SplitPane, type SplitPaneProps, type SplitPane$1 as SplitPaneType, Textarea, type TextareaProps, type Theme, ThemeContext, type ThemeContextValue, ThemeProvider, Toggle, type ToggleProps, type ToggleSize, Tooltip, type TooltipPosition, type TooltipProps, Topbar, type TopbarProps, TrashIcon, UnlinkIcon, WrenchIcon, auraTheme, defaultThemeId, isIconName, themes, useBodyScrollLock, useCollapsibleGroup, useEscapeKey, useFocusOnOpen, useFocusTrap, useTheme };
|