@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
@@ -0,0 +1,329 @@
1
+ <template>
2
+ <div class="main-content-header">
3
+ <div style="display: flex; align-items: center">
4
+ <dl-checkbox
5
+ v-model="selectPageValue"
6
+ :value="3"
7
+ :label="selectPageLabel"
8
+ label-color="dl-color-darker"
9
+ label-size="12px"
10
+ @update:model-value="logValue"
11
+ />
12
+ <dl-separator
13
+ type="vertical"
14
+ height="20px"
15
+ />
16
+ <actions-menu :items="actionItems" />
17
+ <automation-menu :items="automationItems" />
18
+ </div>
19
+ <div
20
+ style="
21
+ display: flex;
22
+ height: 100%;
23
+ align-items: center;
24
+ justify-content: end;
25
+ padding-right: 10px;
26
+ gap: 10px;
27
+ "
28
+ >
29
+ <dl-typography
30
+ size="12px"
31
+ color="secondary"
32
+ >
33
+ Feature
34
+ </dl-typography>
35
+ <dl-button
36
+ flat
37
+ dense
38
+ icon="icon-dl-thumbnail"
39
+ :text-color="getViewModeSelectedColor('gallery')"
40
+ @click="emitViewModeGallery"
41
+ />
42
+ <dl-button
43
+ flat
44
+ dense
45
+ icon="icon-dl-list-view"
46
+ :text-color="getViewModeSelectedColor('table')"
47
+ @click="emitViewModeTable"
48
+ />
49
+ <dl-button
50
+ flat
51
+ dense
52
+ icon="icon-dl-card-view"
53
+ color="secondary"
54
+ @click="emitViewModeCard"
55
+ />
56
+ </div>
57
+ </div>
58
+ </template>
59
+
60
+ <script lang="ts">
61
+ import { defineComponent, ref } from 'vue-demi'
62
+ import {
63
+ DlButton,
64
+ DlCheckbox,
65
+ DlTypography,
66
+ DlSeparator
67
+ } from '../../../../components'
68
+ import ActionsMenu from './ActionsMenu.vue'
69
+ import AutomationMenu from './AutomationMenu.vue'
70
+
71
+ export default defineComponent({
72
+ name: 'MainContentNav',
73
+ components: {
74
+ DlTypography,
75
+ DlSeparator,
76
+ DlButton,
77
+ DlCheckbox,
78
+ ActionsMenu,
79
+ AutomationMenu
80
+ },
81
+ emit: ['onChangeViewMode'],
82
+ setup(props, ctx) {
83
+ const selectPageLabel = ref<string>('Select Page (100)')
84
+ const selectPageValue = ref<boolean>(false)
85
+ const viewModeSelected = ref<string>('gallery')
86
+ const scopeOptions = [
87
+ {
88
+ label: 'Select scope',
89
+ value: 1,
90
+ badgeColor: 'dl-color-disabled'
91
+ },
92
+ {
93
+ label: 'Status 2',
94
+ value: 2,
95
+ badgeColor: 'dl-color-secondary'
96
+ },
97
+ {
98
+ label: 'Status 3',
99
+ value: 3,
100
+ badgeColor: 'dl-color-positive'
101
+ },
102
+ {
103
+ label: 'Status 4',
104
+ value: 4,
105
+ badgeColor: 'dl-color-warning'
106
+ }
107
+ ]
108
+ const actionOptions = [
109
+ {
110
+ label: 'Actions',
111
+ value: 1,
112
+ badgeColor: 'dl-color-disabled'
113
+ },
114
+ {
115
+ label: 'Status 2',
116
+ value: 2,
117
+ badgeColor: 'dl-color-secondary'
118
+ },
119
+ {
120
+ label: 'Status 3',
121
+ value: 3,
122
+ badgeColor: 'dl-color-positive'
123
+ },
124
+ {
125
+ label: 'Status 4',
126
+ value: 4,
127
+ badgeColor: 'dl-color-warning'
128
+ }
129
+ ]
130
+ const automationOptions = [
131
+ {
132
+ label: 'Automation',
133
+ value: 1,
134
+ badgeColor: 'dl-color-disabled'
135
+ },
136
+ {
137
+ label: 'Status 2',
138
+ value: 2,
139
+ badgeColor: 'dl-color-secondary'
140
+ },
141
+ {
142
+ label: 'Status 3',
143
+ value: 3,
144
+ badgeColor: 'dl-color-positive'
145
+ },
146
+ {
147
+ label: 'Status 4',
148
+ value: 4,
149
+ badgeColor: 'dl-color-warning'
150
+ }
151
+ ]
152
+ const actionItems = [
153
+ {
154
+ id: 1,
155
+ label: 'Upload',
156
+ value: 'upload',
157
+ icon: 'icon-dl-upload',
158
+ isBordered: false
159
+ },
160
+ {
161
+ id: 2,
162
+ label: 'Export',
163
+ value: 'export',
164
+ icon: 'icon-dl-export',
165
+ isBordered: false
166
+ },
167
+ {
168
+ id: 3,
169
+ label: 'Clone',
170
+ value: 'clone',
171
+ icon: 'icon-dl-clone',
172
+ isBordered: false
173
+ },
174
+ {
175
+ id: 4,
176
+ label: 'Classification',
177
+ value: 'classification',
178
+ icon: 'icon-dl-classification',
179
+ isBordered: false
180
+ },
181
+ {
182
+ id: 5,
183
+ label: 'Move to Folder',
184
+ value: 'move-to-folder',
185
+ icon: 'icon-dl-move-to-folder',
186
+ isBordered: false
187
+ },
188
+ {
189
+ id: 6,
190
+ label: 'Show File Name',
191
+ value: 'move-file-name',
192
+ icon: 'icon-dl-file',
193
+ isBordered: false
194
+ },
195
+ {
196
+ id: 7,
197
+ label: 'Show Annotations',
198
+ value: 'show-annotations',
199
+ icon: 'icon-dl-annotation-outline',
200
+ isBordered: false
201
+ },
202
+ {
203
+ id: 8,
204
+ label: 'Show Hidden Items',
205
+ value: 'show-hidden-items',
206
+ icon: 'icon-dl-show',
207
+ isBordered: false
208
+ },
209
+ {
210
+ id: 9,
211
+ label: 'Delete',
212
+ labelColor: 'dl-color-negative',
213
+ value: 'delete',
214
+ icon: 'icon-dl-delete',
215
+ iconColor: 'dl-color-negative',
216
+ isBordered: true
217
+ }
218
+ ]
219
+ const automationItems = [
220
+ {
221
+ id: 1,
222
+ label: 'Applications',
223
+ value: 'applications',
224
+ icon: 'icon-dl-faas-outline',
225
+ isBordered: false,
226
+ children: [
227
+ {
228
+ id: 1,
229
+ label: 'COCO Converter',
230
+ value: 'coco-converter',
231
+ isBordered: false
232
+ },
233
+ {
234
+ id: 2,
235
+ label: 'YOLO Converter',
236
+ value: 'yolo-converter',
237
+ isBordered: false
238
+ },
239
+ {
240
+ id: 3,
241
+ label: 'VOC Converter',
242
+ value: 'voc-converter',
243
+ isBordered: false
244
+ }
245
+ ]
246
+ },
247
+ {
248
+ id: 2,
249
+ label: 'Functions',
250
+ value: 'functions',
251
+ icon: 'icon-dl-function',
252
+ isBordered: false
253
+ },
254
+ {
255
+ id: 3,
256
+ label: 'Pipelines',
257
+ value: 'pipelines',
258
+ icon: 'icon-dl-pipeline',
259
+ isBordered: false
260
+ }
261
+ ]
262
+
263
+ const getViewModeSelectedColor = (value: string) =>
264
+ viewModeSelected.value === value
265
+ ? 'dl-color-secondary'
266
+ : 'dl-color-dark'
267
+
268
+ const logValue = (newValue: any) => console.log('New value:', newValue)
269
+
270
+ const statusOption = ref({
271
+ label: 'Select scope',
272
+ value: 1,
273
+ badgeColor: 'dl-color-disabled'
274
+ })
275
+ const actionOption = ref({
276
+ label: 'Actions',
277
+ value: 1,
278
+ badgeColor: 'dl-color-disabled'
279
+ })
280
+ const automationOption = ref({
281
+ label: 'Automation',
282
+ value: 1,
283
+ badgeColor: 'dl-color-disabled'
284
+ })
285
+ const emitViewModeGallery = () => {
286
+ viewModeSelected.value = 'gallery'
287
+ ctx.emit('onChangeViewMode', 'gallery')
288
+ }
289
+ const emitViewModeTable = () => {
290
+ viewModeSelected.value = 'table'
291
+ ctx.emit('onChangeViewMode', 'table')
292
+ }
293
+ const emitViewModeCard = () => {
294
+ viewModeSelected.value = 'card'
295
+ ctx.emit('onChangeViewMode', 'card')
296
+ }
297
+
298
+ return {
299
+ logValue,
300
+ selectPageLabel,
301
+ selectPageValue,
302
+ scopeOptions,
303
+ actionOptions,
304
+ automationOptions,
305
+ statusOption,
306
+ actionOption,
307
+ automationOption,
308
+ actionItems,
309
+ automationItems,
310
+ emitViewModeGallery,
311
+ emitViewModeTable,
312
+ viewModeSelected,
313
+ getViewModeSelectedColor,
314
+ emitViewModeCard
315
+ }
316
+ }
317
+ })
318
+ </script>
319
+
320
+ <style scoped>
321
+ .main-content-header {
322
+ height: 40px;
323
+ display: grid;
324
+ grid-template-columns: 1fr 1fr;
325
+ width: 100%;
326
+ justify-self: center;
327
+ justify-content: center;
328
+ }
329
+ </style>
@@ -0,0 +1,84 @@
1
+ <template>
2
+ <div class="navbar-kpi">
3
+ <div style="display: flex; height: 100%; align-items: center">
4
+ <div style="padding-left: 25px">
5
+ <dl-typography
6
+ color="dl-color-lighter"
7
+ size="10px"
8
+ >
9
+ dataset
10
+ </dl-typography>
11
+ <dl-typography
12
+ color="dl-color-darker"
13
+ size="30px"
14
+ >
15
+ Fruit
16
+ </dl-typography>
17
+ </div>
18
+ </div>
19
+ <div
20
+ style="
21
+ display: flex;
22
+ height: 100%;
23
+ align-items: center;
24
+ justify-content: end;
25
+ padding-right: 10px;
26
+ "
27
+ >
28
+ <dl-counters
29
+ counter-font-size="20px"
30
+ title-font-size="12px"
31
+ :items="counterItems"
32
+ />
33
+ </div>
34
+ </div>
35
+ </template>
36
+
37
+ <script lang="ts">
38
+ import { defineComponent } from 'vue-demi'
39
+ import { DlTypography, DlCounters } from '../../../components'
40
+
41
+ export default defineComponent({
42
+ name: 'NavbarKpi',
43
+ components: {
44
+ DlTypography,
45
+ DlCounters
46
+ },
47
+ setup() {
48
+ const counterItems = [
49
+ {
50
+ value: 200,
51
+ text: 'All dataset items'
52
+ },
53
+ {
54
+ value: 100,
55
+ text: 'Selected items'
56
+ },
57
+ {
58
+ value: 12,
59
+ text: 'Annotated items'
60
+ },
61
+ {
62
+ value: 17,
63
+ text: 'Annotations'
64
+ }
65
+ ]
66
+
67
+ return {
68
+ counterItems
69
+ }
70
+ }
71
+ })
72
+ </script>
73
+
74
+ <style scoped>
75
+ .navbar-kpi {
76
+ height: 100px;
77
+ display: grid;
78
+ grid-template-columns: 1fr 1fr;
79
+ width: 100%;
80
+ justify-self: center;
81
+ justify-content: center;
82
+ background-color: var(--dl-color-body-background);
83
+ }
84
+ </style>
@@ -0,0 +1,132 @@
1
+ <template>
2
+ <div class="navbar-search">
3
+ <div
4
+ v-if="!isBasicSearch"
5
+ style="display: flex; gap: 15px"
6
+ >
7
+ <div style="width: 100%; position: relative">
8
+ <DlSmartSearch width="100%" />
9
+ </div>
10
+ <dl-button
11
+ flat
12
+ @click="isBasicSearch = !isBasicSearch"
13
+ >
14
+ <div style="white-space: nowrap">
15
+ Switch to basic
16
+ </div>
17
+ </dl-button>
18
+ </div>
19
+ <div
20
+ v-if="isBasicSearch"
21
+ style="display: flex; gap: 15px; align-items: center"
22
+ >
23
+ <SearchFilterMenu />
24
+ <dl-button
25
+ flat
26
+ @click="isBasicSearch = !isBasicSearch"
27
+ >
28
+ <div style="white-space: nowrap">
29
+ Reset
30
+ </div>
31
+ </dl-button>
32
+ </div>
33
+ <div style="display: flex; align-items: center; justify-content: end">
34
+ <div
35
+ v-if="isBasicSearch"
36
+ style="display: flex"
37
+ >
38
+ <dl-button
39
+ color="secondary"
40
+ outlined
41
+ >
42
+ Saved Filters
43
+ </dl-button>
44
+ <dl-button
45
+ color="secondary"
46
+ flat
47
+ @click="isBasicSearch = !isBasicSearch"
48
+ >
49
+ Advanced
50
+ </dl-button>
51
+ </div>
52
+ <dl-button
53
+ icon="icon-dl-info"
54
+ color="secondary"
55
+ flat
56
+ >
57
+ Details
58
+ </dl-button>
59
+ <dl-button
60
+ icon="icon-dl-refresh"
61
+ color="secondary"
62
+ flat
63
+ >
64
+ Details
65
+ </dl-button>
66
+ <dl-dropdown-button
67
+ split
68
+ label="Create Task"
69
+ >
70
+ <dl-list>
71
+ <dl-list-item clickable>
72
+ <dl-item-section> Photos </dl-item-section>
73
+ </dl-list-item>
74
+
75
+ <dl-list-item clickable>
76
+ <dl-item-section> Videos </dl-item-section>
77
+ </dl-list-item>
78
+
79
+ <dl-list-item clickable>
80
+ <dl-item-section> Articles </dl-item-section>
81
+ </dl-list-item>
82
+ </dl-list>
83
+ </dl-dropdown-button>
84
+ </div>
85
+ </div>
86
+ </template>
87
+
88
+ <script lang="ts">
89
+ import { defineComponent, ref } from 'vue-demi'
90
+ import SearchFilterMenu from './SearchFilterMenu.vue'
91
+ import {
92
+ DlSmartSearch,
93
+ DlButton,
94
+ DlDropdownButton,
95
+ DlList,
96
+ DlListItem,
97
+ DlItemSection
98
+ } from '../../../components'
99
+
100
+ export default defineComponent({
101
+ name: 'NavbarSearch',
102
+ components: {
103
+ DlSmartSearch,
104
+ DlButton,
105
+ DlDropdownButton,
106
+ DlList,
107
+ DlListItem,
108
+ DlItemSection,
109
+ SearchFilterMenu
110
+ },
111
+ setup() {
112
+ const isBasicSearch = ref(false)
113
+
114
+ return {
115
+ isBasicSearch
116
+ }
117
+ }
118
+ })
119
+ </script>
120
+
121
+ <style scoped>
122
+ .navbar-search {
123
+ height: 70px;
124
+ display: grid;
125
+ grid-template-columns: 1fr 1fr;
126
+ justify-self: center;
127
+ justify-content: center;
128
+ background-color: var(--dl-color-panel-background);
129
+ padding-inline: 25px;
130
+ align-items: center;
131
+ }
132
+ </style>
@@ -0,0 +1,19 @@
1
+ <template>
2
+ <div class="search-filter-menu">
3
+ <AddFilter />
4
+ </div>
5
+ </template>
6
+
7
+ <script lang="ts">
8
+ import { defineComponent } from 'vue-demi'
9
+ import AddFilter from './filters/AddFilter.vue'
10
+
11
+ export default defineComponent({
12
+ name: 'SearchFilterMenu',
13
+ components: {
14
+ AddFilter
15
+ }
16
+ })
17
+ </script>
18
+
19
+ <style scoped lang="scss"></style>