@arbidocs/blocks 0.4.141 → 0.4.143

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.
Files changed (222) hide show
  1. package/dist/agents/index.cjs +440 -436
  2. package/dist/agents/index.js +12 -8
  3. package/dist/chat/index.cjs +139 -138
  4. package/dist/chat/index.js +4 -3
  5. package/dist/{chunk-S24XEVPS.cjs → chunk-464YPRAE.cjs} +33 -2
  6. package/dist/chunk-464YPRAE.cjs.map +1 -0
  7. package/dist/{chunk-7YLJHTDC.cjs → chunk-5A2QQAF5.cjs} +11 -11
  8. package/dist/{chunk-7YLJHTDC.cjs.map → chunk-5A2QQAF5.cjs.map} +1 -1
  9. package/dist/{chunk-ON3TKY5Y.js → chunk-5YHEHEJT.js} +242 -4
  10. package/dist/chunk-5YHEHEJT.js.map +1 -0
  11. package/dist/chunk-76L6LOP3.cjs +308 -0
  12. package/dist/chunk-76L6LOP3.cjs.map +1 -0
  13. package/dist/chunk-AHDJXIUB.cjs +25 -0
  14. package/dist/chunk-AHDJXIUB.cjs.map +1 -0
  15. package/dist/chunk-AOSUHWIL.js +98 -0
  16. package/dist/chunk-AOSUHWIL.js.map +1 -0
  17. package/dist/{chunk-YFF3GTJQ.js → chunk-C44TDH54.js} +14 -1613
  18. package/dist/chunk-C44TDH54.js.map +1 -0
  19. package/dist/{chunk-GFRQG36Y.cjs → chunk-COCGRJLA.cjs} +213 -57
  20. package/dist/chunk-COCGRJLA.cjs.map +1 -0
  21. package/dist/chunk-CQCC7LE7.js +210 -0
  22. package/dist/chunk-CQCC7LE7.js.map +1 -0
  23. package/dist/{chunk-UGCKUXRV.js → chunk-CSI2B2H5.js} +3 -3
  24. package/dist/{chunk-UGCKUXRV.js.map → chunk-CSI2B2H5.js.map} +1 -1
  25. package/dist/{chunk-R26BK7YL.cjs → chunk-DTROMMDX.cjs} +4 -4
  26. package/dist/{chunk-R26BK7YL.cjs.map → chunk-DTROMMDX.cjs.map} +1 -1
  27. package/dist/{chunk-65THHQVB.cjs → chunk-ECW2R2KF.cjs} +27 -27
  28. package/dist/{chunk-65THHQVB.cjs.map → chunk-ECW2R2KF.cjs.map} +1 -1
  29. package/dist/{chunk-RI6DZA5X.js → chunk-EF4ZLKRM.js} +3 -3
  30. package/dist/{chunk-RI6DZA5X.js.map → chunk-EF4ZLKRM.js.map} +1 -1
  31. package/dist/{chunk-WS5EX7DN.cjs → chunk-EYKISBDO.cjs} +5 -5
  32. package/dist/{chunk-WS5EX7DN.cjs.map → chunk-EYKISBDO.cjs.map} +1 -1
  33. package/dist/chunk-FJETR2AS.js +561 -0
  34. package/dist/chunk-FJETR2AS.js.map +1 -0
  35. package/dist/{chunk-JO3EMZ4X.js → chunk-GWSGIZQ5.js} +3 -3
  36. package/dist/{chunk-JO3EMZ4X.js.map → chunk-GWSGIZQ5.js.map} +1 -1
  37. package/dist/{chunk-O6W6RW3B.js → chunk-H4D7WKDY.js} +207 -54
  38. package/dist/chunk-H4D7WKDY.js.map +1 -0
  39. package/dist/{chunk-OAQEUTNJ.cjs → chunk-HAOKT4LC.cjs} +5 -5
  40. package/dist/{chunk-OAQEUTNJ.cjs.map → chunk-HAOKT4LC.cjs.map} +1 -1
  41. package/dist/{chunk-YWY2KIX2.js → chunk-IJST4EBM.js} +13 -9
  42. package/dist/chunk-IJST4EBM.js.map +1 -0
  43. package/dist/{chunk-3RJN2VTL.js → chunk-IXWJGOM2.js} +3 -3
  44. package/dist/{chunk-3RJN2VTL.js.map → chunk-IXWJGOM2.js.map} +1 -1
  45. package/dist/{chunk-CYNF5PZI.js → chunk-J5CWKFSC.js} +3 -3
  46. package/dist/{chunk-CYNF5PZI.js.map → chunk-J5CWKFSC.js.map} +1 -1
  47. package/dist/{chunk-OWCEQKAR.cjs → chunk-JSTKEZBS.cjs} +21 -318
  48. package/dist/chunk-JSTKEZBS.cjs.map +1 -0
  49. package/dist/{chunk-TP6PLDNM.cjs → chunk-KMZWKSKO.cjs} +8 -8
  50. package/dist/{chunk-TP6PLDNM.cjs.map → chunk-KMZWKSKO.cjs.map} +1 -1
  51. package/dist/{chunk-C4WSHRR6.cjs → chunk-KPZZ5FHE.cjs} +32 -12
  52. package/dist/chunk-KPZZ5FHE.cjs.map +1 -0
  53. package/dist/{chunk-CKCBBYTA.js → chunk-KSHKTOY2.js} +5 -205
  54. package/dist/chunk-KSHKTOY2.js.map +1 -0
  55. package/dist/chunk-LJJJ6CYH.cjs +62 -0
  56. package/dist/chunk-LJJJ6CYH.cjs.map +1 -0
  57. package/dist/chunk-LPYEUD2D.cjs +1627 -0
  58. package/dist/chunk-LPYEUD2D.cjs.map +1 -0
  59. package/dist/chunk-MHFF5N65.cjs +101 -0
  60. package/dist/chunk-MHFF5N65.cjs.map +1 -0
  61. package/dist/{chunk-GYAUJ4KT.js → chunk-MTSKK3BN.js} +32 -3
  62. package/dist/chunk-MTSKK3BN.js.map +1 -0
  63. package/dist/chunk-NHZK64TQ.js +75 -0
  64. package/dist/chunk-NHZK64TQ.js.map +1 -0
  65. package/dist/{chunk-BPBSSMRB.js → chunk-NRFAWUVD.js} +3 -3
  66. package/dist/{chunk-BPBSSMRB.js.map → chunk-NRFAWUVD.js.map} +1 -1
  67. package/dist/chunk-NWNVWO6L.cjs +80 -0
  68. package/dist/chunk-NWNVWO6L.cjs.map +1 -0
  69. package/dist/{chunk-CQ4MFKFC.cjs → chunk-O2GW5IY6.cjs} +90 -86
  70. package/dist/chunk-O2GW5IY6.cjs.map +1 -0
  71. package/dist/{chunk-3BFGL2JL.cjs → chunk-ODRHHWHY.cjs} +4 -4
  72. package/dist/{chunk-3BFGL2JL.cjs.map → chunk-ODRHHWHY.cjs.map} +1 -1
  73. package/dist/{chunk-Y3KA6X7B.js → chunk-OVR3XMYL.js} +4 -4
  74. package/dist/{chunk-Y3KA6X7B.js.map → chunk-OVR3XMYL.js.map} +1 -1
  75. package/dist/{chunk-Y5KTM3V5.js → chunk-PDKM27DF.js} +17 -295
  76. package/dist/chunk-PDKM27DF.js.map +1 -0
  77. package/dist/{chunk-OAL3B2ZU.cjs → chunk-PLJ7PHWU.cjs} +5 -5
  78. package/dist/{chunk-OAL3B2ZU.cjs.map → chunk-PLJ7PHWU.cjs.map} +1 -1
  79. package/dist/{chunk-2UUNSHDI.cjs → chunk-RB7GX2VT.cjs} +59 -1682
  80. package/dist/chunk-RB7GX2VT.cjs.map +1 -0
  81. package/dist/chunk-RFIBUWLF.cjs +232 -0
  82. package/dist/chunk-RFIBUWLF.cjs.map +1 -0
  83. package/dist/chunk-RLWIUUQ5.js +23 -0
  84. package/dist/chunk-RLWIUUQ5.js.map +1 -0
  85. package/dist/{chunk-MIDXCYZB.cjs → chunk-RQ2Y7USX.cjs} +15 -235
  86. package/dist/chunk-RQ2Y7USX.cjs.map +1 -0
  87. package/dist/chunk-SV65E4QW.js +58 -0
  88. package/dist/chunk-SV65E4QW.js.map +1 -0
  89. package/dist/{chunk-LYUO3E6V.js → chunk-SZOFGU7W.js} +3 -3
  90. package/dist/{chunk-LYUO3E6V.js.map → chunk-SZOFGU7W.js.map} +1 -1
  91. package/dist/chunk-T5B7FM7S.js +1602 -0
  92. package/dist/chunk-T5B7FM7S.js.map +1 -0
  93. package/dist/{chunk-YNIBUKV5.js → chunk-TBEVGWY3.js} +32 -14
  94. package/dist/chunk-TBEVGWY3.js.map +1 -0
  95. package/dist/{chunk-MJCCBMM5.cjs → chunk-TC3RQNEX.cjs} +6 -80
  96. package/dist/chunk-TC3RQNEX.cjs.map +1 -0
  97. package/dist/chunk-TZGBRLPK.js +288 -0
  98. package/dist/chunk-TZGBRLPK.js.map +1 -0
  99. package/dist/chunk-U6YVZDOV.cjs +574 -0
  100. package/dist/chunk-U6YVZDOV.cjs.map +1 -0
  101. package/dist/{chunk-QIMVTGKS.cjs → chunk-U73KPFYH.cjs} +255 -2
  102. package/dist/chunk-U73KPFYH.cjs.map +1 -0
  103. package/dist/{chunk-HFGXA5CL.cjs → chunk-UTTTJSQU.cjs} +4 -4
  104. package/dist/{chunk-HFGXA5CL.cjs.map → chunk-UTTTJSQU.cjs.map} +1 -1
  105. package/dist/{chunk-DLBUFHLY.js → chunk-VTTZZ4FN.js} +4 -74
  106. package/dist/chunk-VTTZZ4FN.js.map +1 -0
  107. package/dist/{chunk-5FTIHRZH.cjs → chunk-XVUOMWMD.cjs} +4 -4
  108. package/dist/{chunk-5FTIHRZH.cjs.map → chunk-XVUOMWMD.cjs.map} +1 -1
  109. package/dist/{chunk-3ZYOASAX.js → chunk-Y4ATWQGV.js} +3 -3
  110. package/dist/{chunk-3ZYOASAX.js.map → chunk-Y4ATWQGV.js.map} +1 -1
  111. package/dist/{chunk-444XKG46.js → chunk-YKQ2DPIP.js} +3 -3
  112. package/dist/{chunk-444XKG46.js.map → chunk-YKQ2DPIP.js.map} +1 -1
  113. package/dist/{chunk-HEMU73OP.cjs → chunk-YSHIC4NJ.cjs} +4 -4
  114. package/dist/{chunk-HEMU73OP.cjs.map → chunk-YSHIC4NJ.cjs.map} +1 -1
  115. package/dist/{chunk-5BXEYYH6.js → chunk-ZM26YEOT.js} +3 -3
  116. package/dist/{chunk-5BXEYYH6.js.map → chunk-ZM26YEOT.js.map} +1 -1
  117. package/dist/citations/index.cjs +12 -12
  118. package/dist/citations/index.js +3 -3
  119. package/dist/connect/docx.cjs +36 -7
  120. package/dist/connect/docx.cjs.map +1 -1
  121. package/dist/connect/docx.d.ts +9 -2
  122. package/dist/connect/docx.js +30 -6
  123. package/dist/connect/docx.js.map +1 -1
  124. package/dist/connect/index.cjs +805 -630
  125. package/dist/connect/index.cjs.map +1 -1
  126. package/dist/connect/index.d.ts +2 -0
  127. package/dist/connect/index.js +639 -509
  128. package/dist/connect/index.js.map +1 -1
  129. package/dist/connection/ConnectedSettings.d.ts +3 -2
  130. package/dist/connection/docx/ConnectedNativeDocxComparison.d.ts +5 -0
  131. package/dist/connection/docx/ConnectedNativeDocxEditor.d.ts +16 -0
  132. package/dist/connection/{ConnectedStreamedWordArtifact.d.ts → docx/ConnectedStreamedWordArtifact.d.ts} +1 -1
  133. package/dist/connection/docx/support.d.ts +27 -0
  134. package/dist/connection/docx/useConnectedDocxReferences.d.ts +2 -0
  135. package/dist/connection/docx/useConnectedHouseTemplate.d.ts +2 -0
  136. package/dist/connection/settings-page/ConnectedAccountSettings.d.ts +35 -0
  137. package/dist/connection/settings-page/ConnectedMailSettings.d.ts +13 -0
  138. package/dist/connection/settings-page/ConnectedPremiumModels.d.ts +1 -0
  139. package/dist/connection/settings-page/ConnectedPrivacySettings.d.ts +12 -0
  140. package/dist/connection/settings-page/ConnectedSettingsPage.d.ts +29 -0
  141. package/dist/connection/settings-page/SessionStatusIcon.d.ts +7 -0
  142. package/dist/connection/settings-page/index.d.ts +6 -0
  143. package/dist/docx/index.cjs +17 -63
  144. package/dist/docx/index.cjs.map +1 -1
  145. package/dist/docx/index.d.ts +1 -0
  146. package/dist/docx/index.js +2 -64
  147. package/dist/docx/index.js.map +1 -1
  148. package/dist/docx/template/candidates.d.ts +16 -0
  149. package/dist/facts/index.cjs +4 -4
  150. package/dist/facts/index.js +3 -3
  151. package/dist/files/index.cjs +3 -3
  152. package/dist/files/index.js +2 -2
  153. package/dist/home/index.cjs +20 -20
  154. package/dist/home/index.js +4 -4
  155. package/dist/index.cjs +793 -755
  156. package/dist/index.cjs.map +1 -1
  157. package/dist/index.d.ts +2 -0
  158. package/dist/index.js +25 -19
  159. package/dist/index.js.map +1 -1
  160. package/dist/lib/deep-link.d.ts +46 -0
  161. package/dist/lib/sidebar-mode.d.ts +1 -3
  162. package/dist/lib/use-close-on-escape.d.ts +6 -0
  163. package/dist/provider/BlocksProvider.d.ts +5 -1
  164. package/dist/provider/settings-section.d.ts +9 -0
  165. package/dist/retrieval/index.cjs +4 -4
  166. package/dist/retrieval/index.js +2 -2
  167. package/dist/settings/AppearanceSettings.d.ts +18 -0
  168. package/dist/settings/ServerConnectionControls.d.ts +16 -0
  169. package/dist/settings/SettingsPage.d.ts +31 -0
  170. package/dist/settings/index.cjs +189 -251
  171. package/dist/settings/index.cjs.map +1 -1
  172. package/dist/settings/index.d.ts +3 -1
  173. package/dist/settings/index.js +89 -200
  174. package/dist/settings/index.js.map +1 -1
  175. package/dist/shell/ShellSidebar.d.ts +37 -0
  176. package/dist/shell/Sidebar.d.ts +6 -6
  177. package/dist/shell/index.cjs +63 -50
  178. package/dist/shell/index.d.ts +4 -1
  179. package/dist/shell/index.js +5 -4
  180. package/dist/shell/types.d.ts +18 -0
  181. package/dist/shell/use-sidebar-controller.d.ts +59 -0
  182. package/dist/site/index.cjs +74 -73
  183. package/dist/site/index.js +3 -2
  184. package/dist/studio/index.cjs +80 -78
  185. package/dist/studio/index.cjs.map +1 -1
  186. package/dist/studio/index.js +10 -8
  187. package/dist/studio/index.js.map +1 -1
  188. package/dist/workflow-canvas/index.cjs +64 -60
  189. package/dist/workflow-canvas/index.cjs.map +1 -1
  190. package/dist/workflow-canvas/index.js +12 -8
  191. package/dist/workflow-canvas/index.js.map +1 -1
  192. package/dist/workspaces/index.cjs +3 -3
  193. package/dist/workspaces/index.js +2 -2
  194. package/node_modules/@arbidocs/coedit/package.json +1 -1
  195. package/package.json +4 -4
  196. package/dist/chunk-2UUNSHDI.cjs.map +0 -1
  197. package/dist/chunk-4TR5QCCX.cjs +0 -43
  198. package/dist/chunk-4TR5QCCX.cjs.map +0 -1
  199. package/dist/chunk-7NDW4KF4.cjs +0 -112
  200. package/dist/chunk-7NDW4KF4.cjs.map +0 -1
  201. package/dist/chunk-C4WSHRR6.cjs.map +0 -1
  202. package/dist/chunk-CKCBBYTA.js.map +0 -1
  203. package/dist/chunk-CQ4MFKFC.cjs.map +0 -1
  204. package/dist/chunk-DLBUFHLY.js.map +0 -1
  205. package/dist/chunk-ETXYVO6E.js +0 -109
  206. package/dist/chunk-ETXYVO6E.js.map +0 -1
  207. package/dist/chunk-GFRQG36Y.cjs.map +0 -1
  208. package/dist/chunk-GYAUJ4KT.js.map +0 -1
  209. package/dist/chunk-MCKOZACC.js +0 -41
  210. package/dist/chunk-MCKOZACC.js.map +0 -1
  211. package/dist/chunk-MIDXCYZB.cjs.map +0 -1
  212. package/dist/chunk-MJCCBMM5.cjs.map +0 -1
  213. package/dist/chunk-O6W6RW3B.js.map +0 -1
  214. package/dist/chunk-ON3TKY5Y.js.map +0 -1
  215. package/dist/chunk-OWCEQKAR.cjs.map +0 -1
  216. package/dist/chunk-QIMVTGKS.cjs.map +0 -1
  217. package/dist/chunk-S24XEVPS.cjs.map +0 -1
  218. package/dist/chunk-Y5KTM3V5.js.map +0 -1
  219. package/dist/chunk-YFF3GTJQ.js.map +0 -1
  220. package/dist/chunk-YNIBUKV5.js.map +0 -1
  221. package/dist/chunk-YWY2KIX2.js.map +0 -1
  222. package/dist/connection/ConnectedNativeDocxEditor.d.ts +0 -6
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/settings/MultiSelect.tsx"],"names":[],"mappings":"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","file":"chunk-CQCC7LE7.js","sourcesContent":["import * as React from 'react'\nimport { CheckIcon, ChevronDown, WandSparkles } from 'lucide-react'\n\nimport {\n Button,\n Command,\n CommandEmpty,\n CommandGroup,\n CommandInput,\n CommandItem,\n CommandList,\n CommandSeparator,\n Popover,\n PopoverContent,\n PopoverTrigger,\n Separator,\n cn,\n} from '@arbidocs/react/ui'\n\n/**\n * Variants for the multi-select component to handle different styles.\n * Uses class-variance-authority (cva) to define different styles based on \"variant\" prop.\n */\n\n/**\n * Props for MultiSelect component\n */\ninterface MultiSelectProps extends Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, 'onChange'> {\n /**\n * An array of option objects to be displayed in the multi-select component.\n * Each option object has a label, value, and an optional icon.\n */\n data: {\n /** The text to display for the option. */\n label: string\n /** The unique value associated with the option. */\n value: string\n /** Optional icon component to display alongside the option. */\n icon?: React.ComponentType<{ className?: string }>\n }[]\n\n /**\n * Current selected values.\n */\n value: string[]\n\n /**\n * Callback function triggered when the selected values change.\n * Receives an array of the new selected values.\n */\n onChange: (value: string[]) => void\n\n /**\n * Current search value for filtering options.\n */\n searchValue?: string\n\n /**\n * Callback function triggered when the search value changes.\n */\n onSearchChange?: (value: string) => void\n\n /**\n * Placeholder text to be displayed when no values are selected.\n * Optional, defaults to \"Select options\".\n */\n placeholder?: string\n\n /**\n * Whether the component is searchable.\n */\n searchable?: boolean\n\n /**\n * Whether the component is clearable.\n */\n clearable?: boolean\n\n /**\n * Size of the component.\n */\n size?: 'sm' | 'md' | 'lg'\n\n /**\n * Whether the component should auto focus.\n */\n autoFocus?: boolean\n\n /**\n * Callback triggered when dropdown opens.\n */\n onDropdownOpen?: () => void\n\n /**\n * Callback triggered when dropdown closes.\n */\n onDropdownClose?: () => void\n\n /**\n * Custom render function for options.\n */\n renderOption?: (params: {\n option: { label: string; value: string; icon?: React.ComponentType<{ className?: string }> }\n checked: boolean\n }) => React.ReactNode\n\n /**\n * Animation duration in seconds for the visual effects (e.g., bouncing badges).\n * Optional, defaults to 0 (no animation).\n */\n animation?: number\n\n /**\n * Maximum number of items to display. Extra selected items will be summarized.\n * Optional, defaults to 3.\n */\n maxCount?: number\n\n /**\n * The modality of the popover. When set to true, interaction with outside elements\n * will be disabled and only popover content will be visible to screen readers.\n * Optional, defaults to false.\n */\n modalPopover?: boolean\n\n /**\n * If true, renders the multi-select component as a child of another component.\n * Optional, defaults to false.\n */\n asChild?: boolean\n\n /**\n * Additional class names to apply custom styles to the multi-select component.\n * Optional, can be used to add custom styles.\n */\n className?: string\n}\n\nexport const MultiSelect = React.forwardRef<HTMLButtonElement, MultiSelectProps>(\n (\n {\n data,\n value,\n onChange,\n searchValue,\n onSearchChange,\n placeholder = 'Select options',\n searchable = false,\n clearable = false,\n size = 'md',\n autoFocus = false,\n onDropdownOpen,\n onDropdownClose,\n renderOption,\n animation = 0,\n modalPopover = false,\n className,\n ...props\n },\n ref\n ) => {\n const [isPopoverOpen, setIsPopoverOpen] = React.useState(false)\n const [internalSearchValue, setInternalSearchValue] = React.useState('')\n\n const currentSearchValue = searchValue ?? internalSearchValue\n\n React.useEffect(() => {\n if (isPopoverOpen && onDropdownOpen) {\n onDropdownOpen()\n } else if (!isPopoverOpen && onDropdownClose) {\n onDropdownClose()\n }\n }, [isPopoverOpen, onDropdownOpen, onDropdownClose])\n\n // Handle autoFocus - open dropdown immediately when component mounts\n React.useEffect(() => {\n if (autoFocus) {\n setIsPopoverOpen(true)\n }\n }, [autoFocus])\n\n const handleSearchValueChange = (newValue: string) => {\n if (onSearchChange) {\n onSearchChange(newValue)\n } else {\n setInternalSearchValue(newValue)\n }\n }\n\n const getSizeClasses = () => {\n switch (size) {\n case 'sm':\n return 'min-h-8 text-sm'\n case 'lg':\n return 'min-h-12 text-base'\n default:\n return 'min-h-10 text-sm'\n }\n }\n\n const handleInputKeyDown = (event: React.KeyboardEvent<HTMLInputElement>) => {\n if (event.key === 'Enter') {\n setIsPopoverOpen(true)\n } else if (event.key === 'Backspace' && !event.currentTarget.value) {\n const newSelectedValues = [...value]\n newSelectedValues.pop()\n onChange(newSelectedValues)\n }\n }\n\n const toggleOption = (optionValue: string) => {\n const newSelectedValues = value.includes(optionValue)\n ? value.filter((v) => v !== optionValue)\n : [...value, optionValue]\n onChange(newSelectedValues)\n }\n\n const handleClear = () => {\n onChange([])\n }\n\n const toggleAll = () => {\n if (value.length === data.length) {\n handleClear()\n } else {\n const allValues = data.map((option) => option.value)\n onChange(allValues)\n }\n }\n\n return (\n <Popover open={isPopoverOpen} onOpenChange={setIsPopoverOpen} modal={modalPopover}>\n <PopoverTrigger asChild>\n <Button\n ref={ref}\n {...props}\n variant=\"outline\"\n className={cn(\n 'flex w-full p-1 rounded-md border h-auto items-center justify-between bg-background hover:bg-accent [&_svg]:pointer-events-auto',\n getSizeClasses(),\n className\n )}\n data-testid=\"multi-select-trigger\"\n >\n <div className=\"flex items-center justify-between w-full mx-auto\">\n <span className=\"text-sm text-muted-foreground mx-3\">{placeholder}</span>\n <ChevronDown className=\"h-4 cursor-pointer text-muted-foreground mx-2\" />\n </div>\n </Button>\n </PopoverTrigger>\n <PopoverContent\n className=\"w-[var(--radix-popover-trigger-width)] p-0\"\n align=\"start\"\n side=\"bottom\"\n sideOffset={4}\n >\n <Command shouldFilter={true}>\n {searchable && (\n <CommandInput\n placeholder=\"Search...\"\n value={currentSearchValue}\n onValueChange={handleSearchValueChange}\n onKeyDown={handleInputKeyDown}\n autoFocus={autoFocus}\n />\n )}\n <CommandList>\n <CommandEmpty>No results found.</CommandEmpty>\n <CommandGroup>\n <CommandItem\n key=\"all\"\n onSelect={toggleAll}\n className=\"cursor-pointer\"\n data-testid=\"multi-select-all-option\"\n >\n <div\n className={cn(\n 'mr-2 flex h-4 w-4 items-center justify-center rounded-sm border border-primary',\n value.length === data.length\n ? 'bg-primary text-primary-foreground'\n : 'opacity-50 [&_svg]:invisible'\n )}\n >\n <CheckIcon className=\"h-4 w-4\" />\n </div>\n <span>(Select All)</span>\n </CommandItem>\n {data.map((option) => {\n const isSelected = value.includes(option.value)\n return (\n <CommandItem\n key={option.value}\n value={option.label}\n onSelect={() => toggleOption(option.value)}\n className=\"cursor-pointer\"\n data-testid={`multi-select-option-${option.value}`}\n >\n {renderOption ? (\n renderOption({ option, checked: isSelected })\n ) : (\n <>\n <div\n className={cn(\n 'mr-2 flex h-4 w-4 items-center justify-center rounded-sm border border-primary',\n isSelected\n ? 'bg-primary text-primary-foreground'\n : 'opacity-50 [&_svg]:invisible'\n )}\n >\n <CheckIcon className=\"h-4 w-4\" />\n </div>\n {option.icon && (\n <option.icon className=\"mr-2 h-4 w-4 text-muted-foreground\" />\n )}\n <span>{option.label}</span>\n </>\n )}\n </CommandItem>\n )\n })}\n </CommandGroup>\n <CommandSeparator />\n <CommandGroup>\n <div className=\"flex items-center justify-between\">\n {clearable && value.length > 0 && (\n <>\n <CommandItem\n onSelect={handleClear}\n className=\"flex-1 justify-center cursor-pointer\"\n data-testid=\"multi-select-clear-button\"\n >\n Clear\n </CommandItem>\n <Separator orientation=\"vertical\" className=\"flex min-h-6 h-full\" />\n </>\n )}\n <CommandItem\n onSelect={() => setIsPopoverOpen(false)}\n className=\"flex-1 justify-center cursor-pointer max-w-full\"\n data-testid=\"multi-select-close-button\"\n >\n Close\n </CommandItem>\n </div>\n </CommandGroup>\n </CommandList>\n </Command>\n </PopoverContent>\n {animation > 0 && value.length > 0 && (\n <WandSparkles className=\"cursor-pointer my-2 text-muted-foreground bg-background w-3 h-3\" />\n )}\n </Popover>\n )\n }\n)\n\nMultiSelect.displayName = 'MultiSelect'\n"]}
@@ -1,6 +1,6 @@
1
1
  "use client";
2
2
  import { useConnection } from './chunk-US3S4DCB.js';
3
- import { AssistantDock } from './chunk-JO3EMZ4X.js';
3
+ import { AssistantDock } from './chunk-GWSGIZQ5.js';
4
4
  import { takeOpenDocumentForTurn } from './chunk-YBLIKTJK.js';
5
5
  import { useCallback } from 'react';
6
6
  import { useAiTask, useWorkspaceDocs as useWorkspaceDocs$1, useSemanticSearch as useSemanticSearch$1, useWorkspaceUsers, useArbiChat } from '@arbidocs/react';
@@ -67,5 +67,5 @@ function ConnectedAssistantDock(props) {
67
67
  }
68
68
 
69
69
  export { ConnectedAssistantDock, useConnectedAiTask, useConnectedChat, useSemanticSearch, useWorkspaceDocs };
70
- //# sourceMappingURL=chunk-UGCKUXRV.js.map
71
- //# sourceMappingURL=chunk-UGCKUXRV.js.map
70
+ //# sourceMappingURL=chunk-CSI2B2H5.js.map
71
+ //# sourceMappingURL=chunk-CSI2B2H5.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/connection/ai.tsx"],"names":["useKitAiTask","useKitWorkspaceDocs","useKitSemanticSearch"],"mappings":"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","file":"chunk-UGCKUXRV.js","sourcesContent":["/**\n * The connected agent hooks — thin adapters over the reusable AI kit in\n * `@arbidocs/react`. The streaming/accumulation/search plumbing lives once in\n * the SDK; these hooks only bind the *workspace source* (from the connection\n * context, falling back to the configured workspace) and inject the host's\n * default assistant *configuration* so call sites needn't know the config\n * ext_id. An explicit `opts.model` still wins.\n */\nimport { useCallback } from 'react'\nimport {\n useAiTask as useKitAiTask,\n useWorkspaceDocs as useKitWorkspaceDocs,\n useSemanticSearch as useKitSemanticSearch,\n useArbiChat,\n useWorkspaceUsers,\n type ArbiChat,\n type UseArbiChatOptions,\n type AiRunOptions,\n} from '@arbidocs/react'\nimport { useConnection } from './ConnectionProvider'\nimport { AssistantDock, type AssistantDockProps } from '../chat/AssistantDock'\nimport type { MentionCandidate } from '../chat/mentions'\nimport { takeOpenDocumentForTurn } from '../chat/open-document'\n\nexport type { AiTaskStatus, AiRunOptions, SearchChunk, ArtifactEvent } from '@arbidocs/react'\n\n/** Client-side redlining, re-exported so a host app has one import surface. */\nexport { toRedlineMarkdown, redlineStats, textToArtifact } from '@arbidocs/react'\n\n/**\n * The kit's `useAiTask` with the host's default assistant configuration\n * injected, so call sites needn't know the config ext_id.\n */\nexport function useConnectedAiTask() {\n const { assistantConfig } = useConnection()\n const task = useKitAiTask()\n const kitRun = task.run\n const run = useCallback(\n (question: string, docIds: string[], opts?: AiRunOptions) =>\n kitRun(question, docIds, { ...opts, model: opts?.model ?? assistantConfig }),\n [kitRun, assistantConfig]\n )\n return { ...task, run }\n}\n\n/** Resolve the active workspace + its document ids (what we ground the agent on). */\nexport function useWorkspaceDocs() {\n const { workspaceId, fallbackWorkspaceId } = useConnection()\n return useKitWorkspaceDocs(workspaceId ?? fallbackWorkspaceId)\n}\n\n/** Search the active workspace's documents and return the top matching passages. */\nexport function useSemanticSearch() {\n const { docIds } = useWorkspaceDocs()\n return useKitSemanticSearch(docIds)\n}\n\n/**\n * The chat controller for `ChatPage` bound to the connection: the active workspace and the host's\n * default assistant configuration are injected, so a host writes\n * `<ChatPage chat={useConnectedChat()} />`.\n */\nexport function useConnectedChat(\n options?: Omit<UseArbiChatOptions, 'workspaceId'>\n): ArbiChat & { mentionCandidates: MentionCandidate[] } {\n const { workspaceId, fallbackWorkspaceId, assistantConfig, user, status, ensureWorkspaceOpen } =\n useConnection()\n const wsId = workspaceId ?? fallbackWorkspaceId\n const { data: members = [] } = useWorkspaceUsers(wsId, {\n enabled: status === 'authenticated' && !!wsId,\n beforeFetch: ensureWorkspaceOpen,\n })\n const mentionCandidates: MentionCandidate[] = [\n { id: 'assistant', kind: 'assistant', label: 'Assistant' },\n ...(status === 'authenticated' ? members : [])\n .filter(\n (member) =>\n !member.agent_ext_id &&\n member.user.external_id !== user?.externalId &&\n !member.user.external_id.startsWith('agt-')\n )\n .map((member) => ({\n id: member.user.external_id,\n kind: 'user' as const,\n label:\n [member.user.given_name, member.user.family_name].filter(Boolean).join(' ') ||\n member.user.email,\n description: member.user.email,\n }))\n .sort((a, b) => a.label.localeCompare(b.label)),\n ]\n const chat = useArbiChat({\n // Drafting mode: each question names the document open beside the chat.\n activeArtifact: () => takeOpenDocumentForTurn({ workspaceId: wsId }),\n ...options,\n workspaceId: wsId,\n model: options?.model ?? assistantConfig,\n })\n return {\n ...chat,\n mentionCandidates,\n messages: chat.messages.map((message) => ({\n ...message,\n ...(message.authorId\n ? {\n senderName:\n message.authorId === user?.externalId\n ? user?.name || user?.email\n : mentionCandidates.find((candidate) => candidate.id === message.authorId)?.label,\n }\n : {}),\n })),\n }\n}\n\n/**\n * The assistant dock bound to the connection: mount it once in the layout (`Shell.Root`'s `aside`)\n * and put `AssistantDockToggle` in the topbar. Chat state lives here, so it survives closing the dock.\n */\nexport function ConnectedAssistantDock(props: Omit<AssistantDockProps, 'chat'>) {\n const chat = useConnectedChat()\n return <AssistantDock {...props} chat={chat} />\n}\n"]}
1
+ {"version":3,"sources":["../src/connection/ai.tsx"],"names":["useKitAiTask","useKitWorkspaceDocs","useKitSemanticSearch"],"mappings":"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","file":"chunk-CSI2B2H5.js","sourcesContent":["/**\n * The connected agent hooks — thin adapters over the reusable AI kit in\n * `@arbidocs/react`. The streaming/accumulation/search plumbing lives once in\n * the SDK; these hooks only bind the *workspace source* (from the connection\n * context, falling back to the configured workspace) and inject the host's\n * default assistant *configuration* so call sites needn't know the config\n * ext_id. An explicit `opts.model` still wins.\n */\nimport { useCallback } from 'react'\nimport {\n useAiTask as useKitAiTask,\n useWorkspaceDocs as useKitWorkspaceDocs,\n useSemanticSearch as useKitSemanticSearch,\n useArbiChat,\n useWorkspaceUsers,\n type ArbiChat,\n type UseArbiChatOptions,\n type AiRunOptions,\n} from '@arbidocs/react'\nimport { useConnection } from './ConnectionProvider'\nimport { AssistantDock, type AssistantDockProps } from '../chat/AssistantDock'\nimport type { MentionCandidate } from '../chat/mentions'\nimport { takeOpenDocumentForTurn } from '../chat/open-document'\n\nexport type { AiTaskStatus, AiRunOptions, SearchChunk, ArtifactEvent } from '@arbidocs/react'\n\n/** Client-side redlining, re-exported so a host app has one import surface. */\nexport { toRedlineMarkdown, redlineStats, textToArtifact } from '@arbidocs/react'\n\n/**\n * The kit's `useAiTask` with the host's default assistant configuration\n * injected, so call sites needn't know the config ext_id.\n */\nexport function useConnectedAiTask() {\n const { assistantConfig } = useConnection()\n const task = useKitAiTask()\n const kitRun = task.run\n const run = useCallback(\n (question: string, docIds: string[], opts?: AiRunOptions) =>\n kitRun(question, docIds, { ...opts, model: opts?.model ?? assistantConfig }),\n [kitRun, assistantConfig]\n )\n return { ...task, run }\n}\n\n/** Resolve the active workspace + its document ids (what we ground the agent on). */\nexport function useWorkspaceDocs() {\n const { workspaceId, fallbackWorkspaceId } = useConnection()\n return useKitWorkspaceDocs(workspaceId ?? fallbackWorkspaceId)\n}\n\n/** Search the active workspace's documents and return the top matching passages. */\nexport function useSemanticSearch() {\n const { docIds } = useWorkspaceDocs()\n return useKitSemanticSearch(docIds)\n}\n\n/**\n * The chat controller for `ChatPage` bound to the connection: the active workspace and the host's\n * default assistant configuration are injected, so a host writes\n * `<ChatPage chat={useConnectedChat()} />`.\n */\nexport function useConnectedChat(\n options?: Omit<UseArbiChatOptions, 'workspaceId'>\n): ArbiChat & { mentionCandidates: MentionCandidate[] } {\n const { workspaceId, fallbackWorkspaceId, assistantConfig, user, status, ensureWorkspaceOpen } =\n useConnection()\n const wsId = workspaceId ?? fallbackWorkspaceId\n const { data: members = [] } = useWorkspaceUsers(wsId, {\n enabled: status === 'authenticated' && !!wsId,\n beforeFetch: ensureWorkspaceOpen,\n })\n const mentionCandidates: MentionCandidate[] = [\n { id: 'assistant', kind: 'assistant', label: 'Assistant' },\n ...(status === 'authenticated' ? members : [])\n .filter(\n (member) =>\n !member.agent_ext_id &&\n member.user.external_id !== user?.externalId &&\n !member.user.external_id.startsWith('agt-')\n )\n .map((member) => ({\n id: member.user.external_id,\n kind: 'user' as const,\n label:\n [member.user.given_name, member.user.family_name].filter(Boolean).join(' ') ||\n member.user.email,\n description: member.user.email,\n }))\n .sort((a, b) => a.label.localeCompare(b.label)),\n ]\n const chat = useArbiChat({\n // Drafting mode: each question names the document open beside the chat.\n activeArtifact: () => takeOpenDocumentForTurn({ workspaceId: wsId }),\n ...options,\n workspaceId: wsId,\n model: options?.model ?? assistantConfig,\n })\n return {\n ...chat,\n mentionCandidates,\n messages: chat.messages.map((message) => ({\n ...message,\n ...(message.authorId\n ? {\n senderName:\n message.authorId === user?.externalId\n ? user?.name || user?.email\n : mentionCandidates.find((candidate) => candidate.id === message.authorId)?.label,\n }\n : {}),\n })),\n }\n}\n\n/**\n * The assistant dock bound to the connection: mount it once in the layout (`Shell.Root`'s `aside`)\n * and put `AssistantDockToggle` in the topbar. Chat state lives here, so it survives closing the dock.\n */\nexport function ConnectedAssistantDock(props: Omit<AssistantDockProps, 'chat'>) {\n const chat = useConnectedChat()\n return <AssistantDock {...props} chat={chat} />\n}\n"]}
@@ -1,7 +1,7 @@
1
1
  "use client";
2
2
  'use strict';
3
3
 
4
- var chunkC4WSHRR6_cjs = require('./chunk-C4WSHRR6.cjs');
4
+ var chunkKPZZ5FHE_cjs = require('./chunk-KPZZ5FHE.cjs');
5
5
  var react = require('react');
6
6
  var jsxRuntime = require('react/jsx-runtime');
7
7
 
@@ -9,7 +9,7 @@ function isModifiedClick(event) {
9
9
  return event.button !== 0 || event.metaKey || event.ctrlKey || event.shiftKey || event.altKey;
10
10
  }
11
11
  var ActionLink = react.forwardRef(function ActionLink2({ href, onSelect, disabled, children, ...rest }, ref) {
12
- const { linkComponent: Link } = chunkC4WSHRR6_cjs.useBlocksEnvironment();
12
+ const { linkComponent: Link } = chunkKPZZ5FHE_cjs.useBlocksEnvironment();
13
13
  if (!href || disabled) {
14
14
  return /* @__PURE__ */ jsxRuntime.jsx(
15
15
  "button",
@@ -36,5 +36,5 @@ var ActionLink = react.forwardRef(function ActionLink2({ href, onSelect, disable
36
36
  });
37
37
 
38
38
  exports.ActionLink = ActionLink;
39
- //# sourceMappingURL=chunk-R26BK7YL.cjs.map
40
- //# sourceMappingURL=chunk-R26BK7YL.cjs.map
39
+ //# sourceMappingURL=chunk-DTROMMDX.cjs.map
40
+ //# sourceMappingURL=chunk-DTROMMDX.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/ActionLink.tsx"],"names":["forwardRef","ActionLink","useBlocksEnvironment","jsx"],"mappings":";;;;;;AAyBA,SAAS,gBAAgB,KAAA,EAA4B;AACnD,EAAA,OAAO,KAAA,CAAM,WAAW,CAAA,IAAK,KAAA,CAAM,WAAW,KAAA,CAAM,OAAA,IAAW,KAAA,CAAM,QAAA,IAAY,KAAA,CAAM,MAAA;AACzF;AAOO,IAAM,UAAA,GAAaA,gBAAA,CAAyC,SAASC,WAAAA,CAC1E,EAAE,IAAA,EAAM,QAAA,EAAU,QAAA,EAAU,QAAA,EAAU,GAAG,IAAA,EAAK,EAC9C,GAAA,EACA;AACA,EAAA,MAAM,EAAE,aAAA,EAAe,IAAA,EAAK,GAAIC,sCAAA,EAAqB;AAErD,EAAA,IAAI,CAAC,QAAQ,QAAA,EAAU;AACrB,IAAA,uBACEC,cAAA;AAAA,MAAC,QAAA;AAAA,MAAA;AAAA,QACE,GAAG,IAAA;AAAA,QACJ,GAAA;AAAA,QACA,IAAA,EAAK,QAAA;AAAA,QACL,QAAA;AAAA,QACA,OAAA,EAAS,QAAA;AAAA,QAER;AAAA;AAAA,KACH;AAAA,EAEJ;AAEA,EAAA,MAAM,WAAA,GAAc,CAAC,KAAA,KAAyC;AAC5D,IAAA,IAAI,CAAC,QAAA,IAAY,KAAA,CAAM,gBAAA,IAAoB,eAAA,CAAgB,KAAK,CAAA,EAAG;AACnE,IAAA,KAAA,CAAM,cAAA,EAAe;AACrB,IAAA,QAAA,EAAS;AAAA,EACX,CAAA;AACA,EAAA,MAAM,cAAc,EAAE,GAAG,IAAA,EAAM,IAAA,EAAM,SAAS,WAAA,EAAY;AAC1D,EAAA,IAAI,IAAA,EAAM;AACR,IAAA,uBACEA,cAAA,CAAC,QAAM,GAAG,WAAA,EAAc,GAAI,EAAE,GAAA,IAC3B,QAAA,EACH,CAAA;AAAA,EAEJ;AACA,EAAA,uBACEA,cAAA,CAAC,GAAA,EAAA,EAAG,GAAG,WAAA,EAAa,KACjB,QAAA,EACH,CAAA;AAEJ,CAAC","file":"chunk-R26BK7YL.cjs","sourcesContent":["import {\n forwardRef,\n type ComponentPropsWithoutRef,\n type MouseEvent,\n type ReactNode,\n type Ref,\n} from 'react'\nimport { useBlocksEnvironment } from '../provider/BlocksProvider'\nimport type { BlockLinkRenderProps } from './blockLink'\n\nexport interface ActionLinkProps extends Omit<\n ComponentPropsWithoutRef<'button'>,\n 'onClick' | 'type' | 'children'\n> {\n /**\n * Destination. When set (and not `disabled`) the control is a real anchor, rendered through\n * `BlocksProvider`'s `linkComponent` (plain `<a>` by default), so ctrl/cmd-click and \"open in new\n * tab\" work. Without `onSelect` a plain click navigates through the link; with `onSelect`, a plain\n * click calls it instead (it owns navigation) and modified clicks still use the link.\n */\n href?: string\n onSelect?: () => void\n children?: ReactNode\n}\n\nfunction isModifiedClick(event: MouseEvent): boolean {\n return event.button !== 0 || event.metaKey || event.ctrlKey || event.shiftKey || event.altKey\n}\n\n/**\n * The one \"go somewhere / do something\" control of the link-like blocks: a `<button>` without an\n * `href`, an anchor with one. Forwards its ref and any extra props so it can sit under a\n * tooltip or popover trigger `asChild`.\n */\nexport const ActionLink = forwardRef<HTMLElement, ActionLinkProps>(function ActionLink(\n { href, onSelect, disabled, children, ...rest },\n ref\n) {\n const { linkComponent: Link } = useBlocksEnvironment()\n\n if (!href || disabled) {\n return (\n <button\n {...rest}\n ref={ref as Ref<HTMLButtonElement>}\n type=\"button\"\n disabled={disabled}\n onClick={onSelect}\n >\n {children}\n </button>\n )\n }\n\n const handleClick = (event: MouseEvent<HTMLAnchorElement>) => {\n if (!onSelect || event.defaultPrevented || isModifiedClick(event)) return\n event.preventDefault()\n onSelect()\n }\n const anchorProps = { ...rest, href, onClick: handleClick } as BlockLinkRenderProps\n if (Link) {\n return (\n <Link {...anchorProps} {...({ ref } as object)}>\n {children}\n </Link>\n )\n }\n return (\n <a {...anchorProps} ref={ref as Ref<HTMLAnchorElement>}>\n {children}\n </a>\n )\n})\n"]}
1
+ {"version":3,"sources":["../src/components/ActionLink.tsx"],"names":["forwardRef","ActionLink","useBlocksEnvironment","jsx"],"mappings":";;;;;;AAyBA,SAAS,gBAAgB,KAAA,EAA4B;AACnD,EAAA,OAAO,KAAA,CAAM,WAAW,CAAA,IAAK,KAAA,CAAM,WAAW,KAAA,CAAM,OAAA,IAAW,KAAA,CAAM,QAAA,IAAY,KAAA,CAAM,MAAA;AACzF;AAOO,IAAM,UAAA,GAAaA,gBAAA,CAAyC,SAASC,WAAAA,CAC1E,EAAE,IAAA,EAAM,QAAA,EAAU,QAAA,EAAU,QAAA,EAAU,GAAG,IAAA,EAAK,EAC9C,GAAA,EACA;AACA,EAAA,MAAM,EAAE,aAAA,EAAe,IAAA,EAAK,GAAIC,sCAAA,EAAqB;AAErD,EAAA,IAAI,CAAC,QAAQ,QAAA,EAAU;AACrB,IAAA,uBACEC,cAAA;AAAA,MAAC,QAAA;AAAA,MAAA;AAAA,QACE,GAAG,IAAA;AAAA,QACJ,GAAA;AAAA,QACA,IAAA,EAAK,QAAA;AAAA,QACL,QAAA;AAAA,QACA,OAAA,EAAS,QAAA;AAAA,QAER;AAAA;AAAA,KACH;AAAA,EAEJ;AAEA,EAAA,MAAM,WAAA,GAAc,CAAC,KAAA,KAAyC;AAC5D,IAAA,IAAI,CAAC,QAAA,IAAY,KAAA,CAAM,gBAAA,IAAoB,eAAA,CAAgB,KAAK,CAAA,EAAG;AACnE,IAAA,KAAA,CAAM,cAAA,EAAe;AACrB,IAAA,QAAA,EAAS;AAAA,EACX,CAAA;AACA,EAAA,MAAM,cAAc,EAAE,GAAG,IAAA,EAAM,IAAA,EAAM,SAAS,WAAA,EAAY;AAC1D,EAAA,IAAI,IAAA,EAAM;AACR,IAAA,uBACEA,cAAA,CAAC,QAAM,GAAG,WAAA,EAAc,GAAI,EAAE,GAAA,IAC3B,QAAA,EACH,CAAA;AAAA,EAEJ;AACA,EAAA,uBACEA,cAAA,CAAC,GAAA,EAAA,EAAG,GAAG,WAAA,EAAa,KACjB,QAAA,EACH,CAAA;AAEJ,CAAC","file":"chunk-DTROMMDX.cjs","sourcesContent":["import {\n forwardRef,\n type ComponentPropsWithoutRef,\n type MouseEvent,\n type ReactNode,\n type Ref,\n} from 'react'\nimport { useBlocksEnvironment } from '../provider/BlocksProvider'\nimport type { BlockLinkRenderProps } from './blockLink'\n\nexport interface ActionLinkProps extends Omit<\n ComponentPropsWithoutRef<'button'>,\n 'onClick' | 'type' | 'children'\n> {\n /**\n * Destination. When set (and not `disabled`) the control is a real anchor, rendered through\n * `BlocksProvider`'s `linkComponent` (plain `<a>` by default), so ctrl/cmd-click and \"open in new\n * tab\" work. Without `onSelect` a plain click navigates through the link; with `onSelect`, a plain\n * click calls it instead (it owns navigation) and modified clicks still use the link.\n */\n href?: string\n onSelect?: () => void\n children?: ReactNode\n}\n\nfunction isModifiedClick(event: MouseEvent): boolean {\n return event.button !== 0 || event.metaKey || event.ctrlKey || event.shiftKey || event.altKey\n}\n\n/**\n * The one \"go somewhere / do something\" control of the link-like blocks: a `<button>` without an\n * `href`, an anchor with one. Forwards its ref and any extra props so it can sit under a\n * tooltip or popover trigger `asChild`.\n */\nexport const ActionLink = forwardRef<HTMLElement, ActionLinkProps>(function ActionLink(\n { href, onSelect, disabled, children, ...rest },\n ref\n) {\n const { linkComponent: Link } = useBlocksEnvironment()\n\n if (!href || disabled) {\n return (\n <button\n {...rest}\n ref={ref as Ref<HTMLButtonElement>}\n type=\"button\"\n disabled={disabled}\n onClick={onSelect}\n >\n {children}\n </button>\n )\n }\n\n const handleClick = (event: MouseEvent<HTMLAnchorElement>) => {\n if (!onSelect || event.defaultPrevented || isModifiedClick(event)) return\n event.preventDefault()\n onSelect()\n }\n const anchorProps = { ...rest, href, onClick: handleClick } as BlockLinkRenderProps\n if (Link) {\n return (\n <Link {...anchorProps} {...({ ref } as object)}>\n {children}\n </Link>\n )\n }\n return (\n <a {...anchorProps} ref={ref as Ref<HTMLAnchorElement>}>\n {children}\n </a>\n )\n})\n"]}
@@ -1,7 +1,7 @@
1
1
  "use client";
2
2
  'use strict';
3
3
 
4
- var chunkMJCCBMM5_cjs = require('./chunk-MJCCBMM5.cjs');
4
+ var chunkTC3RQNEX_cjs = require('./chunk-TC3RQNEX.cjs');
5
5
  var jsxRuntime = require('react/jsx-runtime');
6
6
  var react = require('react');
7
7
  var ui = require('@arbidocs/react/ui');
@@ -172,7 +172,7 @@ function Chart({
172
172
  );
173
173
  }
174
174
  function Eyebrow({ children, index, rule = false, tone, className, testId }) {
175
- const t = chunkMJCCBMM5_cjs.useEditorialTone(tone);
175
+ const t = chunkTC3RQNEX_cjs.useEditorialTone(tone);
176
176
  return /* @__PURE__ */ jsxRuntime.jsxs(
177
177
  "p",
178
178
  {
@@ -185,7 +185,7 @@ function Eyebrow({ children, index, rule = false, tone, className, testId }) {
185
185
  "data-testid": testId,
186
186
  children: [
187
187
  rule && /* @__PURE__ */ jsxRuntime.jsx("span", { "aria-hidden": "true", className: "h-px w-8 shrink-0 bg-primary" }),
188
- index !== void 0 && /* @__PURE__ */ jsxRuntime.jsx("span", { className: ui.cn("tabular-nums", t.accent), children: chunkMJCCBMM5_cjs.formatIndex(index) }),
188
+ index !== void 0 && /* @__PURE__ */ jsxRuntime.jsx("span", { className: ui.cn("tabular-nums", t.accent), children: chunkTC3RQNEX_cjs.formatIndex(index) }),
189
189
  /* @__PURE__ */ jsxRuntime.jsx("span", { children })
190
190
  ]
191
191
  }
@@ -202,7 +202,7 @@ function EditorialHeading({
202
202
  className,
203
203
  testId
204
204
  }) {
205
- const t = chunkMJCCBMM5_cjs.useEditorialTone(tone);
205
+ const t = chunkTC3RQNEX_cjs.useEditorialTone(tone);
206
206
  const Heading = `h${level}`;
207
207
  return /* @__PURE__ */ jsxRuntime.jsxs(
208
208
  "div",
@@ -271,7 +271,7 @@ function EditorialHero({
271
271
  testIds
272
272
  }) {
273
273
  const tone = SURFACE_TONE[surface];
274
- const t = chunkMJCCBMM5_cjs.useEditorialTone(tone);
274
+ const t = chunkTC3RQNEX_cjs.useEditorialTone(tone);
275
275
  const centered = align === "center" && !aside;
276
276
  const ids = {
277
277
  root: testIds?.root ?? testId,
@@ -281,7 +281,7 @@ function EditorialHero({
281
281
  actions: testIds?.actions ?? (testId ? `${testId}-actions` : void 0),
282
282
  aside: testIds?.aside ?? (testId ? `${testId}-aside` : void 0)
283
283
  };
284
- return /* @__PURE__ */ jsxRuntime.jsx(chunkMJCCBMM5_cjs.EditorialToneContext.Provider, { value: tone, children: /* @__PURE__ */ jsxRuntime.jsxs(
284
+ return /* @__PURE__ */ jsxRuntime.jsx(chunkTC3RQNEX_cjs.EditorialToneContext.Provider, { value: tone, children: /* @__PURE__ */ jsxRuntime.jsxs(
285
285
  "section",
286
286
  {
287
287
  className: ui.cn("relative isolate overflow-hidden", SURFACE_CLASS[surface], className),
@@ -381,11 +381,11 @@ function EditorialSection({
381
381
  testId
382
382
  }) {
383
383
  const tone = SURFACE_TONE[surface];
384
- const t = chunkMJCCBMM5_cjs.useEditorialTone(tone);
384
+ const t = chunkTC3RQNEX_cjs.useEditorialTone(tone);
385
385
  const hasHeading = Boolean(title || eyebrow || index !== void 0);
386
386
  const heading = hasHeading && title ? /* @__PURE__ */ jsxRuntime.jsx(EditorialHeading, { eyebrow, index, title, lead, tone }) : null;
387
387
  const split = layout !== "stacked";
388
- return /* @__PURE__ */ jsxRuntime.jsx(chunkMJCCBMM5_cjs.EditorialToneContext.Provider, { value: tone, children: /* @__PURE__ */ jsxRuntime.jsxs(
388
+ return /* @__PURE__ */ jsxRuntime.jsx(chunkTC3RQNEX_cjs.EditorialToneContext.Provider, { value: tone, children: /* @__PURE__ */ jsxRuntime.jsxs(
389
389
  "section",
390
390
  {
391
391
  id,
@@ -434,7 +434,7 @@ function EditorialProse({
434
434
  className,
435
435
  testId
436
436
  }) {
437
- const t = chunkMJCCBMM5_cjs.useEditorialTone();
437
+ const t = chunkTC3RQNEX_cjs.useEditorialTone();
438
438
  return /* @__PURE__ */ jsxRuntime.jsx(
439
439
  "div",
440
440
  {
@@ -458,7 +458,7 @@ function DefinitionList({
458
458
  className,
459
459
  testId
460
460
  }) {
461
- const t = chunkMJCCBMM5_cjs.useEditorialTone();
461
+ const t = chunkTC3RQNEX_cjs.useEditorialTone();
462
462
  return /* @__PURE__ */ jsxRuntime.jsx(
463
463
  "dl",
464
464
  {
@@ -512,7 +512,7 @@ function DefinitionList({
512
512
  );
513
513
  }
514
514
  function CheckList({ items, columns = 1, icon, className, testId }) {
515
- const t = chunkMJCCBMM5_cjs.useEditorialTone();
515
+ const t = chunkTC3RQNEX_cjs.useEditorialTone();
516
516
  return /* @__PURE__ */ jsxRuntime.jsx(
517
517
  "ul",
518
518
  {
@@ -545,7 +545,7 @@ function CheckList({ items, columns = 1, icon, className, testId }) {
545
545
  );
546
546
  }
547
547
  function TagList({ items, label, className, testId }) {
548
- const t = chunkMJCCBMM5_cjs.useEditorialTone();
548
+ const t = chunkTC3RQNEX_cjs.useEditorialTone();
549
549
  if (items.length === 0) return null;
550
550
  return /* @__PURE__ */ jsxRuntime.jsx(
551
551
  "ul",
@@ -607,10 +607,10 @@ function PanelGrid({
607
607
  className,
608
608
  testId
609
609
  }) {
610
- const t = chunkMJCCBMM5_cjs.useEditorialTone(tone);
610
+ const t = chunkTC3RQNEX_cjs.useEditorialTone(tone);
611
611
  const Heading = `h${headingLevel}`;
612
612
  const joined = variant === "joined";
613
- return /* @__PURE__ */ jsxRuntime.jsx(chunkMJCCBMM5_cjs.EditorialToneContext.Provider, { value: t.tone, children: /* @__PURE__ */ jsxRuntime.jsx(
613
+ return /* @__PURE__ */ jsxRuntime.jsx(chunkTC3RQNEX_cjs.EditorialToneContext.Provider, { value: t.tone, children: /* @__PURE__ */ jsxRuntime.jsx(
614
614
  "ul",
615
615
  {
616
616
  className: ui.cn(
@@ -649,7 +649,7 @@ function PanelGrid({
649
649
  children: item.icon
650
650
  }
651
651
  ) : /* @__PURE__ */ jsxRuntime.jsx("span", {}),
652
- number !== void 0 ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: ui.cn("font-display text-sm tabular-nums", t.subtle), children: chunkMJCCBMM5_cjs.formatIndex(number) }) : item.href && /* @__PURE__ */ jsxRuntime.jsx(
652
+ number !== void 0 ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: ui.cn("font-display text-sm tabular-nums", t.subtle), children: chunkTC3RQNEX_cjs.formatIndex(number) }) : item.href && /* @__PURE__ */ jsxRuntime.jsx(
653
653
  lucideReact.ArrowUpRight,
654
654
  {
655
655
  "aria-hidden": "true",
@@ -695,7 +695,7 @@ function PanelGrid({
695
695
  ]
696
696
  }
697
697
  );
698
- const cell = /* @__PURE__ */ jsxRuntime.jsx(chunkMJCCBMM5_cjs.BlockLink, { href: item.href, linkComponent, className: "block h-full", children: inner });
698
+ const cell = /* @__PURE__ */ jsxRuntime.jsx(chunkTC3RQNEX_cjs.BlockLink, { href: item.href, linkComponent, className: "block h-full", children: inner });
699
699
  return /* @__PURE__ */ jsxRuntime.jsx("li", { className: "min-w-0", children: reveal ? /* @__PURE__ */ jsxRuntime.jsx(Reveal, { delay: i * 90, className: "h-full", children: cell }) : cell }, i);
700
700
  })
701
701
  }
@@ -710,7 +710,7 @@ function PullQuote({
710
710
  className,
711
711
  testId
712
712
  }) {
713
- const t = chunkMJCCBMM5_cjs.useEditorialTone();
713
+ const t = chunkTC3RQNEX_cjs.useEditorialTone();
714
714
  const centered = align === "center";
715
715
  return /* @__PURE__ */ jsxRuntime.jsxs(
716
716
  "figure",
@@ -767,7 +767,7 @@ function ArticleList({
767
767
  className,
768
768
  testId
769
769
  }) {
770
- const t = chunkMJCCBMM5_cjs.useEditorialTone();
770
+ const t = chunkTC3RQNEX_cjs.useEditorialTone();
771
771
  if (items.length === 0) return empty ? /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: empty }) : null;
772
772
  const idOf = (item, i) => item.testId ?? (testId ? `${testId}-item-${i}` : void 0);
773
773
  if (layout === "rows") {
@@ -778,7 +778,7 @@ function ArticleList({
778
778
  "data-slot": "article-list",
779
779
  "data-layout": "rows",
780
780
  "data-testid": testId,
781
- children: items.map((item, i) => /* @__PURE__ */ jsxRuntime.jsx("li", { children: /* @__PURE__ */ jsxRuntime.jsx(chunkMJCCBMM5_cjs.BlockLink, { href: item.href, linkComponent, className: "group block", children: /* @__PURE__ */ jsxRuntime.jsxs(
781
+ children: items.map((item, i) => /* @__PURE__ */ jsxRuntime.jsx("li", { children: /* @__PURE__ */ jsxRuntime.jsx(chunkTC3RQNEX_cjs.BlockLink, { href: item.href, linkComponent, className: "group block", children: /* @__PURE__ */ jsxRuntime.jsxs(
782
782
  "article",
783
783
  {
784
784
  className: "grid gap-2 py-6 transition-colors sm:grid-cols-[10rem_minmax(0,1fr)_auto] sm:gap-8",
@@ -817,7 +817,7 @@ function ArticleList({
817
817
  }
818
818
  );
819
819
  }
820
- const card = (item, i, lead) => /* @__PURE__ */ jsxRuntime.jsx(chunkMJCCBMM5_cjs.BlockLink, { href: item.href, linkComponent, className: "group block h-full", children: /* @__PURE__ */ jsxRuntime.jsxs(
820
+ const card = (item, i, lead) => /* @__PURE__ */ jsxRuntime.jsx(chunkTC3RQNEX_cjs.BlockLink, { href: item.href, linkComponent, className: "group block h-full", children: /* @__PURE__ */ jsxRuntime.jsxs(
821
821
  "article",
822
822
  {
823
823
  className: ui.cn(
@@ -829,7 +829,7 @@ function ArticleList({
829
829
  "data-testid": idOf(item, i),
830
830
  children: [
831
831
  item.imageUrl && /* @__PURE__ */ jsxRuntime.jsx(
832
- chunkMJCCBMM5_cjs.BlockImage,
832
+ chunkTC3RQNEX_cjs.BlockImage,
833
833
  {
834
834
  src: item.imageUrl,
835
835
  alt: item.imageAlt ?? "",
@@ -910,8 +910,8 @@ function ProofStrip({
910
910
  testId
911
911
  }) {
912
912
  const tone = SURFACE_TONE[surface];
913
- const t = chunkMJCCBMM5_cjs.useEditorialTone(tone);
914
- return /* @__PURE__ */ jsxRuntime.jsx(chunkMJCCBMM5_cjs.EditorialToneContext.Provider, { value: tone, children: /* @__PURE__ */ jsxRuntime.jsx(
913
+ const t = chunkTC3RQNEX_cjs.useEditorialTone(tone);
914
+ return /* @__PURE__ */ jsxRuntime.jsx(chunkTC3RQNEX_cjs.EditorialToneContext.Provider, { value: tone, children: /* @__PURE__ */ jsxRuntime.jsx(
915
915
  "section",
916
916
  {
917
917
  "aria-label": label,
@@ -942,8 +942,8 @@ function CtaBand({
942
942
  testId
943
943
  }) {
944
944
  const tone = SURFACE_TONE[surface];
945
- const t = chunkMJCCBMM5_cjs.useEditorialTone(tone);
946
- return /* @__PURE__ */ jsxRuntime.jsx(chunkMJCCBMM5_cjs.EditorialToneContext.Provider, { value: tone, children: /* @__PURE__ */ jsxRuntime.jsxs(
945
+ const t = chunkTC3RQNEX_cjs.useEditorialTone(tone);
946
+ return /* @__PURE__ */ jsxRuntime.jsx(chunkTC3RQNEX_cjs.EditorialToneContext.Provider, { value: tone, children: /* @__PURE__ */ jsxRuntime.jsxs(
947
947
  "section",
948
948
  {
949
949
  className: ui.cn("relative isolate overflow-hidden", SURFACE_CLASS[surface], className),
@@ -986,5 +986,5 @@ exports.ProofStrip = ProofStrip;
986
986
  exports.PullQuote = PullQuote;
987
987
  exports.Reveal = Reveal;
988
988
  exports.TagList = TagList;
989
- //# sourceMappingURL=chunk-65THHQVB.cjs.map
990
- //# sourceMappingURL=chunk-65THHQVB.cjs.map
989
+ //# sourceMappingURL=chunk-ECW2R2KF.cjs.map
990
+ //# sourceMappingURL=chunk-ECW2R2KF.cjs.map