@dataloop-ai/components 0.18.0 → 0.18.2

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 (277) hide show
  1. package/package.json +6 -3
  2. package/src/App.vue +5 -227
  3. package/src/assets/constants.scss +2 -1
  4. package/src/assets/globals.scss +21 -0
  5. package/src/components/basic/DlAccordion/DlAccordion.vue +26 -4
  6. package/src/components/basic/DlAccordion/components/AccordionHeader.vue +2 -1
  7. package/src/components/basic/DlAvatar/DlAvatar.vue +1 -1
  8. package/src/components/basic/DlButton/DlButton.vue +115 -25
  9. package/src/components/basic/DlButton/utils.ts +45 -2
  10. package/src/components/basic/DlChip/DlChip.vue +3 -7
  11. package/src/components/basic/DlChip/utils.ts +4 -4
  12. package/src/components/basic/DlContainer/DlContainer.vue +70 -0
  13. package/src/components/basic/DlContainer/index.ts +3 -0
  14. package/src/components/basic/DlEmptyState/DlEmptyState.vue +282 -0
  15. package/src/components/basic/DlEmptyState/index.ts +2 -0
  16. package/src/components/basic/DlEmptyState/types.ts +20 -0
  17. package/src/components/basic/DlGrid/DlGrid.vue +163 -0
  18. package/src/components/basic/DlGrid/index.ts +4 -0
  19. package/src/components/basic/DlGrid/types.ts +5 -0
  20. package/src/components/basic/DlKpi/components/KpiInfo.vue +2 -1
  21. package/src/components/basic/DlListItem/DlListItem.vue +96 -66
  22. package/src/components/basic/DlListItem/utils.ts +0 -3
  23. package/src/components/basic/DlPanelContainer/DlPanelContainer.vue +37 -13
  24. package/src/components/basic/DlPopup/DlPopup.vue +58 -11
  25. package/src/components/basic/DlPopup/components/PopupHeader.vue +11 -6
  26. package/src/components/basic/DlProgressChart/DlProgressChart.vue +2 -1
  27. package/src/components/basic/DlWidget/DlWidget.vue +273 -141
  28. package/src/components/basic/DlWidget/index.ts +1 -3
  29. package/src/components/basic/DlWidget/utils.ts +90 -8
  30. package/src/components/basic/index.ts +4 -2
  31. package/src/components/basic/types.ts +2 -0
  32. package/src/components/compound/DlCard/DlCard.vue +796 -0
  33. package/src/components/compound/DlCard/components/DescriptionModal.vue +137 -0
  34. package/src/components/compound/DlCard/types.ts +38 -0
  35. package/src/components/compound/DlCharts/charts/DlBarChart/DlBarChart.vue +39 -4
  36. package/src/components/compound/DlCharts/charts/DlColumnChart/DlColumnChart.vue +128 -36
  37. package/src/components/compound/DlCharts/charts/DlConfusionMatrix/DlConfusionMatrix.vue +167 -87
  38. package/src/components/compound/DlCharts/charts/DlConfusionMatrix/utils.ts +2 -1
  39. package/src/components/compound/DlCharts/charts/DlDoughnutChart/DlDoughnutChart.vue +44 -3
  40. package/src/components/compound/DlCharts/charts/DlDoughnutChart/DlDoughnutChartWidget.vue +1 -2
  41. package/src/components/compound/DlCharts/charts/DlDoughnutChart/components/DlDoughnutChartLegend.vue +9 -18
  42. package/src/components/compound/DlCharts/charts/DlLineChart/DlLineChart.vue +48 -9
  43. package/src/components/compound/DlCharts/charts/DlScatterChart/DlScatterChart.vue +667 -0
  44. package/src/components/compound/DlCharts/charts/DlScatterChart/index.ts +2 -0
  45. package/src/components/compound/DlCharts/charts/index.ts +1 -0
  46. package/src/components/compound/DlCharts/components/DlBrush.vue +3 -2
  47. package/src/components/compound/DlCharts/components/DlChartLabels.vue +2 -1
  48. package/src/components/compound/DlCharts/components/DlChartScrollBar.vue +1 -0
  49. package/src/components/compound/DlCharts/types/props.ts +5 -1
  50. package/src/components/compound/DlCharts/utils.ts +1 -1
  51. package/src/components/compound/DlCodeEditor/DlCodeEditor.vue +173 -0
  52. package/src/components/compound/DlCodeEditor/README.md +11 -0
  53. package/src/components/compound/DlCodeEditor/components/CodeEditor.vue +705 -0
  54. package/src/components/compound/DlCodeEditor/index.ts +3 -0
  55. package/src/components/compound/DlCodeEditor/styles/themes-base16.css +12809 -0
  56. package/src/components/compound/DlCodeEditor/styles/themes.css +3999 -0
  57. package/src/components/compound/DlCodeEditor/types.ts +21 -0
  58. package/src/components/compound/DlDateTime/DlDatePicker/DlDatePicker.vue +9 -1
  59. package/src/components/compound/DlDateTime/DlDatePicker/components/DlCalendar.vue +4 -2
  60. package/src/components/compound/DlDateTime/DlDatePicker/components/DlMonthCalendar.vue +2 -1
  61. package/src/components/compound/DlDateTime/DlDateTimeRange/{DlCardSidebar.vue → CardSidebar.vue} +10 -11
  62. package/src/components/compound/DlDateTime/DlDateTimeRange/DlDateTimeRange.vue +18 -9
  63. package/src/components/compound/DlDateTime/DlTimePicker/DlTimePicker.vue +2 -2
  64. package/src/components/compound/DlDialogBox/DlDialogBox.vue +74 -15
  65. package/src/components/compound/DlDialogBox/components/DlDialogBoxFooter.vue +1 -1
  66. package/src/components/compound/DlDialogBox/components/DlDialogBoxHeader.vue +9 -7
  67. package/src/components/compound/DlDropdownButton/DlDropdownButton.vue +13 -4
  68. package/src/components/compound/DlInput/DlInput.vue +80 -17
  69. package/src/components/compound/DlJsonEditor/DlJsonEditor.vue +42 -219
  70. package/src/components/compound/DlOptionGroup/DlOptionGroup.vue +16 -17
  71. package/src/components/compound/DlOptionGroup/components/MenuItemWrapper.vue +2 -2
  72. package/src/components/compound/DlPagination/DlPagination.vue +1 -1
  73. package/src/components/compound/DlPagination/components/PaginationLegend.vue +0 -2
  74. package/src/components/compound/DlPagination/components/RowsSelector.vue +0 -2
  75. package/src/components/compound/DlRange/DlRange.vue +3 -2
  76. package/src/components/compound/DlSearches/DlSearch/DlSearch.vue +12 -5
  77. package/src/components/compound/DlSearches/DlSmartSearch/DlSmartSearch.vue +413 -97
  78. package/src/components/compound/DlSearches/DlSmartSearch/components/DlSmartSearchFilters.vue +4 -1
  79. package/src/components/compound/DlSearches/DlSmartSearch/components/DlSmartSearchInput.vue +100 -39
  80. package/src/components/compound/DlSearches/DlSmartSearch/components/DlSuggestionsDropdown.vue +12 -7
  81. package/src/components/compound/DlSearches/DlSmartSearch/components/FiltersQuery.vue +5 -6
  82. package/src/components/compound/DlSearches/DlSmartSearch/types.ts +14 -0
  83. package/src/components/compound/DlSearches/DlSmartSearch/utils/highlightSyntax.ts +10 -6
  84. package/src/components/compound/DlSearches/DlSmartSearch/utils/index.ts +172 -48
  85. package/src/components/compound/DlSelect/DlSelect.vue +264 -130
  86. package/src/components/compound/DlSelect/utils.ts +4 -1
  87. package/src/components/compound/DlSlider/DlSlider.vue +10 -2
  88. package/src/components/compound/DlSlider/components/DlSliderBase.vue +3 -3
  89. package/src/components/compound/DlSlider/components/DlSliderInput.vue +17 -26
  90. package/src/components/compound/DlSlider/sliderStyles.scss +5 -1
  91. package/src/components/compound/DlSlider/useSlider.ts +2 -2
  92. package/src/components/compound/DlSlider/utils.ts +2 -2
  93. package/src/components/compound/DlStepper/DlStepper.vue +46 -4
  94. package/src/components/compound/DlStepper/components/DlStepperContent.vue +6 -2
  95. package/src/components/compound/DlStepper/components/DlStepperFooter.vue +12 -0
  96. package/src/components/compound/DlStepper/components/DlStepperSidebar.vue +24 -11
  97. package/src/components/compound/DlStepper/models/Step.ts +37 -8
  98. package/src/components/compound/DlStepper/models/Stepper.ts +108 -15
  99. package/src/components/compound/DlStepper/models/interfaces.ts +2 -1
  100. package/src/components/compound/DlTable/DlTable.vue +49 -14
  101. package/src/components/compound/DlTable/components/DlTd.vue +9 -9
  102. package/src/components/compound/DlTable/components/DlTh.vue +3 -2
  103. package/src/components/compound/DlTable/hooks/tableColumnSelection.ts +35 -40
  104. package/src/components/compound/DlTable/hooks/tableFilter.ts +33 -21
  105. package/src/components/compound/DlTable/hooks/tablePagination.ts +18 -18
  106. package/src/components/compound/DlTable/hooks/tableRowExpand.ts +2 -1
  107. package/src/components/compound/DlTable/hooks/tableRowSelection.ts +0 -1
  108. package/src/components/compound/DlTable/hooks/tableSort.ts +52 -47
  109. package/src/components/compound/DlTable/styles/dl-table-styles.scss +8 -0
  110. package/src/components/compound/DlTabs/DlTabs.vue +83 -31
  111. package/src/components/compound/DlTabs/components/DlTab.vue +14 -4
  112. package/src/components/compound/DlTabs/components/TabsWrapper.vue +32 -27
  113. package/src/components/compound/DlThumbnailGallery/DlThumbnailGallery.vue +268 -0
  114. package/src/components/compound/DlThumbnailGallery/index.ts +2 -0
  115. package/src/components/compound/DlThumbnailGallery/types.ts +11 -0
  116. package/src/components/compound/DlToast/api/useToast.ts +42 -1
  117. package/src/components/compound/DlToast/components/ToastComponent.vue +24 -32
  118. package/src/components/compound/DlToast/types.ts +52 -0
  119. package/src/components/compound/DlTreeTable/DlTreeTable.vue +1293 -0
  120. package/src/components/compound/DlTreeTable/components/DlTdTree.vue +119 -0
  121. package/src/components/compound/DlTreeTable/components/DlTrTree.vue +52 -0
  122. package/src/components/compound/DlTreeTable/index.ts +3 -0
  123. package/src/components/compound/DlTreeTable/types.ts +1 -0
  124. package/src/components/compound/DlTreeTable/utils/convertToNestedObject.ts +51 -0
  125. package/src/components/compound/DlTreeTable/utils/flatTreeData.ts +19 -0
  126. package/src/components/compound/DlTreeTable/utils/getFromChildren.ts +39 -0
  127. package/src/components/compound/DlTreeTable/utils/trSpacing.ts +13 -0
  128. package/src/components/compound/DlTreeTable/utils/treeTableRowSelection.ts +184 -0
  129. package/src/components/compound/index.ts +14 -1
  130. package/src/components/compound/types.ts +2 -0
  131. package/src/components/essential/DlBadge/DlBadge.vue +3 -3
  132. package/src/components/essential/DlCheckbox/DlCheckbox.vue +10 -7
  133. package/src/components/essential/DlEllipsis/DlEllipsis.vue +141 -0
  134. package/src/components/essential/DlIcon/DlIcon.vue +5 -5
  135. package/src/components/essential/DlLabel/DlLabel.vue +190 -0
  136. package/src/components/essential/DlLabel/index.ts +2 -0
  137. package/src/components/essential/DlList/DlList.vue +3 -3
  138. package/src/components/essential/DlMenu/DlMenu.vue +41 -22
  139. package/src/components/essential/DlMenu/utils.ts +8 -7
  140. package/src/components/essential/DlPageLayout/DlPageLayout.vue +90 -0
  141. package/src/components/essential/DlPageLayout/index.ts +2 -0
  142. package/src/components/essential/DlProgressBar/DlProgressBar.vue +1 -1
  143. package/src/components/essential/DlRadio/DlRadio.vue +10 -5
  144. package/src/components/essential/DlSeparator/DlSeparator.vue +2 -2
  145. package/src/components/essential/DlSpinner/index.ts +1 -13
  146. package/src/components/essential/DlSpinner/styles/spinnerStyles.scss +7 -0
  147. package/src/components/essential/DlSwitch/DlSwitch.vue +6 -3
  148. package/src/components/essential/DlTextArea/DlTextArea.vue +212 -7
  149. package/src/components/essential/DlThemeProvider/DlThemeProvider.vue +6 -0
  150. package/src/components/essential/DlTypography/DlTypography.vue +7 -1
  151. package/src/components/essential/index.ts +3 -2
  152. package/src/components/shared/DlInfoErrorMessage/DlInfoErrorMessage.vue +1 -1
  153. package/src/components/{essential → shared}/DlTooltip/DlTooltip.vue +26 -19
  154. package/src/components/shared/DlVirtualScroll/DlVirtualScroll.vue +106 -43
  155. package/src/components/shared/DlVirtualScroll/useVirtualScroll.ts +28 -4
  156. package/src/components/shared/index.ts +1 -0
  157. package/src/components/types.ts +2 -0
  158. package/src/demos/BarChartDemo.vue +59 -2
  159. package/src/demos/ColumnChartDemo.vue +67 -2
  160. package/src/demos/DlAccordionDemo.vue +92 -43
  161. package/src/demos/DlAlertDemo.vue +14 -0
  162. package/src/demos/DlButtonDemo.vue +41 -4
  163. package/src/demos/DlCardDemo.vue +156 -19
  164. package/src/demos/DlChartDoughnutDemo.vue +49 -2
  165. package/src/demos/DlCheckboxDemo.vue +28 -3
  166. package/src/demos/DlCodeEditor/DlCodeEditorDemo.vue +247 -0
  167. package/src/demos/DlCodeEditor/index.ts +2 -0
  168. package/src/demos/DlConfusionMatrixDemo.vue +93 -37
  169. package/src/demos/DlDemoPage.vue +235 -0
  170. package/src/demos/DlDialogBoxDemo.vue +56 -51
  171. package/src/demos/DlDropdownButtonDemo.vue +35 -27
  172. package/src/demos/DlEmptyStateDemo.vue +81 -0
  173. package/src/demos/DlGridDemo.vue +40 -0
  174. package/src/demos/DlInputDemo.vue +21 -1
  175. package/src/demos/DlJsonEditorDemo.vue +59 -0
  176. package/src/demos/DlLabelDemo.vue +208 -0
  177. package/src/demos/DlLineChartDemo.vue +50 -2
  178. package/src/demos/DlListDemo.vue +12 -9
  179. package/src/demos/DlMenuDemo.vue +147 -20
  180. package/src/demos/DlPageLayoutDemo.vue +146 -0
  181. package/src/demos/DlPanelContainerDemo.vue +113 -2
  182. package/src/demos/DlPopupDemo.vue +82 -1
  183. package/src/demos/DlRadioDemo.vue +16 -1
  184. package/src/demos/DlScatterChartDemo.vue +161 -0
  185. package/src/demos/DlSearchDemo.vue +9 -0
  186. package/src/demos/DlSelectDemo.vue +124 -27
  187. package/src/demos/DlSpinnerDemo.vue +0 -2
  188. package/src/demos/DlStepperDemo/DlStepperDemo.vue +5 -1
  189. package/src/demos/DlStepperDemo/EmptyStateStepper.vue +149 -0
  190. package/src/demos/DlStepperDemo/SimpleStepper.vue +4 -0
  191. package/src/demos/DlStepperDemo/steps/GeneralStep.vue +1 -0
  192. package/src/demos/DlSwitchDemo.vue +12 -0
  193. package/src/demos/DlTableDemo.vue +84 -5
  194. package/src/demos/DlTabsDemo.vue +92 -3
  195. package/src/demos/DlTextAreaDemo.vue +14 -17
  196. package/src/demos/DlThumbnailGalleryDemo.vue +99 -0
  197. package/src/demos/DlToastDemo.vue +3 -9
  198. package/src/demos/DlTooltipDemo.vue +66 -2
  199. package/src/demos/DlTreeTableDemo.vue +694 -0
  200. package/src/demos/DlVirtualScrollDemo.vue +3 -12
  201. package/src/demos/DlWidgetDemo.vue +252 -61
  202. package/src/demos/SmartSearchDemo/DlSmartSearchDemo.vue +151 -32
  203. package/src/demos/index.ts +23 -4
  204. package/src/hooks/use-anchor.ts +15 -17
  205. package/src/hooks/use-arrow-navigation.ts +64 -21
  206. package/src/hooks/use-model-toggle.ts +14 -16
  207. package/src/hooks/use-portal.ts +9 -3
  208. package/src/hooks/use-scroll-target.ts +2 -4
  209. package/src/hooks/use-size-observer.ts +3 -2
  210. package/src/hooks/use-suggestions.ts +239 -49
  211. package/src/hooks/use-transition.ts +10 -4
  212. package/src/index.ts +22 -1
  213. package/src/layouts/DlDatasetBrowser/DemoComponents/DatasetFooter.vue +78 -0
  214. package/src/layouts/DlDatasetBrowser/DemoComponents/DatasetHeader.vue +22 -0
  215. package/src/layouts/DlDatasetBrowser/DemoComponents/DatasetLeftDrawer.vue +96 -0
  216. package/src/layouts/DlDatasetBrowser/DemoComponents/DatasetMainContent.vue +51 -0
  217. package/src/layouts/DlDatasetBrowser/DemoComponents/DatasetRightDrawer.vue +88 -0
  218. package/src/layouts/DlDatasetBrowser/DemoComponents/MainContent/ActionsMenu.vue +70 -0
  219. package/src/layouts/DlDatasetBrowser/DemoComponents/MainContent/AutomationMenu.vue +106 -0
  220. package/src/layouts/DlDatasetBrowser/DemoComponents/MainContent/CardView.vue +101 -0
  221. package/src/layouts/DlDatasetBrowser/DemoComponents/MainContent/CardViewGallery.vue +141 -0
  222. package/src/layouts/DlDatasetBrowser/DemoComponents/MainContent/CardViewTable.vue +193 -0
  223. package/src/layouts/DlDatasetBrowser/DemoComponents/MainContent/EmptyState/LayoutEmptyState.vue +227 -0
  224. package/src/layouts/DlDatasetBrowser/DemoComponents/MainContent/EmptyState/UploadData.vue +106 -0
  225. package/src/layouts/DlDatasetBrowser/DemoComponents/MainContent/MainContentImages.vue +540 -0
  226. package/src/layouts/DlDatasetBrowser/DemoComponents/MainContent/MainContentNav.vue +329 -0
  227. package/src/layouts/DlDatasetBrowser/DemoComponents/NavbarKpi.vue +84 -0
  228. package/src/layouts/DlDatasetBrowser/DemoComponents/NavbarSearch.vue +132 -0
  229. package/src/layouts/DlDatasetBrowser/DemoComponents/SearchFilterMenu.vue +19 -0
  230. package/src/layouts/DlDatasetBrowser/DemoComponents/filters/AddFilter.vue +212 -0
  231. package/src/layouts/DlDatasetBrowser/DemoComponents/types/imageMetadata.ts +28 -0
  232. package/src/layouts/DlDatasetBrowser/DlDatasetBrowser.vue +42 -0
  233. package/src/layouts/DlStudioLayout/DlStudioLayout.vue +42 -0
  234. package/src/layouts/DlStudioLayout/components/Demo/LeftMenuContent.vue +23 -0
  235. package/src/layouts/DlStudioLayout/components/Demo/StudioFooter.vue +25 -0
  236. package/src/layouts/DlStudioLayout/components/Demo/StudioHeader.vue +121 -0
  237. package/src/layouts/DlStudioLayout/components/Demo/StudioLeftDrawer.vue +245 -0
  238. package/src/layouts/DlStudioLayout/components/Demo/StudioMainContent.vue +31 -0
  239. package/src/layouts/DlStudioLayout/components/Demo/StudioTabsMenu.vue +117 -0
  240. package/src/layouts/DlStudioLayout/components/Demo/TabMenu/FilterMenu.vue +62 -0
  241. package/src/layouts/DlStudioLayout/components/Demo/TabMenu/TabMenuAnnotations.vue +98 -0
  242. package/src/layouts/DlStudioLayout/components/Demo/TabMenu/TabMenuItem.vue +66 -0
  243. package/src/layouts/DlStudioLayout/components/LayoutNavbar.vue +24 -0
  244. package/src/layouts/DlStudioLayout/components/ListAutocomplete.vue +149 -0
  245. package/src/layouts/DlStudioLayout/components/NavigationDrawer.vue +147 -0
  246. package/src/layouts/DlStudioLayout/index.ts +2 -0
  247. package/src/layouts/DlStudioLayout/types/HorizontalItems.ts +9 -0
  248. package/src/layouts/DlStudioLayout/types/VerticalItems.ts +10 -0
  249. package/src/simple-code-editor.d.ts +1 -0
  250. package/src/utils/click-outside.ts +1 -1
  251. package/src/utils/dom.ts +5 -5
  252. package/src/utils/events.ts +3 -3
  253. package/src/utils/global-nodes.ts +2 -2
  254. package/src/utils/input-sizes.ts +5 -2
  255. package/src/utils/is-ellipsis-active.ts +4 -1
  256. package/src/utils/parse-smart-query.ts +209 -111
  257. package/src/utils/portal.ts +5 -5
  258. package/src/utils/position-engine.ts +7 -7
  259. package/src/utils/render.ts +1 -1
  260. package/src/utils/scroll.ts +2 -2
  261. package/src/utils/selection.ts +3 -3
  262. package/vite.config.ts +9 -1
  263. package/src/components/basic/DlCard/DlCard.vue +0 -241
  264. package/src/components/basic/DlCard/types.ts +0 -20
  265. package/src/components/basic/DlEllipsis/DlEllipsis.vue +0 -114
  266. package/src/components/basic/DlWidget/DlGrid.vue +0 -33
  267. package/src/components/basic/DlWidget/DlGridRow.vue +0 -32
  268. package/src/components/compound/DlSearches/DlSmartSearch/utils/utils.ts +0 -124
  269. package/src/components/compound/DlToast/utils/config.ts +0 -17
  270. package/src/components/essential/DlTextHolder/DlTextHolder.vue +0 -65
  271. package/src/components/essential/DlTextHolder/index.ts +0 -2
  272. package/src/demos/DlTextHolderDemo.vue +0 -42
  273. package/src/utils/swapNodes.ts +0 -30
  274. /package/src/components/{basic → compound}/DlCard/index.ts +0 -0
  275. /package/src/components/compound/DlDateTime/DlDateTimeRange/{DlDateInput.vue → DateInput.vue} +0 -0
  276. /package/src/components/{basic → essential}/DlEllipsis/index.ts +0 -0
  277. /package/src/components/{essential → shared}/DlTooltip/index.ts +0 -0
@@ -4,9 +4,6 @@
4
4
  <dl-virtual-scroll
5
5
  v-slot="{ item: row, index }"
6
6
  type="table"
7
- :virtual-scroll-item-size="48"
8
- :virtual-scroll-sticky-size-start="48"
9
- :virtual-scroll-sticky-size-end="32"
10
7
  :items="heavyList"
11
8
  style="height: 500px"
12
9
  @virtual-scroll="log"
@@ -27,9 +24,6 @@
27
24
  <dl-virtual-scroll
28
25
  v-slot="{ item, index }"
29
26
  style="max-width: 500px"
30
- :virtual-scroll-item-size="48"
31
- :virtual-scroll-sticky-size-start="48"
32
- :virtual-scroll-sticky-size-end="32"
33
27
  :items="horizontalList"
34
28
  virtual-scroll-horizontal
35
29
  >
@@ -47,9 +41,6 @@
47
41
  v-slot="{ item, index }"
48
42
  style="height: 300px"
49
43
  :items="basicList"
50
- :virtual-scroll-item-size="28"
51
- :virtual-scroll-sticky-size-start="28"
52
- :virtual-scroll-sticky-size-end="20"
53
44
  separator
54
45
  @virtual-scroll="log"
55
46
  >
@@ -69,9 +60,9 @@
69
60
  <dl-virtual-scroll
70
61
  style="height: 300px; gap: 20px"
71
62
  :items="customList"
72
- :virtual-scroll-item-size="293"
73
- :virtual-scroll-sticky-size-start="293"
74
- :virtual-scroll-sticky-size-end="200"
63
+ :virtual-scroll-item-size="295"
64
+ :virtual-scroll-sticky-size-start="20"
65
+ :virtual-scroll-sticky-size-end="20"
75
66
  separator
76
67
  @virtual-scroll="log"
77
68
  >
@@ -1,11 +1,183 @@
1
+ <template>
2
+ <div>
3
+ <div class="options">
4
+ <div class="select-layout">
5
+ <select
6
+ class="select-layout__input"
7
+ @change="selectLayout"
8
+ >
9
+ <option
10
+ v-for="(layoutItem, layoutIndex) in layouts"
11
+ :key="layoutIndex"
12
+ :value="layoutIndex"
13
+ >
14
+ {{ layoutItem.name }}
15
+ </option>
16
+ </select>
17
+ <button
18
+ class="select-layout__button"
19
+ @mousedown="saveLayout"
20
+ >
21
+ Save
22
+ </button>
23
+ <span class="select-layout__info">{{ hasBeenSaved }}</span>
24
+ </div>
25
+ <div class="widgets-per-row">
26
+ <span class="widgets-per-row__label"> Widgets per row: </span>
27
+ <input
28
+ v-model="widgetsPerRow"
29
+ class="widgets-per-row__input"
30
+ type="number"
31
+ >
32
+ </div>
33
+ </div>
34
+ <dl-grid
35
+ v-model="layout"
36
+ :max-elements-per-row="widgetsPerRow"
37
+ >
38
+ <dl-widget>
39
+ <template #header>
40
+ <span>Widget 1</span>
41
+ <span style="font-size: 12px; color: var(--dl-color-medium)">Subtitle</span>
42
+ </template>
43
+ <template #content>
44
+ <dl-bar-chart
45
+ :data="data"
46
+ :items-in-view="8"
47
+ />
48
+ </template>
49
+ <template #menu>
50
+ <div class="menu-icons">
51
+ <dl-icon
52
+ size="m"
53
+ icon="icon-dl-settings"
54
+ />
55
+ <dl-icon
56
+ size="m"
57
+ icon="icon-dl-download"
58
+ />
59
+ </div>
60
+ </template>
61
+ <template #description>
62
+ <span>Lorem ipsum dolor sit amet consectetur adipisicing
63
+ elit. Libero eligendi dolore, similique possimus
64
+ veritatis in vitae quia praesentium fuga quibusdam
65
+ autem. Doloremque tenetur repudiandae a cupiditate modi
66
+ dicta eveniet veritatis?</span>
67
+ </template>
68
+ </dl-widget>
69
+
70
+ <dl-widget>
71
+ <template #header>
72
+ <span>Widget 2</span>
73
+ </template>
74
+ <template #content>
75
+ <dl-bar-chart
76
+ :data="data"
77
+ :items-in-view="6"
78
+ />
79
+ </template>
80
+ </dl-widget>
81
+
82
+ <dl-widget>
83
+ <template #header>
84
+ <span>Widget 3</span>
85
+ </template>
86
+ <template #content>
87
+ <dl-bar-chart
88
+ :data="data"
89
+ :items-in-view="6"
90
+ />
91
+ </template>
92
+ </dl-widget>
93
+
94
+ <dl-widget>
95
+ <template #header>
96
+ <span>Widget 4</span>
97
+ <span style="font-size: 12px; color: gray">Subtitle</span>
98
+ </template>
99
+ <template #content>
100
+ <dl-bar-chart
101
+ :data="data"
102
+ :items-in-view="8"
103
+ />
104
+ </template>
105
+ <template #description>
106
+ <span>Lorem ipsum dolor sit amet consectetur adipisicing
107
+ elit. Libero eligendi dolore, similique possimus
108
+ veritatis in vitae quia praesentium fuga quibusdam
109
+ autem. Doloremque tenetur repudiandae a cupiditate modi
110
+ dicta eveniet veritatis?</span>
111
+ </template>
112
+ </dl-widget>
113
+
114
+ <dl-widget>
115
+ <template #header>
116
+ <span>Widget 5</span>
117
+ </template>
118
+ <template #content>
119
+ <dl-bar-chart
120
+ :data="data"
121
+ :items-in-view="6"
122
+ />
123
+ </template>
124
+ </dl-widget>
125
+
126
+ <dl-widget
127
+ is-empty
128
+ :empty-state-props="{
129
+ responsive: true,
130
+ style: 'min-height: 350px;',
131
+ bgSize: '130px',
132
+ bgImage: `url(https://raw.githubusercontent.com/dataloop-ai/icons/main/assets/usage.svg)`,
133
+ title: 'Lorem ipsum',
134
+ subtitle:
135
+ 'Lorem ipsum dolor sit amet consectetur. Senectus condimentum dolor sit',
136
+ info: 'To learn more about this analytics, read our documentation.'
137
+ }"
138
+ >
139
+ <template #header>
140
+ <span>Widget 5</span>
141
+ </template>
142
+ <template #links="">
143
+ <div style="display: flex; gap: 5px; padding: 0 20px">
144
+ <dl-button
145
+ padding="0px"
146
+ icon="icon-dl-sdk-documentation"
147
+ flat
148
+ uppercase
149
+ label="SDK"
150
+ />
151
+ <div class="break" />
152
+ <dl-button
153
+ padding="0px"
154
+ icon="icon-dl-file"
155
+ flat
156
+ label="Documentation"
157
+ />
158
+ <div class="break" />
159
+ <dl-button
160
+ padding="0px"
161
+ icon="icon-dl-youtube"
162
+ flat
163
+ label="Video"
164
+ />
165
+ </div>
166
+ </template>
167
+ </dl-widget>
168
+ </dl-grid>
169
+ </div>
170
+ </template>
171
+
1
172
  <script lang="ts">
2
- import { defineComponent } from 'vue-demi'
173
+ import { defineComponent, ref } from 'vue-demi'
3
174
  import {
4
175
  DlWidget,
5
- DlGridRow,
6
176
  DlGrid,
7
177
  DlBarChart,
8
- DlConfusionMatrix
178
+ DlGridLayout,
179
+ DlIcon,
180
+ DlButton
9
181
  } from '../components'
10
182
 
11
183
  const labelsFn = () => {
@@ -65,67 +237,86 @@ export default defineComponent({
65
237
  DlGrid,
66
238
  DlWidget,
67
239
  DlBarChart,
68
- DlGridRow,
69
- DlConfusionMatrix
240
+ DlIcon,
241
+ DlButton
70
242
  },
71
243
  setup() {
72
- return { data, labels, matrix }
244
+ const layout = ref([
245
+ [1, 5, 2],
246
+ [3, 4, 6]
247
+ ])
248
+
249
+ const layouts = ref<DlGridLayout[]>([
250
+ {
251
+ name: 'Layout 1',
252
+ value: layout.value
253
+ }
254
+ ])
255
+
256
+ const widgetsPerRow = ref(3)
257
+ const hasBeenSaved = ref('')
258
+
259
+ const saveLayout = () => {
260
+ const newLayout = {
261
+ name: `Layout ${layouts.value.length + 1}`,
262
+ value: layout.value
263
+ }
264
+ layouts.value.push(newLayout)
265
+ hasBeenSaved.value = `${newLayout.name} has been saved.`
266
+ setTimeout(() => {
267
+ hasBeenSaved.value = ''
268
+ }, 2000)
269
+ }
270
+
271
+ const selectLayout = (e: InputEvent) => {
272
+ const index = parseInt((e.target as HTMLInputElement).value)
273
+ layout.value = layouts.value[index].value
274
+ }
275
+
276
+ return {
277
+ data,
278
+ layout,
279
+ layouts,
280
+ widgetsPerRow,
281
+ hasBeenSaved,
282
+ saveLayout,
283
+ selectLayout
284
+ }
73
285
  }
74
286
  })
75
287
  </script>
76
288
 
77
- <template>
78
- <div>
79
- <dl-grid gap="20px">
80
- <dl-grid-row>
81
- <dl-widget>
82
- <template #header>
83
- <span>Widget 7</span>
84
- <span style="font-size: 12px; color: gray">Subtitle</span>
85
- </template>
86
- <template #content>
87
- <dl-confusion-matrix
88
- :matrix="matrix"
89
- :labels="labels"
90
- />
91
- </template>
92
- <template #description>
93
- <span>Lorem ipsum dolor sit amet consectetur adipisicing
94
- elit. Libero eligee a cupiditate modi dicta eveniet
95
- veritatis?</span>
96
- </template>
97
- </dl-widget>
98
- </dl-grid-row>
99
-
100
- <dl-grid-row gap="20px">
101
- <dl-widget>
102
- <template #header>
103
- <span>Widget 2</span>
104
- </template>
105
- <template #content>
106
- <dl-bar-chart
107
- :legend-props="legendProps"
108
- :data="data"
109
- :options="options"
110
- :items-in-view="6"
111
- />
112
- </template>
113
- </dl-widget>
114
-
115
- <dl-widget>
116
- <template #header>
117
- <span>Widget 3</span>
118
- </template>
119
- <template #content>
120
- <dl-bar-chart
121
- :legend-props="legendProps"
122
- :data="data"
123
- :options="options"
124
- :items-in-view="6"
125
- />
126
- </template>
127
- </dl-widget>
128
- </dl-grid-row>
129
- </dl-grid>
130
- </div>
131
- </template>
289
+ <style lang="scss" scoped>
290
+ .options {
291
+ width: 100%;
292
+ display: flex;
293
+ justify-content: space-between;
294
+ }
295
+ .widgets-per-row {
296
+ &__input {
297
+ padding: 5px;
298
+ border-radius: 5px;
299
+ width: 50px;
300
+ }
301
+ }
302
+ .select-layout {
303
+ &__input,
304
+ &__button {
305
+ padding: 5px;
306
+ border-radius: 5px;
307
+ margin: 0px 2px;
308
+ }
309
+ &__info {
310
+ font-size: 0.8em;
311
+ margin-left: 10px;
312
+ }
313
+ }
314
+ .menu-icons {
315
+ display: flex;
316
+ align-items: center;
317
+ & > * {
318
+ cursor: pointer;
319
+ margin: 0px 5px;
320
+ }
321
+ }
322
+ </style>
@@ -6,69 +6,189 @@
6
6
  dense
7
7
  label="Disabled"
8
8
  />
9
+ <dl-checkbox
10
+ v-model="strictState"
11
+ dense
12
+ label="Strict"
13
+ />
9
14
  </div>
15
+ <dl-input
16
+ v-model="textQuery"
17
+ style="width: 220px"
18
+ placeholder="Select option"
19
+ size="m"
20
+ />
10
21
  <div
11
22
  style="width: 100px"
12
23
  class="props"
13
24
  />
25
+ { "metadata.system.width": 5 }
14
26
  <dl-smart-search
27
+ v-model="queryObject"
15
28
  :aliases="aliases"
16
29
  :schema="schema"
17
- :color-schema="{
18
- fields: 'blue',
19
- operators: 'green',
20
- keywords: 'bold'
21
- }"
30
+ :color-schema="colorSchema"
22
31
  :filters="filters"
23
32
  :disabled="switchState"
24
33
  :is-loading="isLoading"
34
+ :strict="strictState"
25
35
  @remove-query="handleRemoveQuery"
26
36
  @save-query="handleSaveQuery"
27
37
  @search-query="handleSearchQuery"
28
38
  />
39
+ {{ queryObject }}
40
+
41
+ <br>
42
+ <br>
43
+ <br>
44
+ <br>
45
+ <br>
46
+ Test second if they work on same page..
47
+ <dl-smart-search
48
+ v-model="queryObject2"
49
+ :aliases="[]"
50
+ :schema="schema2"
51
+ :color-schema="colorSchema"
52
+ />
29
53
  </div>
30
54
  </template>
31
55
 
32
56
  <script lang="ts">
33
57
  import { defineComponent } from 'vue-demi'
34
- import { DlSmartSearch, DlCheckbox } from '../../components'
35
- import { Query } from '../../components/types'
36
- import { aliases, schema } from './schema'
58
+ import { DlSmartSearch, DlCheckbox, DlInput } from '../../components'
59
+ import { DlSmartSearchFilters, Query } from '../../components/types'
60
+ import { parseSmartQuery } from '../../utils'
37
61
 
38
62
  export default defineComponent({
39
63
  name: 'DlSmartSearchDemo',
40
64
  components: {
41
65
  DlSmartSearch,
42
- DlCheckbox
66
+ DlCheckbox,
67
+ DlInput
43
68
  },
44
69
  data() {
70
+ const schema: any = {
71
+ id: ['string', 'number'],
72
+ filename: 'string',
73
+ name: 'string',
74
+ url: 'string',
75
+ type: 'string',
76
+ dataset: 'string',
77
+ datasetId: 'string',
78
+ dir: 'string',
79
+ thumbnail: 'string',
80
+ createdAt: 'date',
81
+ annotated: 'boolean',
82
+ hidden: 'boolean',
83
+ metadata: {
84
+ system: {
85
+ width: 'number',
86
+ height: 'number',
87
+ '*': 'any'
88
+ },
89
+ test: 'any',
90
+ '*': 'any'
91
+ }
92
+ }
93
+ const schema2: any = {
94
+ type: [
95
+ 'class',
96
+ 'point',
97
+ 'line',
98
+ 'box',
99
+ 'cube',
100
+ 'segment',
101
+ 'ellipse',
102
+ 'binary',
103
+ 'note',
104
+ 'polyline',
105
+ 'comparison',
106
+ 'recording',
107
+ 'subtitle',
108
+ 'item_description',
109
+ 'text_mark',
110
+ 'pose',
111
+ 'cube_3d',
112
+ 'semantic_3d',
113
+ 'polyline_3d',
114
+ 'string'
115
+ ],
116
+ label: 'string',
117
+ itemId: 'string',
118
+ creator: 'string',
119
+ parentId: ['null', 'string'],
120
+ attributes: ['string', 'number', 'object', 'boolean'],
121
+ metadata: {
122
+ system: {
123
+ attributes: ['string', 'number', 'object', 'boolean'],
124
+ status: 'string',
125
+ '*': 'any'
126
+ },
127
+ '*': 'any'
128
+ }
129
+ }
130
+
131
+ const colorSchema: any = {
132
+ fields: 'var(--dl-color-secondary)',
133
+ operators: 'var(--dl-color-positive)',
134
+ keywords: 'var(--dl-color-medium)'
135
+ }
136
+
137
+ const aliases: any = [
138
+ {
139
+ alias: 'ItemID',
140
+ key: 'id'
141
+ },
142
+ {
143
+ alias: 'ItemHeight',
144
+ key: 'metadata.system.height'
145
+ },
146
+ {
147
+ alias: 'ItemWidth',
148
+ key: 'metadata.system.width'
149
+ }
150
+ ]
151
+
152
+ const filters: DlSmartSearchFilters = {
153
+ saved: [
154
+ {
155
+ name: 'Query 1',
156
+ query: '{"q": 1}'
157
+ },
158
+ {
159
+ name: 'Query 2',
160
+ query: '{"query2": "query2"}'
161
+ },
162
+ {
163
+ name: 'Query 3',
164
+ query: '{"query3": "query3"}'
165
+ },
166
+ {
167
+ name: 'Query 4',
168
+ query: '{"age": 12, "name": "john"}'
169
+ }
170
+ ],
171
+ recent: [],
172
+ suggested: []
173
+ }
174
+
45
175
  return {
46
176
  schema,
177
+ schema2,
47
178
  aliases,
179
+ colorSchema,
48
180
  switchState: false,
181
+ strictState: false,
49
182
  isLoading: false,
50
- filters: {
51
- saved: [
52
- {
53
- name: 'Query 1',
54
- query: '{"q": 1}'
55
- },
56
- {
57
- name: 'Query 2',
58
- query: '{"query2": "query2"}'
59
- },
60
- {
61
- name: 'Query 3',
62
- query: '{"query3": "query3"}'
63
- },
64
- {
65
- name: 'Query 4',
66
- query: '{"age": 12, "name": "john"}'
67
- }
68
- ],
69
- recent: [],
70
- suggested: []
71
- } as { [key: string]: Query[] }
183
+ queryObject: {},
184
+ queryObject2: {},
185
+ textQuery: '',
186
+ filters
187
+ }
188
+ },
189
+ watch: {
190
+ textQuery(query: string) {
191
+ this.queryObject = parseSmartQuery(query)
72
192
  }
73
193
  },
74
194
  methods: {
@@ -97,7 +217,6 @@ export default defineComponent({
97
217
  this.filters[type].push(query)
98
218
  }
99
219
  },
100
-
101
220
  handleRemoveQuery(query: Query, type: string) {
102
221
  this.filters[type] = this.filters[type].filter(
103
222
  (q: Query) => q.name !== query.name
@@ -1,3 +1,6 @@
1
+ import DlDemoPage from './DlDemoPage.vue'
2
+ export { DlDemoPage }
3
+
1
4
  import AvatarDemo from './DlAvatarDemo.vue'
2
5
  import DlAlertDemo from './DlAlertDemo.vue'
3
6
  import DlProgressChartDemo from './DlProgressChartDemo.vue'
@@ -39,22 +42,30 @@ import DlBadgeDemo from './DlBadgeDemo.vue'
39
42
  import DlTrendDemo from './DlTrendDemo.vue'
40
43
  import DlWidgetDemo from './DlWidgetDemo.vue'
41
44
  import DlRadioDemo from './DlRadioDemo.vue'
42
- import DlTextHolderDemo from './DlTextHolderDemo.vue'
45
+ import DlLabel from './DlLabelDemo.vue'
43
46
  import DlColumnChartDemo from './ColumnChartDemo.vue'
44
47
  import DlBarChartDemo from './BarChartDemo.vue'
45
48
  import DlSwitchDemo from './DlSwitchDemo.vue'
46
49
  import DlToastDemo from './DlToastDemo.vue'
47
50
  import DlChartDoughnutDemo from './DlChartDoughnutDemo.vue'
48
51
  import DlLineChartDemo from './DlLineChartDemo.vue'
52
+ import DlScatterChartDemo from './DlScatterChartDemo.vue'
49
53
  import DlSpinner from './DlSpinnerDemo.vue'
54
+ import DlEmptyStateDemo from './DlEmptyStateDemo.vue'
50
55
  import DlConfusionMatrix from './DlConfusionMatrixDemo.vue'
51
56
  import DlToggleButtonDemo from './DlToggleButtonDemo.vue'
52
57
  import DlKpiDemo from './DlKpiDemo.vue'
53
58
  import DlEllipsisDemo from './DlEllipsisDemo.vue'
54
59
  import DlSeparatorDemo from './DlSeparatorDemo.vue'
55
60
  import DlCardDemo from './DlCardDemo.vue'
61
+ import DlTreeTableDemo from './DlTreeTableDemo.vue'
62
+ import DlGridDemo from './DlGridDemo.vue'
56
63
  import DlMarkupTableDemo from './DlMarkupTableDemo.vue'
57
64
  import DlVirtualScrollDemo from './DlVirtualScrollDemo.vue'
65
+ import DlJsonEditorDemo from './DlJsonEditorDemo.vue'
66
+ import DlThumbnailGallery from './DlThumbnailGalleryDemo.vue'
67
+ import DlPageLayoutDemo from './DlPageLayoutDemo.vue'
68
+ import { DlCodeEditorDemo } from './DlCodeEditor'
58
69
 
59
70
  export default {
60
71
  AvatarDemo,
@@ -77,6 +88,7 @@ export default {
77
88
  DlThDemo,
78
89
  DlTdDemo,
79
90
  DlTableDemo,
91
+ DlTreeTableDemo,
80
92
  DlPaginationDemo,
81
93
  DlDateTimeRangeDemo,
82
94
  DlSmartSearchDemo,
@@ -98,20 +110,27 @@ export default {
98
110
  DlTrendDemo,
99
111
  DlWidgetDemo,
100
112
  DlRadioDemo,
101
- DlTextHolderDemo,
113
+ DlLabel,
102
114
  DlToastDemo,
103
115
  DlColumnChartDemo,
104
116
  DlSwitchDemo,
105
117
  DlChartDoughnutDemo,
106
118
  DlBarChartDemo,
107
119
  DlLineChartDemo,
120
+ DlScatterChartDemo,
108
121
  DlSpinner,
122
+ DlEmptyStateDemo,
123
+ DlEllipsisDemo,
109
124
  DlConfusionMatrix,
110
125
  DlToggleButtonDemo,
111
- DlEllipsisDemo,
112
126
  DlSeparatorDemo,
113
127
  DlKpiDemo,
114
128
  DlCardDemo,
129
+ DlGridDemo,
115
130
  DlMarkupTableDemo,
116
- DlVirtualScrollDemo
131
+ DlVirtualScrollDemo,
132
+ DlJsonEditorDemo,
133
+ DlThumbnailGallery,
134
+ DlCodeEditorDemo,
135
+ DlPageLayoutDemo
117
136
  }