@ai-matrx/associations 0.14.83 → 0.14.85
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/CHANGELOG.md +13 -3
- package/dist/{CommentThread-C4Wowvph.d.cts → CommentThread-D_HUjOqD.d.cts} +8 -6
- package/dist/{CommentThread-C4Wowvph.d.ts → CommentThread-D_HUjOqD.d.ts} +8 -6
- package/dist/{chunk-server-Y4DGNHLP.js → chunk-server-D6HFGF2J.js} +1004 -15
- package/dist/chunk-server-D6HFGF2J.js.map +1 -0
- package/dist/core/index.cjs +26 -14
- package/dist/core/index.cjs.map +1 -1
- package/dist/core/index.d.cts +1 -1
- package/dist/core/index.d.ts +1 -1
- package/dist/core/index.js +1 -1
- package/dist/index.cjs +1003 -14
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/dist/react/index.cjs +1383 -473
- package/dist/react/index.cjs.map +1 -1
- package/dist/react/index.d.cts +3 -2
- package/dist/react/index.d.ts +3 -2
- package/dist/react/index.js +1380 -457
- package/dist/react/index.js.map +1 -1
- package/dist/react/lazy/index.d.cts +2 -1
- package/dist/react/lazy/index.d.ts +2 -1
- package/dist/{results-HJm2RJQp.d.cts → results-BtyDwTD6.d.cts} +112 -16
- package/dist/{results-HJm2RJQp.d.ts → results-BtyDwTD6.d.ts} +112 -16
- package/package.json +4 -4
- package/dist/chunk-server-Y4DGNHLP.js.map +0 -1
package/dist/react/index.js
CHANGED
|
@@ -106,6 +106,8 @@ var ENTITY_TYPE_TOKENS = [
|
|
|
106
106
|
"access_delta_run",
|
|
107
107
|
"access_request",
|
|
108
108
|
"access_shadow_log",
|
|
109
|
+
"access_version",
|
|
110
|
+
"access_version_event",
|
|
109
111
|
"account_addon",
|
|
110
112
|
"account_closure",
|
|
111
113
|
"account_facts",
|
|
@@ -367,6 +369,9 @@ var ENTITY_TYPE_TOKENS = [
|
|
|
367
369
|
"communication_calendar_selected_snapshot_state",
|
|
368
370
|
"communication_channel_readiness",
|
|
369
371
|
"comparison_set",
|
|
372
|
+
"computed_org_mark",
|
|
373
|
+
"computed_reader_cols",
|
|
374
|
+
"computed_reader_judgement",
|
|
370
375
|
"config_manifest",
|
|
371
376
|
"config_read_bucket",
|
|
372
377
|
"contact_medium",
|
|
@@ -951,6 +956,7 @@ var ENTITY_TYPE_TOKENS = [
|
|
|
951
956
|
"rag_library_audit_log",
|
|
952
957
|
"rate_limit_buckets",
|
|
953
958
|
"reachability_pending",
|
|
959
|
+
"read_mask_kept",
|
|
954
960
|
"recompute_queue",
|
|
955
961
|
"record",
|
|
956
962
|
"record_alias",
|
|
@@ -1653,135 +1659,1112 @@ var ASSOCIATION_PAIRS = /* @__PURE__ */ new Set([
|
|
|
1653
1659
|
"quiz_session>agent",
|
|
1654
1660
|
"quiz_session>processed_document",
|
|
1655
1661
|
"quiz_session>web_page",
|
|
1662
|
+
"record>access_delta_run",
|
|
1663
|
+
"record>access_request",
|
|
1664
|
+
"record>access_shadow_log",
|
|
1665
|
+
"record>account_addon",
|
|
1666
|
+
"record>account_closure",
|
|
1667
|
+
"record>acquisition_block",
|
|
1668
|
+
"record>activity",
|
|
1669
|
+
"record>admin_audit_log",
|
|
1670
|
+
"record>admin_email_log",
|
|
1671
|
+
"record>admin_markdown_sample",
|
|
1656
1672
|
"record>agent",
|
|
1673
|
+
"record>agent_card",
|
|
1674
|
+
"record>agent_definition_version",
|
|
1675
|
+
"record>agent_drift_alert",
|
|
1676
|
+
"record>agent_exemplar",
|
|
1677
|
+
"record>agent_mandate_note",
|
|
1657
1678
|
"record>agent_prompt_block",
|
|
1679
|
+
"record>agent_prompt_block_variant",
|
|
1680
|
+
"record>agent_prompt_remediation",
|
|
1681
|
+
"record>agent_required_flag_change",
|
|
1682
|
+
"record>agent_run",
|
|
1683
|
+
"record>agent_run_stage",
|
|
1684
|
+
"record>agent_schedule",
|
|
1685
|
+
"record>agent_schedule_claim",
|
|
1658
1686
|
"record>agent_shortcut",
|
|
1687
|
+
"record>agent_surface_binding",
|
|
1659
1688
|
"record>agent_template",
|
|
1660
1689
|
"record>agent_term_list",
|
|
1690
|
+
"record>agent_test_result",
|
|
1691
|
+
"record>agent_test_run",
|
|
1692
|
+
"record>agent_usage",
|
|
1661
1693
|
"record>ai_api",
|
|
1694
|
+
"record>ai_device_model_file",
|
|
1695
|
+
"record>ai_device_model_root",
|
|
1662
1696
|
"record>ai_endpoint",
|
|
1697
|
+
"record>ai_media_generation_cache",
|
|
1663
1698
|
"record>ai_model",
|
|
1699
|
+
"record>ai_model_alias",
|
|
1700
|
+
"record>ai_model_artifact",
|
|
1701
|
+
"record>ai_model_candidate",
|
|
1702
|
+
"record>ai_model_presentation",
|
|
1703
|
+
"record>ai_model_upstream",
|
|
1704
|
+
"record>ai_model_variant",
|
|
1705
|
+
"record>ai_model_verification_run",
|
|
1706
|
+
"record>ai_model_want",
|
|
1707
|
+
"record>ai_offering",
|
|
1708
|
+
"record>ai_person_model_want",
|
|
1664
1709
|
"record>ai_provider",
|
|
1710
|
+
"record>ai_request_latency",
|
|
1711
|
+
"record>ai_runtime",
|
|
1712
|
+
"record>ai_runtime_build",
|
|
1713
|
+
"record>ai_runtime_compat",
|
|
1665
1714
|
"record>ai_setting",
|
|
1715
|
+
"record>ai_setting_profile",
|
|
1716
|
+
"record>ai_translation_cell",
|
|
1717
|
+
"record>ai_usage_hourly",
|
|
1718
|
+
"record>analysis_result",
|
|
1666
1719
|
"record>anon_form",
|
|
1720
|
+
"record>anon_form_visit",
|
|
1721
|
+
"record>anon_hit",
|
|
1722
|
+
"record>anon_inbound",
|
|
1723
|
+
"record>anon_replay",
|
|
1724
|
+
"record>anon_submission",
|
|
1725
|
+
"record>anon_token",
|
|
1726
|
+
"record>api_field_warning",
|
|
1727
|
+
"record>api_request_log",
|
|
1667
1728
|
"record>app",
|
|
1729
|
+
"record>app_config",
|
|
1730
|
+
"record>app_config_history",
|
|
1731
|
+
"record>app_definition_version",
|
|
1732
|
+
"record>app_error",
|
|
1733
|
+
"record>app_execution",
|
|
1734
|
+
"record>app_instance",
|
|
1735
|
+
"record>app_log",
|
|
1736
|
+
"record>app_log_hourly",
|
|
1737
|
+
"record>app_log_lines",
|
|
1738
|
+
"record>app_log_muted_pattern",
|
|
1739
|
+
"record>app_log_norm_exception",
|
|
1740
|
+
"record>app_log_requests_hourly",
|
|
1741
|
+
"record>app_rate_limit",
|
|
1742
|
+
"record>app_setting",
|
|
1743
|
+
"record>app_sync_status",
|
|
1744
|
+
"record>applet_visitor_binding",
|
|
1745
|
+
"record>approach",
|
|
1746
|
+
"record>artifact",
|
|
1668
1747
|
"record>assessment",
|
|
1748
|
+
"record>assessment_item",
|
|
1749
|
+
"record>assessment_result",
|
|
1750
|
+
"record>assignment_session",
|
|
1751
|
+
"record>assist",
|
|
1752
|
+
"record>assist_producer_policy",
|
|
1753
|
+
"record>assist_producer_policy_history",
|
|
1754
|
+
"record>association_type",
|
|
1755
|
+
"record>assurance_level",
|
|
1756
|
+
"record>attempt",
|
|
1757
|
+
"record>attention_audit",
|
|
1758
|
+
"record>attention_showing",
|
|
1759
|
+
"record>audit_canonical_findings",
|
|
1760
|
+
"record>audit_exemption",
|
|
1761
|
+
"record>base_entity_template",
|
|
1762
|
+
"record>batch_cost_event",
|
|
1763
|
+
"record>batch_provider_batch",
|
|
1764
|
+
"record>batch_work_item",
|
|
1765
|
+
"record>billing_capability",
|
|
1766
|
+
"record>billing_capability_limit",
|
|
1767
|
+
"record>billing_ci_package_build",
|
|
1768
|
+
"record>billing_connect_account",
|
|
1769
|
+
"record>billing_coupon",
|
|
1770
|
+
"record>billing_coupon_redemption",
|
|
1771
|
+
"record>billing_customer",
|
|
1772
|
+
"record>billing_external_call_vendor",
|
|
1773
|
+
"record>billing_free_period_grant",
|
|
1774
|
+
"record>billing_hard_cost_reconciliation",
|
|
1775
|
+
"record>billing_held_run",
|
|
1776
|
+
"record>billing_org_payment_account",
|
|
1777
|
+
"record>billing_payment",
|
|
1778
|
+
"record>billing_payment_ask",
|
|
1779
|
+
"record>billing_plan",
|
|
1780
|
+
"record>billing_plan_limit",
|
|
1781
|
+
"record>billing_price",
|
|
1782
|
+
"record>billing_product",
|
|
1783
|
+
"record>billing_provider_balance_snapshot",
|
|
1784
|
+
"record>billing_spend_alarm",
|
|
1785
|
+
"record>billing_spend_alarm_occurrence",
|
|
1786
|
+
"record>billing_spend_approval",
|
|
1787
|
+
"record>billing_spend_guardrail",
|
|
1788
|
+
"record>billing_spend_hold",
|
|
1789
|
+
"record>billing_stripe_event",
|
|
1790
|
+
"record>billing_subscription",
|
|
1791
|
+
"record>billing_usage_ledger",
|
|
1792
|
+
"record>billing_usage_reset",
|
|
1793
|
+
"record>block_state",
|
|
1794
|
+
"record>board",
|
|
1795
|
+
"record>browser_account_binding",
|
|
1796
|
+
"record>browser_action_event",
|
|
1797
|
+
"record>browser_authenticator_window",
|
|
1798
|
+
"record>browser_capture",
|
|
1799
|
+
"record>browser_control_request",
|
|
1800
|
+
"record>browser_handoff",
|
|
1801
|
+
"record>browser_login_attempt",
|
|
1802
|
+
"record>browser_login_recipe",
|
|
1803
|
+
"record>browser_profile",
|
|
1804
|
+
"record>browser_profile_checkpoint",
|
|
1805
|
+
"record>browser_run",
|
|
1806
|
+
"record>browser_site_observation",
|
|
1807
|
+
"record>browser_site_policy",
|
|
1808
|
+
"record>browser_stream_ticket",
|
|
1809
|
+
"record>calendar_event",
|
|
1810
|
+
"record>campaign_watch_ramp_gate_run",
|
|
1811
|
+
"record>campaign_watch_switch_outbox",
|
|
1812
|
+
"record>campaign_watch_switch_window",
|
|
1669
1813
|
"record>canvas_comment",
|
|
1814
|
+
"record>canvas_comment_like",
|
|
1670
1815
|
"record>canvas_item",
|
|
1816
|
+
"record>canvas_item_state",
|
|
1817
|
+
"record>canvas_like",
|
|
1671
1818
|
"record>canvas_score",
|
|
1819
|
+
"record>canvas_view",
|
|
1820
|
+
"record>catalog_entries_history",
|
|
1821
|
+
"record>catalog_entry",
|
|
1672
1822
|
"record>category",
|
|
1823
|
+
"record>change_job",
|
|
1824
|
+
"record>change_plan",
|
|
1825
|
+
"record>change_type_default",
|
|
1826
|
+
"record>change_work",
|
|
1827
|
+
"record>citations",
|
|
1828
|
+
"record>class_purchase",
|
|
1829
|
+
"record>client_callable_door",
|
|
1830
|
+
"record>client_callable_door_retirement",
|
|
1831
|
+
"record>cmp_entry",
|
|
1832
|
+
"record>cmp_feedback",
|
|
1673
1833
|
"record>code_file",
|
|
1674
1834
|
"record>code_folder",
|
|
1675
1835
|
"record>code_repository",
|
|
1836
|
+
"record>coding_session",
|
|
1837
|
+
"record>coding_session_entry",
|
|
1838
|
+
"record>collab_checkpoint",
|
|
1839
|
+
"record>collab_op",
|
|
1840
|
+
"record>collab_room",
|
|
1841
|
+
"record>comment",
|
|
1842
|
+
"record>commerce_asset_allocation",
|
|
1843
|
+
"record>commerce_asset_grading",
|
|
1844
|
+
"record>commerce_asset_identifier",
|
|
1845
|
+
"record>commerce_asset_lot_event",
|
|
1846
|
+
"record>commerce_asset_mandate_result",
|
|
1847
|
+
"record>commerce_asset_price_factor",
|
|
1848
|
+
"record>commerce_asset_reshoot_request",
|
|
1849
|
+
"record>commerce_asset_review",
|
|
1850
|
+
"record>commerce_asset_unknown",
|
|
1851
|
+
"record>commerce_certified_printer",
|
|
1852
|
+
"record>commerce_cloud_sync_connection",
|
|
1853
|
+
"record>commerce_ebay_business_policy",
|
|
1854
|
+
"record>commerce_ebay_category",
|
|
1855
|
+
"record>commerce_ebay_category_aspect",
|
|
1856
|
+
"record>commerce_ebay_category_tree",
|
|
1857
|
+
"record>commerce_ebay_custom_policy",
|
|
1858
|
+
"record>commerce_ebay_inventory_item",
|
|
1859
|
+
"record>commerce_ebay_inventory_item_group",
|
|
1860
|
+
"record>commerce_ebay_inventory_item_group_member",
|
|
1861
|
+
"record>commerce_ebay_inventory_location",
|
|
1862
|
+
"record>commerce_ebay_listing",
|
|
1863
|
+
"record>commerce_ebay_marketplace_policy",
|
|
1864
|
+
"record>commerce_ebay_media_asset",
|
|
1865
|
+
"record>commerce_ebay_notification_destination",
|
|
1866
|
+
"record>commerce_ebay_notification_event",
|
|
1867
|
+
"record>commerce_ebay_notification_subscription",
|
|
1868
|
+
"record>commerce_ebay_notification_topic",
|
|
1869
|
+
"record>commerce_ebay_offer",
|
|
1870
|
+
"record>commerce_ebay_order",
|
|
1871
|
+
"record>commerce_ebay_order_line_item",
|
|
1872
|
+
"record>commerce_ebay_shipping_fulfillment",
|
|
1873
|
+
"record>commerce_ebay_store_category",
|
|
1874
|
+
"record>commerce_human_correction",
|
|
1875
|
+
"record>commerce_intake_artifact",
|
|
1876
|
+
"record>commerce_intake_asset",
|
|
1877
|
+
"record>commerce_intake_batch",
|
|
1878
|
+
"record>commerce_label_batch",
|
|
1879
|
+
"record>commerce_label_code",
|
|
1880
|
+
"record>commerce_marketplace_account",
|
|
1881
|
+
"record>commerce_marketplace_account_deletion_audit",
|
|
1882
|
+
"record>commerce_marketplace_api_call",
|
|
1883
|
+
"record>commerce_marketplace_rate_budget",
|
|
1884
|
+
"record>commerce_marketplace_site",
|
|
1885
|
+
"record>commerce_marketplace_sync_run",
|
|
1886
|
+
"record>commerce_prediction_outcome",
|
|
1887
|
+
"record>commerce_print_order",
|
|
1888
|
+
"record>commerce_product",
|
|
1889
|
+
"record>commerce_product_channel_ref",
|
|
1890
|
+
"record>commerce_product_media",
|
|
1891
|
+
"record>commerce_product_variant",
|
|
1892
|
+
"record>commerce_recall_audit",
|
|
1893
|
+
"record>communication_calendar_selected_snapshot_state",
|
|
1676
1894
|
"record>comparison_set",
|
|
1895
|
+
"record>computed_org_mark",
|
|
1896
|
+
"record>config_manifest",
|
|
1897
|
+
"record>config_read_bucket",
|
|
1898
|
+
"record>contact_medium",
|
|
1677
1899
|
"record>contact_submission",
|
|
1900
|
+
"record>content_certification",
|
|
1901
|
+
"record>content_ir_converter_definition",
|
|
1902
|
+
"record>content_ir_converter_run",
|
|
1678
1903
|
"record>content_ir_kind",
|
|
1904
|
+
"record>content_ir_kind_component",
|
|
1905
|
+
"record>content_ir_kind_component_incident",
|
|
1906
|
+
"record>content_ir_kind_component_layer",
|
|
1907
|
+
"record>content_ir_kind_conformance",
|
|
1908
|
+
"record>content_ir_kind_edge",
|
|
1909
|
+
"record>content_ir_kind_example",
|
|
1679
1910
|
"record>content_ir_kind_instance",
|
|
1911
|
+
"record>content_ir_kind_surface",
|
|
1912
|
+
"record>context_access_log",
|
|
1680
1913
|
"record>context_item",
|
|
1914
|
+
"record>context_item_suggestion",
|
|
1681
1915
|
"record>conversation",
|
|
1916
|
+
"record>conversation_value",
|
|
1917
|
+
"record>courts",
|
|
1918
|
+
"record>credential_attachment",
|
|
1919
|
+
"record>credential_item",
|
|
1920
|
+
"record>credential_mutation_receipt",
|
|
1921
|
+
"record>crm_address",
|
|
1922
|
+
"record>crm_affiliation",
|
|
1923
|
+
"record>crm_blocklist_entry",
|
|
1924
|
+
"record>crm_contact_candidate",
|
|
1682
1925
|
"record>crm_deal",
|
|
1926
|
+
"record>crm_deal_stage_event",
|
|
1927
|
+
"record>crm_enrichment_call",
|
|
1928
|
+
"record>crm_interaction",
|
|
1929
|
+
"record>crm_merge_candidate",
|
|
1683
1930
|
"record>crm_outreach_list",
|
|
1931
|
+
"record>crm_outreach_list_member",
|
|
1932
|
+
"record>crm_party_merge",
|
|
1933
|
+
"record>crm_party_research",
|
|
1934
|
+
"record>crm_registry_ingest_run",
|
|
1935
|
+
"record>crm_registry_source",
|
|
1936
|
+
"record>crm_sending_claim",
|
|
1937
|
+
"record>crm_sending_event",
|
|
1938
|
+
"record>crm_sending_identity",
|
|
1939
|
+
"record>crm_sending_identity_check",
|
|
1940
|
+
"record>crm_sending_policy",
|
|
1941
|
+
"record>custom_base",
|
|
1942
|
+
"record>custom_base_snapshot",
|
|
1943
|
+
"record>custom_field_definition",
|
|
1944
|
+
"record>custom_field_target",
|
|
1945
|
+
"record>custom_synced_source",
|
|
1946
|
+
"record>custom_template",
|
|
1947
|
+
"record>custom_template_install",
|
|
1684
1948
|
"record>cx_agent_memory",
|
|
1949
|
+
"record>cx_agent_plan",
|
|
1950
|
+
"record>cx_agent_task",
|
|
1951
|
+
"record>cx_code_edit",
|
|
1952
|
+
"record>cx_code_message_file",
|
|
1953
|
+
"record>cx_media",
|
|
1954
|
+
"record>cx_observational_memory",
|
|
1955
|
+
"record>cx_observational_memory_event",
|
|
1956
|
+
"record>cx_pending_injection",
|
|
1957
|
+
"record>cx_request",
|
|
1958
|
+
"record>cx_request_snapshot",
|
|
1959
|
+
"record>cx_request_values",
|
|
1960
|
+
"record>cx_tool_trace",
|
|
1961
|
+
"record>cx_user_request",
|
|
1962
|
+
"record>cx_user_todo",
|
|
1963
|
+
"record>data_rights_event",
|
|
1685
1964
|
"record>data_store",
|
|
1965
|
+
"record>data_store_members",
|
|
1966
|
+
"record>ddl_guard_log",
|
|
1967
|
+
"record>deck_suggestion",
|
|
1968
|
+
"record>definer_class_exemption",
|
|
1969
|
+
"record>definer_grant_baseline",
|
|
1970
|
+
"record>derive_run",
|
|
1971
|
+
"record>desktop_app_profile",
|
|
1972
|
+
"record>dev_login_audit",
|
|
1973
|
+
"record>device_handoff",
|
|
1974
|
+
"record>dict_entry",
|
|
1975
|
+
"record>dict_provider_publication",
|
|
1976
|
+
"record>dict_setting",
|
|
1977
|
+
"record>dm_conversation",
|
|
1686
1978
|
"record>dm_message",
|
|
1979
|
+
"record>dm_participant",
|
|
1980
|
+
"record>dm_session_member",
|
|
1981
|
+
"record>doc_render",
|
|
1982
|
+
"record>doc_signature",
|
|
1983
|
+
"record>dockets",
|
|
1687
1984
|
"record>document",
|
|
1985
|
+
"record>document_version",
|
|
1986
|
+
"record>domain_classification",
|
|
1987
|
+
"record>egress_device",
|
|
1988
|
+
"record>egress_pairing",
|
|
1989
|
+
"record>egress_ticket",
|
|
1990
|
+
"record>emails",
|
|
1991
|
+
"record>entity_grant",
|
|
1992
|
+
"record>entity_protected_value_version",
|
|
1993
|
+
"record>entity_type",
|
|
1994
|
+
"record>esign_campaign",
|
|
1995
|
+
"record>esign_campaign_member",
|
|
1996
|
+
"record>esign_consent_disclosure",
|
|
1997
|
+
"record>esign_envelope",
|
|
1998
|
+
"record>esign_envelope_certificate",
|
|
1999
|
+
"record>esign_envelope_document",
|
|
2000
|
+
"record>esign_envelope_draft",
|
|
2001
|
+
"record>esign_envelope_event",
|
|
2002
|
+
"record>esign_envelope_external_ref",
|
|
2003
|
+
"record>esign_envelope_signer",
|
|
2004
|
+
"record>esign_provider",
|
|
2005
|
+
"record>esign_provider_binding",
|
|
2006
|
+
"record>esign_saved_signature",
|
|
2007
|
+
"record>esign_signing_key",
|
|
2008
|
+
"record>esign_template",
|
|
2009
|
+
"record>extension_auth_code",
|
|
2010
|
+
"record>external_api_reservation",
|
|
2011
|
+
"record>external_conversation",
|
|
2012
|
+
"record>external_delivery_event",
|
|
2013
|
+
"record>external_inbox",
|
|
2014
|
+
"record>external_link",
|
|
2015
|
+
"record>external_message",
|
|
2016
|
+
"record>external_provider_receipt",
|
|
2017
|
+
"record>external_source",
|
|
2018
|
+
"record>extract_sweep_state",
|
|
2019
|
+
"record>fc_card",
|
|
2020
|
+
"record>fc_detail",
|
|
1688
2021
|
"record>fc_set",
|
|
1689
2022
|
"record>feature_doc",
|
|
2023
|
+
"record>feedback_comments",
|
|
2024
|
+
"record>feedback_user_messages",
|
|
2025
|
+
"record>file",
|
|
2026
|
+
"record>file_analysis",
|
|
2027
|
+
"record>file_entities",
|
|
2028
|
+
"record>file_overrides",
|
|
2029
|
+
"record>file_page_annotations",
|
|
2030
|
+
"record>file_pages",
|
|
2031
|
+
"record>file_rag_job",
|
|
2032
|
+
"record>file_template",
|
|
2033
|
+
"record>file_version",
|
|
2034
|
+
"record>files_account_tier",
|
|
2035
|
+
"record>files_machine_written_prefix",
|
|
2036
|
+
"record>files_sync_mapping",
|
|
1690
2037
|
"record>folder",
|
|
2038
|
+
"record>function_contract",
|
|
2039
|
+
"record>game_badge",
|
|
1691
2040
|
"record>game_result",
|
|
2041
|
+
"record>game_room",
|
|
2042
|
+
"record>global_execution",
|
|
2043
|
+
"record>global_execution_checkpoint",
|
|
2044
|
+
"record>global_execution_event",
|
|
2045
|
+
"record>global_meter_entry",
|
|
2046
|
+
"record>global_origin",
|
|
2047
|
+
"record>global_request",
|
|
2048
|
+
"record>google_document",
|
|
2049
|
+
"record>growth_loop_event",
|
|
2050
|
+
"record>growth_loop_run",
|
|
2051
|
+
"record>growth_loop_stage_run",
|
|
2052
|
+
"record>guardian_link",
|
|
2053
|
+
"record>guest_conversion_audit",
|
|
2054
|
+
"record>guest_execution_log",
|
|
2055
|
+
"record>guest_executions",
|
|
2056
|
+
"record>guided_checklist_run",
|
|
1692
2057
|
"record>heatmap_save",
|
|
2058
|
+
"record>hindsight_enrollment",
|
|
2059
|
+
"record>hindsight_finding",
|
|
2060
|
+
"record>hindsight_regression_case",
|
|
2061
|
+
"record>hindsight_replay",
|
|
2062
|
+
"record>hindsight_replay_step",
|
|
2063
|
+
"record>hindsight_review",
|
|
2064
|
+
"record>hr_access_audit",
|
|
2065
|
+
"record>hr_access_role",
|
|
2066
|
+
"record>hr_accommodation_request",
|
|
2067
|
+
"record>hr_ai_evidence",
|
|
2068
|
+
"record>hr_alert_routing_rule",
|
|
2069
|
+
"record>hr_application",
|
|
2070
|
+
"record>hr_approval_authority",
|
|
2071
|
+
"record>hr_approval_delegation",
|
|
1693
2072
|
"record>hr_asset",
|
|
2073
|
+
"record>hr_asset_assignment",
|
|
2074
|
+
"record>hr_attendance_exception",
|
|
2075
|
+
"record>hr_auto_close_rule",
|
|
2076
|
+
"record>hr_availability",
|
|
2077
|
+
"record>hr_background_check",
|
|
2078
|
+
"record>hr_benefits_event",
|
|
2079
|
+
"record>hr_calculation_snapshot",
|
|
1694
2080
|
"record>hr_candidate",
|
|
2081
|
+
"record>hr_candidate_conversion",
|
|
2082
|
+
"record>hr_candidate_message",
|
|
1695
2083
|
"record>hr_careers_portal",
|
|
2084
|
+
"record>hr_checklist_item",
|
|
2085
|
+
"record>hr_checklist_run",
|
|
1696
2086
|
"record>hr_checklist_template",
|
|
2087
|
+
"record>hr_checklist_template_item",
|
|
2088
|
+
"record>hr_compensation",
|
|
2089
|
+
"record>hr_corrective_action",
|
|
1697
2090
|
"record>hr_course",
|
|
2091
|
+
"record>hr_course_version",
|
|
2092
|
+
"record>hr_credential",
|
|
1698
2093
|
"record>hr_crew",
|
|
1699
2094
|
"record>hr_deduction_code",
|
|
1700
2095
|
"record>hr_department",
|
|
2096
|
+
"record>hr_derived_grant",
|
|
2097
|
+
"record>hr_disposition_event",
|
|
1701
2098
|
"record>hr_earning_code",
|
|
2099
|
+
"record>hr_eeo_response",
|
|
2100
|
+
"record>hr_emergency_contact",
|
|
1702
2101
|
"record>hr_employee",
|
|
2102
|
+
"record>hr_employee_private",
|
|
1703
2103
|
"record>hr_employer_profile",
|
|
2104
|
+
"record>hr_employment",
|
|
2105
|
+
"record>hr_employment_pin",
|
|
2106
|
+
"record>hr_engagement",
|
|
2107
|
+
"record>hr_establishment",
|
|
2108
|
+
"record>hr_external_identity",
|
|
2109
|
+
"record>hr_field_policy",
|
|
2110
|
+
"record>hr_goal",
|
|
2111
|
+
"record>hr_holiday",
|
|
1704
2112
|
"record>hr_holiday_calendar",
|
|
2113
|
+
"record>hr_i9",
|
|
2114
|
+
"record>hr_i9_document",
|
|
2115
|
+
"record>hr_incident",
|
|
2116
|
+
"record>hr_incident_party",
|
|
2117
|
+
"record>hr_interview",
|
|
1705
2118
|
"record>hr_interview_kit",
|
|
1706
2119
|
"record>hr_job_title",
|
|
1707
2120
|
"record>hr_jurisdiction",
|
|
2121
|
+
"record>hr_jurisdiction_rule",
|
|
1708
2122
|
"record>hr_jurisdiction_rule_class",
|
|
2123
|
+
"record>hr_jurisdiction_rule_org_decision",
|
|
2124
|
+
"record>hr_jurisdiction_rule_test",
|
|
2125
|
+
"record>hr_kiosk_device",
|
|
2126
|
+
"record>hr_kiosk_session",
|
|
2127
|
+
"record>hr_labor_target",
|
|
2128
|
+
"record>hr_leave_case",
|
|
2129
|
+
"record>hr_leave_enrollment",
|
|
2130
|
+
"record>hr_leave_ledger",
|
|
1709
2131
|
"record>hr_leave_policy",
|
|
2132
|
+
"record>hr_leave_request",
|
|
1710
2133
|
"record>hr_legal_hold",
|
|
2134
|
+
"record>hr_legal_hold_item",
|
|
1711
2135
|
"record>hr_location",
|
|
2136
|
+
"record>hr_new_hire_report",
|
|
2137
|
+
"record>hr_offer",
|
|
2138
|
+
"record>hr_opening",
|
|
2139
|
+
"record>hr_overtime_alert",
|
|
2140
|
+
"record>hr_overtime_alert_rule",
|
|
2141
|
+
"record>hr_overtime_preapproval",
|
|
1712
2142
|
"record>hr_pay_group",
|
|
1713
2143
|
"record>hr_pay_period",
|
|
2144
|
+
"record>hr_pay_period_employment",
|
|
2145
|
+
"record>hr_payroll_export",
|
|
2146
|
+
"record>hr_payroll_export_line",
|
|
2147
|
+
"record>hr_position_assignment",
|
|
1714
2148
|
"record>hr_posting",
|
|
2149
|
+
"record>hr_posting_publication",
|
|
2150
|
+
"record>hr_provider_binding",
|
|
2151
|
+
"record>hr_provider_event",
|
|
2152
|
+
"record>hr_provisioning_result",
|
|
2153
|
+
"record>hr_punch",
|
|
2154
|
+
"record>hr_recalculation_batch",
|
|
1715
2155
|
"record>hr_record_class",
|
|
2156
|
+
"record>hr_records_request",
|
|
2157
|
+
"record>hr_reference_check",
|
|
2158
|
+
"record>hr_reporting_line",
|
|
1716
2159
|
"record>hr_requisition",
|
|
2160
|
+
"record>hr_restricted_note",
|
|
2161
|
+
"record>hr_retention_rule",
|
|
2162
|
+
"record>hr_review",
|
|
2163
|
+
"record>hr_review_cycle",
|
|
2164
|
+
"record>hr_review_peer_nomination",
|
|
2165
|
+
"record>hr_review_response",
|
|
2166
|
+
"record>hr_review_template",
|
|
2167
|
+
"record>hr_role_assignment",
|
|
1717
2168
|
"record>hr_schedule",
|
|
2169
|
+
"record>hr_schedule_change",
|
|
2170
|
+
"record>hr_schedule_guidance",
|
|
1718
2171
|
"record>hr_schedule_template",
|
|
2172
|
+
"record>hr_schedule_template_shift",
|
|
2173
|
+
"record>hr_scorecard",
|
|
2174
|
+
"record>hr_separation",
|
|
2175
|
+
"record>hr_shift",
|
|
2176
|
+
"record>hr_shift_claim",
|
|
2177
|
+
"record>hr_staffing_requirement",
|
|
1719
2178
|
"record>hr_survey",
|
|
2179
|
+
"record>hr_survey_invitation",
|
|
2180
|
+
"record>hr_survey_question",
|
|
2181
|
+
"record>hr_survey_response",
|
|
2182
|
+
"record>hr_tax_registration",
|
|
2183
|
+
"record>hr_tax_withholding",
|
|
2184
|
+
"record>hr_time_adjustment",
|
|
2185
|
+
"record>hr_training_assignment",
|
|
2186
|
+
"record>hr_training_attempt",
|
|
2187
|
+
"record>hr_transcript_entry",
|
|
2188
|
+
"record>hr_verification_letter_request",
|
|
2189
|
+
"record>hr_work_interval",
|
|
2190
|
+
"record>hr_workflow_binding",
|
|
2191
|
+
"record>hr_workflow_decision",
|
|
2192
|
+
"record>hr_workflow_definition",
|
|
2193
|
+
"record>hr_workflow_event",
|
|
2194
|
+
"record>hr_workflow_failure",
|
|
2195
|
+
"record>hr_workflow_flow_type",
|
|
2196
|
+
"record>hr_workflow_instance",
|
|
2197
|
+
"record>hr_workflow_step",
|
|
2198
|
+
"record>hr_workflow_step_definition",
|
|
2199
|
+
"record>hr_workweek",
|
|
2200
|
+
"record>html_extraction",
|
|
2201
|
+
"record>iam_access_audit",
|
|
2202
|
+
"record>iam_api_key",
|
|
2203
|
+
"record>iam_emergency_door_request",
|
|
2204
|
+
"record>iam_oauth_app",
|
|
2205
|
+
"record>iam_org_domain",
|
|
2206
|
+
"record>iam_org_domain_route",
|
|
2207
|
+
"record>iam_record_seat_change",
|
|
2208
|
+
"record>industry",
|
|
2209
|
+
"record>ingest_runs",
|
|
2210
|
+
"record>integration_connection",
|
|
2211
|
+
"record>integration_connection_resource",
|
|
2212
|
+
"record>interview_decision_interview",
|
|
2213
|
+
"record>interview_decision_question",
|
|
2214
|
+
"record>interview_document_revision",
|
|
2215
|
+
"record>interview_hole",
|
|
2216
|
+
"record>interview_question",
|
|
2217
|
+
"record>interview_session",
|
|
2218
|
+
"record>interview_turn",
|
|
2219
|
+
"record>invitation",
|
|
2220
|
+
"record>invitation_code",
|
|
2221
|
+
"record>invitation_request",
|
|
2222
|
+
"record>io_comment",
|
|
2223
|
+
"record>io_contract",
|
|
2224
|
+
"record>io_import",
|
|
2225
|
+
"record>io_outbox",
|
|
2226
|
+
"record>item",
|
|
2227
|
+
"record>item_mastery",
|
|
2228
|
+
"record>judge_verdict",
|
|
2229
|
+
"record>jurisdiction_policy",
|
|
2230
|
+
"record>kg_alert",
|
|
2231
|
+
"record>kg_chunk_entities",
|
|
2232
|
+
"record>kg_chunks",
|
|
2233
|
+
"record>kg_clusters",
|
|
2234
|
+
"record>kg_edges",
|
|
2235
|
+
"record>kg_entities",
|
|
2236
|
+
"record>kg_entity_aliases",
|
|
2237
|
+
"record>kg_suggestion_ack",
|
|
2238
|
+
"record>kg_sweep_queue",
|
|
2239
|
+
"record>kg_sweep_run",
|
|
2240
|
+
"record>kg_sweep_state",
|
|
2241
|
+
"record>kg_value_match",
|
|
2242
|
+
"record>knob_override",
|
|
2243
|
+
"record>knob_override_audit",
|
|
2244
|
+
"record>knob_rung_lock",
|
|
2245
|
+
"record>knob_scope_kind",
|
|
2246
|
+
"record>knob_write_door",
|
|
1720
2247
|
"record>league_membership",
|
|
1721
2248
|
"record>learn_doc",
|
|
1722
2249
|
"record>library_doc",
|
|
2250
|
+
"record>lifecycle_archive",
|
|
2251
|
+
"record>lifecycle_audit",
|
|
2252
|
+
"record>lifecycle_map_build",
|
|
2253
|
+
"record>lifecycle_reference_map",
|
|
2254
|
+
"record>lifecycle_run",
|
|
2255
|
+
"record>lifecycle_tier_ledger",
|
|
2256
|
+
"record>location",
|
|
1723
2257
|
"record>mandate",
|
|
2258
|
+
"record>mandate_advance_batch_row",
|
|
2259
|
+
"record>mandate_binding",
|
|
2260
|
+
"record>mandate_candidate",
|
|
2261
|
+
"record>mandate_candidate_run",
|
|
2262
|
+
"record>mandate_candidate_run_payload",
|
|
2263
|
+
"record>mandate_goal_clauses",
|
|
2264
|
+
"record>mandate_observation",
|
|
2265
|
+
"record>mandate_proposal",
|
|
2266
|
+
"record>mandate_readiness_verdict",
|
|
2267
|
+
"record>mandate_reference",
|
|
2268
|
+
"record>mandate_scan",
|
|
2269
|
+
"record>mandate_treatment",
|
|
1724
2270
|
"record>marketing_initiative",
|
|
2271
|
+
"record>masterwork_corpus_item",
|
|
2272
|
+
"record>masterwork_run",
|
|
2273
|
+
"record>masterwork_source",
|
|
2274
|
+
"record>math_course_structure",
|
|
2275
|
+
"record>math_problem",
|
|
2276
|
+
"record>matrx_action_ledger",
|
|
2277
|
+
"record>mcp_config",
|
|
2278
|
+
"record>mcp_server",
|
|
2279
|
+
"record>mcp_user_conn",
|
|
2280
|
+
"record>media_capture_handoff",
|
|
2281
|
+
"record>media_catalog_setting",
|
|
2282
|
+
"record>media_library_item",
|
|
2283
|
+
"record>media_selection_item",
|
|
2284
|
+
"record>media_selection_job",
|
|
2285
|
+
"record>media_source_library",
|
|
2286
|
+
"record>meet_call_invite",
|
|
2287
|
+
"record>meet_chat_message",
|
|
2288
|
+
"record>meet_connection",
|
|
2289
|
+
"record>meet_invitee",
|
|
1725
2290
|
"record>meet_meeting",
|
|
2291
|
+
"record>meet_note",
|
|
2292
|
+
"record>meet_occurrence_override",
|
|
2293
|
+
"record>meet_participant",
|
|
2294
|
+
"record>meet_recording",
|
|
2295
|
+
"record>meet_session",
|
|
2296
|
+
"record>meet_transcript_segment",
|
|
2297
|
+
"record>membership",
|
|
2298
|
+
"record>memory_trial",
|
|
2299
|
+
"record>memory_trial_step",
|
|
2300
|
+
"record>merge_field_provenance",
|
|
2301
|
+
"record>message",
|
|
1726
2302
|
"record>message_template",
|
|
2303
|
+
"record>message_template_detail",
|
|
2304
|
+
"record>migration_log",
|
|
2305
|
+
"record>mtx_media_heal_queue",
|
|
2306
|
+
"record>mtx_public_url_guard",
|
|
2307
|
+
"record>ner_shadow",
|
|
1727
2308
|
"record>note",
|
|
1728
2309
|
"record>note_folder",
|
|
2310
|
+
"record>notification",
|
|
2311
|
+
"record>notification_channel_preference",
|
|
2312
|
+
"record>notification_event_override",
|
|
2313
|
+
"record>notification_event_type",
|
|
2314
|
+
"record>notification_preference",
|
|
2315
|
+
"record>notification_submission",
|
|
2316
|
+
"record>notify_outsider_door_baseline",
|
|
2317
|
+
"record>opinion_clusters",
|
|
2318
|
+
"record>opinions",
|
|
2319
|
+
"record>ops_auth_lock_watchdog_log",
|
|
2320
|
+
"record>ops_check_item",
|
|
2321
|
+
"record>ops_check_run",
|
|
2322
|
+
"record>ops_db_host_sample",
|
|
2323
|
+
"record>ops_issue_class",
|
|
2324
|
+
"record>ops_issue_event",
|
|
2325
|
+
"record>ops_perf_client_event",
|
|
2326
|
+
"record>ops_perf_sample",
|
|
2327
|
+
"record>ops_perf_statement_snapshot",
|
|
2328
|
+
"record>ops_proof_check",
|
|
2329
|
+
"record>ops_proof_run",
|
|
2330
|
+
"record>ops_proof_scenario",
|
|
2331
|
+
"record>ops_source_read_cache",
|
|
2332
|
+
"record>ops_test_replay_cache",
|
|
2333
|
+
"record>org_admin_audit",
|
|
2334
|
+
"record>org_change_policy",
|
|
2335
|
+
"record>org_context_ledger",
|
|
2336
|
+
"record>org_industries",
|
|
2337
|
+
"record>org_member_control",
|
|
2338
|
+
"record>org_plan",
|
|
1729
2339
|
"record>organization",
|
|
2340
|
+
"record>organization_preferences",
|
|
2341
|
+
"record>output_feedback",
|
|
2342
|
+
"record>outreach_acceptance",
|
|
1730
2343
|
"record>page_extraction_job",
|
|
2344
|
+
"record>page_extraction_page_run",
|
|
2345
|
+
"record>page_extraction_results",
|
|
2346
|
+
"record>page_extraction_runs",
|
|
2347
|
+
"record>page_vitals",
|
|
1731
2348
|
"record>party",
|
|
2349
|
+
"record>party_contact_point",
|
|
2350
|
+
"record>passkey_credential",
|
|
1732
2351
|
"record>pc_article",
|
|
1733
2352
|
"record>pc_episode",
|
|
1734
2353
|
"record>pc_show",
|
|
1735
2354
|
"record>pc_studio_run",
|
|
2355
|
+
"record>pc_studio_run_asset",
|
|
2356
|
+
"record>pdf_consolidation_log",
|
|
2357
|
+
"record>pdf_redaction_audit",
|
|
2358
|
+
"record>pdf_redaction_key_escrow",
|
|
2359
|
+
"record>permission_grant",
|
|
2360
|
+
"record>personal_data_column",
|
|
2361
|
+
"record>plan_cms_fill_item",
|
|
2362
|
+
"record>plan_cms_fill_job",
|
|
2363
|
+
"record>plan_entity",
|
|
2364
|
+
"record>plan_node",
|
|
2365
|
+
"record>plan_node_artifact",
|
|
2366
|
+
"record>plan_node_step",
|
|
2367
|
+
"record>plan_profile",
|
|
2368
|
+
"record>platform_action_request",
|
|
2369
|
+
"record>platform_actor_session",
|
|
2370
|
+
"record>platform_actor_token",
|
|
2371
|
+
"record>platform_actor_token_event",
|
|
2372
|
+
"record>platform_class_approval_by_arman",
|
|
2373
|
+
"record>platform_class_approval_by_org_admin",
|
|
2374
|
+
"record>platform_continued_access",
|
|
2375
|
+
"record>platform_cutover_census_run",
|
|
2376
|
+
"record>platform_cutover_evaluation_replaced",
|
|
2377
|
+
"record>platform_cutover_evaluation_write",
|
|
2378
|
+
"record>platform_cutover_seam",
|
|
2379
|
+
"record>platform_cutover_seam_measure",
|
|
2380
|
+
"record>platform_cutover_seam_press",
|
|
2381
|
+
"record>platform_dated_change",
|
|
2382
|
+
"record>platform_google_calendar_event_create_intent",
|
|
2383
|
+
"record>platform_google_task_create_intent",
|
|
2384
|
+
"record>platform_hidden_item",
|
|
2385
|
+
"record>platform_kernel_fingerprint_record",
|
|
2386
|
+
"record>platform_outcome_event",
|
|
2387
|
+
"record>platform_outsider_consumer",
|
|
2388
|
+
"record>platform_reference_declaration",
|
|
2389
|
+
"record>platform_saved_view",
|
|
2390
|
+
"record>platform_secure_delivery",
|
|
2391
|
+
"record>platform_share_link",
|
|
2392
|
+
"record>platform_strict_class_probe",
|
|
2393
|
+
"record>podcast_race",
|
|
2394
|
+
"record>position",
|
|
2395
|
+
"record>presentation",
|
|
1736
2396
|
"record>processed_document",
|
|
2397
|
+
"record>processed_document_page",
|
|
2398
|
+
"record>product_capture_file",
|
|
2399
|
+
"record>product_capture_item",
|
|
2400
|
+
"record>product_capture_payload",
|
|
2401
|
+
"record>product_capture_product",
|
|
2402
|
+
"record>product_capture_question",
|
|
1737
2403
|
"record>project",
|
|
2404
|
+
"record>provider_account",
|
|
2405
|
+
"record>provider_account_credential",
|
|
2406
|
+
"record>provision",
|
|
2407
|
+
"record>provision_snapshot",
|
|
2408
|
+
"record>provision_spec_grandfather",
|
|
2409
|
+
"record>purpose",
|
|
1738
2410
|
"record>quiz_session",
|
|
2411
|
+
"record>rag_ingest_run",
|
|
2412
|
+
"record>rag_library_audit_log",
|
|
2413
|
+
"record>recompute_queue",
|
|
1739
2414
|
"record>record",
|
|
2415
|
+
"record>redaction_mapping",
|
|
2416
|
+
"record>relationship_rule",
|
|
2417
|
+
"record>research_analysis",
|
|
2418
|
+
"record>research_content",
|
|
1740
2419
|
"record>research_context_bundle",
|
|
2420
|
+
"record>research_document",
|
|
2421
|
+
"record>research_intent",
|
|
2422
|
+
"record>research_keyword",
|
|
2423
|
+
"record>research_media",
|
|
2424
|
+
"record>research_source",
|
|
2425
|
+
"record>research_synthesis",
|
|
2426
|
+
"record>research_tag",
|
|
1741
2427
|
"record>research_template",
|
|
1742
2428
|
"record>research_topic",
|
|
2429
|
+
"record>retention_policy",
|
|
2430
|
+
"record>retrieval_audit",
|
|
2431
|
+
"record>review_queue",
|
|
2432
|
+
"record>route_manifest_entry",
|
|
2433
|
+
"record>row_version",
|
|
1743
2434
|
"record>rulebook",
|
|
2435
|
+
"record>run_approval",
|
|
2436
|
+
"record>run_approval_event",
|
|
2437
|
+
"record>runtime_operation_stream",
|
|
2438
|
+
"record>runtime_operation_stream_batch",
|
|
2439
|
+
"record>sandbox_instance",
|
|
2440
|
+
"record>sch_agent_task",
|
|
2441
|
+
"record>sch_run",
|
|
1744
2442
|
"record>sch_task",
|
|
2443
|
+
"record>sch_trigger",
|
|
2444
|
+
"record>scheduler_automation_run_subject",
|
|
2445
|
+
"record>schema_templates",
|
|
2446
|
+
"record>scope_association_suggestion",
|
|
2447
|
+
"record>scope_item_value_suggestion",
|
|
2448
|
+
"record>scope_suggestion",
|
|
1745
2449
|
"record>scope_type",
|
|
2450
|
+
"record>scrape_domain",
|
|
2451
|
+
"record>scrape_domain_settings",
|
|
2452
|
+
"record>scrape_failure_log",
|
|
2453
|
+
"record>scrape_parsed_page",
|
|
2454
|
+
"record>scrape_path_override",
|
|
2455
|
+
"record>scrape_path_pattern",
|
|
2456
|
+
"record>scrape_retry_queue",
|
|
2457
|
+
"record>scraper_comparison_run",
|
|
2458
|
+
"record>scraper_data_fetch_job",
|
|
2459
|
+
"record>scraper_data_source",
|
|
2460
|
+
"record>seo_ai_capability",
|
|
2461
|
+
"record>seo_ai_visibility_brand_check",
|
|
2462
|
+
"record>seo_ai_visibility_citation",
|
|
2463
|
+
"record>seo_ai_visibility_claim",
|
|
2464
|
+
"record>seo_ai_visibility_panel",
|
|
2465
|
+
"record>seo_ai_visibility_response",
|
|
2466
|
+
"record>seo_ai_visibility_signal",
|
|
2467
|
+
"record>seo_backlink",
|
|
2468
|
+
"record>seo_backlink_change_event",
|
|
2469
|
+
"record>seo_backlink_dimension_snapshot",
|
|
2470
|
+
"record>seo_backlink_observation",
|
|
2471
|
+
"record>seo_backlink_snapshot",
|
|
2472
|
+
"record>seo_change_assessment",
|
|
2473
|
+
"record>seo_change_event",
|
|
2474
|
+
"record>seo_change_item",
|
|
2475
|
+
"record>seo_change_metric",
|
|
2476
|
+
"record>seo_change_set",
|
|
2477
|
+
"record>seo_change_theory",
|
|
2478
|
+
"record>seo_competitor",
|
|
2479
|
+
"record>seo_competitor_observation",
|
|
2480
|
+
"record>seo_competitor_opportunity",
|
|
2481
|
+
"record>seo_coverage_mention",
|
|
2482
|
+
"record>seo_coverage_tracker",
|
|
2483
|
+
"record>seo_dimension_value_matcher",
|
|
2484
|
+
"record>seo_engine_schedule",
|
|
2485
|
+
"record>seo_geo_place",
|
|
2486
|
+
"record>seo_gsc_dig_rule",
|
|
1746
2487
|
"record>seo_keyword",
|
|
2488
|
+
"record>seo_keyword_class_rule",
|
|
2489
|
+
"record>seo_keyword_edge",
|
|
2490
|
+
"record>seo_keyword_facet",
|
|
2491
|
+
"record>seo_keyword_market",
|
|
2492
|
+
"record>seo_keyword_market_observation",
|
|
2493
|
+
"record>seo_keyword_place",
|
|
2494
|
+
"record>seo_keyword_saved_view",
|
|
2495
|
+
"record>seo_keyword_topic",
|
|
2496
|
+
"record>seo_landscape_brief",
|
|
2497
|
+
"record>seo_link_gap_domain",
|
|
2498
|
+
"record>seo_link_gap_match",
|
|
2499
|
+
"record>seo_map_facet",
|
|
2500
|
+
"record>seo_map_facet_value",
|
|
2501
|
+
"record>seo_map_topic",
|
|
2502
|
+
"record>seo_page_measurement_health",
|
|
2503
|
+
"record>seo_page_performance",
|
|
2504
|
+
"record>seo_pr_moment",
|
|
2505
|
+
"record>seo_provider_call",
|
|
2506
|
+
"record>seo_provider_task",
|
|
2507
|
+
"record>seo_rank_observation",
|
|
2508
|
+
"record>seo_rank_target",
|
|
2509
|
+
"record>seo_raw_payload",
|
|
2510
|
+
"record>seo_referring_domain_profile",
|
|
2511
|
+
"record>seo_reputation_case",
|
|
2512
|
+
"record>seo_search_performance_daily",
|
|
2513
|
+
"record>seo_serp_mention",
|
|
2514
|
+
"record>seo_serp_opportunity",
|
|
2515
|
+
"record>seo_serp_result",
|
|
2516
|
+
"record>seo_serp_snapshot",
|
|
2517
|
+
"record>seo_site_geo_area",
|
|
2518
|
+
"record>seo_site_keyword_offering",
|
|
2519
|
+
"record>seo_site_keyword_value",
|
|
2520
|
+
"record>seo_site_offering_value",
|
|
2521
|
+
"record>seo_site_topic_value",
|
|
2522
|
+
"record>seo_site_value_combo",
|
|
2523
|
+
"record>seo_site_value_worth",
|
|
2524
|
+
"record>seo_site_vocabulary",
|
|
2525
|
+
"record>seo_source_request",
|
|
2526
|
+
"record>seo_starter_pack",
|
|
2527
|
+
"record>seo_starter_pack_item",
|
|
2528
|
+
"record>seo_story_angle",
|
|
1747
2529
|
"record>seo_topic",
|
|
2530
|
+
"record>seo_topical_map",
|
|
2531
|
+
"record>seo_tracker_story",
|
|
2532
|
+
"record>seo_web_analytics_daily",
|
|
2533
|
+
"record>shareable_resource_registry",
|
|
1748
2534
|
"record>shared_canvas_item",
|
|
2535
|
+
"record>short_link",
|
|
1749
2536
|
"record>skill",
|
|
2537
|
+
"record>skill_detail",
|
|
2538
|
+
"record>sms_consent",
|
|
2539
|
+
"record>sms_conversation",
|
|
2540
|
+
"record>sms_message",
|
|
2541
|
+
"record>sms_message_media",
|
|
2542
|
+
"record>sms_notification",
|
|
2543
|
+
"record>sms_notification_preference",
|
|
2544
|
+
"record>sms_phone_number",
|
|
2545
|
+
"record>sms_rate_limits",
|
|
2546
|
+
"record>sms_webhook_logs",
|
|
2547
|
+
"record>social_account_insight_daily",
|
|
1750
2548
|
"record>social_ad",
|
|
2549
|
+
"record>social_captured_post",
|
|
2550
|
+
"record>social_kpi_goal",
|
|
2551
|
+
"record>social_own_post_metric",
|
|
1751
2552
|
"record>social_post",
|
|
2553
|
+
"record>social_post_analysis",
|
|
2554
|
+
"record>social_post_comment",
|
|
2555
|
+
"record>social_post_metric_snapshot",
|
|
2556
|
+
"record>social_post_stat",
|
|
2557
|
+
"record>social_post_transcript",
|
|
1752
2558
|
"record>social_profile",
|
|
2559
|
+
"record>social_profile_snapshot",
|
|
2560
|
+
"record>social_remix_output",
|
|
1753
2561
|
"record>social_swipe_collection",
|
|
1754
2562
|
"record>social_tracked_account",
|
|
2563
|
+
"record>social_video_composition_version",
|
|
2564
|
+
"record>social_video_project",
|
|
2565
|
+
"record>social_video_variant",
|
|
2566
|
+
"record>social_watchlist_hit",
|
|
2567
|
+
"record>soft_delete_cascade_job",
|
|
2568
|
+
"record>soft_delete_edge",
|
|
2569
|
+
"record>source_authority",
|
|
2570
|
+
"record>space_payload",
|
|
2571
|
+
"record>stage_ref_kind",
|
|
2572
|
+
"record>structure",
|
|
1755
2573
|
"record>structured_list",
|
|
2574
|
+
"record>studio_cleaned_segments",
|
|
2575
|
+
"record>studio_concept_items",
|
|
2576
|
+
"record>studio_documents",
|
|
2577
|
+
"record>studio_module_segments",
|
|
2578
|
+
"record>studio_raw_segments",
|
|
2579
|
+
"record>studio_recording_chunks",
|
|
2580
|
+
"record>studio_recording_segments",
|
|
2581
|
+
"record>studio_run",
|
|
1756
2582
|
"record>studio_session",
|
|
2583
|
+
"record>studio_session_settings",
|
|
2584
|
+
"record>study_attempt",
|
|
1757
2585
|
"record>study_goal",
|
|
1758
2586
|
"record>study_media",
|
|
1759
2587
|
"record>study_plan",
|
|
1760
2588
|
"record>study_plan_block",
|
|
2589
|
+
"record>study_plan_day",
|
|
2590
|
+
"record>study_reminder_context",
|
|
2591
|
+
"record>study_reminder_delivery",
|
|
2592
|
+
"record>study_session",
|
|
2593
|
+
"record>study_source_chunk",
|
|
2594
|
+
"record>study_streak",
|
|
2595
|
+
"record>study_structured_section",
|
|
2596
|
+
"record>superseded_policy",
|
|
2597
|
+
"record>support_session",
|
|
2598
|
+
"record>support_session_event",
|
|
1761
2599
|
"record>surface",
|
|
2600
|
+
"record>system_announcement",
|
|
2601
|
+
"record>system_context_item",
|
|
2602
|
+
"record>system_context_item_org_value",
|
|
2603
|
+
"record>system_error",
|
|
2604
|
+
"record>system_write_failure",
|
|
2605
|
+
"record>t13_backfill_ledger",
|
|
2606
|
+
"record>tag",
|
|
1762
2607
|
"record>task",
|
|
2608
|
+
"record>taxonomy_node",
|
|
1763
2609
|
"record>team",
|
|
2610
|
+
"record>template_context_items",
|
|
2611
|
+
"record>template_scope_types",
|
|
2612
|
+
"record>templates",
|
|
2613
|
+
"record>test_handset_inbox",
|
|
2614
|
+
"record>test_handset_verification",
|
|
1764
2615
|
"record>thread",
|
|
1765
2616
|
"record>tool",
|
|
2617
|
+
"record>tool_battle",
|
|
2618
|
+
"record>tool_battle_cell",
|
|
2619
|
+
"record>tool_binding",
|
|
1766
2620
|
"record>tool_bundle",
|
|
2621
|
+
"record>tool_call",
|
|
2622
|
+
"record>tool_canary_run",
|
|
2623
|
+
"record>tool_catalog_cache",
|
|
2624
|
+
"record>tool_catalog_call",
|
|
2625
|
+
"record>tool_catalog_call_attempt",
|
|
2626
|
+
"record>tool_catalog_call_detail",
|
|
2627
|
+
"record>tool_catalog_endpoint",
|
|
2628
|
+
"record>tool_catalog_entry",
|
|
2629
|
+
"record>tool_catalog_provider",
|
|
2630
|
+
"record>tool_definition_version",
|
|
2631
|
+
"record>tool_executor",
|
|
2632
|
+
"record>tool_feature_scorecard",
|
|
2633
|
+
"record>tool_surface_defaults",
|
|
2634
|
+
"record>tool_test_sample",
|
|
2635
|
+
"record>tool_ui",
|
|
2636
|
+
"record>tool_ui_incident",
|
|
2637
|
+
"record>tool_ui_version",
|
|
1767
2638
|
"record>transcript",
|
|
2639
|
+
"record>trigger_event",
|
|
1768
2640
|
"record>udt_document",
|
|
2641
|
+
"record>udt_document_snapshot",
|
|
2642
|
+
"record>udt_workbook_snapshot",
|
|
2643
|
+
"record>ui_client",
|
|
2644
|
+
"record>ui_decision_pick",
|
|
2645
|
+
"record>ui_surface_action",
|
|
2646
|
+
"record>ui_surface_agent_pref",
|
|
2647
|
+
"record>ui_surface_agent_role",
|
|
2648
|
+
"record>ui_surface_client_tool",
|
|
2649
|
+
"record>ui_surface_config",
|
|
2650
|
+
"record>ui_surface_item_type",
|
|
2651
|
+
"record>ui_surface_value",
|
|
2652
|
+
"record>ui_surface_write_target",
|
|
2653
|
+
"record>univer_payload",
|
|
2654
|
+
"record>unsubscribe_token",
|
|
2655
|
+
"record>uploads_inflight",
|
|
2656
|
+
"record>user",
|
|
2657
|
+
"record>user_achievement",
|
|
2658
|
+
"record>user_active_context",
|
|
2659
|
+
"record>user_analysis_preference",
|
|
2660
|
+
"record>user_email_preference",
|
|
2661
|
+
"record>user_feedback",
|
|
2662
|
+
"record>user_follows",
|
|
1769
2663
|
"record>user_markdown_sample",
|
|
2664
|
+
"record>user_memory",
|
|
2665
|
+
"record>user_preference",
|
|
2666
|
+
"record>user_profile",
|
|
2667
|
+
"record>user_secret",
|
|
2668
|
+
"record>user_secret_audit",
|
|
2669
|
+
"record>user_secret_grant",
|
|
2670
|
+
"record>user_stat",
|
|
2671
|
+
"record>user_surface_state",
|
|
2672
|
+
"record>users_calendar_feed",
|
|
2673
|
+
"record>vault_fill_approvals",
|
|
2674
|
+
"record>vault_fill_devices",
|
|
1770
2675
|
"record>voice",
|
|
1771
2676
|
"record>war_room",
|
|
2677
|
+
"record>wbx_demo",
|
|
2678
|
+
"record>wbx_guidance",
|
|
2679
|
+
"record>wbx_highlight",
|
|
1772
2680
|
"record>wbx_pattern",
|
|
2681
|
+
"record>wbx_recipe",
|
|
2682
|
+
"record>wbx_screenshot",
|
|
2683
|
+
"record>wbx_seo_audit",
|
|
2684
|
+
"record>wc_claim",
|
|
2685
|
+
"record>wc_impairment_definition",
|
|
2686
|
+
"record>wc_injury",
|
|
2687
|
+
"record>wc_report",
|
|
1773
2688
|
"record>web_analysis_item",
|
|
1774
2689
|
"record>web_brand",
|
|
2690
|
+
"record>web_brand_asset",
|
|
2691
|
+
"record>web_brand_choice",
|
|
2692
|
+
"record>web_brand_exclusion",
|
|
2693
|
+
"record>web_brand_offering",
|
|
1775
2694
|
"record>web_brand_persona",
|
|
2695
|
+
"record>web_brand_relation_kind",
|
|
2696
|
+
"record>web_brand_review",
|
|
2697
|
+
"record>web_brand_testimony",
|
|
2698
|
+
"record>web_business_fact",
|
|
2699
|
+
"record>web_business_location",
|
|
2700
|
+
"record>web_channel_analytics_daily",
|
|
2701
|
+
"record>web_crawl_event",
|
|
2702
|
+
"record>web_crawl_preset",
|
|
2703
|
+
"record>web_crawl_schedule",
|
|
2704
|
+
"record>web_crawl_session",
|
|
2705
|
+
"record>web_crawl_url",
|
|
2706
|
+
"record>web_discovered_item",
|
|
2707
|
+
"record>web_domain_category",
|
|
2708
|
+
"record>web_domain_category_observation",
|
|
2709
|
+
"record>web_finding",
|
|
2710
|
+
"record>web_gsc_page_stat",
|
|
2711
|
+
"record>web_link_edge",
|
|
2712
|
+
"record>web_listing_publisher",
|
|
2713
|
+
"record>web_location_listing",
|
|
2714
|
+
"record>web_news_item",
|
|
2715
|
+
"record>web_offering_template",
|
|
1776
2716
|
"record>web_page",
|
|
2717
|
+
"record>web_page_content",
|
|
2718
|
+
"record>web_page_evidence",
|
|
2719
|
+
"record>web_page_sitemap",
|
|
1777
2720
|
"record>web_property",
|
|
1778
2721
|
"record>web_provider",
|
|
2722
|
+
"record>web_result",
|
|
1779
2723
|
"record>web_site",
|
|
2724
|
+
"record>web_site_endpoint_rule",
|
|
2725
|
+
"record>web_site_item_config",
|
|
2726
|
+
"record>web_site_offering",
|
|
2727
|
+
"record>web_sitemap",
|
|
2728
|
+
"record>web_snapshot",
|
|
2729
|
+
"record>web_tag_manager_snapshot",
|
|
2730
|
+
"record>web_temp_brand_firmographic",
|
|
2731
|
+
"record>web_temp_brand_presence",
|
|
2732
|
+
"record>web_temp_brand_recognition",
|
|
2733
|
+
"record>web_voice_fingerprint",
|
|
2734
|
+
"record>web_youtube_video",
|
|
2735
|
+
"record>webhook_deliveries",
|
|
2736
|
+
"record>webhook_dispatch_state",
|
|
2737
|
+
"record>webhook_test_receipt",
|
|
2738
|
+
"record>webhooks",
|
|
2739
|
+
"record>wf_node_data_slot",
|
|
2740
|
+
"record>work_claim",
|
|
2741
|
+
"record>work_item",
|
|
1780
2742
|
"record>workbook",
|
|
1781
2743
|
"record>workflow",
|
|
2744
|
+
"record>workflow_card",
|
|
2745
|
+
"record>workflow_checkpoint",
|
|
2746
|
+
"record>workflow_checkpoint_value",
|
|
2747
|
+
"record>workflow_comparison",
|
|
2748
|
+
"record>workflow_definition_overview",
|
|
2749
|
+
"record>workflow_definition_version",
|
|
2750
|
+
"record>workflow_idempotency",
|
|
2751
|
+
"record>workflow_job",
|
|
2752
|
+
"record>workflow_node_events",
|
|
2753
|
+
"record>workflow_node_outcome",
|
|
1782
2754
|
"record>workflow_plan",
|
|
2755
|
+
"record>workflow_plan_event",
|
|
2756
|
+
"record>workflow_plan_sample",
|
|
2757
|
+
"record>workflow_recovery_audit",
|
|
2758
|
+
"record>workflow_review_issue",
|
|
2759
|
+
"record>workflow_run",
|
|
2760
|
+
"record>workflow_run_log",
|
|
2761
|
+
"record>workflow_runtime_surface",
|
|
1783
2762
|
"record>workflow_template",
|
|
1784
2763
|
"record>workflow_trigger",
|
|
2764
|
+
"record>workflow_trigger_fire",
|
|
2765
|
+
"record>workflow_work_item",
|
|
2766
|
+
"record>write_guard_key",
|
|
2767
|
+
"record>youtube_search",
|
|
1785
2768
|
"record>youtube_video",
|
|
1786
2769
|
"research_media>category",
|
|
1787
2770
|
"research_media>web_brand",
|
|
@@ -2898,96 +3881,36 @@ import {
|
|
|
2898
3881
|
} from "@ai-matrx/design-system";
|
|
2899
3882
|
|
|
2900
3883
|
// src/react/icons.tsx
|
|
2901
|
-
import {
|
|
2902
|
-
|
|
2903
|
-
|
|
2904
|
-
|
|
2905
|
-
|
|
2906
|
-
|
|
2907
|
-
|
|
2908
|
-
|
|
2909
|
-
|
|
2910
|
-
|
|
2911
|
-
|
|
2912
|
-
|
|
2913
|
-
|
|
2914
|
-
|
|
2915
|
-
|
|
2916
|
-
|
|
2917
|
-
|
|
2918
|
-
|
|
2919
|
-
|
|
2920
|
-
|
|
2921
|
-
|
|
2922
|
-
|
|
2923
|
-
|
|
2924
|
-
|
|
2925
|
-
|
|
2926
|
-
|
|
2927
|
-
function RefreshIcon(props) {
|
|
2928
|
-
return /* @__PURE__ */ jsxs2("svg", { ...base(props), children: [
|
|
2929
|
-
/* @__PURE__ */ jsx4("path", { d: "M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8" }),
|
|
2930
|
-
/* @__PURE__ */ jsx4("path", { d: "M21 3v5h-5" }),
|
|
2931
|
-
/* @__PURE__ */ jsx4("path", { d: "M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16" }),
|
|
2932
|
-
/* @__PURE__ */ jsx4("path", { d: "M8 16H3v5" })
|
|
2933
|
-
] });
|
|
2934
|
-
}
|
|
2935
|
-
function UploadIcon(props) {
|
|
2936
|
-
return /* @__PURE__ */ jsxs2("svg", { ...base(props), children: [
|
|
2937
|
-
/* @__PURE__ */ jsx4("path", { d: "M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4" }),
|
|
2938
|
-
/* @__PURE__ */ jsx4("polyline", { points: "17 8 12 3 7 8" }),
|
|
2939
|
-
/* @__PURE__ */ jsx4("line", { x1: "12", x2: "12", y1: "3", y2: "15" })
|
|
2940
|
-
] });
|
|
2941
|
-
}
|
|
2942
|
-
function FolderOpenIcon(props) {
|
|
2943
|
-
return /* @__PURE__ */ jsx4("svg", { ...base(props), children: /* @__PURE__ */ jsx4("path", { d: "m6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2" }) });
|
|
2944
|
-
}
|
|
2945
|
-
function CornerDownRightIcon(props) {
|
|
2946
|
-
return /* @__PURE__ */ jsxs2("svg", { ...base(props), children: [
|
|
2947
|
-
/* @__PURE__ */ jsx4("polyline", { points: "15 10 20 15 15 20" }),
|
|
2948
|
-
/* @__PURE__ */ jsx4("path", { d: "M4 4v7a4 4 0 0 0 4 4h12" })
|
|
2949
|
-
] });
|
|
2950
|
-
}
|
|
2951
|
-
function TagIcon(props) {
|
|
2952
|
-
return /* @__PURE__ */ jsxs2("svg", { ...base(props), children: [
|
|
2953
|
-
/* @__PURE__ */ jsx4("path", { d: "M12.586 2.586A2 2 0 0 0 11.172 2H4a2 2 0 0 0-2 2v7.172a2 2 0 0 0 .586 1.414l8.704 8.704a2.426 2.426 0 0 0 3.42 0l6.58-6.58a2.426 2.426 0 0 0 0-3.42z" }),
|
|
2954
|
-
/* @__PURE__ */ jsx4("circle", { cx: "7.5", cy: "7.5", r: ".5", fill: "currentColor" })
|
|
2955
|
-
] });
|
|
2956
|
-
}
|
|
2957
|
-
function DefaultEntityIcon(props) {
|
|
2958
|
-
return /* @__PURE__ */ jsxs2("svg", { ...base(props), children: [
|
|
2959
|
-
/* @__PURE__ */ jsx4("path", { d: "M2.97 12.92A2 2 0 0 0 2 14.63v3.24a2 2 0 0 0 .97 1.71l3 1.8a2 2 0 0 0 2.06 0L12 19v-5.5l-5-3-4.03 2.42Z" }),
|
|
2960
|
-
/* @__PURE__ */ jsx4("path", { d: "m7 16.5-4.74-2.85" }),
|
|
2961
|
-
/* @__PURE__ */ jsx4("path", { d: "m7 16.5 5-3" }),
|
|
2962
|
-
/* @__PURE__ */ jsx4("path", { d: "M7 16.5v5.17" }),
|
|
2963
|
-
/* @__PURE__ */ jsx4("path", { d: "M12 13.5V19l3.97 2.38a2 2 0 0 0 2.06 0l3-1.8a2 2 0 0 0 .97-1.71v-3.24a2 2 0 0 0-.97-1.71L17 10.5l-5 3Z" }),
|
|
2964
|
-
/* @__PURE__ */ jsx4("path", { d: "m17 16.5-5-3" }),
|
|
2965
|
-
/* @__PURE__ */ jsx4("path", { d: "m17 16.5 4.74-2.85" }),
|
|
2966
|
-
/* @__PURE__ */ jsx4("path", { d: "M17 16.5v5.17" }),
|
|
2967
|
-
/* @__PURE__ */ jsx4("path", { d: "M7.97 4.42A2 2 0 0 0 7 6.13v4.37l5 3 5-3V6.13a2 2 0 0 0-.97-1.71l-3-1.8a2 2 0 0 0-2.06 0l-3 1.8Z" }),
|
|
2968
|
-
/* @__PURE__ */ jsx4("path", { d: "M12 8 7.26 5.15" }),
|
|
2969
|
-
/* @__PURE__ */ jsx4("path", { d: "m12 8 4.74-2.85" }),
|
|
2970
|
-
/* @__PURE__ */ jsx4("path", { d: "M12 13.5V8" })
|
|
2971
|
-
] });
|
|
2972
|
-
}
|
|
2973
|
-
function RestoreIcon(props) {
|
|
2974
|
-
return /* @__PURE__ */ jsxs2("svg", { ...base(props), children: [
|
|
2975
|
-
/* @__PURE__ */ jsx4("path", { d: "M4 14h6v6" }),
|
|
2976
|
-
/* @__PURE__ */ jsx4("path", { d: "M20 10h-6V4" }),
|
|
2977
|
-
/* @__PURE__ */ jsx4("path", { d: "M14 10l7-7" }),
|
|
2978
|
-
/* @__PURE__ */ jsx4("path", { d: "M3 21l7-7" })
|
|
2979
|
-
] });
|
|
2980
|
-
}
|
|
2981
|
-
function GripResizeIcon(props) {
|
|
2982
|
-
return /* @__PURE__ */ jsxs2("svg", { ...base(props), children: [
|
|
2983
|
-
/* @__PURE__ */ jsx4("path", { d: "M21 15 15 21" }),
|
|
2984
|
-
/* @__PURE__ */ jsx4("path", { d: "M21 20 20 21" })
|
|
2985
|
-
] });
|
|
2986
|
-
}
|
|
3884
|
+
import {
|
|
3885
|
+
BoxesIcon as GBoxesIcon,
|
|
3886
|
+
CornerDownRightIcon as GCornerDownRightIcon,
|
|
3887
|
+
FileTextIcon as GFileTextIcon,
|
|
3888
|
+
FolderOpenIcon as GFolderOpenIcon,
|
|
3889
|
+
GripResizeIcon as GGripResizeIcon,
|
|
3890
|
+
Link2Icon as GLink2Icon,
|
|
3891
|
+
Loader2Icon as GLoader2Icon,
|
|
3892
|
+
RefreshCwIcon as GRefreshCwIcon,
|
|
3893
|
+
RestoreIcon as GRestoreIcon,
|
|
3894
|
+
TagIcon as GTagIcon,
|
|
3895
|
+
UploadIcon as GUploadIcon,
|
|
3896
|
+
withGlyphDefaults
|
|
3897
|
+
} from "@ai-matrx/design-system/icons";
|
|
3898
|
+
var sized = (Glyph) => withGlyphDefaults(Glyph, { width: 24, height: 24 });
|
|
3899
|
+
var SpinnerIcon = sized(GLoader2Icon);
|
|
3900
|
+
var Link2Icon = sized(GLink2Icon);
|
|
3901
|
+
var RefreshIcon = sized(GRefreshCwIcon);
|
|
3902
|
+
var UploadIcon = sized(GUploadIcon);
|
|
3903
|
+
var FolderOpenIcon = sized(GFolderOpenIcon);
|
|
3904
|
+
var FileTextIcon = sized(GFileTextIcon);
|
|
3905
|
+
var CornerDownRightIcon = sized(GCornerDownRightIcon);
|
|
3906
|
+
var TagIcon = sized(GTagIcon);
|
|
3907
|
+
var DefaultEntityIcon = sized(GBoxesIcon);
|
|
3908
|
+
var RestoreIcon = sized(GRestoreIcon);
|
|
3909
|
+
var GripResizeIcon = sized(GGripResizeIcon);
|
|
2987
3910
|
|
|
2988
3911
|
// src/react/components/DefaultWindowShell.tsx
|
|
2989
3912
|
import { Maximize2Icon, XIcon } from "@ai-matrx/design-system/icons";
|
|
2990
|
-
import { jsx as
|
|
3913
|
+
import { jsx as jsx4, jsxs as jsxs2 } from "react/jsx-runtime";
|
|
2991
3914
|
var DEFAULT_WIDTH = 440;
|
|
2992
3915
|
var DEFAULT_HEIGHT = 580;
|
|
2993
3916
|
var MIN_WIDTH = 330;
|
|
@@ -3071,7 +3994,7 @@ function DefaultWindowShell({
|
|
|
3071
3994
|
height: rect.height
|
|
3072
3995
|
};
|
|
3073
3996
|
return createPortal(
|
|
3074
|
-
/* @__PURE__ */
|
|
3997
|
+
/* @__PURE__ */ jsx4(FloatingLayer, { children: /* @__PURE__ */ jsxs2(
|
|
3075
3998
|
"div",
|
|
3076
3999
|
{
|
|
3077
4000
|
ref: setPanelRef,
|
|
@@ -3088,7 +4011,7 @@ function DefaultWindowShell({
|
|
|
3088
4011
|
className
|
|
3089
4012
|
),
|
|
3090
4013
|
children: [
|
|
3091
|
-
/* @__PURE__ */
|
|
4014
|
+
/* @__PURE__ */ jsxs2(
|
|
3092
4015
|
"header",
|
|
3093
4016
|
{
|
|
3094
4017
|
onPointerDown: drag.onPointerDown,
|
|
@@ -3100,51 +4023,51 @@ function DefaultWindowShell({
|
|
|
3100
4023
|
isMobile ? "" : "cursor-move touch-none"
|
|
3101
4024
|
),
|
|
3102
4025
|
children: [
|
|
3103
|
-
/* @__PURE__ */
|
|
4026
|
+
/* @__PURE__ */ jsxs2(
|
|
3104
4027
|
"span",
|
|
3105
4028
|
{
|
|
3106
4029
|
id: labelId,
|
|
3107
4030
|
className: "flex min-w-0 items-center gap-1.5 text-sm font-medium text-foreground",
|
|
3108
4031
|
children: [
|
|
3109
4032
|
icon,
|
|
3110
|
-
/* @__PURE__ */
|
|
4033
|
+
/* @__PURE__ */ jsx4("span", { className: "truncate", children: title })
|
|
3111
4034
|
]
|
|
3112
4035
|
}
|
|
3113
4036
|
),
|
|
3114
|
-
/* @__PURE__ */
|
|
3115
|
-
isMobile ? null : /* @__PURE__ */
|
|
4037
|
+
/* @__PURE__ */ jsxs2("span", { className: "flex shrink-0 items-center gap-0.5", children: [
|
|
4038
|
+
isMobile ? null : /* @__PURE__ */ jsx4(
|
|
3116
4039
|
"button",
|
|
3117
4040
|
{
|
|
3118
4041
|
type: "button",
|
|
3119
4042
|
onClick: () => setMaximized((v) => !v),
|
|
3120
4043
|
"aria-label": maximized ? "Restore window" : "Maximize window",
|
|
3121
4044
|
className: "flex h-6 w-6 items-center justify-center rounded-md text-muted-foreground transition-colors hover:bg-accent hover:text-foreground",
|
|
3122
|
-
children: maximized ? /* @__PURE__ */
|
|
4045
|
+
children: maximized ? /* @__PURE__ */ jsx4(RestoreIcon, { className: "h-3.5 w-3.5" }) : /* @__PURE__ */ jsx4(Maximize2Icon, { className: "h-3.5 w-3.5" })
|
|
3123
4046
|
}
|
|
3124
4047
|
),
|
|
3125
|
-
/* @__PURE__ */
|
|
4048
|
+
/* @__PURE__ */ jsx4(
|
|
3126
4049
|
"button",
|
|
3127
4050
|
{
|
|
3128
4051
|
type: "button",
|
|
3129
4052
|
onClick: onClose,
|
|
3130
4053
|
"aria-label": "Close",
|
|
3131
4054
|
className: "flex h-6 w-6 items-center justify-center rounded-md text-muted-foreground transition-colors hover:bg-accent hover:text-foreground",
|
|
3132
|
-
children: /* @__PURE__ */
|
|
4055
|
+
children: /* @__PURE__ */ jsx4(XIcon, { className: "h-3.5 w-3.5" })
|
|
3133
4056
|
}
|
|
3134
4057
|
)
|
|
3135
4058
|
] })
|
|
3136
4059
|
]
|
|
3137
4060
|
}
|
|
3138
4061
|
),
|
|
3139
|
-
/* @__PURE__ */
|
|
3140
|
-
isMobile || maximized ? null : /* @__PURE__ */
|
|
4062
|
+
/* @__PURE__ */ jsx4("div", { className: "min-h-0 flex-1 overflow-hidden", children }),
|
|
4063
|
+
isMobile || maximized ? null : /* @__PURE__ */ jsx4(
|
|
3141
4064
|
"button",
|
|
3142
4065
|
{
|
|
3143
4066
|
type: "button",
|
|
3144
4067
|
"aria-label": "Resize window",
|
|
3145
4068
|
onPointerDown: drag.resizeHandle("se"),
|
|
3146
4069
|
className: "absolute bottom-0 right-0 flex h-4 w-4 cursor-nwse-resize touch-none items-center justify-center text-muted-foreground/60 hover:text-foreground",
|
|
3147
|
-
children: /* @__PURE__ */
|
|
4070
|
+
children: /* @__PURE__ */ jsx4(GripResizeIcon, { className: "h-3 w-3" })
|
|
3148
4071
|
}
|
|
3149
4072
|
)
|
|
3150
4073
|
]
|
|
@@ -3155,7 +4078,7 @@ function DefaultWindowShell({
|
|
|
3155
4078
|
}
|
|
3156
4079
|
|
|
3157
4080
|
// src/react/components/AssociationWindow.tsx
|
|
3158
|
-
import { jsx as
|
|
4081
|
+
import { jsx as jsx5, jsxs as jsxs3 } from "react/jsx-runtime";
|
|
3159
4082
|
function AssociationWindow({
|
|
3160
4083
|
open,
|
|
3161
4084
|
onClose,
|
|
@@ -3168,16 +4091,16 @@ function AssociationWindow({
|
|
|
3168
4091
|
const instanceId = useId();
|
|
3169
4092
|
const { windowShell } = useAssociationsUiPorts();
|
|
3170
4093
|
if (!open) return null;
|
|
3171
|
-
const body = /* @__PURE__ */
|
|
3172
|
-
subtitle ? /* @__PURE__ */
|
|
4094
|
+
const body = /* @__PURE__ */ jsxs3("div", { className: "flex h-full min-h-0 flex-col gap-2 p-3", children: [
|
|
4095
|
+
subtitle ? /* @__PURE__ */ jsx5("div", { className: "shrink-0 text-xs text-muted-foreground", children: subtitle }) : null,
|
|
3173
4096
|
children
|
|
3174
4097
|
] });
|
|
3175
4098
|
const windowId = `association:${scopeId}:${instanceId}`;
|
|
3176
4099
|
if (windowShell) {
|
|
3177
4100
|
const HostWindow = windowShell.Window;
|
|
3178
|
-
return /* @__PURE__ */
|
|
4101
|
+
return /* @__PURE__ */ jsx5(HostWindow, { id: windowId, title, onClose, children: body });
|
|
3179
4102
|
}
|
|
3180
|
-
return /* @__PURE__ */
|
|
4103
|
+
return /* @__PURE__ */ jsx5(
|
|
3181
4104
|
DefaultWindowShell,
|
|
3182
4105
|
{
|
|
3183
4106
|
id: windowId,
|
|
@@ -3193,27 +4116,27 @@ function AssociationWindow({
|
|
|
3193
4116
|
import { useState as useState6 } from "react";
|
|
3194
4117
|
import { cn as cn3, Input } from "@ai-matrx/design-system";
|
|
3195
4118
|
import { CheckIcon, PlusIcon, SearchIcon, XIcon as XIcon2 } from "@ai-matrx/design-system/icons";
|
|
3196
|
-
import { Fragment, jsx as
|
|
4119
|
+
import { Fragment, jsx as jsx6, jsxs as jsxs4 } from "react/jsx-runtime";
|
|
3197
4120
|
function AssociationPicker(props) {
|
|
3198
4121
|
const store = useAssociationsStore();
|
|
3199
4122
|
const { pickerOverrides } = useAssociationsUiPorts();
|
|
3200
4123
|
const info = store.registry.getEntityInfo(props.token);
|
|
3201
4124
|
const Icon = info.Icon ?? DefaultEntityIcon;
|
|
3202
4125
|
const Override = pickerOverrides?.[props.token];
|
|
3203
|
-
if (Override) return /* @__PURE__ */
|
|
4126
|
+
if (Override) return /* @__PURE__ */ jsx6(Override, { ...props });
|
|
3204
4127
|
const title = `Add ${info.labelPlural}`;
|
|
3205
4128
|
const subtitle = props.filing ? `File ${props.containerLabel ?? "this"} under a ${info.label.toLowerCase()}` : props.containerLabel ? `Attach to ${props.containerLabel}` : "Click an item to attach or detach it";
|
|
3206
4129
|
if (!props.open) return null;
|
|
3207
|
-
return /* @__PURE__ */
|
|
4130
|
+
return /* @__PURE__ */ jsx6(
|
|
3208
4131
|
AssociationWindow,
|
|
3209
4132
|
{
|
|
3210
4133
|
open: props.open,
|
|
3211
4134
|
onClose: () => props.onOpenChange(false),
|
|
3212
4135
|
scopeId: `picker:${props.token}`,
|
|
3213
4136
|
title,
|
|
3214
|
-
icon: /* @__PURE__ */
|
|
4137
|
+
icon: /* @__PURE__ */ jsx6(Icon, { className: "size-3.5 text-primary" }),
|
|
3215
4138
|
subtitle,
|
|
3216
|
-
children: /* @__PURE__ */
|
|
4139
|
+
children: /* @__PURE__ */ jsx6(
|
|
3217
4140
|
AssociationCandidateBody,
|
|
3218
4141
|
{
|
|
3219
4142
|
token: props.token,
|
|
@@ -3238,7 +4161,7 @@ function AssociationCandidateBody({
|
|
|
3238
4161
|
onClose
|
|
3239
4162
|
}) {
|
|
3240
4163
|
void onClose;
|
|
3241
|
-
return /* @__PURE__ */
|
|
4164
|
+
return /* @__PURE__ */ jsx6(
|
|
3242
4165
|
EntityCandidateList,
|
|
3243
4166
|
{
|
|
3244
4167
|
token,
|
|
@@ -3298,10 +4221,10 @@ function EntityCandidateList({
|
|
|
3298
4221
|
setBusyId(null);
|
|
3299
4222
|
}
|
|
3300
4223
|
};
|
|
3301
|
-
return /* @__PURE__ */
|
|
3302
|
-
/* @__PURE__ */
|
|
3303
|
-
/* @__PURE__ */
|
|
3304
|
-
/* @__PURE__ */
|
|
4224
|
+
return /* @__PURE__ */ jsxs4(Fragment, { children: [
|
|
4225
|
+
/* @__PURE__ */ jsxs4("div", { className: "relative mb-2", children: [
|
|
4226
|
+
/* @__PURE__ */ jsx6(SearchIcon, { className: "absolute left-2.5 top-1/2 -translate-y-1/2 h-4 w-4 text-muted-foreground" }),
|
|
4227
|
+
/* @__PURE__ */ jsx6(
|
|
3305
4228
|
Input,
|
|
3306
4229
|
{
|
|
3307
4230
|
autoFocus: true,
|
|
@@ -3313,8 +4236,8 @@ function EntityCandidateList({
|
|
|
3313
4236
|
}
|
|
3314
4237
|
)
|
|
3315
4238
|
] }),
|
|
3316
|
-
/* @__PURE__ */
|
|
3317
|
-
!search.trim() && !error && /* @__PURE__ */
|
|
4239
|
+
/* @__PURE__ */ jsxs4("div", { className: "flex-1 min-h-0 overflow-y-auto -mx-1 px-1", children: [
|
|
4240
|
+
!search.trim() && !error && /* @__PURE__ */ jsx6(
|
|
3318
4241
|
SearchFailureNotice,
|
|
3319
4242
|
{
|
|
3320
4243
|
error: null,
|
|
@@ -3324,13 +4247,13 @@ function EntityCandidateList({
|
|
|
3324
4247
|
className: "mb-1"
|
|
3325
4248
|
}
|
|
3326
4249
|
),
|
|
3327
|
-
(loading || recentsLoading) && visibleCount === 0 ? /* @__PURE__ */
|
|
3328
|
-
/* @__PURE__ */
|
|
4250
|
+
(loading || recentsLoading) && visibleCount === 0 ? /* @__PURE__ */ jsxs4(ListMessage, { children: [
|
|
4251
|
+
/* @__PURE__ */ jsx6(SpinnerIcon, { className: "h-4 w-4 animate-spin" }),
|
|
3329
4252
|
"Loading\u2026"
|
|
3330
|
-
] }) : error ? /* @__PURE__ */
|
|
3331
|
-
/* @__PURE__ */
|
|
3332
|
-
/* @__PURE__ */
|
|
3333
|
-
/* @__PURE__ */
|
|
4253
|
+
] }) : error ? /* @__PURE__ */ jsxs4("div", { className: "rounded-md border border-destructive/40 bg-destructive/10 px-3 py-2 text-[12px] text-destructive", children: [
|
|
4254
|
+
/* @__PURE__ */ jsx6("p", { className: "font-medium", children: "Couldn\u2019t load items" }),
|
|
4255
|
+
/* @__PURE__ */ jsx6("p", { className: "opacity-80", children: error }),
|
|
4256
|
+
/* @__PURE__ */ jsx6(
|
|
3334
4257
|
"button",
|
|
3335
4258
|
{
|
|
3336
4259
|
type: "button",
|
|
@@ -3339,32 +4262,32 @@ function EntityCandidateList({
|
|
|
3339
4262
|
children: "Retry"
|
|
3340
4263
|
}
|
|
3341
4264
|
)
|
|
3342
|
-
] }) : visibleCount === 0 ? /* @__PURE__ */
|
|
3343
|
-
visibleRecents.length > 0 && /* @__PURE__ */
|
|
4265
|
+
] }) : visibleCount === 0 ? /* @__PURE__ */ jsx6(ListMessage, { children: canCreate ? `Nothing to attach yet \u2014 create a new ${info.label.toLowerCase()} below.` : "Nothing to attach." }) : /* @__PURE__ */ jsxs4("div", { className: "space-y-2", children: [
|
|
4266
|
+
visibleRecents.length > 0 && /* @__PURE__ */ jsx6(
|
|
3344
4267
|
CandidateSection,
|
|
3345
4268
|
{
|
|
3346
4269
|
label: "Recent",
|
|
3347
4270
|
candidates: visibleRecents,
|
|
3348
4271
|
attachedIds,
|
|
3349
4272
|
busyId,
|
|
3350
|
-
icon: /* @__PURE__ */
|
|
4273
|
+
icon: /* @__PURE__ */ jsx6(Icon, { className: "h-4 w-4 shrink-0 text-muted-foreground" }),
|
|
3351
4274
|
onToggle: toggle
|
|
3352
4275
|
}
|
|
3353
4276
|
),
|
|
3354
|
-
ordinaryCandidates.length > 0 && /* @__PURE__ */
|
|
4277
|
+
ordinaryCandidates.length > 0 && /* @__PURE__ */ jsx6(
|
|
3355
4278
|
CandidateSection,
|
|
3356
4279
|
{
|
|
3357
4280
|
label: visibleRecents.length > 0 ? `All ${info.labelPlural}` : null,
|
|
3358
4281
|
candidates: ordinaryCandidates,
|
|
3359
4282
|
attachedIds,
|
|
3360
4283
|
busyId,
|
|
3361
|
-
icon: /* @__PURE__ */
|
|
4284
|
+
icon: /* @__PURE__ */ jsx6(Icon, { className: "h-4 w-4 shrink-0 text-muted-foreground" }),
|
|
3362
4285
|
onToggle: toggle
|
|
3363
4286
|
}
|
|
3364
4287
|
)
|
|
3365
4288
|
] })
|
|
3366
4289
|
] }),
|
|
3367
|
-
canCreate && /* @__PURE__ */
|
|
4290
|
+
canCreate && /* @__PURE__ */ jsx6(
|
|
3368
4291
|
CreateAndAttachFooter,
|
|
3369
4292
|
{
|
|
3370
4293
|
token,
|
|
@@ -3384,12 +4307,12 @@ function CandidateSection({
|
|
|
3384
4307
|
icon,
|
|
3385
4308
|
onToggle
|
|
3386
4309
|
}) {
|
|
3387
|
-
return /* @__PURE__ */
|
|
3388
|
-
label && /* @__PURE__ */
|
|
3389
|
-
/* @__PURE__ */
|
|
4310
|
+
return /* @__PURE__ */ jsxs4("section", { className: "space-y-0.5", children: [
|
|
4311
|
+
label && /* @__PURE__ */ jsx6("p", { className: "px-1 text-[10px] font-medium uppercase tracking-wider text-muted-foreground/60", children: label }),
|
|
4312
|
+
/* @__PURE__ */ jsx6("ul", { className: "space-y-0.5", children: candidates.map((candidate) => {
|
|
3390
4313
|
const attached = attachedIds.has(candidate.id);
|
|
3391
4314
|
const busy = busyId === candidate.id;
|
|
3392
|
-
return /* @__PURE__ */
|
|
4315
|
+
return /* @__PURE__ */ jsx6("li", { children: /* @__PURE__ */ jsxs4(
|
|
3393
4316
|
"button",
|
|
3394
4317
|
{
|
|
3395
4318
|
type: "button",
|
|
@@ -3402,15 +4325,15 @@ function CandidateSection({
|
|
|
3402
4325
|
),
|
|
3403
4326
|
children: [
|
|
3404
4327
|
icon,
|
|
3405
|
-
/* @__PURE__ */
|
|
3406
|
-
/* @__PURE__ */
|
|
4328
|
+
/* @__PURE__ */ jsx6("span", { className: "flex-1 min-w-0 truncate text-foreground", children: candidate.title }),
|
|
4329
|
+
/* @__PURE__ */ jsx6(
|
|
3407
4330
|
"span",
|
|
3408
4331
|
{
|
|
3409
4332
|
className: cn3(
|
|
3410
4333
|
"flex h-5 w-5 items-center justify-center rounded-full shrink-0",
|
|
3411
4334
|
attached ? "bg-primary text-primary-foreground" : "border border-border text-muted-foreground group-hover:border-primary/60"
|
|
3412
4335
|
),
|
|
3413
|
-
children: busy ? /* @__PURE__ */
|
|
4336
|
+
children: busy ? /* @__PURE__ */ jsx6(SpinnerIcon, { className: "h-3 w-3 animate-spin" }) : attached ? /* @__PURE__ */ jsx6(CheckIcon, { className: "h-3 w-3" }) : /* @__PURE__ */ jsx6(PlusIcon, { className: "h-3 w-3" })
|
|
3414
4337
|
}
|
|
3415
4338
|
)
|
|
3416
4339
|
]
|
|
@@ -3466,7 +4389,7 @@ function CreateAndAttachFooter({
|
|
|
3466
4389
|
}
|
|
3467
4390
|
};
|
|
3468
4391
|
if (!editing) {
|
|
3469
|
-
return /* @__PURE__ */
|
|
4392
|
+
return /* @__PURE__ */ jsxs4(
|
|
3470
4393
|
"button",
|
|
3471
4394
|
{
|
|
3472
4395
|
type: "button",
|
|
@@ -3476,10 +4399,10 @@ function CreateAndAttachFooter({
|
|
|
3476
4399
|
},
|
|
3477
4400
|
className: "mt-2 flex min-h-11 w-full shrink-0 items-center justify-center gap-1.5 rounded-md border border-dashed border-border px-3 py-2 text-sm text-muted-foreground transition-colors hover:border-primary/60 hover:text-foreground md:min-h-0",
|
|
3478
4401
|
children: [
|
|
3479
|
-
/* @__PURE__ */
|
|
4402
|
+
/* @__PURE__ */ jsx6(PlusIcon, { className: "h-4 w-4" }),
|
|
3480
4403
|
"New ",
|
|
3481
4404
|
info.label,
|
|
3482
|
-
seed ? /* @__PURE__ */
|
|
4405
|
+
seed ? /* @__PURE__ */ jsxs4("span", { className: "max-w-40 truncate text-muted-foreground/70", children: [
|
|
3483
4406
|
"\u201C",
|
|
3484
4407
|
seed,
|
|
3485
4408
|
"\u201D"
|
|
@@ -3488,8 +4411,8 @@ function CreateAndAttachFooter({
|
|
|
3488
4411
|
}
|
|
3489
4412
|
);
|
|
3490
4413
|
}
|
|
3491
|
-
return /* @__PURE__ */
|
|
3492
|
-
/* @__PURE__ */
|
|
4414
|
+
return /* @__PURE__ */ jsxs4("div", { className: "mt-2 flex shrink-0 items-center gap-1.5", children: [
|
|
4415
|
+
/* @__PURE__ */ jsx6(
|
|
3493
4416
|
Input,
|
|
3494
4417
|
{
|
|
3495
4418
|
autoFocus: true,
|
|
@@ -3508,17 +4431,17 @@ function CreateAndAttachFooter({
|
|
|
3508
4431
|
style: { fontSize: 16 }
|
|
3509
4432
|
}
|
|
3510
4433
|
),
|
|
3511
|
-
/* @__PURE__ */
|
|
4434
|
+
/* @__PURE__ */ jsx6(
|
|
3512
4435
|
"button",
|
|
3513
4436
|
{
|
|
3514
4437
|
type: "button",
|
|
3515
4438
|
disabled: busy || !name.trim(),
|
|
3516
4439
|
onClick: () => void submit(),
|
|
3517
4440
|
className: "flex h-11 items-center gap-1 rounded-md bg-primary px-2.5 text-sm font-medium text-primary-foreground transition-opacity disabled:opacity-50 md:h-8",
|
|
3518
|
-
children: busy ? /* @__PURE__ */
|
|
4441
|
+
children: busy ? /* @__PURE__ */ jsx6(SpinnerIcon, { className: "h-3.5 w-3.5 animate-spin" }) : "Create"
|
|
3519
4442
|
}
|
|
3520
4443
|
),
|
|
3521
|
-
/* @__PURE__ */
|
|
4444
|
+
/* @__PURE__ */ jsx6(
|
|
3522
4445
|
"button",
|
|
3523
4446
|
{
|
|
3524
4447
|
type: "button",
|
|
@@ -3529,13 +4452,13 @@ function CreateAndAttachFooter({
|
|
|
3529
4452
|
},
|
|
3530
4453
|
title: "Cancel",
|
|
3531
4454
|
className: "flex h-11 w-11 items-center justify-center rounded-md border border-border text-muted-foreground transition-colors hover:text-foreground disabled:opacity-50 md:h-8 md:w-8",
|
|
3532
|
-
children: /* @__PURE__ */
|
|
4455
|
+
children: /* @__PURE__ */ jsx6(XIcon2, { className: "h-4 w-4" })
|
|
3533
4456
|
}
|
|
3534
4457
|
)
|
|
3535
4458
|
] });
|
|
3536
4459
|
}
|
|
3537
4460
|
function ListMessage({ children }) {
|
|
3538
|
-
return /* @__PURE__ */
|
|
4461
|
+
return /* @__PURE__ */ jsx6("div", { className: "flex items-center justify-center gap-2 py-8 text-[13px] text-muted-foreground", children });
|
|
3539
4462
|
}
|
|
3540
4463
|
|
|
3541
4464
|
// src/react/components/UniversalAssociationPicker.tsx
|
|
@@ -3547,17 +4470,17 @@ import { CheckIcon as CheckIcon2, Maximize2Icon as Maximize2Icon2, PlusIcon as P
|
|
|
3547
4470
|
import { cn as cn4 } from "@ai-matrx/design-system";
|
|
3548
4471
|
import { ExternalLinkIcon } from "@ai-matrx/design-system/icons";
|
|
3549
4472
|
import { OutboundLink } from "@ai-matrx/kit/outbound-react";
|
|
3550
|
-
import { jsx as
|
|
4473
|
+
import { jsx as jsx7, jsxs as jsxs5 } from "react/jsx-runtime";
|
|
3551
4474
|
function DoorRef(props) {
|
|
3552
4475
|
const { onOpen, ...refProps } = props;
|
|
3553
4476
|
const { entityDoors } = useAssociationsUiPorts();
|
|
3554
4477
|
const store = useAssociationsStore();
|
|
3555
4478
|
const HostRef = entityDoors?.EntityRef;
|
|
3556
|
-
if (HostRef) return /* @__PURE__ */
|
|
4479
|
+
if (HostRef) return /* @__PURE__ */ jsx7(HostRef, { ...refProps });
|
|
3557
4480
|
const name = refProps.name ?? null;
|
|
3558
4481
|
const href = store.registry.tryGetEntityInfo(refProps.token)?.hrefFor?.(refProps.id) ?? null;
|
|
3559
4482
|
if (onOpen) {
|
|
3560
|
-
return /* @__PURE__ */
|
|
4483
|
+
return /* @__PURE__ */ jsx7(
|
|
3561
4484
|
"button",
|
|
3562
4485
|
{
|
|
3563
4486
|
type: "button",
|
|
@@ -3571,7 +4494,7 @@ function DoorRef(props) {
|
|
|
3571
4494
|
);
|
|
3572
4495
|
}
|
|
3573
4496
|
if (href) {
|
|
3574
|
-
return /* @__PURE__ */
|
|
4497
|
+
return /* @__PURE__ */ jsxs5(
|
|
3575
4498
|
"a",
|
|
3576
4499
|
{
|
|
3577
4500
|
href,
|
|
@@ -3582,19 +4505,19 @@ function DoorRef(props) {
|
|
|
3582
4505
|
refProps.className
|
|
3583
4506
|
),
|
|
3584
4507
|
children: [
|
|
3585
|
-
/* @__PURE__ */
|
|
3586
|
-
/* @__PURE__ */
|
|
4508
|
+
/* @__PURE__ */ jsx7("span", { className: "min-w-0 truncate", children: name }),
|
|
4509
|
+
/* @__PURE__ */ jsx7(ExternalLinkIcon, { className: "h-3 w-3 shrink-0 opacity-0 transition-opacity group-hover:opacity-60" })
|
|
3587
4510
|
]
|
|
3588
4511
|
}
|
|
3589
4512
|
);
|
|
3590
4513
|
}
|
|
3591
|
-
return /* @__PURE__ */
|
|
4514
|
+
return /* @__PURE__ */ jsx7("span", { className: cn4("min-w-0 truncate", refProps.className), children: name });
|
|
3592
4515
|
}
|
|
3593
4516
|
function UnresolvedRef({ token, id }) {
|
|
3594
4517
|
const { entityDoors } = useAssociationsUiPorts();
|
|
3595
4518
|
const HostUnresolved = entityDoors?.UnresolvedRef;
|
|
3596
|
-
if (HostUnresolved) return /* @__PURE__ */
|
|
3597
|
-
return /* @__PURE__ */
|
|
4519
|
+
if (HostUnresolved) return /* @__PURE__ */ jsx7(HostUnresolved, { token, id });
|
|
4520
|
+
return /* @__PURE__ */ jsx7(
|
|
3598
4521
|
"span",
|
|
3599
4522
|
{
|
|
3600
4523
|
className: "inline-flex items-center rounded border border-border/60 bg-muted/40 px-1.5 py-0.5 text-[11px] text-muted-foreground",
|
|
@@ -3607,11 +4530,11 @@ function DoorControlsSlot(props) {
|
|
|
3607
4530
|
const { entityDoors } = useAssociationsUiPorts();
|
|
3608
4531
|
const store = useAssociationsStore();
|
|
3609
4532
|
const HostControls = entityDoors?.DoorControls;
|
|
3610
|
-
if (HostControls) return /* @__PURE__ */
|
|
4533
|
+
if (HostControls) return /* @__PURE__ */ jsx7(HostControls, { ...props });
|
|
3611
4534
|
const href = store.registry.tryGetEntityInfo(props.token)?.hrefFor?.(props.id) ?? null;
|
|
3612
4535
|
if (!href) return null;
|
|
3613
4536
|
const label = props.name ? `Open ${props.name}` : `Open this ${props.token}`;
|
|
3614
|
-
return /* @__PURE__ */
|
|
4537
|
+
return /* @__PURE__ */ jsx7(
|
|
3615
4538
|
OutboundLink,
|
|
3616
4539
|
{
|
|
3617
4540
|
href,
|
|
@@ -3621,13 +4544,13 @@ function DoorControlsSlot(props) {
|
|
|
3621
4544
|
"inline-flex h-5 w-5 shrink-0 items-center justify-center rounded text-muted-foreground transition-colors hover:bg-accent hover:text-foreground",
|
|
3622
4545
|
props.className
|
|
3623
4546
|
),
|
|
3624
|
-
children: /* @__PURE__ */
|
|
4547
|
+
children: /* @__PURE__ */ jsx7(ExternalLinkIcon, { className: "h-3 w-3" })
|
|
3625
4548
|
}
|
|
3626
4549
|
);
|
|
3627
4550
|
}
|
|
3628
4551
|
|
|
3629
4552
|
// src/react/components/UniversalAssociationPicker.tsx
|
|
3630
|
-
import { jsx as
|
|
4553
|
+
import { jsx as jsx8, jsxs as jsxs6 } from "react/jsx-runtime";
|
|
3631
4554
|
function attachedKey(token, id) {
|
|
3632
4555
|
return `${token}:${id}`;
|
|
3633
4556
|
}
|
|
@@ -3682,10 +4605,10 @@ function UniversalAssociationPicker(props) {
|
|
|
3682
4605
|
groups.set(r.token, list);
|
|
3683
4606
|
}
|
|
3684
4607
|
const BrowseOverride = browseToken ? pickerOverrides?.[browseToken] : void 0;
|
|
3685
|
-
return /* @__PURE__ */
|
|
3686
|
-
/* @__PURE__ */
|
|
3687
|
-
/* @__PURE__ */
|
|
3688
|
-
/* @__PURE__ */
|
|
4608
|
+
return /* @__PURE__ */ jsxs6("div", { className: cn5("flex min-h-0 flex-1 flex-col gap-2", className), children: [
|
|
4609
|
+
/* @__PURE__ */ jsxs6("div", { className: "relative", children: [
|
|
4610
|
+
/* @__PURE__ */ jsx8(SearchIcon2, { className: "absolute left-2.5 top-1/2 h-4 w-4 -translate-y-1/2 text-muted-foreground" }),
|
|
4611
|
+
/* @__PURE__ */ jsx8(
|
|
3689
4612
|
Input2,
|
|
3690
4613
|
{
|
|
3691
4614
|
autoFocus: true,
|
|
@@ -3699,9 +4622,9 @@ function UniversalAssociationPicker(props) {
|
|
|
3699
4622
|
style: { fontSize: 16 }
|
|
3700
4623
|
}
|
|
3701
4624
|
),
|
|
3702
|
-
loading && browseToken === null && /* @__PURE__ */
|
|
4625
|
+
loading && browseToken === null && /* @__PURE__ */ jsx8(SpinnerIcon, { className: "absolute right-2.5 top-1/2 h-4 w-4 -translate-y-1/2 animate-spin text-muted-foreground" })
|
|
3703
4626
|
] }),
|
|
3704
|
-
/* @__PURE__ */
|
|
4627
|
+
/* @__PURE__ */ jsx8(
|
|
3705
4628
|
"div",
|
|
3706
4629
|
{
|
|
3707
4630
|
role: "group",
|
|
@@ -3711,7 +4634,7 @@ function UniversalAssociationPicker(props) {
|
|
|
3711
4634
|
const info = store.registry.getEntityInfo(t);
|
|
3712
4635
|
const ChipIcon = info.Icon ?? DefaultEntityIcon;
|
|
3713
4636
|
const active = browseToken === t;
|
|
3714
|
-
return /* @__PURE__ */
|
|
4637
|
+
return /* @__PURE__ */ jsxs6(
|
|
3715
4638
|
"button",
|
|
3716
4639
|
{
|
|
3717
4640
|
type: "button",
|
|
@@ -3722,7 +4645,7 @@ function UniversalAssociationPicker(props) {
|
|
|
3722
4645
|
active ? "border-primary/50 bg-primary/10 text-foreground" : "border-border text-muted-foreground hover:text-foreground hover:bg-accent"
|
|
3723
4646
|
),
|
|
3724
4647
|
children: [
|
|
3725
|
-
/* @__PURE__ */
|
|
4648
|
+
/* @__PURE__ */ jsx8(ChipIcon, { className: "h-3 w-3" }),
|
|
3726
4649
|
info.labelPlural
|
|
3727
4650
|
]
|
|
3728
4651
|
},
|
|
@@ -3735,17 +4658,17 @@ function UniversalAssociationPicker(props) {
|
|
|
3735
4658
|
// The token's canonical host picker (e.g. the stored-files browser)
|
|
3736
4659
|
// owns per-token browsing when registered — never a plain list twin.
|
|
3737
4660
|
// It opens in its own window; this body says where it went.
|
|
3738
|
-
/* @__PURE__ */
|
|
4661
|
+
/* @__PURE__ */ jsxs6(
|
|
3739
4662
|
"div",
|
|
3740
4663
|
{
|
|
3741
4664
|
role: "region",
|
|
3742
4665
|
"aria-label": `${store.registry.getEntityInfo(browseToken).labelPlural} window`,
|
|
3743
4666
|
className: "flex flex-1 flex-col items-center justify-center gap-3 px-4 py-8 text-center",
|
|
3744
4667
|
children: [
|
|
3745
|
-
/* @__PURE__ */
|
|
3746
|
-
/* @__PURE__ */
|
|
3747
|
-
/* @__PURE__ */
|
|
3748
|
-
/* @__PURE__ */
|
|
4668
|
+
/* @__PURE__ */ jsx8("p", { className: "text-sm text-foreground", children: overrideOpen ? `The ${store.registry.getEntityInfo(browseToken).labelPlural.toLowerCase()} window is open.` : `The ${store.registry.getEntityInfo(browseToken).labelPlural.toLowerCase()} window is closed.` }),
|
|
4669
|
+
/* @__PURE__ */ jsx8("p", { className: "max-w-xs text-[12px] text-muted-foreground", children: overrideOpen ? "Check items there to attach them; uncheck to detach. Changes save as you go." : "Reopen it to pick more, or go back to search everything." }),
|
|
4670
|
+
/* @__PURE__ */ jsxs6("div", { className: "flex flex-wrap items-center justify-center gap-2", children: [
|
|
4671
|
+
/* @__PURE__ */ jsxs6(
|
|
3749
4672
|
Button,
|
|
3750
4673
|
{
|
|
3751
4674
|
type: "button",
|
|
@@ -3756,12 +4679,12 @@ function UniversalAssociationPicker(props) {
|
|
|
3756
4679
|
setOverrideMount((n) => n + 1);
|
|
3757
4680
|
},
|
|
3758
4681
|
children: [
|
|
3759
|
-
/* @__PURE__ */
|
|
4682
|
+
/* @__PURE__ */ jsx8(Maximize2Icon2, { className: "mr-1.5 h-3.5 w-3.5" }),
|
|
3760
4683
|
overrideOpen ? "Bring window to front" : "Reopen window"
|
|
3761
4684
|
]
|
|
3762
4685
|
}
|
|
3763
4686
|
),
|
|
3764
|
-
/* @__PURE__ */
|
|
4687
|
+
/* @__PURE__ */ jsx8(
|
|
3765
4688
|
Button,
|
|
3766
4689
|
{
|
|
3767
4690
|
type: "button",
|
|
@@ -3772,7 +4695,7 @@ function UniversalAssociationPicker(props) {
|
|
|
3772
4695
|
}
|
|
3773
4696
|
)
|
|
3774
4697
|
] }),
|
|
3775
|
-
overrideOpen && /* @__PURE__ */
|
|
4698
|
+
overrideOpen && /* @__PURE__ */ jsx8(
|
|
3776
4699
|
BrowseOverride,
|
|
3777
4700
|
{
|
|
3778
4701
|
open: true,
|
|
@@ -3792,7 +4715,7 @@ function UniversalAssociationPicker(props) {
|
|
|
3792
4715
|
]
|
|
3793
4716
|
}
|
|
3794
4717
|
)
|
|
3795
|
-
) : browseToken ? /* @__PURE__ */
|
|
4718
|
+
) : browseToken ? /* @__PURE__ */ jsx8("div", { className: "flex min-h-0 flex-1 flex-col", children: /* @__PURE__ */ jsx8(
|
|
3796
4719
|
AssociationCandidateBody,
|
|
3797
4720
|
{
|
|
3798
4721
|
token: browseToken,
|
|
@@ -3805,13 +4728,13 @@ function UniversalAssociationPicker(props) {
|
|
|
3805
4728
|
onAttach: (id, title) => onAttach(browseToken, id, title),
|
|
3806
4729
|
onDetach: (id) => onDetach(browseToken, id)
|
|
3807
4730
|
}
|
|
3808
|
-
) }) : /* @__PURE__ */
|
|
4731
|
+
) }) : /* @__PURE__ */ jsx8(
|
|
3809
4732
|
"div",
|
|
3810
4733
|
{
|
|
3811
4734
|
role: "region",
|
|
3812
4735
|
"aria-label": "Association search results",
|
|
3813
4736
|
className: "-mx-1 min-h-24 flex-1 overflow-y-auto overscroll-contain px-1",
|
|
3814
|
-
children: error ? /* @__PURE__ */
|
|
4737
|
+
children: error ? /* @__PURE__ */ jsx8(
|
|
3815
4738
|
SearchFailureNotice,
|
|
3816
4739
|
{
|
|
3817
4740
|
error,
|
|
@@ -3819,8 +4742,8 @@ function UniversalAssociationPicker(props) {
|
|
|
3819
4742
|
operation: "Search to attach",
|
|
3820
4743
|
origin: "associations/UniversalAssociationPicker"
|
|
3821
4744
|
}
|
|
3822
|
-
) : results.length === 0 && failures.length === 0 ? /* @__PURE__ */
|
|
3823
|
-
/* @__PURE__ */
|
|
4745
|
+
) : results.length === 0 && failures.length === 0 ? /* @__PURE__ */ jsx8("p", { className: "py-6 text-center text-[12px] text-muted-foreground", children: loading ? "Searching\u2026" : query.trim() ? "No matches \u2014 narrow with a type chip to browse." : "Nothing to attach yet. Type to search, or pick a type to browse." }) : /* @__PURE__ */ jsxs6("div", { className: "space-y-2", children: [
|
|
4746
|
+
/* @__PURE__ */ jsx8(
|
|
3824
4747
|
SearchFailureNotice,
|
|
3825
4748
|
{
|
|
3826
4749
|
error: null,
|
|
@@ -3829,20 +4752,20 @@ function UniversalAssociationPicker(props) {
|
|
|
3829
4752
|
origin: "associations/UniversalAssociationPicker"
|
|
3830
4753
|
}
|
|
3831
4754
|
),
|
|
3832
|
-
source !== "search" && results.length > 0 && /* @__PURE__ */
|
|
4755
|
+
source !== "search" && results.length > 0 && /* @__PURE__ */ jsx8("p", { className: "px-1 text-[10px] font-medium uppercase tracking-wider text-muted-foreground/60", children: source === "recents" ? "Recent" : "Browse" }),
|
|
3833
4756
|
[...groups.entries()].map(([token, items]) => {
|
|
3834
4757
|
const info = store.registry.getEntityInfo(token);
|
|
3835
4758
|
const GroupIcon = info.Icon ?? DefaultEntityIcon;
|
|
3836
|
-
return /* @__PURE__ */
|
|
3837
|
-
/* @__PURE__ */
|
|
3838
|
-
/* @__PURE__ */
|
|
4759
|
+
return /* @__PURE__ */ jsxs6("div", { className: "space-y-0.5", children: [
|
|
4760
|
+
/* @__PURE__ */ jsxs6("p", { className: "flex items-center gap-1 px-1 text-[10px] font-medium uppercase tracking-wider text-muted-foreground/70", children: [
|
|
4761
|
+
/* @__PURE__ */ jsx8(GroupIcon, { className: "h-3 w-3" }),
|
|
3839
4762
|
info.labelPlural
|
|
3840
4763
|
] }),
|
|
3841
|
-
/* @__PURE__ */
|
|
4764
|
+
/* @__PURE__ */ jsx8("ul", { className: "space-y-0.5", children: items.map((c) => {
|
|
3842
4765
|
const key = attachedKey(c.token, c.id);
|
|
3843
4766
|
const attached = attachedKeys.has(key);
|
|
3844
4767
|
const busy = busyKey === key;
|
|
3845
|
-
return /* @__PURE__ */
|
|
4768
|
+
return /* @__PURE__ */ jsxs6(
|
|
3846
4769
|
"li",
|
|
3847
4770
|
{
|
|
3848
4771
|
className: cn5(
|
|
@@ -3851,7 +4774,7 @@ function UniversalAssociationPicker(props) {
|
|
|
3851
4774
|
attached && "bg-accent/40"
|
|
3852
4775
|
),
|
|
3853
4776
|
children: [
|
|
3854
|
-
/* @__PURE__ */
|
|
4777
|
+
/* @__PURE__ */ jsxs6(
|
|
3855
4778
|
"button",
|
|
3856
4779
|
{
|
|
3857
4780
|
type: "button",
|
|
@@ -3863,21 +4786,21 @@ function UniversalAssociationPicker(props) {
|
|
|
3863
4786
|
"disabled:opacity-50"
|
|
3864
4787
|
),
|
|
3865
4788
|
children: [
|
|
3866
|
-
/* @__PURE__ */
|
|
3867
|
-
/* @__PURE__ */
|
|
4789
|
+
/* @__PURE__ */ jsx8("span", { className: "min-w-0 flex-1 truncate text-foreground", children: c.title }),
|
|
4790
|
+
/* @__PURE__ */ jsx8(
|
|
3868
4791
|
"span",
|
|
3869
4792
|
{
|
|
3870
4793
|
className: cn5(
|
|
3871
4794
|
"flex h-5 w-5 shrink-0 items-center justify-center rounded-full",
|
|
3872
4795
|
attached ? "bg-primary text-primary-foreground" : "border border-border text-muted-foreground group-hover:border-primary/60"
|
|
3873
4796
|
),
|
|
3874
|
-
children: busy ? /* @__PURE__ */
|
|
4797
|
+
children: busy ? /* @__PURE__ */ jsx8(SpinnerIcon, { className: "h-3 w-3 animate-spin" }) : attached ? /* @__PURE__ */ jsx8(CheckIcon2, { className: "h-3 w-3" }) : /* @__PURE__ */ jsx8(PlusIcon2, { className: "h-3 w-3" })
|
|
3875
4798
|
}
|
|
3876
4799
|
)
|
|
3877
4800
|
]
|
|
3878
4801
|
}
|
|
3879
4802
|
),
|
|
3880
|
-
/* @__PURE__ */
|
|
4803
|
+
/* @__PURE__ */ jsx8(
|
|
3881
4804
|
DoorControlsSlot,
|
|
3882
4805
|
{
|
|
3883
4806
|
token: c.token,
|
|
@@ -3902,7 +4825,7 @@ function UniversalAssociationPicker(props) {
|
|
|
3902
4825
|
import { useEffect as useEffect9, useState as useState8 } from "react";
|
|
3903
4826
|
import { cn as cn6 } from "@ai-matrx/design-system";
|
|
3904
4827
|
import { PinIcon, PlusIcon as PlusIcon3, XIcon as XIcon3 } from "@ai-matrx/design-system/icons";
|
|
3905
|
-
import { Fragment as Fragment2, jsx as
|
|
4828
|
+
import { Fragment as Fragment2, jsx as jsx9, jsxs as jsxs7 } from "react/jsx-runtime";
|
|
3906
4829
|
function metadataIsPinned(metadata) {
|
|
3907
4830
|
return metadata !== null && typeof metadata === "object" && !Array.isArray(metadata) && Reflect.get(metadata, "pinned") === true;
|
|
3908
4831
|
}
|
|
@@ -3913,9 +4836,9 @@ function AttachedItemsSheet(props) {
|
|
|
3913
4836
|
const title = info.labelPlural;
|
|
3914
4837
|
const containerName = props.container?.label ?? props.containerLabel;
|
|
3915
4838
|
const filing = props.container?.direction === "outgoing";
|
|
3916
|
-
const subtitle = props.container ? /* @__PURE__ */
|
|
4839
|
+
const subtitle = props.container ? /* @__PURE__ */ jsxs7("span", { className: "inline-flex min-w-0 max-w-full items-center gap-1", children: [
|
|
3917
4840
|
filing ? "What this is filed under:" : "Attached to",
|
|
3918
|
-
/* @__PURE__ */
|
|
4841
|
+
/* @__PURE__ */ jsx9(
|
|
3919
4842
|
DoorRef,
|
|
3920
4843
|
{
|
|
3921
4844
|
token: props.container.type,
|
|
@@ -3926,16 +4849,16 @@ function AttachedItemsSheet(props) {
|
|
|
3926
4849
|
)
|
|
3927
4850
|
] }) : props.containerLabel ? `Attached to ${props.containerLabel}` : "Attached items";
|
|
3928
4851
|
if (!props.open) return null;
|
|
3929
|
-
return /* @__PURE__ */
|
|
4852
|
+
return /* @__PURE__ */ jsx9(
|
|
3930
4853
|
AssociationWindow,
|
|
3931
4854
|
{
|
|
3932
4855
|
open: props.open,
|
|
3933
4856
|
onClose: () => props.onOpenChange(false),
|
|
3934
4857
|
scopeId: `attached:${props.token}`,
|
|
3935
4858
|
title,
|
|
3936
|
-
icon: /* @__PURE__ */
|
|
4859
|
+
icon: /* @__PURE__ */ jsx9(Icon, { className: "size-3.5 text-primary" }),
|
|
3937
4860
|
subtitle,
|
|
3938
|
-
children: /* @__PURE__ */
|
|
4861
|
+
children: /* @__PURE__ */ jsx9(
|
|
3939
4862
|
AttachedItemsBody,
|
|
3940
4863
|
{
|
|
3941
4864
|
token: props.token,
|
|
@@ -4024,31 +4947,31 @@ function AttachedItemsBody({
|
|
|
4024
4947
|
setBusyId(null);
|
|
4025
4948
|
}
|
|
4026
4949
|
};
|
|
4027
|
-
return /* @__PURE__ */
|
|
4028
|
-
titleError ? /* @__PURE__ */
|
|
4950
|
+
return /* @__PURE__ */ jsxs7(Fragment2, { children: [
|
|
4951
|
+
titleError ? /* @__PURE__ */ jsxs7("div", { className: "mb-2 rounded-md border border-destructive/40 bg-destructive/10 px-3 py-2 text-[12px] text-destructive", children: [
|
|
4029
4952
|
"Showing names recorded at attach time \u2014 they may be out of date.",
|
|
4030
4953
|
" ",
|
|
4031
4954
|
titleError
|
|
4032
4955
|
] }) : null,
|
|
4033
|
-
/* @__PURE__ */
|
|
4034
|
-
/* @__PURE__ */
|
|
4956
|
+
/* @__PURE__ */ jsx9("div", { className: "flex-1 min-h-0 overflow-y-auto -mx-1 px-1", children: links.length === 0 ? /* @__PURE__ */ jsx9("div", { className: "flex items-center justify-center py-8 text-[13px] text-muted-foreground", children: "Nothing attached yet." }) : titles === null ? /* @__PURE__ */ jsxs7("div", { className: "flex items-center justify-center gap-2 py-8 text-[13px] text-muted-foreground", children: [
|
|
4957
|
+
/* @__PURE__ */ jsx9(SpinnerIcon, { className: "h-4 w-4 animate-spin" }),
|
|
4035
4958
|
"Loading\u2026"
|
|
4036
|
-
] }) : /* @__PURE__ */
|
|
4959
|
+
] }) : /* @__PURE__ */ jsx9("ul", { className: "space-y-0.5", children: links.map((link) => {
|
|
4037
4960
|
const resolved = titles.get(link.resourceId);
|
|
4038
4961
|
const missing = !titles.has(link.resourceId);
|
|
4039
4962
|
const name = resolved ?? link.label ?? (missing ? null : "Untitled");
|
|
4040
4963
|
const busy = busyId === link.resourceId;
|
|
4041
4964
|
const pinned = metadataIsPinned(link.metadata);
|
|
4042
|
-
return /* @__PURE__ */
|
|
4965
|
+
return /* @__PURE__ */ jsxs7(
|
|
4043
4966
|
"li",
|
|
4044
4967
|
{
|
|
4045
4968
|
className: "group/entity-ref group flex items-center gap-2 rounded-md px-2.5 py-2 text-sm transition-colors hover:bg-accent",
|
|
4046
4969
|
children: [
|
|
4047
|
-
/* @__PURE__ */
|
|
4048
|
-
/* @__PURE__ */
|
|
4970
|
+
/* @__PURE__ */ jsx9(Icon, { className: "h-4 w-4 shrink-0 text-muted-foreground" }),
|
|
4971
|
+
/* @__PURE__ */ jsx9("span", { className: "flex-1 min-w-0 truncate", children: name === null ? (
|
|
4049
4972
|
// The X beside the row stays the one-click detach.
|
|
4050
|
-
/* @__PURE__ */
|
|
4051
|
-
) : /* @__PURE__ */
|
|
4973
|
+
/* @__PURE__ */ jsx9(UnresolvedRef, { token, id: link.resourceId })
|
|
4974
|
+
) : /* @__PURE__ */ jsx9(
|
|
4052
4975
|
DoorRef,
|
|
4053
4976
|
{
|
|
4054
4977
|
token,
|
|
@@ -4058,7 +4981,7 @@ function AttachedItemsBody({
|
|
|
4058
4981
|
className: "text-foreground"
|
|
4059
4982
|
}
|
|
4060
4983
|
) }),
|
|
4061
|
-
onSetPinned ? /* @__PURE__ */
|
|
4984
|
+
onSetPinned ? /* @__PURE__ */ jsx9(
|
|
4062
4985
|
"button",
|
|
4063
4986
|
{
|
|
4064
4987
|
type: "button",
|
|
@@ -4070,7 +4993,7 @@ function AttachedItemsBody({
|
|
|
4070
4993
|
"flex h-6 w-6 shrink-0 items-center justify-center rounded-md transition-colors hover:bg-accent hover:text-foreground disabled:opacity-50",
|
|
4071
4994
|
pinned ? "text-primary" : "text-muted-foreground"
|
|
4072
4995
|
),
|
|
4073
|
-
children: /* @__PURE__ */
|
|
4996
|
+
children: /* @__PURE__ */ jsx9(
|
|
4074
4997
|
PinIcon,
|
|
4075
4998
|
{
|
|
4076
4999
|
className: cn6(
|
|
@@ -4081,7 +5004,7 @@ function AttachedItemsBody({
|
|
|
4081
5004
|
)
|
|
4082
5005
|
}
|
|
4083
5006
|
) : null,
|
|
4084
|
-
/* @__PURE__ */
|
|
5007
|
+
/* @__PURE__ */ jsx9(
|
|
4085
5008
|
"button",
|
|
4086
5009
|
{
|
|
4087
5010
|
type: "button",
|
|
@@ -4092,7 +5015,7 @@ function AttachedItemsBody({
|
|
|
4092
5015
|
"flex h-6 w-6 shrink-0 items-center justify-center rounded-md text-muted-foreground transition-colors",
|
|
4093
5016
|
"hover:bg-destructive/10 hover:text-destructive disabled:opacity-50"
|
|
4094
5017
|
),
|
|
4095
|
-
children: busy ? /* @__PURE__ */
|
|
5018
|
+
children: busy ? /* @__PURE__ */ jsx9(SpinnerIcon, { className: "h-3.5 w-3.5 animate-spin" }) : /* @__PURE__ */ jsx9(XIcon3, { className: "h-3.5 w-3.5" })
|
|
4096
5019
|
}
|
|
4097
5020
|
)
|
|
4098
5021
|
]
|
|
@@ -4100,14 +5023,14 @@ function AttachedItemsBody({
|
|
|
4100
5023
|
link.edgeId
|
|
4101
5024
|
);
|
|
4102
5025
|
}) }) }),
|
|
4103
|
-
onAdd ? /* @__PURE__ */
|
|
5026
|
+
onAdd ? /* @__PURE__ */ jsxs7(
|
|
4104
5027
|
"button",
|
|
4105
5028
|
{
|
|
4106
5029
|
type: "button",
|
|
4107
5030
|
onClick: onAdd,
|
|
4108
5031
|
className: "mt-2 flex w-full items-center justify-center gap-1.5 rounded-md border border-border px-3 py-2 text-sm text-muted-foreground transition-colors hover:border-primary/60 hover:text-foreground",
|
|
4109
5032
|
children: [
|
|
4110
|
-
/* @__PURE__ */
|
|
5033
|
+
/* @__PURE__ */ jsx9(PlusIcon3, { className: "h-4 w-4" }),
|
|
4111
5034
|
"Attach ",
|
|
4112
5035
|
info.labelPlural.toLowerCase()
|
|
4113
5036
|
]
|
|
@@ -4170,7 +5093,7 @@ function getContentRoleMeta(role) {
|
|
|
4170
5093
|
|
|
4171
5094
|
// src/react/components/AssociationCard.tsx
|
|
4172
5095
|
import { PlusIcon as PlusIcon4 } from "@ai-matrx/design-system/icons";
|
|
4173
|
-
import { Fragment as Fragment3, jsx as
|
|
5096
|
+
import { Fragment as Fragment3, jsx as jsx10, jsxs as jsxs8 } from "react/jsx-runtime";
|
|
4174
5097
|
function AssociationCard({
|
|
4175
5098
|
token,
|
|
4176
5099
|
container: containerProp,
|
|
@@ -4209,7 +5132,7 @@ function AssociationCard({
|
|
|
4209
5132
|
const canDrillIn = count > 0;
|
|
4210
5133
|
const countWord = filing ? "filed under" : "attached";
|
|
4211
5134
|
const drillTitle = canDrillIn ? `View the ${info.labelPlural.toLowerCase()} attached to ${container.label ?? "this"}` : void 0;
|
|
4212
|
-
return /* @__PURE__ */
|
|
5135
|
+
return /* @__PURE__ */ jsxs8(Fragment3, { children: [
|
|
4213
5136
|
look !== "tiles" ? (
|
|
4214
5137
|
// ONE-LINE LOOKS (opt-in, off by default): small icon, UPPERCASE name,
|
|
4215
5138
|
// count, then the "+".
|
|
@@ -4221,7 +5144,7 @@ function AssociationCard({
|
|
|
4221
5144
|
// so the tap target's own 44px box centers the 28px circle with
|
|
4222
5145
|
// 8px on every side. Never pass a layout class to a tap button —
|
|
4223
5146
|
// its className lands on the ICON (the 2026-09-27 crooked "+").
|
|
4224
|
-
/* @__PURE__ */
|
|
5147
|
+
/* @__PURE__ */ jsxs8(
|
|
4225
5148
|
"div",
|
|
4226
5149
|
{
|
|
4227
5150
|
"data-association-card": token,
|
|
@@ -4232,7 +5155,7 @@ function AssociationCard({
|
|
|
4232
5155
|
className
|
|
4233
5156
|
),
|
|
4234
5157
|
children: [
|
|
4235
|
-
/* @__PURE__ */
|
|
5158
|
+
/* @__PURE__ */ jsxs8(
|
|
4236
5159
|
"button",
|
|
4237
5160
|
{
|
|
4238
5161
|
type: "button",
|
|
@@ -4245,13 +5168,13 @@ function AssociationCard({
|
|
|
4245
5168
|
canDrillIn ? "cursor-pointer hover:text-foreground" : "cursor-default"
|
|
4246
5169
|
),
|
|
4247
5170
|
children: [
|
|
4248
|
-
/* @__PURE__ */
|
|
4249
|
-
/* @__PURE__ */
|
|
4250
|
-
loading ? /* @__PURE__ */
|
|
5171
|
+
/* @__PURE__ */ jsx10(Icon, { className: "h-3.5 w-3.5 shrink-0 text-muted-foreground" }),
|
|
5172
|
+
/* @__PURE__ */ jsx10("span", { className: "min-w-0 truncate text-xs font-semibold uppercase tracking-wider text-foreground", children: info.labelPlural }),
|
|
5173
|
+
loading ? /* @__PURE__ */ jsx10(SpinnerIcon, { className: "h-3 w-3 animate-spin text-muted-foreground" }) : /* @__PURE__ */ jsx10("span", { className: "text-xs tabular-nums text-muted-foreground", children: count })
|
|
4251
5174
|
]
|
|
4252
5175
|
}
|
|
4253
5176
|
),
|
|
4254
|
-
canAttach && (look === "compact" ? /* @__PURE__ */
|
|
5177
|
+
canAttach && (look === "compact" ? /* @__PURE__ */ jsx10(
|
|
4255
5178
|
PlusTapButton,
|
|
4256
5179
|
{
|
|
4257
5180
|
variant: "outline",
|
|
@@ -4259,7 +5182,7 @@ function AssociationCard({
|
|
|
4259
5182
|
tooltip: false,
|
|
4260
5183
|
onClick: () => setOpen(true)
|
|
4261
5184
|
}
|
|
4262
|
-
) : /* @__PURE__ */
|
|
5185
|
+
) : /* @__PURE__ */ jsx10(
|
|
4263
5186
|
"button",
|
|
4264
5187
|
{
|
|
4265
5188
|
type: "button",
|
|
@@ -4267,13 +5190,13 @@ function AssociationCard({
|
|
|
4267
5190
|
"aria-label": `Attach ${info.labelPlural.toLowerCase()}`,
|
|
4268
5191
|
title: `Attach ${info.labelPlural.toLowerCase()}`,
|
|
4269
5192
|
className: "flex h-11 w-11 shrink-0 items-center justify-center rounded-md border border-border text-muted-foreground transition-colors hover:border-primary/60 hover:text-foreground lg:h-7 lg:w-7",
|
|
4270
|
-
children: /* @__PURE__ */
|
|
5193
|
+
children: /* @__PURE__ */ jsx10(PlusIcon4, { className: "h-4 w-4" })
|
|
4271
5194
|
}
|
|
4272
5195
|
))
|
|
4273
5196
|
]
|
|
4274
5197
|
}
|
|
4275
5198
|
)
|
|
4276
|
-
) : /* @__PURE__ */
|
|
5199
|
+
) : /* @__PURE__ */ jsxs8(
|
|
4277
5200
|
"div",
|
|
4278
5201
|
{
|
|
4279
5202
|
"data-association-card": token,
|
|
@@ -4283,7 +5206,7 @@ function AssociationCard({
|
|
|
4283
5206
|
className
|
|
4284
5207
|
),
|
|
4285
5208
|
children: [
|
|
4286
|
-
/* @__PURE__ */
|
|
5209
|
+
/* @__PURE__ */ jsx10(
|
|
4287
5210
|
"span",
|
|
4288
5211
|
{
|
|
4289
5212
|
className: cn7(
|
|
@@ -4292,7 +5215,7 @@ function AssociationCard({
|
|
|
4292
5215
|
)
|
|
4293
5216
|
}
|
|
4294
5217
|
),
|
|
4295
|
-
/* @__PURE__ */
|
|
5218
|
+
/* @__PURE__ */ jsxs8(
|
|
4296
5219
|
"button",
|
|
4297
5220
|
{
|
|
4298
5221
|
type: "button",
|
|
@@ -4304,7 +5227,7 @@ function AssociationCard({
|
|
|
4304
5227
|
canDrillIn ? "cursor-pointer" : "cursor-default"
|
|
4305
5228
|
),
|
|
4306
5229
|
children: [
|
|
4307
|
-
/* @__PURE__ */
|
|
5230
|
+
/* @__PURE__ */ jsx10(
|
|
4308
5231
|
"span",
|
|
4309
5232
|
{
|
|
4310
5233
|
className: cn7(
|
|
@@ -4312,20 +5235,20 @@ function AssociationCard({
|
|
|
4312
5235
|
role.accentBg,
|
|
4313
5236
|
role.accentText
|
|
4314
5237
|
),
|
|
4315
|
-
children: /* @__PURE__ */
|
|
5238
|
+
children: /* @__PURE__ */ jsx10(Icon, { className: "h-4 w-4" })
|
|
4316
5239
|
}
|
|
4317
5240
|
),
|
|
4318
|
-
/* @__PURE__ */
|
|
4319
|
-
/* @__PURE__ */
|
|
4320
|
-
/* @__PURE__ */
|
|
4321
|
-
/* @__PURE__ */
|
|
5241
|
+
/* @__PURE__ */ jsxs8("span", { className: "min-w-0 flex-1", children: [
|
|
5242
|
+
/* @__PURE__ */ jsx10("span", { className: "block truncate text-sm font-medium text-foreground", children: info.labelPlural }),
|
|
5243
|
+
/* @__PURE__ */ jsx10("span", { className: "block text-xs text-muted-foreground tabular-nums", children: loading ? /* @__PURE__ */ jsxs8("span", { className: "inline-flex items-center gap-1", children: [
|
|
5244
|
+
/* @__PURE__ */ jsx10(SpinnerIcon, { className: "h-3 w-3 animate-spin" }),
|
|
4322
5245
|
"Loading\u2026"
|
|
4323
5246
|
] }) : `${count} ${countWord}` })
|
|
4324
5247
|
] })
|
|
4325
5248
|
]
|
|
4326
5249
|
}
|
|
4327
5250
|
),
|
|
4328
|
-
canAttach && /* @__PURE__ */
|
|
5251
|
+
canAttach && /* @__PURE__ */ jsx10(
|
|
4329
5252
|
"button",
|
|
4330
5253
|
{
|
|
4331
5254
|
type: "button",
|
|
@@ -4333,13 +5256,13 @@ function AssociationCard({
|
|
|
4333
5256
|
"aria-label": `Attach ${info.labelPlural.toLowerCase()}`,
|
|
4334
5257
|
title: `Attach ${info.labelPlural.toLowerCase()}`,
|
|
4335
5258
|
className: "mr-2 flex h-11 w-11 shrink-0 items-center justify-center rounded-md border border-border text-muted-foreground transition-colors hover:border-primary/60 hover:text-foreground lg:mr-3 lg:h-7 lg:w-7",
|
|
4336
|
-
children: /* @__PURE__ */
|
|
5259
|
+
children: /* @__PURE__ */ jsx10(PlusIcon4, { className: "h-4 w-4" })
|
|
4337
5260
|
}
|
|
4338
5261
|
)
|
|
4339
5262
|
]
|
|
4340
5263
|
}
|
|
4341
5264
|
),
|
|
4342
|
-
listOpen && /* @__PURE__ */
|
|
5265
|
+
listOpen && /* @__PURE__ */ jsx10(
|
|
4343
5266
|
AttachedItemsSheet,
|
|
4344
5267
|
{
|
|
4345
5268
|
open: listOpen,
|
|
@@ -4358,7 +5281,7 @@ function AssociationCard({
|
|
|
4358
5281
|
onSetPinned: (resourceId, pinned, role2) => setPinned(token, resourceId, pinned, role2 ?? void 0)
|
|
4359
5282
|
}
|
|
4360
5283
|
),
|
|
4361
|
-
canAttach && /* @__PURE__ */
|
|
5284
|
+
canAttach && /* @__PURE__ */ jsx10(
|
|
4362
5285
|
AssociationPicker,
|
|
4363
5286
|
{
|
|
4364
5287
|
open,
|
|
@@ -4377,7 +5300,7 @@ function AssociationCard({
|
|
|
4377
5300
|
|
|
4378
5301
|
// src/react/components/AssociationCardGrid.tsx
|
|
4379
5302
|
import { cn as cn8 } from "@ai-matrx/design-system";
|
|
4380
|
-
import { jsx as
|
|
5303
|
+
import { jsx as jsx11, jsxs as jsxs9 } from "react/jsx-runtime";
|
|
4381
5304
|
var SIMPLE_GROUP_LABEL = "mb-1 text-xs font-medium uppercase tracking-wider text-muted-foreground";
|
|
4382
5305
|
var SIMPLE_TILE_ROW = "flex flex-wrap gap-2 [&>*]:min-w-[16rem] [&>*]:flex-1";
|
|
4383
5306
|
var TILE_GRID = "grid grid-cols-1 gap-2 @md:grid-cols-2 @3xl:grid-cols-3";
|
|
@@ -4386,11 +5309,11 @@ function GroupHeader({
|
|
|
4386
5309
|
title,
|
|
4387
5310
|
dotClassName
|
|
4388
5311
|
}) {
|
|
4389
|
-
if (look !== "tiles") return /* @__PURE__ */
|
|
4390
|
-
return /* @__PURE__ */
|
|
4391
|
-
/* @__PURE__ */
|
|
4392
|
-
/* @__PURE__ */
|
|
4393
|
-
] }) : /* @__PURE__ */
|
|
5312
|
+
if (look !== "tiles") return /* @__PURE__ */ jsx11("h3", { className: SIMPLE_GROUP_LABEL, children: title });
|
|
5313
|
+
return /* @__PURE__ */ jsx11("div", { className: "mb-2.5 flex items-baseline gap-3 pl-1.5", children: dotClassName ? /* @__PURE__ */ jsxs9("div", { className: "flex items-center gap-2", children: [
|
|
5314
|
+
/* @__PURE__ */ jsx11("span", { className: cn8("h-2.5 w-2.5 rounded-full", dotClassName) }),
|
|
5315
|
+
/* @__PURE__ */ jsx11("h3", { className: "text-sm font-semibold text-foreground", children: title })
|
|
5316
|
+
] }) : /* @__PURE__ */ jsx11("h3", { className: "text-sm font-semibold text-foreground", children: title }) });
|
|
4394
5317
|
}
|
|
4395
5318
|
function AssociationCardGrid({
|
|
4396
5319
|
tokens,
|
|
@@ -4403,13 +5326,13 @@ function AssociationCardGrid({
|
|
|
4403
5326
|
const excluded = new Set(excludeTokens ?? []);
|
|
4404
5327
|
const filing = primary?.direction === "outgoing";
|
|
4405
5328
|
const links = useContainerLinks(containerLinksArgs(primary));
|
|
4406
|
-
const
|
|
5329
|
+
const base = tokens ?? store.registry.curatedTokens();
|
|
4407
5330
|
const withPresent = filing ? [
|
|
4408
|
-
...
|
|
5331
|
+
...base,
|
|
4409
5332
|
...links.presentTokens.filter(
|
|
4410
|
-
(t) => isEntityTypeToken(t) && !
|
|
5333
|
+
(t) => isEntityTypeToken(t) && !base.includes(t)
|
|
4411
5334
|
)
|
|
4412
|
-
] :
|
|
5335
|
+
] : base;
|
|
4413
5336
|
const list = withPresent.filter(
|
|
4414
5337
|
(token) => !excluded.has(token) && (!filing || isAssociationTargetType(token))
|
|
4415
5338
|
);
|
|
@@ -4419,7 +5342,7 @@ function AssociationCardGrid({
|
|
|
4419
5342
|
return !role || !roleIds.has(role);
|
|
4420
5343
|
}) : [];
|
|
4421
5344
|
const rowClass = look !== "tiles" ? SIMPLE_TILE_ROW : TILE_GRID;
|
|
4422
|
-
return /* @__PURE__ */
|
|
5345
|
+
return /* @__PURE__ */ jsxs9(
|
|
4423
5346
|
"div",
|
|
4424
5347
|
{
|
|
4425
5348
|
"data-association-grid-look": look,
|
|
@@ -4430,8 +5353,8 @@ function AssociationCardGrid({
|
|
|
4430
5353
|
(token) => store.registry.getEntityInfo(token).contentRole === role.id
|
|
4431
5354
|
);
|
|
4432
5355
|
if (inRole.length === 0) return null;
|
|
4433
|
-
return /* @__PURE__ */
|
|
4434
|
-
/* @__PURE__ */
|
|
5356
|
+
return /* @__PURE__ */ jsxs9("section", { children: [
|
|
5357
|
+
/* @__PURE__ */ jsx11(
|
|
4435
5358
|
GroupHeader,
|
|
4436
5359
|
{
|
|
4437
5360
|
look,
|
|
@@ -4439,18 +5362,18 @@ function AssociationCardGrid({
|
|
|
4439
5362
|
dotClassName: role.accentBar
|
|
4440
5363
|
}
|
|
4441
5364
|
),
|
|
4442
|
-
/* @__PURE__ */
|
|
5365
|
+
/* @__PURE__ */ jsx11("div", { className: rowClass, children: inRole.map((token) => /* @__PURE__ */ jsx11(AssociationCard, { token, look }, token)) })
|
|
4443
5366
|
] }, role.id);
|
|
4444
5367
|
}),
|
|
4445
|
-
roleless.length > 0 && /* @__PURE__ */
|
|
4446
|
-
/* @__PURE__ */
|
|
5368
|
+
roleless.length > 0 && /* @__PURE__ */ jsxs9("section", { children: [
|
|
5369
|
+
/* @__PURE__ */ jsx11(
|
|
4447
5370
|
GroupHeader,
|
|
4448
5371
|
{
|
|
4449
5372
|
look,
|
|
4450
5373
|
title: "Filed under"
|
|
4451
5374
|
}
|
|
4452
5375
|
),
|
|
4453
|
-
/* @__PURE__ */
|
|
5376
|
+
/* @__PURE__ */ jsx11("div", { className: rowClass, children: roleless.map((token) => /* @__PURE__ */ jsx11(AssociationCard, { token, look }, token)) })
|
|
4454
5377
|
] })
|
|
4455
5378
|
]
|
|
4456
5379
|
}
|
|
@@ -4462,7 +5385,7 @@ import { useState as useState10 } from "react";
|
|
|
4462
5385
|
import { cn as cn9, Skeleton } from "@ai-matrx/design-system";
|
|
4463
5386
|
import { PinIcon as PinIcon2, PlusIcon as PlusIcon5, XIcon as XIcon4 } from "@ai-matrx/design-system/icons";
|
|
4464
5387
|
import { openOutbound } from "@ai-matrx/kit/outbound";
|
|
4465
|
-
import { jsx as
|
|
5388
|
+
import { jsx as jsx12, jsxs as jsxs10 } from "react/jsx-runtime";
|
|
4466
5389
|
function metadataIsPinned2(metadata) {
|
|
4467
5390
|
return metadata !== null && typeof metadata === "object" && !Array.isArray(metadata) && Reflect.get(metadata, "pinned") === true;
|
|
4468
5391
|
}
|
|
@@ -4573,15 +5496,15 @@ function AssociationList(props) {
|
|
|
4573
5496
|
const grouped = groupRows(store, visibleRows);
|
|
4574
5497
|
const isLoading = adapter.status === "loading" || adapter.status === "idle";
|
|
4575
5498
|
const attachableTokens = tokenFilter ?? store.registry.listableTokens();
|
|
4576
|
-
return /* @__PURE__ */
|
|
4577
|
-
/* @__PURE__ */
|
|
4578
|
-
props.title === null ? null : /* @__PURE__ */
|
|
4579
|
-
/* @__PURE__ */
|
|
5499
|
+
return /* @__PURE__ */ jsxs10("div", { className: cn9("flex flex-col gap-2 text-foreground", props.className), children: [
|
|
5500
|
+
/* @__PURE__ */ jsxs10("div", { className: cn9("flex items-center gap-2 px-1", props.title === null ? "justify-end" : "justify-between"), children: [
|
|
5501
|
+
props.title === null ? null : /* @__PURE__ */ jsxs10("h3", { className: "flex items-center gap-1.5 text-xs font-semibold uppercase tracking-wide text-muted-foreground", children: [
|
|
5502
|
+
/* @__PURE__ */ jsx12(Link2Icon, { className: "h-3.5 w-3.5" }),
|
|
4580
5503
|
props.title ?? "Resources",
|
|
4581
|
-
visibleRows.length > 0 && /* @__PURE__ */
|
|
5504
|
+
visibleRows.length > 0 && /* @__PURE__ */ jsx12("span", { className: "rounded bg-muted px-1 text-[10px] font-medium text-muted-foreground", children: visibleRows.length })
|
|
4582
5505
|
] }),
|
|
4583
|
-
/* @__PURE__ */
|
|
4584
|
-
/* @__PURE__ */
|
|
5506
|
+
/* @__PURE__ */ jsxs10("div", { className: "flex items-center gap-1.5", children: [
|
|
5507
|
+
/* @__PURE__ */ jsxs10(
|
|
4585
5508
|
"button",
|
|
4586
5509
|
{
|
|
4587
5510
|
type: "button",
|
|
@@ -4591,19 +5514,19 @@ function AssociationList(props) {
|
|
|
4591
5514
|
showUniversal ? "bg-accent text-foreground" : "text-muted-foreground hover:bg-accent hover:text-foreground"
|
|
4592
5515
|
),
|
|
4593
5516
|
children: [
|
|
4594
|
-
/* @__PURE__ */
|
|
5517
|
+
/* @__PURE__ */ jsx12(PlusIcon5, { className: "h-3 w-3" }),
|
|
4595
5518
|
"Add"
|
|
4596
5519
|
]
|
|
4597
5520
|
}
|
|
4598
5521
|
),
|
|
4599
|
-
/* @__PURE__ */
|
|
5522
|
+
/* @__PURE__ */ jsx12(
|
|
4600
5523
|
"button",
|
|
4601
5524
|
{
|
|
4602
5525
|
type: "button",
|
|
4603
5526
|
onClick: () => void adapter.reload(),
|
|
4604
5527
|
title: "Refresh",
|
|
4605
5528
|
className: "text-muted-foreground/60 transition-colors hover:text-foreground",
|
|
4606
|
-
children: /* @__PURE__ */
|
|
5529
|
+
children: /* @__PURE__ */ jsx12(
|
|
4607
5530
|
RefreshIcon,
|
|
4608
5531
|
{
|
|
4609
5532
|
className: cn9(
|
|
@@ -4616,7 +5539,7 @@ function AssociationList(props) {
|
|
|
4616
5539
|
)
|
|
4617
5540
|
] })
|
|
4618
5541
|
] }),
|
|
4619
|
-
showUniversal && /* @__PURE__ */
|
|
5542
|
+
showUniversal && /* @__PURE__ */ jsx12("div", { className: "rounded-md border border-border/60 bg-muted/30 p-2 max-h-80 flex flex-col", children: /* @__PURE__ */ jsx12(
|
|
4620
5543
|
UniversalAssociationPicker,
|
|
4621
5544
|
{
|
|
4622
5545
|
tokens: attachableTokens,
|
|
@@ -4626,9 +5549,9 @@ function AssociationList(props) {
|
|
|
4626
5549
|
onDetach: (token, id) => adapter.detach(token, id)
|
|
4627
5550
|
}
|
|
4628
5551
|
) }),
|
|
4629
|
-
adapter.status === "error" && /* @__PURE__ */
|
|
4630
|
-
/* @__PURE__ */
|
|
4631
|
-
/* @__PURE__ */
|
|
5552
|
+
adapter.status === "error" && /* @__PURE__ */ jsxs10("div", { className: "flex items-center justify-between gap-2 rounded-md border border-destructive/40 bg-destructive/10 px-2.5 py-2", children: [
|
|
5553
|
+
/* @__PURE__ */ jsx12("span", { className: "truncate text-[11px] text-destructive", children: adapter.error || "Failed to load resources" }),
|
|
5554
|
+
/* @__PURE__ */ jsx12(
|
|
4632
5555
|
"button",
|
|
4633
5556
|
{
|
|
4634
5557
|
type: "button",
|
|
@@ -4638,17 +5561,17 @@ function AssociationList(props) {
|
|
|
4638
5561
|
}
|
|
4639
5562
|
)
|
|
4640
5563
|
] }),
|
|
4641
|
-
adapter.status !== "error" && isLoading && visibleRows.length === 0 && /* @__PURE__ */
|
|
4642
|
-
/* @__PURE__ */
|
|
4643
|
-
/* @__PURE__ */
|
|
4644
|
-
/* @__PURE__ */
|
|
5564
|
+
adapter.status !== "error" && isLoading && visibleRows.length === 0 && /* @__PURE__ */ jsxs10("div", { className: "space-y-1.5 px-1", children: [
|
|
5565
|
+
/* @__PURE__ */ jsx12(Skeleton, { className: "h-3 w-20" }),
|
|
5566
|
+
/* @__PURE__ */ jsx12(Skeleton, { className: "h-7 w-full rounded-md" }),
|
|
5567
|
+
/* @__PURE__ */ jsx12(Skeleton, { className: "h-7 w-3/4 rounded-md" })
|
|
4645
5568
|
] }),
|
|
4646
|
-
adapter.status === "ready" && visibleRows.length === 0 && /* @__PURE__ */
|
|
4647
|
-
visibleRows.length > 0 && /* @__PURE__ */
|
|
5569
|
+
adapter.status === "ready" && visibleRows.length === 0 && /* @__PURE__ */ jsx12("p", { className: "px-1 py-1 text-[11px] text-muted-foreground", children: "Nothing attached yet \u2014 use Add to link anything." }),
|
|
5570
|
+
visibleRows.length > 0 && /* @__PURE__ */ jsx12("div", { className: "space-y-2.5", children: grouped.map(({ role, tokens: tokenGroups }) => {
|
|
4648
5571
|
const roleMeta = getContentRoleMeta(role);
|
|
4649
|
-
return /* @__PURE__ */
|
|
4650
|
-
variant === "full" && /* @__PURE__ */
|
|
4651
|
-
/* @__PURE__ */
|
|
5572
|
+
return /* @__PURE__ */ jsxs10("div", { className: "space-y-1.5", children: [
|
|
5573
|
+
variant === "full" && /* @__PURE__ */ jsxs10("div", { className: "flex items-center gap-1.5 px-1", children: [
|
|
5574
|
+
/* @__PURE__ */ jsx12(
|
|
4652
5575
|
"span",
|
|
4653
5576
|
{
|
|
4654
5577
|
className: cn9(
|
|
@@ -4657,7 +5580,7 @@ function AssociationList(props) {
|
|
|
4657
5580
|
)
|
|
4658
5581
|
}
|
|
4659
5582
|
),
|
|
4660
|
-
/* @__PURE__ */
|
|
5583
|
+
/* @__PURE__ */ jsx12(
|
|
4661
5584
|
"p",
|
|
4662
5585
|
{
|
|
4663
5586
|
className: cn9(
|
|
@@ -4670,28 +5593,28 @@ function AssociationList(props) {
|
|
|
4670
5593
|
] }),
|
|
4671
5594
|
tokenGroups.map(({ info, token, rows: tokenRows }) => {
|
|
4672
5595
|
const TokenIcon = info?.Icon ?? null;
|
|
4673
|
-
return /* @__PURE__ */
|
|
4674
|
-
/* @__PURE__ */
|
|
4675
|
-
/* @__PURE__ */
|
|
4676
|
-
TokenIcon ? /* @__PURE__ */
|
|
5596
|
+
return /* @__PURE__ */ jsxs10("div", { className: "space-y-0.5", children: [
|
|
5597
|
+
/* @__PURE__ */ jsxs10("div", { className: "flex items-center justify-between gap-1 px-1", children: [
|
|
5598
|
+
/* @__PURE__ */ jsxs10("p", { className: "flex items-center gap-1 text-[10px] font-medium text-muted-foreground/80", children: [
|
|
5599
|
+
TokenIcon ? /* @__PURE__ */ jsx12(TokenIcon, { className: "h-3 w-3" }) : null,
|
|
4677
5600
|
info?.labelPlural ?? titleize(token),
|
|
4678
|
-
/* @__PURE__ */
|
|
5601
|
+
/* @__PURE__ */ jsx12("span", { className: "text-muted-foreground/50", children: tokenRows.length })
|
|
4679
5602
|
] }),
|
|
4680
|
-
/* @__PURE__ */
|
|
5603
|
+
/* @__PURE__ */ jsxs10("div", { className: "flex items-center gap-1", children: [
|
|
4681
5604
|
props.renderSectionActions && info ? props.renderSectionActions(info.token) : null,
|
|
4682
|
-
info?.canListCandidates && /* @__PURE__ */
|
|
5605
|
+
info?.canListCandidates && /* @__PURE__ */ jsx12(
|
|
4683
5606
|
"button",
|
|
4684
5607
|
{
|
|
4685
5608
|
type: "button",
|
|
4686
5609
|
onClick: () => setPickerToken(info.token),
|
|
4687
5610
|
title: `Add ${info.labelPlural}`,
|
|
4688
5611
|
className: "rounded p-0.5 text-muted-foreground/60 transition-colors hover:bg-accent hover:text-foreground",
|
|
4689
|
-
children: /* @__PURE__ */
|
|
5612
|
+
children: /* @__PURE__ */ jsx12(PlusIcon5, { className: "h-3 w-3" })
|
|
4690
5613
|
}
|
|
4691
5614
|
)
|
|
4692
5615
|
] })
|
|
4693
5616
|
] }),
|
|
4694
|
-
/* @__PURE__ */
|
|
5617
|
+
/* @__PURE__ */ jsx12("ul", { className: "space-y-0.5", children: tokenRows.map((row) => {
|
|
4695
5618
|
const busy = removingKeys.has(row.key);
|
|
4696
5619
|
const custom = props.renderRow?.(row, {
|
|
4697
5620
|
title: titleFor({
|
|
@@ -4704,9 +5627,9 @@ function AssociationList(props) {
|
|
|
4704
5627
|
onOpen: () => openRow(row)
|
|
4705
5628
|
});
|
|
4706
5629
|
if (custom != null) {
|
|
4707
|
-
return /* @__PURE__ */
|
|
5630
|
+
return /* @__PURE__ */ jsx12("li", { children: custom }, row.key);
|
|
4708
5631
|
}
|
|
4709
|
-
return /* @__PURE__ */
|
|
5632
|
+
return /* @__PURE__ */ jsx12("li", { children: /* @__PURE__ */ jsxs10(
|
|
4710
5633
|
"div",
|
|
4711
5634
|
{
|
|
4712
5635
|
className: cn9(
|
|
@@ -4718,7 +5641,7 @@ function AssociationList(props) {
|
|
|
4718
5641
|
token: row.token,
|
|
4719
5642
|
id: row.resourceId,
|
|
4720
5643
|
label: row.label
|
|
4721
|
-
}) ? /* @__PURE__ */
|
|
5644
|
+
}) ? /* @__PURE__ */ jsx12("span", { className: "min-w-0 flex-1", children: /* @__PURE__ */ jsx12(UnresolvedRef, { token: row.token, id: row.resourceId }) }) : /* @__PURE__ */ jsx12(
|
|
4722
5645
|
DoorRef,
|
|
4723
5646
|
{
|
|
4724
5647
|
token: row.token,
|
|
@@ -4734,9 +5657,9 @@ function AssociationList(props) {
|
|
|
4734
5657
|
className: "min-w-0 flex-1 text-foreground"
|
|
4735
5658
|
}
|
|
4736
5659
|
),
|
|
4737
|
-
row.originRefs && row.originRefs.length > 0 ? /* @__PURE__ */
|
|
5660
|
+
row.originRefs && row.originRefs.length > 0 ? /* @__PURE__ */ jsxs10("span", { className: "flex shrink-0 items-center gap-1 text-[10px] text-muted-foreground/60", children: [
|
|
4738
5661
|
"via",
|
|
4739
|
-
row.originRefs.map((origin) => /* @__PURE__ */
|
|
5662
|
+
row.originRefs.map((origin) => /* @__PURE__ */ jsx12(
|
|
4740
5663
|
DoorRef,
|
|
4741
5664
|
{
|
|
4742
5665
|
token: origin.token,
|
|
@@ -4748,8 +5671,8 @@ function AssociationList(props) {
|
|
|
4748
5671
|
},
|
|
4749
5672
|
`${origin.token}:${origin.id}`
|
|
4750
5673
|
))
|
|
4751
|
-
] }) : row.originNote ? /* @__PURE__ */
|
|
4752
|
-
adapter.setPinned && info && row.removable && /* @__PURE__ */
|
|
5674
|
+
] }) : row.originNote ? /* @__PURE__ */ jsx12("span", { className: "shrink-0 text-[10px] text-muted-foreground/60", children: row.originNote }) : null,
|
|
5675
|
+
adapter.setPinned && info && row.removable && /* @__PURE__ */ jsx12(
|
|
4753
5676
|
"button",
|
|
4754
5677
|
{
|
|
4755
5678
|
type: "button",
|
|
@@ -4761,7 +5684,7 @@ function AssociationList(props) {
|
|
|
4761
5684
|
"shrink-0 rounded p-0.5 transition-colors hover:!text-foreground",
|
|
4762
5685
|
row.pinned ? "text-primary" : "text-muted-foreground/0 group-hover:text-muted-foreground"
|
|
4763
5686
|
),
|
|
4764
|
-
children: pinningKeys.has(row.key) ? /* @__PURE__ */
|
|
5687
|
+
children: pinningKeys.has(row.key) ? /* @__PURE__ */ jsx12(SpinnerIcon, { className: "h-3 w-3 animate-spin" }) : /* @__PURE__ */ jsx12(
|
|
4765
5688
|
PinIcon2,
|
|
4766
5689
|
{
|
|
4767
5690
|
className: cn9(
|
|
@@ -4772,7 +5695,7 @@ function AssociationList(props) {
|
|
|
4772
5695
|
)
|
|
4773
5696
|
}
|
|
4774
5697
|
),
|
|
4775
|
-
row.removable && /* @__PURE__ */
|
|
5698
|
+
row.removable && /* @__PURE__ */ jsx12(
|
|
4776
5699
|
"button",
|
|
4777
5700
|
{
|
|
4778
5701
|
type: "button",
|
|
@@ -4781,7 +5704,7 @@ function AssociationList(props) {
|
|
|
4781
5704
|
title: "Detach",
|
|
4782
5705
|
"aria-label": "Detach",
|
|
4783
5706
|
className: "shrink-0 rounded p-0.5 text-muted-foreground/0 transition-colors group-hover:text-muted-foreground hover:!text-destructive disabled:opacity-50",
|
|
4784
|
-
children: busy ? /* @__PURE__ */
|
|
5707
|
+
children: busy ? /* @__PURE__ */ jsx12(SpinnerIcon, { className: "h-3 w-3 animate-spin" }) : /* @__PURE__ */ jsx12(XIcon4, { className: "h-3 w-3" })
|
|
4785
5708
|
}
|
|
4786
5709
|
)
|
|
4787
5710
|
]
|
|
@@ -4792,7 +5715,7 @@ function AssociationList(props) {
|
|
|
4792
5715
|
})
|
|
4793
5716
|
] }, role);
|
|
4794
5717
|
}) }),
|
|
4795
|
-
pickerToken && /* @__PURE__ */
|
|
5718
|
+
pickerToken && /* @__PURE__ */ jsx12(
|
|
4796
5719
|
AssociationPicker,
|
|
4797
5720
|
{
|
|
4798
5721
|
open: true,
|
|
@@ -4852,7 +5775,7 @@ import { useRef as useRef8, useState as useState11 } from "react";
|
|
|
4852
5775
|
import { Button as Button2, cn as cn10, Input as Input3 } from "@ai-matrx/design-system";
|
|
4853
5776
|
import { PlusIcon as PlusIcon6 } from "@ai-matrx/design-system/icons";
|
|
4854
5777
|
import { openOutbound as openOutbound2 } from "@ai-matrx/kit/outbound";
|
|
4855
|
-
import { Fragment as Fragment4, jsx as
|
|
5778
|
+
import { Fragment as Fragment4, jsx as jsx13, jsxs as jsxs11 } from "react/jsx-runtime";
|
|
4856
5779
|
function AssociationCaptureToolbar({
|
|
4857
5780
|
attach,
|
|
4858
5781
|
uploadFolderPath,
|
|
@@ -5085,7 +6008,7 @@ function AssociationCaptureToolbar({
|
|
|
5085
6008
|
}
|
|
5086
6009
|
};
|
|
5087
6010
|
const anyBuiltIn = actions.upload || actions.addFile || actions.newDocument;
|
|
5088
|
-
return /* @__PURE__ */
|
|
6011
|
+
return /* @__PURE__ */ jsxs11(
|
|
5089
6012
|
"div",
|
|
5090
6013
|
{
|
|
5091
6014
|
className: cn10(
|
|
@@ -5106,11 +6029,11 @@ function AssociationCaptureToolbar({
|
|
|
5106
6029
|
},
|
|
5107
6030
|
onDrop: handleDrop,
|
|
5108
6031
|
children: [
|
|
5109
|
-
isDragOver ? /* @__PURE__ */
|
|
5110
|
-
/* @__PURE__ */
|
|
6032
|
+
isDragOver ? /* @__PURE__ */ jsx13("div", { className: "pointer-events-none absolute inset-0 z-10 grid place-items-center bg-background/70", children: /* @__PURE__ */ jsxs11("span", { className: "flex items-center gap-2 rounded-md border border-primary/40 bg-card px-3 py-1.5 text-xs font-medium text-foreground", children: [
|
|
6033
|
+
/* @__PURE__ */ jsx13(UploadIcon, { className: "size-3.5 text-primary" }),
|
|
5111
6034
|
"Drop to upload & attach"
|
|
5112
6035
|
] }) }) : null,
|
|
5113
|
-
/* @__PURE__ */
|
|
6036
|
+
/* @__PURE__ */ jsx13(
|
|
5114
6037
|
"input",
|
|
5115
6038
|
{
|
|
5116
6039
|
ref: fileInputRef,
|
|
@@ -5120,8 +6043,8 @@ function AssociationCaptureToolbar({
|
|
|
5120
6043
|
onChange: handleFilesSelected
|
|
5121
6044
|
}
|
|
5122
6045
|
),
|
|
5123
|
-
showToolbar && (anyBuiltIn || extraActions) ? /* @__PURE__ */
|
|
5124
|
-
/* @__PURE__ */
|
|
6046
|
+
showToolbar && (anyBuiltIn || extraActions) ? /* @__PURE__ */ jsx13("div", { className: "flex flex-wrap items-center gap-0.5 border-b border-border/60 px-1.5 py-1", children: namingDoc ? /* @__PURE__ */ jsxs11("div", { className: "flex flex-1 items-center gap-1.5 py-0.5", children: [
|
|
6047
|
+
/* @__PURE__ */ jsx13(
|
|
5125
6048
|
Input3,
|
|
5126
6049
|
{
|
|
5127
6050
|
autoFocus: true,
|
|
@@ -5140,17 +6063,17 @@ function AssociationCaptureToolbar({
|
|
|
5140
6063
|
style: { fontSize: 16 }
|
|
5141
6064
|
}
|
|
5142
6065
|
),
|
|
5143
|
-
/* @__PURE__ */
|
|
6066
|
+
/* @__PURE__ */ jsx13(
|
|
5144
6067
|
"button",
|
|
5145
6068
|
{
|
|
5146
6069
|
type: "button",
|
|
5147
6070
|
disabled: creatingDoc || !docName.trim(),
|
|
5148
6071
|
onClick: () => void handleCreateDoc(),
|
|
5149
6072
|
className: "flex h-7 items-center rounded-md bg-primary px-2 text-[11px] font-medium text-primary-foreground disabled:opacity-50",
|
|
5150
|
-
children: creatingDoc ? /* @__PURE__ */
|
|
6073
|
+
children: creatingDoc ? /* @__PURE__ */ jsx13(SpinnerIcon, { className: "size-3.5 animate-spin" }) : "Create"
|
|
5151
6074
|
}
|
|
5152
6075
|
),
|
|
5153
|
-
/* @__PURE__ */
|
|
6076
|
+
/* @__PURE__ */ jsx13(
|
|
5154
6077
|
"button",
|
|
5155
6078
|
{
|
|
5156
6079
|
type: "button",
|
|
@@ -5163,8 +6086,8 @@ function AssociationCaptureToolbar({
|
|
|
5163
6086
|
children: "Cancel"
|
|
5164
6087
|
}
|
|
5165
6088
|
)
|
|
5166
|
-
] }) : /* @__PURE__ */
|
|
5167
|
-
actions.upload ? /* @__PURE__ */
|
|
6089
|
+
] }) : /* @__PURE__ */ jsxs11(Fragment4, { children: [
|
|
6090
|
+
actions.upload ? /* @__PURE__ */ jsx13(
|
|
5168
6091
|
CaptureToolbarAction,
|
|
5169
6092
|
{
|
|
5170
6093
|
icon: isUploading ? SpinnerIcon : UploadIcon,
|
|
@@ -5174,7 +6097,7 @@ function AssociationCaptureToolbar({
|
|
|
5174
6097
|
disabled: isPicking || isUploading
|
|
5175
6098
|
}
|
|
5176
6099
|
) : null,
|
|
5177
|
-
actions.addFile ? /* @__PURE__ */
|
|
6100
|
+
actions.addFile ? /* @__PURE__ */ jsx13(
|
|
5178
6101
|
CaptureToolbarAction,
|
|
5179
6102
|
{
|
|
5180
6103
|
icon: isPicking ? SpinnerIcon : FolderOpenIcon,
|
|
@@ -5184,8 +6107,8 @@ function AssociationCaptureToolbar({
|
|
|
5184
6107
|
disabled: isPicking || isUploading
|
|
5185
6108
|
}
|
|
5186
6109
|
) : null,
|
|
5187
|
-
(actions.upload || actions.addFile) && actions.newDocument ? /* @__PURE__ */
|
|
5188
|
-
actions.newDocument ? /* @__PURE__ */
|
|
6110
|
+
(actions.upload || actions.addFile) && actions.newDocument ? /* @__PURE__ */ jsx13("span", { className: "mx-1 h-4 w-px bg-border" }) : null,
|
|
6111
|
+
actions.newDocument ? /* @__PURE__ */ jsx13(
|
|
5189
6112
|
CaptureToolbarAction,
|
|
5190
6113
|
{
|
|
5191
6114
|
icon: creatingDoc ? SpinnerIcon : PlusIcon6,
|
|
@@ -5209,7 +6132,7 @@ function CaptureToolbarAction({
|
|
|
5209
6132
|
disabled,
|
|
5210
6133
|
spinning
|
|
5211
6134
|
}) {
|
|
5212
|
-
return /* @__PURE__ */
|
|
6135
|
+
return /* @__PURE__ */ jsxs11(
|
|
5213
6136
|
Button2,
|
|
5214
6137
|
{
|
|
5215
6138
|
type: "button",
|
|
@@ -5219,7 +6142,7 @@ function CaptureToolbarAction({
|
|
|
5219
6142
|
disabled,
|
|
5220
6143
|
className: "h-7 gap-1 px-2 text-[11px] text-muted-foreground hover:text-foreground",
|
|
5221
6144
|
children: [
|
|
5222
|
-
/* @__PURE__ */
|
|
6145
|
+
/* @__PURE__ */ jsx13(Icon, { className: cn10("size-3.5", spinning && "animate-spin") }),
|
|
5223
6146
|
label
|
|
5224
6147
|
]
|
|
5225
6148
|
}
|
|
@@ -5228,7 +6151,7 @@ function CaptureToolbarAction({
|
|
|
5228
6151
|
|
|
5229
6152
|
// src/react/lazyPorts.tsx
|
|
5230
6153
|
import { Suspense, lazy } from "react";
|
|
5231
|
-
import { jsx as
|
|
6154
|
+
import { jsx as jsx14 } from "react/jsx-runtime";
|
|
5232
6155
|
function lazyComponent(load) {
|
|
5233
6156
|
return lazy(async () => {
|
|
5234
6157
|
const loaded = await load();
|
|
@@ -5238,14 +6161,14 @@ function lazyComponent(load) {
|
|
|
5238
6161
|
function lazyWindowShell(load) {
|
|
5239
6162
|
const Loaded = lazyComponent(load);
|
|
5240
6163
|
return function LazyWindowShell(props) {
|
|
5241
|
-
return /* @__PURE__ */
|
|
6164
|
+
return /* @__PURE__ */ jsx14(Suspense, { fallback: null, children: /* @__PURE__ */ jsx14(Loaded, { ...props }) });
|
|
5242
6165
|
};
|
|
5243
6166
|
}
|
|
5244
6167
|
function lazyPickerOverride(load) {
|
|
5245
6168
|
const Loaded = lazyComponent(load);
|
|
5246
6169
|
return function LazyPickerOverride(props) {
|
|
5247
6170
|
if (!props.open) return null;
|
|
5248
|
-
return /* @__PURE__ */
|
|
6171
|
+
return /* @__PURE__ */ jsx14(Suspense, { fallback: null, children: /* @__PURE__ */ jsx14(Loaded, { ...props }) });
|
|
5249
6172
|
};
|
|
5250
6173
|
}
|
|
5251
6174
|
|
|
@@ -5372,7 +6295,7 @@ import {
|
|
|
5372
6295
|
PopoverTrigger
|
|
5373
6296
|
} from "@ai-matrx/design-system";
|
|
5374
6297
|
import { CheckIcon as CheckIcon3, ChevronDownIcon, PlusIcon as PlusIcon7, XIcon as XIcon5 } from "@ai-matrx/design-system/icons";
|
|
5375
|
-
import { jsx as
|
|
6298
|
+
import { jsx as jsx15, jsxs as jsxs12 } from "react/jsx-runtime";
|
|
5376
6299
|
function AssociationEntitySelect({
|
|
5377
6300
|
token,
|
|
5378
6301
|
adapter,
|
|
@@ -5413,7 +6336,7 @@ function AssociationEntitySelect({
|
|
|
5413
6336
|
if (id) close();
|
|
5414
6337
|
else notifier.error(`Couldn't create the ${entityLabel}`);
|
|
5415
6338
|
};
|
|
5416
|
-
return /* @__PURE__ */
|
|
6339
|
+
return /* @__PURE__ */ jsxs12(
|
|
5417
6340
|
"div",
|
|
5418
6341
|
{
|
|
5419
6342
|
className: cn11(
|
|
@@ -5421,7 +6344,7 @@ function AssociationEntitySelect({
|
|
|
5421
6344
|
className
|
|
5422
6345
|
),
|
|
5423
6346
|
children: [
|
|
5424
|
-
showIcon ? /* @__PURE__ */
|
|
6347
|
+
showIcon ? /* @__PURE__ */ jsx15(
|
|
5425
6348
|
InfoIcon,
|
|
5426
6349
|
{
|
|
5427
6350
|
className: cn11(
|
|
@@ -5431,7 +6354,7 @@ function AssociationEntitySelect({
|
|
|
5431
6354
|
"aria-hidden": true
|
|
5432
6355
|
}
|
|
5433
6356
|
) : null,
|
|
5434
|
-
active ? /* @__PURE__ */
|
|
6357
|
+
active ? /* @__PURE__ */ jsx15(
|
|
5435
6358
|
EditableLabel,
|
|
5436
6359
|
{
|
|
5437
6360
|
value: active.title,
|
|
@@ -5450,8 +6373,8 @@ function AssociationEntitySelect({
|
|
|
5450
6373
|
inputClassName: "text-xs font-medium"
|
|
5451
6374
|
}
|
|
5452
6375
|
) : null,
|
|
5453
|
-
active ? /* @__PURE__ */
|
|
5454
|
-
!active ? /* @__PURE__ */
|
|
6376
|
+
active ? /* @__PURE__ */ jsx15(DoorControlsSlot, { token, id: active.id, name: active.title }) : null,
|
|
6377
|
+
!active ? /* @__PURE__ */ jsx15(
|
|
5455
6378
|
"span",
|
|
5456
6379
|
{
|
|
5457
6380
|
className: cn11(
|
|
@@ -5461,13 +6384,13 @@ function AssociationEntitySelect({
|
|
|
5461
6384
|
children: adapter.loading ? "\u2026" : emptyLabel ?? info.labelPlural
|
|
5462
6385
|
}
|
|
5463
6386
|
) : null,
|
|
5464
|
-
/* @__PURE__ */
|
|
6387
|
+
/* @__PURE__ */ jsxs12(
|
|
5465
6388
|
Popover,
|
|
5466
6389
|
{
|
|
5467
6390
|
open,
|
|
5468
6391
|
onOpenChange: (next) => next ? setOpen(true) : close(),
|
|
5469
6392
|
children: [
|
|
5470
|
-
/* @__PURE__ */
|
|
6393
|
+
/* @__PURE__ */ jsx15(PopoverTrigger, { asChild: true, children: /* @__PURE__ */ jsxs12(
|
|
5471
6394
|
"button",
|
|
5472
6395
|
{
|
|
5473
6396
|
type: "button",
|
|
@@ -5475,17 +6398,17 @@ function AssociationEntitySelect({
|
|
|
5475
6398
|
title: `Switch or add ${info.labelPlural.toLowerCase()}`,
|
|
5476
6399
|
"aria-label": `Switch or add ${info.labelPlural.toLowerCase()}`,
|
|
5477
6400
|
children: [
|
|
5478
|
-
items.length > 1 ? /* @__PURE__ */
|
|
6401
|
+
items.length > 1 ? /* @__PURE__ */ jsxs12("span", { className: "tabular-nums", children: [
|
|
5479
6402
|
activeIndex >= 0 ? activeIndex + 1 : "\u2014",
|
|
5480
6403
|
"/",
|
|
5481
6404
|
items.length
|
|
5482
6405
|
] }) : null,
|
|
5483
|
-
/* @__PURE__ */
|
|
6406
|
+
/* @__PURE__ */ jsx15(ChevronDownIcon, { className: "size-3 opacity-60" })
|
|
5484
6407
|
]
|
|
5485
6408
|
}
|
|
5486
6409
|
) }),
|
|
5487
|
-
/* @__PURE__ */
|
|
5488
|
-
items.length > 5 ? /* @__PURE__ */
|
|
6410
|
+
/* @__PURE__ */ jsx15(PopoverContent, { sizing: "content", className: "p-0", align, children: /* @__PURE__ */ jsxs12(Command, { children: [
|
|
6411
|
+
items.length > 5 ? /* @__PURE__ */ jsx15(
|
|
5489
6412
|
CommandInput,
|
|
5490
6413
|
{
|
|
5491
6414
|
value: query,
|
|
@@ -5493,9 +6416,9 @@ function AssociationEntitySelect({
|
|
|
5493
6416
|
placeholder: `Search ${info.labelPlural.toLowerCase()}\u2026`
|
|
5494
6417
|
}
|
|
5495
6418
|
) : null,
|
|
5496
|
-
/* @__PURE__ */
|
|
5497
|
-
/* @__PURE__ */
|
|
5498
|
-
items.length > 0 ? /* @__PURE__ */
|
|
6419
|
+
/* @__PURE__ */ jsxs12(CommandList, { children: [
|
|
6420
|
+
/* @__PURE__ */ jsx15(CommandEmpty, { children: "No match." }),
|
|
6421
|
+
items.length > 0 ? /* @__PURE__ */ jsx15(CommandGroup, { children: items.map((item) => /* @__PURE__ */ jsxs12(
|
|
5499
6422
|
CommandItem,
|
|
5500
6423
|
{
|
|
5501
6424
|
value: `${item.title} ${item.id}`,
|
|
@@ -5506,7 +6429,7 @@ function AssociationEntitySelect({
|
|
|
5506
6429
|
},
|
|
5507
6430
|
className: "group/entity-ref group gap-2",
|
|
5508
6431
|
children: [
|
|
5509
|
-
/* @__PURE__ */
|
|
6432
|
+
/* @__PURE__ */ jsx15(
|
|
5510
6433
|
CheckIcon3,
|
|
5511
6434
|
{
|
|
5512
6435
|
className: cn11(
|
|
@@ -5515,8 +6438,8 @@ function AssociationEntitySelect({
|
|
|
5515
6438
|
)
|
|
5516
6439
|
}
|
|
5517
6440
|
),
|
|
5518
|
-
/* @__PURE__ */
|
|
5519
|
-
/* @__PURE__ */
|
|
6441
|
+
/* @__PURE__ */ jsx15("span", { className: "min-w-0 flex-1 truncate", children: item.title }),
|
|
6442
|
+
/* @__PURE__ */ jsx15(
|
|
5520
6443
|
"span",
|
|
5521
6444
|
{
|
|
5522
6445
|
className: "inline-flex shrink-0 items-center",
|
|
@@ -5524,7 +6447,7 @@ function AssociationEntitySelect({
|
|
|
5524
6447
|
e.preventDefault();
|
|
5525
6448
|
e.stopPropagation();
|
|
5526
6449
|
},
|
|
5527
|
-
children: /* @__PURE__ */
|
|
6450
|
+
children: /* @__PURE__ */ jsx15(
|
|
5528
6451
|
DoorControlsSlot,
|
|
5529
6452
|
{
|
|
5530
6453
|
token,
|
|
@@ -5534,7 +6457,7 @@ function AssociationEntitySelect({
|
|
|
5534
6457
|
)
|
|
5535
6458
|
}
|
|
5536
6459
|
),
|
|
5537
|
-
adapter.detach && item.id !== activeId ? /* @__PURE__ */
|
|
6460
|
+
adapter.detach && item.id !== activeId ? /* @__PURE__ */ jsx15(
|
|
5538
6461
|
"button",
|
|
5539
6462
|
{
|
|
5540
6463
|
type: "button",
|
|
@@ -5549,7 +6472,7 @@ function AssociationEntitySelect({
|
|
|
5549
6472
|
className: "grid size-5 shrink-0 place-items-center rounded text-muted-foreground opacity-0 transition-opacity hover:bg-accent hover:text-destructive group-hover:opacity-100",
|
|
5550
6473
|
title: `Remove this ${entityLabel} from here (does not delete it)`,
|
|
5551
6474
|
"aria-label": `Remove ${item.title}`,
|
|
5552
|
-
children: /* @__PURE__ */
|
|
6475
|
+
children: /* @__PURE__ */ jsx15(XIcon5, { className: "size-3" })
|
|
5553
6476
|
}
|
|
5554
6477
|
) : null
|
|
5555
6478
|
]
|
|
@@ -5557,9 +6480,9 @@ function AssociationEntitySelect({
|
|
|
5557
6480
|
item.id
|
|
5558
6481
|
)) }) : null
|
|
5559
6482
|
] }),
|
|
5560
|
-
createSlot !== void 0 ? /* @__PURE__ */
|
|
5561
|
-
createSlot === void 0 && adapter.createAndAttach ? /* @__PURE__ */
|
|
5562
|
-
/* @__PURE__ */
|
|
6483
|
+
createSlot !== void 0 ? /* @__PURE__ */ jsx15("div", { className: "border-t border-border p-1", children: typeof createSlot === "function" ? createSlot(close) : createSlot }) : null,
|
|
6484
|
+
createSlot === void 0 && adapter.createAndAttach ? /* @__PURE__ */ jsx15("div", { className: "border-t border-border p-1", children: creating ? /* @__PURE__ */ jsxs12("div", { className: "flex items-center gap-1 px-1 py-0.5", children: [
|
|
6485
|
+
/* @__PURE__ */ jsx15(
|
|
5563
6486
|
"input",
|
|
5564
6487
|
{
|
|
5565
6488
|
autoFocus: true,
|
|
@@ -5583,17 +6506,17 @@ function AssociationEntitySelect({
|
|
|
5583
6506
|
"aria-label": `New ${entityLabel} name`
|
|
5584
6507
|
}
|
|
5585
6508
|
),
|
|
5586
|
-
/* @__PURE__ */
|
|
6509
|
+
/* @__PURE__ */ jsx15(
|
|
5587
6510
|
"button",
|
|
5588
6511
|
{
|
|
5589
6512
|
type: "button",
|
|
5590
6513
|
disabled: busy || !draftName.trim(),
|
|
5591
6514
|
onClick: () => void create(draftName),
|
|
5592
6515
|
className: "inline-flex h-6 shrink-0 items-center rounded-md px-1.5 text-[10px] font-medium text-primary transition-colors hover:bg-accent disabled:opacity-50",
|
|
5593
|
-
children: busy ? /* @__PURE__ */
|
|
6516
|
+
children: busy ? /* @__PURE__ */ jsx15(SpinnerIcon, { className: "size-3 animate-spin" }) : "Create"
|
|
5594
6517
|
}
|
|
5595
6518
|
)
|
|
5596
|
-
] }) : /* @__PURE__ */
|
|
6519
|
+
] }) : /* @__PURE__ */ jsxs12(
|
|
5597
6520
|
"button",
|
|
5598
6521
|
{
|
|
5599
6522
|
type: "button",
|
|
@@ -5604,7 +6527,7 @@ function AssociationEntitySelect({
|
|
|
5604
6527
|
},
|
|
5605
6528
|
className: "flex w-full items-center gap-2 rounded-sm px-2 py-1.5 text-xs text-muted-foreground transition-colors hover:bg-accent hover:text-foreground",
|
|
5606
6529
|
children: [
|
|
5607
|
-
busy ? /* @__PURE__ */
|
|
6530
|
+
busy ? /* @__PURE__ */ jsx15(SpinnerIcon, { className: "size-3.5 animate-spin" }) : /* @__PURE__ */ jsx15(PlusIcon7, { className: "size-3.5" }),
|
|
5608
6531
|
query.trim() ? `Create "${query.trim()}"` : `New ${info.label}`
|
|
5609
6532
|
]
|
|
5610
6533
|
}
|
|
@@ -5694,7 +6617,7 @@ function buildCategoryHierarchy(categories) {
|
|
|
5694
6617
|
}
|
|
5695
6618
|
|
|
5696
6619
|
// src/react/components/CategorySelect.tsx
|
|
5697
|
-
import { jsx as
|
|
6620
|
+
import { jsx as jsx16, jsxs as jsxs13 } from "react/jsx-runtime";
|
|
5698
6621
|
var NONE = "__none__";
|
|
5699
6622
|
var ROOT_PARENT = "__root__";
|
|
5700
6623
|
function plural(noun) {
|
|
@@ -5730,9 +6653,9 @@ function CategorySelect({
|
|
|
5730
6653
|
// The type-ahead matches the parent's name too, so someone who knows
|
|
5731
6654
|
// the branch but not the leaf still finds it.
|
|
5732
6655
|
keywords: parent ? parent.name : "",
|
|
5733
|
-
render: depth === 0 ? /* @__PURE__ */
|
|
5734
|
-
/* @__PURE__ */
|
|
5735
|
-
/* @__PURE__ */
|
|
6656
|
+
render: depth === 0 ? /* @__PURE__ */ jsx16("span", { className: "font-medium", children: category.name }) : /* @__PURE__ */ jsxs13("span", { className: "flex items-center gap-1.5 pl-3 text-muted-foreground", children: [
|
|
6657
|
+
/* @__PURE__ */ jsx16(CornerDownRightIcon, { className: "h-3.5 w-3.5 shrink-0" }),
|
|
6658
|
+
/* @__PURE__ */ jsx16("span", { className: "text-foreground", children: category.name })
|
|
5736
6659
|
] })
|
|
5737
6660
|
})) : categories.map((category) => ({
|
|
5738
6661
|
value: category.id,
|
|
@@ -5779,8 +6702,8 @@ function CategorySelect({
|
|
|
5779
6702
|
);
|
|
5780
6703
|
return result.id;
|
|
5781
6704
|
};
|
|
5782
|
-
return /* @__PURE__ */
|
|
5783
|
-
/* @__PURE__ */
|
|
6705
|
+
return /* @__PURE__ */ jsxs13("div", { children: [
|
|
6706
|
+
/* @__PURE__ */ jsx16(
|
|
5784
6707
|
CreatablePicker,
|
|
5785
6708
|
{
|
|
5786
6709
|
value: value ?? (allowNone ? NONE : null),
|
|
@@ -5796,18 +6719,18 @@ function CategorySelect({
|
|
|
5796
6719
|
emptyLabel: `No ${noun} matches that.`,
|
|
5797
6720
|
...allowCreate ? { onCreate: create } : {},
|
|
5798
6721
|
...allowCreate && hierarchy.hasHierarchy ? {
|
|
5799
|
-
createExtra: /* @__PURE__ */
|
|
5800
|
-
/* @__PURE__ */
|
|
6722
|
+
createExtra: /* @__PURE__ */ jsxs13(Select, { value: createParentId, onValueChange: setCreateParentId, children: [
|
|
6723
|
+
/* @__PURE__ */ jsx16(
|
|
5801
6724
|
SelectTrigger,
|
|
5802
6725
|
{
|
|
5803
6726
|
className: "h-7 text-xs",
|
|
5804
6727
|
"aria-label": `Put the new ${noun} under`,
|
|
5805
|
-
children: /* @__PURE__ */
|
|
6728
|
+
children: /* @__PURE__ */ jsx16(SelectValue, {})
|
|
5806
6729
|
}
|
|
5807
6730
|
),
|
|
5808
|
-
/* @__PURE__ */
|
|
5809
|
-
/* @__PURE__ */
|
|
5810
|
-
hierarchy.items.filter((item) => item.depth === 0).map((item) => /* @__PURE__ */
|
|
6731
|
+
/* @__PURE__ */ jsxs13(SelectContent, { children: [
|
|
6732
|
+
/* @__PURE__ */ jsx16(SelectItem, { value: ROOT_PARENT, className: "text-xs", children: "Top level" }),
|
|
6733
|
+
hierarchy.items.filter((item) => item.depth === 0).map((item) => /* @__PURE__ */ jsxs13(
|
|
5811
6734
|
SelectItem,
|
|
5812
6735
|
{
|
|
5813
6736
|
value: item.category.id,
|
|
@@ -5827,13 +6750,13 @@ function CategorySelect({
|
|
|
5827
6750
|
selected === null && value !== null ? (
|
|
5828
6751
|
// A stored id whose row this reader cannot see is not "nothing chosen":
|
|
5829
6752
|
// saying so beats a blank box that looks like an unsaved field.
|
|
5830
|
-
/* @__PURE__ */
|
|
6753
|
+
/* @__PURE__ */ jsxs13("p", { className: "mt-1 text-xs text-muted-foreground", children: [
|
|
5831
6754
|
"This ",
|
|
5832
6755
|
noun,
|
|
5833
6756
|
" is no longer available to you."
|
|
5834
6757
|
] })
|
|
5835
6758
|
) : null,
|
|
5836
|
-
error ? /* @__PURE__ */
|
|
6759
|
+
error ? /* @__PURE__ */ jsx16("p", { className: "mt-1 text-xs text-destructive", children: error }) : null
|
|
5837
6760
|
] });
|
|
5838
6761
|
}
|
|
5839
6762
|
|
|
@@ -5860,7 +6783,7 @@ import {
|
|
|
5860
6783
|
SelectChevron
|
|
5861
6784
|
} from "@ai-matrx/design-system";
|
|
5862
6785
|
import { CheckIcon as CheckIcon4, XIcon as XIcon6 } from "@ai-matrx/design-system/icons";
|
|
5863
|
-
import { jsx as
|
|
6786
|
+
import { jsx as jsx17, jsxs as jsxs14 } from "react/jsx-runtime";
|
|
5864
6787
|
var ROOT_PARENT2 = "__root__";
|
|
5865
6788
|
function CategoryTagPicker({
|
|
5866
6789
|
entityType,
|
|
@@ -5984,44 +6907,44 @@ function CategoryTagPicker({
|
|
|
5984
6907
|
const exactMatch = categories.some(
|
|
5985
6908
|
(c) => c.name.toLowerCase() === search.trim().toLowerCase()
|
|
5986
6909
|
);
|
|
5987
|
-
return /* @__PURE__ */
|
|
5988
|
-
selected.map((c) => /* @__PURE__ */
|
|
6910
|
+
return /* @__PURE__ */ jsxs14("div", { className: "flex flex-wrap items-center gap-1.5", children: [
|
|
6911
|
+
selected.map((c) => /* @__PURE__ */ jsxs14(
|
|
5989
6912
|
Badge,
|
|
5990
6913
|
{
|
|
5991
6914
|
variant: "secondary",
|
|
5992
6915
|
className: "gap-1 pr-1 text-xs font-medium",
|
|
5993
6916
|
children: [
|
|
5994
6917
|
showHierarchy ? hierarchyById.get(c.id)?.displayName ?? c.name : c.name,
|
|
5995
|
-
/* @__PURE__ */
|
|
6918
|
+
/* @__PURE__ */ jsx17(
|
|
5996
6919
|
"button",
|
|
5997
6920
|
{
|
|
5998
6921
|
type: "button",
|
|
5999
6922
|
onClick: () => void toggle(c.id),
|
|
6000
6923
|
className: "ml-0.5 rounded-full p-0.5 hover:bg-muted-foreground/20",
|
|
6001
6924
|
"aria-label": `Remove ${c.name}`,
|
|
6002
|
-
children: /* @__PURE__ */
|
|
6925
|
+
children: /* @__PURE__ */ jsx17(XIcon6, { className: "h-2.5 w-2.5" })
|
|
6003
6926
|
}
|
|
6004
6927
|
)
|
|
6005
6928
|
]
|
|
6006
6929
|
},
|
|
6007
6930
|
c.id
|
|
6008
6931
|
)),
|
|
6009
|
-
/* @__PURE__ */
|
|
6010
|
-
/* @__PURE__ */
|
|
6932
|
+
/* @__PURE__ */ jsxs14(Popover2, { open, onOpenChange: setOpen, children: [
|
|
6933
|
+
/* @__PURE__ */ jsx17(PopoverTrigger2, { asChild: true, children: /* @__PURE__ */ jsxs14(
|
|
6011
6934
|
Button3,
|
|
6012
6935
|
{
|
|
6013
6936
|
variant: "outline",
|
|
6014
6937
|
size: "sm",
|
|
6015
6938
|
className: "h-7 gap-1 px-2 text-xs",
|
|
6016
6939
|
children: [
|
|
6017
|
-
/* @__PURE__ */
|
|
6940
|
+
/* @__PURE__ */ jsx17(Icon, { className: "h-3.5 w-3.5" }),
|
|
6018
6941
|
selected.length === 0 ? addLabel : "Edit",
|
|
6019
|
-
/* @__PURE__ */
|
|
6942
|
+
/* @__PURE__ */ jsx17(SelectChevron, { size: "sm" })
|
|
6020
6943
|
]
|
|
6021
6944
|
}
|
|
6022
6945
|
) }),
|
|
6023
|
-
/* @__PURE__ */
|
|
6024
|
-
/* @__PURE__ */
|
|
6946
|
+
/* @__PURE__ */ jsx17(PopoverContent2, { sizing: "content", className: "p-0", align: "start", children: /* @__PURE__ */ jsxs14(Command2, { shouldFilter: false, children: [
|
|
6947
|
+
/* @__PURE__ */ jsx17(
|
|
6025
6948
|
CommandInput2,
|
|
6026
6949
|
{
|
|
6027
6950
|
placeholder: allowCreate ? "Search or create..." : "Search...",
|
|
@@ -6029,9 +6952,9 @@ function CategoryTagPicker({
|
|
|
6029
6952
|
onValueChange: setSearch
|
|
6030
6953
|
}
|
|
6031
6954
|
),
|
|
6032
|
-
/* @__PURE__ */
|
|
6033
|
-
/* @__PURE__ */
|
|
6034
|
-
/* @__PURE__ */
|
|
6955
|
+
/* @__PURE__ */ jsxs14(CommandList2, { children: [
|
|
6956
|
+
/* @__PURE__ */ jsx17(CommandEmpty2, { className: "px-2 py-3 text-xs text-muted-foreground", children: search.trim() ? "No match." : emptyText }),
|
|
6957
|
+
/* @__PURE__ */ jsx17(CommandGroup2, { children: showHierarchy ? filteredHierarchy.map(({ category, depth, parent }) => /* @__PURE__ */ jsxs14(
|
|
6035
6958
|
CommandItem2,
|
|
6036
6959
|
{
|
|
6037
6960
|
value: category.id,
|
|
@@ -6039,7 +6962,7 @@ function CategoryTagPicker({
|
|
|
6039
6962
|
onSelect: () => void toggle(category.id),
|
|
6040
6963
|
className: cn12("text-xs", depth === 1 && "pl-6"),
|
|
6041
6964
|
children: [
|
|
6042
|
-
/* @__PURE__ */
|
|
6965
|
+
/* @__PURE__ */ jsx17(
|
|
6043
6966
|
CheckIcon4,
|
|
6044
6967
|
{
|
|
6045
6968
|
className: cn12(
|
|
@@ -6048,19 +6971,19 @@ function CategoryTagPicker({
|
|
|
6048
6971
|
)
|
|
6049
6972
|
}
|
|
6050
6973
|
),
|
|
6051
|
-
depth === 1 ? /* @__PURE__ */
|
|
6052
|
-
/* @__PURE__ */
|
|
6974
|
+
depth === 1 ? /* @__PURE__ */ jsx17(CornerDownRightIcon, { className: "mr-1.5 h-3.5 w-3.5 shrink-0 text-muted-foreground" }) : null,
|
|
6975
|
+
/* @__PURE__ */ jsx17("span", { className: cn12(depth === 0 && "font-medium"), children: category.name })
|
|
6053
6976
|
]
|
|
6054
6977
|
},
|
|
6055
6978
|
category.id
|
|
6056
|
-
)) : filtered.map((c) => /* @__PURE__ */
|
|
6979
|
+
)) : filtered.map((c) => /* @__PURE__ */ jsxs14(
|
|
6057
6980
|
CommandItem2,
|
|
6058
6981
|
{
|
|
6059
6982
|
value: c.id,
|
|
6060
6983
|
onSelect: () => void toggle(c.id),
|
|
6061
6984
|
className: "text-xs",
|
|
6062
6985
|
children: [
|
|
6063
|
-
/* @__PURE__ */
|
|
6986
|
+
/* @__PURE__ */ jsx17(
|
|
6064
6987
|
CheckIcon4,
|
|
6065
6988
|
{
|
|
6066
6989
|
className: cn12(
|
|
@@ -6074,25 +6997,25 @@ function CategoryTagPicker({
|
|
|
6074
6997
|
},
|
|
6075
6998
|
c.id
|
|
6076
6999
|
)) }),
|
|
6077
|
-
allowCreate && search.trim() && !exactMatch ? /* @__PURE__ */
|
|
6078
|
-
showHierarchy ? /* @__PURE__ */
|
|
6079
|
-
/* @__PURE__ */
|
|
6080
|
-
/* @__PURE__ */
|
|
7000
|
+
allowCreate && search.trim() && !exactMatch ? /* @__PURE__ */ jsxs14(CommandGroup2, { children: [
|
|
7001
|
+
showHierarchy ? /* @__PURE__ */ jsxs14("div", { className: "space-y-1.5 px-2 pb-2", children: [
|
|
7002
|
+
/* @__PURE__ */ jsx17("p", { className: "text-[11px] font-medium text-muted-foreground", children: "Place in" }),
|
|
7003
|
+
/* @__PURE__ */ jsxs14(
|
|
6081
7004
|
Select2,
|
|
6082
7005
|
{
|
|
6083
7006
|
value: createParentId,
|
|
6084
7007
|
onValueChange: setCreateParentId,
|
|
6085
7008
|
children: [
|
|
6086
|
-
/* @__PURE__ */
|
|
6087
|
-
/* @__PURE__ */
|
|
6088
|
-
/* @__PURE__ */
|
|
6089
|
-
hierarchy.roots.map((root) => /* @__PURE__ */
|
|
7009
|
+
/* @__PURE__ */ jsx17(SelectTrigger2, { size: "sm", className: "bg-background", children: /* @__PURE__ */ jsx17(SelectValue2, {}) }),
|
|
7010
|
+
/* @__PURE__ */ jsxs14(SelectContent2, { children: [
|
|
7011
|
+
/* @__PURE__ */ jsx17(SelectItem2, { value: ROOT_PARENT2, children: "Top level" }),
|
|
7012
|
+
hierarchy.roots.map((root) => /* @__PURE__ */ jsx17(SelectItem2, { value: root.id, children: root.name }, root.id))
|
|
6090
7013
|
] })
|
|
6091
7014
|
]
|
|
6092
7015
|
}
|
|
6093
7016
|
)
|
|
6094
7017
|
] }) : null,
|
|
6095
|
-
/* @__PURE__ */
|
|
7018
|
+
/* @__PURE__ */ jsxs14(
|
|
6096
7019
|
CommandItem2,
|
|
6097
7020
|
{
|
|
6098
7021
|
value: `__create__${search}`,
|
|
@@ -6100,7 +7023,7 @@ function CategoryTagPicker({
|
|
|
6100
7023
|
disabled: creating,
|
|
6101
7024
|
className: "text-xs text-primary",
|
|
6102
7025
|
children: [
|
|
6103
|
-
creating ? /* @__PURE__ */
|
|
7026
|
+
creating ? /* @__PURE__ */ jsx17(SpinnerIcon, { className: "mr-2 h-3.5 w-3.5 animate-spin" }) : /* @__PURE__ */ jsx17(Icon, { className: "mr-2 h-3.5 w-3.5" }),
|
|
6104
7027
|
"Create \u201C",
|
|
6105
7028
|
search.trim(),
|
|
6106
7029
|
"\u201D"
|
|
@@ -6127,20 +7050,20 @@ function partKeyOf(comment) {
|
|
|
6127
7050
|
// src/react/components/CommentBody.tsx
|
|
6128
7051
|
import { Fragment as Fragment5 } from "react";
|
|
6129
7052
|
import { cn as cn13 } from "@ai-matrx/design-system";
|
|
6130
|
-
import { jsx as
|
|
7053
|
+
import { jsx as jsx18 } from "react/jsx-runtime";
|
|
6131
7054
|
var INLINE = /(\*\*[^*\n]+\*\*|`[^`\n]+`|\*[^*\n]+\*)/g;
|
|
6132
7055
|
function renderInline(text) {
|
|
6133
7056
|
return text.split(INLINE).map((part, i) => {
|
|
6134
7057
|
if (part.length > 4 && part.startsWith("**") && part.endsWith("**")) {
|
|
6135
|
-
return /* @__PURE__ */
|
|
7058
|
+
return /* @__PURE__ */ jsx18("strong", { children: part.slice(2, -2) }, i);
|
|
6136
7059
|
}
|
|
6137
7060
|
if (part.length > 2 && part.startsWith("`") && part.endsWith("`")) {
|
|
6138
|
-
return /* @__PURE__ */
|
|
7061
|
+
return /* @__PURE__ */ jsx18("code", { className: "rounded bg-muted px-1 text-[0.9em]", children: part.slice(1, -1) }, i);
|
|
6139
7062
|
}
|
|
6140
7063
|
if (part.length > 2 && part.startsWith("*") && part.endsWith("*")) {
|
|
6141
|
-
return /* @__PURE__ */
|
|
7064
|
+
return /* @__PURE__ */ jsx18("em", { children: part.slice(1, -1) }, i);
|
|
6142
7065
|
}
|
|
6143
|
-
return /* @__PURE__ */
|
|
7066
|
+
return /* @__PURE__ */ jsx18(Fragment5, { children: part }, i);
|
|
6144
7067
|
});
|
|
6145
7068
|
}
|
|
6146
7069
|
var BULLET = /^\s*[-*]\s+(.*)$/;
|
|
@@ -6151,14 +7074,14 @@ function renderBlocks(lines, keyPrefix) {
|
|
|
6151
7074
|
const flushBullets = () => {
|
|
6152
7075
|
if (!bullets.length) return;
|
|
6153
7076
|
out.push(
|
|
6154
|
-
/* @__PURE__ */
|
|
7077
|
+
/* @__PURE__ */ jsx18("ul", { className: "list-disc pl-5", children: bullets.map((b, i) => /* @__PURE__ */ jsx18("li", { children: renderInline(b) }, i)) }, `${keyPrefix}-u${out.length}`)
|
|
6155
7078
|
);
|
|
6156
7079
|
bullets = [];
|
|
6157
7080
|
};
|
|
6158
7081
|
const flushPara = () => {
|
|
6159
7082
|
if (!para.length) return;
|
|
6160
7083
|
out.push(
|
|
6161
|
-
/* @__PURE__ */
|
|
7084
|
+
/* @__PURE__ */ jsx18("p", { className: "whitespace-pre-wrap", children: renderInline(para.join("\n")) }, `${keyPrefix}-p${out.length}`)
|
|
6162
7085
|
);
|
|
6163
7086
|
para = [];
|
|
6164
7087
|
};
|
|
@@ -6192,20 +7115,20 @@ function renderCommentMarkdown(body) {
|
|
|
6192
7115
|
}
|
|
6193
7116
|
return runs.map((run, i) => {
|
|
6194
7117
|
const blocks = renderBlocks(run.lines, `r${i}`);
|
|
6195
|
-
return run.quoted ? /* @__PURE__ */
|
|
7118
|
+
return run.quoted ? /* @__PURE__ */ jsx18(
|
|
6196
7119
|
"blockquote",
|
|
6197
7120
|
{
|
|
6198
7121
|
className: "border-l-2 border-border pl-2 text-muted-foreground",
|
|
6199
7122
|
children: blocks
|
|
6200
7123
|
},
|
|
6201
7124
|
i
|
|
6202
|
-
) : /* @__PURE__ */
|
|
7125
|
+
) : /* @__PURE__ */ jsx18(Fragment5, { children: blocks }, i);
|
|
6203
7126
|
});
|
|
6204
7127
|
}
|
|
6205
7128
|
function CommentBody({ body, className }) {
|
|
6206
7129
|
const { commentBody: HostBody } = useAssociationsUiPorts();
|
|
6207
|
-
if (HostBody) return /* @__PURE__ */
|
|
6208
|
-
return /* @__PURE__ */
|
|
7130
|
+
if (HostBody) return /* @__PURE__ */ jsx18(HostBody, { body, className });
|
|
7131
|
+
return /* @__PURE__ */ jsx18(
|
|
6209
7132
|
"div",
|
|
6210
7133
|
{
|
|
6211
7134
|
"data-comment-body": true,
|
|
@@ -6217,7 +7140,7 @@ function CommentBody({ body, className }) {
|
|
|
6217
7140
|
|
|
6218
7141
|
// src/react/components/CommentThread.tsx
|
|
6219
7142
|
import { formatRelativeTime } from "@ai-matrx/kit/format";
|
|
6220
|
-
import { Fragment as Fragment6, jsx as
|
|
7143
|
+
import { Fragment as Fragment6, jsx as jsx19, jsxs as jsxs15 } from "react/jsx-runtime";
|
|
6221
7144
|
var AUTHOR_DOOR_TOKEN = "user";
|
|
6222
7145
|
var SYSTEM_AUTHOR_NAME = "AI Matrx";
|
|
6223
7146
|
function resolveAuthor(comment, authorDisplay) {
|
|
@@ -6232,24 +7155,24 @@ function resolveAuthor(comment, authorDisplay) {
|
|
|
6232
7155
|
isAgent: true
|
|
6233
7156
|
};
|
|
6234
7157
|
}
|
|
6235
|
-
const
|
|
7158
|
+
const base = {
|
|
6236
7159
|
userId: comment.createdBy,
|
|
6237
7160
|
email: comment.author.email,
|
|
6238
7161
|
displayName: comment.author.displayName,
|
|
6239
7162
|
avatarUrl: comment.author.avatarUrl
|
|
6240
7163
|
};
|
|
6241
|
-
const enriched = authorDisplay ? authorDisplay(
|
|
6242
|
-
const name = enriched?.displayName ??
|
|
7164
|
+
const enriched = authorDisplay ? authorDisplay(base) : null;
|
|
7165
|
+
const name = enriched?.displayName ?? base.displayName ?? base.email ?? "Unknown user";
|
|
6243
7166
|
return {
|
|
6244
7167
|
name,
|
|
6245
|
-
avatarUrl: enriched?.avatarUrl !== void 0 && enriched?.avatarUrl !== null ? enriched.avatarUrl :
|
|
7168
|
+
avatarUrl: enriched?.avatarUrl !== void 0 && enriched?.avatarUrl !== null ? enriched.avatarUrl : base.avatarUrl,
|
|
6246
7169
|
userId: comment.createdBy,
|
|
6247
7170
|
isAgent: false
|
|
6248
7171
|
};
|
|
6249
7172
|
}
|
|
6250
7173
|
function AuthorAvatar({ author }) {
|
|
6251
7174
|
if (author.avatarUrl) {
|
|
6252
|
-
return /* @__PURE__ */
|
|
7175
|
+
return /* @__PURE__ */ jsx19(
|
|
6253
7176
|
"img",
|
|
6254
7177
|
{
|
|
6255
7178
|
src: author.avatarUrl,
|
|
@@ -6258,7 +7181,7 @@ function AuthorAvatar({ author }) {
|
|
|
6258
7181
|
}
|
|
6259
7182
|
);
|
|
6260
7183
|
}
|
|
6261
|
-
return /* @__PURE__ */
|
|
7184
|
+
return /* @__PURE__ */ jsx19(
|
|
6262
7185
|
"span",
|
|
6263
7186
|
{
|
|
6264
7187
|
"aria-hidden": true,
|
|
@@ -6273,7 +7196,7 @@ function AuthorName({
|
|
|
6273
7196
|
}) {
|
|
6274
7197
|
const DoorRef2 = entityDoors?.EntityRef;
|
|
6275
7198
|
if (DoorRef2 && author.userId) {
|
|
6276
|
-
return /* @__PURE__ */
|
|
7199
|
+
return /* @__PURE__ */ jsx19(
|
|
6277
7200
|
DoorRef2,
|
|
6278
7201
|
{
|
|
6279
7202
|
token: AUTHOR_DOOR_TOKEN,
|
|
@@ -6284,7 +7207,7 @@ function AuthorName({
|
|
|
6284
7207
|
}
|
|
6285
7208
|
);
|
|
6286
7209
|
}
|
|
6287
|
-
return /* @__PURE__ */
|
|
7210
|
+
return /* @__PURE__ */ jsx19("span", { className: "text-sm font-medium text-foreground", children: author.name });
|
|
6288
7211
|
}
|
|
6289
7212
|
function CommentComposer({
|
|
6290
7213
|
onSubmit,
|
|
@@ -6315,8 +7238,8 @@ function CommentComposer({
|
|
|
6315
7238
|
}
|
|
6316
7239
|
setBody("");
|
|
6317
7240
|
}
|
|
6318
|
-
return /* @__PURE__ */
|
|
6319
|
-
/* @__PURE__ */
|
|
7241
|
+
return /* @__PURE__ */ jsxs15("form", { onSubmit: submit, className: "flex flex-col gap-1.5", children: [
|
|
7242
|
+
/* @__PURE__ */ jsx19(
|
|
6320
7243
|
"textarea",
|
|
6321
7244
|
{
|
|
6322
7245
|
value: body,
|
|
@@ -6331,7 +7254,7 @@ function CommentComposer({
|
|
|
6331
7254
|
className: "w-full resize-y rounded-md border border-border bg-background px-3 py-2 text-sm text-foreground placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring"
|
|
6332
7255
|
}
|
|
6333
7256
|
),
|
|
6334
|
-
error && /* @__PURE__ */
|
|
7257
|
+
error && /* @__PURE__ */ jsx19(
|
|
6335
7258
|
ErrorBox2,
|
|
6336
7259
|
{
|
|
6337
7260
|
className: "text-xs text-destructive",
|
|
@@ -6341,10 +7264,10 @@ function CommentComposer({
|
|
|
6341
7264
|
origin: "associations/CommentThread"
|
|
6342
7265
|
}
|
|
6343
7266
|
),
|
|
6344
|
-
error && signIn && isSignedOutMessage(error) && /* @__PURE__ */
|
|
6345
|
-
/* @__PURE__ */
|
|
6346
|
-
/* @__PURE__ */
|
|
6347
|
-
submitting && /* @__PURE__ */
|
|
7267
|
+
error && signIn && isSignedOutMessage(error) && /* @__PURE__ */ jsx19(SignInAgain, { onClick: signIn }),
|
|
7268
|
+
/* @__PURE__ */ jsxs15("div", { className: "flex items-center gap-2", children: [
|
|
7269
|
+
/* @__PURE__ */ jsxs15(Button4, { type: "submit", size: "sm", disabled: !body.trim() || submitting, children: [
|
|
7270
|
+
submitting && /* @__PURE__ */ jsx19(SpinnerIcon, { className: "mr-1 h-3 w-3 animate-spin" }),
|
|
6348
7271
|
submitLabel
|
|
6349
7272
|
] }),
|
|
6350
7273
|
trailing
|
|
@@ -6386,7 +7309,7 @@ function CommentItem({
|
|
|
6386
7309
|
notifier.error(res.error ?? "Could not delete the comment");
|
|
6387
7310
|
}
|
|
6388
7311
|
}
|
|
6389
|
-
return /* @__PURE__ */
|
|
7312
|
+
return /* @__PURE__ */ jsxs15(
|
|
6390
7313
|
"div",
|
|
6391
7314
|
{
|
|
6392
7315
|
"data-comment-id": comment.id,
|
|
@@ -6395,15 +7318,15 @@ function CommentItem({
|
|
|
6395
7318
|
depth > 0 && "border-l border-border pl-3"
|
|
6396
7319
|
),
|
|
6397
7320
|
children: [
|
|
6398
|
-
/* @__PURE__ */
|
|
6399
|
-
/* @__PURE__ */
|
|
6400
|
-
/* @__PURE__ */
|
|
6401
|
-
author.isAgent && /* @__PURE__ */
|
|
6402
|
-
showPart && partLabel && /* @__PURE__ */
|
|
7321
|
+
/* @__PURE__ */ jsxs15("div", { className: "flex items-center gap-2", children: [
|
|
7322
|
+
/* @__PURE__ */ jsx19(AuthorAvatar, { author }),
|
|
7323
|
+
/* @__PURE__ */ jsx19(AuthorName, { author, entityDoors }),
|
|
7324
|
+
author.isAgent && /* @__PURE__ */ jsx19("span", { className: "rounded bg-muted px-1 py-0.5 text-[10px] font-medium uppercase tracking-wide text-muted-foreground", children: "Agent" }),
|
|
7325
|
+
showPart && partLabel && /* @__PURE__ */ jsxs15("span", { className: "truncate text-xs text-muted-foreground", title: partLabel, children: [
|
|
6403
7326
|
"on ",
|
|
6404
7327
|
partLabel
|
|
6405
7328
|
] }),
|
|
6406
|
-
/* @__PURE__ */
|
|
7329
|
+
/* @__PURE__ */ jsx19(
|
|
6407
7330
|
"span",
|
|
6408
7331
|
{
|
|
6409
7332
|
className: "text-xs text-muted-foreground",
|
|
@@ -6414,7 +7337,7 @@ function CommentItem({
|
|
|
6414
7337
|
})
|
|
6415
7338
|
}
|
|
6416
7339
|
),
|
|
6417
|
-
edited && /* @__PURE__ */
|
|
7340
|
+
edited && /* @__PURE__ */ jsx19(
|
|
6418
7341
|
"span",
|
|
6419
7342
|
{
|
|
6420
7343
|
className: "text-xs text-muted-foreground",
|
|
@@ -6423,7 +7346,7 @@ function CommentItem({
|
|
|
6423
7346
|
}
|
|
6424
7347
|
)
|
|
6425
7348
|
] }),
|
|
6426
|
-
editing ? /* @__PURE__ */
|
|
7349
|
+
editing ? /* @__PURE__ */ jsx19("div", { className: "pl-8", children: /* @__PURE__ */ jsx19(
|
|
6427
7350
|
CommentComposer,
|
|
6428
7351
|
{
|
|
6429
7352
|
initialValue: comment.body,
|
|
@@ -6435,7 +7358,7 @@ function CommentItem({
|
|
|
6435
7358
|
if (res.ok) setEditing(false);
|
|
6436
7359
|
return res;
|
|
6437
7360
|
},
|
|
6438
|
-
trailing: /* @__PURE__ */
|
|
7361
|
+
trailing: /* @__PURE__ */ jsx19(
|
|
6439
7362
|
Button4,
|
|
6440
7363
|
{
|
|
6441
7364
|
type: "button",
|
|
@@ -6446,10 +7369,10 @@ function CommentItem({
|
|
|
6446
7369
|
}
|
|
6447
7370
|
)
|
|
6448
7371
|
}
|
|
6449
|
-
) }) : /* @__PURE__ */
|
|
6450
|
-
!editing && /* @__PURE__ */
|
|
6451
|
-
/* @__PURE__ */
|
|
6452
|
-
/* @__PURE__ */
|
|
7372
|
+
) }) : /* @__PURE__ */ jsx19(CommentBody, { body: comment.body, className: "pl-8" }),
|
|
7373
|
+
!editing && /* @__PURE__ */ jsx19("div", { className: "flex items-center gap-1 pl-7", children: confirmingDelete ? /* @__PURE__ */ jsxs15(Fragment6, { children: [
|
|
7374
|
+
/* @__PURE__ */ jsx19("span", { className: "text-xs text-destructive", children: "Deletes this comment for everyone." }),
|
|
7375
|
+
/* @__PURE__ */ jsxs15(
|
|
6453
7376
|
Button4,
|
|
6454
7377
|
{
|
|
6455
7378
|
type: "button",
|
|
@@ -6458,12 +7381,12 @@ function CommentItem({
|
|
|
6458
7381
|
disabled: deleting,
|
|
6459
7382
|
onClick: () => void confirmDelete(),
|
|
6460
7383
|
children: [
|
|
6461
|
-
deleting && /* @__PURE__ */
|
|
7384
|
+
deleting && /* @__PURE__ */ jsx19(SpinnerIcon, { className: "mr-1 h-3 w-3 animate-spin" }),
|
|
6462
7385
|
"Delete"
|
|
6463
7386
|
]
|
|
6464
7387
|
}
|
|
6465
7388
|
),
|
|
6466
|
-
/* @__PURE__ */
|
|
7389
|
+
/* @__PURE__ */ jsx19(
|
|
6467
7390
|
Button4,
|
|
6468
7391
|
{
|
|
6469
7392
|
type: "button",
|
|
@@ -6474,8 +7397,8 @@ function CommentItem({
|
|
|
6474
7397
|
children: "Cancel"
|
|
6475
7398
|
}
|
|
6476
7399
|
)
|
|
6477
|
-
] }) : /* @__PURE__ */
|
|
6478
|
-
/* @__PURE__ */
|
|
7400
|
+
] }) : /* @__PURE__ */ jsxs15(Fragment6, { children: [
|
|
7401
|
+
/* @__PURE__ */ jsx19(
|
|
6479
7402
|
"button",
|
|
6480
7403
|
{
|
|
6481
7404
|
type: "button",
|
|
@@ -6484,8 +7407,8 @@ function CommentItem({
|
|
|
6484
7407
|
children: "Reply"
|
|
6485
7408
|
}
|
|
6486
7409
|
),
|
|
6487
|
-
isOwn && /* @__PURE__ */
|
|
6488
|
-
canEdit && /* @__PURE__ */
|
|
7410
|
+
isOwn && /* @__PURE__ */ jsxs15(Fragment6, { children: [
|
|
7411
|
+
canEdit && /* @__PURE__ */ jsx19(
|
|
6489
7412
|
"button",
|
|
6490
7413
|
{
|
|
6491
7414
|
type: "button",
|
|
@@ -6494,7 +7417,7 @@ function CommentItem({
|
|
|
6494
7417
|
children: "Edit"
|
|
6495
7418
|
}
|
|
6496
7419
|
),
|
|
6497
|
-
/* @__PURE__ */
|
|
7420
|
+
/* @__PURE__ */ jsx19(
|
|
6498
7421
|
"button",
|
|
6499
7422
|
{
|
|
6500
7423
|
type: "button",
|
|
@@ -6505,9 +7428,9 @@ function CommentItem({
|
|
|
6505
7428
|
)
|
|
6506
7429
|
] })
|
|
6507
7430
|
] }) }),
|
|
6508
|
-
replying && /* @__PURE__ */
|
|
6509
|
-
/* @__PURE__ */
|
|
6510
|
-
/* @__PURE__ */
|
|
7431
|
+
replying && /* @__PURE__ */ jsxs15("div", { className: "flex items-start gap-2 pl-8 pt-1", children: [
|
|
7432
|
+
/* @__PURE__ */ jsx19(CornerDownRightIcon, { className: "mt-2 h-3.5 w-3.5 shrink-0 text-muted-foreground" }),
|
|
7433
|
+
/* @__PURE__ */ jsx19("div", { className: "min-w-0 flex-1", children: /* @__PURE__ */ jsx19(
|
|
6511
7434
|
CommentComposer,
|
|
6512
7435
|
{
|
|
6513
7436
|
submitLabel: "Reply",
|
|
@@ -6524,7 +7447,7 @@ function CommentItem({
|
|
|
6524
7447
|
}
|
|
6525
7448
|
return res;
|
|
6526
7449
|
},
|
|
6527
|
-
trailing: /* @__PURE__ */
|
|
7450
|
+
trailing: /* @__PURE__ */ jsx19(
|
|
6528
7451
|
Button4,
|
|
6529
7452
|
{
|
|
6530
7453
|
type: "button",
|
|
@@ -6537,7 +7460,7 @@ function CommentItem({
|
|
|
6537
7460
|
}
|
|
6538
7461
|
) })
|
|
6539
7462
|
] }),
|
|
6540
|
-
replies.length > 0 && /* @__PURE__ */
|
|
7463
|
+
replies.length > 0 && /* @__PURE__ */ jsx19("div", { className: "flex flex-col gap-3 pl-8 pt-1", children: replies.map((reply) => /* @__PURE__ */ jsx19(
|
|
6541
7464
|
CommentItem,
|
|
6542
7465
|
{
|
|
6543
7466
|
comment: reply,
|
|
@@ -6593,11 +7516,11 @@ function CommentThread({
|
|
|
6593
7516
|
const roots = part ? tree.roots.filter((c) => partKeyOf(c) === part.key) : tree.roots;
|
|
6594
7517
|
const shownCount = part ? countThread(roots, childrenOf) : thread.comments.length;
|
|
6595
7518
|
const loading = (thread.status === "loading" || thread.status === "idle") && thread.comments.length === 0;
|
|
6596
|
-
return /* @__PURE__ */
|
|
6597
|
-
showHeader && /* @__PURE__ */
|
|
6598
|
-
/* @__PURE__ */
|
|
6599
|
-
/* @__PURE__ */
|
|
6600
|
-
/* @__PURE__ */
|
|
7519
|
+
return /* @__PURE__ */ jsxs15("section", { className: cn14("flex flex-col gap-3", className), children: [
|
|
7520
|
+
showHeader && /* @__PURE__ */ jsxs15("header", { className: "flex items-center gap-2", children: [
|
|
7521
|
+
/* @__PURE__ */ jsx19("h3", { className: "text-sm font-semibold text-foreground", children: "Comments" }),
|
|
7522
|
+
/* @__PURE__ */ jsx19("span", { className: "text-xs text-muted-foreground tabular-nums", children: shownCount }),
|
|
7523
|
+
/* @__PURE__ */ jsx19(
|
|
6601
7524
|
"button",
|
|
6602
7525
|
{
|
|
6603
7526
|
type: "button",
|
|
@@ -6605,11 +7528,11 @@ function CommentThread({
|
|
|
6605
7528
|
"aria-label": "Refresh comments",
|
|
6606
7529
|
title: "Refresh comments",
|
|
6607
7530
|
className: "ml-auto flex h-6 w-6 items-center justify-center rounded text-muted-foreground transition-colors hover:bg-accent hover:text-foreground",
|
|
6608
|
-
children: thread.status === "loading" ? /* @__PURE__ */
|
|
7531
|
+
children: thread.status === "loading" ? /* @__PURE__ */ jsx19(SpinnerIcon, { className: "h-3.5 w-3.5 animate-spin" }) : /* @__PURE__ */ jsx19(RefreshIcon, { className: "h-3.5 w-3.5" })
|
|
6609
7532
|
}
|
|
6610
7533
|
)
|
|
6611
7534
|
] }),
|
|
6612
|
-
thread.error && /* @__PURE__ */
|
|
7535
|
+
thread.error && /* @__PURE__ */ jsxs15(
|
|
6613
7536
|
ErrorBox2,
|
|
6614
7537
|
{
|
|
6615
7538
|
as: "div",
|
|
@@ -6618,9 +7541,9 @@ function CommentThread({
|
|
|
6618
7541
|
operation: "Load comments",
|
|
6619
7542
|
origin: "associations/CommentThread",
|
|
6620
7543
|
children: [
|
|
6621
|
-
/* @__PURE__ */
|
|
6622
|
-
signInPort && isSignedOutMessage(thread.error) && /* @__PURE__ */
|
|
6623
|
-
/* @__PURE__ */
|
|
7544
|
+
/* @__PURE__ */ jsx19("span", { className: "min-w-0 flex-1", children: thread.error }),
|
|
7545
|
+
signInPort && isSignedOutMessage(thread.error) && /* @__PURE__ */ jsx19(SignInAgain, { onClick: signInPort }),
|
|
7546
|
+
/* @__PURE__ */ jsx19(
|
|
6624
7547
|
Button4,
|
|
6625
7548
|
{
|
|
6626
7549
|
type: "button",
|
|
@@ -6634,10 +7557,10 @@ function CommentThread({
|
|
|
6634
7557
|
]
|
|
6635
7558
|
}
|
|
6636
7559
|
),
|
|
6637
|
-
loading ? /* @__PURE__ */
|
|
6638
|
-
/* @__PURE__ */
|
|
6639
|
-
/* @__PURE__ */
|
|
6640
|
-
] }) : roots.length === 0 && !thread.error ? /* @__PURE__ */
|
|
7560
|
+
loading ? /* @__PURE__ */ jsxs15("div", { className: "flex flex-col gap-3", "aria-hidden": true, "data-testid": "comments-loading", children: [
|
|
7561
|
+
/* @__PURE__ */ jsx19(Skeleton2, { className: "h-12 w-full" }),
|
|
7562
|
+
/* @__PURE__ */ jsx19(Skeleton2, { className: "h-12 w-4/5" })
|
|
7563
|
+
] }) : roots.length === 0 && !thread.error ? /* @__PURE__ */ jsx19("p", { className: "text-sm text-muted-foreground", children: "No comments yet." }) : /* @__PURE__ */ jsx19("div", { className: "flex flex-col gap-4", children: roots.map((comment) => /* @__PURE__ */ jsx19(
|
|
6641
7564
|
CommentItem,
|
|
6642
7565
|
{
|
|
6643
7566
|
comment,
|
|
@@ -6650,7 +7573,7 @@ function CommentThread({
|
|
|
6650
7573
|
},
|
|
6651
7574
|
comment.id
|
|
6652
7575
|
)) }),
|
|
6653
|
-
/* @__PURE__ */
|
|
7576
|
+
/* @__PURE__ */ jsx19(
|
|
6654
7577
|
CommentComposer,
|
|
6655
7578
|
{
|
|
6656
7579
|
onSubmit: async (body) => {
|
|
@@ -6664,7 +7587,7 @@ function CommentThread({
|
|
|
6664
7587
|
] });
|
|
6665
7588
|
}
|
|
6666
7589
|
function SignInAgain({ onClick }) {
|
|
6667
|
-
return /* @__PURE__ */
|
|
7590
|
+
return /* @__PURE__ */ jsx19(Button4, { type: "button", size: "sm", variant: "outline", onClick, children: "Sign in" });
|
|
6668
7591
|
}
|
|
6669
7592
|
export {
|
|
6670
7593
|
AssociationCandidateBody,
|