@k2b/ui 0.5.0 → 0.6.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 (387) hide show
  1. package/dist/browser/actions/Button.js +11 -2
  2. package/dist/browser/actions/Button.js.map +1 -1
  3. package/dist/browser/actions/ContextMenu.js.map +1 -1
  4. package/dist/browser/actions/CopyButton.js.map +1 -1
  5. package/dist/browser/actions/Disclosure.js.map +1 -1
  6. package/dist/browser/actions/Dropdown.js.map +1 -1
  7. package/dist/browser/actions/FilterChip.js.map +1 -1
  8. package/dist/browser/actions/RemoveButton.js.map +1 -1
  9. package/dist/browser/actions/SegmentedControl.js.map +1 -1
  10. package/dist/browser/actions/SplitButton.js.map +1 -1
  11. package/dist/browser/actions/SpotlightSearch.js.map +1 -1
  12. package/dist/browser/actions/Tabs.js.map +1 -1
  13. package/dist/browser/actions/Toolbar.js.map +1 -1
  14. package/dist/browser/actions/index.js.map +1 -1
  15. package/dist/browser/chat/ChatComposer.js.map +1 -1
  16. package/dist/browser/chat/ChatContextPopup.js.map +1 -1
  17. package/dist/browser/chat/ChatPrimitives.js.map +1 -1
  18. package/dist/browser/chat/ChatRoot.js.map +1 -1
  19. package/dist/browser/chat/ChatTasks.js +1 -1
  20. package/dist/browser/chat/ChatTasks.js.map +1 -1
  21. package/dist/browser/chat/ChatTimeline.js.map +1 -1
  22. package/dist/browser/chat/chat-behavior.js.map +1 -1
  23. package/dist/browser/chat/composer-document.js.map +1 -1
  24. package/dist/browser/chat/index.js.map +1 -1
  25. package/dist/browser/content/Calendar.js.map +1 -1
  26. package/dist/browser/content/Chart.js.map +1 -1
  27. package/dist/browser/content/ChartExplorer.js.map +1 -1
  28. package/dist/browser/content/ChartExplorerControls.js.map +1 -1
  29. package/dist/browser/content/ChartFilterControls.js +1 -1
  30. package/dist/browser/content/ChartFilterControls.js.map +1 -1
  31. package/dist/browser/content/ChartSnapshotView.js.map +1 -1
  32. package/dist/browser/content/CodeDisplay.js.map +1 -1
  33. package/dist/browser/content/DataTable.js.map +1 -1
  34. package/dist/browser/content/Docs.js.map +1 -1
  35. package/dist/browser/content/FileBrowser.js.map +1 -1
  36. package/dist/browser/content/FileGrid.js.map +1 -1
  37. package/dist/browser/content/FileTree.js.map +1 -1
  38. package/dist/browser/content/FileView.js.map +1 -1
  39. package/dist/browser/content/Lightbox.js.map +1 -1
  40. package/dist/browser/content/LogEntriesTable.js.map +1 -1
  41. package/dist/browser/content/MarkdownView.js.map +1 -1
  42. package/dist/browser/content/Pagination.js.map +1 -1
  43. package/dist/browser/content/PdfPreview.js.map +1 -1
  44. package/dist/browser/content/RangePicker.js.map +1 -1
  45. package/dist/browser/content/StructuredDataPreview.js.map +1 -1
  46. package/dist/browser/content/ZoomPanViewport.js +396 -0
  47. package/dist/browser/content/ZoomPanViewport.js.map +1 -0
  48. package/dist/browser/content/calendar-event-layout.js.map +1 -1
  49. package/dist/browser/content/calendar-pointer.js.map +1 -1
  50. package/dist/browser/content/chart-cursor.js.map +1 -1
  51. package/dist/browser/content/chart-explorer.js.map +1 -1
  52. package/dist/browser/content/chart-inspection.js.map +1 -1
  53. package/dist/browser/content/chart-line-gaps.js.map +1 -1
  54. package/dist/browser/content/chart-map-viewport.js.map +1 -1
  55. package/dist/browser/content/chart-snapshot.js.map +1 -1
  56. package/dist/browser/content/chart-state-timeline.js.map +1 -1
  57. package/dist/browser/content/chart-svg.js.map +1 -1
  58. package/dist/browser/content/code-highlight.js.map +1 -1
  59. package/dist/browser/content/collection-selection.js.map +1 -1
  60. package/dist/browser/content/delimited-preferences.js.map +1 -1
  61. package/dist/browser/content/file-tree.js.map +1 -1
  62. package/dist/browser/content/file-view-preview.js.map +1 -1
  63. package/dist/browser/content/index.js +1 -0
  64. package/dist/browser/content/index.js.map +1 -1
  65. package/dist/browser/content/zoom-pan.js +54 -0
  66. package/dist/browser/content/zoom-pan.js.map +1 -0
  67. package/dist/browser/feedback/InlineGuidance.js.map +1 -1
  68. package/dist/browser/feedback/Tooltip.js.map +1 -1
  69. package/dist/browser/feedback/dialog-core.js.map +1 -1
  70. package/dist/browser/feedback/index.js.map +1 -1
  71. package/dist/browser/feedback/prompts.js.map +1 -1
  72. package/dist/browser/feedback/toast.js.map +1 -1
  73. package/dist/browser/feedback/tooltip-position.js.map +1 -1
  74. package/dist/browser/inputs/AutocompleteEditor.js.map +1 -1
  75. package/dist/browser/inputs/AutocompleteSelect.js.map +1 -1
  76. package/dist/browser/inputs/Checkbox.js.map +1 -1
  77. package/dist/browser/inputs/CheckboxCard.js.map +1 -1
  78. package/dist/browser/inputs/ChoiceGroups.js.map +1 -1
  79. package/dist/browser/inputs/ChoiceInputs.js.map +1 -1
  80. package/dist/browser/inputs/Combobox.js.map +1 -1
  81. package/dist/browser/inputs/DatePicker.js.map +1 -1
  82. package/dist/browser/inputs/FileInputs.js.map +1 -1
  83. package/dist/browser/inputs/MultiSelectInput.js.map +1 -1
  84. package/dist/browser/inputs/NumberInput.js.map +1 -1
  85. package/dist/browser/inputs/Select.js.map +1 -1
  86. package/dist/browser/inputs/SelectChip.js.map +1 -1
  87. package/dist/browser/inputs/SpecialInputs.js.map +1 -1
  88. package/dist/browser/inputs/Switch.js.map +1 -1
  89. package/dist/browser/inputs/TagEditor.js.map +1 -1
  90. package/dist/browser/inputs/TagsInput.js.map +1 -1
  91. package/dist/browser/inputs/TemplateEditor.js.map +1 -1
  92. package/dist/browser/inputs/TextInput.js +2 -1
  93. package/dist/browser/inputs/TextInput.js.map +1 -1
  94. package/dist/browser/inputs/choice.js.map +1 -1
  95. package/dist/browser/inputs/completion/behaviors.js.map +1 -1
  96. package/dist/browser/inputs/completion/engine.js.map +1 -1
  97. package/dist/browser/inputs/completion/index.js.map +1 -1
  98. package/dist/browser/inputs/completion/overlay.js.map +1 -1
  99. package/dist/browser/inputs/date-picker.js.map +1 -1
  100. package/dist/browser/inputs/editor-dom.js.map +1 -1
  101. package/dist/browser/inputs/field-contract.js.map +1 -1
  102. package/dist/browser/inputs/icon-options.js.map +1 -1
  103. package/dist/browser/inputs/image-crop.js.map +1 -1
  104. package/dist/browser/inputs/index.js.map +1 -1
  105. package/dist/browser/inputs/markdown/MarkdownEditor.js.map +1 -1
  106. package/dist/browser/inputs/markdown/Toolbar.js.map +1 -1
  107. package/dist/browser/inputs/markdown/actions.js.map +1 -1
  108. package/dist/browser/inputs/markdown/active-formats.js.map +1 -1
  109. package/dist/browser/inputs/markdown/behaviors.js.map +1 -1
  110. package/dist/browser/inputs/markdown/code-zone.js.map +1 -1
  111. package/dist/browser/internal/color.js.map +1 -1
  112. package/dist/browser/internal/field.js.map +1 -1
  113. package/dist/browser/internal/portal.js.map +1 -1
  114. package/dist/browser/intl/Format.js.map +1 -1
  115. package/dist/browser/intl/index.js.map +1 -1
  116. package/dist/browser/intl/locale.js.map +1 -1
  117. package/dist/browser/intl/messages.js +6 -0
  118. package/dist/browser/intl/messages.js.map +1 -1
  119. package/dist/browser/layout/AppOverview.js.map +1 -1
  120. package/dist/browser/layout/AppWorkspace.js.map +1 -1
  121. package/dist/browser/layout/BottomSheet.js.map +1 -1
  122. package/dist/browser/layout/DataPanel.js.map +1 -1
  123. package/dist/browser/layout/DetailPanel.js.map +1 -1
  124. package/dist/browser/layout/Discussion.js.map +1 -1
  125. package/dist/browser/layout/FloatingWindow.js.map +1 -1
  126. package/dist/browser/layout/Navigation.js.map +1 -1
  127. package/dist/browser/layout/PanelDialog.js.map +1 -1
  128. package/dist/browser/layout/PanelHeader.js.map +1 -1
  129. package/dist/browser/layout/Panes.js.map +1 -1
  130. package/dist/browser/layout/PullToRefresh.js +8 -7
  131. package/dist/browser/layout/PullToRefresh.js.map +1 -1
  132. package/dist/browser/layout/ScrollArea.js.map +1 -1
  133. package/dist/browser/layout/Settings.js.map +1 -1
  134. package/dist/browser/layout/SettingsCollection.js.map +1 -1
  135. package/dist/browser/layout/SettingsModal.js.map +1 -1
  136. package/dist/browser/layout/SidebarItemPreview.js.map +1 -1
  137. package/dist/browser/layout/app-workspace-controller.js.map +1 -1
  138. package/dist/browser/layout/app-workspace-state.js.map +1 -1
  139. package/dist/browser/layout/floating-window-geometry.js.map +1 -1
  140. package/dist/browser/layout/index.js.map +1 -1
  141. package/dist/browser/layout/navigation-model.js.map +1 -1
  142. package/dist/browser/layout/panes-layout.js.map +1 -1
  143. package/dist/browser/layout/scroll-fade.js.map +1 -1
  144. package/dist/browser/layout/stable-id.js.map +1 -1
  145. package/dist/browser/surfaces/Avatar.js.map +1 -1
  146. package/dist/browser/surfaces/DescriptionList.js.map +1 -1
  147. package/dist/browser/surfaces/LinkCard.js.map +1 -1
  148. package/dist/browser/surfaces/NotFoundState.js.map +1 -1
  149. package/dist/browser/surfaces/NoticeCard.js.map +1 -1
  150. package/dist/browser/surfaces/Paper.js.map +1 -1
  151. package/dist/browser/surfaces/Placeholder.js.map +1 -1
  152. package/dist/browser/surfaces/ProgressBar.js.map +1 -1
  153. package/dist/browser/surfaces/StatCell.js.map +1 -1
  154. package/dist/browser/surfaces/StatGrid.js.map +1 -1
  155. package/dist/browser/surfaces/StatusBadge.js.map +1 -1
  156. package/dist/browser/surfaces/Tag.js.map +1 -1
  157. package/dist/browser/surfaces/index.js.map +1 -1
  158. package/dist/browser/widgets/Widget.js.map +1 -1
  159. package/dist/browser/widgets/WidgetHero.js.map +1 -1
  160. package/dist/browser/widgets/WidgetList.js.map +1 -1
  161. package/dist/browser/widgets/WidgetPills.js.map +1 -1
  162. package/dist/browser/widgets/WidgetStat.js.map +1 -1
  163. package/dist/browser/widgets/WidgetStatus.js.map +1 -1
  164. package/dist/ssr/actions/Button.js +16 -6
  165. package/dist/ssr/actions/Button.js.map +1 -1
  166. package/dist/ssr/actions/ContextMenu.js.map +1 -1
  167. package/dist/ssr/actions/CopyButton.js +2 -1
  168. package/dist/ssr/actions/CopyButton.js.map +1 -1
  169. package/dist/ssr/actions/Disclosure.js.map +1 -1
  170. package/dist/ssr/actions/Dropdown.js +7 -6
  171. package/dist/ssr/actions/Dropdown.js.map +1 -1
  172. package/dist/ssr/actions/FilterChip.js +5 -4
  173. package/dist/ssr/actions/FilterChip.js.map +1 -1
  174. package/dist/ssr/actions/RemoveButton.js +1 -0
  175. package/dist/ssr/actions/RemoveButton.js.map +1 -1
  176. package/dist/ssr/actions/SegmentedControl.js.map +1 -1
  177. package/dist/ssr/actions/SplitButton.js +1 -0
  178. package/dist/ssr/actions/SplitButton.js.map +1 -1
  179. package/dist/ssr/actions/SpotlightSearch.js.map +1 -1
  180. package/dist/ssr/actions/Tabs.js.map +1 -1
  181. package/dist/ssr/actions/Toolbar.js.map +1 -1
  182. package/dist/ssr/actions/index.js.map +1 -1
  183. package/dist/ssr/chat/ChatComposer.js +6 -5
  184. package/dist/ssr/chat/ChatComposer.js.map +1 -1
  185. package/dist/ssr/chat/ChatContextPopup.js.map +1 -1
  186. package/dist/ssr/chat/ChatPrimitives.js +6 -5
  187. package/dist/ssr/chat/ChatPrimitives.js.map +1 -1
  188. package/dist/ssr/chat/ChatRoot.js.map +1 -1
  189. package/dist/ssr/chat/ChatTasks.js +1 -1
  190. package/dist/ssr/chat/ChatTasks.js.map +1 -1
  191. package/dist/ssr/chat/ChatTimeline.js +5 -4
  192. package/dist/ssr/chat/ChatTimeline.js.map +1 -1
  193. package/dist/ssr/chat/chat-behavior.js.map +1 -1
  194. package/dist/ssr/chat/composer-document.js.map +1 -1
  195. package/dist/ssr/chat/index.js.map +1 -1
  196. package/dist/ssr/content/Calendar.js +2 -1
  197. package/dist/ssr/content/Calendar.js.map +1 -1
  198. package/dist/ssr/content/Chart.js.map +1 -1
  199. package/dist/ssr/content/ChartExplorer.js.map +1 -1
  200. package/dist/ssr/content/ChartExplorerControls.js +5 -4
  201. package/dist/ssr/content/ChartExplorerControls.js.map +1 -1
  202. package/dist/ssr/content/ChartFilterControls.js +3 -2
  203. package/dist/ssr/content/ChartFilterControls.js.map +1 -1
  204. package/dist/ssr/content/ChartSnapshotView.js.map +1 -1
  205. package/dist/ssr/content/CodeDisplay.js.map +1 -1
  206. package/dist/ssr/content/DataTable.js +1 -0
  207. package/dist/ssr/content/DataTable.js.map +1 -1
  208. package/dist/ssr/content/Docs.js +1 -0
  209. package/dist/ssr/content/Docs.js.map +1 -1
  210. package/dist/ssr/content/FileBrowser.js +2 -1
  211. package/dist/ssr/content/FileBrowser.js.map +1 -1
  212. package/dist/ssr/content/FileGrid.js.map +1 -1
  213. package/dist/ssr/content/FileTree.js +2 -1
  214. package/dist/ssr/content/FileTree.js.map +1 -1
  215. package/dist/ssr/content/FileView.js +5 -4
  216. package/dist/ssr/content/FileView.js.map +1 -1
  217. package/dist/ssr/content/Lightbox.js +2 -1
  218. package/dist/ssr/content/Lightbox.js.map +1 -1
  219. package/dist/ssr/content/LogEntriesTable.js.map +1 -1
  220. package/dist/ssr/content/MarkdownView.js.map +1 -1
  221. package/dist/ssr/content/Pagination.js +2 -1
  222. package/dist/ssr/content/Pagination.js.map +1 -1
  223. package/dist/ssr/content/PdfPreview.js.map +1 -1
  224. package/dist/ssr/content/RangePicker.js.map +1 -1
  225. package/dist/ssr/content/StructuredDataPreview.js.map +1 -1
  226. package/dist/ssr/content/ZoomPanViewport.js +300 -0
  227. package/dist/ssr/content/ZoomPanViewport.js.map +1 -0
  228. package/dist/ssr/content/calendar-event-layout.js.map +1 -1
  229. package/dist/ssr/content/calendar-pointer.js.map +1 -1
  230. package/dist/ssr/content/chart-cursor.js.map +1 -1
  231. package/dist/ssr/content/chart-explorer.js.map +1 -1
  232. package/dist/ssr/content/chart-inspection.js.map +1 -1
  233. package/dist/ssr/content/chart-line-gaps.js.map +1 -1
  234. package/dist/ssr/content/chart-map-viewport.js.map +1 -1
  235. package/dist/ssr/content/chart-snapshot.js.map +1 -1
  236. package/dist/ssr/content/chart-state-timeline.js.map +1 -1
  237. package/dist/ssr/content/chart-svg.js.map +1 -1
  238. package/dist/ssr/content/code-highlight.js.map +1 -1
  239. package/dist/ssr/content/collection-selection.js.map +1 -1
  240. package/dist/ssr/content/delimited-preferences.js.map +1 -1
  241. package/dist/ssr/content/file-tree.js.map +1 -1
  242. package/dist/ssr/content/file-view-preview.js.map +1 -1
  243. package/dist/ssr/content/index.js +1 -0
  244. package/dist/ssr/content/index.js.map +1 -1
  245. package/dist/ssr/content/zoom-pan.js +54 -0
  246. package/dist/ssr/content/zoom-pan.js.map +1 -0
  247. package/dist/ssr/feedback/InlineGuidance.js.map +1 -1
  248. package/dist/ssr/feedback/Tooltip.js.map +1 -1
  249. package/dist/ssr/feedback/dialog-core.js.map +1 -1
  250. package/dist/ssr/feedback/index.js.map +1 -1
  251. package/dist/ssr/feedback/prompts.js +3 -2
  252. package/dist/ssr/feedback/prompts.js.map +1 -1
  253. package/dist/ssr/feedback/toast.js.map +1 -1
  254. package/dist/ssr/feedback/tooltip-position.js.map +1 -1
  255. package/dist/ssr/inputs/AutocompleteEditor.js +3 -2
  256. package/dist/ssr/inputs/AutocompleteEditor.js.map +1 -1
  257. package/dist/ssr/inputs/AutocompleteSelect.js +5 -4
  258. package/dist/ssr/inputs/AutocompleteSelect.js.map +1 -1
  259. package/dist/ssr/inputs/Checkbox.js +1 -0
  260. package/dist/ssr/inputs/Checkbox.js.map +1 -1
  261. package/dist/ssr/inputs/CheckboxCard.js.map +1 -1
  262. package/dist/ssr/inputs/ChoiceGroups.js.map +1 -1
  263. package/dist/ssr/inputs/ChoiceInputs.js +1 -0
  264. package/dist/ssr/inputs/ChoiceInputs.js.map +1 -1
  265. package/dist/ssr/inputs/Combobox.js +2 -1
  266. package/dist/ssr/inputs/Combobox.js.map +1 -1
  267. package/dist/ssr/inputs/DatePicker.js +4 -3
  268. package/dist/ssr/inputs/DatePicker.js.map +1 -1
  269. package/dist/ssr/inputs/FileInputs.js +2 -1
  270. package/dist/ssr/inputs/FileInputs.js.map +1 -1
  271. package/dist/ssr/inputs/MultiSelectInput.js +4 -3
  272. package/dist/ssr/inputs/MultiSelectInput.js.map +1 -1
  273. package/dist/ssr/inputs/NumberInput.js +2 -1
  274. package/dist/ssr/inputs/NumberInput.js.map +1 -1
  275. package/dist/ssr/inputs/Select.js +4 -3
  276. package/dist/ssr/inputs/Select.js.map +1 -1
  277. package/dist/ssr/inputs/SelectChip.js +3 -2
  278. package/dist/ssr/inputs/SelectChip.js.map +1 -1
  279. package/dist/ssr/inputs/SpecialInputs.js +1 -0
  280. package/dist/ssr/inputs/SpecialInputs.js.map +1 -1
  281. package/dist/ssr/inputs/Switch.js.map +1 -1
  282. package/dist/ssr/inputs/TagEditor.js +3 -2
  283. package/dist/ssr/inputs/TagEditor.js.map +1 -1
  284. package/dist/ssr/inputs/TagsInput.js.map +1 -1
  285. package/dist/ssr/inputs/TemplateEditor.js +1 -0
  286. package/dist/ssr/inputs/TemplateEditor.js.map +1 -1
  287. package/dist/ssr/inputs/TextInput.js +6 -4
  288. package/dist/ssr/inputs/TextInput.js.map +1 -1
  289. package/dist/ssr/inputs/choice.js.map +1 -1
  290. package/dist/ssr/inputs/completion/behaviors.js.map +1 -1
  291. package/dist/ssr/inputs/completion/engine.js.map +1 -1
  292. package/dist/ssr/inputs/completion/index.js.map +1 -1
  293. package/dist/ssr/inputs/completion/overlay.js.map +1 -1
  294. package/dist/ssr/inputs/date-picker.js.map +1 -1
  295. package/dist/ssr/inputs/editor-dom.js.map +1 -1
  296. package/dist/ssr/inputs/field-contract.js.map +1 -1
  297. package/dist/ssr/inputs/icon-options.js.map +1 -1
  298. package/dist/ssr/inputs/image-crop.js.map +1 -1
  299. package/dist/ssr/inputs/index.js.map +1 -1
  300. package/dist/ssr/inputs/markdown/MarkdownEditor.js +3 -2
  301. package/dist/ssr/inputs/markdown/MarkdownEditor.js.map +1 -1
  302. package/dist/ssr/inputs/markdown/Toolbar.js.map +1 -1
  303. package/dist/ssr/inputs/markdown/actions.js.map +1 -1
  304. package/dist/ssr/inputs/markdown/active-formats.js.map +1 -1
  305. package/dist/ssr/inputs/markdown/behaviors.js.map +1 -1
  306. package/dist/ssr/inputs/markdown/code-zone.js.map +1 -1
  307. package/dist/ssr/internal/color.js.map +1 -1
  308. package/dist/ssr/internal/field.js.map +1 -1
  309. package/dist/ssr/internal/portal.js.map +1 -1
  310. package/dist/ssr/intl/Format.js.map +1 -1
  311. package/dist/ssr/intl/index.js.map +1 -1
  312. package/dist/ssr/intl/locale.js.map +1 -1
  313. package/dist/ssr/intl/messages.js +6 -0
  314. package/dist/ssr/intl/messages.js.map +1 -1
  315. package/dist/ssr/layout/AppOverview.js +2 -1
  316. package/dist/ssr/layout/AppOverview.js.map +1 -1
  317. package/dist/ssr/layout/AppWorkspace.js +7 -6
  318. package/dist/ssr/layout/AppWorkspace.js.map +1 -1
  319. package/dist/ssr/layout/BottomSheet.js.map +1 -1
  320. package/dist/ssr/layout/DataPanel.js +1 -0
  321. package/dist/ssr/layout/DataPanel.js.map +1 -1
  322. package/dist/ssr/layout/DetailPanel.js +1 -0
  323. package/dist/ssr/layout/DetailPanel.js.map +1 -1
  324. package/dist/ssr/layout/Discussion.js +3 -2
  325. package/dist/ssr/layout/Discussion.js.map +1 -1
  326. package/dist/ssr/layout/FloatingWindow.js +1 -0
  327. package/dist/ssr/layout/FloatingWindow.js.map +1 -1
  328. package/dist/ssr/layout/Navigation.js +3 -2
  329. package/dist/ssr/layout/Navigation.js.map +1 -1
  330. package/dist/ssr/layout/PanelDialog.js +1 -0
  331. package/dist/ssr/layout/PanelDialog.js.map +1 -1
  332. package/dist/ssr/layout/PanelHeader.js.map +1 -1
  333. package/dist/ssr/layout/Panes.js.map +1 -1
  334. package/dist/ssr/layout/PullToRefresh.js +1 -1
  335. package/dist/ssr/layout/PullToRefresh.js.map +1 -1
  336. package/dist/ssr/layout/ScrollArea.js.map +1 -1
  337. package/dist/ssr/layout/Settings.js +2 -1
  338. package/dist/ssr/layout/Settings.js.map +1 -1
  339. package/dist/ssr/layout/SettingsCollection.js +1 -0
  340. package/dist/ssr/layout/SettingsCollection.js.map +1 -1
  341. package/dist/ssr/layout/SettingsModal.js.map +1 -1
  342. package/dist/ssr/layout/SidebarItemPreview.js.map +1 -1
  343. package/dist/ssr/layout/app-workspace-controller.js.map +1 -1
  344. package/dist/ssr/layout/app-workspace-state.js.map +1 -1
  345. package/dist/ssr/layout/floating-window-geometry.js.map +1 -1
  346. package/dist/ssr/layout/index.js.map +1 -1
  347. package/dist/ssr/layout/navigation-model.js.map +1 -1
  348. package/dist/ssr/layout/panes-layout.js.map +1 -1
  349. package/dist/ssr/layout/scroll-fade.js.map +1 -1
  350. package/dist/ssr/layout/stable-id.js.map +1 -1
  351. package/dist/ssr/surfaces/Avatar.js +2 -1
  352. package/dist/ssr/surfaces/Avatar.js.map +1 -1
  353. package/dist/ssr/surfaces/DescriptionList.js.map +1 -1
  354. package/dist/ssr/surfaces/LinkCard.js.map +1 -1
  355. package/dist/ssr/surfaces/NotFoundState.js.map +1 -1
  356. package/dist/ssr/surfaces/NoticeCard.js.map +1 -1
  357. package/dist/ssr/surfaces/Paper.js +2 -1
  358. package/dist/ssr/surfaces/Paper.js.map +1 -1
  359. package/dist/ssr/surfaces/Placeholder.js +2 -1
  360. package/dist/ssr/surfaces/Placeholder.js.map +1 -1
  361. package/dist/ssr/surfaces/ProgressBar.js.map +1 -1
  362. package/dist/ssr/surfaces/StatCell.js +2 -1
  363. package/dist/ssr/surfaces/StatCell.js.map +1 -1
  364. package/dist/ssr/surfaces/StatGrid.js +1 -0
  365. package/dist/ssr/surfaces/StatGrid.js.map +1 -1
  366. package/dist/ssr/surfaces/StatusBadge.js.map +1 -1
  367. package/dist/ssr/surfaces/Tag.js.map +1 -1
  368. package/dist/ssr/surfaces/index.js.map +1 -1
  369. package/dist/ssr/widgets/Widget.js +1 -0
  370. package/dist/ssr/widgets/Widget.js.map +1 -1
  371. package/dist/ssr/widgets/WidgetHero.js.map +1 -1
  372. package/dist/ssr/widgets/WidgetList.js.map +1 -1
  373. package/dist/ssr/widgets/WidgetPills.js.map +1 -1
  374. package/dist/ssr/widgets/WidgetStat.js +1 -0
  375. package/dist/ssr/widgets/WidgetStat.js.map +1 -1
  376. package/dist/ssr/widgets/WidgetStatus.js.map +1 -1
  377. package/dist/styles.css +1 -1
  378. package/dist/types/actions/Button.d.ts +5 -0
  379. package/dist/types/actions/SplitButton.d.ts +1 -1
  380. package/dist/types/actions/SpotlightSearch.d.ts +1 -1
  381. package/dist/types/actions/index.d.ts +1 -1
  382. package/dist/types/content/ZoomPanViewport.d.ts +33 -0
  383. package/dist/types/content/index.d.ts +2 -0
  384. package/dist/types/content/zoom-pan.d.ts +29 -0
  385. package/dist/types/feedback/prompts.d.ts +4 -3
  386. package/dist/types/intl/messages.d.ts +3 -0
  387. package/package.json +9 -10
@@ -1 +1 @@
1
- {"version":3,"names":["GHOST_SENTINEL","ANCHOR_SENTINEL","String","fromCharCode","escapeHtml","value","replace","plainTextHighlight","renderWithOverlay","text","highlighter","options","injections","anchor","at","marker","order","undefined","ghost","filter","injection","Boolean","sort","left","right","workText","reduce","slice","html","split","join"],"sources":["inputs/completion/overlay.ts"],"sourcesContent":["import { GHOST_SENTINEL } from \"./engine\";\n\nconst ANCHOR_SENTINEL = String.fromCharCode(0xe011);\n\nconst escapeHtml = (value: string): string =>\n value.replace(/&/g, \"&amp;\").replace(/</g, \"&lt;\").replace(/>/g, \"&gt;\").replace(/\"/g, \"&quot;\").replace(/'/g, \"&#39;\");\n\nexport const plainTextHighlight = escapeHtml;\n\nexport type RenderOptions = {\n ghost?: { at: number; text: string };\n anchor?: { at: number };\n};\n\nexport const renderWithOverlay = (text: string, highlighter: (text: string) => string, options: RenderOptions = {}): string => {\n const injections = [\n options.anchor ? { at: options.anchor.at, marker: ANCHOR_SENTINEL, order: 1 } : undefined,\n options.ghost ? { at: options.ghost.at, marker: GHOST_SENTINEL, order: 0 } : undefined,\n ]\n .filter((injection): injection is { at: number; marker: string; order: number } => Boolean(injection))\n .sort((left, right) => right.at - left.at || left.order - right.order);\n const workText = injections.reduce(\n (value, injection) => `${value.slice(0, injection.at)}${injection.marker}${value.slice(injection.at)}`,\n text,\n );\n let html = highlighter(workText);\n if (options.ghost) {\n html = html\n .split(GHOST_SENTINEL)\n .join(\n `<span class=\"k2b-completion-ghost\"${options.anchor ? \"\" : \" data-completion-anchor\"}>${escapeHtml(options.ghost.text)}<span class=\"k2b-completion-ghost__arrow\" aria-hidden=\"true\">→</span></span>`,\n );\n }\n if (options.anchor) {\n html = html.split(ANCHOR_SENTINEL).join('<span class=\"k2b-completion-anchor\" data-completion-anchor aria-hidden=\"true\">\\u200b</span>');\n }\n return html;\n};\n"],"mappings":"AAAA,SAASA,cAAc,QAAQ,UAAU;AAEzC,MAAMC,eAAe,GAAGC,MAAM,CAACC,YAAY,CAAC,MAAM,CAAC;AAEnD,MAAMC,UAAU,GAAIC,KAAa,IAC/BA,KAAK,CAACC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAACA,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAACA,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAACA,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,CAACA,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC;AAEzH,OAAO,MAAMC,kBAAkB,GAAGH,UAAU;AAO5C,OAAO,MAAMI,iBAAiB,GAAGA,CAACC,IAAY,EAAEC,WAAqC,EAAEC,OAAsB,GAAG,CAAC,CAAC,KAAa;EAC7H,MAAMC,UAAU,GAAG,CACjBD,OAAO,CAACE,MAAM,GAAG;IAAEC,EAAE,EAAEH,OAAO,CAACE,MAAM,CAACC,EAAE;IAAEC,MAAM,EAAEd,eAAe;IAAEe,KAAK,EAAE;EAAE,CAAC,GAAGC,SAAS,EACzFN,OAAO,CAACO,KAAK,GAAG;IAAEJ,EAAE,EAAEH,OAAO,CAACO,KAAK,CAACJ,EAAE;IAAEC,MAAM,EAAEf,cAAc;IAAEgB,KAAK,EAAE;EAAE,CAAC,GAAGC,SAAS,CACvF,CACEE,MAAM,CAAEC,SAAS,IAAiEC,OAAO,CAACD,SAAS,CAAC,CAAC,CACrGE,IAAI,CAAC,CAACC,IAAI,EAAEC,KAAK,KAAKA,KAAK,CAACV,EAAE,GAAGS,IAAI,CAACT,EAAE,IAAIS,IAAI,CAACP,KAAK,GAAGQ,KAAK,CAACR,KAAK,CAAC;EACxE,MAAMS,QAAQ,GAAGb,UAAU,CAACc,MAAM,CAChC,CAACrB,KAAK,EAAEe,SAAS,KAAK,GAAGf,KAAK,CAACsB,KAAK,CAAC,CAAC,EAAEP,SAAS,CAACN,EAAE,CAAC,GAAGM,SAAS,CAACL,MAAM,GAAGV,KAAK,CAACsB,KAAK,CAACP,SAAS,CAACN,EAAE,CAAC,EAAE,EACtGL,IACF,CAAC;EACD,IAAImB,IAAI,GAAGlB,WAAW,CAACe,QAAQ,CAAC;EAChC,IAAId,OAAO,CAACO,KAAK,EAAE;IACjBU,IAAI,GAAGA,IAAI,CACRC,KAAK,CAAC7B,cAAc,CAAC,CACrB8B,IAAI,CACH,qCAAqCnB,OAAO,CAACE,MAAM,GAAG,EAAE,GAAG,yBAAyB,IAAIT,UAAU,CAACO,OAAO,CAACO,KAAK,CAACT,IAAI,CAAC,8EACxH,CAAC;EACL;EACA,IAAIE,OAAO,CAACE,MAAM,EAAE;IAClBe,IAAI,GAAGA,IAAI,CAACC,KAAK,CAAC5B,eAAe,CAAC,CAAC6B,IAAI,CAAC,6FAA6F,CAAC;EACxI;EACA,OAAOF,IAAI;AACb,CAAC","ignoreList":[]}
1
+ {"version":3,"names":[],"sources":["inputs/completion/overlay.ts"],"sourcesContent":["import { GHOST_SENTINEL } from \"./engine\";\n\nconst ANCHOR_SENTINEL = String.fromCharCode(0xe011);\n\nconst escapeHtml = (value: string): string =>\n value.replace(/&/g, \"&amp;\").replace(/</g, \"&lt;\").replace(/>/g, \"&gt;\").replace(/\"/g, \"&quot;\").replace(/'/g, \"&#39;\");\n\nexport const plainTextHighlight = escapeHtml;\n\nexport type RenderOptions = {\n ghost?: { at: number; text: string };\n anchor?: { at: number };\n};\n\nexport const renderWithOverlay = (text: string, highlighter: (text: string) => string, options: RenderOptions = {}): string => {\n const injections = [\n options.anchor ? { at: options.anchor.at, marker: ANCHOR_SENTINEL, order: 1 } : undefined,\n options.ghost ? { at: options.ghost.at, marker: GHOST_SENTINEL, order: 0 } : undefined,\n ]\n .filter((injection): injection is { at: number; marker: string; order: number } => Boolean(injection))\n .sort((left, right) => right.at - left.at || left.order - right.order);\n const workText = injections.reduce(\n (value, injection) => `${value.slice(0, injection.at)}${injection.marker}${value.slice(injection.at)}`,\n text,\n );\n let html = highlighter(workText);\n if (options.ghost) {\n html = html\n .split(GHOST_SENTINEL)\n .join(\n `<span class=\"k2b-completion-ghost\"${options.anchor ? \"\" : \" data-completion-anchor\"}>${escapeHtml(options.ghost.text)}<span class=\"k2b-completion-ghost__arrow\" aria-hidden=\"true\">→</span></span>`,\n );\n }\n if (options.anchor) {\n html = html.split(ANCHOR_SENTINEL).join('<span class=\"k2b-completion-anchor\" data-completion-anchor aria-hidden=\"true\">\\u200b</span>');\n }\n return html;\n};\n"],"mappings":"AAAA,SAAS,cAAc,QAAQ,UAAU;AAEzC,MAAM,eAAe,GAAG,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC;AAEnD,MAAM,UAAU,GAAI,KAAa,IAC/B,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC;AAEzH,OAAO,MAAM,kBAAkB,GAAG,UAAU;AAO5C,OAAO,MAAM,iBAAiB,GAAG,CAAC,IAAY,EAAE,WAAqC,EAAE,OAAsB,GAAG,CAAC,CAAC,KAAa;EAC7H,MAAM,UAAU,GAAG,CACjB,OAAO,CAAC,MAAM,GAAG;IAAE,EAAE,EAAE,OAAO,CAAC,MAAM,CAAC,EAAE;IAAE,MAAM,EAAE,eAAe;IAAE,KAAK,EAAE;EAAE,CAAC,GAAG,SAAS,EACzF,OAAO,CAAC,KAAK,GAAG;IAAE,EAAE,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE;IAAE,MAAM,EAAE,cAAc;IAAE,KAAK,EAAE;EAAE,CAAC,GAAG,SAAS,CACvF,CACE,MAAM,CAAE,SAAS,IAAiE,OAAO,CAAC,SAAS,CAAC,CAAC,CACrG,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,KAAK,KAAK,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;EACxE,MAAM,QAAQ,GAAG,UAAU,CAAC,MAAM,CAChC,CAAC,KAAK,EAAE,SAAS,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,EACtG,IACF,CAAC;EACD,IAAI,IAAI,GAAG,WAAW,CAAC,QAAQ,CAAC;EAChC,IAAI,OAAO,CAAC,KAAK,EAAE;IACjB,IAAI,GAAG,IAAI,CACR,KAAK,CAAC,cAAc,CAAC,CACrB,IAAI,CACH,qCAAqC,OAAO,CAAC,MAAM,GAAG,EAAE,GAAG,yBAAyB,IAAI,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,8EACxH,CAAC;EACL;EACA,IAAI,OAAO,CAAC,MAAM,EAAE;IAClB,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,6FAA6F,CAAC;EACxI;EACA,OAAO,IAAI;AACb,CAAC","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["dates","pickerContext","context","weekStartsOn","hasInstantOffset","value","test","dateKey","date","formatDateKey","monthNames","merged","formatter","Intl","DateTimeFormat","locale","month","timeZone","Array","from","length","_","index","format","Date","UTC","resolveFocusDay","monthDayKeys","preferred","includes","yearMonth","year","split","Number","monthDate","String","padStart","zonedDateTimeToInstant","disambiguation","parseDateValue","today","parseCalendarDate","slice","displayDate","formatDate","localDateTimeInput","getFullYear","getMonth","day","getDate","hours","getHours","minutes","getMinutes","dateTimeInput","instantToZonedInput","splitDateTime","input","time","isCompleteTime","map","toDateTimeValue","resolvedTime","local","formatDateTimeValue","formatDateTime","normalizeTimeInput","hour","Math","max","min","minute","filterTimeInput","digits","replace","orderedRange","start","end","localeCompare","previewRange","range","preview","inRange","Boolean","isRangeEdge","formatDateOnlyRangeDuration","parse","days","floor","abs"],"sources":["inputs/date-picker.ts"],"sourcesContent":["import { type DateContext, dates } from \"@k2b/stdlib\";\n\nexport type DateRangeValue = {\n start: string | null;\n end: string | null;\n};\n\nexport const pickerContext = (context?: DateContext): DateContext => ({\n weekStartsOn: 1,\n ...context,\n});\n\nexport const hasInstantOffset = (value: string): boolean => /[T\\s].*([zZ]|[+-]\\d{2}:?\\d{2})$/.test(value);\n\nexport const dateKey = (date: Date | string, context?: DateContext): string => dates.formatDateKey(date, pickerContext(context));\n\n/**\n * Short month names for the month panel. `dates.months()` only returns the long\n * form (\"September\"), which overflows the three-column month grid, so the short\n * form is derived here while staying locale aware.\n */\nexport const monthNames = (context?: DateContext): string[] => {\n const merged = pickerContext(context);\n const formatter = new Intl.DateTimeFormat(merged.locale, { month: \"short\", timeZone: \"UTC\" });\n return Array.from({ length: 12 }, (_, index) => formatter.format(Date.UTC(2024, index, 15)));\n};\n\n/**\n * Picks the roving-tabindex day for a rendered month grid. The preferred day is\n * used when the grid actually contains it, otherwise the first day of the\n * visible month keeps exactly one cell reachable by Tab.\n */\nexport const resolveFocusDay = (monthDayKeys: readonly string[], preferred: string | null | undefined): string | undefined =>\n preferred && monthDayKeys.includes(preferred) ? preferred : monthDayKeys[0];\n\nexport const yearMonth = (date: Date, context?: DateContext): { year: number; month: number } => {\n const [year = \"1970\", month = \"1\"] = dateKey(date, context).split(\"-\");\n return { year: Number(year), month: Number(month) - 1 };\n};\n\nexport const monthDate = (year: number, month: number, context?: DateContext): Date => {\n const value = `${year}-${String(month + 1).padStart(2, \"0\")}-01T12:00`;\n if (context?.timeZone) {\n return new Date(dates.zonedDateTimeToInstant(value, context.timeZone, { disambiguation: \"compatible\" }));\n }\n return new Date(year, month, 1, 12);\n};\n\nexport const parseDateValue = (value: string | null | undefined, context?: DateContext): Date => {\n if (!value) return dates.today(pickerContext(context));\n return dates.parseCalendarDate(value.slice(0, 10), pickerContext(context));\n};\n\nexport const displayDate = (value: string | null | undefined, context?: DateContext): string =>\n value ? dates.formatDate(`${value.slice(0, 10)}T12:00`, pickerContext(context)) : \"\";\n\nconst localDateTimeInput = (value: string): string => {\n if (!hasInstantOffset(value)) return value.slice(0, 16);\n const date = new Date(value);\n const year = date.getFullYear();\n const month = String(date.getMonth() + 1).padStart(2, \"0\");\n const day = String(date.getDate()).padStart(2, \"0\");\n const hours = String(date.getHours()).padStart(2, \"0\");\n const minutes = String(date.getMinutes()).padStart(2, \"0\");\n return `${year}-${month}-${day}T${hours}:${minutes}`;\n};\n\nexport const dateTimeInput = (value: string | null | undefined, context?: DateContext): string => {\n if (!value) return \"\";\n if (context?.timeZone && hasInstantOffset(value)) return dates.instantToZonedInput(value, context.timeZone);\n return localDateTimeInput(value);\n};\n\nexport const splitDateTime = (value: string | null | undefined, context?: DateContext): { date: string; time: string } => {\n const input = dateTimeInput(value, context);\n const [date = \"\", time = \"\"] = input.split(\"T\");\n return { date, time: time.slice(0, 5) };\n};\n\nexport const isCompleteTime = (value: string): boolean => {\n if (!/^\\d{2}:\\d{2}$/.test(value)) return false;\n const [hours, minutes] = value.split(\":\").map(Number);\n return hours! >= 0 && hours! <= 23 && minutes! >= 0 && minutes! <= 59;\n};\n\nexport const toDateTimeValue = (date: string, time: string, context?: DateContext): string | null => {\n if (!date) return null;\n const resolvedTime = time || \"00:00\";\n if (!isCompleteTime(resolvedTime)) return null;\n const local = `${date}T${resolvedTime}`;\n if (context?.timeZone) {\n return dates.zonedDateTimeToInstant(local, context.timeZone, { disambiguation: \"compatible\" });\n }\n return local;\n};\n\nexport const formatDateTimeValue = (value: string | null | undefined, context?: DateContext): string =>\n value ? dates.formatDateTime(value, pickerContext(context)) : \"\";\n\nexport const normalizeTimeInput = (value: string): string => {\n const [hours = \"\", minutes = \"\"] = value.split(\":\");\n const hour = Math.max(0, Math.min(23, Number(hours || 0)));\n const minute = Math.max(0, Math.min(59, Number(minutes || 0)));\n return `${String(hour).padStart(2, \"0\")}:${String(minute).padStart(2, \"0\")}`;\n};\n\nexport const filterTimeInput = (value: string): string => {\n const digits = value.replace(/\\D/g, \"\").slice(0, 4);\n return digits.length <= 2 ? digits : `${digits.slice(0, 2)}:${digits.slice(2)}`;\n};\n\nexport const orderedRange = (start: string, end: string): DateRangeValue =>\n end.localeCompare(start) < 0 ? { start: end, end: start } : { start, end };\n\nexport const previewRange = (range: DateRangeValue, preview: string | null): DateRangeValue => {\n if (!range.start || range.end || !preview) return range;\n return orderedRange(range.start, preview);\n};\n\nexport const inRange = (day: string, range: DateRangeValue): boolean =>\n Boolean(range.start && range.end && day >= range.start && day <= range.end);\n\nexport const isRangeEdge = (day: string, range: DateRangeValue): boolean => day === range.start || day === range.end;\n\nexport const formatDateOnlyRangeDuration = (range: DateRangeValue, context?: DateContext): string => {\n if (!range.start || !range.end) return \"\";\n const start = Date.parse(`${dateKey(range.start, context)}T00:00:00.000Z`);\n const end = Date.parse(`${dateKey(range.end, context)}T00:00:00.000Z`);\n const days = Math.floor(Math.abs(end - start) / 86_400_000) + 1;\n return `${days} ${days === 1 ? \"day\" : \"days\"}`;\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":[],"sources":["inputs/date-picker.ts"],"sourcesContent":["import { type DateContext, dates } from \"@k2b/stdlib\";\n\nexport type DateRangeValue = {\n start: string | null;\n end: string | null;\n};\n\nexport const pickerContext = (context?: DateContext): DateContext => ({\n weekStartsOn: 1,\n ...context,\n});\n\nexport const hasInstantOffset = (value: string): boolean => /[T\\s].*([zZ]|[+-]\\d{2}:?\\d{2})$/.test(value);\n\nexport const dateKey = (date: Date | string, context?: DateContext): string => dates.formatDateKey(date, pickerContext(context));\n\n/**\n * Short month names for the month panel. `dates.months()` only returns the long\n * form (\"September\"), which overflows the three-column month grid, so the short\n * form is derived here while staying locale aware.\n */\nexport const monthNames = (context?: DateContext): string[] => {\n const merged = pickerContext(context);\n const formatter = new Intl.DateTimeFormat(merged.locale, { month: \"short\", timeZone: \"UTC\" });\n return Array.from({ length: 12 }, (_, index) => formatter.format(Date.UTC(2024, index, 15)));\n};\n\n/**\n * Picks the roving-tabindex day for a rendered month grid. The preferred day is\n * used when the grid actually contains it, otherwise the first day of the\n * visible month keeps exactly one cell reachable by Tab.\n */\nexport const resolveFocusDay = (monthDayKeys: readonly string[], preferred: string | null | undefined): string | undefined =>\n preferred && monthDayKeys.includes(preferred) ? preferred : monthDayKeys[0];\n\nexport const yearMonth = (date: Date, context?: DateContext): { year: number; month: number } => {\n const [year = \"1970\", month = \"1\"] = dateKey(date, context).split(\"-\");\n return { year: Number(year), month: Number(month) - 1 };\n};\n\nexport const monthDate = (year: number, month: number, context?: DateContext): Date => {\n const value = `${year}-${String(month + 1).padStart(2, \"0\")}-01T12:00`;\n if (context?.timeZone) {\n return new Date(dates.zonedDateTimeToInstant(value, context.timeZone, { disambiguation: \"compatible\" }));\n }\n return new Date(year, month, 1, 12);\n};\n\nexport const parseDateValue = (value: string | null | undefined, context?: DateContext): Date => {\n if (!value) return dates.today(pickerContext(context));\n return dates.parseCalendarDate(value.slice(0, 10), pickerContext(context));\n};\n\nexport const displayDate = (value: string | null | undefined, context?: DateContext): string =>\n value ? dates.formatDate(`${value.slice(0, 10)}T12:00`, pickerContext(context)) : \"\";\n\nconst localDateTimeInput = (value: string): string => {\n if (!hasInstantOffset(value)) return value.slice(0, 16);\n const date = new Date(value);\n const year = date.getFullYear();\n const month = String(date.getMonth() + 1).padStart(2, \"0\");\n const day = String(date.getDate()).padStart(2, \"0\");\n const hours = String(date.getHours()).padStart(2, \"0\");\n const minutes = String(date.getMinutes()).padStart(2, \"0\");\n return `${year}-${month}-${day}T${hours}:${minutes}`;\n};\n\nexport const dateTimeInput = (value: string | null | undefined, context?: DateContext): string => {\n if (!value) return \"\";\n if (context?.timeZone && hasInstantOffset(value)) return dates.instantToZonedInput(value, context.timeZone);\n return localDateTimeInput(value);\n};\n\nexport const splitDateTime = (value: string | null | undefined, context?: DateContext): { date: string; time: string } => {\n const input = dateTimeInput(value, context);\n const [date = \"\", time = \"\"] = input.split(\"T\");\n return { date, time: time.slice(0, 5) };\n};\n\nexport const isCompleteTime = (value: string): boolean => {\n if (!/^\\d{2}:\\d{2}$/.test(value)) return false;\n const [hours, minutes] = value.split(\":\").map(Number);\n return hours! >= 0 && hours! <= 23 && minutes! >= 0 && minutes! <= 59;\n};\n\nexport const toDateTimeValue = (date: string, time: string, context?: DateContext): string | null => {\n if (!date) return null;\n const resolvedTime = time || \"00:00\";\n if (!isCompleteTime(resolvedTime)) return null;\n const local = `${date}T${resolvedTime}`;\n if (context?.timeZone) {\n return dates.zonedDateTimeToInstant(local, context.timeZone, { disambiguation: \"compatible\" });\n }\n return local;\n};\n\nexport const formatDateTimeValue = (value: string | null | undefined, context?: DateContext): string =>\n value ? dates.formatDateTime(value, pickerContext(context)) : \"\";\n\nexport const normalizeTimeInput = (value: string): string => {\n const [hours = \"\", minutes = \"\"] = value.split(\":\");\n const hour = Math.max(0, Math.min(23, Number(hours || 0)));\n const minute = Math.max(0, Math.min(59, Number(minutes || 0)));\n return `${String(hour).padStart(2, \"0\")}:${String(minute).padStart(2, \"0\")}`;\n};\n\nexport const filterTimeInput = (value: string): string => {\n const digits = value.replace(/\\D/g, \"\").slice(0, 4);\n return digits.length <= 2 ? digits : `${digits.slice(0, 2)}:${digits.slice(2)}`;\n};\n\nexport const orderedRange = (start: string, end: string): DateRangeValue =>\n end.localeCompare(start) < 0 ? { start: end, end: start } : { start, end };\n\nexport const previewRange = (range: DateRangeValue, preview: string | null): DateRangeValue => {\n if (!range.start || range.end || !preview) return range;\n return orderedRange(range.start, preview);\n};\n\nexport const inRange = (day: string, range: DateRangeValue): boolean =>\n Boolean(range.start && range.end && day >= range.start && day <= range.end);\n\nexport const isRangeEdge = (day: string, range: DateRangeValue): boolean => day === range.start || day === range.end;\n\nexport const formatDateOnlyRangeDuration = (range: DateRangeValue, context?: DateContext): string => {\n if (!range.start || !range.end) return \"\";\n const start = Date.parse(`${dateKey(range.start, context)}T00:00:00.000Z`);\n const end = Date.parse(`${dateKey(range.end, context)}T00:00:00.000Z`);\n const days = Math.floor(Math.abs(end - start) / 86_400_000) + 1;\n return `${days} ${days === 1 ? \"day\" : \"days\"}`;\n};\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["replaceTextareaRange","textarea","start","end","replacement","focus","setSelectionRange","document","execCommand","setRangeText","value","slice","caret","length","dispatchEvent","Event","bubbles"],"sources":["inputs/editor-dom.ts"],"sourcesContent":["/**\n * Replaces one textarea range while preserving the browser's native undo path\n * where possible. The fallback emits the input event that the editing command\n * would have emitted, so callers never need a second dispatch.\n */\nexport const replaceTextareaRange = (textarea: HTMLTextAreaElement, start: number, end: number, replacement: string): boolean => {\n textarea.focus();\n textarea.setSelectionRange(start, end);\n\n try {\n if (typeof document !== \"undefined\" && document.execCommand?.(\"insertText\", false, replacement)) return true;\n } catch {\n // Fall through to the standards-based replacement below.\n }\n\n if (typeof textarea.setRangeText === \"function\") {\n textarea.setRangeText(replacement, start, end, \"end\");\n } else {\n textarea.value = textarea.value.slice(0, start) + replacement + textarea.value.slice(end);\n const caret = start + replacement.length;\n textarea.setSelectionRange(caret, caret);\n }\n textarea.dispatchEvent(new Event(\"input\", { bubbles: true }));\n return true;\n};\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMA,oBAAoB,GAAGA,CAACC,QAA6B,EAAEC,KAAa,EAAEC,GAAW,EAAEC,WAAmB,KAAc;EAC/HH,QAAQ,CAACI,KAAK,CAAC,CAAC;EAChBJ,QAAQ,CAACK,iBAAiB,CAACJ,KAAK,EAAEC,GAAG,CAAC;EAEtC,IAAI;IACF,IAAI,OAAOI,QAAQ,KAAK,WAAW,IAAIA,QAAQ,CAACC,WAAW,GAAG,YAAY,EAAE,KAAK,EAAEJ,WAAW,CAAC,EAAE,OAAO,IAAI;EAC9G,CAAC,CAAC,MAAM;IACN;EAAA;EAGF,IAAI,OAAOH,QAAQ,CAACQ,YAAY,KAAK,UAAU,EAAE;IAC/CR,QAAQ,CAACQ,YAAY,CAACL,WAAW,EAAEF,KAAK,EAAEC,GAAG,EAAE,KAAK,CAAC;EACvD,CAAC,MAAM;IACLF,QAAQ,CAACS,KAAK,GAAGT,QAAQ,CAACS,KAAK,CAACC,KAAK,CAAC,CAAC,EAAET,KAAK,CAAC,GAAGE,WAAW,GAAGH,QAAQ,CAACS,KAAK,CAACC,KAAK,CAACR,GAAG,CAAC;IACzF,MAAMS,KAAK,GAAGV,KAAK,GAAGE,WAAW,CAACS,MAAM;IACxCZ,QAAQ,CAACK,iBAAiB,CAACM,KAAK,EAAEA,KAAK,CAAC;EAC1C;EACAX,QAAQ,CAACa,aAAa,CAAC,IAAIC,KAAK,CAAC,OAAO,EAAE;IAAEC,OAAO,EAAE;EAAK,CAAC,CAAC,CAAC;EAC7D,OAAO,IAAI;AACb,CAAC","ignoreList":[]}
1
+ {"version":3,"names":[],"sources":["inputs/editor-dom.ts"],"sourcesContent":["/**\n * Replaces one textarea range while preserving the browser's native undo path\n * where possible. The fallback emits the input event that the editing command\n * would have emitted, so callers never need a second dispatch.\n */\nexport const replaceTextareaRange = (textarea: HTMLTextAreaElement, start: number, end: number, replacement: string): boolean => {\n textarea.focus();\n textarea.setSelectionRange(start, end);\n\n try {\n if (typeof document !== \"undefined\" && document.execCommand?.(\"insertText\", false, replacement)) return true;\n } catch {\n // Fall through to the standards-based replacement below.\n }\n\n if (typeof textarea.setRangeText === \"function\") {\n textarea.setRangeText(replacement, start, end, \"end\");\n } else {\n textarea.value = textarea.value.slice(0, start) + replacement + textarea.value.slice(end);\n const caret = start + replacement.length;\n textarea.setSelectionRange(caret, caret);\n }\n textarea.dispatchEvent(new Event(\"input\", { bubbles: true }));\n return true;\n};\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAM,oBAAoB,GAAG,CAAC,QAA6B,EAAE,KAAa,EAAE,GAAW,EAAE,WAAmB,KAAc;EAC/H,QAAQ,CAAC,KAAK,CAAC,CAAC;EAChB,QAAQ,CAAC,iBAAiB,CAAC,KAAK,EAAE,GAAG,CAAC;EAEtC,IAAI;IACF,IAAI,OAAO,QAAQ,KAAK,WAAW,IAAI,QAAQ,CAAC,WAAW,GAAG,YAAY,EAAE,KAAK,EAAE,WAAW,CAAC,EAAE,OAAO,IAAI;EAC9G,CAAC,CAAC,MAAM;IACN;EAAA;EAGF,IAAI,OAAO,QAAQ,CAAC,YAAY,KAAK,UAAU,EAAE;IAC/C,QAAQ,CAAC,YAAY,CAAC,WAAW,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,CAAC;EACvD,CAAC,MAAM;IACL,QAAQ,CAAC,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,WAAW,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC;IACzF,MAAM,KAAK,GAAG,KAAK,GAAG,WAAW,CAAC,MAAM;IACxC,QAAQ,CAAC,iBAAiB,CAAC,KAAK,EAAE,KAAK,CAAC;EAC1C;EACA,QAAQ,CAAC,aAAa,CAAC,IAAI,KAAK,CAAC,OAAO,EAAE;IAAE,OAAO,EAAE;EAAK,CAAC,CAAC,CAAC;EAC7D,OAAO,IAAI;AACb,CAAC","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["commitFieldValue","owner","value","onValueChange","onValueCommit","resolveMaybeAccessor"],"sources":["inputs/field-contract.ts"],"sourcesContent":["import type { DateContext as StdlibDateContext } from \"@k2b/stdlib\";\nimport type { JSX } from \"solid-js\";\n\nexport type DateContext = StdlibDateContext;\nexport type MaybeAccessor<T> = T | (() => T);\n\nexport type FieldProps = {\n id?: string;\n class?: string;\n label?: JSX.Element;\n description?: JSX.Element;\n error?: MaybeAccessor<JSX.Element | undefined>;\n required?: boolean;\n disabled?: boolean;\n \"aria-label\"?: string;\n \"aria-describedby\"?: string;\n};\n\nexport type ValueFieldProps<T> = FieldProps & {\n value: MaybeAccessor<T>;\n onValueChange?: (value: T) => void;\n onValueCommit?: (value: T) => void;\n};\n\n/** Reports one atomic edit as both the current and committed field value. */\nexport const commitFieldValue = <T>(owner: Pick<ValueFieldProps<T>, \"onValueChange\" | \"onValueCommit\">, value: T): void => {\n owner.onValueChange?.(value);\n owner.onValueCommit?.(value);\n};\n\nexport function resolveMaybeAccessor<T>(value: MaybeAccessor<T>): T;\nexport function resolveMaybeAccessor<T>(value: MaybeAccessor<T> | undefined): T | undefined;\nexport function resolveMaybeAccessor<T>(value: MaybeAccessor<T> | undefined): T | undefined {\n return typeof value === \"function\" ? (value as () => T)() : value;\n}\n"],"mappings":"AAwBA;AACA,OAAO,MAAMA,gBAAgB,GAAGA,CAAIC,KAAkE,EAAEC,KAAQ,KAAW;EACzHD,KAAK,CAACE,aAAa,GAAGD,KAAK,CAAC;EAC5BD,KAAK,CAACG,aAAa,GAAGF,KAAK,CAAC;AAC9B,CAAC;AAID,OAAO,SAASG,oBAAoBA,CAAIH,KAAmC,EAAiB;EAC1F,OAAO,OAAOA,KAAK,KAAK,UAAU,GAAIA,KAAK,CAAa,CAAC,GAAGA,KAAK;AACnE","ignoreList":[]}
1
+ {"version":3,"names":[],"sources":["inputs/field-contract.ts"],"sourcesContent":["import type { DateContext as StdlibDateContext } from \"@k2b/stdlib\";\nimport type { JSX } from \"solid-js\";\n\nexport type DateContext = StdlibDateContext;\nexport type MaybeAccessor<T> = T | (() => T);\n\nexport type FieldProps = {\n id?: string;\n class?: string;\n label?: JSX.Element;\n description?: JSX.Element;\n error?: MaybeAccessor<JSX.Element | undefined>;\n required?: boolean;\n disabled?: boolean;\n \"aria-label\"?: string;\n \"aria-describedby\"?: string;\n};\n\nexport type ValueFieldProps<T> = FieldProps & {\n value: MaybeAccessor<T>;\n onValueChange?: (value: T) => void;\n onValueCommit?: (value: T) => void;\n};\n\n/** Reports one atomic edit as both the current and committed field value. */\nexport const commitFieldValue = <T>(owner: Pick<ValueFieldProps<T>, \"onValueChange\" | \"onValueCommit\">, value: T): void => {\n owner.onValueChange?.(value);\n owner.onValueCommit?.(value);\n};\n\nexport function resolveMaybeAccessor<T>(value: MaybeAccessor<T>): T;\nexport function resolveMaybeAccessor<T>(value: MaybeAccessor<T> | undefined): T | undefined;\nexport function resolveMaybeAccessor<T>(value: MaybeAccessor<T> | undefined): T | undefined {\n return typeof value === \"function\" ? (value as () => T)() : value;\n}\n"],"mappings":"AAwBA;AACA,OAAO,MAAM,gBAAgB,GAAG,CAAI,KAAkE,EAAE,KAAQ,KAAW;EACzH,KAAK,CAAC,aAAa,GAAG,KAAK,CAAC;EAC5B,KAAK,CAAC,aAAa,GAAG,KAAK,CAAC;AAC9B,CAAC;AAID,OAAO,SAAS,oBAAoB,CAAI,KAAmC,EAAiB;EAC1F,OAAO,OAAO,KAAK,KAAK,UAAU,GAAI,KAAK,CAAa,CAAC,GAAG,KAAK;AACnE","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["DEFAULT_ICON_GROUPS","value","label","icon","name","description","groups","keywords","DEFAULT_ICON_OPTIONS"],"sources":["inputs/icon-options.ts"],"sourcesContent":["import type { SelectGroup } from \"./Select\";\nimport type { IconOption } from \"./SpecialInputs\";\n\nexport const DEFAULT_ICON_GROUPS = [\n { value: \"recommended\", label: \"Recommended\" },\n { value: \"people\", label: \"People\" },\n { value: \"work\", label: \"Work\" },\n { value: \"communication\", label: \"Communication\" },\n { value: \"files\", label: \"Files\" },\n { value: \"data\", label: \"Data & tech\" },\n { value: \"commerce\", label: \"Commerce\" },\n { value: \"places\", label: \"Places\" },\n { value: \"food\", label: \"Food\" },\n { value: \"media\", label: \"Media\" },\n { value: \"devices\", label: \"Devices\" },\n] as const satisfies readonly SelectGroup[];\n\ntype DefaultIconGroup = (typeof DEFAULT_ICON_GROUPS)[number][\"value\"];\n\nconst icon = (\n name: string,\n label: string,\n description: string,\n groups: readonly DefaultIconGroup[],\n keywords: readonly string[] = [],\n): IconOption => ({\n value: `ti ti-${name}`,\n label,\n description,\n icon: `ti ti-${name}`,\n groups,\n keywords: [name, ...keywords],\n});\n\n/** A curated, application-neutral Tabler catalogue for IconInput. */\nexport const DEFAULT_ICON_OPTIONS: readonly IconOption[] = [\n icon(\"activity\", \"Activity\", \"Live activity or health signals\", [\"recommended\", \"data\"], [\"pulse\", \"monitor\"]),\n icon(\"adjustments\", \"Adjustments\", \"Tune settings or controls\", [\"recommended\", \"work\"], [\"settings\", \"controls\"]),\n icon(\"alert-circle\", \"Alert\", \"Important warning or problem\", [\"recommended\", \"work\"], [\"warning\", \"error\"]),\n icon(\"archive\", \"Archive\", \"Stored or inactive material\", [\"recommended\", \"files\", \"work\"], [\"box\", \"storage\"]),\n icon(\"bell\", \"Bell\", \"Notifications and reminders\", [\"recommended\", \"communication\"], [\"notification\", \"reminder\"]),\n icon(\"book\", \"Book\", \"Reading, knowledge, or a library\", [\"recommended\", \"files\"], [\"docs\", \"read\", \"library\"]),\n icon(\"bookmark\", \"Bookmark\", \"Saved content for later\", [\"recommended\", \"files\"], [\"save\", \"favorite\"]),\n icon(\"box\", \"Box\", \"A product, package, or container\", [\"recommended\", \"commerce\", \"work\"], [\"package\", \"inventory\"]),\n icon(\"briefcase\", \"Briefcase\", \"Business, a job, or a project\", [\"recommended\", \"work\"], [\"business\", \"job\"]),\n icon(\"building\", \"Building\", \"An organization or office\", [\"recommended\", \"work\", \"places\"], [\"company\", \"office\"]),\n icon(\"calendar\", \"Calendar\", \"Dates, plans, and schedules\", [\"recommended\", \"work\"], [\"date\", \"schedule\"]),\n icon(\"camera\", \"Camera\", \"Photography or image capture\", [\"recommended\", \"media\", \"devices\"], [\"photo\", \"image\"]),\n icon(\"chart-bar\", \"Bar chart\", \"Compare values across categories\", [\"recommended\", \"data\", \"work\"], [\"analytics\", \"stats\"]),\n icon(\"chart-line\", \"Line chart\", \"Show a trend over time\", [\"recommended\", \"data\", \"work\"], [\"analytics\", \"trend\"]),\n icon(\"check\", \"Check\", \"A completed or confirmed action\", [\"recommended\", \"work\"], [\"done\", \"success\"]),\n icon(\"circle-check\", \"Check circle\", \"Successful or approved status\", [\"recommended\", \"work\"], [\"done\", \"success\", \"approved\"]),\n icon(\"clock\", \"Clock\", \"Time, duration, or a deadline\", [\"recommended\", \"work\"], [\"time\", \"schedule\"]),\n icon(\"cloud\", \"Cloud\", \"Hosted or synchronized services\", [\"recommended\", \"data\"], [\"hosting\", \"online\", \"sync\"]),\n icon(\"heart\", \"Heart\", \"A favorite, like, or health topic\", [\"recommended\", \"people\"], [\"favorite\", \"health\", \"love\"]),\n icon(\"home\", \"Home\", \"A home page or physical home\", [\"recommended\", \"places\"], [\"start\", \"house\"]),\n icon(\"layout-dashboard\", \"Dashboard\", \"An overview or control center\", [\"recommended\", \"data\", \"work\"], [\"layout\", \"overview\"]),\n icon(\"search\", \"Search\", \"Find content or records\", [\"recommended\", \"work\", \"data\"], [\"find\", \"lookup\"]),\n icon(\"settings\", \"Settings\", \"Configuration and preferences\", [\"recommended\", \"work\"], [\"configure\", \"preferences\"]),\n icon(\"sparkles\", \"Sparkles\", \"AI, magic, or something new\", [\"recommended\", \"data\", \"media\"], [\"ai\", \"magic\", \"new\"]),\n icon(\"star\", \"Star\", \"A favorite, rating, or highlight\", [\"recommended\", \"work\"], [\"favorite\", \"rating\"]),\n icon(\"tag\", \"Tag\", \"A label or category\", [\"recommended\", \"files\", \"work\"], [\"label\", \"category\"]),\n icon(\"cube\", \"Cube\", \"A module, object, or component\", [\"recommended\", \"data\", \"work\"], [\"package\", \"component\"]),\n icon(\"download\", \"Download\", \"Save or export a file\", [\"recommended\", \"files\", \"data\"], [\"save\", \"export\"]),\n icon(\"external-link\", \"External link\", \"Open a different page or website\", [\"recommended\", \"communication\", \"data\"], [\"open\", \"new tab\"]),\n icon(\"eye\", \"Eye\", \"View, preview, or visibility\", [\"recommended\", \"work\", \"media\"], [\"view\", \"preview\"]),\n icon(\"help-circle\", \"Help\", \"Help, support, or a question\", [\"recommended\", \"communication\"], [\"question\", \"support\"]),\n icon(\"info-circle\", \"Info\", \"Additional information or guidance\", [\"recommended\", \"communication\"], [\"information\", \"help\"]),\n icon(\"key\", \"Key\", \"Access, credentials, or security\", [\"recommended\", \"work\", \"data\"], [\"access\", \"security\"]),\n icon(\"link\", \"Link\", \"A URL or connection\", [\"recommended\", \"communication\", \"data\"], [\"url\", \"connection\"]),\n icon(\"list\", \"List\", \"A sequence of items or rows\", [\"recommended\", \"work\", \"files\"], [\"items\", \"rows\"]),\n icon(\"lock\", \"Lock\", \"Private or protected content\", [\"recommended\", \"work\", \"data\"], [\"security\", \"private\"]),\n icon(\"package\", \"Package\", \"A shipped item or software module\", [\"recommended\", \"commerce\", \"data\"], [\"box\", \"module\"]),\n icon(\"plus\", \"Plus\", \"Add or create something\", [\"recommended\", \"work\"], [\"add\", \"create\"]),\n icon(\"shield\", \"Shield\", \"Security or protection\", [\"recommended\", \"work\", \"data\"], [\"security\", \"protection\"]),\n icon(\"trash\", \"Trash\", \"Delete or remove something\", [\"recommended\", \"work\", \"files\"], [\"delete\", \"remove\"]),\n icon(\"upload\", \"Upload\", \"Import or send a file\", [\"recommended\", \"files\", \"data\"], [\"import\", \"file\"]),\n icon(\"x\", \"Close\", \"Close, cancel, or remove\", [\"recommended\", \"work\"], [\"cancel\", \"remove\"]),\n\n icon(\"address-book\", \"Address book\", \"Saved people and contact details\", [\"people\", \"communication\"], [\"contacts\", \"directory\"]),\n icon(\"friends\", \"Friends\", \"Friends or a social circle\", [\"people\", \"communication\"], [\"social\", \"group\"]),\n icon(\"id\", \"ID card\", \"Identity or account details\", [\"people\", \"work\"], [\"identity\", \"badge\"]),\n icon(\"mood-smile\", \"Smile\", \"Positive mood or feedback\", [\"people\", \"communication\"], [\"happy\", \"emoji\"]),\n icon(\"user\", \"User\", \"One person or account\", [\"recommended\", \"people\", \"work\"], [\"person\", \"account\"]),\n icon(\"user-check\", \"Verified user\", \"An approved or verified person\", [\"people\", \"work\"], [\"approved\", \"verified\"]),\n icon(\"user-circle\", \"User profile\", \"A personal profile or avatar\", [\"people\"], [\"profile\", \"avatar\"]),\n icon(\"user-plus\", \"Add user\", \"Invite or add a person\", [\"people\", \"work\"], [\"invite\", \"join\"]),\n icon(\"users\", \"Users\", \"A group, team, or audience\", [\"recommended\", \"people\", \"work\"], [\"people\", \"team\"]),\n\n icon(\"award\", \"Award\", \"An achievement or recognition\", [\"work\", \"people\"], [\"medal\", \"achievement\"]),\n icon(\"building-store\", \"Store\", \"A shop or retail location\", [\"work\", \"commerce\", \"places\"], [\"shop\", \"retail\"]),\n icon(\"clipboard\", \"Clipboard\", \"Copied content or a work item\", [\"work\", \"files\"], [\"copy\", \"paste\"]),\n icon(\"clipboard-list\", \"Task list\", \"A checklist or set of tasks\", [\"work\", \"files\"], [\"todo\", \"checklist\"]),\n icon(\"edit\", \"Edit\", \"Change existing content\", [\"recommended\", \"work\", \"files\"], [\"pencil\", \"change\"]),\n icon(\"filter\", \"Filter\", \"Narrow a set of results\", [\"work\", \"data\"], [\"refine\", \"search\"]),\n icon(\"flag\", \"Flag\", \"A marker, milestone, or report\", [\"work\", \"places\"], [\"marker\", \"milestone\"]),\n icon(\"presentation\", \"Presentation\", \"Slides or a talk\", [\"work\", \"files\", \"media\"], [\"slides\", \"deck\"]),\n icon(\"printer\", \"Printer\", \"Print a physical copy\", [\"work\", \"files\", \"devices\"], [\"print\", \"paper\"]),\n icon(\"school\", \"School\", \"Education, training, or a campus\", [\"work\", \"people\", \"places\"], [\"education\", \"learning\"]),\n icon(\"target\", \"Target\", \"A goal or objective\", [\"work\", \"data\"], [\"goal\", \"aim\"]),\n icon(\"tool\", \"Tool\", \"Maintenance or practical work\", [\"recommended\", \"work\"], [\"build\", \"maintenance\", \"wrench\"]),\n icon(\"trophy\", \"Trophy\", \"A win or major achievement\", [\"work\", \"people\"], [\"winner\", \"champion\"]),\n\n icon(\"file\", \"File\", \"A generic file or document\", [\"recommended\", \"files\"], [\"document\"]),\n icon(\"file-code\", \"Code file\", \"Source code or a script\", [\"files\", \"data\"], [\"source\", \"developer\"]),\n icon(\"file-spreadsheet\", \"Spreadsheet\", \"Tabular data or a workbook\", [\"files\", \"data\", \"work\"], [\"excel\", \"sheet\", \"csv\"]),\n icon(\"file-text\", \"Document\", \"Written text or documentation\", [\"recommended\", \"files\", \"work\"], [\"text\", \"docs\"]),\n icon(\"files\", \"Files\", \"A collection of documents\", [\"files\", \"work\"], [\"documents\", \"multiple\"]),\n icon(\"folder\", \"Folder\", \"A directory of files\", [\"recommended\", \"files\", \"work\"], [\"directory\"]),\n icon(\"folder-open\", \"Open folder\", \"A currently open directory\", [\"files\", \"work\"], [\"directory\", \"browse\"]),\n icon(\"note\", \"Note\", \"A short memo or annotation\", [\"recommended\", \"files\", \"work\"], [\"memo\", \"writing\"]),\n icon(\"notebook\", \"Notebook\", \"Notes, a journal, or research\", [\"files\", \"work\"], [\"journal\", \"writing\"]),\n icon(\"paperclip\", \"Attachment\", \"An attached file\", [\"files\", \"communication\", \"work\"], [\"attach\", \"paperclip\"]),\n icon(\"pencil\", \"Pencil\", \"Writing or composing content\", [\"files\", \"work\"], [\"write\", \"compose\"]),\n\n icon(\"api\", \"API\", \"An application programming interface\", [\"data\"], [\"endpoint\", \"service\"]),\n icon(\"brand-github\", \"GitHub\", \"A GitHub repository or project\", [\"data\", \"work\"], [\"git\", \"repository\", \"code\"]),\n icon(\"browser\", \"Browser\", \"A website or web browser\", [\"data\", \"devices\"], [\"web\", \"internet\"]),\n icon(\"bug\", \"Bug\", \"A software issue or defect\", [\"data\", \"work\"], [\"error\", \"issue\"]),\n icon(\"code\", \"Code\", \"Programming or source code\", [\"recommended\", \"data\", \"work\"], [\"source\", \"developer\"]),\n icon(\"database\", \"Database\", \"Structured data storage\", [\"recommended\", \"data\"], [\"db\", \"storage\"]),\n icon(\"git-branch\", \"Git branch\", \"A branch of source changes\", [\"data\", \"work\"], [\"repository\", \"fork\"]),\n icon(\"network\", \"Network\", \"Connected systems or nodes\", [\"data\", \"devices\"], [\"connection\", \"graph\"]),\n icon(\"robot\", \"Robot\", \"Automation, a bot, or AI\", [\"data\", \"work\"], [\"bot\", \"ai\", \"automation\"]),\n icon(\"server\", \"Server\", \"A host or infrastructure service\", [\"recommended\", \"data\", \"devices\"], [\"host\", \"infrastructure\"]),\n icon(\"table\", \"Table\", \"Rows and columns of data\", [\"data\", \"files\", \"work\"], [\"grid\", \"spreadsheet\"]),\n icon(\"terminal\", \"Terminal\", \"A command line or shell\", [\"data\", \"devices\"], [\"console\", \"cli\", \"shell\"]),\n icon(\"wifi\", \"Wi-Fi\", \"Wireless network access\", [\"data\", \"devices\"], [\"wireless\", \"internet\"]),\n\n icon(\"at\", \"At sign\", \"A mention or email address\", [\"communication\"], [\"mention\", \"email\"]),\n icon(\"mail\", \"Mail\", \"Email or written correspondence\", [\"recommended\", \"communication\", \"work\"], [\"email\", \"message\"]),\n icon(\"mail-opened\", \"Opened mail\", \"A read or opened message\", [\"communication\", \"work\"], [\"email\", \"read\"]),\n icon(\"message\", \"Message\", \"Chat or a conversation\", [\"recommended\", \"communication\", \"people\"], [\"chat\", \"comment\"]),\n icon(\"messages\", \"Messages\", \"A conversation with several messages\", [\"communication\", \"people\"], [\"chat\", \"conversation\"]),\n icon(\"microphone\", \"Microphone\", \"Voice input or audio recording\", [\"communication\", \"media\", \"devices\"], [\"audio\", \"voice\", \"record\"]),\n icon(\"phone\", \"Phone\", \"A telephone call or contact number\", [\"communication\", \"people\", \"devices\"], [\"call\", \"telephone\"]),\n icon(\"send\", \"Send\", \"Deliver a message or submission\", [\"recommended\", \"communication\", \"work\"], [\"submit\", \"deliver\"]),\n icon(\"share\", \"Share\", \"Distribute content to others\", [\"communication\", \"people\", \"files\"], [\"send\", \"social\"]),\n\n icon(\"building-bank\", \"Bank\", \"Banking or a financial institution\", [\"commerce\", \"work\", \"places\"], [\"finance\", \"money\"]),\n icon(\"calculator\", \"Calculator\", \"Calculation or accounting\", [\"commerce\", \"data\", \"devices\"], [\"math\", \"compute\"]),\n icon(\"cash\", \"Cash\", \"Physical money or a cash payment\", [\"commerce\"], [\"money\", \"banknote\"]),\n icon(\"coin\", \"Coin\", \"Money, currency, or credits\", [\"recommended\", \"commerce\"], [\"money\", \"finance\"]),\n icon(\"credit-card\", \"Credit card\", \"Card payments and billing\", [\"recommended\", \"commerce\"], [\"payment\", \"money\"]),\n icon(\"currency-dollar\", \"Dollar\", \"Prices or amounts in dollars\", [\"commerce\", \"data\"], [\"currency\", \"money\", \"usd\", \"$\"]),\n icon(\"currency-euro\", \"Euro\", \"Prices or amounts in euros\", [\"commerce\", \"data\"], [\"currency\", \"money\", \"eur\", \"€\"]),\n icon(\"percentage\", \"Percentage\", \"A rate, share, or discount\", [\"commerce\", \"data\"], [\"percent\", \"discount\", \"%\"]),\n icon(\"receipt\", \"Receipt\", \"A purchase, bill, or invoice\", [\"commerce\", \"files\"], [\"bill\", \"invoice\"]),\n icon(\"shopping-bag\", \"Shopping bag\", \"Retail shopping or an order\", [\"commerce\"], [\"shop\", \"buy\"]),\n icon(\"shopping-cart\", \"Shopping cart\", \"A basket of items to purchase\", [\"commerce\"], [\"shop\", \"purchase\"]),\n icon(\"wallet\", \"Wallet\", \"Money, cards, or an account balance\", [\"commerce\"], [\"cash\", \"finance\"]),\n\n icon(\"bike\", \"Bike\", \"Cycling or bicycle transport\", [\"places\"], [\"bicycle\", \"transport\"]),\n icon(\"bus\", \"Bus\", \"Public road transport\", [\"places\"], [\"transport\", \"public\"]),\n icon(\"car\", \"Car\", \"Driving or a road vehicle\", [\"places\"], [\"auto\", \"vehicle\"]),\n icon(\"compass\", \"Compass\", \"Direction or navigation\", [\"places\"], [\"navigation\", \"direction\"]),\n icon(\"map\", \"Map\", \"Geography or an area overview\", [\"places\", \"data\"], [\"location\", \"geography\"]),\n icon(\"map-pin\", \"Map pin\", \"A specific place or address\", [\"recommended\", \"places\"], [\"location\", \"place\"]),\n icon(\"mountain\", \"Mountain\", \"Nature, outdoors, or a peak\", [\"places\"], [\"outdoors\", \"nature\"]),\n icon(\"plane\", \"Plane\", \"Air travel or a flight\", [\"places\"], [\"flight\", \"airplane\"]),\n icon(\"rocket\", \"Rocket\", \"A launch, growth, or fast start\", [\"places\", \"work\", \"data\"], [\"launch\", \"space\", \"boost\"]),\n icon(\"route\", \"Route\", \"A path, journey, or itinerary\", [\"places\"], [\"path\", \"travel\"]),\n icon(\"ship\", \"Ship\", \"Sea transport or shipping\", [\"places\", \"commerce\"], [\"boat\", \"vessel\"]),\n icon(\"tent\", \"Tent\", \"Camping or an outdoor location\", [\"places\"], [\"camping\", \"outdoors\"]),\n icon(\"train\", \"Train\", \"Rail travel or public transport\", [\"places\"], [\"rail\", \"transport\"]),\n icon(\"truck\", \"Truck\", \"Freight, logistics, or delivery\", [\"places\", \"commerce\"], [\"shipping\", \"delivery\"]),\n icon(\"world\", \"World\", \"Global, international, or web content\", [\"recommended\", \"places\", \"data\"], [\"globe\", \"web\"]),\n\n icon(\"apple\", \"Apple\", \"Fruit, food, or healthy eating\", [\"food\"], [\"fruit\", \"healthy\"]),\n icon(\"cake\", \"Cake\", \"Dessert or a celebration\", [\"food\"], [\"dessert\", \"birthday\"]),\n icon(\"chef-hat\", \"Chef hat\", \"Cooking, recipes, or a restaurant\", [\"food\", \"work\"], [\"cook\", \"recipe\", \"restaurant\"]),\n icon(\"coffee\", \"Coffee\", \"Coffee, a café, or a break\", [\"recommended\", \"food\", \"work\"], [\"drink\", \"cafe\", \"caffeine\"]),\n icon(\"cookie\", \"Cookie\", \"A snack, dessert, or browser cookie\", [\"food\", \"data\"], [\"dessert\", \"snack\"]),\n icon(\"glass\", \"Glass\", \"A drink or beverage\", [\"food\"], [\"drink\", \"wine\"]),\n icon(\"ice-cream\", \"Ice cream\", \"A frozen dessert or treat\", [\"food\"], [\"dessert\", \"frozen\"]),\n icon(\"lemon\", \"Lemon\", \"Citrus fruit or a fresh flavor\", [\"food\"], [\"fruit\", \"citrus\"]),\n icon(\"mug\", \"Mug\", \"A hot drink or cup\", [\"food\", \"work\"], [\"cup\", \"beverage\"]),\n icon(\"pizza\", \"Pizza\", \"Food, delivery, or a restaurant\", [\"recommended\", \"food\", \"commerce\"], [\"restaurant\", \"delivery\"]),\n\n icon(\"headphones\", \"Headphones\", \"Listening to music or audio\", [\"media\", \"devices\"], [\"audio\", \"listen\"]),\n icon(\"music\", \"Music\", \"Songs, sound, or audio\", [\"media\"], [\"song\", \"audio\"]),\n icon(\"palette\", \"Palette\", \"Color, art, or visual design\", [\"media\", \"work\"], [\"color\", \"design\", \"art\"]),\n icon(\"photo\", \"Photo\", \"An image or picture\", [\"recommended\", \"media\", \"files\"], [\"image\", \"picture\"]),\n icon(\"player-pause\", \"Pause\", \"Pause audio or video playback\", [\"media\"], [\"stop\", \"playback\"]),\n icon(\"player-play\", \"Play\", \"Start audio or video playback\", [\"recommended\", \"media\"], [\"start\", \"playback\"]),\n icon(\"player-stop\", \"Stop\", \"Stop audio or video playback\", [\"media\"], [\"halt\", \"playback\"]),\n icon(\"video\", \"Video\", \"Moving images or a recording\", [\"recommended\", \"media\", \"communication\"], [\"camera\", \"movie\"]),\n icon(\"volume\", \"Volume\", \"Sound or audio level\", [\"media\", \"devices\"], [\"sound\", \"audio\"]),\n\n icon(\"device-desktop\", \"Desktop\", \"A desktop computer or monitor\", [\"recommended\", \"devices\", \"data\"], [\"computer\", \"screen\"]),\n icon(\"device-laptop\", \"Laptop\", \"A portable computer\", [\"devices\", \"data\"], [\"computer\"]),\n icon(\"device-mobile\", \"Mobile phone\", \"A smartphone or mobile view\", [\"devices\", \"communication\"], [\"phone\", \"smartphone\"]),\n icon(\"device-tablet\", \"Tablet\", \"A tablet computer or tablet view\", [\"devices\", \"data\"], [\"ipad\", \"computer\"]),\n icon(\"plug\", \"Plug\", \"Power or a system connection\", [\"devices\", \"data\"], [\"connect\", \"power\"]),\n] as const;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":[],"sources":["inputs/icon-options.ts"],"sourcesContent":["import type { SelectGroup } from \"./Select\";\nimport type { IconOption } from \"./SpecialInputs\";\n\nexport const DEFAULT_ICON_GROUPS = [\n { value: \"recommended\", label: \"Recommended\" },\n { value: \"people\", label: \"People\" },\n { value: \"work\", label: \"Work\" },\n { value: \"communication\", label: \"Communication\" },\n { value: \"files\", label: \"Files\" },\n { value: \"data\", label: \"Data & tech\" },\n { value: \"commerce\", label: \"Commerce\" },\n { value: \"places\", label: \"Places\" },\n { value: \"food\", label: \"Food\" },\n { value: \"media\", label: \"Media\" },\n { value: \"devices\", label: \"Devices\" },\n] as const satisfies readonly SelectGroup[];\n\ntype DefaultIconGroup = (typeof DEFAULT_ICON_GROUPS)[number][\"value\"];\n\nconst icon = (\n name: string,\n label: string,\n description: string,\n groups: readonly DefaultIconGroup[],\n keywords: readonly string[] = [],\n): IconOption => ({\n value: `ti ti-${name}`,\n label,\n description,\n icon: `ti ti-${name}`,\n groups,\n keywords: [name, ...keywords],\n});\n\n/** A curated, application-neutral Tabler catalogue for IconInput. */\nexport const DEFAULT_ICON_OPTIONS: readonly IconOption[] = [\n icon(\"activity\", \"Activity\", \"Live activity or health signals\", [\"recommended\", \"data\"], [\"pulse\", \"monitor\"]),\n icon(\"adjustments\", \"Adjustments\", \"Tune settings or controls\", [\"recommended\", \"work\"], [\"settings\", \"controls\"]),\n icon(\"alert-circle\", \"Alert\", \"Important warning or problem\", [\"recommended\", \"work\"], [\"warning\", \"error\"]),\n icon(\"archive\", \"Archive\", \"Stored or inactive material\", [\"recommended\", \"files\", \"work\"], [\"box\", \"storage\"]),\n icon(\"bell\", \"Bell\", \"Notifications and reminders\", [\"recommended\", \"communication\"], [\"notification\", \"reminder\"]),\n icon(\"book\", \"Book\", \"Reading, knowledge, or a library\", [\"recommended\", \"files\"], [\"docs\", \"read\", \"library\"]),\n icon(\"bookmark\", \"Bookmark\", \"Saved content for later\", [\"recommended\", \"files\"], [\"save\", \"favorite\"]),\n icon(\"box\", \"Box\", \"A product, package, or container\", [\"recommended\", \"commerce\", \"work\"], [\"package\", \"inventory\"]),\n icon(\"briefcase\", \"Briefcase\", \"Business, a job, or a project\", [\"recommended\", \"work\"], [\"business\", \"job\"]),\n icon(\"building\", \"Building\", \"An organization or office\", [\"recommended\", \"work\", \"places\"], [\"company\", \"office\"]),\n icon(\"calendar\", \"Calendar\", \"Dates, plans, and schedules\", [\"recommended\", \"work\"], [\"date\", \"schedule\"]),\n icon(\"camera\", \"Camera\", \"Photography or image capture\", [\"recommended\", \"media\", \"devices\"], [\"photo\", \"image\"]),\n icon(\"chart-bar\", \"Bar chart\", \"Compare values across categories\", [\"recommended\", \"data\", \"work\"], [\"analytics\", \"stats\"]),\n icon(\"chart-line\", \"Line chart\", \"Show a trend over time\", [\"recommended\", \"data\", \"work\"], [\"analytics\", \"trend\"]),\n icon(\"check\", \"Check\", \"A completed or confirmed action\", [\"recommended\", \"work\"], [\"done\", \"success\"]),\n icon(\"circle-check\", \"Check circle\", \"Successful or approved status\", [\"recommended\", \"work\"], [\"done\", \"success\", \"approved\"]),\n icon(\"clock\", \"Clock\", \"Time, duration, or a deadline\", [\"recommended\", \"work\"], [\"time\", \"schedule\"]),\n icon(\"cloud\", \"Cloud\", \"Hosted or synchronized services\", [\"recommended\", \"data\"], [\"hosting\", \"online\", \"sync\"]),\n icon(\"heart\", \"Heart\", \"A favorite, like, or health topic\", [\"recommended\", \"people\"], [\"favorite\", \"health\", \"love\"]),\n icon(\"home\", \"Home\", \"A home page or physical home\", [\"recommended\", \"places\"], [\"start\", \"house\"]),\n icon(\"layout-dashboard\", \"Dashboard\", \"An overview or control center\", [\"recommended\", \"data\", \"work\"], [\"layout\", \"overview\"]),\n icon(\"search\", \"Search\", \"Find content or records\", [\"recommended\", \"work\", \"data\"], [\"find\", \"lookup\"]),\n icon(\"settings\", \"Settings\", \"Configuration and preferences\", [\"recommended\", \"work\"], [\"configure\", \"preferences\"]),\n icon(\"sparkles\", \"Sparkles\", \"AI, magic, or something new\", [\"recommended\", \"data\", \"media\"], [\"ai\", \"magic\", \"new\"]),\n icon(\"star\", \"Star\", \"A favorite, rating, or highlight\", [\"recommended\", \"work\"], [\"favorite\", \"rating\"]),\n icon(\"tag\", \"Tag\", \"A label or category\", [\"recommended\", \"files\", \"work\"], [\"label\", \"category\"]),\n icon(\"cube\", \"Cube\", \"A module, object, or component\", [\"recommended\", \"data\", \"work\"], [\"package\", \"component\"]),\n icon(\"download\", \"Download\", \"Save or export a file\", [\"recommended\", \"files\", \"data\"], [\"save\", \"export\"]),\n icon(\"external-link\", \"External link\", \"Open a different page or website\", [\"recommended\", \"communication\", \"data\"], [\"open\", \"new tab\"]),\n icon(\"eye\", \"Eye\", \"View, preview, or visibility\", [\"recommended\", \"work\", \"media\"], [\"view\", \"preview\"]),\n icon(\"help-circle\", \"Help\", \"Help, support, or a question\", [\"recommended\", \"communication\"], [\"question\", \"support\"]),\n icon(\"info-circle\", \"Info\", \"Additional information or guidance\", [\"recommended\", \"communication\"], [\"information\", \"help\"]),\n icon(\"key\", \"Key\", \"Access, credentials, or security\", [\"recommended\", \"work\", \"data\"], [\"access\", \"security\"]),\n icon(\"link\", \"Link\", \"A URL or connection\", [\"recommended\", \"communication\", \"data\"], [\"url\", \"connection\"]),\n icon(\"list\", \"List\", \"A sequence of items or rows\", [\"recommended\", \"work\", \"files\"], [\"items\", \"rows\"]),\n icon(\"lock\", \"Lock\", \"Private or protected content\", [\"recommended\", \"work\", \"data\"], [\"security\", \"private\"]),\n icon(\"package\", \"Package\", \"A shipped item or software module\", [\"recommended\", \"commerce\", \"data\"], [\"box\", \"module\"]),\n icon(\"plus\", \"Plus\", \"Add or create something\", [\"recommended\", \"work\"], [\"add\", \"create\"]),\n icon(\"shield\", \"Shield\", \"Security or protection\", [\"recommended\", \"work\", \"data\"], [\"security\", \"protection\"]),\n icon(\"trash\", \"Trash\", \"Delete or remove something\", [\"recommended\", \"work\", \"files\"], [\"delete\", \"remove\"]),\n icon(\"upload\", \"Upload\", \"Import or send a file\", [\"recommended\", \"files\", \"data\"], [\"import\", \"file\"]),\n icon(\"x\", \"Close\", \"Close, cancel, or remove\", [\"recommended\", \"work\"], [\"cancel\", \"remove\"]),\n\n icon(\"address-book\", \"Address book\", \"Saved people and contact details\", [\"people\", \"communication\"], [\"contacts\", \"directory\"]),\n icon(\"friends\", \"Friends\", \"Friends or a social circle\", [\"people\", \"communication\"], [\"social\", \"group\"]),\n icon(\"id\", \"ID card\", \"Identity or account details\", [\"people\", \"work\"], [\"identity\", \"badge\"]),\n icon(\"mood-smile\", \"Smile\", \"Positive mood or feedback\", [\"people\", \"communication\"], [\"happy\", \"emoji\"]),\n icon(\"user\", \"User\", \"One person or account\", [\"recommended\", \"people\", \"work\"], [\"person\", \"account\"]),\n icon(\"user-check\", \"Verified user\", \"An approved or verified person\", [\"people\", \"work\"], [\"approved\", \"verified\"]),\n icon(\"user-circle\", \"User profile\", \"A personal profile or avatar\", [\"people\"], [\"profile\", \"avatar\"]),\n icon(\"user-plus\", \"Add user\", \"Invite or add a person\", [\"people\", \"work\"], [\"invite\", \"join\"]),\n icon(\"users\", \"Users\", \"A group, team, or audience\", [\"recommended\", \"people\", \"work\"], [\"people\", \"team\"]),\n\n icon(\"award\", \"Award\", \"An achievement or recognition\", [\"work\", \"people\"], [\"medal\", \"achievement\"]),\n icon(\"building-store\", \"Store\", \"A shop or retail location\", [\"work\", \"commerce\", \"places\"], [\"shop\", \"retail\"]),\n icon(\"clipboard\", \"Clipboard\", \"Copied content or a work item\", [\"work\", \"files\"], [\"copy\", \"paste\"]),\n icon(\"clipboard-list\", \"Task list\", \"A checklist or set of tasks\", [\"work\", \"files\"], [\"todo\", \"checklist\"]),\n icon(\"edit\", \"Edit\", \"Change existing content\", [\"recommended\", \"work\", \"files\"], [\"pencil\", \"change\"]),\n icon(\"filter\", \"Filter\", \"Narrow a set of results\", [\"work\", \"data\"], [\"refine\", \"search\"]),\n icon(\"flag\", \"Flag\", \"A marker, milestone, or report\", [\"work\", \"places\"], [\"marker\", \"milestone\"]),\n icon(\"presentation\", \"Presentation\", \"Slides or a talk\", [\"work\", \"files\", \"media\"], [\"slides\", \"deck\"]),\n icon(\"printer\", \"Printer\", \"Print a physical copy\", [\"work\", \"files\", \"devices\"], [\"print\", \"paper\"]),\n icon(\"school\", \"School\", \"Education, training, or a campus\", [\"work\", \"people\", \"places\"], [\"education\", \"learning\"]),\n icon(\"target\", \"Target\", \"A goal or objective\", [\"work\", \"data\"], [\"goal\", \"aim\"]),\n icon(\"tool\", \"Tool\", \"Maintenance or practical work\", [\"recommended\", \"work\"], [\"build\", \"maintenance\", \"wrench\"]),\n icon(\"trophy\", \"Trophy\", \"A win or major achievement\", [\"work\", \"people\"], [\"winner\", \"champion\"]),\n\n icon(\"file\", \"File\", \"A generic file or document\", [\"recommended\", \"files\"], [\"document\"]),\n icon(\"file-code\", \"Code file\", \"Source code or a script\", [\"files\", \"data\"], [\"source\", \"developer\"]),\n icon(\"file-spreadsheet\", \"Spreadsheet\", \"Tabular data or a workbook\", [\"files\", \"data\", \"work\"], [\"excel\", \"sheet\", \"csv\"]),\n icon(\"file-text\", \"Document\", \"Written text or documentation\", [\"recommended\", \"files\", \"work\"], [\"text\", \"docs\"]),\n icon(\"files\", \"Files\", \"A collection of documents\", [\"files\", \"work\"], [\"documents\", \"multiple\"]),\n icon(\"folder\", \"Folder\", \"A directory of files\", [\"recommended\", \"files\", \"work\"], [\"directory\"]),\n icon(\"folder-open\", \"Open folder\", \"A currently open directory\", [\"files\", \"work\"], [\"directory\", \"browse\"]),\n icon(\"note\", \"Note\", \"A short memo or annotation\", [\"recommended\", \"files\", \"work\"], [\"memo\", \"writing\"]),\n icon(\"notebook\", \"Notebook\", \"Notes, a journal, or research\", [\"files\", \"work\"], [\"journal\", \"writing\"]),\n icon(\"paperclip\", \"Attachment\", \"An attached file\", [\"files\", \"communication\", \"work\"], [\"attach\", \"paperclip\"]),\n icon(\"pencil\", \"Pencil\", \"Writing or composing content\", [\"files\", \"work\"], [\"write\", \"compose\"]),\n\n icon(\"api\", \"API\", \"An application programming interface\", [\"data\"], [\"endpoint\", \"service\"]),\n icon(\"brand-github\", \"GitHub\", \"A GitHub repository or project\", [\"data\", \"work\"], [\"git\", \"repository\", \"code\"]),\n icon(\"browser\", \"Browser\", \"A website or web browser\", [\"data\", \"devices\"], [\"web\", \"internet\"]),\n icon(\"bug\", \"Bug\", \"A software issue or defect\", [\"data\", \"work\"], [\"error\", \"issue\"]),\n icon(\"code\", \"Code\", \"Programming or source code\", [\"recommended\", \"data\", \"work\"], [\"source\", \"developer\"]),\n icon(\"database\", \"Database\", \"Structured data storage\", [\"recommended\", \"data\"], [\"db\", \"storage\"]),\n icon(\"git-branch\", \"Git branch\", \"A branch of source changes\", [\"data\", \"work\"], [\"repository\", \"fork\"]),\n icon(\"network\", \"Network\", \"Connected systems or nodes\", [\"data\", \"devices\"], [\"connection\", \"graph\"]),\n icon(\"robot\", \"Robot\", \"Automation, a bot, or AI\", [\"data\", \"work\"], [\"bot\", \"ai\", \"automation\"]),\n icon(\"server\", \"Server\", \"A host or infrastructure service\", [\"recommended\", \"data\", \"devices\"], [\"host\", \"infrastructure\"]),\n icon(\"table\", \"Table\", \"Rows and columns of data\", [\"data\", \"files\", \"work\"], [\"grid\", \"spreadsheet\"]),\n icon(\"terminal\", \"Terminal\", \"A command line or shell\", [\"data\", \"devices\"], [\"console\", \"cli\", \"shell\"]),\n icon(\"wifi\", \"Wi-Fi\", \"Wireless network access\", [\"data\", \"devices\"], [\"wireless\", \"internet\"]),\n\n icon(\"at\", \"At sign\", \"A mention or email address\", [\"communication\"], [\"mention\", \"email\"]),\n icon(\"mail\", \"Mail\", \"Email or written correspondence\", [\"recommended\", \"communication\", \"work\"], [\"email\", \"message\"]),\n icon(\"mail-opened\", \"Opened mail\", \"A read or opened message\", [\"communication\", \"work\"], [\"email\", \"read\"]),\n icon(\"message\", \"Message\", \"Chat or a conversation\", [\"recommended\", \"communication\", \"people\"], [\"chat\", \"comment\"]),\n icon(\"messages\", \"Messages\", \"A conversation with several messages\", [\"communication\", \"people\"], [\"chat\", \"conversation\"]),\n icon(\"microphone\", \"Microphone\", \"Voice input or audio recording\", [\"communication\", \"media\", \"devices\"], [\"audio\", \"voice\", \"record\"]),\n icon(\"phone\", \"Phone\", \"A telephone call or contact number\", [\"communication\", \"people\", \"devices\"], [\"call\", \"telephone\"]),\n icon(\"send\", \"Send\", \"Deliver a message or submission\", [\"recommended\", \"communication\", \"work\"], [\"submit\", \"deliver\"]),\n icon(\"share\", \"Share\", \"Distribute content to others\", [\"communication\", \"people\", \"files\"], [\"send\", \"social\"]),\n\n icon(\"building-bank\", \"Bank\", \"Banking or a financial institution\", [\"commerce\", \"work\", \"places\"], [\"finance\", \"money\"]),\n icon(\"calculator\", \"Calculator\", \"Calculation or accounting\", [\"commerce\", \"data\", \"devices\"], [\"math\", \"compute\"]),\n icon(\"cash\", \"Cash\", \"Physical money or a cash payment\", [\"commerce\"], [\"money\", \"banknote\"]),\n icon(\"coin\", \"Coin\", \"Money, currency, or credits\", [\"recommended\", \"commerce\"], [\"money\", \"finance\"]),\n icon(\"credit-card\", \"Credit card\", \"Card payments and billing\", [\"recommended\", \"commerce\"], [\"payment\", \"money\"]),\n icon(\"currency-dollar\", \"Dollar\", \"Prices or amounts in dollars\", [\"commerce\", \"data\"], [\"currency\", \"money\", \"usd\", \"$\"]),\n icon(\"currency-euro\", \"Euro\", \"Prices or amounts in euros\", [\"commerce\", \"data\"], [\"currency\", \"money\", \"eur\", \"€\"]),\n icon(\"percentage\", \"Percentage\", \"A rate, share, or discount\", [\"commerce\", \"data\"], [\"percent\", \"discount\", \"%\"]),\n icon(\"receipt\", \"Receipt\", \"A purchase, bill, or invoice\", [\"commerce\", \"files\"], [\"bill\", \"invoice\"]),\n icon(\"shopping-bag\", \"Shopping bag\", \"Retail shopping or an order\", [\"commerce\"], [\"shop\", \"buy\"]),\n icon(\"shopping-cart\", \"Shopping cart\", \"A basket of items to purchase\", [\"commerce\"], [\"shop\", \"purchase\"]),\n icon(\"wallet\", \"Wallet\", \"Money, cards, or an account balance\", [\"commerce\"], [\"cash\", \"finance\"]),\n\n icon(\"bike\", \"Bike\", \"Cycling or bicycle transport\", [\"places\"], [\"bicycle\", \"transport\"]),\n icon(\"bus\", \"Bus\", \"Public road transport\", [\"places\"], [\"transport\", \"public\"]),\n icon(\"car\", \"Car\", \"Driving or a road vehicle\", [\"places\"], [\"auto\", \"vehicle\"]),\n icon(\"compass\", \"Compass\", \"Direction or navigation\", [\"places\"], [\"navigation\", \"direction\"]),\n icon(\"map\", \"Map\", \"Geography or an area overview\", [\"places\", \"data\"], [\"location\", \"geography\"]),\n icon(\"map-pin\", \"Map pin\", \"A specific place or address\", [\"recommended\", \"places\"], [\"location\", \"place\"]),\n icon(\"mountain\", \"Mountain\", \"Nature, outdoors, or a peak\", [\"places\"], [\"outdoors\", \"nature\"]),\n icon(\"plane\", \"Plane\", \"Air travel or a flight\", [\"places\"], [\"flight\", \"airplane\"]),\n icon(\"rocket\", \"Rocket\", \"A launch, growth, or fast start\", [\"places\", \"work\", \"data\"], [\"launch\", \"space\", \"boost\"]),\n icon(\"route\", \"Route\", \"A path, journey, or itinerary\", [\"places\"], [\"path\", \"travel\"]),\n icon(\"ship\", \"Ship\", \"Sea transport or shipping\", [\"places\", \"commerce\"], [\"boat\", \"vessel\"]),\n icon(\"tent\", \"Tent\", \"Camping or an outdoor location\", [\"places\"], [\"camping\", \"outdoors\"]),\n icon(\"train\", \"Train\", \"Rail travel or public transport\", [\"places\"], [\"rail\", \"transport\"]),\n icon(\"truck\", \"Truck\", \"Freight, logistics, or delivery\", [\"places\", \"commerce\"], [\"shipping\", \"delivery\"]),\n icon(\"world\", \"World\", \"Global, international, or web content\", [\"recommended\", \"places\", \"data\"], [\"globe\", \"web\"]),\n\n icon(\"apple\", \"Apple\", \"Fruit, food, or healthy eating\", [\"food\"], [\"fruit\", \"healthy\"]),\n icon(\"cake\", \"Cake\", \"Dessert or a celebration\", [\"food\"], [\"dessert\", \"birthday\"]),\n icon(\"chef-hat\", \"Chef hat\", \"Cooking, recipes, or a restaurant\", [\"food\", \"work\"], [\"cook\", \"recipe\", \"restaurant\"]),\n icon(\"coffee\", \"Coffee\", \"Coffee, a café, or a break\", [\"recommended\", \"food\", \"work\"], [\"drink\", \"cafe\", \"caffeine\"]),\n icon(\"cookie\", \"Cookie\", \"A snack, dessert, or browser cookie\", [\"food\", \"data\"], [\"dessert\", \"snack\"]),\n icon(\"glass\", \"Glass\", \"A drink or beverage\", [\"food\"], [\"drink\", \"wine\"]),\n icon(\"ice-cream\", \"Ice cream\", \"A frozen dessert or treat\", [\"food\"], [\"dessert\", \"frozen\"]),\n icon(\"lemon\", \"Lemon\", \"Citrus fruit or a fresh flavor\", [\"food\"], [\"fruit\", \"citrus\"]),\n icon(\"mug\", \"Mug\", \"A hot drink or cup\", [\"food\", \"work\"], [\"cup\", \"beverage\"]),\n icon(\"pizza\", \"Pizza\", \"Food, delivery, or a restaurant\", [\"recommended\", \"food\", \"commerce\"], [\"restaurant\", \"delivery\"]),\n\n icon(\"headphones\", \"Headphones\", \"Listening to music or audio\", [\"media\", \"devices\"], [\"audio\", \"listen\"]),\n icon(\"music\", \"Music\", \"Songs, sound, or audio\", [\"media\"], [\"song\", \"audio\"]),\n icon(\"palette\", \"Palette\", \"Color, art, or visual design\", [\"media\", \"work\"], [\"color\", \"design\", \"art\"]),\n icon(\"photo\", \"Photo\", \"An image or picture\", [\"recommended\", \"media\", \"files\"], [\"image\", \"picture\"]),\n icon(\"player-pause\", \"Pause\", \"Pause audio or video playback\", [\"media\"], [\"stop\", \"playback\"]),\n icon(\"player-play\", \"Play\", \"Start audio or video playback\", [\"recommended\", \"media\"], [\"start\", \"playback\"]),\n icon(\"player-stop\", \"Stop\", \"Stop audio or video playback\", [\"media\"], [\"halt\", \"playback\"]),\n icon(\"video\", \"Video\", \"Moving images or a recording\", [\"recommended\", \"media\", \"communication\"], [\"camera\", \"movie\"]),\n icon(\"volume\", \"Volume\", \"Sound or audio level\", [\"media\", \"devices\"], [\"sound\", \"audio\"]),\n\n icon(\"device-desktop\", \"Desktop\", \"A desktop computer or monitor\", [\"recommended\", \"devices\", \"data\"], [\"computer\", \"screen\"]),\n icon(\"device-laptop\", \"Laptop\", \"A portable computer\", [\"devices\", \"data\"], [\"computer\"]),\n icon(\"device-mobile\", \"Mobile phone\", \"A smartphone or mobile view\", [\"devices\", \"communication\"], [\"phone\", \"smartphone\"]),\n icon(\"device-tablet\", \"Tablet\", \"A tablet computer or tablet view\", [\"devices\", \"data\"], [\"ipad\", \"computer\"]),\n icon(\"plug\", \"Plug\", \"Power or a system connection\", [\"devices\", \"data\"], [\"connect\", \"power\"]),\n] as const;\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["MIN_CROP_SIZE","clamp","value","min","max","Math","aspectRatio","aspect","width","height","normalizeImageCropRotation","rotation","round","rotateImageCropRight","getInitialImageCropRect","imageSize","x","y","target","source","clampImageCropRect","rect","resizeImageCropAroundCenter","scale","safeScale","centerX","centerY","resizeImageCropFromCorner","handle","dx","dy","movesEast","includes","movesSouth","anchorX","anchorY","requestedWidth","requestedHeight","widthFromHeight","requested","abs","horizontalLimit","verticalLimit","maxWidth","minimumWidth","imageCropRectToPixels","cropped","state","output","img","data","create","rotate","crop","resize","maxHeight","ratio","createCroppedImageCanvas","result","toCanvas","createCroppedImageDataUrl","toBase64","format","quality"],"sources":["inputs/image-crop.ts"],"sourcesContent":["export type ImageCropAspect = \"free\" | { width: number; height: number };\nexport type ImageCropRotation = 0 | 90 | 180 | 270;\nexport type ImageCropRect = { x: number; y: number; width: number; height: number };\nexport type ImageCropState = { crop: ImageCropRect; rotation: ImageCropRotation };\nexport type ImageCropSource = File | Blob | HTMLImageElement | HTMLCanvasElement | string;\nexport type ImageCropOutput = {\n width?: number;\n height?: number;\n maxWidth?: number;\n maxHeight?: number;\n format?: \"webp\" | \"jpeg\" | \"png\";\n quality?: number;\n};\nexport type ImageCropSize = { width: number; height: number };\nexport type ImageCropResizeHandle = \"nw\" | \"ne\" | \"sw\" | \"se\";\n\nconst MIN_CROP_SIZE = 0.08;\nconst clamp = (value: number, min: number, max: number) => Math.max(min, Math.min(max, value));\nconst aspectRatio = (aspect: Exclude<ImageCropAspect, \"free\">) =>\n aspect.width > 0 && aspect.height > 0 ? aspect.width / aspect.height : 1;\n\nexport const normalizeImageCropRotation = (rotation: number): ImageCropRotation =>\n ((((Math.round(rotation / 90) * 90) % 360) + 360) % 360) as ImageCropRotation;\n\nexport const rotateImageCropRight = (rotation: ImageCropRotation): ImageCropRotation => normalizeImageCropRotation(rotation + 90);\n\nexport const getInitialImageCropRect = (imageSize: ImageCropSize, aspect: ImageCropAspect = \"free\"): ImageCropRect => {\n if (aspect === \"free\") return { x: 0.1, y: 0.1, width: 0.8, height: 0.8 };\n const target = aspectRatio(aspect);\n const source = imageSize.width > 0 && imageSize.height > 0 ? imageSize.width / imageSize.height : 1;\n let width = 0.86;\n let height = (width * source) / target;\n if (height > 0.86) {\n height = 0.86;\n width = (height * target) / source;\n }\n width = clamp(width, MIN_CROP_SIZE, 1);\n height = clamp(height, MIN_CROP_SIZE, 1);\n return { x: (1 - width) / 2, y: (1 - height) / 2, width, height };\n};\n\nexport const clampImageCropRect = (rect: ImageCropRect, imageSize: ImageCropSize, aspect: ImageCropAspect = \"free\"): ImageCropRect => {\n if (aspect === \"free\") {\n const width = clamp(rect.width, MIN_CROP_SIZE, 1);\n const height = clamp(rect.height, MIN_CROP_SIZE, 1);\n return { x: clamp(rect.x, 0, 1 - width), y: clamp(rect.y, 0, 1 - height), width, height };\n }\n const target = aspectRatio(aspect);\n const source = imageSize.width > 0 && imageSize.height > 0 ? imageSize.width / imageSize.height : 1;\n let width = clamp(rect.width, MIN_CROP_SIZE, 1);\n let height = (width * source) / target;\n if (height > 1) {\n height = 1;\n width = (height * target) / source;\n }\n return { x: clamp(rect.x, 0, 1 - width), y: clamp(rect.y, 0, 1 - height), width, height };\n};\n\nexport const resizeImageCropAroundCenter = (\n rect: ImageCropRect,\n imageSize: ImageCropSize,\n aspect: ImageCropAspect,\n scale: number,\n): ImageCropRect => {\n const safeScale = clamp(scale, 0.2, 5);\n const centerX = rect.x + rect.width / 2;\n const centerY = rect.y + rect.height / 2;\n const width = clamp(rect.width / safeScale, MIN_CROP_SIZE, 1);\n const height =\n aspect === \"free\"\n ? clamp(rect.height / safeScale, MIN_CROP_SIZE, 1)\n : (width * (imageSize.width / Math.max(1, imageSize.height))) / aspectRatio(aspect);\n return clampImageCropRect({ x: centerX - width / 2, y: centerY - height / 2, width, height }, imageSize, aspect);\n};\n\n/** Resizes a crop from one corner while keeping the opposite corner anchored. */\nexport const resizeImageCropFromCorner = (\n rect: ImageCropRect,\n imageSize: ImageCropSize,\n aspect: ImageCropAspect,\n handle: ImageCropResizeHandle,\n dx: number,\n dy: number,\n): ImageCropRect => {\n const movesEast = handle.includes(\"e\");\n const movesSouth = handle.includes(\"s\");\n const anchorX = movesEast ? rect.x : rect.x + rect.width;\n const anchorY = movesSouth ? rect.y : rect.y + rect.height;\n const requestedWidth = rect.width + (movesEast ? dx : -dx);\n const requestedHeight = rect.height + (movesSouth ? dy : -dy);\n\n if (aspect === \"free\") {\n const width = clamp(requestedWidth, MIN_CROP_SIZE, movesEast ? 1 - anchorX : anchorX);\n const height = clamp(requestedHeight, MIN_CROP_SIZE, movesSouth ? 1 - anchorY : anchorY);\n return {\n x: movesEast ? anchorX : anchorX - width,\n y: movesSouth ? anchorY : anchorY - height,\n width,\n height,\n };\n }\n\n const source = imageSize.width > 0 && imageSize.height > 0 ? imageSize.width / imageSize.height : 1;\n const target = aspectRatio(aspect);\n const widthFromHeight = (requestedHeight * target) / source;\n const requested = Math.abs(requestedWidth - rect.width) >= Math.abs(widthFromHeight - rect.width) ? requestedWidth : widthFromHeight;\n const horizontalLimit = movesEast ? 1 - anchorX : anchorX;\n const verticalLimit = movesSouth ? 1 - anchorY : anchorY;\n const maxWidth = Math.max(0, Math.min(horizontalLimit, (verticalLimit * target) / source));\n const minimumWidth = Math.min(maxWidth, Math.max(MIN_CROP_SIZE, (MIN_CROP_SIZE * target) / source));\n const width = clamp(requested, minimumWidth, maxWidth);\n const height = (width * source) / target;\n\n return {\n x: movesEast ? anchorX : anchorX - width,\n y: movesSouth ? anchorY : anchorY - height,\n width,\n height,\n };\n};\n\nexport const imageCropRectToPixels = (rect: ImageCropRect, imageSize: ImageCropSize) => {\n const x = clamp(rect.x, 0, 1 - MIN_CROP_SIZE);\n const y = clamp(rect.y, 0, 1 - MIN_CROP_SIZE);\n return {\n x: Math.round(x * imageSize.width),\n y: Math.round(y * imageSize.height),\n width: Math.max(1, Math.round(clamp(rect.width, MIN_CROP_SIZE, 1 - x) * imageSize.width)),\n height: Math.max(1, Math.round(clamp(rect.height, MIN_CROP_SIZE, 1 - y) * imageSize.height)),\n };\n};\n\nconst cropped = async (source: ImageCropSource, state: ImageCropState, output: ImageCropOutput) => {\n const { img } = await import(\"@k2b/stdlib/browser\");\n let data = await img.create(source);\n if (state.rotation) data = await img.rotate(state.rotation)(data);\n const crop = imageCropRectToPixels(state.crop, { width: data.width, height: data.height });\n data = await img.crop(crop.x, crop.y, crop.width, crop.height)(data);\n if (output.width || output.height) {\n data = await img.resize(output.width, output.height, \"fill\")(data);\n } else if (output.maxWidth || output.maxHeight) {\n const ratio = Math.min(1, (output.maxWidth ?? data.width) / data.width, (output.maxHeight ?? data.height) / data.height);\n if (ratio < 1) data = await img.resize(Math.round(data.width * ratio), Math.round(data.height * ratio), \"fill\")(data);\n }\n return { img, data };\n};\n\nexport const createCroppedImageCanvas = async (\n source: ImageCropSource,\n state: ImageCropState,\n output: ImageCropOutput = {},\n): Promise<HTMLCanvasElement> => {\n const result = await cropped(source, state, output);\n return result.img.toCanvas(result.data);\n};\n\nexport const createCroppedImageDataUrl = async (\n source: ImageCropSource,\n state: ImageCropState,\n output: ImageCropOutput = {},\n): Promise<string> => {\n const result = await cropped(source, state, output);\n return result.img.toBase64(output.format ?? \"webp\", output.quality ?? 0.86)(result.data);\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":[],"sources":["inputs/image-crop.ts"],"sourcesContent":["export type ImageCropAspect = \"free\" | { width: number; height: number };\nexport type ImageCropRotation = 0 | 90 | 180 | 270;\nexport type ImageCropRect = { x: number; y: number; width: number; height: number };\nexport type ImageCropState = { crop: ImageCropRect; rotation: ImageCropRotation };\nexport type ImageCropSource = File | Blob | HTMLImageElement | HTMLCanvasElement | string;\nexport type ImageCropOutput = {\n width?: number;\n height?: number;\n maxWidth?: number;\n maxHeight?: number;\n format?: \"webp\" | \"jpeg\" | \"png\";\n quality?: number;\n};\nexport type ImageCropSize = { width: number; height: number };\nexport type ImageCropResizeHandle = \"nw\" | \"ne\" | \"sw\" | \"se\";\n\nconst MIN_CROP_SIZE = 0.08;\nconst clamp = (value: number, min: number, max: number) => Math.max(min, Math.min(max, value));\nconst aspectRatio = (aspect: Exclude<ImageCropAspect, \"free\">) =>\n aspect.width > 0 && aspect.height > 0 ? aspect.width / aspect.height : 1;\n\nexport const normalizeImageCropRotation = (rotation: number): ImageCropRotation =>\n ((((Math.round(rotation / 90) * 90) % 360) + 360) % 360) as ImageCropRotation;\n\nexport const rotateImageCropRight = (rotation: ImageCropRotation): ImageCropRotation => normalizeImageCropRotation(rotation + 90);\n\nexport const getInitialImageCropRect = (imageSize: ImageCropSize, aspect: ImageCropAspect = \"free\"): ImageCropRect => {\n if (aspect === \"free\") return { x: 0.1, y: 0.1, width: 0.8, height: 0.8 };\n const target = aspectRatio(aspect);\n const source = imageSize.width > 0 && imageSize.height > 0 ? imageSize.width / imageSize.height : 1;\n let width = 0.86;\n let height = (width * source) / target;\n if (height > 0.86) {\n height = 0.86;\n width = (height * target) / source;\n }\n width = clamp(width, MIN_CROP_SIZE, 1);\n height = clamp(height, MIN_CROP_SIZE, 1);\n return { x: (1 - width) / 2, y: (1 - height) / 2, width, height };\n};\n\nexport const clampImageCropRect = (rect: ImageCropRect, imageSize: ImageCropSize, aspect: ImageCropAspect = \"free\"): ImageCropRect => {\n if (aspect === \"free\") {\n const width = clamp(rect.width, MIN_CROP_SIZE, 1);\n const height = clamp(rect.height, MIN_CROP_SIZE, 1);\n return { x: clamp(rect.x, 0, 1 - width), y: clamp(rect.y, 0, 1 - height), width, height };\n }\n const target = aspectRatio(aspect);\n const source = imageSize.width > 0 && imageSize.height > 0 ? imageSize.width / imageSize.height : 1;\n let width = clamp(rect.width, MIN_CROP_SIZE, 1);\n let height = (width * source) / target;\n if (height > 1) {\n height = 1;\n width = (height * target) / source;\n }\n return { x: clamp(rect.x, 0, 1 - width), y: clamp(rect.y, 0, 1 - height), width, height };\n};\n\nexport const resizeImageCropAroundCenter = (\n rect: ImageCropRect,\n imageSize: ImageCropSize,\n aspect: ImageCropAspect,\n scale: number,\n): ImageCropRect => {\n const safeScale = clamp(scale, 0.2, 5);\n const centerX = rect.x + rect.width / 2;\n const centerY = rect.y + rect.height / 2;\n const width = clamp(rect.width / safeScale, MIN_CROP_SIZE, 1);\n const height =\n aspect === \"free\"\n ? clamp(rect.height / safeScale, MIN_CROP_SIZE, 1)\n : (width * (imageSize.width / Math.max(1, imageSize.height))) / aspectRatio(aspect);\n return clampImageCropRect({ x: centerX - width / 2, y: centerY - height / 2, width, height }, imageSize, aspect);\n};\n\n/** Resizes a crop from one corner while keeping the opposite corner anchored. */\nexport const resizeImageCropFromCorner = (\n rect: ImageCropRect,\n imageSize: ImageCropSize,\n aspect: ImageCropAspect,\n handle: ImageCropResizeHandle,\n dx: number,\n dy: number,\n): ImageCropRect => {\n const movesEast = handle.includes(\"e\");\n const movesSouth = handle.includes(\"s\");\n const anchorX = movesEast ? rect.x : rect.x + rect.width;\n const anchorY = movesSouth ? rect.y : rect.y + rect.height;\n const requestedWidth = rect.width + (movesEast ? dx : -dx);\n const requestedHeight = rect.height + (movesSouth ? dy : -dy);\n\n if (aspect === \"free\") {\n const width = clamp(requestedWidth, MIN_CROP_SIZE, movesEast ? 1 - anchorX : anchorX);\n const height = clamp(requestedHeight, MIN_CROP_SIZE, movesSouth ? 1 - anchorY : anchorY);\n return {\n x: movesEast ? anchorX : anchorX - width,\n y: movesSouth ? anchorY : anchorY - height,\n width,\n height,\n };\n }\n\n const source = imageSize.width > 0 && imageSize.height > 0 ? imageSize.width / imageSize.height : 1;\n const target = aspectRatio(aspect);\n const widthFromHeight = (requestedHeight * target) / source;\n const requested = Math.abs(requestedWidth - rect.width) >= Math.abs(widthFromHeight - rect.width) ? requestedWidth : widthFromHeight;\n const horizontalLimit = movesEast ? 1 - anchorX : anchorX;\n const verticalLimit = movesSouth ? 1 - anchorY : anchorY;\n const maxWidth = Math.max(0, Math.min(horizontalLimit, (verticalLimit * target) / source));\n const minimumWidth = Math.min(maxWidth, Math.max(MIN_CROP_SIZE, (MIN_CROP_SIZE * target) / source));\n const width = clamp(requested, minimumWidth, maxWidth);\n const height = (width * source) / target;\n\n return {\n x: movesEast ? anchorX : anchorX - width,\n y: movesSouth ? anchorY : anchorY - height,\n width,\n height,\n };\n};\n\nexport const imageCropRectToPixels = (rect: ImageCropRect, imageSize: ImageCropSize) => {\n const x = clamp(rect.x, 0, 1 - MIN_CROP_SIZE);\n const y = clamp(rect.y, 0, 1 - MIN_CROP_SIZE);\n return {\n x: Math.round(x * imageSize.width),\n y: Math.round(y * imageSize.height),\n width: Math.max(1, Math.round(clamp(rect.width, MIN_CROP_SIZE, 1 - x) * imageSize.width)),\n height: Math.max(1, Math.round(clamp(rect.height, MIN_CROP_SIZE, 1 - y) * imageSize.height)),\n };\n};\n\nconst cropped = async (source: ImageCropSource, state: ImageCropState, output: ImageCropOutput) => {\n const { img } = await import(\"@k2b/stdlib/browser\");\n let data = await img.create(source);\n if (state.rotation) data = await img.rotate(state.rotation)(data);\n const crop = imageCropRectToPixels(state.crop, { width: data.width, height: data.height });\n data = await img.crop(crop.x, crop.y, crop.width, crop.height)(data);\n if (output.width || output.height) {\n data = await img.resize(output.width, output.height, \"fill\")(data);\n } else if (output.maxWidth || output.maxHeight) {\n const ratio = Math.min(1, (output.maxWidth ?? data.width) / data.width, (output.maxHeight ?? data.height) / data.height);\n if (ratio < 1) data = await img.resize(Math.round(data.width * ratio), Math.round(data.height * ratio), \"fill\")(data);\n }\n return { img, data };\n};\n\nexport const createCroppedImageCanvas = async (\n source: ImageCropSource,\n state: ImageCropState,\n output: ImageCropOutput = {},\n): Promise<HTMLCanvasElement> => {\n const result = await cropped(source, state, output);\n return result.img.toCanvas(result.data);\n};\n\nexport const createCroppedImageDataUrl = async (\n source: ImageCropSource,\n state: ImageCropState,\n output: ImageCropOutput = {},\n): Promise<string> => {\n const result = await cropped(source, state, output);\n return result.img.toBase64(output.format ?? \"webp\", output.quality ?? 0.86)(result.data);\n};\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["AutocompleteEditor","AutocompleteSelect","Checkbox","CheckboxCard","ColorInput","PinInput","Slider","Combobox","abbreviations","DatePicker","DateRangePicker","DateTimePicker","FileDropzone","ImageCropper","ImageInput","DEFAULT_ICON_GROUPS","DEFAULT_ICON_OPTIONS","clampImageCropRect","createCroppedImageCanvas","createCroppedImageDataUrl","getInitialImageCropRect","imageCropRectToPixels","normalizeImageCropRotation","resizeImageCropAroundCenter","rotateImageCropRight","MultiSelectInput","MarkdownEditor","NumberInput","Select","SelectChip","IconInput","Switch","TagEditor","TagsInput","createTemplateEditorPanesLayout","TemplateEditor","TemplatePreview","TemplateSampleData","TextInput"],"sources":["inputs/index.ts"],"sourcesContent":["export type { AutocompleteEditorProps } from \"./AutocompleteEditor\";\nexport { AutocompleteEditor } from \"./AutocompleteEditor\";\nexport type {\n AutocompleteSelectOption,\n AutocompleteSelectProps,\n AutocompleteSelectSearchResult,\n} from \"./AutocompleteSelect\";\nexport { AutocompleteSelect } from \"./AutocompleteSelect\";\nexport type { CheckboxProps } from \"./Checkbox\";\nexport { Checkbox } from \"./Checkbox\";\nexport type { CheckboxCardProps } from \"./CheckboxCard\";\nexport { CheckboxCard } from \"./CheckboxCard\";\nexport type {\n ColorInputProps,\n PinInputProps,\n SliderProps,\n} from \"./ChoiceInputs\";\nexport { ColorInput, PinInput, Slider } from \"./ChoiceInputs\";\nexport type { ComboboxOption, ComboboxProps } from \"./Combobox\";\nexport { Combobox } from \"./Combobox\";\nexport type { ChoiceOption, ChoiceOptionsLoader } from \"./choice\";\nexport type {\n Completion,\n QueryContext,\n SuggestContext,\n Suggestion,\n} from \"./completion\";\nexport { abbreviations } from \"./completion\";\nexport type {\n DatePickerBaseProps,\n DatePickerProps,\n DatePreset,\n DateRangePickerProps,\n DateRangeValue,\n DateTimePickerProps,\n DurationPreset,\n} from \"./DatePicker\";\nexport { DatePicker, DateRangePicker, DateTimePicker } from \"./DatePicker\";\nexport type { FileDropzoneProps, ImageCropperProps, ImageInputProps } from \"./FileInputs\";\nexport { FileDropzone, ImageCropper, ImageInput } from \"./FileInputs\";\nexport type { DateContext, FieldProps, MaybeAccessor, ValueFieldProps } from \"./field-contract\";\nexport { DEFAULT_ICON_GROUPS, DEFAULT_ICON_OPTIONS } from \"./icon-options\";\nexport type {\n ImageCropAspect,\n ImageCropOutput,\n ImageCropRect,\n ImageCropRotation,\n ImageCropSize,\n ImageCropSource,\n ImageCropState,\n} from \"./image-crop\";\nexport {\n clampImageCropRect,\n createCroppedImageCanvas,\n createCroppedImageDataUrl,\n getInitialImageCropRect,\n imageCropRectToPixels,\n normalizeImageCropRotation,\n resizeImageCropAroundCenter,\n rotateImageCropRight,\n} from \"./image-crop\";\nexport type {\n MultiSelectFetchDataFn,\n MultiSelectInputProps,\n MultiSelectOption,\n} from \"./MultiSelectInput\";\nexport { MultiSelectInput } from \"./MultiSelectInput\";\nexport type { MarkdownEditorProps } from \"./markdown/MarkdownEditor\";\nexport { MarkdownEditor } from \"./markdown/MarkdownEditor\";\nexport type { NumberInputProps } from \"./NumberInput\";\nexport { NumberInput } from \"./NumberInput\";\nexport type { SelectGridSize, SelectGroup, SelectOption, SelectProps, SelectSourceOption, SelectView } from \"./Select\";\nexport { Select } from \"./Select\";\nexport type { SelectChipOption, SelectChipProps } from \"./SelectChip\";\nexport { SelectChip } from \"./SelectChip\";\nexport type { IconInputProps, IconOption } from \"./SpecialInputs\";\nexport { IconInput } from \"./SpecialInputs\";\nexport type { SwitchProps } from \"./Switch\";\nexport { Switch } from \"./Switch\";\nexport type { TagEditorItem, TagEditorLabels, TagEditorProps, TagEditorValue } from \"./TagEditor\";\nexport { TagEditor } from \"./TagEditor\";\nexport type { TagsInputProps } from \"./TagsInput\";\nexport { TagsInput } from \"./TagsInput\";\nexport type {\n TemplateEditorLayout,\n TemplateEditorProps,\n TemplatePreviewProps,\n TemplateSampleDataProps,\n TemplateVariable,\n TemplateVariableKind,\n} from \"./TemplateEditor\";\nexport {\n createTemplateEditorPanesLayout,\n TemplateEditor,\n TemplatePreview,\n TemplateSampleData,\n} from \"./TemplateEditor\";\nexport type { TextInputProps } from \"./TextInput\";\nexport { TextInput } from \"./TextInput\";\n"],"mappings":"AACA,SAASA,kBAAkB,QAAQ,sBAAsB;AAMzD,SAASC,kBAAkB,QAAQ,sBAAsB;AAEzD,SAASC,QAAQ,QAAQ,YAAY;AAErC,SAASC,YAAY,QAAQ,gBAAgB;AAM7C,SAASC,UAAU,EAAEC,QAAQ,EAAEC,MAAM,QAAQ,gBAAgB;AAE7D,SAASC,QAAQ,QAAQ,YAAY;AAQrC,SAASC,aAAa,QAAQ,cAAc;AAU5C,SAASC,UAAU,EAAEC,eAAe,EAAEC,cAAc,QAAQ,cAAc;AAE1E,SAASC,YAAY,EAAEC,YAAY,EAAEC,UAAU,QAAQ,cAAc;AAErE,SAASC,mBAAmB,EAAEC,oBAAoB,QAAQ,gBAAgB;AAU1E,SACEC,kBAAkB,EAClBC,wBAAwB,EACxBC,yBAAyB,EACzBC,uBAAuB,EACvBC,qBAAqB,EACrBC,0BAA0B,EAC1BC,2BAA2B,EAC3BC,oBAAoB,QACf,cAAc;AAMrB,SAASC,gBAAgB,QAAQ,oBAAoB;AAErD,SAASC,cAAc,QAAQ,2BAA2B;AAE1D,SAASC,WAAW,QAAQ,eAAe;AAE3C,SAASC,MAAM,QAAQ,UAAU;AAEjC,SAASC,UAAU,QAAQ,cAAc;AAEzC,SAASC,SAAS,QAAQ,iBAAiB;AAE3C,SAASC,MAAM,QAAQ,UAAU;AAEjC,SAASC,SAAS,QAAQ,aAAa;AAEvC,SAASC,SAAS,QAAQ,aAAa;AASvC,SACEC,+BAA+B,EAC/BC,cAAc,EACdC,eAAe,EACfC,kBAAkB,QACb,kBAAkB;AAEzB,SAASC,SAAS,QAAQ,aAAa","ignoreList":[]}
1
+ {"version":3,"names":[],"sources":["inputs/index.ts"],"sourcesContent":["export type { AutocompleteEditorProps } from \"./AutocompleteEditor\";\nexport { AutocompleteEditor } from \"./AutocompleteEditor\";\nexport type {\n AutocompleteSelectOption,\n AutocompleteSelectProps,\n AutocompleteSelectSearchResult,\n} from \"./AutocompleteSelect\";\nexport { AutocompleteSelect } from \"./AutocompleteSelect\";\nexport type { CheckboxProps } from \"./Checkbox\";\nexport { Checkbox } from \"./Checkbox\";\nexport type { CheckboxCardProps } from \"./CheckboxCard\";\nexport { CheckboxCard } from \"./CheckboxCard\";\nexport type {\n ColorInputProps,\n PinInputProps,\n SliderProps,\n} from \"./ChoiceInputs\";\nexport { ColorInput, PinInput, Slider } from \"./ChoiceInputs\";\nexport type { ComboboxOption, ComboboxProps } from \"./Combobox\";\nexport { Combobox } from \"./Combobox\";\nexport type { ChoiceOption, ChoiceOptionsLoader } from \"./choice\";\nexport type {\n Completion,\n QueryContext,\n SuggestContext,\n Suggestion,\n} from \"./completion\";\nexport { abbreviations } from \"./completion\";\nexport type {\n DatePickerBaseProps,\n DatePickerProps,\n DatePreset,\n DateRangePickerProps,\n DateRangeValue,\n DateTimePickerProps,\n DurationPreset,\n} from \"./DatePicker\";\nexport { DatePicker, DateRangePicker, DateTimePicker } from \"./DatePicker\";\nexport type { FileDropzoneProps, ImageCropperProps, ImageInputProps } from \"./FileInputs\";\nexport { FileDropzone, ImageCropper, ImageInput } from \"./FileInputs\";\nexport type { DateContext, FieldProps, MaybeAccessor, ValueFieldProps } from \"./field-contract\";\nexport { DEFAULT_ICON_GROUPS, DEFAULT_ICON_OPTIONS } from \"./icon-options\";\nexport type {\n ImageCropAspect,\n ImageCropOutput,\n ImageCropRect,\n ImageCropRotation,\n ImageCropSize,\n ImageCropSource,\n ImageCropState,\n} from \"./image-crop\";\nexport {\n clampImageCropRect,\n createCroppedImageCanvas,\n createCroppedImageDataUrl,\n getInitialImageCropRect,\n imageCropRectToPixels,\n normalizeImageCropRotation,\n resizeImageCropAroundCenter,\n rotateImageCropRight,\n} from \"./image-crop\";\nexport type {\n MultiSelectFetchDataFn,\n MultiSelectInputProps,\n MultiSelectOption,\n} from \"./MultiSelectInput\";\nexport { MultiSelectInput } from \"./MultiSelectInput\";\nexport type { MarkdownEditorProps } from \"./markdown/MarkdownEditor\";\nexport { MarkdownEditor } from \"./markdown/MarkdownEditor\";\nexport type { NumberInputProps } from \"./NumberInput\";\nexport { NumberInput } from \"./NumberInput\";\nexport type { SelectGridSize, SelectGroup, SelectOption, SelectProps, SelectSourceOption, SelectView } from \"./Select\";\nexport { Select } from \"./Select\";\nexport type { SelectChipOption, SelectChipProps } from \"./SelectChip\";\nexport { SelectChip } from \"./SelectChip\";\nexport type { IconInputProps, IconOption } from \"./SpecialInputs\";\nexport { IconInput } from \"./SpecialInputs\";\nexport type { SwitchProps } from \"./Switch\";\nexport { Switch } from \"./Switch\";\nexport type { TagEditorItem, TagEditorLabels, TagEditorProps, TagEditorValue } from \"./TagEditor\";\nexport { TagEditor } from \"./TagEditor\";\nexport type { TagsInputProps } from \"./TagsInput\";\nexport { TagsInput } from \"./TagsInput\";\nexport type {\n TemplateEditorLayout,\n TemplateEditorProps,\n TemplatePreviewProps,\n TemplateSampleDataProps,\n TemplateVariable,\n TemplateVariableKind,\n} from \"./TemplateEditor\";\nexport {\n createTemplateEditorPanesLayout,\n TemplateEditor,\n TemplatePreview,\n TemplateSampleData,\n} from \"./TemplateEditor\";\nexport type { TextInputProps } from \"./TextInput\";\nexport { TextInput } from \"./TextInput\";\n"],"mappings":"AACA,SAAS,kBAAkB,QAAQ,sBAAsB;AAMzD,SAAS,kBAAkB,QAAQ,sBAAsB;AAEzD,SAAS,QAAQ,QAAQ,YAAY;AAErC,SAAS,YAAY,QAAQ,gBAAgB;AAM7C,SAAS,UAAU,EAAE,QAAQ,EAAE,MAAM,QAAQ,gBAAgB;AAE7D,SAAS,QAAQ,QAAQ,YAAY;AAQrC,SAAS,aAAa,QAAQ,cAAc;AAU5C,SAAS,UAAU,EAAE,eAAe,EAAE,cAAc,QAAQ,cAAc;AAE1E,SAAS,YAAY,EAAE,YAAY,EAAE,UAAU,QAAQ,cAAc;AAErE,SAAS,mBAAmB,EAAE,oBAAoB,QAAQ,gBAAgB;AAU1E,SACE,kBAAkB,EAClB,wBAAwB,EACxB,yBAAyB,EACzB,uBAAuB,EACvB,qBAAqB,EACrB,0BAA0B,EAC1B,2BAA2B,EAC3B,oBAAoB,QACf,cAAc;AAMrB,SAAS,gBAAgB,QAAQ,oBAAoB;AAErD,SAAS,cAAc,QAAQ,2BAA2B;AAE1D,SAAS,WAAW,QAAQ,eAAe;AAE3C,SAAS,MAAM,QAAQ,UAAU;AAEjC,SAAS,UAAU,QAAQ,cAAc;AAEzC,SAAS,SAAS,QAAQ,iBAAiB;AAE3C,SAAS,MAAM,QAAQ,UAAU;AAEjC,SAAS,SAAS,QAAQ,aAAa;AAEvC,SAAS,SAAS,QAAQ,aAAa;AASvC,SACE,+BAA+B,EAC/B,cAAc,EACd,eAAe,EACf,kBAAkB,QACb,kBAAkB;AAEzB,SAAS,SAAS,QAAQ,aAAa","ignoreList":[]}