@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
@@ -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
@@ -498,6 +492,31 @@
498
492
  v-for="(item, index) in listItems"
499
493
  :key="index"
500
494
  clickable
495
+ :highlighted="index === highlightedIndex"
496
+ >
497
+ <dl-item-section>
498
+ {{ item }}
499
+ </dl-item-section>
500
+ </dl-list-item>
501
+ </dl-list>
502
+ </dl-menu>
503
+ </dl-button>
504
+
505
+ <h4>With max height with alot of elements</h4>
506
+ <dl-button :label="arrowNavigationLabel">
507
+ <dl-menu
508
+ max-height="250px"
509
+ self="bottom middle"
510
+ anchor="top middle"
511
+ :offset="[50, 5]"
512
+ @show="onShow"
513
+ @hide="onHide"
514
+ >
515
+ <dl-list style="min-width: 100px">
516
+ <dl-list-item
517
+ v-for="(item, index) in alotOfListItems"
518
+ :key="index"
519
+ clickable
501
520
  :is-highlighted="index === highlightedIndex"
502
521
  >
503
522
  <dl-item-section>
@@ -524,6 +543,8 @@ import {
524
543
  import { defineComponent, onMounted, ref, watch } from 'vue-demi'
525
544
  import { useArrowNavigation } from '../hooks/use-arrow-navigation'
526
545
 
546
+ type ItemType = Record<string, any> | string
547
+
527
548
  export default defineComponent({
528
549
  name: 'DlMenuDemo',
529
550
  components: {
@@ -537,7 +558,7 @@ export default defineComponent({
537
558
  setup() {
538
559
  const showing = ref(false)
539
560
  const isMenuOpen = ref(false)
540
- const arrowNavigationLabel = ref('Arrow Navigation Label')
561
+ const arrowNavigationLabel = ref<ItemType>('Arrow Navigation Label')
541
562
 
542
563
  const listItems = ref([
543
564
  'New tab',
@@ -549,6 +570,109 @@ export default defineComponent({
549
570
  'Help & Feedback'
550
571
  ])
551
572
 
573
+ const alotOfListItems = ref([
574
+ 'New tab0',
575
+ 'New incognito tab1',
576
+ 'Recent tabs2',
577
+ 'History3',
578
+ 'Downloads4',
579
+ 'Settings5',
580
+ 'Help & Feedback6',
581
+ 'New tab7',
582
+ 'New incognito tab8',
583
+ 'Recent tabs9',
584
+ 'History10',
585
+ 'Downloads11',
586
+ 'Settings12',
587
+ 'Help & Feedback13',
588
+ 'New tab14',
589
+ 'New incognito tab15',
590
+ 'Recent tabs16',
591
+ 'History17',
592
+ 'Downloads18',
593
+ 'Settings19',
594
+ 'Help & Feedback20',
595
+ 'New tab21',
596
+ 'New incognito tab22',
597
+ 'Recent tabs23',
598
+ 'History24',
599
+ 'Downloads25',
600
+ 'Settings26',
601
+ 'Help & Feedback27',
602
+ 'New tab28',
603
+ 'New incognito tab29',
604
+ 'Recent tabs30',
605
+ 'History31',
606
+ 'Downloads32',
607
+ 'Settings33',
608
+ 'Help & Feedback34',
609
+ 'New tab35',
610
+ 'New incognito tab36',
611
+ 'Recent tabs37',
612
+ 'History38',
613
+ 'Downloads39',
614
+ 'Settings40',
615
+ 'Help & Feedback41',
616
+ 'New tab42',
617
+ 'New incognito tab43',
618
+ 'Recent tabs44',
619
+ 'History45',
620
+ 'Downloads46',
621
+ 'Settings47',
622
+ 'Help & Feedback48',
623
+ 'New tab49',
624
+ 'New incognito tab50',
625
+ 'Recent tabs51',
626
+ 'History52',
627
+ 'Downloads53',
628
+ 'Settings54',
629
+ 'Help & Feedback55',
630
+ 'New tab56',
631
+ 'New incognito tab57',
632
+ 'Recent tabs58',
633
+ 'History59',
634
+ 'Downloads60',
635
+ 'Settings61',
636
+ 'Help & Feedback62',
637
+ 'New tab63',
638
+ 'New incognito tab64',
639
+ 'Recent tabs65',
640
+ 'History66',
641
+ 'Downloads67',
642
+ 'Settings68',
643
+ 'Help & Feedback69',
644
+ 'New tab70',
645
+ 'New incognito tab71',
646
+ 'Recent tabs72',
647
+ 'History73',
648
+ 'Downloads74',
649
+ 'Settings75',
650
+ 'Help & Feedback76',
651
+ 'New tab77',
652
+ 'New incognito tab78',
653
+ 'Recent tabs79',
654
+ 'History80',
655
+ 'Downloads81',
656
+ 'Settings82',
657
+ 'Help & Feedback83',
658
+ 'New tab84',
659
+ 'New incognito tab85',
660
+ 'Recent tabs86',
661
+ 'History87',
662
+ 'Downloads88',
663
+ 'Settings89',
664
+ 'Help & Feedback90',
665
+ 'New tab91',
666
+ 'New incognito tab92',
667
+ 'Recent tabs93',
668
+ 'History94',
669
+ 'Downloads95',
670
+ 'Settings96',
671
+ 'Help & Feedback97',
672
+ 'New tab98',
673
+ 'New incognito tab99'
674
+ ])
675
+
552
676
  const onShow = (value: any) => {
553
677
  isMenuOpen.value = !!value
554
678
  }
@@ -560,7 +684,7 @@ export default defineComponent({
560
684
  isMenuOpen
561
685
  )
562
686
 
563
- watch(selectedItem, (value: string) => {
687
+ watch(selectedItem, (value: ItemType | string) => {
564
688
  arrowNavigationLabel.value = value
565
689
  })
566
690
 
@@ -576,7 +700,13 @@ export default defineComponent({
576
700
  isMenuOpen,
577
701
  selectedItem,
578
702
  highlightedIndex,
579
- arrowNavigationLabel
703
+ arrowNavigationLabel,
704
+ alotOfListItems,
705
+ menuStartIcon: {
706
+ icon: 'icon-dl-search',
707
+ color: 'dl-color-positive'
708
+ },
709
+ menuEndIcon: { icon: 'icon-dl-id', color: 'dl-color-secondary' }
580
710
  }
581
711
  }
582
712
  })
@@ -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 {
@@ -22,7 +22,57 @@
22
22
  </template>
23
23
  </dl-popup>
24
24
  </dl-button>
25
- <div />
25
+ <dl-button label="Open Empty State Popup">
26
+ <dl-popup
27
+ title="Edit Item Description"
28
+ additional-info="Some additional information"
29
+ subtitle="Some text for better explanation."
30
+ with-close-button
31
+ is-empty
32
+ :empty-state-props="{
33
+ responsive: true,
34
+ style: 'min-height: 200px; max-width: 300px;',
35
+ bgSize: '130px',
36
+ bgImage: `url(https://raw.githubusercontent.com/dataloop-ai/icons/main/assets/usage.svg)`,
37
+ title: 'Lorem ipsum',
38
+ subtitle:
39
+ 'Lorem ipsum dolor sit amet consectetur. Senectus condimentum dolor sit',
40
+ info: 'To learn more about this analytics, read our documentation.'
41
+ }"
42
+ @close-button-click="handleClear"
43
+ >
44
+ <template #links="">
45
+ <div style="display: flex; gap: 5px; padding: 0 20px">
46
+ <dl-button
47
+ padding="0px"
48
+ icon="icon-dl-sdk-documentation"
49
+ flat
50
+ uppercase
51
+ label="SDK"
52
+ />
53
+ <div class="break" />
54
+ <dl-button
55
+ padding="0px"
56
+ icon="icon-dl-file"
57
+ flat
58
+ label="Documentation"
59
+ />
60
+ <div class="break" />
61
+ <dl-button
62
+ padding="0px"
63
+ icon="icon-dl-youtube"
64
+ flat
65
+ label="Video"
66
+ />
67
+ </div>
68
+ </template>
69
+ <template #footer>
70
+ <dl-button fluid>
71
+ Save
72
+ </dl-button>
73
+ </template>
74
+ </dl-popup>
75
+ </dl-button>
26
76
  <dl-button label="Open Popup persistent">
27
77
  <dl-popup
28
78
  title="Edit Item Description"
@@ -54,6 +104,37 @@
54
104
  </template>
55
105
  </dl-popup>
56
106
  </dl-button>
107
+ <dl-button label="Open Popup with max height 50px">
108
+ <dl-popup
109
+ title="Edit Item Description"
110
+ additional-info="Some additional information"
111
+ subtitle="Some text for better explanation."
112
+ with-close-button
113
+ max-height="50px"
114
+ >
115
+ <dl-text-area
116
+ v-model="text"
117
+ :max-length="100"
118
+ show-counter
119
+ placeholder="Type your text"
120
+ width="203px"
121
+ />
122
+ <template #close-button>
123
+ <dl-button
124
+ flat
125
+ style="padding-bottom: 0; padding-top: 0"
126
+ label="clear"
127
+ size="m"
128
+ @click="handleClear"
129
+ />
130
+ </template>
131
+ <template #footer>
132
+ <dl-button fluid>
133
+ Save
134
+ </dl-button>
135
+ </template>
136
+ </dl-popup>
137
+ </dl-button>
57
138
  </div>
58
139
  </template>
59
140
  <script lang="ts">
@@ -16,6 +16,20 @@
16
16
  label="Option 3"
17
17
  :value="3"
18
18
  />
19
+ disabled
20
+
21
+ <dl-radio
22
+ v-model="disabledModel"
23
+ label="Option Disabled"
24
+ :value="4"
25
+ disabled
26
+ />
27
+ <dl-radio
28
+ v-model="disabledModel"
29
+ label="Option Disabled not selected"
30
+ :value="5"
31
+ disabled
32
+ />
19
33
  </div>
20
34
  </template>
21
35
 
@@ -28,7 +42,8 @@ export default {
28
42
  },
29
43
  data() {
30
44
  return {
31
- checkModel: 1
45
+ checkModel: 1,
46
+ disabledModel: 4
32
47
  }
33
48
  }
34
49
  }