@dataloop-ai/components 0.18.0 → 0.18.1

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 +7 -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 +171 -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 +174 -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 +7 -6
  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 +128 -0
  177. package/src/demos/DlLineChartDemo.vue +50 -2
  178. package/src/demos/DlListDemo.vue +12 -9
  179. package/src/demos/DlMenuDemo.vue +145 -15
  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 +12 -14
  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,161 @@
1
+ <template>
2
+ <div
3
+ style="
4
+ display: flex;
5
+ width: 1000px;
6
+ flex-wrap: wrap;
7
+ flex-direction: row;
8
+ gap: 0;
9
+ "
10
+ >
11
+ <dl-scatter-chart
12
+ id="example-one"
13
+ :brush-props="brushProps"
14
+ :legend-props="legendProps"
15
+ :data="data"
16
+ :options="options"
17
+ style="width: 100%"
18
+ />
19
+ </div>
20
+ </template>
21
+
22
+ <script lang="ts">
23
+ import { defineComponent } from 'vue-demi'
24
+ import { DlScatterChart } from '../components'
25
+ import { orderBy } from 'lodash'
26
+
27
+ const data = {
28
+ labels: [
29
+ {
30
+ title: '0.1'
31
+ },
32
+ {
33
+ title: '0.2'
34
+ },
35
+ {
36
+ title: '0.3'
37
+ },
38
+ {
39
+ title: '0.4'
40
+ },
41
+ {
42
+ title: '0.5'
43
+ },
44
+ {
45
+ title: '0.6'
46
+ },
47
+ {
48
+ title: '0.7'
49
+ },
50
+ {
51
+ title: '0.8'
52
+ },
53
+ {
54
+ title: '0.9'
55
+ },
56
+ {
57
+ title: '1'
58
+ }
59
+ ],
60
+ datasets: [
61
+ {
62
+ label: 'Scatter Dataset',
63
+ data: [
64
+ { x: 0.1, y: 0.1 },
65
+ { x: 0.2, y: 0.1 },
66
+ { x: 0.3, y: 0.2 },
67
+ { x: 0.4, y: 0.3 },
68
+ { x: 0.5, y: 0.35 },
69
+ { x: 0.6, y: 0.39 },
70
+ { x: 0.7, y: 0.4 },
71
+ { x: 0.8, y: 0.8 },
72
+ { x: 0.9, y: 0.8 }
73
+ ],
74
+ backgroundColor: 'rgb(255, 99, 132)',
75
+ borderColor: 'rgba(255, 99, 132, 1)',
76
+ pointRadius: 5,
77
+ showLine: true
78
+ },
79
+ {
80
+ label: 'Dataset 2',
81
+ data: [
82
+ { x: 0.2, y: 0.1 },
83
+ { x: 0.2, y: 0.2 },
84
+ { x: 0.4, y: 0.2 },
85
+ { x: 0.4, y: 0.3 },
86
+ { x: 0.6, y: 0.65 },
87
+ { x: 0.6, y: 0.85 },
88
+ { x: 0.8, y: 0.6 },
89
+ { x: 0.8, y: 0.7 },
90
+ { x: 0.9, y: 0.8 }
91
+ ],
92
+ backgroundColor: 'rgba(45, 162, 50, 1)',
93
+ borderColor: 'rgba(45, 162, 50, 1)',
94
+ pointRadius: 5,
95
+ showLine: true
96
+ }
97
+ ]
98
+ }
99
+
100
+ const brushProps = {
101
+ min: 0,
102
+ max: orderBy(data.datasets, (o) => o.data.length)[0].data.length - 1
103
+ }
104
+
105
+ const options = {
106
+ scales: {
107
+ x: {
108
+ type: 'linear',
109
+ position: 'bottom',
110
+ axis: 'Recall',
111
+ scaleLabel: {
112
+ display: true,
113
+ labelString: 'Recall'
114
+ }
115
+ },
116
+ y: {
117
+ type: 'linear',
118
+ position: 'left',
119
+ axis: 'Precision',
120
+ scaleLabel: {
121
+ display: true,
122
+ labelString: 'Precision'
123
+ }
124
+ }
125
+ }
126
+ }
127
+
128
+ const legendProps = {
129
+ alignItems: 'center'
130
+ }
131
+
132
+ export default defineComponent({
133
+ name: 'DlScatterChartDemo',
134
+ components: {
135
+ DlScatterChart
136
+ },
137
+ data() {
138
+ return {
139
+ resolution: 'hour',
140
+ options,
141
+ data,
142
+ brushProps,
143
+ legendProps,
144
+ noPointsData: {
145
+ ...data,
146
+ datasets: [
147
+ { ...data.datasets[0], pointRadius: 0, borderWidth: 1 }
148
+ ]
149
+ },
150
+ tensionLineData: {
151
+ ...data,
152
+ datasets: [{ ...data.datasets[1], pointRadius: 0 }]
153
+ },
154
+ tensionOptions: { ...options, tension: 0.5 }
155
+ }
156
+ },
157
+ methods: {}
158
+ })
159
+ </script>
160
+
161
+ <style scoped lang="scss"></style>
@@ -8,6 +8,15 @@
8
8
  placeholder="Search here"
9
9
  :auto-suggest-items="suggestItems"
10
10
  />
11
+
12
+ <dl-search
13
+ v-model="searchValue"
14
+ size="m"
15
+ with-search-button
16
+ highlight-matches
17
+ placeholder="Search here"
18
+ :auto-suggest-items="suggestItems"
19
+ />
11
20
  </div>
12
21
  </template>
13
22
 
@@ -4,6 +4,7 @@
4
4
  :options="['one', 'two', 'three']"
5
5
  title="Title"
6
6
  required
7
+ fit
7
8
  />
8
9
  <dl-select
9
10
  v-model="disabledSelected"
@@ -24,7 +25,8 @@
24
25
  label: 'Medium',
25
26
  value: 'medium',
26
27
  bgColor: 'dl-color-warning',
27
- textColor: 'dl-color-darker'
28
+ textColor: 'dl-color-darker',
29
+ icon: 'icon-dl-search'
28
30
  },
29
31
  {
30
32
  label: 'Low',
@@ -44,12 +46,14 @@
44
46
  </dl-chip>
45
47
  </template>
46
48
  <template #option="scope">
47
- <dl-chip
48
- :text-color="scope.opt.textColor"
49
- :color="scope.opt.bgColor"
50
- >
51
- {{ scope.opt.label }}
52
- </dl-chip>
49
+ <div class="flex">
50
+ <dl-chip
51
+ :text-color="scope.opt.textColor"
52
+ :color="scope.opt.bgColor"
53
+ >
54
+ {{ scope.opt.label }}
55
+ </dl-chip>
56
+ </div>
53
57
  </template>
54
58
  </dl-select>
55
59
 
@@ -62,19 +66,23 @@
62
66
  {
63
67
  label: 'Status 1',
64
68
  value: 1,
65
- badgeColor: 'dl-color-disabled'
69
+ badgeColor: 'var(--dl-color-disabled)'
66
70
  },
67
71
  {
68
72
  label: 'Status 2',
69
73
  value: 2,
70
- badgeColor: 'dl-color-secondary'
74
+ badgeColor: 'var(--dl-color-secondary)'
71
75
  },
72
76
  {
73
77
  label: 'Status 3',
74
78
  value: 3,
75
- badgeColor: 'dl-color-positive'
79
+ badgeColor: 'var(--dl-color-positive)'
76
80
  },
77
- { label: 'Status 4', value: 4, badgeColor: 'dl-color-warning' }
81
+ {
82
+ label: 'Status 4',
83
+ value: 4,
84
+ badgeColor: 'var(--dl-color-warning)'
85
+ }
78
86
  ]"
79
87
  required
80
88
  >
@@ -91,6 +99,7 @@
91
99
  </div>
92
100
  </template>
93
101
  </dl-select>
102
+ with prepend
94
103
  <dl-select
95
104
  v-model="tasksFilter"
96
105
  multiselect
@@ -108,24 +117,26 @@
108
117
  />
109
118
  </template>
110
119
  </dl-select>
120
+ custom search
111
121
  <dl-select
112
122
  v-model="selectedBySearch"
113
123
  size="m"
114
124
  title="Title"
115
125
  optional
116
126
  :options="searchOptions"
117
- search
127
+ searchable
128
+ custom-filter
118
129
  emit-val
119
130
  @filter="filterFn"
120
131
  />
132
+ normal search
121
133
  <dl-select
122
134
  v-model="selectedByFilteringSearch"
123
135
  :options="searchOptions"
124
136
  size="m"
125
137
  multiselect
126
- style="background-color: beige"
127
138
  placeholder="contributors"
128
- search
139
+ searchable
129
140
  />
130
141
 
131
142
  <dl-select
@@ -148,7 +159,7 @@
148
159
  :options="treeOptions"
149
160
  size="m"
150
161
  multiselect
151
- search
162
+ searchable
152
163
  />
153
164
  Capitalized options
154
165
  <dl-select
@@ -156,22 +167,67 @@
156
167
  :options="treeOptions"
157
168
  size="m"
158
169
  multiselect
159
- search
170
+ searchable
160
171
  capitalized-options
161
172
  />
162
173
  With Fit
163
174
  <dl-select
164
- v-model="selectedWithChildrenCapitalized"
165
- :options="treeOptions"
175
+ :options="[
176
+ { label: 'Option 1', value: 1 },
177
+ { label: 'Option 2, longer one', value: 2 },
178
+ { label: 'Option 3', value: 3 }
179
+ ]"
166
180
  size="m"
167
181
  multiselect
168
- search
182
+ searchable
169
183
  capitalized-options
170
- fit-container
184
+ fit-content
171
185
  />
172
186
  With Label and sub label
173
187
  <dl-select
174
188
  v-model="selectedOption"
189
+ :options="[
190
+ {
191
+ subLabel: 'not so high',
192
+ label: 'High',
193
+ value: 'high',
194
+ labelColor: 'var(--dl-color-darker)',
195
+ subLabelColor: 'var(--dl-color-lighter)'
196
+ },
197
+ {
198
+ subLabel: 'not so medium',
199
+ label: 'Medium',
200
+ value: 'medium',
201
+ labelColor: 'var(--dl-color-darker)',
202
+ subLabelColor: 'var(--dl-color-lighter)'
203
+ },
204
+ {
205
+ subLabel: 'not so low',
206
+ label: 'Low',
207
+ value: 'low',
208
+ labelColor: 'var(--dl-color-darker)',
209
+ subLabelColor: 'var(--dl-color-lighter)'
210
+ }
211
+ ]"
212
+ >
213
+ <template #option="scope">
214
+ <div style="padding: 5px 0px">
215
+ <div :style="`color: ${scope.opt.labelColor}`">
216
+ {{ scope.opt.label }}
217
+ </div>
218
+ <div
219
+ :style="`color: ${scope.opt.subLabelColor}; font-size: 10px`"
220
+ >
221
+ {{ scope.opt.subLabel }}
222
+ </div>
223
+ </div>
224
+ </template>
225
+ </dl-select>
226
+ With tooltip
227
+ <dl-select
228
+ v-model="select2"
229
+ title="With tooltip"
230
+ :tooltip="'Test Me'"
175
231
  :options="[
176
232
  {
177
233
  subLabel: 'not so high',
@@ -202,10 +258,10 @@
202
258
  </div>
203
259
  </template>
204
260
  </dl-select>
205
- With tooltip
261
+ Small size
206
262
  <dl-select
207
- v-model="selectedOption"
208
- :tooltip="'Test Me'"
263
+ v-model="select3"
264
+ :size="'s'"
209
265
  :options="[
210
266
  {
211
267
  subLabel: 'not so high',
@@ -236,10 +292,12 @@
236
292
  </div>
237
293
  </template>
238
294
  </dl-select>
239
- Small size
295
+ Small size with tooltip
240
296
  <dl-select
241
- v-model="selectedOption"
297
+ v-model="select4"
242
298
  :size="'s'"
299
+ title="test"
300
+ tooltip="test me"
243
301
  :options="[
244
302
  {
245
303
  subLabel: 'not so high',
@@ -270,11 +328,13 @@
270
328
  </div>
271
329
  </template>
272
330
  </dl-select>
273
- Small size with tooltip
331
+
332
+ Select with max-height
274
333
  <dl-select
275
- v-model="selectedOption"
334
+ v-model="select5"
276
335
  :size="'s'"
277
336
  title="test"
337
+ dropdown-max-height="50px"
278
338
  tooltip="test me"
279
339
  :options="[
280
340
  {
@@ -306,12 +366,27 @@
306
366
  </div>
307
367
  </template>
308
368
  </dl-select>
369
+
370
+ Select with virtual scrolling
371
+ <dl-select
372
+ v-model="selectedOption"
373
+ :options="alotOfOptions ? alotOfOptions : []"
374
+ style="margin-bottom: 150px"
375
+ >
376
+ <template #option="scope">
377
+ <div style="padding: 5px 0px">
378
+ <div>{{ scope.opt.label }}</div>
379
+ <div>{{ scope.opt.subLabel }}</div>
380
+ </div>
381
+ </template>
382
+ </dl-select>
309
383
  </div>
310
384
  </template>
311
385
 
312
386
  <script lang="ts">
313
387
  import { defineComponent } from 'vue-demi'
314
388
  import { DlChip, DlSelect, DlIcon, DlBadge } from '../components'
389
+ import { DlSelectOptionType } from '../components/compound/DlSelect/utils'
315
390
 
316
391
  const defaultOptions = [
317
392
  { label: 'Contributor 1', value: 'c1' },
@@ -418,6 +493,10 @@ export default defineComponent({
418
493
  bgColor: 'dl-color-error',
419
494
  textColor: 'dl-color-white'
420
495
  },
496
+ select2: null,
497
+ select3: null,
498
+ select4: null,
499
+ select5: null,
421
500
  statusOption: {
422
501
  label: 'Status 1',
423
502
  value: 1,
@@ -440,6 +519,21 @@ export default defineComponent({
440
519
  isNotSelected() {
441
520
  // @ts-ignore
442
521
  return defaultOptions.includes(this.selectedBySearch as any)
522
+ },
523
+ alotOfOptions(): DlSelectOptionType {
524
+ const arr = [] as any[]
525
+
526
+ for (let i = 0; i < 1000; ++i) {
527
+ arr.push({
528
+ key: i,
529
+ subLabel: 'not so high',
530
+ label: 'High ' + i,
531
+ value: 'high',
532
+ bgColor: 'dl-color-negative'
533
+ })
534
+ }
535
+
536
+ return arr
443
537
  }
444
538
  },
445
539
  methods: {
@@ -453,6 +547,9 @@ export default defineComponent({
453
547
  },
454
548
  handleInput(e: Event) {
455
549
  return (e.target as HTMLInputElement).value
550
+ },
551
+ log(e: any) {
552
+ console.log(e)
456
553
  }
457
554
  }
458
555
  })
@@ -6,8 +6,6 @@
6
6
  type="default"
7
7
  text="Loading..."
8
8
  :text-styles="{
9
- fontSize: '1em',
10
- marginTop: '15px',
11
9
  marginLeft: '10px'
12
10
  }"
13
11
  />
@@ -5,11 +5,14 @@
5
5
  <StepperInDialogBox />
6
6
  <div style="height: 10px" />
7
7
  <CenteredStepperInDialogBox />
8
+ <div style="height: 10px" />
9
+ <EmptyStateStepper />
8
10
  </div>
9
11
  </template>
10
12
  <script lang="ts">
11
13
  import { defineComponent } from 'vue-demi'
12
14
  import SimpleStepper from './SimpleStepper.vue'
15
+ import EmptyStateStepper from './EmptyStateStepper.vue'
13
16
  import StepperInDialogBox from './StepperInDialogBox.vue'
14
17
  import CenteredStepperInDialogBox from './CenteredStepperInDialogBox.vue'
15
18
 
@@ -18,7 +21,8 @@ export default defineComponent({
18
21
  components: {
19
22
  SimpleStepper,
20
23
  StepperInDialogBox,
21
- CenteredStepperInDialogBox
24
+ CenteredStepperInDialogBox,
25
+ EmptyStateStepper
22
26
  }
23
27
  })
24
28
  </script>
@@ -0,0 +1,149 @@
1
+ <template>
2
+ <div class="dl-stepper-wrapper">
3
+ <dl-stepper
4
+ v-model="isOpen"
5
+ :hide-close-button="true"
6
+ done-button-label="Create"
7
+ width="calc(100vh-400px)"
8
+ header-title="Create New Task"
9
+ :content-title="`${stepper.currentIndex + 1}. ${
10
+ stepper.currentStep.value
11
+ }`"
12
+ :bg-color="bgColor"
13
+ :state="stepper.currentStep"
14
+ :steps="stepper.steps"
15
+ :disabled-prev-step="true"
16
+ :disabled-next-step="true"
17
+ :is-done="stepper.isDone()"
18
+ :next-step="stepper.getNextStep()"
19
+ :prev-step="stepper.getPrevStep()"
20
+ is-empty
21
+ :empty-state-props="{
22
+ responsive: true,
23
+ style: 'min-height: 350px;',
24
+ bgSize: '130px',
25
+ bgImage: `url(https://raw.githubusercontent.com/dataloop-ai/icons/main/assets/usage.svg)`,
26
+ title: 'Lorem ipsum',
27
+ subtitle:
28
+ 'Lorem ipsum dolor sit amet consectetur. Senectus condimentum dolor sit',
29
+ info: 'To learn more about this analytics, read our documentation.'
30
+ }"
31
+ @next="handleNext"
32
+ @prev="handlePrev"
33
+ @done="handleDone"
34
+ @set-step="handleStep"
35
+ >
36
+ <template #links="">
37
+ <div style="display: flex; gap: 5px; padding: 0 20px">
38
+ <dl-button
39
+ padding="0px"
40
+ icon="icon-dl-sdk-documentation"
41
+ flat
42
+ uppercase
43
+ label="SDK"
44
+ />
45
+ <div class="break" />
46
+ <dl-button
47
+ padding="0px"
48
+ icon="icon-dl-file"
49
+ flat
50
+ label="Documentation"
51
+ />
52
+ <div class="break" />
53
+ <dl-button
54
+ padding="0px"
55
+ icon="icon-dl-youtube"
56
+ flat
57
+ label="Video"
58
+ />
59
+ </div>
60
+ </template>
61
+ </dl-stepper>
62
+ </div>
63
+ </template>
64
+ <script lang="ts">
65
+ import { defineComponent } from 'vue-demi'
66
+ import { DlStepper, DlButton } from '../..'
67
+ import { StepState } from '../../types'
68
+ import { Stepper, Step } from '../../components/compound/DlStepper/models'
69
+
70
+ class EmptyStateStepper extends Stepper {
71
+ constructor(steps: Step[]) {
72
+ super(steps)
73
+ }
74
+
75
+ public completeStep() {
76
+ super.completeStep()
77
+ console.log('COMPLETED')
78
+ }
79
+ }
80
+
81
+ export default defineComponent({
82
+ components: {
83
+ DlStepper,
84
+ DlButton
85
+ },
86
+ data() {
87
+ const stepper: Stepper = null
88
+
89
+ return {
90
+ counters: [{ value: 3, text: 'Assigmments' }],
91
+ isOpen: true,
92
+ stepper,
93
+ steps: [
94
+ {
95
+ value: 'general',
96
+ title: 'general',
97
+ warning: 'Some issues in the step',
98
+ completed: true
99
+ },
100
+ {
101
+ value: 'data',
102
+ title: 'data',
103
+ completed: true
104
+ },
105
+ {
106
+ value: 'instructions',
107
+ title: 'instructions'
108
+ },
109
+ {
110
+ value: 'assignments',
111
+ title: 'assignments'
112
+ },
113
+ {
114
+ value: 'quality',
115
+ title: 'quality',
116
+ optional: true
117
+ }
118
+ ] as StepState[],
119
+ bgColor: 'dl-color-fill-third'
120
+ }
121
+ },
122
+ beforeMount() {
123
+ const steps = this.steps.map((step) => new Step(step))
124
+ this.stepper = new EmptyStateStepper(steps)
125
+ },
126
+ methods: {
127
+ handleNext() {
128
+ this.stepper.moveToNextStep()
129
+ },
130
+ handlePrev() {
131
+ this.stepper.moveToPrevStep()
132
+ },
133
+ handleDone() {
134
+ console.log('DONE')
135
+ },
136
+ handleStep(step: Step) {
137
+ this.stepper.currentIndex = this.stepper.steps.findIndex(
138
+ (s) => s.value === step.value
139
+ )
140
+ }
141
+ }
142
+ })
143
+ </script>
144
+
145
+ <style lang="scss" scoped>
146
+ .dl-stepper-wrapper {
147
+ height: calc(100vh - 200px);
148
+ }
149
+ </style>
@@ -59,6 +59,7 @@
59
59
  @complete-click="stepper.completeStep()"
60
60
  @warning-click="stepper.setStepWarning('Custom Warning')"
61
61
  @reset-click="stepper.resetStep()"
62
+ @set-subtitle="setSubtitle"
62
63
  />
63
64
  </template>
64
65
  <template #data>
@@ -184,6 +185,9 @@ export default defineComponent({
184
185
  this.stepper.currentIndex = this.stepper.steps.findIndex(
185
186
  (s) => s.value === step.value
186
187
  )
188
+ },
189
+ setSubtitle(subtitle: string) {
190
+ this.stepper.currentStep.subtitle = subtitle
187
191
  }
188
192
  }
189
193
  })
@@ -26,6 +26,7 @@
26
26
  dense
27
27
  required
28
28
  title="Name"
29
+ @input="$emit('set-subtitle', $event)"
29
30
  />
30
31
  <span>
31
32
  <dl-typography color="dl-color-medium">Type *</dl-typography>