@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
@@ -52,12 +52,59 @@
52
52
  :options="tensionOptions"
53
53
  style="width: 50%"
54
54
  />
55
+ <dl-line-chart
56
+ id="example-three"
57
+ :brush-props="brushProps"
58
+ :display-brush="false"
59
+ :display-labels="false"
60
+ :display-legend="false"
61
+ :data="tensionLineData"
62
+ :options="tensionOptions"
63
+ style="width: 100%"
64
+ is-empty
65
+ :empty-state-props="{
66
+ responsive: true,
67
+ style: 'min-height: 450px;',
68
+ bgSize: '130px',
69
+ bgImage: `url(https://raw.githubusercontent.com/dataloop-ai/icons/main/assets/usage.svg)`,
70
+ title: 'Lorem ipsum',
71
+ subtitle:
72
+ 'Lorem ipsum dolor sit amet consectetur. Senectus condimentum dolor sit',
73
+ info: 'To learn more about this analytics, read our documentation.'
74
+ }"
75
+ >
76
+ <template #links="">
77
+ <div style="display: flex; gap: 5px; padding: 0 20px">
78
+ <dl-button
79
+ padding="0px"
80
+ icon="icon-dl-sdk-documentation"
81
+ flat
82
+ uppercase
83
+ label="SDK"
84
+ />
85
+ <div class="break" />
86
+ <dl-button
87
+ padding="0px"
88
+ icon="icon-dl-file"
89
+ flat
90
+ label="Documentation"
91
+ />
92
+ <div class="break" />
93
+ <dl-button
94
+ padding="0px"
95
+ icon="icon-dl-youtube"
96
+ flat
97
+ label="Video"
98
+ />
99
+ </div>
100
+ </template>
101
+ </dl-line-chart>
55
102
  </div>
56
103
  </template>
57
104
 
58
105
  <script lang="ts">
59
106
  import { defineComponent } from 'vue-demi'
60
- import { DlLineChart } from '../components'
107
+ import { DlLineChart, DlButton } from '../components'
61
108
  import { orderBy } from 'lodash'
62
109
 
63
110
  function randomIntFromInterval(min: number, max: number) {
@@ -336,7 +383,8 @@ const legendProps = {
336
383
  export default defineComponent({
337
384
  name: 'DlLineChartDemo',
338
385
  components: {
339
- DlLineChart
386
+ DlLineChart,
387
+ DlButton
340
388
  },
341
389
  data() {
342
390
  return {
@@ -56,10 +56,8 @@
56
56
  </dl-list-item>
57
57
  <dl-list-item
58
58
  clickable
59
- start-icon="icon-dl-search"
60
- end-icon="icon-dl-id"
61
- start-icon-color="dl-color-positive"
62
- end-icon-color="dl-color-secondary"
59
+ :start-icon="menuStartIcon"
60
+ :end-icon="menuEndIcon"
63
61
  @click="log"
64
62
  >
65
63
  <dl-item-section no-wrap>
@@ -132,10 +130,8 @@
132
130
  </dl-list-item>
133
131
  <dl-list-item
134
132
  clickable
135
- start-icon="icon-dl-search"
136
- end-icon="icon-dl-id"
137
- start-icon-color="dl-color-positive"
138
- end-icon-color="dl-color-secondary"
133
+ :start-icon="menuStartIcon"
134
+ :end-icon="menuEndIcon"
139
135
  @click="log"
140
136
  >
141
137
  <dl-item-section no-wrap>
@@ -171,7 +167,14 @@ export default defineComponent({
171
167
  },
172
168
  setup() {
173
169
  const log = (e: Event) => console.log(e)
174
- return { log }
170
+ return {
171
+ log,
172
+ menuStartIcon: {
173
+ icon: 'icon-dl-search',
174
+ color: 'dl-color-positive'
175
+ },
176
+ menuEndIcon: { icon: 'icon-dl-id', color: 'dl-color-secondary' }
177
+ }
175
178
  }
176
179
  })
177
180
  </script>
@@ -40,10 +40,8 @@
40
40
  </dl-list-item>
41
41
  <dl-list-item
42
42
  clickable
43
- start-icon="icon-dl-search"
44
- end-icon="icon-dl-id"
45
- start-icon-color="dl-color-positive"
46
- end-icon-color="dl-color-secondary"
43
+ :start-icon="menuStartIcon"
44
+ :end-icon="menuEndIcon"
47
45
  >
48
46
  <dl-item-section no-wrap>
49
47
  item with custom icon colors
@@ -149,10 +147,8 @@
149
147
  </dl-list-item>
150
148
  <dl-list-item
151
149
  clickable
152
- start-icon="icon-dl-search"
153
- end-icon="icon-dl-id"
154
- start-icon-color="dl-color-positive"
155
- end-icon-color="dl-color-secondary"
150
+ :start-icon="menuStartIcon"
151
+ :end-icon="menuEndIcon"
156
152
  >
157
153
  <dl-item-section no-wrap>
158
154
  item with custom icon colors
@@ -263,10 +259,8 @@
263
259
  </dl-list-item>
264
260
  <dl-list-item
265
261
  clickable
266
- start-icon="icon-dl-search"
267
- end-icon="icon-dl-id"
268
- start-icon-color="dl-color-positive"
269
- end-icon-color="dl-color-secondary"
262
+ :start-icon="menuStartIcon"
263
+ :end-icon="menuEndIcon"
270
264
  >
271
265
  <dl-item-section no-wrap>
272
266
  item with custom icon colors
@@ -339,7 +333,7 @@
339
333
  flex-direction: column;
340
334
  "
341
335
  >
342
- V-model {{ showing }}
336
+ With model V-model {{ showing }}
343
337
  <div>
344
338
  <dl-button
345
339
  color="primary"
@@ -363,10 +357,7 @@
363
357
  >
364
358
  Click me
365
359
 
366
- <dl-menu
367
- v-model="showing"
368
- :value="false"
369
- >
360
+ <dl-menu v-model="showing">
370
361
  <dl-list style="min-width: 100px">
371
362
  <dl-list-item clickable>
372
363
  <dl-item-section>New tab</dl-item-section>
@@ -498,6 +489,31 @@
498
489
  v-for="(item, index) in listItems"
499
490
  :key="index"
500
491
  clickable
492
+ :highlighted="index === highlightedIndex"
493
+ >
494
+ <dl-item-section>
495
+ {{ item }}
496
+ </dl-item-section>
497
+ </dl-list-item>
498
+ </dl-list>
499
+ </dl-menu>
500
+ </dl-button>
501
+
502
+ <h4>With max height with alot of elements</h4>
503
+ <dl-button :label="arrowNavigationLabel">
504
+ <dl-menu
505
+ max-height="250px"
506
+ self="bottom middle"
507
+ anchor="top middle"
508
+ :offset="[50, 5]"
509
+ @show="onShow"
510
+ @hide="onHide"
511
+ >
512
+ <dl-list style="min-width: 100px">
513
+ <dl-list-item
514
+ v-for="(item, index) in alotOfListItems"
515
+ :key="index"
516
+ clickable
501
517
  :is-highlighted="index === highlightedIndex"
502
518
  >
503
519
  <dl-item-section>
@@ -524,6 +540,8 @@ import {
524
540
  import { defineComponent, onMounted, ref, watch } from 'vue-demi'
525
541
  import { useArrowNavigation } from '../hooks/use-arrow-navigation'
526
542
 
543
+ type ItemType = Record<string, any> | string
544
+
527
545
  export default defineComponent({
528
546
  name: 'DlMenuDemo',
529
547
  components: {
@@ -537,7 +555,7 @@ export default defineComponent({
537
555
  setup() {
538
556
  const showing = ref(false)
539
557
  const isMenuOpen = ref(false)
540
- const arrowNavigationLabel = ref('Arrow Navigation Label')
558
+ const arrowNavigationLabel = ref<ItemType>('Arrow Navigation Label')
541
559
 
542
560
  const listItems = ref([
543
561
  'New tab',
@@ -549,6 +567,109 @@ export default defineComponent({
549
567
  'Help & Feedback'
550
568
  ])
551
569
 
570
+ const alotOfListItems = ref([
571
+ 'New tab0',
572
+ 'New incognito tab1',
573
+ 'Recent tabs2',
574
+ 'History3',
575
+ 'Downloads4',
576
+ 'Settings5',
577
+ 'Help & Feedback6',
578
+ 'New tab7',
579
+ 'New incognito tab8',
580
+ 'Recent tabs9',
581
+ 'History10',
582
+ 'Downloads11',
583
+ 'Settings12',
584
+ 'Help & Feedback13',
585
+ 'New tab14',
586
+ 'New incognito tab15',
587
+ 'Recent tabs16',
588
+ 'History17',
589
+ 'Downloads18',
590
+ 'Settings19',
591
+ 'Help & Feedback20',
592
+ 'New tab21',
593
+ 'New incognito tab22',
594
+ 'Recent tabs23',
595
+ 'History24',
596
+ 'Downloads25',
597
+ 'Settings26',
598
+ 'Help & Feedback27',
599
+ 'New tab28',
600
+ 'New incognito tab29',
601
+ 'Recent tabs30',
602
+ 'History31',
603
+ 'Downloads32',
604
+ 'Settings33',
605
+ 'Help & Feedback34',
606
+ 'New tab35',
607
+ 'New incognito tab36',
608
+ 'Recent tabs37',
609
+ 'History38',
610
+ 'Downloads39',
611
+ 'Settings40',
612
+ 'Help & Feedback41',
613
+ 'New tab42',
614
+ 'New incognito tab43',
615
+ 'Recent tabs44',
616
+ 'History45',
617
+ 'Downloads46',
618
+ 'Settings47',
619
+ 'Help & Feedback48',
620
+ 'New tab49',
621
+ 'New incognito tab50',
622
+ 'Recent tabs51',
623
+ 'History52',
624
+ 'Downloads53',
625
+ 'Settings54',
626
+ 'Help & Feedback55',
627
+ 'New tab56',
628
+ 'New incognito tab57',
629
+ 'Recent tabs58',
630
+ 'History59',
631
+ 'Downloads60',
632
+ 'Settings61',
633
+ 'Help & Feedback62',
634
+ 'New tab63',
635
+ 'New incognito tab64',
636
+ 'Recent tabs65',
637
+ 'History66',
638
+ 'Downloads67',
639
+ 'Settings68',
640
+ 'Help & Feedback69',
641
+ 'New tab70',
642
+ 'New incognito tab71',
643
+ 'Recent tabs72',
644
+ 'History73',
645
+ 'Downloads74',
646
+ 'Settings75',
647
+ 'Help & Feedback76',
648
+ 'New tab77',
649
+ 'New incognito tab78',
650
+ 'Recent tabs79',
651
+ 'History80',
652
+ 'Downloads81',
653
+ 'Settings82',
654
+ 'Help & Feedback83',
655
+ 'New tab84',
656
+ 'New incognito tab85',
657
+ 'Recent tabs86',
658
+ 'History87',
659
+ 'Downloads88',
660
+ 'Settings89',
661
+ 'Help & Feedback90',
662
+ 'New tab91',
663
+ 'New incognito tab92',
664
+ 'Recent tabs93',
665
+ 'History94',
666
+ 'Downloads95',
667
+ 'Settings96',
668
+ 'Help & Feedback97',
669
+ 'New tab98',
670
+ 'New incognito tab99'
671
+ ])
672
+
552
673
  const onShow = (value: any) => {
553
674
  isMenuOpen.value = !!value
554
675
  }
@@ -560,7 +681,7 @@ export default defineComponent({
560
681
  isMenuOpen
561
682
  )
562
683
 
563
- watch(selectedItem, (value: string) => {
684
+ watch(selectedItem, (value: ItemType | string) => {
564
685
  arrowNavigationLabel.value = value
565
686
  })
566
687
 
@@ -576,7 +697,13 @@ export default defineComponent({
576
697
  isMenuOpen,
577
698
  selectedItem,
578
699
  highlightedIndex,
579
- arrowNavigationLabel
700
+ arrowNavigationLabel,
701
+ alotOfListItems,
702
+ menuStartIcon: {
703
+ icon: 'icon-dl-search',
704
+ color: 'dl-color-positive'
705
+ },
706
+ menuEndIcon: { icon: 'icon-dl-id', color: 'dl-color-secondary' }
580
707
  }
581
708
  }
582
709
  })
@@ -0,0 +1,146 @@
1
+ <template>
2
+ <div style="height: 100px; width: 100%">
3
+ <dl-button @click="isOpenedStudioModal = true">
4
+ Studio Layout
5
+ </dl-button>
6
+ <div
7
+ v-if="isOpenedStudioModal"
8
+ class="fullscreen-template"
9
+ >
10
+ <div class="fullscreen-template__close">
11
+ <dl-button
12
+ flat
13
+ icon="icon-dl-close"
14
+ @click="isOpenedStudioModal = false"
15
+ />
16
+ </div>
17
+ <DlStudioLayout>
18
+ <template #header>
19
+ <studio-header
20
+ :expand-left-drawer="expandLeftDrawer"
21
+ @update:expand-left-drawer="handleExpandLeftDrawer"
22
+ />
23
+ </template>
24
+ <template #left-menu>
25
+ <left-menu-content />
26
+ </template>
27
+ <template #leftDrawer>
28
+ <studio-left-drawer />
29
+ </template>
30
+ <template #rightDrawer>
31
+ <studio-tabs-menu />
32
+ </template>
33
+ <template #mainContent>
34
+ <studio-main-content />
35
+ </template>
36
+ <template #footer>
37
+ <studio-footer />
38
+ </template>
39
+ </DlStudioLayout>
40
+ </div>
41
+ <dl-button @click="isOpenedDatasetBrowserModal = true">
42
+ Dataset Browser
43
+ </dl-button>
44
+ <div
45
+ v-if="isOpenedDatasetBrowserModal"
46
+ class="fullscreen-template"
47
+ >
48
+ <div class="fullscreen-template__close">
49
+ <dl-button
50
+ icon="icon-dl-close"
51
+ flat
52
+ @click="isOpenedDatasetBrowserModal = false"
53
+ />
54
+ </div>
55
+ <dl-dataset-browser>
56
+ <template #header>
57
+ <dataset-header />
58
+ </template>
59
+ <template #leftDrawer>
60
+ <dataset-left-drawer />
61
+ </template>
62
+ <template #rightDrawer>
63
+ <dataset-right-drawer />
64
+ </template>
65
+ <template #mainContent>
66
+ <dataset-main-content />
67
+ </template>
68
+ <template #footer>
69
+ <dataset-footer />
70
+ </template>
71
+ </dl-dataset-browser>
72
+ </div>
73
+ </div>
74
+ </template>
75
+
76
+ <script lang="ts">
77
+ import { defineComponent, ref } from 'vue-demi'
78
+ import { DlButton } from '../components'
79
+ import DlStudioLayout from '../layouts/DlStudioLayout/DlStudioLayout.vue'
80
+ import StudioHeader from '../layouts/DlStudioLayout/components/Demo/StudioHeader.vue'
81
+ import StudioMainContent from '../layouts/DlStudioLayout/components/Demo/StudioMainContent.vue'
82
+ import LeftMenuContent from '../layouts/DlStudioLayout/components/Demo/LeftMenuContent.vue'
83
+ import StudioTabsMenu from '../layouts/DlStudioLayout/components/Demo/StudioTabsMenu.vue'
84
+ import StudioLeftDrawer from '../layouts/DlStudioLayout/components/Demo/StudioLeftDrawer.vue'
85
+ import StudioFooter from '../layouts/DlStudioLayout/components/Demo/StudioFooter.vue'
86
+ import DlDatasetBrowser from '../layouts/DlDatasetBrowser/DlDatasetBrowser.vue'
87
+ import DatasetHeader from '../layouts/DlDatasetBrowser/DemoComponents/DatasetHeader.vue'
88
+ import DatasetMainContent from '../layouts/DlDatasetBrowser/DemoComponents/DatasetMainContent.vue'
89
+ import DatasetLeftDrawer from '../layouts/DlDatasetBrowser/DemoComponents/DatasetLeftDrawer.vue'
90
+ import DatasetRightDrawer from '../layouts/DlDatasetBrowser/DemoComponents/DatasetRightDrawer.vue'
91
+ import DatasetFooter from '../layouts/DlDatasetBrowser/DemoComponents/DatasetFooter.vue'
92
+
93
+ export default defineComponent({
94
+ name: 'DlPageLayoutDemo',
95
+ components: {
96
+ DlButton,
97
+ DlStudioLayout,
98
+ StudioHeader,
99
+ StudioMainContent,
100
+ StudioTabsMenu,
101
+ StudioLeftDrawer,
102
+ StudioFooter,
103
+ LeftMenuContent,
104
+ DlDatasetBrowser,
105
+ DatasetHeader,
106
+ DatasetLeftDrawer,
107
+ DatasetRightDrawer,
108
+ DatasetFooter,
109
+ DatasetMainContent
110
+ },
111
+ setup() {
112
+ const expandLeftDrawer = ref(false)
113
+ const isOpenedDatasetBrowserModal = ref(false)
114
+ const isOpenedStudioModal = ref(false)
115
+
116
+ const handleExpandLeftDrawer = (value: any) => {
117
+ expandLeftDrawer.value = value
118
+ }
119
+
120
+ return {
121
+ expandLeftDrawer,
122
+ handleExpandLeftDrawer,
123
+ isOpenedDatasetBrowserModal,
124
+ isOpenedStudioModal
125
+ }
126
+ }
127
+ })
128
+ </script>
129
+
130
+ <style scoped lang="scss">
131
+ .fullscreen-template {
132
+ position: fixed;
133
+ height: 100vh;
134
+ width: 100%;
135
+ top: 0;
136
+ left: 0;
137
+ background-color: var(--dl-color-panel-background);
138
+ z-index: 1000;
139
+
140
+ &__close {
141
+ position: absolute;
142
+ right: 10px;
143
+ z-index: 2;
144
+ }
145
+ }
146
+ </style>
@@ -149,6 +149,116 @@
149
149
  </template>
150
150
  </dl-panel-container>
151
151
  </div>
152
+ <h2>Empty State</h2>
153
+ <div
154
+ class="dl-panel-container-demo"
155
+ style="margin-top: 50px"
156
+ >
157
+ <dl-panel-container
158
+ v-model="collapseP1"
159
+ :direction="direction"
160
+ :resizable="resizable"
161
+ :collapsable="collapsable"
162
+ width="500px"
163
+ height="550px"
164
+ is-empty
165
+ :empty-state-props="{
166
+ responsive: true,
167
+ style: 'min-height: 350px;',
168
+ bgSize: '130px',
169
+ bgImage: `url(https://raw.githubusercontent.com/dataloop-ai/icons/main/assets/usage.svg)`,
170
+ title: 'Lorem ipsum',
171
+ subtitle:
172
+ 'Lorem ipsum dolor sit amet consectetur. Senectus condimentum dolor sit',
173
+ info: 'To learn more about this analytics, read our documentation.'
174
+ }"
175
+ >
176
+ <template #links="">
177
+ <div
178
+ style="
179
+ display: flex;
180
+ gap: 5px;
181
+ flex-direction: row;
182
+ padding: 0 20px;
183
+ "
184
+ >
185
+ <dl-button
186
+ padding="0px"
187
+ icon="icon-dl-sdk-documentation"
188
+ flat
189
+ uppercase
190
+ label="SDK"
191
+ />
192
+ <div class="break" />
193
+ <dl-button
194
+ padding="0px"
195
+ icon="icon-dl-file"
196
+ flat
197
+ label="Documentation"
198
+ />
199
+ <div class="break" />
200
+ <dl-button
201
+ padding="0px"
202
+ icon="icon-dl-youtube"
203
+ flat
204
+ label="Video"
205
+ />
206
+ </div>
207
+ </template>
208
+ </dl-panel-container>
209
+ <dl-panel-container
210
+ v-model="collapseP2"
211
+ :direction="direction"
212
+ :resizable="resizable"
213
+ :collapsable="collapsable"
214
+ width="200px"
215
+ height="500px"
216
+ is-empty
217
+ :empty-state-props="{
218
+ responsive: true,
219
+ style: 'min-height: 350px;',
220
+ bgSize: '130px',
221
+ bgImage: `url(https://raw.githubusercontent.com/dataloop-ai/icons/main/assets/usage.svg)`,
222
+ title: 'Lorem ipsum',
223
+ subtitle:
224
+ 'Lorem ipsum dolor sit amet consectetur. Senectus condimentum dolor sit',
225
+ info: 'To learn more about this analytics, read our documentation.'
226
+ }"
227
+ >
228
+ <template #links="">
229
+ <div
230
+ style="
231
+ display: flex;
232
+ gap: 5px;
233
+ flex-wrap: wrap;
234
+ padding: 0 20px;
235
+ "
236
+ >
237
+ <dl-button
238
+ padding="0px"
239
+ icon="icon-dl-sdk-documentation"
240
+ flat
241
+ uppercase
242
+ label="SDK"
243
+ />
244
+ <div class="break" />
245
+ <dl-button
246
+ padding="0px"
247
+ icon="icon-dl-file"
248
+ flat
249
+ label="Documentation"
250
+ />
251
+ <div class="break" />
252
+ <dl-button
253
+ padding="0px"
254
+ icon="icon-dl-youtube"
255
+ flat
256
+ label="Video"
257
+ />
258
+ </div>
259
+ </template>
260
+ </dl-panel-container>
261
+ </div>
152
262
  <div class="controls">
153
263
  <select v-model="direction">
154
264
  <option>left</option>
@@ -172,13 +282,14 @@
172
282
 
173
283
  <script lang="ts">
174
284
  import { defineComponent } from 'vue-demi'
175
- import { DlPanel, DlPanelContainer } from '../components'
285
+ import { DlPanel, DlPanelContainer, DlButton } from '../components'
176
286
 
177
287
  export default defineComponent({
178
288
  name: 'DlPanelContainerDemo',
179
289
  components: {
180
290
  DlPanelContainer,
181
- DlPanel
291
+ DlPanel,
292
+ DlButton
182
293
  },
183
294
  data() {
184
295
  return {