frappe-ui 1.0.0-beta.7 → 1.0.0-beta.71

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 (1206) hide show
  1. package/experimental/Accordion/Accordion.api.md +95 -0
  2. package/experimental/Accordion/Accordion.md +46 -0
  3. package/experimental/Accordion/Accordion.vue +166 -0
  4. package/experimental/Accordion/index.ts +2 -0
  5. package/experimental/Accordion/types.ts +63 -0
  6. package/experimental/Calendar/Calendar.api.md +90 -0
  7. package/experimental/Calendar/Calendar.md +160 -0
  8. package/experimental/Calendar/Calendar.vue +781 -0
  9. package/experimental/Calendar/CalendarDaily.vue +187 -0
  10. package/experimental/Calendar/CalendarMonthEvent.vue +150 -0
  11. package/experimental/Calendar/CalendarMonthStack.vue +182 -0
  12. package/experimental/Calendar/CalendarMonthly.vue +304 -0
  13. package/experimental/Calendar/CalendarTimeMarker.vue +52 -0
  14. package/experimental/Calendar/CalendarWeekDayEvent.vue +496 -0
  15. package/experimental/Calendar/CalendarWeekly.vue +264 -0
  16. package/experimental/Calendar/EventModalContent.vue +73 -0
  17. package/experimental/Calendar/NewEventModal.vue +211 -0
  18. package/experimental/Calendar/calendarUtils.ts +462 -0
  19. package/experimental/Calendar/composables/useCalendarData.ts +37 -0
  20. package/experimental/Calendar/composables/useEventModal.ts +59 -0
  21. package/experimental/Calendar/composables/useNow.ts +58 -0
  22. package/experimental/Calendar/composables/useStripScroll.ts +129 -0
  23. package/experimental/Calendar/eventSpan.ts +259 -0
  24. package/experimental/Calendar/index.ts +13 -0
  25. package/experimental/Calendar/monthStrip.ts +89 -0
  26. package/experimental/Calendar/style.css +51 -0
  27. package/experimental/Calendar/types.ts +199 -0
  28. package/experimental/Calendar/useEventBase.ts +185 -0
  29. package/experimental/Charts/ECharts.vue +66 -0
  30. package/experimental/Charts/NumberChart.vue +58 -0
  31. package/experimental/Charts/eChartOptions.ts +387 -0
  32. package/experimental/Charts/helpers.ts +106 -0
  33. package/experimental/Charts/index.ts +6 -0
  34. package/experimental/CodeEditor/CodeEditor.api.md +140 -0
  35. package/experimental/CodeEditor/CodeEditor.md +106 -0
  36. package/experimental/CodeEditor/CodeEditor.vue +548 -0
  37. package/experimental/CodeEditor/CodePreview.vue +45 -0
  38. package/experimental/CodeEditor/index.ts +18 -0
  39. package/experimental/CodeEditor/languages.ts +63 -0
  40. package/experimental/CodeEditor/theme.ts +272 -0
  41. package/experimental/CodeEditor/types.ts +69 -0
  42. package/experimental/CommandPalette/CommandPalette.api.md +229 -0
  43. package/experimental/CommandPalette/CommandPalette.md +128 -0
  44. package/experimental/CommandPalette/CommandPalette.vue +201 -0
  45. package/experimental/CommandPalette/CommandPaletteEmpty.vue +54 -0
  46. package/experimental/CommandPalette/CommandPaletteFooter.vue +33 -0
  47. package/experimental/CommandPalette/CommandPaletteGroup.vue +62 -0
  48. package/experimental/CommandPalette/CommandPaletteInput.vue +57 -0
  49. package/experimental/CommandPalette/CommandPaletteItem.vue +182 -0
  50. package/experimental/CommandPalette/CommandPaletteList.vue +38 -0
  51. package/experimental/CommandPalette/context.ts +83 -0
  52. package/experimental/CommandPalette/index.ts +21 -0
  53. package/experimental/CommandPalette/types.ts +107 -0
  54. package/experimental/FloatingWindow/FloatingWindow.vue +293 -0
  55. package/experimental/FloatingWindow/index.ts +8 -0
  56. package/experimental/FloatingWindow/types.ts +31 -0
  57. package/experimental/FloatingWindow/useFloatingWindow.ts +260 -0
  58. package/experimental/ListView/ListEmptyState.vue +24 -0
  59. package/experimental/ListView/ListFooter.vue +63 -0
  60. package/experimental/ListView/ListGroupHeader.vue +46 -0
  61. package/experimental/ListView/ListHeader.vue +37 -0
  62. package/experimental/ListView/ListRow.vue +237 -0
  63. package/experimental/ListView/ListRowItem.vue +73 -0
  64. package/experimental/ListView/ListSelectBanner.vue +85 -0
  65. package/experimental/ListView/ListView.api.md +382 -0
  66. package/experimental/ListView/ListView.md +42 -0
  67. package/experimental/ListView/ListView.vue +178 -0
  68. package/experimental/ListView/index.ts +25 -0
  69. package/experimental/MultiEmailInput/MultiEmailInput.vue +479 -0
  70. package/experimental/MultiEmailInput/index.ts +17 -0
  71. package/experimental/MultiEmailInput/types.ts +138 -0
  72. package/experimental/MultiEmailInput/utils.ts +60 -0
  73. package/experimental/SpriteIcons/IconPicker.vue +224 -0
  74. package/experimental/SpriteIcons/index.ts +10 -0
  75. package/experimental/TextEditor/TextEditor.api.md +161 -0
  76. package/experimental/TextEditor/TextEditor.vue +291 -0
  77. package/experimental/TextEditor/classIcon.ts +21 -0
  78. package/experimental/TextEditor/commands.js +344 -0
  79. package/experimental/TextEditor/components/CodeBlockComponent.vue +103 -0
  80. package/experimental/TextEditor/components/FontColor.vue +153 -0
  81. package/experimental/TextEditor/components/ImageViewerModal.vue +463 -0
  82. package/experimental/TextEditor/components/LinkPopup.vue +99 -0
  83. package/experimental/TextEditor/components/MediaNodeView.vue +398 -0
  84. package/experimental/TextEditor/components/MentionList.vue +95 -0
  85. package/experimental/TextEditor/components/TextEditorBubbleMenu.vue +78 -0
  86. package/experimental/TextEditor/components/TextEditorFixedMenu.vue +78 -0
  87. package/experimental/TextEditor/components/TextEditorFloatingMenu.vue +61 -0
  88. package/experimental/TextEditor/components/TextEditorMenu.vue +218 -0
  89. package/experimental/TextEditor/extensions/code-block.ts +119 -0
  90. package/experimental/TextEditor/extensions/content-paste-extension.ts +160 -0
  91. package/experimental/TextEditor/extensions/copy-styles.ts +160 -0
  92. package/experimental/TextEditor/extensions/iframe/IframeNodeView.vue +308 -0
  93. package/experimental/TextEditor/extensions/iframe/InsertIframe.vue +209 -0
  94. package/experimental/TextEditor/extensions/image/image-extension.ts +661 -0
  95. package/experimental/TextEditor/extensions/image-group/ImageGroupNodeView.vue +182 -0
  96. package/experimental/TextEditor/extensions/image-group/ImageGroupUploadDialog.vue +740 -0
  97. package/experimental/TextEditor/extensions/image-group/image-group-extension.ts +187 -0
  98. package/experimental/TextEditor/extensions/image-viewer-extension.ts +162 -0
  99. package/experimental/TextEditor/extensions/link/link-extension.ts +323 -0
  100. package/experimental/TextEditor/extensions/link/linkPasteHandler.ts +51 -0
  101. package/experimental/TextEditor/extensions/mention/mention-extension.ts +204 -0
  102. package/experimental/TextEditor/extensions/slash-commands/slash-commands-extension.ts +184 -0
  103. package/experimental/TextEditor/extensions/suggestion/SuggestionList.vue +130 -0
  104. package/experimental/TextEditor/extensions/tag/tag-extension.ts +170 -0
  105. package/experimental/TextEditor/extensions/toc-node/TocNodeView.vue +439 -0
  106. package/experimental/TextEditor/extensions/toc-node/toc-node-extension.ts +167 -0
  107. package/experimental/TextEditor/extensions/video-extension.ts +653 -0
  108. package/experimental/TextEditor/hljs-github.css +197 -0
  109. package/experimental/TextEditor/index.ts +21 -0
  110. package/experimental/TextEditor/style.css +190 -0
  111. package/experimental/TextEditor/types.ts +72 -0
  112. package/experimental/ThemeSwitcher/ThemePreview.vue +74 -0
  113. package/experimental/ThemeSwitcher/ThemeSwitcher.api.md +82 -0
  114. package/experimental/ThemeSwitcher/ThemeSwitcher.md +91 -0
  115. package/experimental/ThemeSwitcher/ThemeSwitcher.vue +149 -0
  116. package/experimental/ThemeSwitcher/index.ts +2 -0
  117. package/experimental/ThemeSwitcher/previews/PreviewWindow.vue +74 -0
  118. package/experimental/ThemeSwitcher/types.ts +35 -0
  119. package/experimental.ts +95 -0
  120. package/icons/AlertCircleLineIcon.vue +8 -0
  121. package/icons/AlertCircleSolidIcon.vue +8 -0
  122. package/icons/AlertTriangleLineIcon.vue +8 -0
  123. package/icons/AlertTriangleSolidIcon.vue +10 -0
  124. package/icons/CloseCircleLineIcon.vue +8 -0
  125. package/icons/CloseCircleSolidIcon.vue +8 -0
  126. package/icons/SuccessLineIcon.vue +8 -0
  127. package/icons/SuccessSolidIcon.vue +8 -0
  128. package/icons/index.ts +0 -5
  129. package/package.json +137 -44
  130. package/readme.md +32 -27
  131. package/scripts/migrate-base-props-v1.js +379 -0
  132. package/scripts/migrate-data-v1.js +424 -0
  133. package/scripts/migrate-destinations-v1.js +229 -0
  134. package/scripts/migrate-editor-v1.js +477 -0
  135. package/scripts/migrate-list-v1.js +436 -0
  136. package/scripts/migrate-navigation-v1.js +300 -0
  137. package/scripts/migrate-overlays-v1.js +519 -0
  138. package/scripts/migrate-packaging-v1.js +497 -0
  139. package/scripts/migrate-shortcuts-v1.js +2096 -0
  140. package/src/charts/AreaChart.vue +136 -0
  141. package/src/charts/BarChart.vue +140 -0
  142. package/src/charts/DonutChart.vue +432 -0
  143. package/src/charts/FunnelChart.vue +330 -0
  144. package/src/charts/HeatmapChart.vue +410 -0
  145. package/src/charts/LineChart.vue +136 -0
  146. package/src/charts/NumberCard.vue +364 -0
  147. package/src/charts/SankeyChart.vue +322 -0
  148. package/src/charts/ScatterChart.vue +437 -0
  149. package/src/charts/axisChartCommon.ts +881 -0
  150. package/src/charts/axisChartOptions.ts +606 -0
  151. package/src/charts/axisFormat.ts +50 -0
  152. package/src/charts/colorMath.ts +208 -0
  153. package/src/charts/components/ChartCard.vue +27 -0
  154. package/src/charts/components/ChartContainer.vue +151 -0
  155. package/src/charts/components/ChartLegend.vue +58 -0
  156. package/src/charts/components/ChartTooltip.vue +131 -0
  157. package/src/charts/core/useAxisChart.ts +473 -0
  158. package/src/charts/core/useChart.ts +206 -0
  159. package/src/charts/core/usePlotKeyboard.ts +228 -0
  160. package/src/charts/core/useTooltipDismiss.ts +48 -0
  161. package/src/charts/docs/AreaChart.api.md +191 -0
  162. package/src/charts/docs/AreaChart.md +46 -0
  163. package/src/charts/docs/BarChart.api.md +197 -0
  164. package/src/charts/docs/BarChart.md +145 -0
  165. package/src/charts/docs/ChartCard.api.md +36 -0
  166. package/src/charts/docs/ChartCard.md +36 -0
  167. package/src/charts/docs/ChartContainer.api.md +102 -0
  168. package/src/charts/docs/ChartContainer.md +71 -0
  169. package/src/charts/docs/ChartLegend.api.md +34 -0
  170. package/src/charts/docs/ChartLegend.md +52 -0
  171. package/src/charts/docs/ChartTooltip.api.md +65 -0
  172. package/src/charts/docs/ChartTooltip.md +79 -0
  173. package/src/charts/docs/Dashboard.md +12 -0
  174. package/src/charts/docs/DonutChart.api.md +160 -0
  175. package/src/charts/docs/DonutChart.md +45 -0
  176. package/src/charts/docs/FunnelChart.api.md +113 -0
  177. package/src/charts/docs/FunnelChart.md +23 -0
  178. package/src/charts/docs/HeatmapChart.api.md +155 -0
  179. package/src/charts/docs/HeatmapChart.md +31 -0
  180. package/src/charts/docs/LineChart.api.md +191 -0
  181. package/src/charts/docs/LineChart.md +118 -0
  182. package/src/charts/docs/NumberCard.api.md +152 -0
  183. package/src/charts/docs/NumberCard.md +29 -0
  184. package/src/charts/docs/Overview.md +266 -0
  185. package/src/charts/docs/SankeyChart.api.md +137 -0
  186. package/src/charts/docs/SankeyChart.md +32 -0
  187. package/src/charts/docs/ScatterChart.api.md +173 -0
  188. package/src/charts/docs/ScatterChart.md +82 -0
  189. package/src/charts/docs/States.md +38 -0
  190. package/src/charts/donutChartOptions.ts +230 -0
  191. package/src/charts/format.ts +292 -0
  192. package/src/charts/funnelGeometry.ts +195 -0
  193. package/src/charts/heatmapOptions.ts +432 -0
  194. package/src/charts/hiddenSeries.ts +26 -0
  195. package/src/charts/index.ts +118 -0
  196. package/src/charts/measureText.ts +122 -0
  197. package/src/charts/numberCardFormat.ts +64 -0
  198. package/src/charts/referenceLines.ts +186 -0
  199. package/src/charts/sankeyOptions.ts +235 -0
  200. package/src/charts/scatterOptions.ts +377 -0
  201. package/src/charts/seriesData.ts +276 -0
  202. package/src/charts/sparkline.ts +160 -0
  203. package/src/charts/style.css +145 -0
  204. package/src/charts/tokens.ts +452 -0
  205. package/src/charts/tooltipItems.ts +70 -0
  206. package/src/charts/types.ts +1291 -0
  207. package/src/charts/utils.ts +144 -0
  208. package/src/components/Alert/Alert.api.md +40 -35
  209. package/src/components/Alert/Alert.md +65 -8
  210. package/src/components/Alert/Alert.vue +303 -67
  211. package/src/components/Alert/index.ts +8 -1
  212. package/src/components/Alert/types.ts +77 -31
  213. package/src/components/Avatar/Avatar.api.md +11 -4
  214. package/src/components/Avatar/Avatar.md +6 -3
  215. package/src/components/Avatar/Avatar.vue +48 -9
  216. package/src/components/Avatar/index.ts +1 -1
  217. package/src/components/Avatar/types.ts +11 -0
  218. package/src/components/Badge/Badge.api.md +7 -7
  219. package/src/components/Badge/Badge.md +1 -1
  220. package/src/components/Badge/Badge.vue +75 -55
  221. package/src/components/Badge/types.ts +2 -6
  222. package/src/components/BottomSheet/BottomSheet.api.md +57 -0
  223. package/src/components/BottomSheet/BottomSheet.md +64 -0
  224. package/src/components/BottomSheet/BottomSheet.vue +199 -0
  225. package/src/components/BottomSheet/index.ts +6 -0
  226. package/src/components/BottomSheet/types.ts +23 -0
  227. package/src/components/Breadcrumbs/Breadcrumbs.api.md +3 -3
  228. package/src/components/Breadcrumbs/Breadcrumbs.md +41 -1
  229. package/src/components/Breadcrumbs/Breadcrumbs.vue +26 -6
  230. package/src/components/Breadcrumbs/types.ts +11 -4
  231. package/src/components/Button/Button.api.md +31 -36
  232. package/src/components/Button/Button.md +25 -1
  233. package/src/components/Button/Button.vue +102 -49
  234. package/src/components/Button/types.ts +4 -4
  235. package/src/components/Checkbox/Checkbox.api.md +25 -19
  236. package/src/components/Checkbox/Checkbox.md +38 -14
  237. package/src/components/Checkbox/Checkbox.vue +142 -57
  238. package/src/components/Checkbox/types.ts +12 -10
  239. package/src/components/Combobox/Combobox.api.md +84 -72
  240. package/src/components/Combobox/Combobox.md +64 -9
  241. package/src/components/Combobox/Combobox.vue +412 -379
  242. package/src/components/Combobox/ComboboxResults.vue +10 -54
  243. package/src/components/Combobox/index.ts +21 -1
  244. package/src/components/Combobox/types.ts +131 -94
  245. package/src/components/Combobox/utils.ts +38 -21
  246. package/src/components/ContextMenu/ContextMenu.api.md +88 -0
  247. package/src/components/ContextMenu/ContextMenu.md +30 -0
  248. package/src/components/ContextMenu/ContextMenu.vue +183 -0
  249. package/src/components/ContextMenu/index.ts +21 -0
  250. package/src/components/ContextMenu/types.ts +66 -0
  251. package/src/components/DatePicker/CalendarPanel.vue +132 -138
  252. package/src/components/DatePicker/DateCalendar.vue +114 -0
  253. package/src/components/DatePicker/DatePicker.api.md +56 -233
  254. package/src/components/DatePicker/DatePicker.md +34 -0
  255. package/src/components/DatePicker/DatePicker.vue +50 -142
  256. package/src/components/DatePicker/DateRangeCalendar.vue +211 -0
  257. package/src/components/DatePicker/DateRangePicker.vue +72 -300
  258. package/src/components/DatePicker/DateTimePicker.vue +58 -140
  259. package/src/components/DatePicker/calendarTypes.ts +143 -0
  260. package/src/components/DatePicker/composables.ts +85 -174
  261. package/src/components/DatePicker/index.ts +26 -3
  262. package/src/components/DatePicker/types.ts +34 -105
  263. package/src/components/DatePicker/utils.ts +60 -51
  264. package/src/components/DesktopShell/DesktopShell.api.md +40 -0
  265. package/src/components/DesktopShell/DesktopShell.md +74 -0
  266. package/src/components/DesktopShell/DesktopShell.vue +95 -0
  267. package/src/components/DesktopShell/index.ts +3 -0
  268. package/src/components/DesktopShell/types.ts +15 -0
  269. package/src/components/Dialog/Dialog.api.md +25 -66
  270. package/src/components/Dialog/Dialog.md +49 -1
  271. package/src/components/Dialog/Dialog.vue +120 -195
  272. package/src/components/Dialog/index.ts +1 -4
  273. package/src/components/Dialog/types.ts +15 -55
  274. package/src/components/Dialogs.vue +83 -20
  275. package/src/components/Divider/Divider.api.md +8 -8
  276. package/src/components/Divider/Divider.md +4 -1
  277. package/src/components/Divider/Divider.vue +12 -15
  278. package/src/components/Divider/index.ts +1 -1
  279. package/src/components/Divider/types.ts +22 -8
  280. package/src/components/Dropdown/Dropdown.api.md +30 -31
  281. package/src/components/Dropdown/Dropdown.md +11 -8
  282. package/src/components/Dropdown/Dropdown.vue +113 -86
  283. package/src/components/Dropdown/index.ts +22 -1
  284. package/src/components/Dropdown/types.ts +44 -209
  285. package/src/components/Duration/Duration.api.md +107 -0
  286. package/src/components/Duration/Duration.md +111 -0
  287. package/src/components/Duration/Duration.vue +132 -0
  288. package/src/components/Duration/duration.ts +185 -0
  289. package/src/components/Duration/index.ts +8 -0
  290. package/src/components/Duration/types.ts +53 -0
  291. package/src/components/ErrorMessage/ErrorMessage.api.md +4 -4
  292. package/src/components/ErrorMessage/ErrorMessage.md +9 -1
  293. package/src/components/ErrorMessage/ErrorMessage.vue +35 -8
  294. package/src/components/ErrorMessage/index.ts +1 -1
  295. package/src/components/ErrorMessage/types.ts +7 -2
  296. package/src/components/FileUploader/FileUploader.api.md +72 -11
  297. package/src/components/FileUploader/FileUploader.md +14 -1
  298. package/src/components/FileUploader/FileUploader.vue +162 -110
  299. package/src/components/FileUploader/index.ts +6 -0
  300. package/src/components/FileUploader/types.ts +62 -0
  301. package/src/components/FormControl/FormControl.api.md +8 -8
  302. package/src/components/FormControl/FormControl.md +9 -2
  303. package/src/components/FormControl/FormControl.vue +45 -22
  304. package/src/components/FormControl/types.ts +9 -5
  305. package/src/components/FormLabel/FormLabel.api.md +31 -0
  306. package/src/components/FormLabel/FormLabel.md +16 -0
  307. package/src/components/FormLabel/FormLabel.vue +17 -0
  308. package/src/components/FormLabel/index.ts +2 -0
  309. package/src/components/FormLabel/types.ts +10 -0
  310. package/src/components/FrappeUIProvider/FrappeUIProvider.api.md +18 -0
  311. package/src/components/FrappeUIProvider/FrappeUIProvider.md +34 -0
  312. package/src/components/FrappeUIProvider/FrappeUIProvider.vue +30 -0
  313. package/src/components/FrappeUIProvider/index.ts +1 -0
  314. package/src/components/HoverCard/HoverCard.api.md +100 -0
  315. package/src/components/HoverCard/HoverCard.md +52 -0
  316. package/src/components/HoverCard/HoverCard.vue +139 -0
  317. package/src/components/HoverCard/index.ts +7 -0
  318. package/src/components/HoverCard/types.ts +72 -0
  319. package/src/components/Icon/Icon.api.md +25 -0
  320. package/src/components/Icon/Icon.md +28 -0
  321. package/src/components/Icon/Icon.vue +21 -25
  322. package/src/components/Icon/index.ts +1 -0
  323. package/src/components/Icon/types.ts +19 -0
  324. package/src/components/InputLabeling/InputDescription.vue +4 -1
  325. package/src/components/InputLabeling/InputError.vue +1 -1
  326. package/src/components/InputLabeling/InputLabel.vue +34 -7
  327. package/src/components/InputLabeling/RequiredIndicator.vue +1 -1
  328. package/src/components/ItemListRow/ItemListRow.api.md +4 -4
  329. package/src/components/ItemListRow/ItemListRow.vue +14 -8
  330. package/src/components/ItemListRow/index.ts +1 -1
  331. package/src/components/ItemListRow/types.ts +7 -1
  332. package/src/components/KeyboardShortcut/KeyboardShortcut.api.md +56 -0
  333. package/src/components/KeyboardShortcut/KeyboardShortcut.md +52 -0
  334. package/src/components/KeyboardShortcut/KeyboardShortcut.vue +168 -0
  335. package/src/components/KeyboardShortcut/index.ts +2 -0
  336. package/src/components/KeyboardShortcut/types.ts +12 -0
  337. package/src/components/KeyboardShortcutsDialog/KeyboardShortcutsDialog.api.md +61 -0
  338. package/src/components/KeyboardShortcutsDialog/KeyboardShortcutsDialog.md +86 -0
  339. package/src/components/KeyboardShortcutsDialog/KeyboardShortcutsDialog.vue +185 -0
  340. package/src/components/KeyboardShortcutsDialog/index.ts +2 -0
  341. package/src/components/KeyboardShortcutsDialog/types.ts +17 -0
  342. package/src/components/LoadingIndicator/LoadingIndicator.api.md +20 -0
  343. package/src/components/LoadingIndicator/LoadingIndicator.md +11 -0
  344. package/src/components/LoadingIndicator/LoadingIndicator.vue +19 -0
  345. package/src/components/LoadingIndicator/index.ts +2 -0
  346. package/src/components/LoadingIndicator/types.ts +4 -0
  347. package/src/components/LoadingText/LoadingText.api.md +20 -0
  348. package/src/components/LoadingText/LoadingText.md +10 -0
  349. package/src/components/LoadingText/LoadingText.vue +12 -0
  350. package/src/components/LoadingText/index.ts +2 -0
  351. package/src/components/LoadingText/types.ts +4 -0
  352. package/src/components/Menu/Menu.api.md +44 -0
  353. package/src/components/Menu/Menu.vue +223 -0
  354. package/src/components/Menu/MenuItemContent.vue +215 -0
  355. package/src/components/Menu/MenuRenderContent.vue +24 -0
  356. package/src/components/Menu/MenuRenderContentAsChild.vue +19 -0
  357. package/src/components/Menu/types.ts +199 -0
  358. package/src/components/Menu/utils.ts +177 -0
  359. package/src/components/MobileNav/MobileNav.api.md +77 -0
  360. package/src/components/MobileNav/MobileNav.md +35 -0
  361. package/src/components/MobileNav/MobileNav.vue +20 -0
  362. package/src/components/MobileNav/MobileNavItem.vue +118 -0
  363. package/src/components/MobileNav/index.ts +4 -0
  364. package/src/components/MobileNav/types.ts +36 -0
  365. package/src/components/MobileShell/MobileShell.api.md +23 -0
  366. package/src/components/MobileShell/MobileShell.md +30 -0
  367. package/src/components/MobileShell/MobileShell.vue +72 -0
  368. package/src/components/MobileShell/index.ts +3 -0
  369. package/src/components/MobileShell/types.ts +7 -0
  370. package/src/components/MultiSelect/MultiSelect.api.md +61 -45
  371. package/src/components/MultiSelect/MultiSelect.md +60 -5
  372. package/src/components/MultiSelect/MultiSelect.vue +346 -275
  373. package/src/components/MultiSelect/MultiSelectResults.vue +3 -11
  374. package/src/components/MultiSelect/index.ts +1 -0
  375. package/src/components/MultiSelect/types.ts +138 -70
  376. package/src/components/MultiSelect/utils.ts +7 -10
  377. package/src/components/PageHeader/PageHeader.api.md +136 -0
  378. package/src/components/PageHeader/PageHeader.md +39 -0
  379. package/src/components/PageHeader/PageHeader.vue +18 -0
  380. package/src/components/PageHeader/PageHeaderBackButton.vue +26 -0
  381. package/src/components/PageHeader/PageHeaderBase.vue +61 -0
  382. package/src/components/PageHeader/PageHeaderMobile.vue +87 -0
  383. package/src/components/PageHeader/PageHeaderMobileTitle.vue +30 -0
  384. package/src/components/PageHeader/PageHeaderTarget.vue +18 -0
  385. package/src/components/PageHeader/PageHeaderTitle.vue +16 -0
  386. package/src/components/PageHeader/index.ts +17 -0
  387. package/src/components/PageHeader/target.ts +30 -0
  388. package/src/components/PageHeader/types.ts +27 -0
  389. package/src/components/PageHeader/useHeaderBack.ts +90 -0
  390. package/src/components/Password/Password.api.md +8 -15
  391. package/src/components/Password/Password.md +1 -9
  392. package/src/components/Password/Password.vue +30 -30
  393. package/src/components/Password/types.ts +0 -6
  394. package/src/components/Popover/Popover.api.md +64 -56
  395. package/src/components/Popover/Popover.md +122 -4
  396. package/src/components/Popover/Popover.vue +128 -248
  397. package/src/components/Popover/index.ts +9 -1
  398. package/src/components/Popover/types.ts +88 -36
  399. package/src/components/Progress/Progress.api.md +7 -15
  400. package/src/components/Progress/Progress.md +30 -8
  401. package/src/components/Progress/Progress.vue +43 -25
  402. package/src/components/Progress/types.ts +2 -5
  403. package/src/components/Radio/Radio.api.md +175 -0
  404. package/src/components/Radio/Radio.md +63 -0
  405. package/src/components/Radio/Radio.vue +176 -0
  406. package/src/components/Radio/RadioGroup.vue +158 -0
  407. package/src/components/Radio/index.ts +8 -0
  408. package/src/components/Radio/types.ts +64 -0
  409. package/src/components/Rating/Rating.api.md +11 -25
  410. package/src/components/Rating/Rating.md +18 -11
  411. package/src/components/Rating/Rating.vue +67 -40
  412. package/src/components/Rating/RatingStar.vue +27 -0
  413. package/src/components/Rating/index.ts +6 -1
  414. package/src/components/Rating/types.ts +7 -16
  415. package/src/components/ScrollArea/ScrollArea.api.md +43 -0
  416. package/src/components/ScrollArea/ScrollArea.md +42 -0
  417. package/src/components/ScrollArea/ScrollArea.vue +50 -0
  418. package/src/components/ScrollArea/ScrollBar.vue +99 -0
  419. package/src/components/ScrollArea/index.ts +6 -0
  420. package/src/components/ScrollArea/types.ts +18 -0
  421. package/src/components/Select/Select.api.md +57 -34
  422. package/src/components/Select/Select.md +43 -11
  423. package/src/components/Select/Select.vue +322 -210
  424. package/src/components/Select/index.ts +13 -1
  425. package/src/components/Select/types.ts +94 -47
  426. package/src/components/Select/utils.ts +15 -8
  427. package/src/components/SettingsDialog/SettingsBody.vue +31 -0
  428. package/src/components/SettingsDialog/SettingsContent.vue +7 -0
  429. package/src/components/SettingsDialog/SettingsDialog.api.md +273 -0
  430. package/src/components/SettingsDialog/SettingsDialog.md +43 -0
  431. package/src/components/SettingsDialog/SettingsDialog.vue +76 -0
  432. package/src/components/SettingsDialog/SettingsHeader.vue +36 -0
  433. package/src/components/SettingsDialog/SettingsNavGroup.vue +20 -0
  434. package/src/components/SettingsDialog/SettingsNavItem.vue +33 -0
  435. package/src/components/SettingsDialog/SettingsPanel.vue +26 -0
  436. package/src/components/SettingsDialog/SettingsRow.vue +52 -0
  437. package/src/components/SettingsDialog/SettingsSidebar.vue +16 -0
  438. package/src/components/SettingsDialog/index.ts +14 -0
  439. package/src/components/SettingsDialog/types.ts +31 -0
  440. package/src/components/Sidebar/Sidebar.api.md +211 -97
  441. package/src/components/Sidebar/Sidebar.md +80 -3
  442. package/src/components/Sidebar/Sidebar.vue +40 -61
  443. package/src/components/Sidebar/SidebarCard.vue +206 -0
  444. package/src/components/Sidebar/SidebarCollapseToggle.vue +23 -0
  445. package/src/components/Sidebar/SidebarHeader.vue +80 -52
  446. package/src/components/Sidebar/SidebarItem.vue +180 -96
  447. package/src/components/Sidebar/SidebarItemIcon.vue +25 -0
  448. package/src/components/Sidebar/SidebarLabel.vue +39 -0
  449. package/src/components/Sidebar/SidebarSection.vue +80 -39
  450. package/src/components/Sidebar/index.ts +17 -2
  451. package/src/components/Sidebar/types.ts +140 -24
  452. package/src/components/SidebarRail/SidebarRail.api.md +104 -0
  453. package/src/components/SidebarRail/SidebarRail.md +39 -0
  454. package/src/components/SidebarRail/SidebarRail.vue +21 -0
  455. package/src/components/SidebarRail/SidebarRailItem.vue +148 -0
  456. package/src/components/SidebarRail/SidebarRailItemBadge.vue +67 -0
  457. package/src/components/SidebarRail/index.ts +4 -0
  458. package/src/components/SidebarRail/types.ts +46 -0
  459. package/src/components/Skeleton/Skeleton.md +21 -0
  460. package/src/components/Skeleton/Skeleton.vue +6 -0
  461. package/src/components/Skeleton/index.ts +1 -0
  462. package/src/components/Slider/Slider.api.md +11 -11
  463. package/src/components/Slider/Slider.md +60 -4
  464. package/src/components/Slider/Slider.vue +247 -31
  465. package/src/components/Slider/index.ts +1 -0
  466. package/src/components/Slider/types.ts +3 -3
  467. package/src/components/Spinner/Spinner.api.md +2 -2
  468. package/src/components/Spinner/Spinner.vue +1 -1
  469. package/src/components/Switch/Switch.api.md +22 -17
  470. package/src/components/Switch/Switch.md +37 -16
  471. package/src/components/Switch/Switch.vue +157 -53
  472. package/src/components/Switch/types.ts +7 -12
  473. package/src/components/TabButtons/TabButtons.api.md +24 -24
  474. package/src/components/TabButtons/TabButtons.md +87 -15
  475. package/src/components/TabButtons/TabButtons.vue +256 -175
  476. package/src/components/TabButtons/index.ts +1 -3
  477. package/src/components/TabButtons/types.ts +40 -25
  478. package/src/components/Tabs/TabList.vue +148 -0
  479. package/src/components/Tabs/TabPanel.vue +17 -0
  480. package/src/components/Tabs/TabTrigger.vue +145 -0
  481. package/src/components/Tabs/Tabs.api.md +184 -28
  482. package/src/components/Tabs/Tabs.md +120 -6
  483. package/src/components/Tabs/Tabs.vue +362 -93
  484. package/src/components/Tabs/context.ts +39 -0
  485. package/src/components/Tabs/index.ts +18 -0
  486. package/src/components/Tabs/types.ts +76 -22
  487. package/src/components/TextInput/TextInput.api.md +9 -9
  488. package/src/components/TextInput/TextInput.md +17 -1
  489. package/src/components/TextInput/TextInput.vue +89 -43
  490. package/src/components/TextInput/index.ts +1 -1
  491. package/src/components/TextInput/types.ts +19 -1
  492. package/src/components/Textarea/Textarea.api.md +10 -10
  493. package/src/components/Textarea/Textarea.md +1 -1
  494. package/src/components/Textarea/Textarea.vue +64 -30
  495. package/src/components/Textarea/types.ts +5 -1
  496. package/src/components/TimePicker/TimePicker.api.md +53 -87
  497. package/src/components/TimePicker/TimePicker.md +37 -1
  498. package/src/components/TimePicker/TimePicker.vue +118 -155
  499. package/src/components/TimePicker/index.ts +1 -1
  500. package/src/components/TimePicker/types.ts +21 -67
  501. package/src/components/TimePicker/utils.ts +82 -21
  502. package/src/components/Toast/Toast.md +29 -1
  503. package/src/components/Toast/ToastProvider.vue +14 -5
  504. package/src/components/Toast/toast.ts +60 -129
  505. package/src/components/Toast/types.ts +27 -35
  506. package/src/components/Tooltip/Tooltip.api.md +41 -48
  507. package/src/components/Tooltip/Tooltip.md +85 -5
  508. package/src/components/Tooltip/Tooltip.vue +17 -25
  509. package/src/components/Tooltip/TooltipBubble.vue +37 -23
  510. package/src/components/Tooltip/TooltipProvider.vue +5 -5
  511. package/src/components/Tooltip/index.ts +1 -2
  512. package/src/components/Tooltip/types.ts +13 -9
  513. package/src/components/Tree/Tree.api.md +78 -20
  514. package/src/components/Tree/Tree.md +144 -2
  515. package/src/components/Tree/Tree.vue +282 -97
  516. package/src/components/Tree/TreeItem.vue +267 -0
  517. package/src/components/Tree/index.ts +9 -1
  518. package/src/components/Tree/types.ts +120 -22
  519. package/src/components/Tree/useTreeDragDrop.ts +203 -0
  520. package/src/components/Tree/useTreeKeyboard.ts +112 -0
  521. package/src/components/shared/action.ts +30 -0
  522. package/src/components/shared/nativeElements.ts +17 -0
  523. package/src/components/shared/picker/PickerShell.vue +117 -159
  524. package/src/components/shared/picker/types.ts +102 -0
  525. package/src/components/shared/popover/PopoverPanel.vue +61 -0
  526. package/src/components/shared/popover/popoverPanel.css +55 -0
  527. package/src/components/shared/route.ts +47 -0
  528. package/src/components/shared/selection/popoverMotion.css +10 -54
  529. package/src/components/shared/selection/types.ts +136 -0
  530. package/src/components/shared/selection/useFilteredGroups.ts +17 -2
  531. package/src/components/shared/selection/useIsModelBound.ts +29 -0
  532. package/src/components/shared/selection/utils.ts +100 -45
  533. package/src/components/shared/statusIcon.ts +73 -0
  534. package/src/components/shared/tabs/Pill.vue +138 -0
  535. package/src/components/shared/tabs/pillTypes.ts +35 -0
  536. package/src/components/shared/tabs/styles.ts +191 -0
  537. package/src/composables/inputTypes.ts +39 -4
  538. package/src/composables/useAutofocusOnOpen.ts +2 -0
  539. package/src/composables/useColorScheme.ts +262 -0
  540. package/src/composables/useInputLabeling.ts +44 -31
  541. package/src/composables/useKeyboardShortcut.ts +349 -0
  542. package/src/composables/usePortalTarget.ts +49 -0
  543. package/src/composables/useReactiveSlots.ts +39 -0
  544. package/src/composables/useSheetDrag.ts +430 -0
  545. package/src/composables/useShellScrolled.ts +172 -0
  546. package/src/composables/useSlotTick.ts +41 -0
  547. package/src/data-fetching/docStore.ts +151 -49
  548. package/src/data-fetching/index.ts +23 -2
  549. package/src/data-fetching/useAction.ts +234 -0
  550. package/src/data-fetching/useCall/types.ts +2 -1
  551. package/src/data-fetching/useCall/useCall.ts +144 -18
  552. package/src/data-fetching/useDoc/useDoc.ts +94 -27
  553. package/src/data-fetching/useDoctype/useDoctype.ts +77 -106
  554. package/src/data-fetching/useFrappeFetch.ts +90 -11
  555. package/src/data-fetching/useIsolatedCall.ts +331 -0
  556. package/src/data-fetching/useList/listStore.ts +29 -3
  557. package/src/data-fetching/useList/types.ts +1 -0
  558. package/src/data-fetching/useList/useList.ts +80 -47
  559. package/src/data-fetching/useNewDoc/useNewDoc.ts +67 -19
  560. package/src/data-fetching/writeGate.ts +124 -0
  561. package/src/directives/focus.ts +11 -6
  562. package/src/directives/onOutsideClick.ts +8 -1
  563. package/src/index.ts +183 -97
  564. package/src/molecules/editor/Editor.vue +18 -7
  565. package/src/molecules/editor/EditorBubbleMenu.vue +20 -12
  566. package/src/molecules/editor/EditorContent.vue +2 -2
  567. package/src/molecules/editor/EditorFixedMenu.vue +2 -1
  568. package/src/molecules/editor/EditorFloatingMenu.vue +20 -12
  569. package/src/molecules/editor/EditorTableMenu.vue +5 -2
  570. package/src/molecules/editor/MenuItems.vue +26 -33
  571. package/src/molecules/editor/SuggestionExtension.ts +39 -7
  572. package/src/molecules/editor/commands.ts +7 -0
  573. package/src/molecules/editor/components/AttachmentNodeView.vue +115 -0
  574. package/src/molecules/editor/components/EditorDropZone.vue +12 -4
  575. package/src/molecules/editor/components/EditorPopover.vue +2 -2
  576. package/src/molecules/editor/components/ImageViewerModal.vue +5 -2
  577. package/src/molecules/editor/components/MediaNodeView.vue +181 -39
  578. package/src/molecules/editor/components/MediaResizeHandle.vue +69 -0
  579. package/src/molecules/editor/components/MediaToolbar.vue +93 -113
  580. package/src/molecules/editor/components/TableContextMenu.vue +2 -2
  581. package/src/molecules/editor/components/UploadProgressIndicator.vue +1 -1
  582. package/src/molecules/editor/components/VideoControls.vue +282 -31
  583. package/src/molecules/editor/components/font-color/ColorSwatchGrid.vue +1 -1
  584. package/src/molecules/editor/components/font-color/fontColorController.ts +1 -1
  585. package/src/molecules/editor/components/image-viewer/ImageViewerControlsBar.vue +11 -11
  586. package/src/molecules/editor/components/media-node-view-controller.ts +4 -1
  587. package/src/molecules/editor/components/media-node-view-utils.ts +25 -1
  588. package/src/molecules/editor/components/table-color/tableCellColorController.ts +1 -1
  589. package/src/molecules/editor/components/table-size-picker/TableSizePicker.vue +2 -2
  590. package/src/molecules/editor/composables/useNodeViewResize.ts +41 -14
  591. package/src/molecules/editor/extensions/attachment/attachment-engine.ts +250 -0
  592. package/src/molecules/editor/extensions/attachment/attachment-extension.ts +248 -0
  593. package/src/molecules/editor/extensions/attachment/index.ts +5 -0
  594. package/src/molecules/editor/extensions/code-block/CodeBlockComponent.css +10 -0
  595. package/src/molecules/editor/extensions/code-block/CodeBlockComponent.vue +5 -1
  596. package/src/molecules/editor/extensions/emoji/emoji-extension.ts +1 -1
  597. package/src/molecules/editor/extensions/iframe/IframeInsertDialog.vue +8 -11
  598. package/src/molecules/editor/extensions/iframe/IframeNodeView.vue +33 -9
  599. package/src/molecules/editor/extensions/image/image-extension.ts +16 -16
  600. package/src/molecules/editor/extensions/image-group/ImageGroupGrid.vue +2 -2
  601. package/src/molecules/editor/extensions/image-group/ImageGroupGridCell.vue +5 -5
  602. package/src/molecules/editor/extensions/image-group/ImageGroupNodeView.vue +7 -6
  603. package/src/molecules/editor/extensions/image-group/ImageGroupUploadDialog.vue +10 -9
  604. package/src/molecules/editor/extensions/link/LinkEditorPopup.vue +4 -4
  605. package/src/molecules/editor/extensions/link/exit-link-on-space-plugin.ts +130 -0
  606. package/src/molecules/editor/extensions/link/link-click-plugin.ts +10 -15
  607. package/src/molecules/editor/extensions/link/link-extension.ts +13 -1
  608. package/src/molecules/editor/extensions/link/link-popup-controller.ts +27 -6
  609. package/src/molecules/editor/extensions/list/list-join.ts +185 -0
  610. package/src/molecules/editor/extensions/media-drop/media-drop-extension.ts +70 -8
  611. package/src/molecules/editor/extensions/mention/mention-extension.ts +63 -23
  612. package/src/molecules/editor/extensions/shared/collaboration.ts +42 -0
  613. package/src/molecules/editor/extensions/shared/color-parse.ts +49 -11
  614. package/src/molecules/editor/extensions/shared/color-style.ts +10 -1
  615. package/src/molecules/editor/extensions/shared/media-attributes.ts +31 -0
  616. package/src/molecules/editor/extensions/shared/media-upload-types.ts +8 -1
  617. package/src/molecules/editor/extensions/shared/suggestion-helpers.ts +11 -4
  618. package/src/molecules/editor/extensions/shared/suggestion-open.ts +207 -0
  619. package/src/molecules/editor/extensions/shared/suggestion-renderer.ts +40 -32
  620. package/src/molecules/editor/extensions/shared/suggestion-types.ts +2 -0
  621. package/src/molecules/editor/extensions/slash-commands/slash-commands-extension.ts +28 -3
  622. package/src/molecules/editor/extensions/suggestion/SuggestionList.vue +48 -43
  623. package/src/molecules/editor/extensions/suggestion/SuggestionListItem.vue +2 -2
  624. package/src/molecules/editor/extensions/suggestion/createSuggestionExtension.ts +92 -4
  625. package/src/molecules/editor/extensions/table/table-cell-color.ts +90 -15
  626. package/src/molecules/editor/extensions/tag/tag-extension.ts +22 -13
  627. package/src/molecules/editor/extensions/toc-node/TocNodeView.vue +1 -1
  628. package/src/molecules/editor/extensions/toc-node/toc-render.ts +7 -3
  629. package/src/molecules/editor/extensions/video/video-extension.ts +3 -0
  630. package/src/molecules/editor/extensions.ts +37 -5
  631. package/src/molecules/editor/index.ts +130 -6
  632. package/src/molecules/editor/kits.ts +106 -39
  633. package/src/molecules/editor/menu-placement.ts +30 -0
  634. package/src/molecules/editor/menu.ts +90 -12
  635. package/src/molecules/editor/style.css +8 -1
  636. package/src/molecules/editor/useEditor.ts +104 -22
  637. package/src/molecules/list/List.vue +192 -0
  638. package/src/molecules/list/ListCell.vue +20 -0
  639. package/src/molecules/list/ListGroup.vue +40 -0
  640. package/src/molecules/list/ListHeader.vue +67 -0
  641. package/src/molecules/list/ListHeaderCell.vue +26 -0
  642. package/src/molecules/list/ListHeaderCellSort.vue +108 -0
  643. package/src/molecules/list/ListRow.vue +63 -0
  644. package/src/molecules/list/ListRowBase.vue +103 -0
  645. package/src/molecules/list/ListRows.vue +144 -0
  646. package/src/molecules/list/index.ts +22 -0
  647. package/src/molecules/list/list-context.ts +45 -0
  648. package/src/molecules/list/list.api.md +288 -0
  649. package/src/molecules/list/list.md +246 -0
  650. package/src/molecules/list/style.css +214 -0
  651. package/src/molecules/list/types.ts +119 -0
  652. package/src/molecules/list/useVirtualRows.ts +99 -0
  653. package/src/resources/documentResource.d.ts +28 -0
  654. package/src/resources/documentResource.js +36 -6
  655. package/src/resources/index.ts +2 -2
  656. package/src/resources/listResource.d.ts +33 -0
  657. package/src/resources/listResource.js +8 -2
  658. package/src/resources/plugin.d.ts +7 -0
  659. package/src/resources/realtime.ts +5 -1
  660. package/src/resources/resources.d.ts +35 -0
  661. package/src/resources/socketAccess.ts +20 -0
  662. package/src/style.css +11 -0
  663. package/src/utils/call.ts +48 -0
  664. package/src/utils/config.ts +19 -1
  665. package/src/utils/dayjs.ts +7 -0
  666. package/src/utils/debounce.ts +26 -8
  667. package/src/utils/dialog.ts +107 -44
  668. package/src/utils/errorLines.ts +36 -0
  669. package/src/utils/fileUploadHandler.ts +21 -9
  670. package/src/utils/frappeRequest.ts +232 -0
  671. package/src/utils/iconString.ts +87 -21
  672. package/src/utils/keyboardShortcutCombo.ts +507 -0
  673. package/src/utils/moduleSingleton.ts +31 -0
  674. package/src/utils/pageMeta.ts +2 -37
  675. package/src/utils/plugin.ts +123 -0
  676. package/src/utils/request.ts +93 -0
  677. package/src/utils/resolvePropValue.ts +59 -0
  678. package/src/utils/useFileUpload.ts +93 -31
  679. package/src/utils/vnode.ts +41 -15
  680. package/src/utils/warnDeprecated.ts +21 -4
  681. package/tailwind/colorPalette.js +39 -15
  682. package/tailwind/colors.json +515 -559
  683. package/tailwind/content.js +61 -0
  684. package/tailwind/figma-tokens-to-theme.js +179 -28
  685. package/tailwind/generated/colors.json +515 -559
  686. package/tailwind/generated/effects.json +13 -15
  687. package/tailwind/generated/radius.json +2 -8
  688. package/tailwind/generated/typography.json +41 -118
  689. package/tailwind/index.d.ts +17 -0
  690. package/tailwind/index.js +1 -0
  691. package/tailwind/listColumns.js +191 -0
  692. package/tailwind/migrate-tokens-v2.js +613 -77
  693. package/tailwind/plugin.js +70 -64
  694. package/tailwind/preset.js +29 -1
  695. package/tsconfig.base.json +1 -4
  696. package/vite/README.md +35 -4
  697. package/vite/barrelImports.js +374 -0
  698. package/vite/buildConfig.js +4 -1
  699. package/vite/index.d.ts +200 -0
  700. package/vite/index.js +43 -2
  701. package/vite/lucideIcons.js +3 -142
  702. package/vite/lucideIconsPlugin.d.ts +14 -0
  703. package/vite/lucideIconsPlugin.js +144 -0
  704. package/vitepress/components/Docs/CommandPalette.vue +216 -0
  705. package/vitepress/components/Docs/Demo.vue +82 -0
  706. package/vitepress/components/Docs/EmitsTable.vue +99 -0
  707. package/vitepress/components/Docs/MobileNavSheet.vue +148 -0
  708. package/vitepress/components/Docs/OnThisPage.vue +103 -0
  709. package/vitepress/components/Docs/PlaygroundFrame.vue +201 -0
  710. package/vitepress/components/Docs/PrevNextBtns.vue +68 -0
  711. package/vitepress/components/Docs/PropsTable.vue +182 -0
  712. package/vitepress/components/Docs/Search.vue +47 -0
  713. package/vitepress/components/Docs/Sidebar.vue +71 -0
  714. package/vitepress/components/Docs/SlotsTable.vue +99 -0
  715. package/vitepress/components/Docs/index.ts +15 -0
  716. package/vitepress/components/Docs/sidebarList.ts +33 -0
  717. package/vitepress/components/Layout.vue +69 -0
  718. package/vitepress/components/Navbar.vue +132 -0
  719. package/vitepress/components/index.ts +3 -0
  720. package/vitepress/css/fonts/Inter-Italic.var.woff2 +0 -0
  721. package/vitepress/css/fonts/Inter.var.woff2 +0 -0
  722. package/vitepress/css/style.css +214 -0
  723. package/vitepress/index.d.ts +29 -0
  724. package/vitepress/index.node.ts +250 -0
  725. package/vitepress/index.ts +20 -0
  726. package/vitepress/plugins/colocatedComponentDocs.ts +185 -0
  727. package/vitepress/plugins/componentTransformer.ts +331 -0
  728. package/vitepress/plugins/index.ts +12 -0
  729. package/vitepress/plugins/preventCircularChunks.ts +54 -0
  730. package/vitepress/state.ts +10 -0
  731. package/vitepress/theme/index.ts +24 -0
  732. package/frappe/Billing/SignupBanner.vue +0 -53
  733. package/frappe/Billing/TrialBanner.vue +0 -85
  734. package/frappe/DataImport/DataImport.vue +0 -165
  735. package/frappe/DataImport/DataImportList.vue +0 -172
  736. package/frappe/DataImport/ImportSteps.vue +0 -114
  737. package/frappe/DataImport/MappingStep.vue +0 -187
  738. package/frappe/DataImport/PreviewStep.vue +0 -373
  739. package/frappe/DataImport/TemplateModal.vue +0 -215
  740. package/frappe/DataImport/UploadStep.vue +0 -417
  741. package/frappe/DataImport/dataImport.ts +0 -52
  742. package/frappe/DataImport/types.ts +0 -51
  743. package/frappe/Filter/Filter.vue +0 -207
  744. package/frappe/Filter/types.ts +0 -15
  745. package/frappe/Filter/utils.ts +0 -242
  746. package/frappe/Help/HelpModal.vue +0 -166
  747. package/frappe/Help/help.js +0 -4
  748. package/frappe/HelpCenter/HelpCenter.vue +0 -114
  749. package/frappe/HelpCenter/helpCenter.js +0 -3
  750. package/frappe/Icons/FilterIcon.vue +0 -31
  751. package/frappe/Link/Link.api.md +0 -114
  752. package/frappe/Link/Link.cy.ts +0 -215
  753. package/frappe/Link/Link.md +0 -38
  754. package/frappe/Link/Link.vue +0 -163
  755. package/frappe/Link/index.ts +0 -2
  756. package/frappe/Link/stories/Creatable.vue +0 -96
  757. package/frappe/Link/stories/Filters.vue +0 -67
  758. package/frappe/Link/stories/Labeling.vue +0 -32
  759. package/frappe/Link/stories/MemberPicker.vue +0 -37
  760. package/frappe/Link/stories/Simple.vue +0 -21
  761. package/frappe/Link/stories/Suffix.vue +0 -118
  762. package/frappe/Link/stories/_mock.ts +0 -151
  763. package/frappe/Link/types.ts +0 -25
  764. package/frappe/Onboarding/GettingStartedBanner.vue +0 -84
  765. package/frappe/Onboarding/IntermediateStepModal.vue +0 -68
  766. package/frappe/Onboarding/OnboardingSteps.vue +0 -145
  767. package/frappe/Onboarding/onboarding.js +0 -169
  768. package/frappe/drive/components/AppSwitcher.vue +0 -47
  769. package/frappe/drive/components/DriveLogo.vue +0 -18
  770. package/frappe/drive/components/InfoDialog.vue +0 -207
  771. package/frappe/drive/components/MoveDialog.vue +0 -455
  772. package/frappe/drive/components/RenameDialog.vue +0 -84
  773. package/frappe/drive/components/Select/Select.vue +0 -136
  774. package/frappe/drive/components/Select/types.ts +0 -18
  775. package/frappe/drive/components/ShareDialog.vue +0 -400
  776. package/frappe/drive/components/TagInput/TagInput.vue +0 -126
  777. package/frappe/drive/components/TagInput/types.ts +0 -45
  778. package/frappe/drive/components/TagInput/utils.ts +0 -63
  779. package/frappe/drive/components/TeamSelector.vue +0 -50
  780. package/frappe/drive/index.js +0 -6
  781. package/frappe/drive/js/icons.js +0 -668
  782. package/frappe/drive/js/resources.js +0 -111
  783. package/frappe/drive/js/utils.js +0 -141
  784. package/frappe/index.d.ts +0 -66
  785. package/frappe/index.js +0 -31
  786. package/frappe/session.js +0 -8
  787. package/frappe/telemetry/index.ts +0 -48
  788. package/frappe/telemetry/pulse.ts +0 -181
  789. package/frappe/telemetry/telemetry.test.ts +0 -87
  790. package/frappe/telemetry/utils.ts +0 -15
  791. package/icons/IconPicker.story.vue +0 -126
  792. package/icons/IconPicker.vue +0 -221
  793. package/src/components/Alert/Alert.cy.ts +0 -64
  794. package/src/components/Alert/stories/Controlled.vue +0 -18
  795. package/src/components/Alert/stories/Slots.vue +0 -21
  796. package/src/components/Alert/stories/Themes.vue +0 -16
  797. package/src/components/Autocomplete/Autocomplete.cy.ts +0 -26
  798. package/src/components/Autocomplete/Autocomplete.vue +0 -412
  799. package/src/components/Autocomplete/deprecationKey.ts +0 -5
  800. package/src/components/Autocomplete/index.ts +0 -2
  801. package/src/components/Autocomplete/types.ts +0 -40
  802. package/src/components/Avatar/Avatar.cy.ts +0 -47
  803. package/src/components/Avatar/stories/Shapes.vue +0 -12
  804. package/src/components/Avatar/stories/Sizes.vue +0 -10
  805. package/src/components/Badge/Badge.cy.ts +0 -291
  806. package/src/components/Badge/stories/CallMeta.vue +0 -35
  807. package/src/components/Badge/stories/EventStatus.vue +0 -16
  808. package/src/components/Badge/stories/ListStatus.vue +0 -91
  809. package/src/components/Badge/stories/Reactions.vue +0 -33
  810. package/src/components/Badge/stories/RowTags.vue +0 -39
  811. package/src/components/Breadcrumbs/Breadcrumbs.cy.ts +0 -45
  812. package/src/components/Breadcrumbs/stories/Example.vue +0 -13
  813. package/src/components/Breadcrumbs/stories/Slots.vue +0 -21
  814. package/src/components/Button/Button.cy.ts +0 -223
  815. package/src/components/Button/stories/InlineActions.vue +0 -10
  816. package/src/components/Button/stories/LiveClassCard.vue +0 -34
  817. package/src/components/Button/stories/SectionAction.vue +0 -17
  818. package/src/components/Button/stories/SectionControls.vue +0 -28
  819. package/src/components/Button/stories/SelectionToolbar.vue +0 -20
  820. package/src/components/Button/stories/StackedActions.vue +0 -10
  821. package/src/components/Calendar/Calendar.api.md +0 -89
  822. package/src/components/Calendar/Calendar.md +0 -9
  823. package/src/components/Calendar/Calendar.vue +0 -735
  824. package/src/components/Calendar/CalendarDaily.vue +0 -176
  825. package/src/components/Calendar/CalendarMonthEvent.vue +0 -88
  826. package/src/components/Calendar/CalendarMonthly.vue +0 -187
  827. package/src/components/Calendar/CalendarTimeMarker.vue +0 -48
  828. package/src/components/Calendar/CalendarWeekDayEvent.vue +0 -342
  829. package/src/components/Calendar/CalendarWeekly.vue +0 -258
  830. package/src/components/Calendar/EventModalContent.vue +0 -57
  831. package/src/components/Calendar/NewEventModal.vue +0 -216
  832. package/src/components/Calendar/ShowMoreCalendarEvent.vue +0 -41
  833. package/src/components/Calendar/calendarUtils.js +0 -505
  834. package/src/components/Calendar/composables/useCalendarData.js +0 -56
  835. package/src/components/Calendar/composables/useEventModal.js +0 -55
  836. package/src/components/Calendar/index.ts +0 -3
  837. package/src/components/Calendar/stories/CustomHeader.vue +0 -153
  838. package/src/components/Calendar/stories/Examples.vue +0 -104
  839. package/src/components/Calendar/style.css +0 -44
  840. package/src/components/Calendar/useEventBase.js +0 -149
  841. package/src/components/Card.vue +0 -47
  842. package/src/components/Charts/Charts.md +0 -5
  843. package/src/components/Charts/ECharts.vue +0 -66
  844. package/src/components/Charts/NumberChart.vue +0 -58
  845. package/src/components/Charts/eChartOptions.ts +0 -369
  846. package/src/components/Charts/helpers.ts +0 -106
  847. package/src/components/Charts/index.ts +0 -0
  848. package/src/components/Charts/stories/Examples.vue +0 -232
  849. package/src/components/Checkbox/Checkbox.cy.ts +0 -95
  850. package/src/components/Checkbox/stories/Default.vue +0 -10
  851. package/src/components/Checkbox/stories/Group.vue +0 -27
  852. package/src/components/Checkbox/stories/HorizontalGroup.vue +0 -24
  853. package/src/components/Checkbox/stories/Labeling.vue +0 -30
  854. package/src/components/Checkbox/stories/SettingRow.vue +0 -23
  855. package/src/components/Checkbox/stories/Sizes.vue +0 -10
  856. package/src/components/Checkbox/stories/States.vue +0 -12
  857. package/src/components/Checkbox/stories/WithDescription.vue +0 -27
  858. package/src/components/CircularProgressBar/CircularProgressBar.api.md +0 -62
  859. package/src/components/CircularProgressBar/CircularProgressBar.md +0 -5
  860. package/src/components/CircularProgressBar/CircularProgressBar.story.vue +0 -65
  861. package/src/components/CircularProgressBar/CircularProgressBar.vue +0 -175
  862. package/src/components/CircularProgressBar/index.ts +0 -2
  863. package/src/components/CircularProgressBar/types.ts +0 -39
  864. package/src/components/Combobox/Combobox.cy.ts +0 -795
  865. package/src/components/Combobox/stories/Clearable.vue +0 -149
  866. package/src/components/Combobox/stories/CreateNew.vue +0 -92
  867. package/src/components/Combobox/stories/CustomValue.vue +0 -22
  868. package/src/components/Combobox/stories/EmojiPicker.vue +0 -52
  869. package/src/components/Combobox/stories/Footer.vue +0 -67
  870. package/src/components/Combobox/stories/Grouped.vue +0 -55
  871. package/src/components/Combobox/stories/InDialog.vue +0 -92
  872. package/src/components/Combobox/stories/Labeling.vue +0 -38
  873. package/src/components/Combobox/stories/MemberPicker.vue +0 -129
  874. package/src/components/Combobox/stories/Simple.vue +0 -32
  875. package/src/components/Combobox/stories/StatusPicker.vue +0 -98
  876. package/src/components/CommandPalette/CommandPalette.api.md +0 -54
  877. package/src/components/CommandPalette/CommandPalette.vue +0 -110
  878. package/src/components/CommandPalette/CommandPaletteItem.vue +0 -28
  879. package/src/components/ConfirmDialog.vue +0 -82
  880. package/src/components/DatePicker/DatePicker.cy.ts +0 -314
  881. package/src/components/DatePicker/DateRangePicker.cy.ts +0 -363
  882. package/src/components/DatePicker/DateTimePicker.cy.ts +0 -193
  883. package/src/components/DatePicker/stories/DateTime.vue +0 -119
  884. package/src/components/DatePicker/stories/Examples.vue +0 -152
  885. package/src/components/DatePicker/stories/Range.vue +0 -278
  886. package/src/components/DatePicker/useDatePicker.ts +0 -110
  887. package/src/components/Dialog/Dialog.cy.ts +0 -406
  888. package/src/components/Dialog/stories/CommandPalette.vue +0 -152
  889. package/src/components/Dialog/stories/Imperative.vue +0 -242
  890. package/src/components/Dialog/stories/Prompt.vue +0 -192
  891. package/src/components/Dialog/stories/Share.vue +0 -134
  892. package/src/components/Dialog/stories/Wizard.vue +0 -129
  893. package/src/components/Divider/Divider.cy.ts +0 -108
  894. package/src/components/Divider/stories/Action.vue +0 -34
  895. package/src/components/Divider/stories/Examples.vue +0 -25
  896. package/src/components/Dropdown/Dropdown.cy.ts +0 -143
  897. package/src/components/Dropdown/DropdownMenuItemContent.vue +0 -233
  898. package/src/components/Dropdown/DropdownMenuList.vue +0 -208
  899. package/src/components/Dropdown/DropdownRenderContent.vue +0 -24
  900. package/src/components/Dropdown/DropdownRenderContentAsChild.vue +0 -19
  901. package/src/components/Dropdown/stories/01_Simple.vue +0 -38
  902. package/src/components/Dropdown/stories/02_Shortcuts.vue +0 -42
  903. package/src/components/Dropdown/stories/03_Submenus.vue +0 -69
  904. package/src/components/Dropdown/stories/04_Switches.vue +0 -44
  905. package/src/components/Dropdown/stories/05_KebabMenu.vue +0 -78
  906. package/src/components/Dropdown/stories/06_UserMenu.vue +0 -145
  907. package/src/components/Dropdown/utils.ts +0 -170
  908. package/src/components/ErrorMessage/ErrorMessage.cy.ts +0 -15
  909. package/src/components/ErrorMessage/stories/ErrorObject.vue +0 -15
  910. package/src/components/ErrorMessage/stories/Examples.vue +0 -10
  911. package/src/components/FeatherIcon.vue +0 -59
  912. package/src/components/FileUploader/stories/Examples.vue +0 -25
  913. package/src/components/FormControl/FormControl.cy.ts +0 -222
  914. package/src/components/FormControl/FormControl.story.vue +0 -116
  915. package/src/components/FormControl/stories/RealForm.vue +0 -202
  916. package/src/components/FormLabel.vue +0 -31
  917. package/src/components/Icon/Icon.cy.ts +0 -78
  918. package/src/components/Input.cy.ts +0 -19
  919. package/src/components/Input.vue +0 -218
  920. package/src/components/ItemListRow/ItemListRow.cy.ts +0 -52
  921. package/src/components/ItemListRow/stories/RowStates.vue +0 -35
  922. package/src/components/KeyboardShortcut.vue +0 -282
  923. package/src/components/KeyboardShortcutsModal/KeyboardShortcutsModal.api.md +0 -42
  924. package/src/components/KeyboardShortcutsModal/KeyboardShortcutsModal.md +0 -173
  925. package/src/components/KeyboardShortcutsModal/KeyboardShortcutsModal.spec.ts +0 -146
  926. package/src/components/KeyboardShortcutsModal/KeyboardShortcutsModal.vue +0 -172
  927. package/src/components/KeyboardShortcutsModal/index.ts +0 -1
  928. package/src/components/ListFilter/FilterIcon.vue +0 -31
  929. package/src/components/ListFilter/ListFilter.api.md +0 -37
  930. package/src/components/ListFilter/ListFilter.vue +0 -294
  931. package/src/components/ListFilter/NestedPopover.vue +0 -60
  932. package/src/components/ListFilter/SearchComplete.vue +0 -85
  933. package/src/components/ListItem.vue +0 -28
  934. package/src/components/ListView/ListEmptyState.vue +0 -24
  935. package/src/components/ListView/ListFooter.vue +0 -63
  936. package/src/components/ListView/ListGroupHeader.vue +0 -46
  937. package/src/components/ListView/ListHeader.vue +0 -37
  938. package/src/components/ListView/ListRow.vue +0 -229
  939. package/src/components/ListView/ListRowItem.vue +0 -73
  940. package/src/components/ListView/ListSelectBanner.vue +0 -85
  941. package/src/components/ListView/ListView.api.md +0 -65
  942. package/src/components/ListView/ListView.md +0 -22
  943. package/src/components/ListView/ListView.vue +0 -177
  944. package/src/components/ListView/stories/CellSlot.vue +0 -65
  945. package/src/components/ListView/stories/CustomList.vue +0 -112
  946. package/src/components/ListView/stories/Disabled.vue +0 -57
  947. package/src/components/ListView/stories/Empty.vue +0 -40
  948. package/src/components/ListView/stories/Examples.vue +0 -56
  949. package/src/components/ListView/stories/GroupedRows.vue +0 -152
  950. package/src/components/LoadingIndicator.vue +0 -17
  951. package/src/components/LoadingText.vue +0 -11
  952. package/src/components/MonthPicker/MonthPicker.api.md +0 -43
  953. package/src/components/MonthPicker/MonthPicker.cy.ts +0 -83
  954. package/src/components/MonthPicker/MonthPicker.md +0 -7
  955. package/src/components/MonthPicker/MonthPicker.vue +0 -121
  956. package/src/components/MonthPicker/index.ts +0 -1
  957. package/src/components/MonthPicker/stories/Example.vue +0 -31
  958. package/src/components/MonthPicker/types.ts +0 -7
  959. package/src/components/MultiSelect/MultiSelect.cy.ts +0 -318
  960. package/src/components/MultiSelect/stories/AsyncOptions.vue +0 -114
  961. package/src/components/MultiSelect/stories/Example.vue +0 -25
  962. package/src/components/MultiSelect/stories/Footer.vue +0 -40
  963. package/src/components/MultiSelect/stories/Grouped.vue +0 -42
  964. package/src/components/MultiSelect/stories/Labeling.vue +0 -40
  965. package/src/components/MultiSelect/stories/Members.vue +0 -114
  966. package/src/components/MultiSelect/stories/Options.vue +0 -32
  967. package/src/components/MultiSelect/stories/TagsTrigger.vue +0 -77
  968. package/src/components/MultiSelect/stories/TriggerSlot.vue +0 -36
  969. package/src/components/Password/Password.cy.ts +0 -76
  970. package/src/components/Password/stories/Default.vue +0 -10
  971. package/src/components/Password/stories/Labeling.vue +0 -30
  972. package/src/components/Password/stories/LegacyValue.vue +0 -16
  973. package/src/components/Password/stories/Sizes.vue +0 -12
  974. package/src/components/Password/stories/States.vue +0 -16
  975. package/src/components/Password/stories/Variants.vue +0 -11
  976. package/src/components/Pill/Pill.api.md +0 -99
  977. package/src/components/Pill/Pill.md +0 -20
  978. package/src/components/Pill/Pill.vue +0 -161
  979. package/src/components/Pill/index.ts +0 -10
  980. package/src/components/Pill/stories/BrowserEdges.vue +0 -42
  981. package/src/components/Pill/stories/Sizes.vue +0 -49
  982. package/src/components/Pill/stories/Variants.vue +0 -53
  983. package/src/components/Pill/types.ts +0 -43
  984. package/src/components/Popover/Popover.cy.ts +0 -62
  985. package/src/components/Popover/stories/Click.vue +0 -14
  986. package/src/components/Popover/stories/Hover.vue +0 -14
  987. package/src/components/Progress/Progress.cy.ts +0 -80
  988. package/src/components/Progress/stories/Examples.vue +0 -7
  989. package/src/components/Progress/stories/Hint.vue +0 -7
  990. package/src/components/Progress/stories/Intervals.vue +0 -12
  991. package/src/components/Progress/stories/Sizes.vue +0 -12
  992. package/src/components/Provider/FrappeUIProvider.vue +0 -10
  993. package/src/components/Rating/Rating.cy.ts +0 -320
  994. package/src/components/Rating/stories/CustomIcon.vue +0 -31
  995. package/src/components/Rating/stories/CustomSlot.vue +0 -39
  996. package/src/components/Rating/stories/Default.vue +0 -10
  997. package/src/components/Rating/stories/HalfStep.vue +0 -10
  998. package/src/components/Rating/stories/Labeling.vue +0 -30
  999. package/src/components/Rating/stories/Sizes.vue +0 -12
  1000. package/src/components/Rating/stories/States.vue +0 -16
  1001. package/src/components/Resource.vue +0 -21
  1002. package/src/components/Select/Select.cy.ts +0 -452
  1003. package/src/components/Select/stories/Example.vue +0 -92
  1004. package/src/components/Select/stories/Footer.vue +0 -63
  1005. package/src/components/Select/stories/Labeling.vue +0 -39
  1006. package/src/components/Select/stories/OptionSlot.vue +0 -77
  1007. package/src/components/Select/stories/States.vue +0 -47
  1008. package/src/components/Select/stories/TriggerSlots.vue +0 -104
  1009. package/src/components/Sidebar/Sidebar.cy.ts +0 -101
  1010. package/src/components/Sidebar/stories/Example.vue +0 -76
  1011. package/src/components/Slider/Slider.cy.ts +0 -105
  1012. package/src/components/Slider/stories/Default.vue +0 -12
  1013. package/src/components/Slider/stories/Labeling.vue +0 -31
  1014. package/src/components/Slider/stories/Range.vue +0 -13
  1015. package/src/components/Slider/stories/Sizes.vue +0 -14
  1016. package/src/components/Slider/stories/States.vue +0 -18
  1017. package/src/components/Slider/stories/ValueCommit.vue +0 -29
  1018. package/src/components/Spinner/Spinner.cy.ts +0 -87
  1019. package/src/components/Spinner/stories/InContext.vue +0 -49
  1020. package/src/components/Spinner/stories/Sizes.vue +0 -12
  1021. package/src/components/Spinner/stories/Themes.vue +0 -10
  1022. package/src/components/Spinner/stories/Track.vue +0 -12
  1023. package/src/components/Switch/Switch.cy.ts +0 -111
  1024. package/src/components/Switch/stories/Default.vue +0 -10
  1025. package/src/components/Switch/stories/Icons.vue +0 -14
  1026. package/src/components/Switch/stories/Labeling.vue +0 -31
  1027. package/src/components/Switch/stories/LegacyChange.vue +0 -17
  1028. package/src/components/Switch/stories/Sizes.vue +0 -10
  1029. package/src/components/Switch/stories/States.vue +0 -12
  1030. package/src/components/TabButtons/TabButtons.cy.ts +0 -93
  1031. package/src/components/TabButtons/stories/PrefixSuffix.vue +0 -65
  1032. package/src/components/TabButtons/stories/Sizes.vue +0 -26
  1033. package/src/components/TabButtons/stories/Variants.vue +0 -40
  1034. package/src/components/TabButtons/stories/Vertical.vue +0 -64
  1035. package/src/components/Tabs/Tabs.cy.ts +0 -108
  1036. package/src/components/Tabs/stories/Icons.vue +0 -37
  1037. package/src/components/Tabs/stories/Orientation.vue +0 -46
  1038. package/src/components/TextEditor/TextEditor.api.md +0 -161
  1039. package/src/components/TextEditor/TextEditor.cy.ts +0 -181
  1040. package/src/components/TextEditor/TextEditor.md +0 -11
  1041. package/src/components/TextEditor/TextEditor.vue +0 -289
  1042. package/src/components/TextEditor/commands.js +0 -344
  1043. package/src/components/TextEditor/components/CodeBlockComponent.vue +0 -293
  1044. package/src/components/TextEditor/components/FontColor.vue +0 -145
  1045. package/src/components/TextEditor/components/ImageViewerModal.vue +0 -460
  1046. package/src/components/TextEditor/components/LinkPopup.vue +0 -104
  1047. package/src/components/TextEditor/components/MediaNodeView.vue +0 -396
  1048. package/src/components/TextEditor/components/MentionList.vue +0 -95
  1049. package/src/components/TextEditor/components/Menu.vue +0 -221
  1050. package/src/components/TextEditor/components/TextEditorBubbleMenu.vue +0 -69
  1051. package/src/components/TextEditor/components/TextEditorFixedMenu.vue +0 -78
  1052. package/src/components/TextEditor/components/TextEditorFloatingMenu.vue +0 -61
  1053. package/src/components/TextEditor/extensions/code-block.ts +0 -118
  1054. package/src/components/TextEditor/extensions/content-paste-extension.ts +0 -159
  1055. package/src/components/TextEditor/extensions/copy-styles.ts +0 -159
  1056. package/src/components/TextEditor/extensions/iframe/IframeNodeView.vue +0 -307
  1057. package/src/components/TextEditor/extensions/iframe/InsertIframe.vue +0 -209
  1058. package/src/components/TextEditor/extensions/image/image-extension.ts +0 -653
  1059. package/src/components/TextEditor/extensions/image-group/ImageGroupNodeView.vue +0 -181
  1060. package/src/components/TextEditor/extensions/image-group/ImageGroupUploadDialog.vue +0 -738
  1061. package/src/components/TextEditor/extensions/image-group/image-group-extension.ts +0 -186
  1062. package/src/components/TextEditor/extensions/image-viewer-extension.ts +0 -161
  1063. package/src/components/TextEditor/extensions/link/link-extension.ts +0 -322
  1064. package/src/components/TextEditor/extensions/link/linkPasteHandler.ts +0 -51
  1065. package/src/components/TextEditor/extensions/mention/mention-extension.ts +0 -203
  1066. package/src/components/TextEditor/extensions/slash-commands/slash-commands-extension.ts +0 -184
  1067. package/src/components/TextEditor/extensions/suggestion/SuggestionList.vue +0 -131
  1068. package/src/components/TextEditor/extensions/tag/tag-extension.ts +0 -169
  1069. package/src/components/TextEditor/extensions/toc-node/TocNodeView.vue +0 -438
  1070. package/src/components/TextEditor/extensions/toc-node/toc-node-extension.ts +0 -166
  1071. package/src/components/TextEditor/extensions/video-extension.ts +0 -652
  1072. package/src/components/TextEditor/index.ts +0 -7
  1073. package/src/components/TextEditor/stories/Comment.vue +0 -53
  1074. package/src/components/TextEditor/stories/Example.vue +0 -33
  1075. package/src/components/TextEditor/style.css +0 -190
  1076. package/src/components/TextEditor/types.ts +0 -72
  1077. package/src/components/TextInput/TextInput.cy.ts +0 -194
  1078. package/src/components/TextInput/stories/Default.vue +0 -10
  1079. package/src/components/TextInput/stories/Labeling.vue +0 -30
  1080. package/src/components/TextInput/stories/PrefixSuffix.vue +0 -28
  1081. package/src/components/TextInput/stories/Sizes.vue +0 -12
  1082. package/src/components/TextInput/stories/Slots.vue +0 -15
  1083. package/src/components/TextInput/stories/States.vue +0 -16
  1084. package/src/components/TextInput/stories/Types.vue +0 -17
  1085. package/src/components/TextInput/stories/Variants.vue +0 -11
  1086. package/src/components/Textarea/Textarea.cy.ts +0 -134
  1087. package/src/components/Textarea/stories/Default.vue +0 -10
  1088. package/src/components/Textarea/stories/Labeling.vue +0 -30
  1089. package/src/components/Textarea/stories/Sizes.vue +0 -12
  1090. package/src/components/Textarea/stories/States.vue +0 -16
  1091. package/src/components/Textarea/stories/Variants.vue +0 -11
  1092. package/src/components/TimePicker/TimePicker.cy.ts +0 -180
  1093. package/src/components/TimePicker/stories/Basic.vue +0 -26
  1094. package/src/components/TimePicker/stories/CustomOptions.vue +0 -27
  1095. package/src/components/TimePicker/stories/Range.vue +0 -45
  1096. package/src/components/TimePicker/stories/TwentyFour.vue +0 -23
  1097. package/src/components/Toast/Toast.api.md +0 -70
  1098. package/src/components/Toast/Toast.cy.ts +0 -85
  1099. package/src/components/Toast/Toast.test.ts +0 -107
  1100. package/src/components/Toast/Toast.vue +0 -151
  1101. package/src/components/Toast/stories/Actions.vue +0 -39
  1102. package/src/components/Toast/stories/Async.vue +0 -73
  1103. package/src/components/Toast/stories/CustomIcon.vue +0 -29
  1104. package/src/components/Toast/stories/Examples.vue +0 -40
  1105. package/src/components/Toast/stories/Quickstart.vue +0 -7
  1106. package/src/components/Tooltip/Tooltip.cy.ts +0 -114
  1107. package/src/components/Tooltip/stories/Examples.vue +0 -9
  1108. package/src/components/Tooltip/stories/Group.vue +0 -22
  1109. package/src/components/Tooltip/stories/Slots.vue +0 -16
  1110. package/src/components/Tree/stories/Example.vue +0 -63
  1111. package/src/components/Tree/tree.cy.ts +0 -144
  1112. package/src/components/VueGridLayout/Layout.vue +0 -129
  1113. package/src/components/VueGridLayout/types.ts +0 -26
  1114. package/src/composables/usePopoverMotion.ts +0 -37
  1115. package/src/composables/useShortcut.spec.ts +0 -466
  1116. package/src/composables/useShortcut.ts +0 -392
  1117. package/src/data-fetching/useCall/useCall.test.ts +0 -210
  1118. package/src/data-fetching/useDoc/useDoc.test.ts +0 -119
  1119. package/src/data-fetching/useDoctype/useDoctype.test.ts +0 -84
  1120. package/src/data-fetching/useList/useList.test.ts +0 -215
  1121. package/src/directives/visibility.ts +0 -40
  1122. package/src/mocks/handlers.ts +0 -125
  1123. package/src/mocks/node.ts +0 -4
  1124. package/src/mocks/utils.ts +0 -26
  1125. package/src/molecules/editor/Editor.cy.ts +0 -141
  1126. package/src/molecules/editor/Editor.test.ts +0 -265
  1127. package/src/molecules/editor/components/MediaResizeHandles.vue +0 -36
  1128. package/src/molecules/editor/components/media-node-view-utils.test.ts +0 -58
  1129. package/src/molecules/editor/composables/useNodeViewResize.test.ts +0 -186
  1130. package/src/molecules/editor/extensions/code-block/code-block-indent.test.ts +0 -44
  1131. package/src/molecules/editor/extensions/content-paste/paste-image-controller.test.ts +0 -86
  1132. package/src/molecules/editor/extensions/iframe/iframe-extension.test.ts +0 -72
  1133. package/src/molecules/editor/extensions/image-group/image-group-utils.test.ts +0 -99
  1134. package/src/molecules/editor/extensions/shared/color-palette.test.ts +0 -136
  1135. package/src/molecules/editor/extensions/shared/media-plugin.test.ts +0 -60
  1136. package/src/molecules/editor/extensions/shared/media-upload-engine.test.ts +0 -209
  1137. package/src/molecules/editor/extensions/shared/node-view.test.ts +0 -43
  1138. package/src/molecules/editor/extensions/slash-commands/slash-commands-extension.test.ts +0 -38
  1139. package/src/molecules/editor/kits.test.ts +0 -159
  1140. package/src/molecules/editor/menu.test.ts +0 -296
  1141. package/src/molecules/editor/stories/Comment.vue +0 -105
  1142. package/src/molecules/editor/stories/Inline.vue +0 -28
  1143. package/src/molecules/editor/stories/Primitives.vue +0 -73
  1144. package/src/molecules/editor/stories/RichText.vue +0 -129
  1145. package/src/molecules/editor/useEditor.test.ts +0 -241
  1146. package/src/resources/resources.test.ts +0 -45
  1147. package/src/utils/call.js +0 -98
  1148. package/src/utils/confirmDialog.js +0 -25
  1149. package/src/utils/dialog.cy.ts +0 -527
  1150. package/src/utils/frappeRequest.js +0 -112
  1151. package/src/utils/plugin.js +0 -43
  1152. package/src/utils/request.js +0 -57
  1153. package/src/utils/socketio.js +0 -12
  1154. package/src/utils/tailwind.config.js +0 -6
  1155. package/src/utils/theme.ts +0 -69
  1156. package/tailwind/audit-token-drift.cjs +0 -176
  1157. package/tailwind/colors.js +0 -642
  1158. package/tailwind/figma-variables-to-colors.js +0 -150
  1159. package/tailwind/tokens.js +0 -49
  1160. package/tailwind/update-tailwind-classes.js +0 -102
  1161. /package/{src/components → experimental}/Calendar/Icon/DayIcon.vue +0 -0
  1162. /package/{src/components → experimental}/Calendar/Icon/MonthIcon.vue +0 -0
  1163. /package/{src/components → experimental}/Calendar/Icon/WeekIcon.vue +0 -0
  1164. /package/{src/components → experimental}/Charts/AxisChart.vue +0 -0
  1165. /package/{src/components → experimental}/Charts/DonutChart.vue +0 -0
  1166. /package/{src/components → experimental}/Charts/FunnelChart.vue +0 -0
  1167. /package/{src/components → experimental}/Charts/axisChartOptions.ts +0 -0
  1168. /package/{src/components → experimental}/Charts/donutChartOptions.ts +0 -0
  1169. /package/{src/components → experimental}/Charts/funnelChartOptions.ts +0 -0
  1170. /package/{src/components → experimental}/Charts/types.ts +0 -0
  1171. /package/{src/components → experimental}/ListView/ListGroupRows.vue +0 -0
  1172. /package/{src/components → experimental}/ListView/ListGroups.vue +0 -0
  1173. /package/{src/components → experimental}/ListView/ListHeaderItem.vue +0 -0
  1174. /package/{src/components → experimental}/ListView/ListRows.vue +0 -0
  1175. /package/{src/components → experimental}/ListView/utils.js +0 -0
  1176. /package/{icons → experimental/SpriteIcons}/Icon.vue +0 -0
  1177. /package/{icons → experimental/SpriteIcons}/spritePlugin.ts +0 -0
  1178. /package/{src/components → experimental}/TextEditor/components/InsertImage.vue +0 -0
  1179. /package/{src/components → experimental}/TextEditor/components/InsertLink.vue +0 -0
  1180. /package/{src/components → experimental}/TextEditor/components/InsertVideo.vue +0 -0
  1181. /package/{src/components → experimental}/TextEditor/components/index.js +0 -0
  1182. /package/{src/components → experimental}/TextEditor/extensions/color/color-extension.ts +0 -0
  1183. /package/{src/components → experimental}/TextEditor/extensions/color/color-styles.css +0 -0
  1184. /package/{src/components → experimental}/TextEditor/extensions/color/index.ts +0 -0
  1185. /package/{src/components → experimental}/TextEditor/extensions/emoji/EmojiList.vue +0 -0
  1186. /package/{src/components → experimental}/TextEditor/extensions/emoji/emoji-extension.ts +0 -0
  1187. /package/{src/components → experimental}/TextEditor/extensions/emoji/emojis.json +0 -0
  1188. /package/{src/components → experimental}/TextEditor/extensions/heading/heading.ts +0 -0
  1189. /package/{src/components → experimental}/TextEditor/extensions/highlight/highlight-extension.ts +0 -0
  1190. /package/{src/components → experimental}/TextEditor/extensions/highlight/highlight-styles.css +0 -0
  1191. /package/{src/components → experimental}/TextEditor/extensions/highlight/index.ts +0 -0
  1192. /package/{src/components → experimental}/TextEditor/extensions/iframe/iframe-extension.ts +0 -0
  1193. /package/{src/components → experimental}/TextEditor/extensions/iframe/index.ts +0 -0
  1194. /package/{src/components → experimental}/TextEditor/extensions/iframe/utils.ts +0 -0
  1195. /package/{src/components → experimental}/TextEditor/extensions/image/index.ts +0 -0
  1196. /package/{src/components → experimental}/TextEditor/extensions/link/index.ts +0 -0
  1197. /package/{src/components → experimental}/TextEditor/extensions/mention/index.ts +0 -0
  1198. /package/{src/components → experimental}/TextEditor/extensions/mention/style.css +0 -0
  1199. /package/{src/components → experimental}/TextEditor/extensions/shared/color-utils.ts +0 -0
  1200. /package/{src/components → experimental}/TextEditor/extensions/slash-commands/SlashCommandsList.vue +0 -0
  1201. /package/{src/components → experimental}/TextEditor/extensions/suggestion/createSuggestionExtension.ts +0 -0
  1202. /package/{src/components → experimental}/TextEditor/extensions/suggestion/index.ts +0 -0
  1203. /package/{src/components → experimental}/TextEditor/extensions/tag/index.ts +0 -0
  1204. /package/{src/components → experimental}/TextEditor/extensions/toc-node/index.ts +0 -0
  1205. /package/{src/components → experimental}/TextEditor/utils.js +0 -0
  1206. /package/src/components/{Autocomplete/Autocomplete.api.md → Skeleton/Skeleton.api.md} +0 -0
@@ -0,0 +1,95 @@
1
+ <!-- Auto Generated by scripts/propsgen.ts -->
2
+ <script setup>
3
+ import PropsTable from '@/components/Docs/PropsTable.vue'
4
+ import SlotsTable from '@/components/Docs/SlotsTable.vue'
5
+ import EmitsTable from '@/components/Docs/EmitsTable.vue'
6
+
7
+ const propsData = [
8
+ {
9
+ name: 'as',
10
+ description: 'Element/component used to render the accordion container.',
11
+ required: false,
12
+ type: 'string'
13
+ },
14
+ {
15
+ name: 'headingTag',
16
+ description: 'Heading tag each trigger is wrapped in. The WAI-ARIA accordion pattern\nrequires triggers to sit inside a heading so assistive tech can navigate\nby heading; pick the level that fits the surrounding outline.',
17
+ required: false,
18
+ type: '"h1" | "h2" | "h3" | "h4" | "h5" | "h6"',
19
+ default: '"h3"'
20
+ },
21
+ {
22
+ name: 'items',
23
+ description: 'List of items to render.',
24
+ required: true,
25
+ type: 'AccordionItem[]'
26
+ },
27
+ {
28
+ name: 'type',
29
+ description: 'Whether one (`single`) or several (`multiple`) items can be open at the\nsame time. Determines the shape of `modelValue` / `defaultValue`:\na `string` for `single`, a `string[]` for `multiple`.',
30
+ required: false,
31
+ type: '"single" | "multiple"',
32
+ default: '"single"'
33
+ },
34
+ {
35
+ name: 'collapsible',
36
+ description: 'When `type` is `single`, allows the open item to be collapsed again by\nclicking its trigger. Ignored for `multiple`.',
37
+ required: false,
38
+ type: 'boolean',
39
+ default: 'true'
40
+ },
41
+ {
42
+ name: 'modelValue',
43
+ description: 'Currently open item value(s). Use with `v-model`.',
44
+ required: false,
45
+ type: 'string | string[]'
46
+ },
47
+ {
48
+ name: 'defaultValue',
49
+ description: 'Open item value(s) for uncontrolled usage.',
50
+ required: false,
51
+ type: 'string | string[]'
52
+ },
53
+ {
54
+ name: 'disabled',
55
+ description: 'Disables the whole accordion.',
56
+ required: false,
57
+ type: 'boolean',
58
+ default: 'false'
59
+ }
60
+ ]
61
+
62
+ const slotsData = [
63
+ {
64
+ name: 'item-label',
65
+ description: 'Custom renderer for an item\'s trigger label. Receives `{ item, index }`.',
66
+ type: '{ item: AccordionItem; index: number; }'
67
+ },
68
+ {
69
+ name: 'item-suffix',
70
+ description: 'Trailing, non-interactive header content (e.g. a `Badge` or count) shown\nbefore the chevron. Receives `{ item, index }`.',
71
+ type: '{ item: AccordionItem; index: number; }'
72
+ },
73
+ {
74
+ name: 'item-content',
75
+ description: 'Custom renderer for an item\'s panel. Receives `{ item, index }`.',
76
+ type: '{ item: AccordionItem; index: number; }'
77
+ }
78
+ ]
79
+
80
+ const emitsData = [
81
+ {
82
+ name: 'update:modelValue',
83
+ description: 'Fired when the model value changes.',
84
+ type: '[value: string | string[] | undefined]'
85
+ }
86
+ ]
87
+ </script>
88
+
89
+ ## API Reference
90
+
91
+ <PropsTable name="Accordion" :data="propsData"/>
92
+
93
+ <SlotsTable :data="slotsData"/>
94
+
95
+ <EmitsTable :data="emitsData"/>
@@ -0,0 +1,46 @@
1
+ # Accordion
2
+
3
+ Stacks sections of content behind labelled headers that expand and collapse.
4
+ Useful for FAQs, settings groups, and anywhere vertical space is at a premium.
5
+
6
+ > **Experimental** — `Accordion` ships from
7
+ > [`frappe-ui/experimental`](/docs/experimental) while its API settles, so it is
8
+ > exempt from the usual deprecation policy and can change shape or disappear in
9
+ > any release.
10
+
11
+ ```ts
12
+ import { Accordion } from 'frappe-ui/experimental'
13
+ import type { AccordionItem, AccordionProps } from 'frappe-ui/experimental'
14
+ ```
15
+
16
+ Each item needs a `value` — it is the item's identity and the key `modelValue` /
17
+ `defaultValue` refer to, so it must stay stable as `items` is reordered or
18
+ filtered.
19
+
20
+ ## Default
21
+
22
+ <ComponentPreview name="Accordion-Default" />
23
+
24
+ ## Multiple
25
+
26
+ <ComponentPreview name="Accordion-Multiple" />
27
+
28
+ ## Controlled
29
+
30
+ Bind `v-model` to own the open state in the parent — external controls can drive
31
+ it, and you can react to every change.
32
+
33
+ <ComponentPreview name="Accordion-Controlled" />
34
+
35
+ ## Icons
36
+
37
+ <ComponentPreview name="Accordion-Icons" />
38
+
39
+ ## Header suffix
40
+
41
+ Use the `#item-suffix` slot for trailing, non-interactive header content such as
42
+ a count or `Badge`.
43
+
44
+ <ComponentPreview name="Accordion-Suffix" />
45
+
46
+ <!-- @include: ./Accordion.api.md -->
@@ -0,0 +1,166 @@
1
+ <script setup lang="ts">
2
+ import { computed } from 'vue'
3
+ import {
4
+ AccordionContent,
5
+ AccordionHeader,
6
+ AccordionItem,
7
+ AccordionRoot,
8
+ AccordionTrigger,
9
+ } from 'reka-ui'
10
+ import type {
11
+ AccordionItem as AccordionItemType,
12
+ AccordionProps,
13
+ } from './types'
14
+
15
+ const props = withDefaults(defineProps<AccordionProps>(), {
16
+ type: 'single',
17
+ collapsible: true,
18
+ disabled: false,
19
+ headingTag: 'h3',
20
+ })
21
+
22
+ // Bound when the consumer uses `v-model`; otherwise reka falls back to
23
+ // `defaultValue` and manages the open state itself.
24
+ const model = defineModel<string | string[]>()
25
+
26
+ const dir = computed<'rtl' | 'ltr'>(() =>
27
+ typeof document !== 'undefined' && document.documentElement.dir === 'rtl'
28
+ ? 'rtl'
29
+ : 'ltr',
30
+ )
31
+
32
+ // reka treats `collapsible` as meaningful only for single-select accordions.
33
+ const collapsible = computed(() =>
34
+ props.type === 'single' ? props.collapsible : undefined,
35
+ )
36
+
37
+ defineSlots<{
38
+ /** Custom renderer for an item's trigger label. Receives `{ item, index }`. */
39
+ 'item-label'?: (props: { item: AccordionItemType; index: number }) => any
40
+
41
+ /**
42
+ * Trailing, non-interactive header content (e.g. a `Badge` or count) shown
43
+ * before the chevron. Receives `{ item, index }`.
44
+ */
45
+ 'item-suffix'?: (props: { item: AccordionItemType; index: number }) => any
46
+
47
+ /** Custom renderer for an item's panel. Receives `{ item, index }`. */
48
+ 'item-content'?: (props: { item: AccordionItemType; index: number }) => any
49
+ }>()
50
+ </script>
51
+
52
+ <template>
53
+ <AccordionRoot
54
+ :as="props.as"
55
+ :type="props.type"
56
+ :collapsible="collapsible"
57
+ :disabled="props.disabled"
58
+ :dir="dir"
59
+ :default-value="props.defaultValue"
60
+ v-model="model"
61
+ class="w-full divide-y divide-outline-gray-1"
62
+ data-slot="root"
63
+ >
64
+ <AccordionItem
65
+ v-for="(item, index) in props.items"
66
+ :key="item.value"
67
+ :value="item.value"
68
+ :disabled="item.disabled"
69
+ data-slot="item"
70
+ >
71
+ <AccordionHeader :as="props.headingTag" class="m-0 flex">
72
+ <AccordionTrigger
73
+ class="group flex flex-1 select-none items-center gap-2 rounded-4 px-2 py-3 text-left text-base font-medium text-ink-gray-8 outline-none transition-colors duration-150 hover:text-ink-gray-9 focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-outline-gray-3 disabled:cursor-not-allowed disabled:text-ink-gray-4 disabled:hover:text-ink-gray-4"
74
+ data-slot="trigger"
75
+ >
76
+ <span class="flex min-w-0 flex-1 items-center gap-2">
77
+ <span
78
+ v-if="
79
+ item.icon &&
80
+ typeof item.icon === 'string' &&
81
+ item.icon.startsWith('lucide-')
82
+ "
83
+ class="size-4 shrink-0 text-ink-gray-6"
84
+ :class="item.icon"
85
+ aria-hidden="true"
86
+ />
87
+ <component
88
+ v-else-if="item.icon"
89
+ :is="item.icon"
90
+ class="size-4 shrink-0 text-ink-gray-6"
91
+ />
92
+ <span class="truncate">
93
+ <slot name="item-label" v-bind="{ item, index }">
94
+ {{ item.title }}
95
+ </slot>
96
+ </span>
97
+ </span>
98
+
99
+ <slot name="item-suffix" v-bind="{ item, index }" />
100
+
101
+ <span
102
+ class="lucide-chevron-down size-4 shrink-0 text-ink-gray-5 transition-[transform,color] duration-200 ease-[cubic-bezier(0.23,1,0.32,1)] group-hover:text-ink-gray-8 group-data-[state=open]:rotate-180 group-disabled:text-ink-gray-4 motion-reduce:transition-none"
103
+ aria-hidden="true"
104
+ />
105
+ </AccordionTrigger>
106
+ </AccordionHeader>
107
+
108
+ <AccordionContent class="accordion-content" data-slot="content">
109
+ <div class="px-2 pb-3 text-p-base text-ink-gray-6">
110
+ <slot name="item-content" v-bind="{ item, index }">
111
+ {{ item.content }}
112
+ </slot>
113
+ </div>
114
+ </AccordionContent>
115
+ </AccordionItem>
116
+ </AccordionRoot>
117
+ </template>
118
+
119
+ <style scoped>
120
+ /*
121
+ * reka measures the panel's natural height into `--reka-accordion-content-height`,
122
+ * so we animate height to an exact pixel target — no JS, no magic numbers. A
123
+ * strong custom ease-out (Emil Kowalski) kept at 200ms makes it feel fast and
124
+ * settled; a paired opacity fade keeps the reveal from popping.
125
+ */
126
+ .accordion-content {
127
+ overflow: hidden;
128
+ }
129
+
130
+ .accordion-content[data-state='open'] {
131
+ animation: accordion-down 200ms cubic-bezier(0.23, 1, 0.32, 1);
132
+ }
133
+
134
+ .accordion-content[data-state='closed'] {
135
+ animation: accordion-up 200ms cubic-bezier(0.23, 1, 0.32, 1);
136
+ }
137
+
138
+ @keyframes accordion-down {
139
+ from {
140
+ height: 0;
141
+ opacity: 0;
142
+ }
143
+ to {
144
+ height: var(--reka-accordion-content-height);
145
+ opacity: 1;
146
+ }
147
+ }
148
+
149
+ @keyframes accordion-up {
150
+ from {
151
+ height: var(--reka-accordion-content-height);
152
+ opacity: 1;
153
+ }
154
+ to {
155
+ height: 0;
156
+ opacity: 0;
157
+ }
158
+ }
159
+
160
+ @media (prefers-reduced-motion: reduce) {
161
+ .accordion-content[data-state='open'],
162
+ .accordion-content[data-state='closed'] {
163
+ animation-duration: 1ms;
164
+ }
165
+ }
166
+ </style>
@@ -0,0 +1,2 @@
1
+ export { default as Accordion } from './Accordion.vue'
2
+ export type { AccordionItem, AccordionProps } from './types'
@@ -0,0 +1,63 @@
1
+ import type { Component } from 'vue'
2
+
3
+ export interface AccordionItem {
4
+ /**
5
+ * Unique value identifying the item, and the open/closed key for
6
+ * `modelValue` / `defaultValue`. Must be stable across renders: it is the
7
+ * item's identity, so deriving it from position would move the open state
8
+ * to a different panel whenever `items` is reordered or filtered.
9
+ */
10
+ value: string
11
+
12
+ /** Text shown in the trigger header. */
13
+ title: string
14
+
15
+ /** Content shown when the item is expanded. */
16
+ content?: string
17
+
18
+ /**
19
+ * Optional icon shown before the title. Pass a `lucide-*` class string for
20
+ * the recommended class-based form, or a Vue component for custom icons.
21
+ */
22
+ icon?: string | Component
23
+
24
+ /** Disables this item, preventing it from being toggled. */
25
+ disabled?: boolean
26
+ }
27
+
28
+ export interface AccordionProps {
29
+ /** Element/component used to render the accordion container. */
30
+ as?: string
31
+
32
+ /**
33
+ * Heading tag each trigger is wrapped in. The WAI-ARIA accordion pattern
34
+ * requires triggers to sit inside a heading so assistive tech can navigate
35
+ * by heading; pick the level that fits the surrounding outline.
36
+ */
37
+ headingTag?: 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6'
38
+
39
+ /** List of items to render. */
40
+ items: AccordionItem[]
41
+
42
+ /**
43
+ * Whether one (`single`) or several (`multiple`) items can be open at the
44
+ * same time. Determines the shape of `modelValue` / `defaultValue`:
45
+ * a `string` for `single`, a `string[]` for `multiple`.
46
+ */
47
+ type?: 'single' | 'multiple'
48
+
49
+ /**
50
+ * When `type` is `single`, allows the open item to be collapsed again by
51
+ * clicking its trigger. Ignored for `multiple`.
52
+ */
53
+ collapsible?: boolean
54
+
55
+ /** Currently open item value(s). Use with `v-model`. */
56
+ modelValue?: string | string[]
57
+
58
+ /** Open item value(s) for uncontrolled usage. */
59
+ defaultValue?: string | string[]
60
+
61
+ /** Disables the whole accordion. */
62
+ disabled?: boolean
63
+ }
@@ -0,0 +1,90 @@
1
+ <!-- Auto Generated by scripts/propsgen.ts -->
2
+ <script setup>
3
+ import PropsTable from '@/components/Docs/PropsTable.vue'
4
+ import SlotsTable from '@/components/Docs/SlotsTable.vue'
5
+ import EmitsTable from '@/components/Docs/EmitsTable.vue'
6
+
7
+ const propsData = [
8
+ {
9
+ name: 'events',
10
+ description: 'Events to render. Each needs an `id`, a title, and date/time fields.',
11
+ required: true,
12
+ type: 'CalendarEvent[]',
13
+ default: '[]'
14
+ },
15
+ {
16
+ name: 'config',
17
+ description: 'Behavior overrides, merged over the defaults.',
18
+ required: false,
19
+ type: 'Partial<CalendarConfig>',
20
+ default: '{}'
21
+ },
22
+ {
23
+ name: 'onClick',
24
+ description: 'Replaces the default single-click behavior (opening the event\npopover) with your own handler.',
25
+ required: false,
26
+ type: '((data: { e: MouseEvent; calendarEvent: CalendarEvent; }) => void)'
27
+ },
28
+ {
29
+ name: 'onDblClick',
30
+ description: 'Replaces the default double-click behavior (opening the edit\nmodal) with your own handler.',
31
+ required: false,
32
+ type: '((data: { e: MouseEvent | null; calendarEvent: CalendarEvent; }) => void)'
33
+ },
34
+ {
35
+ name: 'onCellClick',
36
+ description: 'Replaces the default cell-click behavior (opening the new-event\nmodal in edit mode) with your own handler.',
37
+ required: false,
38
+ type: '((data: CalendarCellClickData) => void)'
39
+ }
40
+ ]
41
+
42
+ const slotsData = [
43
+ {
44
+ name: 'header',
45
+ description: '',
46
+ type: '{ currentMonthYear: string; currentYear: number; currentMonth: number; enabledModes: CalendarActionO'
47
+ },
48
+ {
49
+ name: 'event-popover-content',
50
+ description: '',
51
+ type: '{ calendarEvent: { [x: string]: unknown; id?: string | number | undefined; name?: string | number | '
52
+ },
53
+ {
54
+ name: 'daily-header',
55
+ description: '',
56
+ type: '{ parseDateWithDay: any; currentDate: any; fullDay: any; }'
57
+ }
58
+ ]
59
+
60
+ const emitsData = [
61
+ {
62
+ name: 'delete',
63
+ description: '',
64
+ type: '[eventID: string | number | undefined]'
65
+ },
66
+ {
67
+ name: 'create',
68
+ description: '',
69
+ type: '[event: CalendarEvent]'
70
+ },
71
+ {
72
+ name: 'update',
73
+ description: '',
74
+ type: '[event: CalendarEvent]'
75
+ },
76
+ {
77
+ name: 'rangeChange',
78
+ description: '',
79
+ type: '[payload: { view: CalendarMode; startDate: string; endDate: string; }]'
80
+ }
81
+ ]
82
+ </script>
83
+
84
+ ## API Reference
85
+
86
+ <PropsTable name="Calendar" :data="propsData"/>
87
+
88
+ <SlotsTable :data="slotsData"/>
89
+
90
+ <EmitsTable :data="emitsData"/>
@@ -0,0 +1,160 @@
1
+ # Calendar
2
+
3
+ A date and event view for schedules, with Month, Week, and Day modes.
4
+
5
+ > **Parked** — `Calendar` left the root export in `1.0.0` and now ships from
6
+ > [`frappe-ui/experimental`](/docs/experimental) with its public API unchanged.
7
+ > It stays there, exempt from the deprecation policy, until a redesigned
8
+ > calendar family replaces it.
9
+
10
+ ```ts
11
+ import { Calendar } from 'frappe-ui/experimental'
12
+ import type { CalendarEvent, CalendarConfig } from 'frappe-ui/experimental'
13
+ ```
14
+
15
+ ## Default
16
+
17
+ <ComponentPreview name="Calendar-Examples" csr="true" />
18
+
19
+ ## Custom Header
20
+
21
+ Pass a `#header` slot to replace the default toolbar. The slot receives the
22
+ current title (`currentMonthYear`), the active view (`activeView`), the
23
+ enabled view options (`enabledModes`), and navigation functions
24
+ (`increment`, `decrement`, `updateActiveView`, `setCalendarDate`,
25
+ `onMonthYearChange`).
26
+
27
+ <ComponentPreview name="Calendar-CustomHeader" csr="true" />
28
+
29
+ ## Events
30
+
31
+ Each entry in `events` is a `CalendarEvent`:
32
+
33
+ ```ts
34
+ {
35
+ id: 'EV-001',
36
+ title: 'Design review',
37
+ participant: 'Jane Doe',
38
+ venue: 'Room 1',
39
+ fromDate: '2026-08-10',
40
+ toDate: '2026-08-10',
41
+ fromTime: '10:00',
42
+ toTime: '11:00',
43
+ color: 'blue', // amber | violet | pink | cyan | blue | orange | green
44
+ isFullDay: false,
45
+ }
46
+ ```
47
+
48
+ An event runs from `fromDate fromTime` to `toDate toTime`, dates inclusive.
49
+ One whose `toDate` is later than its `fromDate` spans those days: the Month
50
+ view draws it as a single bar across them, and the Week view puts it in the
51
+ all-day row. A timed event that crosses midnight but is shorter than a day
52
+ (an evening running late) stays in the time grid, cut at midnight into a
53
+ piece per day. A timed event ending at `00:00` stops as that day begins, so
54
+ it does not occupy it. Dragging a spanning event moves both ends together.
55
+
56
+ `isFullDay` events ignore their times and cover `fromDate`..`toDate` whole.
57
+
58
+ The calendar keeps an internal copy of `events` and refreshes it when the
59
+ prop changes. Edits made inside the calendar (create, drag, resize, delete)
60
+ mutate the copy and come back through the `create`, `update`, and `delete`
61
+ emits — persist them and refresh your source of truth from there.
62
+
63
+ `CalendarColorMap` exports the color palette (`amber`, `violet`, `pink`,
64
+ `cyan`, `blue`, `orange`, `green`) with the CSS variables used per state, for
65
+ building matching UI such as a color picker.
66
+
67
+ ## Month view
68
+
69
+ The Month view is a strip of week rows covering the month in view, and it
70
+ scrolls when the rows outgrow the calendar's height. The arrows, Today, and
71
+ the month picker move the month and scroll the strip to their date.
72
+
73
+ Each row is as tall as its busiest day needs. Multi-day events run as bars
74
+ across the top of the row; single-day events sit beneath them in their
75
+ cells with the title wrapping to a second line, so every event is shown —
76
+ there is no "n more".
77
+
78
+ Below the `sm` breakpoint the days stack instead: a row per day, a heading
79
+ where each month begins, and a week strip above to keep your place. Clicking a date number in either layout
80
+ opens that day in the Day view.
81
+
82
+ `rangeChange` reports the strip's full extent for the Month view — the
83
+ padding days of the first and last weeks included — so a data source that
84
+ fetches by range has events for every cell.
85
+
86
+ ## Config
87
+
88
+ The `config` prop takes a partial `CalendarConfig`; unset keys use these
89
+ defaults:
90
+
91
+ ```ts
92
+ {
93
+ defaultMode: 'Month', // 'Day' | 'Week' | 'Month'
94
+ disableModes: [], // views removed from the view switcher
95
+ isEditMode: false, // create / drag / resize / delete
96
+ enableShortcuts: true, // keyboard shortcuts (below)
97
+ scrollToHour: 15, // hour Week and Day views scroll to
98
+ hourHeight: 50, // pixel height of one hour row
99
+ timeFormat: '12h', // '12h' | '24h'
100
+ weekends: ['sunday'], // days shaded as weekend
101
+ eventIcons: {}, // icons keyed by an event's `type`
102
+ showIcon: true, // show the eventIcons icon on cards
103
+ noBorder: false, // remove the outer grid border
104
+ }
105
+ ```
106
+
107
+ `eventIcons` values are Vue components.
108
+
109
+ ## Keyboard shortcuts
110
+
111
+ With `enableShortcuts` on: `m` / `w` / `d` switch views, `t` jumps to today,
112
+ `←` / `→` navigate, and `Delete` removes the event whose popover is open
113
+ (edit mode only).
114
+
115
+ They stay out of the way of whatever is on top: nothing fires while a field has
116
+ focus, or while a dialog, popover, menu or select is open anywhere on the page.
117
+
118
+ ## Click handling
119
+
120
+ By default, a single click on an event opens its detail popover and a double
121
+ click opens the edit modal (edit mode only). Clicking an empty cell opens the
122
+ new-event modal in edit mode. Each behavior is replaceable with the
123
+ `onClick`, `onDblClick`, and `onCellClick` callback props — passing one turns
124
+ the default off for that interaction.
125
+
126
+ The popover's content is replaceable with the `#event-popover-content` slot,
127
+ which receives `{ calendarEvent, date, isEditMode, close }`.
128
+
129
+ `CalendarActiveEvent` exports the ref holding the id of the event whose
130
+ popover is open. Set it from outside to highlight an event, or clear it with
131
+ an empty string. The ref is module-level: every `<Calendar>` on the page
132
+ shares it.
133
+
134
+ ## Template ref
135
+
136
+ A template ref on `<Calendar>` exposes the calendar's state and navigation:
137
+
138
+ ```vue
139
+ <Calendar ref="calendar" :events="events" />
140
+ ```
141
+
142
+ ```ts
143
+ const calendar = useTemplateRef('calendar')
144
+
145
+ calendar.value.setCalendarDate('2026-08-10') // jump to a date (today if omitted)
146
+ calendar.value.updateActiveView('Week') // switch the view
147
+ calendar.value.activeView // the visible view
148
+ calendar.value.increment() // move forward one day / week / month
149
+ calendar.value.decrement() // move back one day / week / month
150
+ calendar.value.reloadEvents() // re-sync the internal copy of `events`
151
+ calendar.value.currentMonthYear // formatted title, e.g. "August 2026"
152
+ calendar.value.currentYear // 2026
153
+ calendar.value.currentMonth // 7 (0 = January)
154
+ calendar.value.currentDay // day of month anchoring the view
155
+ calendar.value.enabledModes // view options not disabled via config (fixed at mount)
156
+ calendar.value.selectedMonthDate // the month picker's date, `YYYY-MM-DD`
157
+ calendar.value.onMonthYearChange // jump to a date and sync the month picker
158
+ ```
159
+
160
+ <!-- @include: ./Calendar.api.md -->