@parallelworks/ui 0.44.0 → 0.46.0

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 (637) hide show
  1. package/README.md +348 -25
  2. package/dist/ai/agent/diff.d.ts +2 -1
  3. package/dist/ai/agent/diff.js +4 -12
  4. package/dist/ai/agent/diffHighlight.d.ts +1 -1
  5. package/dist/ai/agent/diffHighlight.js +4 -3
  6. package/dist/ai/agent/index.d.ts +2 -1
  7. package/dist/ai/agent/permissions.d.ts +1 -1
  8. package/dist/ai/agent/permissions.js +1 -1
  9. package/dist/ai/agent/toolStrings.d.ts +37 -0
  10. package/dist/ai/agent/toolStrings.js +35 -0
  11. package/dist/ai/agent/toolfmt.d.ts +8 -3
  12. package/dist/ai/agent/toolfmt.js +50 -65
  13. package/dist/ai/ai.css +22 -35
  14. package/dist/ai/components/AllocationSelector.js +2 -2
  15. package/dist/ai/components/AttachmentManager.js +28 -29
  16. package/dist/ai/components/AttachmentUpload.js +25 -30
  17. package/dist/ai/components/BlockedGroupBanner.js +2 -2
  18. package/dist/ai/components/BranchNavigator.js +3 -4
  19. package/dist/ai/components/ChatEmptyState.js +8 -7
  20. package/dist/ai/components/ChatInput.js +10 -12
  21. package/dist/ai/components/ChatLayout.js +3 -3
  22. package/dist/ai/components/ChatMessage.js +49 -61
  23. package/dist/ai/components/ChatMessageList.js +46 -42
  24. package/dist/ai/components/ChatSidebar.js +26 -34
  25. package/dist/ai/components/ChatStage.d.ts +1 -1
  26. package/dist/ai/components/ChatStage.js +2 -2
  27. package/dist/ai/components/ComposerChrome.js +3 -4
  28. package/dist/ai/components/DragOverlay.js +6 -4
  29. package/dist/ai/components/ModelSelector.js +14 -15
  30. package/dist/ai/components/PastedText.js +18 -14
  31. package/dist/ai/components/ProviderIssueBanner.js +3 -4
  32. package/dist/ai/components/Reasoning.d.ts +12 -6
  33. package/dist/ai/components/Reasoning.js +31 -18
  34. package/dist/ai/components/ShareDialog.js +25 -28
  35. package/dist/ai/components/SlashMenu.js +3 -3
  36. package/dist/ai/components/agent/ActivityLine.d.ts +0 -5
  37. package/dist/ai/components/agent/ActivityLine.js +17 -54
  38. package/dist/ai/components/agent/AgentMessageParts.js +139 -149
  39. package/dist/ai/components/conversationActions.js +16 -16
  40. package/dist/ai/core/ChatProvider.d.ts +2 -4
  41. package/dist/ai/core/ChatProvider.js +25 -38
  42. package/dist/ai/core/exportConversation.js +4 -4
  43. package/dist/ai/core/pasteLanguage.d.ts +1 -1
  44. package/dist/ai/core/pasteLanguage.js +1 -1
  45. package/dist/ai/core/sidebarState.d.ts +8 -6
  46. package/dist/ai/core/sidebarState.js +21 -28
  47. package/dist/ai/core/useKeyboardShortcuts.js +14 -5
  48. package/dist/ai/index.d.ts +4 -5
  49. package/dist/ai/index.js +7 -7
  50. package/dist/ai/strings.d.ts +14 -31
  51. package/dist/ai/strings.js +19 -39
  52. package/dist/ai/types.d.ts +0 -5
  53. package/dist/ai/ui/ConversationSidebar.d.ts +12 -9
  54. package/dist/ai/ui/ConversationSidebar.js +43 -87
  55. package/dist/ai/ui/Markdown.d.ts +3 -6
  56. package/dist/ai/ui/Markdown.js +6 -73
  57. package/dist/ai/ui/Notice.js +10 -12
  58. package/dist/ai/ui/chip.d.ts +2 -2
  59. package/dist/ai/ui/chip.js +1 -1
  60. package/dist/ai/ui/sidebar.d.ts +4 -20
  61. package/dist/ai/ui/sidebar.js +30 -67
  62. package/dist/ai/utils.d.ts +0 -1
  63. package/dist/ai/utils.js +1 -14
  64. package/dist/brandIcons.d.ts +51 -0
  65. package/dist/brandIcons.js +75 -0
  66. package/dist/components/Avatar.d.ts +3 -1
  67. package/dist/components/Avatar.js +34 -28
  68. package/dist/components/Button.d.ts +12 -7
  69. package/dist/components/Button.js +39 -44
  70. package/dist/components/Callout.js +18 -12
  71. package/dist/components/Card.d.ts +18 -8
  72. package/dist/components/Card.js +17 -6
  73. package/dist/components/Checkbox.d.ts +9 -0
  74. package/dist/components/Checkbox.js +30 -0
  75. package/dist/components/Combobox.d.ts +9 -1
  76. package/dist/components/Combobox.js +71 -44
  77. package/dist/components/ConfirmModal.js +11 -11
  78. package/dist/components/ContextMenu.d.ts +2 -8
  79. package/dist/components/ContextMenu.js +2 -29
  80. package/dist/components/CopyToClipboard.js +17 -36
  81. package/dist/components/CreateModal.d.ts +3 -24
  82. package/dist/components/CreateModal.js +46 -113
  83. package/dist/components/DatePicker.d.ts +31 -0
  84. package/dist/components/DatePicker.js +191 -0
  85. package/dist/components/DescriptionList.js +4 -4
  86. package/dist/components/Disclosure.d.ts +34 -0
  87. package/dist/components/Disclosure.js +46 -0
  88. package/dist/components/Drawer.d.ts +47 -0
  89. package/dist/components/Drawer.js +120 -0
  90. package/dist/components/EmptyState.d.ts +15 -10
  91. package/dist/components/EmptyState.js +13 -8
  92. package/dist/components/ExternalLink.d.ts +8 -0
  93. package/dist/components/ExternalLink.js +29 -0
  94. package/dist/components/Field.d.ts +70 -0
  95. package/dist/components/Field.js +159 -0
  96. package/dist/components/HoverCard.js +11 -14
  97. package/dist/components/IconButton.d.ts +16 -13
  98. package/dist/components/IconButton.js +27 -18
  99. package/dist/components/InfoTip.js +16 -23
  100. package/dist/components/Input.d.ts +10 -9
  101. package/dist/components/Input.js +54 -96
  102. package/dist/components/LetterBadge.js +2 -2
  103. package/dist/components/Loader.d.ts +15 -8
  104. package/dist/components/Loader.js +29 -19
  105. package/dist/components/Markdown.d.ts +7 -1
  106. package/dist/components/Markdown.js +2 -0
  107. package/dist/components/MarkdownImpl.d.ts +1 -1
  108. package/dist/components/MarkdownImpl.js +55 -14
  109. package/dist/components/Menu.js +13 -15
  110. package/dist/components/MenuEntries.js +11 -16
  111. package/dist/components/Meter.d.ts +48 -0
  112. package/dist/components/Meter.js +94 -0
  113. package/dist/components/Modal.js +11 -14
  114. package/dist/components/NumberInput.d.ts +25 -0
  115. package/dist/components/NumberInput.js +55 -0
  116. package/dist/components/Overview.js +12 -10
  117. package/dist/components/PageHeader.d.ts +2 -3
  118. package/dist/components/PageHeader.js +30 -21
  119. package/dist/components/Pagination.d.ts +27 -14
  120. package/dist/components/Pagination.js +86 -25
  121. package/dist/components/Popover.d.ts +47 -0
  122. package/dist/components/Popover.js +63 -0
  123. package/dist/components/Provider.d.ts +200 -83
  124. package/dist/components/Provider.js +203 -121
  125. package/dist/components/Radio.d.ts +1 -1
  126. package/dist/components/Radio.js +4 -4
  127. package/dist/components/RefreshButton.d.ts +15 -0
  128. package/dist/components/RefreshButton.js +53 -0
  129. package/dist/components/RunStatusIcon.d.ts +12 -0
  130. package/dist/components/RunStatusIcon.js +84 -0
  131. package/dist/components/SearchInput.d.ts +16 -0
  132. package/dist/components/SearchInput.js +52 -0
  133. package/dist/components/Section.d.ts +28 -0
  134. package/dist/components/Section.js +76 -0
  135. package/dist/components/SegmentedControl.d.ts +7 -11
  136. package/dist/components/SegmentedControl.js +25 -56
  137. package/dist/components/Select.d.ts +5 -1
  138. package/dist/components/Select.js +43 -44
  139. package/dist/components/SettingModeOption.d.ts +3 -5
  140. package/dist/components/SettingModeOption.js +5 -6
  141. package/dist/components/SettingsCard.d.ts +32 -19
  142. package/dist/components/SettingsCard.js +40 -13
  143. package/dist/components/Skeleton.d.ts +22 -0
  144. package/dist/components/Skeleton.js +34 -0
  145. package/dist/components/Slider.d.ts +16 -0
  146. package/dist/components/Slider.js +30 -0
  147. package/dist/components/Sort.js +4 -6
  148. package/dist/components/StatusBadge.d.ts +5 -3
  149. package/dist/components/StatusBadge.js +10 -33
  150. package/dist/components/StatusIcons.d.ts +0 -4
  151. package/dist/components/StatusIcons.js +5 -13
  152. package/dist/components/Switch.d.ts +5 -1
  153. package/dist/components/Switch.js +23 -6
  154. package/dist/components/Table.js +13 -20
  155. package/dist/components/Tabs.d.ts +52 -0
  156. package/dist/components/Tabs.js +75 -0
  157. package/dist/components/ThemeEditor.d.ts +29 -0
  158. package/dist/components/ThemeEditor.js +397 -0
  159. package/dist/components/Toast.d.ts +57 -0
  160. package/dist/components/Toast.js +203 -0
  161. package/dist/components/Tooltip.js +12 -15
  162. package/dist/components/buttonClasses.d.ts +18 -0
  163. package/dist/components/buttonClasses.js +31 -0
  164. package/dist/components/codeTheme.d.ts +5 -0
  165. package/dist/components/codeTheme.js +93 -0
  166. package/dist/components/comboboxItems.d.ts +1 -1
  167. package/dist/components/fieldBox.d.ts +14 -0
  168. package/dist/components/fieldBox.js +29 -0
  169. package/dist/components/floating.d.ts +26 -5
  170. package/dist/components/floating.js +31 -9
  171. package/dist/{ai/ui/codeBreaks.js → components/markdownCodeBreaks.js} +1 -1
  172. package/dist/components/persistedState.d.ts +2 -0
  173. package/dist/components/persistedState.js +63 -0
  174. package/dist/components/relativeTime.d.ts +36 -8
  175. package/dist/components/relativeTime.js +106 -23
  176. package/dist/components/segmented.d.ts +17 -0
  177. package/dist/components/segmented.js +27 -0
  178. package/dist/components/shortcutKey.d.ts +4 -0
  179. package/dist/components/shortcutKey.js +27 -0
  180. package/dist/components/splitter.d.ts +26 -0
  181. package/dist/components/splitter.js +69 -0
  182. package/dist/components/tone.d.ts +9 -0
  183. package/dist/components/tone.js +30 -0
  184. package/dist/components/useCopy.d.ts +14 -0
  185. package/dist/components/useCopy.js +31 -0
  186. package/dist/components/useCssIsDark.d.ts +2 -0
  187. package/dist/components/useCssIsDark.js +2 -1
  188. package/dist/components/useTheme.d.ts +10 -0
  189. package/dist/components/useTheme.js +40 -0
  190. package/dist/cx.d.ts +5 -0
  191. package/dist/cx.js +11 -0
  192. package/dist/editing.d.ts +1 -1
  193. package/dist/editor/Editor.js +2 -2
  194. package/dist/editor/EditorField.js +7 -10
  195. package/dist/editor/FormCodePanel.js +10 -23
  196. package/dist/editor/Monaco.js +7 -4
  197. package/dist/editor/index.d.ts +1 -1
  198. package/dist/editor/index.js +2 -2
  199. package/dist/editor/themes.d.ts +4 -0
  200. package/dist/editor/themes.js +75 -76
  201. package/dist/file-explorer/FileExplorer.js +180 -187
  202. package/dist/file-explorer/FileExplorerContext.js +45 -67
  203. package/dist/file-explorer/FilePreview/CodePreviewEditor.js +2 -1
  204. package/dist/file-explorer/FilePreview/Inline.js +9 -7
  205. package/dist/file-explorer/FilePreview/StreamedBadge.js +2 -2
  206. package/dist/file-explorer/FilePreview/Viewer.js +32 -34
  207. package/dist/file-explorer/FilePreview/index.js +60 -92
  208. package/dist/file-explorer/FilePreview/useObjectBlobUrl.js +4 -4
  209. package/dist/file-explorer/FilePreview/useObjectText.js +4 -4
  210. package/dist/file-explorer/FilePreview/usePresignedUrl.js +4 -4
  211. package/dist/file-explorer/FileRow.js +10 -15
  212. package/dist/file-explorer/FileRowsWindow.js +2 -6
  213. package/dist/file-explorer/FileTable.js +2 -2
  214. package/dist/file-explorer/FileTableHeaders.js +8 -11
  215. package/dist/file-explorer/LoadMoreRow.js +8 -9
  216. package/dist/file-explorer/TreeView.js +16 -16
  217. package/dist/file-explorer/helpers.d.ts +1 -4
  218. package/dist/file-explorer/helpers.js +101 -114
  219. package/dist/file-explorer/lib/types.d.ts +2 -2
  220. package/dist/file-explorer/lib/utils.d.ts +0 -2
  221. package/dist/file-explorer/lib/utils.js +1 -25
  222. package/dist/file-explorer/toasts.js +109 -190
  223. package/dist/form/Fields/BooleanField.js +12 -14
  224. package/dist/form/Fields/CheckboxGroupField.d.ts +1 -1
  225. package/dist/form/Fields/CheckboxGroupField.js +16 -18
  226. package/dist/form/Fields/ColorField.js +11 -11
  227. package/dist/form/Fields/DropdownField.d.ts +1 -1
  228. package/dist/form/Fields/DropdownField.js +20 -36
  229. package/dist/form/Fields/DurationField.d.ts +1 -1
  230. package/dist/form/Fields/DurationField.js +36 -50
  231. package/dist/form/Fields/LabelField.js +2 -2
  232. package/dist/form/Fields/MultiDropdownField.d.ts +1 -1
  233. package/dist/form/Fields/MultiDropdownField.js +9 -14
  234. package/dist/form/Fields/NumberField.d.ts +1 -1
  235. package/dist/form/Fields/NumberField.js +13 -48
  236. package/dist/form/Fields/ObjectField.js +3 -3
  237. package/dist/form/Fields/RadioField.d.ts +1 -1
  238. package/dist/form/Fields/RadioField.js +15 -18
  239. package/dist/form/Fields/RangeField.js +34 -35
  240. package/dist/form/Fields/StringField.d.ts +1 -1
  241. package/dist/form/Fields/StringField.js +15 -25
  242. package/dist/form/Fields/TextAreaField.js +10 -15
  243. package/dist/form/Form.d.ts +7 -2
  244. package/dist/form/Form.js +144 -49
  245. package/dist/form/FormLayout.js +18 -12
  246. package/dist/form/Wizard/WizardContainer.js +44 -18
  247. package/dist/form/Wizard/WizardNavigation.d.ts +1 -1
  248. package/dist/form/Wizard/WizardNavigation.js +31 -56
  249. package/dist/form/Wizard/WizardStepIndicator.d.ts +3 -0
  250. package/dist/form/Wizard/WizardStepIndicator.js +98 -114
  251. package/dist/form/Wizard/types.d.ts +2 -2
  252. package/dist/form/fieldFrame.d.ts +7 -0
  253. package/dist/form/fieldFrame.js +19 -0
  254. package/dist/form/index.d.ts +5 -5
  255. package/dist/form/index.js +4 -6
  256. package/dist/form/layoutCSS.js +5 -4
  257. package/dist/form/types/fieldComponentTypes.d.ts +5 -3
  258. package/dist/form/useChoiceField.js +2 -3
  259. package/dist/form/useFieldValue.d.ts +3 -0
  260. package/dist/form/useFieldValue.js +24 -7
  261. package/dist/form/utils/duration.d.ts +2 -2
  262. package/dist/form/utils/duration.js +3 -3
  263. package/dist/form/utils/fieldItems.d.ts +1 -1
  264. package/dist/form/utils/fieldPath.d.ts +5 -3
  265. package/dist/form/utils/fieldPath.js +18 -3
  266. package/dist/form/utils/secondaryField.d.ts +0 -7
  267. package/dist/form/utils/secondaryField.js +1 -12
  268. package/dist/form/validation.d.ts +29 -0
  269. package/dist/form/validation.js +14 -0
  270. package/dist/format.d.ts +28 -0
  271. package/dist/format.js +64 -0
  272. package/dist/graph/AnnotationBanner.js +20 -31
  273. package/dist/graph/Connectors.js +1 -1
  274. package/dist/graph/DependencyGraph.js +51 -65
  275. package/dist/graph/GraphEditor.js +24 -28
  276. package/dist/graph/GraphEditorDialogs.js +239 -245
  277. package/dist/graph/InputDialog.js +93 -112
  278. package/dist/graph/InputsEditor.js +83 -84
  279. package/dist/graph/JobSummary.js +10 -11
  280. package/dist/graph/MatrixGroup.js +3 -3
  281. package/dist/graph/ProblemsButton.js +9 -10
  282. package/dist/graph/ShortcutsButton.js +12 -17
  283. package/dist/graph/SuggestionInput.d.ts +2 -3
  284. package/dist/graph/SuggestionInput.js +2 -4
  285. package/dist/graph/TreeView.js +47 -45
  286. package/dist/graph/WorkflowSettingsDialog.js +97 -102
  287. package/dist/graph/editorChrome.js +10 -12
  288. package/dist/graph/editorFields.d.ts +19 -16
  289. package/dist/graph/editorFields.js +97 -135
  290. package/dist/graph/editorPrimitives.d.ts +2 -2
  291. package/dist/graph/editorPrimitives.js +3 -3
  292. package/dist/graph/editorRows.js +22 -25
  293. package/dist/graph/editorStrings.d.ts +18 -21
  294. package/dist/graph/editorStrings.js +15 -27
  295. package/dist/graph/fieldProblems.js +2 -2
  296. package/dist/graph/graphEditorState.d.ts +4 -4
  297. package/dist/graph/inputRefs.d.ts +0 -13
  298. package/dist/graph/inputRefs.js +122 -160
  299. package/dist/graph/settingsViews.js +5 -3
  300. package/dist/graph/stepWith.js +100 -100
  301. package/dist/graph/toolbarPanel.d.ts +8 -0
  302. package/dist/graph/toolbarPanel.js +11 -0
  303. package/dist/icons.d.ts +234 -23
  304. package/dist/icons.js +249 -264
  305. package/dist/index.d.ts +38 -21
  306. package/dist/index.js +42 -21
  307. package/dist/list/ActionToolbar.d.ts +1 -5
  308. package/dist/list/ActionToolbar.js +21 -20
  309. package/dist/list/ListPage.js +7 -7
  310. package/dist/list/ListTable.d.ts +3 -2
  311. package/dist/list/ListTable.js +33 -29
  312. package/dist/list/ListViewControls.d.ts +0 -17
  313. package/dist/list/ListViewControls.js +50 -118
  314. package/dist/list/UserHoverCard.js +24 -32
  315. package/dist/list/index.d.ts +2 -4
  316. package/dist/list/index.js +3 -5
  317. package/dist/list/listSearch.d.ts +1 -1
  318. package/dist/list/listSearch.js +19 -14
  319. package/dist/list/rowMenu.js +20 -26
  320. package/dist/logviewer/LogViewer.js +268 -382
  321. package/dist/logviewer/logviewer.css +53 -41
  322. package/dist/logviewer/segments.d.ts +1 -1
  323. package/dist/logviewer/segments.js +1 -1
  324. package/dist/styles/base.css +16 -40
  325. package/dist/styles/theme.css +75 -106
  326. package/dist/styles.css +1 -1
  327. package/dist/theme/color.d.ts +40 -0
  328. package/dist/theme/color.js +228 -0
  329. package/dist/theme/contrast.d.ts +42 -0
  330. package/dist/theme/contrast.js +145 -0
  331. package/dist/theme/derive.d.ts +25 -0
  332. package/dist/theme/derive.js +475 -0
  333. package/dist/theme/fit.d.ts +35 -0
  334. package/dist/theme/fit.js +185 -0
  335. package/dist/theme/index.d.ts +14 -29
  336. package/dist/theme/index.js +20 -279
  337. package/dist/theme/model.d.ts +64 -0
  338. package/dist/theme/model.js +219 -0
  339. package/package.json +9 -5
  340. package/dist/ai/ui/Avatar.d.ts +0 -7
  341. package/dist/ai/ui/Avatar.js +0 -24
  342. package/dist/components/Filter.d.ts +0 -15
  343. package/dist/components/Filter.js +0 -32
  344. package/dist/components/FilterPill.d.ts +0 -7
  345. package/dist/components/FilterPill.js +0 -14
  346. package/dist/components/Indicator.d.ts +0 -4
  347. package/dist/components/Indicator.js +0 -44
  348. package/dist/components/SectionHeader.d.ts +0 -8
  349. package/dist/components/SectionHeader.js +0 -11
  350. package/dist/components/SettingRow.d.ts +0 -18
  351. package/dist/components/SettingRow.js +0 -35
  352. package/dist/components/SettingsGroup.d.ts +0 -8
  353. package/dist/components/SettingsGroup.js +0 -17
  354. package/dist/components/ghostButton.d.ts +0 -4
  355. package/dist/components/ghostButton.js +0 -7
  356. package/dist/components/inputClasses.d.ts +0 -1
  357. package/dist/components/inputClasses.js +0 -4
  358. package/dist/duration.d.ts +0 -3
  359. package/dist/duration.js +0 -17
  360. package/dist/form/FieldGroup.d.ts +0 -11
  361. package/dist/form/FieldGroup.js +0 -36
  362. package/dist/form/FieldWrapper.d.ts +0 -16
  363. package/dist/form/FieldWrapper.js +0 -55
  364. package/dist/form/fieldContext.d.ts +0 -19
  365. package/dist/form/fieldContext.js +0 -26
  366. package/dist/graph/Collapse.d.ts +0 -7
  367. package/dist/graph/Collapse.js +0 -15
  368. package/dist/graph/ToolbarPopover.d.ts +0 -13
  369. package/dist/graph/ToolbarPopover.js +0 -39
  370. package/dist/icons/ai/AiOutlineRollback.js +0 -16
  371. package/dist/icons/bi/BiBell.js +0 -16
  372. package/dist/icons/bi/BiBellOff.js +0 -16
  373. package/dist/icons/bi/BiBuildings.js +0 -20
  374. package/dist/icons/bi/BiError.js +0 -20
  375. package/dist/icons/bi/BiExpandVertical.js +0 -16
  376. package/dist/icons/bi/BiPause.js +0 -16
  377. package/dist/icons/bi/BiPlay.js +0 -16
  378. package/dist/icons/bi/BiRedo.js +0 -16
  379. package/dist/icons/bi/BiSolidCheckShield.js +0 -16
  380. package/dist/icons/bi/BiSolidTrashAlt.js +0 -16
  381. package/dist/icons/bi/BiStop.js +0 -16
  382. package/dist/icons/bi/BiUndo.js +0 -16
  383. package/dist/icons/bs/BsArrowsCollapse.js +0 -22
  384. package/dist/icons/bs/BsBank2.js +0 -19
  385. package/dist/icons/bs/BsBriefcase.js +0 -19
  386. package/dist/icons/bs/BsBucket.js +0 -19
  387. package/dist/icons/bs/BsCalendarX.js +0 -23
  388. package/dist/icons/bs/BsChatLeft.js +0 -19
  389. package/dist/icons/bs/BsChevronDoubleDown.js +0 -29
  390. package/dist/icons/bs/BsChevronDoubleUp.js +0 -29
  391. package/dist/icons/bs/BsClipboardCheck.js +0 -34
  392. package/dist/icons/bs/BsCurrencyDollar.js +0 -19
  393. package/dist/icons/bs/BsDash.js +0 -19
  394. package/dist/icons/bs/BsFileEarmarkZip.js +0 -23
  395. package/dist/icons/bs/BsFiles.js +0 -19
  396. package/dist/icons/bs/BsGeoAlt.js +0 -23
  397. package/dist/icons/bs/BsGrid.js +0 -19
  398. package/dist/icons/bs/BsLayers.js +0 -19
  399. package/dist/icons/bs/BsLayoutThreeColumns.js +0 -19
  400. package/dist/icons/bs/BsListUl.js +0 -22
  401. package/dist/icons/bs/BsMortarboard.js +0 -23
  402. package/dist/icons/bs/BsMusicNoteBeamed.js +0 -34
  403. package/dist/icons/bs/BsOpenai.js +0 -19
  404. package/dist/icons/bs/BsPersonPlus.js +0 -26
  405. package/dist/icons/bs/BsSearch.js +0 -19
  406. package/dist/icons/bs/BsSend.js +0 -19
  407. package/dist/icons/bs/BsShieldSlash.js +0 -22
  408. package/dist/icons/bs/BsStar.js +0 -19
  409. package/dist/icons/bs/BsStarFill.js +0 -19
  410. package/dist/icons/bs/BsStopCircle.js +0 -23
  411. package/dist/icons/bs/BsTag.js +0 -23
  412. package/dist/icons/bs/BsTelephone.js +0 -19
  413. package/dist/icons/bs/BsTerminal.js +0 -23
  414. package/dist/icons/bs/BsTerminalFill.js +0 -19
  415. package/dist/icons/bs/BsThreeDots.js +0 -19
  416. package/dist/icons/bs/BsThreeDotsVertical.js +0 -19
  417. package/dist/icons/bs/BsZoomIn.js +0 -37
  418. package/dist/icons/fa/FaAmazon.js +0 -16
  419. package/dist/icons/fa/FaAngleDown.js +0 -16
  420. package/dist/icons/fa/FaAngleLeft.js +0 -16
  421. package/dist/icons/fa/FaAngleRight.js +0 -16
  422. package/dist/icons/fa/FaAngleUp.js +0 -16
  423. package/dist/icons/fa/FaArrowDown.js +0 -16
  424. package/dist/icons/fa/FaArrowLeft.js +0 -16
  425. package/dist/icons/fa/FaArrowRight.js +0 -16
  426. package/dist/icons/fa/FaArrowUp.js +0 -16
  427. package/dist/icons/fa/FaBalanceScale.js +0 -16
  428. package/dist/icons/fa/FaCaretDown.js +0 -16
  429. package/dist/icons/fa/FaCentos.js +0 -16
  430. package/dist/icons/fa/FaChartLine.js +0 -16
  431. package/dist/icons/fa/FaChartPie.js +0 -16
  432. package/dist/icons/fa/FaCheck.js +0 -16
  433. package/dist/icons/fa/FaChevronDown.js +0 -16
  434. package/dist/icons/fa/FaChevronUp.js +0 -16
  435. package/dist/icons/fa/FaChrome.js +0 -16
  436. package/dist/icons/fa/FaCircleNotch.js +0 -16
  437. package/dist/icons/fa/FaCloud.js +0 -16
  438. package/dist/icons/fa/FaCloudDownloadAlt.js +0 -16
  439. package/dist/icons/fa/FaCog.js +0 -16
  440. package/dist/icons/fa/FaCogs.js +0 -16
  441. package/dist/icons/fa/FaComments.js +0 -16
  442. package/dist/icons/fa/FaCompress.js +0 -16
  443. package/dist/icons/fa/FaDesktop.js +0 -16
  444. package/dist/icons/fa/FaDocker.js +0 -16
  445. package/dist/icons/fa/FaDollarSign.js +0 -16
  446. package/dist/icons/fa/FaEdge.js +0 -16
  447. package/dist/icons/fa/FaEdit.js +0 -16
  448. package/dist/icons/fa/FaExclamationTriangle.js +0 -16
  449. package/dist/icons/fa/FaExpand.js +0 -16
  450. package/dist/icons/fa/FaEye.js +0 -16
  451. package/dist/icons/fa/FaEyeSlash.js +0 -16
  452. package/dist/icons/fa/FaFile.js +0 -16
  453. package/dist/icons/fa/FaFilePdf.js +0 -16
  454. package/dist/icons/fa/FaFilter.js +0 -16
  455. package/dist/icons/fa/FaFirefoxBrowser.js +0 -16
  456. package/dist/icons/fa/FaFlask.js +0 -16
  457. package/dist/icons/fa/FaFolder.js +0 -16
  458. package/dist/icons/fa/FaGithub.js +0 -16
  459. package/dist/icons/fa/FaGitlab.js +0 -16
  460. package/dist/icons/fa/FaGlobe.js +0 -16
  461. package/dist/icons/fa/FaGlobeAmericas.js +0 -16
  462. package/dist/icons/fa/FaImage.js +0 -16
  463. package/dist/icons/fa/FaInfoCircle.js +0 -16
  464. package/dist/icons/fa/FaKey.js +0 -16
  465. package/dist/icons/fa/FaLayerGroup.js +0 -16
  466. package/dist/icons/fa/FaLink.js +0 -16
  467. package/dist/icons/fa/FaLinkedin.js +0 -16
  468. package/dist/icons/fa/FaLinux.js +0 -16
  469. package/dist/icons/fa/FaList.js +0 -16
  470. package/dist/icons/fa/FaLock.js +0 -16
  471. package/dist/icons/fa/FaOpenid.js +0 -16
  472. package/dist/icons/fa/FaOpera.js +0 -16
  473. package/dist/icons/fa/FaPaperclip.js +0 -16
  474. package/dist/icons/fa/FaPlus.js +0 -16
  475. package/dist/icons/fa/FaPowerOff.js +0 -16
  476. package/dist/icons/fa/FaPrint.js +0 -16
  477. package/dist/icons/fa/FaQrcode.js +0 -16
  478. package/dist/icons/fa/FaQuestionCircle.js +0 -16
  479. package/dist/icons/fa/FaRedhat.js +0 -16
  480. package/dist/icons/fa/FaRegCircle.js +0 -16
  481. package/dist/icons/fa/FaRegFileImage.js +0 -16
  482. package/dist/icons/fa/FaRegFolder.js +0 -16
  483. package/dist/icons/fa/FaRobot.js +0 -16
  484. package/dist/icons/fa/FaRocket.js +0 -16
  485. package/dist/icons/fa/FaRunning.js +0 -16
  486. package/dist/icons/fa/FaSafari.js +0 -16
  487. package/dist/icons/fa/FaSave.js +0 -16
  488. package/dist/icons/fa/FaSearch.js +0 -16
  489. package/dist/icons/fa/FaShieldAlt.js +0 -16
  490. package/dist/icons/fa/FaSlack.js +0 -16
  491. package/dist/icons/fa/FaStar.js +0 -16
  492. package/dist/icons/fa/FaStop.js +0 -16
  493. package/dist/icons/fa/FaSuse.js +0 -16
  494. package/dist/icons/fa/FaTerminal.js +0 -16
  495. package/dist/icons/fa/FaTimes.js +0 -16
  496. package/dist/icons/fa/FaUbuntu.js +0 -16
  497. package/dist/icons/fa/FaUndoAlt.js +0 -16
  498. package/dist/icons/fa/FaUnlink.js +0 -16
  499. package/dist/icons/fa/FaUser.js +0 -16
  500. package/dist/icons/fa/FaUsers.js +0 -16
  501. package/dist/icons/fa/FaWindows.js +0 -16
  502. package/dist/icons/fa6/FaApple.js +0 -16
  503. package/dist/icons/fa6/FaArrowsRotate.js +0 -16
  504. package/dist/icons/fa6/FaDebian.js +0 -16
  505. package/dist/icons/fa6/FaFilterCircleXmark.js +0 -16
  506. package/dist/icons/fa6/FaInbox.js +0 -16
  507. package/dist/icons/fa6/FaLocationDot.js +0 -16
  508. package/dist/icons/fa6/FaRegFilePdf.js +0 -16
  509. package/dist/icons/fa6/FaRegFolderOpen.js +0 -16
  510. package/dist/icons/fa6/FaUpRightFromSquare.js +0 -16
  511. package/dist/icons/fa6/FaWandMagicSparkles.js +0 -16
  512. package/dist/icons/fa6/FaXTwitter.js +0 -16
  513. package/dist/icons/fi/FiActivity.js +0 -23
  514. package/dist/icons/fi/FiAlertCircle.js +0 -49
  515. package/dist/icons/fi/FiChevronDown.js +0 -23
  516. package/dist/icons/fi/FiClock.js +0 -31
  517. package/dist/icons/fi/FiCopy.js +0 -34
  518. package/dist/icons/fi/FiDownload.js +0 -40
  519. package/dist/icons/fi/FiFile.js +0 -27
  520. package/dist/icons/fi/FiFileText.js +0 -55
  521. package/dist/icons/fi/FiHardDrive.js +0 -55
  522. package/dist/icons/fi/FiRotateCcw.js +0 -27
  523. package/dist/icons/fi/FiUpload.js +0 -40
  524. package/dist/icons/fi/FiX.js +0 -37
  525. package/dist/icons/fi/FiZap.js +0 -23
  526. package/dist/icons/gi/GiSpy.js +0 -16
  527. package/dist/icons/go/GoGitCommit.js +0 -16
  528. package/dist/icons/go/GoGitPullRequest.js +0 -20
  529. package/dist/icons/go/GoIssueOpened.js +0 -16
  530. package/dist/icons/go/GoPlus.js +0 -16
  531. package/dist/icons/go/GoRepoForked.js +0 -28
  532. package/dist/icons/go/GoSignOut.js +0 -16
  533. package/dist/icons/go/GoSkip.js +0 -20
  534. package/dist/icons/go/GoVideo.js +0 -20
  535. package/dist/icons/gr/GrCloudComputer.js +0 -20
  536. package/dist/icons/gr/GrInbox.js +0 -20
  537. package/dist/icons/gr/GrServerCluster.js +0 -20
  538. package/dist/icons/gr/GrStorage.js +0 -20
  539. package/dist/icons/gr/GrTasks.js +0 -20
  540. package/dist/icons/hi/HiCog.js +0 -24
  541. package/dist/icons/hi/HiDuplicate.js +0 -24
  542. package/dist/icons/hi/HiOutlineArchive.js +0 -26
  543. package/dist/icons/hi/HiOutlineClipboardCopy.js +0 -26
  544. package/dist/icons/hi/HiOutlineHome.js +0 -26
  545. package/dist/icons/hi/HiQuestionMarkCircle.js +0 -24
  546. package/dist/icons/hi/HiServer.js +0 -24
  547. package/dist/icons/hi2/HiMiniCheckCircle.js +0 -24
  548. package/dist/icons/hi2/HiMiniLanguage.js +0 -28
  549. package/dist/icons/hi2/HiMiniMinusCircle.js +0 -24
  550. package/dist/icons/hi2/HiMiniXCircle.js +0 -24
  551. package/dist/icons/hi2/HiSparkles.js +0 -24
  552. package/dist/icons/im/ImSpinner5.js +0 -19
  553. package/dist/icons/io/IoIosNotifications.js +0 -16
  554. package/dist/icons/io/IoMdBuild.js +0 -16
  555. package/dist/icons/io/IoMdClose.js +0 -16
  556. package/dist/icons/io5/IoCloudUploadOutline.js +0 -32
  557. package/dist/icons/io5/IoDocumentTextOutline.js +0 -31
  558. package/dist/icons/io5/IoFileTrayFullOutline.js +0 -31
  559. package/dist/icons/io5/IoHeart.js +0 -16
  560. package/dist/icons/io5/IoHeartDislike.js +0 -16
  561. package/dist/icons/io5/IoHeartOutline.js +0 -22
  562. package/dist/icons/io5/IoInformationCircleOutline.js +0 -50
  563. package/dist/icons/io5/IoSettingsOutline.js +0 -22
  564. package/dist/icons/io5/IoWarningOutline.js +0 -40
  565. package/dist/icons/lu/LuArrowRight.js +0 -27
  566. package/dist/icons/lu/LuBadgeCheck.js +0 -27
  567. package/dist/icons/lu/LuBraces.js +0 -27
  568. package/dist/icons/lu/LuBrainCircuit.js +0 -101
  569. package/dist/icons/lu/LuCalendar.js +0 -46
  570. package/dist/icons/lu/LuCheck.js +0 -23
  571. package/dist/icons/lu/LuChevronLeft.js +0 -23
  572. package/dist/icons/lu/LuChevronRight.js +0 -23
  573. package/dist/icons/lu/LuCode.js +0 -27
  574. package/dist/icons/lu/LuExternalLink.js +0 -35
  575. package/dist/icons/lu/LuEye.js +0 -31
  576. package/dist/icons/lu/LuEyeOff.js +0 -40
  577. package/dist/icons/lu/LuFolderTree.js +0 -40
  578. package/dist/icons/lu/LuIdCard.js +0 -55
  579. package/dist/icons/lu/LuKeyboard.js +0 -71
  580. package/dist/icons/lu/LuLogs.js +0 -65
  581. package/dist/icons/lu/LuMail.js +0 -33
  582. package/dist/icons/lu/LuMegaphone.js +0 -27
  583. package/dist/icons/lu/LuMoon.js +0 -23
  584. package/dist/icons/lu/LuNetwork.js +0 -63
  585. package/dist/icons/lu/LuPartyPopper.js +0 -65
  586. package/dist/icons/lu/LuSettings2.js +0 -48
  587. package/dist/icons/lu/LuSheet.js +0 -72
  588. package/dist/icons/lu/LuShield.js +0 -23
  589. package/dist/icons/lu/LuSun.js +0 -69
  590. package/dist/icons/lu/LuTextCursorInput.js +0 -45
  591. package/dist/icons/lu/LuX.js +0 -27
  592. package/dist/icons/lu/LuZoomIn.js +0 -59
  593. package/dist/icons/lu/LuZoomOut.js +0 -49
  594. package/dist/icons/md/MdClear.js +0 -23
  595. package/dist/icons/md/MdDragHandle.js +0 -23
  596. package/dist/icons/md/MdInstallDesktop.js +0 -31
  597. package/dist/icons/md/MdOutlineAttachMoney.js +0 -23
  598. package/dist/icons/md/MdOutlineMoneyOff.js +0 -23
  599. package/dist/icons/md/MdPieChart.js +0 -23
  600. package/dist/icons/md/MdRefresh.js +0 -23
  601. package/dist/icons/md/MdReplay.js +0 -23
  602. package/dist/icons/md/MdSmartphone.js +0 -23
  603. package/dist/icons/pi/PiArrowBendUpRightBold.js +0 -19
  604. package/dist/icons/pi/PiPlugsConnectedFill.js +0 -19
  605. package/dist/icons/pi/PiRectangleDashed.js +0 -19
  606. package/dist/icons/pi/PiShareBold.js +0 -19
  607. package/dist/icons/si/SiAnthropic.js +0 -19
  608. package/dist/icons/si/SiHelm.js +0 -19
  609. package/dist/icons/si/SiKubernetes.js +0 -19
  610. package/dist/icons/tb/TbAlertTriangle.js +0 -35
  611. package/dist/icons/tb/TbAlertTriangleFilled.js +0 -19
  612. package/dist/icons/tb/TbApi.js +0 -40
  613. package/dist/icons/tb/TbBrain.js +0 -50
  614. package/dist/icons/tb/TbBuildingTunnel.js +0 -65
  615. package/dist/icons/tb/TbEdit.js +0 -35
  616. package/dist/icons/tb/TbLayoutSidebar.js +0 -27
  617. package/dist/icons/tb/TbLayoutSidebarLeftCollapse.js +0 -35
  618. package/dist/icons/tb/TbLayoutSidebarRightCollapse.js +0 -35
  619. package/dist/icons/tb/TbUser.js +0 -27
  620. package/dist/icons/tb/TbUserOff.js +0 -35
  621. package/dist/icons/tb/TbWorldShare.js +0 -55
  622. package/dist/icons/tb/TbWorldWww.js +0 -65
  623. package/dist/icons/ti/TiArrowSortedDown.js +0 -20
  624. package/dist/icons/ti/TiArrowSortedUp.js +0 -20
  625. package/dist/icons/ti/TiArrowUnsorted.js +0 -20
  626. package/dist/icons/ti/TiCancel.js +0 -20
  627. package/dist/icons/vsc/VscChromeMinimize.js +0 -19
  628. package/dist/icons/vsc/VscJson.js +0 -19
  629. package/dist/icons/vsc/VscLayoutSidebarLeft.js +0 -19
  630. package/dist/icons/vsc/VscPass.js +0 -27
  631. package/dist/icons/vsc/VscSplitHorizontal.js +0 -19
  632. package/dist/icons/vsc/VscTerminalPowershell.js +0 -19
  633. package/dist/list/ListPager.d.ts +0 -14
  634. package/dist/list/ListPager.js +0 -62
  635. package/dist/list/textEntry.d.ts +0 -2
  636. package/dist/list/textEntry.js +0 -10
  637. /package/dist/{ai/ui/codeBreaks.d.ts → components/markdownCodeBreaks.d.ts} +0 -0
@@ -1,37 +1,10 @@
1
+ import { toPositionerAnchor } from "./floating.js";
1
2
  import { MenuPopup } from "./Menu.js";
2
3
  import { MenuEntries, MenuFilter } from "./MenuEntries.js";
3
4
  import { Menu } from "@base-ui/react/menu";
4
5
  import { jsx } from "react/jsx-runtime";
5
6
  import { useCallback, useRef, useState } from "react";
6
7
  //#region src/components/ContextMenu.tsx
7
- function pointRect(x, y) {
8
- return {
9
- x,
10
- y,
11
- left: x,
12
- top: y,
13
- right: x,
14
- bottom: y,
15
- width: 0,
16
- height: 0
17
- };
18
- }
19
- function toAnchor(at) {
20
- if (at instanceof Element) return at;
21
- const { clientX, clientY } = at;
22
- const on = at.currentTarget instanceof Element ? at.currentTarget : null;
23
- if (!on) return { getBoundingClientRect: () => pointRect(clientX, clientY) };
24
- const start = on.getBoundingClientRect();
25
- const dx = clientX - start.left;
26
- const dy = clientY - start.top;
27
- return {
28
- contextElement: on,
29
- getBoundingClientRect: () => {
30
- const now = on.getBoundingClientRect();
31
- return pointRect(now.left + dx, now.top + dy);
32
- }
33
- };
34
- }
35
8
  /**
36
9
  * One menu that any number of rows, buttons or a canvas open with their own
37
10
  * items, so a long list holds a single menu rather than one per row. Render
@@ -51,7 +24,7 @@ function useContextMenu() {
51
24
  release();
52
25
  const next = {
53
26
  ...options,
54
- anchor: toAnchor(at),
27
+ anchor: toPositionerAnchor(at),
55
28
  items
56
29
  };
57
30
  owner.current = next;
@@ -1,29 +1,18 @@
1
- import { FaCheck } from "../icons/fa/FaCheck.js";
2
- import { FaEye } from "../icons/fa/FaEye.js";
3
- import { FaEyeSlash } from "../icons/fa/FaEyeSlash.js";
4
- import { FiCopy } from "../icons/fi/FiCopy.js";
5
- import { HiOutlineClipboardCopy } from "../icons/hi/HiOutlineClipboardCopy.js";
6
- import { useNotify, useStrings } from "./Provider.js";
1
+ import { CheckIcon, CopyIcon, EyeIcon, EyeOffIcon } from "../icons.js";
2
+ import { useStrings } from "./Provider.js";
3
+ import { useCopy } from "./useCopy.js";
7
4
  import { jsx, jsxs } from "react/jsx-runtime";
8
- import { useState } from "react";
9
5
  //#region src/components/CopyToClipboard.tsx
10
6
  function CopyToClipboard({ as = "div", text, className, children, showIcon = true }) {
11
- const notify = useNotify();
12
- const strings = useStrings();
13
- const handleCopy = async () => {
14
- try {
15
- await navigator.clipboard.writeText(text);
16
- notify.info("Copied to clipboard");
17
- } catch {
18
- notify.error("Failed to copy to clipboard");
19
- }
20
- };
7
+ const { common } = useStrings();
8
+ const { copy } = useCopy();
9
+ const handleCopy = () => void copy(text);
21
10
  return /* @__PURE__ */ jsxs(as, {
22
11
  className,
23
12
  onClick: handleCopy,
24
13
  ...as === "button" ? { type: "button" } : {
25
14
  role: "button",
26
- "aria-label": strings.common.copy,
15
+ "aria-label": common.copy,
27
16
  tabIndex: 0,
28
17
  onKeyDown: (e) => {
29
18
  if (e.key === "Enter" || e.key === " ") {
@@ -32,22 +21,14 @@ function CopyToClipboard({ as = "div", text, className, children, showIcon = tru
32
21
  }
33
22
  }
34
23
  },
35
- children: [showIcon && /* @__PURE__ */ jsx(HiOutlineClipboardCopy, {}), children]
24
+ children: [showIcon && /* @__PURE__ */ jsx(CopyIcon, {}), children]
36
25
  });
37
26
  }
38
27
  function CopyCodeBlock({ textToCopy, children, secret = false, isRevealed = false, onRevealToggle }) {
39
- const notify = useNotify();
40
- const [copied, setCopied] = useState(false);
41
- const handleCopy = async () => {
42
- if (copied) return;
43
- try {
44
- await navigator.clipboard.writeText(textToCopy);
45
- setCopied(true);
46
- notify.info("Copied to clipboard");
47
- setTimeout(() => setCopied(false), 2e3);
48
- } catch {
49
- notify.error("Failed to copy to clipboard");
50
- }
28
+ const { common } = useStrings();
29
+ const { copy, copied } = useCopy();
30
+ const handleCopy = () => {
31
+ if (!copied) copy(textToCopy);
51
32
  };
52
33
  return /* @__PURE__ */ jsxs("div", {
53
34
  className: "group relative",
@@ -65,9 +46,9 @@ function CopyCodeBlock({ textToCopy, children, secret = false, isRevealed = fals
65
46
  onRevealToggle?.();
66
47
  },
67
48
  className: "p-2 rounded-md opacity-0 group-hover:opacity-100 transition-all duration-150",
68
- "aria-label": isRevealed ? "Hide secret" : "Reveal secret",
69
- title: isRevealed ? "Hide secret" : "Reveal secret",
70
- children: isRevealed ? /* @__PURE__ */ jsx(FaEye, {}) : /* @__PURE__ */ jsx(FaEyeSlash, {})
49
+ "aria-label": isRevealed ? common.hideValue : common.showValue,
50
+ title: isRevealed ? common.hideValue : common.showValue,
51
+ children: isRevealed ? /* @__PURE__ */ jsx(EyeIcon, {}) : /* @__PURE__ */ jsx(EyeOffIcon, {})
71
52
  }), /* @__PURE__ */ jsx("button", {
72
53
  type: "button",
73
54
  onClick: (e) => {
@@ -75,8 +56,8 @@ function CopyCodeBlock({ textToCopy, children, secret = false, isRevealed = fals
75
56
  handleCopy();
76
57
  },
77
58
  className: "p-2 rounded-md opacity-0 group-hover:opacity-100 transition-all duration-150",
78
- "aria-label": copied ? "Copied" : "Copy to clipboard",
79
- children: copied ? /* @__PURE__ */ jsx(FaCheck, { className: "text-green-400" }) : /* @__PURE__ */ jsx(FiCopy, {})
59
+ "aria-label": copied ? common.copied : common.copyToClipboard,
60
+ children: copied ? /* @__PURE__ */ jsx(CheckIcon, { className: "text-green-400" }) : /* @__PURE__ */ jsx(CopyIcon, {})
80
61
  })]
81
62
  })]
82
63
  });
@@ -1,4 +1,4 @@
1
- import type { InputHTMLAttributes, ReactNode, TextareaHTMLAttributes } from 'react';
1
+ import type { ReactNode } from 'react';
2
2
  import { type ComboboxItems } from './comboboxItems.js';
3
3
  import type { MenuEntry } from './MenuEntries.js';
4
4
  interface CreateModalProps {
@@ -19,7 +19,9 @@ interface CreateModalProps {
19
19
  /** Normalize the name as the user types (e.g. strip disallowed characters). */
20
20
  sanitizeName?: (name: string) => string;
21
21
  nameHint?: ((name: string) => ReactNode) | undefined;
22
+ /** The dialog's fields: an `Input`, or a `Field` around any other control. */
22
23
  children?: ReactNode;
24
+ /** Compact pills, such as `CreateModalSelect` and `CreateModalSwitch`, in a row under the name. */
23
25
  properties?: ReactNode;
24
26
  advanced?: ReactNode;
25
27
  submitDisabled?: boolean;
@@ -37,29 +39,6 @@ interface CreateModalProps {
37
39
  }
38
40
  /** Submits on Enter in the name field or ⌘/Ctrl+Enter from anywhere in the panel. */
39
41
  export declare function CreateModal({ open, onClose, typeIcon, typeLabel, typeMenu, namePlaceholder, hideName, initialName, showDescription, descriptionPlaceholder, submitLabel, submittingLabel, validateName, sanitizeName, nameHint, children, properties, advanced, submitDisabled, hideSubmit, nameOptional, onNameChange, dirty, showFavorite, onSubmit, }: CreateModalProps): import("react").JSX.Element;
40
- /** Labeled single-line input row for the dialog's extra fields. */
41
- export declare function CreateModalField({ label, tooltip, id, ...props }: InputHTMLAttributes<HTMLInputElement> & {
42
- label: string;
43
- /** Help text surfaced via an info icon next to the label. */
44
- tooltip?: string | undefined;
45
- }): import("react").JSX.Element;
46
- /** Labeled multi-line field for credential blobs (JSON keys, PEM keys). */
47
- export declare function CreateModalTextarea({ label, tooltip, rows, id, ...props }: TextareaHTMLAttributes<HTMLTextAreaElement> & {
48
- label: string;
49
- /** Help text surfaced via an info icon next to the label. */
50
- tooltip?: string | undefined;
51
- }): import("react").JSX.Element;
52
- /** Labeled input with suggestions; any text is allowed. */
53
- export declare function CreateModalAutocompleteField({ label, tooltip, value, onValueChange, items, placeholder, }: {
54
- label: string;
55
- /** Help text surfaced via an info icon next to the label. */
56
- tooltip?: string;
57
- value: string;
58
- onValueChange: (value: string) => void;
59
- /** Suggestions, filtered by what's typed. */
60
- items: string[];
61
- placeholder?: string;
62
- }): import("react").JSX.Element;
63
42
  /** Compact property pill with an on/off switch. */
64
43
  export declare function CreateModalSwitch({ label, checked, onCheckedChange, tooltip, }: {
65
44
  label: string;
@@ -1,32 +1,29 @@
1
- import { FaChevronDown } from "../icons/fa/FaChevronDown.js";
2
- import { IoHeart } from "../icons/io5/IoHeart.js";
3
- import { IoHeartOutline } from "../icons/io5/IoHeartOutline.js";
4
- import { LuChevronRight } from "../icons/lu/LuChevronRight.js";
1
+ import { cx } from "../cx.js";
2
+ import { ChevronDownIcon, FavoriteIcon, FavoriteOutlineIcon } from "../icons.js";
3
+ import { buttonClasses } from "./buttonClasses.js";
5
4
  import { Tooltip } from "./Tooltip.js";
6
5
  import { useStrings } from "./Provider.js";
7
6
  import { ActionMenu } from "./ActionMenu.js";
7
+ import { Button } from "./Button.js";
8
8
  import { comboboxLeaves } from "./comboboxItems.js";
9
- import { Autocomplete, Combobox } from "./Combobox.js";
10
- import { ghostButtonClasses } from "./ghostButton.js";
9
+ import { Combobox } from "./Combobox.js";
11
10
  import { Modal } from "./Modal.js";
12
- import { InfoTip } from "./InfoTip.js";
11
+ import { Disclosure } from "./Disclosure.js";
13
12
  import { Switch } from "./Switch.js";
14
- import { clsx } from "clsx";
15
13
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
16
- import { useEffect, useId, useRef, useState } from "react";
17
- import { Button } from "@base-ui/react/button";
14
+ import { useEffect, useRef, useState } from "react";
18
15
  import { Toggle } from "@base-ui/react/toggle";
19
16
  //#region src/components/CreateModal.tsx
20
17
  /** Submits on Enter in the name field or ⌘/Ctrl+Enter from anywhere in the panel. */
21
18
  function CreateModal({ open, onClose, typeIcon, typeLabel, typeMenu, namePlaceholder, hideName = false, initialName, showDescription = true, descriptionPlaceholder, submitLabel, submittingLabel, validateName, sanitizeName, nameHint, children, properties, advanced, submitDisabled = false, hideSubmit = false, nameOptional = false, onNameChange, dirty = false, showFavorite = false, onSubmit }) {
22
19
  const t = useStrings().modal;
23
- const submitText = submitLabel ?? t.create;
20
+ const { common } = useStrings();
21
+ const submitText = submitLabel ?? common.create;
24
22
  const submittingText = submittingLabel ?? t.creating;
25
23
  const descriptionText = descriptionPlaceholder ?? t.addDescription;
26
24
  const [name, setName] = useState("");
27
25
  const [description, setDescription] = useState("");
28
26
  const [submitting, setSubmitting] = useState(false);
29
- const [advancedOpen, setAdvancedOpen] = useState(false);
30
27
  const [favorite, setFavorite] = useState(false);
31
28
  const [nameFlash, setNameFlash] = useState(false);
32
29
  const [nameTouched, setNameTouched] = useState(false);
@@ -37,7 +34,6 @@ function CreateModal({ open, onClose, typeIcon, typeLabel, typeMenu, namePlaceho
37
34
  setName(initialName ?? "");
38
35
  setDescription("");
39
36
  setSubmitting(false);
40
- setAdvancedOpen(false);
41
37
  setFavorite(false);
42
38
  setNameTouched(false);
43
39
  setInteracted(false);
@@ -97,7 +93,7 @@ function CreateModal({ open, onClose, typeIcon, typeLabel, typeMenu, namePlaceho
97
93
  children: [
98
94
  typeIcon,
99
95
  typeLabel,
100
- /* @__PURE__ */ jsx(FaChevronDown, { className: "w-3 h-3 opacity-60" })
96
+ /* @__PURE__ */ jsx(ChevronDownIcon, { className: "w-3 h-3 opacity-60" })
101
97
  ]
102
98
  }) : /* @__PURE__ */ jsxs("div", {
103
99
  className: "inline-flex items-center gap-1.5 px-1.5 py-1 rounded-md bg-(--theme-muted-panel-bg) text-xs font-medium text-(--theme-muted-text-color)",
@@ -128,7 +124,7 @@ function CreateModal({ open, onClose, typeIcon, typeLabel, typeMenu, namePlaceho
128
124
  placeholder: namePlaceholder,
129
125
  "aria-label": namePlaceholder,
130
126
  onAnimationEnd: () => setNameFlash(false),
131
- className: clsx("mt-2 -mb-1 -mx-1.5 w-[calc(100%+0.75rem)] rounded-md border-0 px-1.5 py-1 bg-transparent shadow-none text-lg font-medium text-(--theme-app) placeholder:text-(--theme-muted-text-color) focus:outline-none", nameFlash && "animate-field-flash", nameMissing ? "ring-1 ring-(--theme-error)" : "focus:ring-0")
127
+ className: cx("mt-2 -mb-1 -mx-1.5 w-[calc(100%+0.75rem)] rounded-md border-0 px-1.5 py-1 bg-transparent shadow-none text-lg font-medium text-(--theme-app) placeholder:text-(--theme-muted-text-color) focus:outline-none", nameFlash && "animate-field-flash", nameMissing ? "ring-1 ring-(--theme-error)" : "focus:ring-0")
132
128
  }),
133
129
  nameError && /* @__PURE__ */ jsx("p", {
134
130
  className: "mt-1 text-xs text-(--theme-error)",
@@ -149,24 +145,24 @@ function CreateModal({ open, onClose, typeIcon, typeLabel, typeMenu, namePlaceho
149
145
  className: "mt-1.5 w-full border-0 p-0 bg-transparent shadow-none resize-none text-sm text-(--theme-app) placeholder:text-(--theme-muted-text-color) focus:outline-none focus:ring-0"
150
146
  }) : /* @__PURE__ */ jsx("div", { className: "mt-3" })
151
147
  ] }),
152
- children
148
+ children && /* @__PURE__ */ jsx("div", {
149
+ className: "mb-3 flex flex-col gap-3",
150
+ children
151
+ })
153
152
  ]
154
153
  }),
155
154
  properties && /* @__PURE__ */ jsx("div", {
156
155
  className: "flex flex-wrap items-center gap-1.5 px-4 pt-1 pb-3",
157
156
  children: properties
158
157
  }),
159
- advanced && /* @__PURE__ */ jsxs("div", {
158
+ advanced && /* @__PURE__ */ jsx("div", {
160
159
  className: "px-4 pb-3",
161
- children: [/* @__PURE__ */ jsxs("button", {
162
- type: "button",
163
- onClick: () => setAdvancedOpen((o) => !o),
164
- className: "inline-flex items-center gap-1 text-xs font-medium text-(--theme-muted-text-color) hover:text-(--theme-app) transition-colors",
165
- children: [/* @__PURE__ */ jsx(LuChevronRight, { className: clsx("w-3 h-3 transition-transform", advancedOpen && "rotate-90") }), t.advanced]
166
- }), advancedOpen && /* @__PURE__ */ jsx("div", {
167
- className: "mt-2",
160
+ children: /* @__PURE__ */ jsx(Disclosure, {
161
+ summary: t.advanced,
162
+ summaryClassName: "text-xs font-medium text-(--theme-muted-text-color) transition-colors hover:text-(--theme-app)",
163
+ panelClassName: "pt-2",
168
164
  children: advanced
169
- })]
165
+ })
170
166
  })
171
167
  ]
172
168
  }), /* @__PURE__ */ jsxs("div", {
@@ -177,105 +173,41 @@ function CreateModal({ open, onClose, typeIcon, typeLabel, typeMenu, namePlaceho
177
173
  pressed: favorite,
178
174
  onPressedChange: setFavorite,
179
175
  "aria-label": t.favorite,
180
- className: clsx("inline-flex h-8 items-center gap-1.5 px-2.5 rounded-md text-sm font-medium transition-colors focus:outline-none focus-visible:ring-2 focus-visible:ring-(--theme-focus-ring)", favorite ? "text-(--theme-favorite) bg-(--theme-favorite-muted)" : "text-(--theme-muted-text-color) hover:text-(--theme-app) hover:bg-(--theme-muted-panel-bg)"),
181
- children: [favorite ? /* @__PURE__ */ jsx(IoHeart, { className: "w-4 h-4 scale-110 transition-transform" }) : /* @__PURE__ */ jsx(IoHeartOutline, { className: "w-4 h-4 transition-transform" }), favorite ? t.favorited : t.favorite]
176
+ className: buttonClasses({
177
+ variant: "ghost",
178
+ size: "md"
179
+ }),
180
+ children: [favorite ? /* @__PURE__ */ jsx(FavoriteIcon, { className: "text-(--theme-favorite)" }) : /* @__PURE__ */ jsx(FavoriteOutlineIcon, {}), favorite ? t.favorited : t.favorite]
182
181
  })
183
182
  }) : /* @__PURE__ */ jsx("span", {}), /* @__PURE__ */ jsxs("div", {
184
183
  className: "flex items-center gap-2",
185
- children: [/* @__PURE__ */ jsx("button", {
186
- type: "button",
184
+ children: [/* @__PURE__ */ jsx(Button, {
185
+ variant: "ghost",
186
+ size: "sm",
187
187
  onClick: onClose,
188
- className: ghostButtonClasses,
189
- children: hideSubmit ? t.close : t.cancel
190
- }), !hideSubmit && /* @__PURE__ */ jsx("button", {
191
- type: "button",
188
+ children: hideSubmit ? common.close : common.cancel
189
+ }), !hideSubmit && /* @__PURE__ */ jsx(Button, {
190
+ variant: "primary",
191
+ size: "sm",
192
192
  onClick: handleSubmit,
193
193
  "aria-disabled": !canSubmit,
194
- className: `inline-flex cursor-pointer items-center gap-1.5 h-7 px-2.5 rounded-md text-[12.5px] font-medium bg-(--theme-element) text-(--theme-element-text) hover:opacity-90 transition-opacity aria-disabled:opacity-50 aria-disabled:cursor-not-allowed aria-disabled:hover:opacity-50`,
194
+ loading: submitting,
195
195
  children: submitting ? submittingText : submitText
196
196
  })]
197
197
  })]
198
198
  })]
199
199
  });
200
200
  }
201
- var fieldInputClasses = "w-full h-8 px-2.5 rounded-md border border-(--theme-border) bg-(--theme-input-bg) shadow-none text-sm text-(--theme-app) placeholder:text-(--theme-muted-text-color) transition-colors focus:outline-none focus:ring-0 focus:border-(--theme-element)";
202
- var fieldLabelClasses = "block mb-1 text-xs font-medium text-(--theme-muted-text-color)";
203
- /** A field's label, with its help beside it rather than inside the label, so
204
- * the label names the field and not the help button. */
205
- function FieldLabel({ id, label, tooltip }) {
206
- return /* @__PURE__ */ jsxs("div", {
207
- className: clsx(fieldLabelClasses, "flex items-center gap-1"),
208
- children: [/* @__PURE__ */ jsx("label", {
209
- htmlFor: id,
210
- children: label
211
- }), tooltip && /* @__PURE__ */ jsx(InfoTip, { text: tooltip })]
212
- });
213
- }
214
- /** Labeled single-line input row for the dialog's extra fields. */
215
- function CreateModalField({ label, tooltip, id, ...props }) {
216
- const fallbackId = useId();
217
- const fieldId = id ?? fallbackId;
218
- return /* @__PURE__ */ jsxs("div", {
219
- className: "mb-3",
220
- children: [/* @__PURE__ */ jsx(FieldLabel, {
221
- id: fieldId,
222
- label,
223
- tooltip
224
- }), /* @__PURE__ */ jsx("input", {
225
- type: "text",
226
- autoComplete: "off",
227
- "data-1p-ignore": true,
228
- ...props,
229
- id: fieldId,
230
- className: fieldInputClasses
231
- })]
232
- });
233
- }
234
- /** Labeled multi-line field for credential blobs (JSON keys, PEM keys). */
235
- function CreateModalTextarea({ label, tooltip, rows = 4, id, ...props }) {
236
- const fallbackId = useId();
237
- const fieldId = id ?? fallbackId;
238
- return /* @__PURE__ */ jsxs("div", {
239
- className: "mb-3",
240
- children: [/* @__PURE__ */ jsx(FieldLabel, {
241
- id: fieldId,
242
- label,
243
- tooltip
244
- }), /* @__PURE__ */ jsx("textarea", {
245
- autoComplete: "off",
246
- "data-1p-ignore": true,
247
- rows,
248
- ...props,
249
- id: fieldId,
250
- className: clsx(fieldInputClasses, "h-auto py-2 font-mono text-xs leading-relaxed resize-y")
251
- })]
252
- });
253
- }
254
- /** Labeled input with suggestions; any text is allowed. */
255
- function CreateModalAutocompleteField({ label, tooltip, value, onValueChange, items, placeholder }) {
256
- const id = useId();
257
- return /* @__PURE__ */ jsxs("div", {
258
- className: "mb-3",
259
- children: [/* @__PURE__ */ jsx(FieldLabel, {
260
- id,
261
- label,
262
- tooltip
263
- }), /* @__PURE__ */ jsx(Autocomplete, {
264
- id,
265
- items,
266
- value,
267
- onValueChange,
268
- placeholder
269
- })]
270
- });
271
- }
272
- var pillClasses = "inline-flex h-7 items-center gap-1.5 rounded-md border border-(--theme-border) px-2 text-xs font-medium transition-colors";
201
+ var pillClasses = (set) => buttonClasses({
202
+ variant: set ? "secondary" : "outline",
203
+ size: "sm"
204
+ });
273
205
  /** Compact property pill with an on/off switch. */
274
206
  function CreateModalSwitch({ label, checked, onCheckedChange, tooltip }) {
275
207
  return /* @__PURE__ */ jsx(Tooltip, {
276
208
  content: tooltip,
277
209
  children: /* @__PURE__ */ jsxs("label", {
278
- className: clsx(pillClasses, "cursor-pointer hover:bg-(--theme-muted-panel-bg)", checked ? "text-(--theme-app)" : "text-(--theme-muted-text-color)"),
210
+ className: pillClasses(checked),
279
211
  children: [/* @__PURE__ */ jsx(Switch, {
280
212
  size: "sm",
281
213
  checked,
@@ -287,7 +219,7 @@ function CreateModalSwitch({ label, checked, onCheckedChange, tooltip }) {
287
219
  /** Compact property pill that picks one value from a searchable list. Items may carry
288
220
  * icons, descriptions and group headings (e.g. Clusters vs Kubernetes). */
289
221
  function CreateModalSelect({ label, icon, value, items, onValueChange, disabled = false, disabledReason, tooltip }) {
290
- const t = useStrings().modal;
222
+ const { common } = useStrings();
291
223
  const selected = comboboxLeaves(items).map((item) => typeof item === "string" ? {
292
224
  value: item,
293
225
  label: item
@@ -299,7 +231,7 @@ function CreateModalSelect({ label, icon, value, items, onValueChange, disabled
299
231
  className: "font-normal text-(--theme-muted-text-color)",
300
232
  children: label
301
233
  }), selectedLabel] }) : label,
302
- /* @__PURE__ */ jsx(FaChevronDown, { className: "w-3 h-3 opacity-60" })
234
+ /* @__PURE__ */ jsx(ChevronDownIcon, { className: "w-3 h-3 opacity-60" })
303
235
  ] });
304
236
  if (disabled) return /* @__PURE__ */ jsx(Tooltip, {
305
237
  content: disabledReason ?? tooltip,
@@ -307,7 +239,8 @@ function CreateModalSelect({ label, icon, value, items, onValueChange, disabled
307
239
  disabled: true,
308
240
  focusableWhenDisabled: true,
309
241
  "aria-label": label,
310
- className: clsx(pillClasses, "opacity-50 cursor-not-allowed text-(--theme-muted-text-color)"),
242
+ variant: "outline",
243
+ size: "sm",
311
244
  children: pillContent
312
245
  })
313
246
  });
@@ -319,14 +252,14 @@ function CreateModalSelect({ label, icon, value, items, onValueChange, disabled
319
252
  },
320
253
  itemToStringLabel: (next) => next,
321
254
  "aria-label": label,
322
- placeholder: t.filter,
255
+ placeholder: common.filter,
323
256
  triggerTooltip: tooltip,
324
257
  trigger: /* @__PURE__ */ jsx("button", {
325
258
  type: "button",
326
- className: clsx(pillClasses, "cursor-pointer hover:bg-(--theme-muted-panel-bg)", selectedLabel ? "text-(--theme-app)" : "text-(--theme-muted-text-color)"),
259
+ className: pillClasses(!!selectedLabel),
327
260
  children: pillContent
328
261
  })
329
262
  });
330
263
  }
331
264
  //#endregion
332
- export { CreateModal, CreateModalAutocompleteField, CreateModalField, CreateModalSelect, CreateModalSwitch, CreateModalTextarea };
265
+ export { CreateModal, CreateModalSelect, CreateModalSwitch };
@@ -0,0 +1,31 @@
1
+ export interface DatePickerProps {
2
+ /** As a native date input holds it: `yyyy-MM-dd`, or with `withTime` the local
3
+ * `yyyy-MM-ddTHH:mm` of `datetime-local`. Empty while nothing is chosen. */
4
+ value: string;
5
+ onValueChange: (value: string) => void;
6
+ /** A time beside the date. */
7
+ withTime?: boolean | undefined;
8
+ /** The earliest and latest days, and with `withTime` times, that can be chosen, in the value's
9
+ * format. */
10
+ min?: string | undefined;
11
+ max?: string | undefined;
12
+ /** Seconds the time steps by, such as 900 for quarter hours. */
13
+ timeStep?: number | undefined;
14
+ /** Leaves out the clear button, for a field that always holds a date. */
15
+ required?: boolean | undefined;
16
+ disabled?: boolean | undefined;
17
+ placeholder?: string | undefined;
18
+ id?: string | undefined;
19
+ 'aria-label'?: string | undefined;
20
+ 'aria-labelledby'?: string | undefined;
21
+ 'aria-describedby'?: string | undefined;
22
+ 'aria-invalid'?: boolean | undefined;
23
+ 'aria-required'?: boolean | undefined;
24
+ className?: string | undefined;
25
+ }
26
+ /**
27
+ * A day from a calendar, and with `withTime` a time beside it. The value is a string as a native
28
+ * date or datetime-local input holds it, so it reads the same in forms and URLs; months, weekdays
29
+ * and the shown date follow the reader's locale.
30
+ */
31
+ export declare function DatePicker({ value, onValueChange, withTime, min, max, timeStep, required, disabled, placeholder, id, 'aria-label': ariaLabel, 'aria-labelledby': ariaLabelledBy, 'aria-describedby': ariaDescribedBy, 'aria-invalid': ariaInvalid, 'aria-required': ariaRequired, className, }: DatePickerProps): import("react").JSX.Element;