@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
@@ -9,6 +9,18 @@
9
9
  />
10
10
  Switch with value not updating
11
11
  <dl-switch v-model="switchValue" />
12
+ Switch with left-label
13
+ <dl-switch
14
+ v-model="switchValue"
15
+ left-label="Left label"
16
+ />
17
+ <div style="width: 500px">
18
+ <dl-switch
19
+ v-model="switchValue"
20
+ left-label="Left label"
21
+ fluid
22
+ />
23
+ </div>
12
24
  </div>
13
25
  </template>
14
26
 
@@ -117,6 +117,69 @@
117
117
  @update:selected="updateSeleted"
118
118
  />
119
119
 
120
+ <div style="margin-top: 100px">
121
+ <DlTable
122
+ :selected="selected"
123
+ :separator="separator"
124
+ :columns="tableColumns"
125
+ :bordered="bordered"
126
+ :dense="dense"
127
+ class="sticky-header"
128
+ :filter="filter"
129
+ :selection="selection"
130
+ :loading="loading"
131
+ :rows="tableRows"
132
+ :resizable="resizable"
133
+ row-key="name"
134
+ color="dl-color-secondary"
135
+ title="Table Title"
136
+ :virtual-scroll="vScroll"
137
+ style="height: 500px"
138
+ :rows-per-page-options="rowsPerPageOptions"
139
+ hide-pagination
140
+ is-empty
141
+ :empty-state-props="{
142
+ responsive: false,
143
+ style: 'min-height: 350px; width: 300px;',
144
+ bgSize: '130px',
145
+ bgImage: `url(https://raw.githubusercontent.com/dataloop-ai/icons/main/assets/usage.svg)`,
146
+ title: 'Lorem ipsum',
147
+ subtitle:
148
+ 'Lorem ipsum dolor sit amet consectetur. Senectus condimentum dolor sit',
149
+ info: 'To learn more about this analytics, read our documentation.'
150
+ }"
151
+ @row-click="log"
152
+ @th-click="log"
153
+ @update:selected="updateSeleted"
154
+ >
155
+ <template #links="">
156
+ <div style="display: flex; gap: 5px; padding: 0 20px">
157
+ <dl-button
158
+ padding="0px"
159
+ icon="icon-dl-sdk-documentation"
160
+ flat
161
+ uppercase
162
+ label="SDK"
163
+ />
164
+ <div class="break" />
165
+ <dl-button
166
+ padding="0px"
167
+ icon="icon-dl-file"
168
+ flat
169
+ label="Documentation"
170
+ />
171
+ <div class="break" />
172
+ <dl-button
173
+ padding="0px"
174
+ icon="icon-dl-youtube"
175
+ flat
176
+ label="Video"
177
+ />
178
+ </div>
179
+ </template>
180
+ </DlTable>
181
+ </div>
182
+
120
183
  <div style="margin-top: 100px">
121
184
  <DlTable
122
185
  :selected="selected"
@@ -222,7 +285,6 @@
222
285
  :selected="selected"
223
286
  :separator="separator"
224
287
  :draggable="draggable"
225
- class="sticky-header"
226
288
  :filter="filter"
227
289
  :selection="selection"
228
290
  :dense="dense"
@@ -233,9 +295,7 @@
233
295
  :columns="tableColumns"
234
296
  style="height: 500px"
235
297
  row-key="index"
236
- :pagination="{ rowsPerPage: 0 }"
237
298
  virtual-scroll
238
- :rows-per-page-options="[0]"
239
299
  @virtual-scroll="onScroll"
240
300
  />
241
301
  </div>
@@ -316,6 +376,25 @@
316
376
  </template>
317
377
  </DlTable>
318
378
  </div>
379
+
380
+ <div>
381
+ <p>Test reactive cells</p>
382
+ first row:
383
+ <div class="row">
384
+ <dl-input
385
+ v-for="(value, key) in tableRows[0]"
386
+ :key="key"
387
+ v-model="tableRows[0][key]"
388
+ :title="key"
389
+ />
390
+ </div>
391
+
392
+ <DlTable
393
+ :rows="tableRows"
394
+ :columns="tableColumns"
395
+ title="Table Title"
396
+ />
397
+ </div>
319
398
  </div>
320
399
  </div>
321
400
  </template>
@@ -329,7 +408,7 @@ import {
329
408
  DlButton
330
409
  } from '../components'
331
410
  import { defineComponent, ref, computed, nextTick } from 'vue-demi'
332
- import { times, cloneDeep } from 'lodash'
411
+ import { times, cloneDeep, isNumber } from 'lodash'
333
412
 
334
413
  const columns = [
335
414
  {
@@ -574,7 +653,7 @@ export default defineComponent({
574
653
  if (p.page < 1) {
575
654
  p.page = 1
576
655
  }
577
- if (p.rowsPerPage !== void 0 && p.rowsPerPage < 1) {
656
+ if (isNumber(p.rowsPerPage) && p.rowsPerPage < 1) {
578
657
  p.rowsPerPage = 0
579
658
  }
580
659
  return p
@@ -16,18 +16,107 @@
16
16
  <h1>{{ item.label }}</h1>
17
17
  </dl-tab-panel>
18
18
  </dl-tab-panels>
19
+
20
+ <dl-tabs
21
+ v-model="selectedTab"
22
+ :items="tabItems"
23
+ full-width
24
+ vertical
25
+ style="margin-top: 100px"
26
+ @update:model-value="handleModelValueUpdate"
27
+ >
28
+ <template #top-right="props">
29
+ <div
30
+ :style="props.styles"
31
+ style="
32
+ width: 200px;
33
+ display: flex;
34
+ align-items: center;
35
+ justify-content: flex-end;
36
+ "
37
+ >
38
+ <dl-button
39
+ flat
40
+ size="s"
41
+ icon="icon-dl-refresh"
42
+ label="Refresh"
43
+ />
44
+ <dl-button
45
+ size="s"
46
+ icon="icon-dl-pause"
47
+ label="Pause"
48
+ />
49
+ </div>
50
+ </template>
51
+ </dl-tabs>
52
+ <div style="height: 4px" />
53
+ <dl-tab-panels v-model="selectedTab">
54
+ <dl-tab-panel
55
+ v-for="item in tabItems"
56
+ :key="item.name"
57
+ class="tabpanel"
58
+ :name="item.name"
59
+ >
60
+ <h1>{{ item.label }}</h1>
61
+ </dl-tab-panel>
62
+ </dl-tab-panels>
63
+
64
+ With smaller font 14px
65
+ <dl-tabs
66
+ v-model="selectedTab"
67
+ :items="tabItems"
68
+ style="margin-top: 100px; max-width: 60%"
69
+ font-size="14px"
70
+ @update:model-value="handleModelValueUpdate"
71
+ >
72
+ <template #top-right="props">
73
+ <div
74
+ :style="props.styles"
75
+ style="
76
+ width: 200px;
77
+ display: flex;
78
+ align-items: center;
79
+ justify-content: flex-end;
80
+ "
81
+ >
82
+ <dl-button
83
+ flat
84
+ size="s"
85
+ icon="icon-dl-refresh"
86
+ label="Refresh"
87
+ />
88
+ <dl-button
89
+ size="s"
90
+ icon="icon-dl-pause"
91
+ label="Pause"
92
+ />
93
+ </div>
94
+ </template>
95
+ </dl-tabs>
96
+ <div style="height: 4px" />
97
+ <dl-tab-panels v-model="selectedTab">
98
+ <dl-tab-panel
99
+ v-for="item in tabItems"
100
+ :key="item.name"
101
+ class="tabpanel"
102
+ :name="item.name"
103
+ >
104
+ <h1>{{ item.label }}</h1>
105
+ </dl-tab-panel>
106
+ </dl-tab-panels>
19
107
  </div>
20
108
  </template>
21
109
  <script lang="ts">
22
110
  import { defineComponent } from 'vue-demi'
23
- import { DlTabs, DlTabPanel, DlTabPanels } from '../components'
111
+ import { DlTabs, DlTabPanel, DlTabPanels, DlButton } from '../components'
24
112
  import { DlTabDetails } from '../components/types'
25
113
 
26
114
  export default defineComponent({
27
115
  components: {
28
116
  DlTabs,
29
117
  DlTabPanel,
30
- DlTabPanels
118
+ DlTabPanels,
119
+ DlButton
31
120
  },
32
121
  data() {
33
122
  return {
@@ -56,7 +145,7 @@ export default defineComponent({
56
145
  }
57
146
  })
58
147
  </script>
59
- <style>
148
+ <style lang="scss" scoped>
60
149
  .tabpanel {
61
150
  margin: 0 auto;
62
151
  padding: 1rem;
@@ -1,22 +1,23 @@
1
1
  <template>
2
2
  <div style="width: 800px">
3
+ <div style="font-size: 14px">
4
+ <span>Max length: </span>
5
+ <input v-model="maxLength">
6
+ </div>
3
7
  <div style="max-width: 500px; width: 100%">
4
8
  <dl-text-area
5
9
  v-model="textAreaValue"
6
10
  placeholder="Type your text..."
7
11
  show-counter
8
- :max-length="20"
12
+ :max-length="maxLength"
13
+ max-height="500px"
14
+ title="Text area title"
15
+ required
16
+ tooltip="Quis fugiat et non eu proident sit et amet."
17
+ top-message="Pariatur consequat non sit aliqua labore ad reprehenderit deserunt ullamco incididunt non irure laborum deserunt."
9
18
  enable-resize
10
- error
11
- error-message="Something went wrong!"
12
- @keydown="log"
13
- @focus="textAreaFocused = true"
14
- @blur="textAreaFocused = false"
19
+ clear-button-tooltip
15
20
  />
16
- <div style="margin-left: 20px">
17
- <p>Value: {{ textAreaValue }}</p>
18
- <p>Status: {{ textAreaFocused ? 'focused' : 'unfocused' }}</p>
19
- </div>
20
21
  </div>
21
22
  </div>
22
23
  </template>
@@ -31,14 +32,10 @@ export default defineComponent({
31
32
  },
32
33
  setup() {
33
34
  const textAreaValue = ref('')
34
- const textAreaFocused = ref(false)
35
-
36
- const log = (e: KeyboardEvent) => console.log(e)
37
-
35
+ const maxLength = ref(20)
38
36
  return {
39
- log,
40
- textAreaValue,
41
- textAreaFocused
37
+ maxLength,
38
+ textAreaValue
42
39
  }
43
40
  }
44
41
  })
@@ -0,0 +1,99 @@
1
+ <template>
2
+ <div class="gallery-wrapper">
3
+ <div
4
+ :style="imageContainerStyles"
5
+ class="image-container"
6
+ >
7
+ <dl-thumbnail-gallery
8
+ v-model="selectedImage"
9
+ :images="images"
10
+ invalid-image="/src/demo/DlThumbnailGallery/images/error.png"
11
+ />
12
+ </div>
13
+ <div class="menu">
14
+ <div class="menu__pagination">
15
+ {{ selectedIndex }} / {{ images.length }} Items
16
+ </div>
17
+ </div>
18
+ </div>
19
+ </template>
20
+
21
+ <script lang="ts">
22
+ import { defineComponent, ref, computed, watch } from 'vue-demi'
23
+ import { DlThumbnailGallery } from '../components'
24
+
25
+ interface DlThumbnail {
26
+ name: string
27
+ src: string
28
+ status: string
29
+ }
30
+
31
+ const images: DlThumbnail[] = []
32
+ for (let i = 1; i < 20; i++) {
33
+ images.push({
34
+ name: `Image ${i}`,
35
+ src: `https://picsum.photos/1000/800?random=${i}`,
36
+ status: ''
37
+ })
38
+ }
39
+
40
+ export default defineComponent({
41
+ components: {
42
+ DlThumbnailGallery
43
+ },
44
+ setup() {
45
+ const selectedImage = ref()
46
+ const selectedIndex = ref(0)
47
+ const imageContainerStyles = computed(() => {
48
+ return {
49
+ backgroundImage: `url(${
50
+ selectedImage.value?.src || images[0].src
51
+ })`
52
+ }
53
+ })
54
+ watch(selectedImage, (val) => {
55
+ selectedIndex.value =
56
+ images.findIndex(
57
+ (element: DlThumbnail) => element.src === val.src
58
+ ) + 1
59
+ })
60
+
61
+ return { images, selectedImage, imageContainerStyles, selectedIndex }
62
+ }
63
+ })
64
+ </script>
65
+
66
+ <style lang="scss" scoped>
67
+ .gallery-wrapper {
68
+ width: 100%;
69
+ height: 100%;
70
+ display: flex;
71
+ flex-direction: column;
72
+ }
73
+
74
+ .image-container {
75
+ user-select: none;
76
+ height: 100%;
77
+ width: 100%;
78
+ display: flex;
79
+ justify-content: center;
80
+ background-size: contain;
81
+ background-repeat: no-repeat;
82
+ background-position: center;
83
+ }
84
+
85
+ .menu {
86
+ display: flex;
87
+ justify-content: center;
88
+ cursor: pointer;
89
+ margin-top: 10px;
90
+ &__pagination {
91
+ display: flex;
92
+ justify-content: center;
93
+ align-items: center;
94
+ color: var(--dl-color-medium);
95
+ font-size: 0.7em;
96
+ margin: 0px 10px;
97
+ }
98
+ }
99
+ </style>
@@ -16,10 +16,6 @@
16
16
  type="number"
17
17
  title="Collapse count"
18
18
  />
19
- <dl-input
20
- v-model="classItem"
21
- title="Custom class for toast item"
22
- />
23
19
  <dl-input
24
20
  v-model="width"
25
21
  title="Custom width for toast item"
@@ -106,6 +102,7 @@ import {
106
102
  DlTextArea,
107
103
  DlToast
108
104
  } from '../components'
105
+ import { DlToastPositions, DlToastTypes } from '../components/types'
109
106
 
110
107
  export default defineComponent({
111
108
  name: 'DlToast',
@@ -124,16 +121,14 @@ export default defineComponent({
124
121
  const type = ref('success')
125
122
  const position = ref('bottom')
126
123
  const closable = ref(true)
127
- const classItem = ref('demo-toast')
128
124
  const width = ref('auto')
129
125
  const collapseCount = ref(null)
130
126
  function showToastMessage() {
131
127
  DlToast.open({
132
128
  message: message.value,
133
- position: position.value,
134
- type: type.value,
129
+ position: position.value as DlToastPositions,
130
+ type: type.value as DlToastTypes,
135
131
  duration: Number(duration.value) || 1000,
136
- classItem: classItem.value,
137
132
  closable: closable.value,
138
133
  width: width.value,
139
134
  collapseCount: collapseCount.value
@@ -145,7 +140,6 @@ export default defineComponent({
145
140
  duration,
146
141
  type,
147
142
  position,
148
- classItem,
149
143
  closable,
150
144
  width,
151
145
  collapseCount
@@ -54,11 +54,63 @@
54
54
  />
55
55
  </dl-tooltip>
56
56
  </div>
57
+ <div>
58
+ Tooltip with chip
59
+ <dl-tooltip style="padding: 0; border-radius: 2px">
60
+ <DlChip
61
+ label="Long Chip Label With Alot Of Text"
62
+ max-width="75px"
63
+ />
64
+ </dl-tooltip>
65
+ </div>
66
+ <div>
67
+ Tooltip with chip and flex
68
+ <dl-tooltip>
69
+ <div style="display: flex; flex-flow: row wrap; gap: 3px">
70
+ <DlChip
71
+ label="Long Chip Label With Alot Of Text"
72
+ max-width="75px"
73
+ />
74
+ <DlChip
75
+ label="Long Chip Label With Alot Of Text"
76
+ max-width="75px"
77
+ />
78
+ <DlChip
79
+ label="Long Chip Label With Alot Of Text"
80
+ max-width="75px"
81
+ />
82
+ </div>
83
+ </dl-tooltip>
84
+ </div>
85
+ <div>
86
+ Styled Tooltip using styles
87
+ <dl-tooltip style="border: 1px solid red">
88
+ <div style="display: flex; flex-flow: row wrap; gap: 3px">
89
+ i am with a border!
90
+ </div>
91
+ </dl-tooltip>
92
+ </div>
93
+ <div>
94
+ Styled Tooltip using a class
95
+ <dl-tooltip class="TestID">
96
+ <div style="display: flex; flex-flow: row wrap; gap: 3px">
97
+ i am with a border!
98
+ </div>
99
+ </dl-tooltip>
100
+ </div>
101
+ <div>
102
+ Styled Tooltip using an id
103
+ <dl-tooltip id="TestID">
104
+ <div style="display: flex; flex-flow: row wrap; gap: 3px">
105
+ i am with a border!
106
+ </div>
107
+ </dl-tooltip>
108
+ </div>
57
109
  </div>
58
110
  </template>
59
111
 
60
112
  <script lang="ts">
61
- import { DlTooltip, DlLink, DlCard } from '../components'
113
+ import { DlTooltip, DlLink, DlCard, DlChip } from '../components'
62
114
  import { defineComponent } from 'vue-demi'
63
115
 
64
116
  export default defineComponent({
@@ -66,7 +118,8 @@ export default defineComponent({
66
118
  components: {
67
119
  DlCard,
68
120
  DlTooltip,
69
- DlLink
121
+ DlLink,
122
+ DlChip
70
123
  },
71
124
  data() {
72
125
  return {
@@ -99,3 +152,14 @@ export default defineComponent({
99
152
  template: 'dl-tooltip-demo'
100
153
  })
101
154
  </script>
155
+
156
+ <style>
157
+ #TestID {
158
+ border: 1px solid red;
159
+ background-color: blue;
160
+ }
161
+ .TestID {
162
+ border: 1px solid red;
163
+ background-color: blue;
164
+ }
165
+ </style>