vueless 0.0.2 → 0.0.4

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 (666) hide show
  1. package/.browserslistrc +4 -0
  2. package/.editorconfig +12 -0
  3. package/.eslintignore +7 -0
  4. package/.eslintrc.js +59 -0
  5. package/.storybook/configs/main.config.js +20 -0
  6. package/.storybook/decorators/vue3SourceDecorator.js +119 -0
  7. package/.storybook/main.js +20 -0
  8. package/.storybook/manager-head.html +10 -0
  9. package/.storybook/manager.js +6 -0
  10. package/.storybook/preview-head.html +72 -0
  11. package/.storybook/preview.js +50 -0
  12. package/.storybook/themes/vueless.docs.theme.js +41 -0
  13. package/.storybook/themes/vueless.theme.js +45 -0
  14. package/{library.web-types-gen → .web-types-gen}/lib/build.js +35 -9
  15. package/{library.web-types-gen → .web-types-gen}/lib/config.js +9 -3
  16. package/LICENSE +21 -0
  17. package/README.md +174 -0
  18. package/index.pcss +3 -0
  19. package/package.json +56 -6
  20. package/postcss.config.js +9 -0
  21. package/public/images/logo.png +0 -0
  22. package/readme/README.md +8 -0
  23. package/{_readme → readme}/UNotify.md +1 -1
  24. package/{_readme → readme}/UTopLoader.md +2 -2
  25. package/readme/customization.md +347 -0
  26. package/readme/installation.md +139 -0
  27. package/readme/storybook-pages/Customisation.mdx +6 -0
  28. package/readme/storybook-pages/Installation.mdx +7 -0
  29. package/src/composable.ui/index.js +395 -0
  30. package/src/service.storybook/index.js +0 -0
  31. package/src/service.tailwind/index.js +114 -0
  32. package/{service.ui → src/service.ui}/index.js +70 -51
  33. package/src/ui.button/Docs.mdx +0 -0
  34. package/src/ui.button/composables/attrs.composable.js +0 -0
  35. package/src/ui.button/configs/default.config.js +0 -0
  36. package/src/ui.button/constants/index.js +0 -0
  37. package/src/ui.button/index.stories.js +0 -0
  38. package/src/ui.button/index.vue +0 -0
  39. package/src/ui.button-link/Docs.mdx +0 -0
  40. package/src/ui.button-link/composables/attrs.composable.js +0 -0
  41. package/src/ui.button-link/configs/default.config.js +0 -0
  42. package/src/ui.button-link/constants/index.js +0 -0
  43. package/src/ui.button-link/index.stories.js +0 -0
  44. package/src/ui.button-link/index.vue +0 -0
  45. package/src/ui.button-toggle/Docs.mdx +0 -0
  46. package/src/ui.button-toggle/composables/attrs.composable.js +0 -0
  47. package/src/ui.button-toggle/configs/default.config.js +0 -0
  48. package/src/ui.button-toggle/constants/index.js +0 -0
  49. package/src/ui.button-toggle/index.stories.js +0 -0
  50. package/src/ui.button-toggle/index.vue +0 -0
  51. package/src/ui.button-toggle-item/Docs.mdx +0 -0
  52. package/src/ui.button-toggle-item/composables/attrs.composable.js +0 -0
  53. package/src/ui.button-toggle-item/configs/default.config.js +0 -0
  54. package/src/ui.button-toggle-item/constants/index.js +0 -0
  55. package/src/ui.button-toggle-item/index.stories.js +0 -0
  56. package/src/ui.button-toggle-item/index.vue +0 -0
  57. package/src/ui.container-accordion/composables/attrs.composable.js +0 -0
  58. package/src/ui.container-accordion/configs/default.config.js +0 -0
  59. package/src/ui.container-accordion/constants/index.js +0 -0
  60. package/src/ui.container-accordion/index.stories.js +0 -0
  61. package/src/ui.container-accordion/index.vue +0 -0
  62. package/src/ui.container-card/Docs.mdx +0 -0
  63. package/src/ui.container-card/composable/attrs.composable.js +0 -0
  64. package/src/ui.container-card/configs/default.config.js +0 -0
  65. package/src/ui.container-card/constants/index.js +0 -0
  66. package/src/ui.container-card/index.stories.js +0 -0
  67. package/src/ui.container-card/index.vue +0 -0
  68. package/src/ui.container-divider/Docs.mdx +0 -0
  69. package/src/ui.container-divider/composables/attrs.composable.js +65 -0
  70. package/src/ui.container-divider/configs/default.config.js +0 -0
  71. package/src/ui.container-divider/constants/index.js +5 -0
  72. package/src/ui.container-divider/index.stories.js +0 -0
  73. package/src/ui.container-divider/index.vue +138 -0
  74. package/src/ui.container-group/Docs.mdx +0 -0
  75. package/src/ui.container-group/composables/attrs.composable.js +0 -0
  76. package/src/ui.container-group/configs/default.config.js +0 -0
  77. package/src/ui.container-group/constants/index.js +0 -0
  78. package/src/ui.container-group/index.stories.js +0 -0
  79. package/src/ui.container-group/index.vue +0 -0
  80. package/src/ui.container-groups/Docs.mdx +0 -0
  81. package/src/ui.container-groups/composables/attrs.composable.js +0 -0
  82. package/src/ui.container-groups/configs/default.config.js +0 -0
  83. package/src/ui.container-groups/index.stories.js +0 -0
  84. package/src/ui.container-groups/index.vue +0 -0
  85. package/src/ui.container-modal/Docs.mdx +0 -0
  86. package/src/ui.container-modal/composables/attrs.composable.js +0 -0
  87. package/src/ui.container-modal/configs/default.config.js +0 -0
  88. package/src/ui.container-modal/constants/index.js +0 -0
  89. package/src/ui.container-modal/index.stories.js +0 -0
  90. package/src/ui.container-modal/index.vue +0 -0
  91. package/src/ui.container-modal-confirm/Docs.mdx +0 -0
  92. package/src/ui.container-modal-confirm/composable/attrs.composable.js +0 -0
  93. package/src/ui.container-modal-confirm/configs/default.config.js +0 -0
  94. package/src/ui.container-modal-confirm/constants/index.js +0 -0
  95. package/src/ui.container-modal-confirm/index.stories.js +0 -0
  96. package/src/ui.container-modal-confirm/index.vue +0 -0
  97. package/src/ui.container-page/Docs.mdx +0 -0
  98. package/src/ui.container-page/composables/attrs.composable.js +0 -0
  99. package/src/ui.container-page/configs/default.config.js +0 -0
  100. package/src/ui.container-page/constants/index.js +0 -0
  101. package/src/ui.container-page/index.stories.js +0 -0
  102. package/src/ui.container-page/index.vue +0 -0
  103. package/src/ui.container-row/Docs.mdx +0 -0
  104. package/src/ui.container-row/composables/attrs.composable.js +0 -0
  105. package/src/ui.container-row/configs/default.config.js +0 -0
  106. package/src/ui.container-row/constants/index.js +0 -0
  107. package/src/ui.container-row/index.stories.js +0 -0
  108. package/src/ui.container-row/index.vue +0 -0
  109. package/src/ui.data-list/composables/attrs.composable.js +0 -0
  110. package/src/ui.data-list/configs/default.config.js +0 -0
  111. package/src/ui.data-list/constants/index.js +0 -0
  112. package/src/ui.data-list/index.stories.js +0 -0
  113. package/src/ui.data-list/index.vue +0 -0
  114. package/src/ui.data-table/Docs.mdx +0 -0
  115. package/src/ui.data-table/composables/attrs.composable.js +188 -0
  116. package/src/ui.data-table/configs/default.config.js +88 -0
  117. package/src/ui.data-table/constants/index.js +5 -0
  118. package/{ui.data-table → src/ui.data-table}/index.stories.js +76 -46
  119. package/src/ui.data-table/index.vue +725 -0
  120. package/src/ui.data-table/services/table.service.js +15 -0
  121. package/src/ui.data-table-cell/composables/attrs.composable.js +24 -0
  122. package/src/ui.data-table-cell/configs/default.config.js +0 -0
  123. package/src/ui.data-table-cell/constants/index.js +5 -0
  124. package/src/ui.data-table-cell/index.vue +44 -0
  125. package/src/ui.dropdown-badge/Docs.mdx +0 -0
  126. package/src/ui.dropdown-badge/composables/attrs.composable.js +0 -0
  127. package/src/ui.dropdown-badge/configs/default.config.js +0 -0
  128. package/src/ui.dropdown-badge/constants/index.js +0 -0
  129. package/src/ui.dropdown-badge/index.stories.js +0 -0
  130. package/src/ui.dropdown-badge/index.vue +0 -0
  131. package/src/ui.dropdown-button/Docs.mdx +0 -0
  132. package/src/ui.dropdown-button/composables/attrs.composable.js +0 -0
  133. package/src/ui.dropdown-button/configs/default.config.js +0 -0
  134. package/src/ui.dropdown-button/constants/index.js +0 -0
  135. package/src/ui.dropdown-button/index.stories.js +0 -0
  136. package/src/ui.dropdown-button/index.vue +0 -0
  137. package/src/ui.dropdown-item/Docs.mdx +0 -0
  138. package/src/ui.dropdown-item/composables/attrs.composable.js +0 -0
  139. package/src/ui.dropdown-item/configs/default.config.js +0 -0
  140. package/src/ui.dropdown-item/index.stories.js +0 -0
  141. package/src/ui.dropdown-item/index.vue +0 -0
  142. package/src/ui.dropdown-link/Docs.mdx +0 -0
  143. package/src/ui.dropdown-link/composables/attrs.composable.js +0 -0
  144. package/src/ui.dropdown-link/configs/default.config.js +0 -0
  145. package/src/ui.dropdown-link/constants/index.js +0 -0
  146. package/src/ui.dropdown-link/index.stories.js +0 -0
  147. package/src/ui.dropdown-link/index.vue +0 -0
  148. package/src/ui.dropdown-list/Docs.mdx +0 -0
  149. package/src/ui.dropdown-list/composables/attrs.composable.js +0 -0
  150. package/src/ui.dropdown-list/composables/usePointer.js +0 -0
  151. package/src/ui.dropdown-list/configs/default.config.js +0 -0
  152. package/src/ui.dropdown-list/constants/index.js +0 -0
  153. package/src/ui.dropdown-list/index.stories.js +0 -0
  154. package/src/ui.dropdown-list/index.vue +0 -0
  155. package/src/ui.form-calendar/Docs.mdx +0 -0
  156. package/src/ui.form-calendar/components/DayView.vue +0 -0
  157. package/src/ui.form-calendar/components/MonthView.vue +0 -0
  158. package/src/ui.form-calendar/components/YearView.vue +0 -0
  159. package/src/ui.form-calendar/composables/attrs.composable.js +106 -0
  160. package/src/ui.form-calendar/configs/default.config.js +125 -0
  161. package/src/ui.form-calendar/constants/index.js +0 -0
  162. package/src/ui.form-calendar/index.stories.js +0 -0
  163. package/src/ui.form-calendar/index.vue +0 -0
  164. package/src/ui.form-calendar/services/calendar.service.js +0 -0
  165. package/src/ui.form-calendar/services/date.service.js +282 -0
  166. package/src/ui.form-calendar/services/formatting.service.js +0 -0
  167. package/src/ui.form-checkbox/Docs.mdx +0 -0
  168. package/src/ui.form-checkbox/composables/attrs.composable.js +57 -0
  169. package/src/ui.form-checkbox/configs/default.config.js +0 -0
  170. package/src/ui.form-checkbox/constants/index.js +5 -0
  171. package/src/ui.form-checkbox/index.stories.js +0 -0
  172. package/src/ui.form-checkbox/index.vue +241 -0
  173. package/src/ui.form-checkbox-group/Docs.mdx +0 -0
  174. package/src/ui.form-checkbox-group/composables/attrs.composable.js +0 -0
  175. package/src/ui.form-checkbox-group/configs/default.config.js +0 -0
  176. package/src/ui.form-checkbox-group/constants/index.js +0 -0
  177. package/src/ui.form-checkbox-group/index.stories.js +0 -0
  178. package/src/ui.form-checkbox-group/index.vue +0 -0
  179. package/src/ui.form-checkbox-multi-state/Docs.mdx +0 -0
  180. package/src/ui.form-checkbox-multi-state/composables/attrs.composable.js +0 -0
  181. package/src/ui.form-checkbox-multi-state/configs/default.config.js +0 -0
  182. package/src/ui.form-checkbox-multi-state/constants/index.js +0 -0
  183. package/src/ui.form-checkbox-multi-state/index.stories.js +0 -0
  184. package/src/ui.form-checkbox-multi-state/index.vue +0 -0
  185. package/src/ui.form-color-picker/composables/attrs.composable.js +0 -0
  186. package/src/ui.form-color-picker/configs/default.config.js +0 -0
  187. package/src/ui.form-color-picker/constants/index.js +0 -0
  188. package/src/ui.form-color-picker/index.stories.js +0 -0
  189. package/src/ui.form-color-picker/index.vue +0 -0
  190. package/src/ui.form-date-picker/Docs.mdx +0 -0
  191. package/src/ui.form-date-picker/composables/attrs.composable.js +0 -0
  192. package/src/ui.form-date-picker/configs/default.config.js +0 -0
  193. package/src/ui.form-date-picker/constants/index.js +0 -0
  194. package/src/ui.form-date-picker/index.stories.js +0 -0
  195. package/src/ui.form-date-picker/index.vue +0 -0
  196. package/src/ui.form-date-picker-range/composables/attrs.composable.js +100 -0
  197. package/src/ui.form-date-picker-range/configs/default.config.js +172 -0
  198. package/src/ui.form-date-picker-range/constants/index.js +0 -0
  199. package/src/ui.form-date-picker-range/index.stories.js +0 -0
  200. package/src/ui.form-date-picker-range/index.vue +0 -0
  201. package/src/ui.form-date-picker-range/services/dateRange.service.js +0 -0
  202. package/src/ui.form-date-picker-range/services/validation.service.js +22 -0
  203. package/src/ui.form-input/Docs.mdx +0 -0
  204. package/src/ui.form-input/assets/fonts/text-security-disc.woff +0 -0
  205. package/src/ui.form-input/composables/attrs.composable.js +0 -0
  206. package/src/ui.form-input/configs/default.config.js +0 -0
  207. package/src/ui.form-input/constants/index.js +0 -0
  208. package/src/ui.form-input/index.stories.js +0 -0
  209. package/src/ui.form-input/index.vue +0 -0
  210. package/src/ui.form-input-file/composables/attrs.composable.js +0 -0
  211. package/src/ui.form-input-file/configs/default.config.js +0 -0
  212. package/src/ui.form-input-file/constants/index.js +0 -0
  213. package/src/ui.form-input-file/index.stories.js +0 -0
  214. package/src/ui.form-input-file/index.vue +0 -0
  215. package/src/ui.form-input-money/Docs.mdx +0 -0
  216. package/src/ui.form-input-money/composables/attrs.composable.js +0 -0
  217. package/src/ui.form-input-money/composables/useFormatCurrency.js +0 -0
  218. package/src/ui.form-input-money/configs/default.config.js +0 -0
  219. package/src/ui.form-input-money/constants/index.js +0 -0
  220. package/src/ui.form-input-money/index.stories.js +0 -0
  221. package/src/ui.form-input-money/index.vue +0 -0
  222. package/src/ui.form-input-money/services/format.service.js +0 -0
  223. package/src/ui.form-input-number/Docs.mdx +0 -0
  224. package/src/ui.form-input-number/composables/attrs.composable.js +0 -0
  225. package/src/ui.form-input-number/configs/default.config.js +0 -0
  226. package/src/ui.form-input-number/constants/index.js +0 -0
  227. package/src/ui.form-input-number/index.stories.js +0 -0
  228. package/src/ui.form-input-number/index.vue +0 -0
  229. package/src/ui.form-input-rating/composables/attrs.composable.js +0 -0
  230. package/src/ui.form-input-rating/configs/default.config.js +25 -0
  231. package/src/ui.form-input-rating/constants/index.js +0 -0
  232. package/{ui.form-input-rating → src/ui.form-input-rating}/index.stories.js +6 -5
  233. package/src/ui.form-input-rating/index.vue +185 -0
  234. package/src/ui.form-input-search/composables/attrs.composable.js +0 -0
  235. package/src/ui.form-input-search/configs/default.config.js +0 -0
  236. package/src/ui.form-input-search/constants/index.js +0 -0
  237. package/src/ui.form-input-search/index.stories.js +0 -0
  238. package/src/ui.form-input-search/index.vue +0 -0
  239. package/src/ui.form-label/Docs.mdx +0 -0
  240. package/src/ui.form-label/composables/attrs.composable.js +0 -0
  241. package/src/ui.form-label/configs/default.config.js +0 -0
  242. package/src/ui.form-label/constants/index.js +0 -0
  243. package/src/ui.form-label/index.stories.js +0 -0
  244. package/src/ui.form-label/index.vue +0 -0
  245. package/src/ui.form-radio/Docs.mdx +0 -0
  246. package/src/ui.form-radio/composables/attrs.composable.js +0 -0
  247. package/src/ui.form-radio/configs/default.config.js +0 -0
  248. package/src/ui.form-radio/constants/index.js +0 -0
  249. package/src/ui.form-radio/index.stories.js +0 -0
  250. package/src/ui.form-radio/index.vue +0 -0
  251. package/src/ui.form-radio-card/Docs.mdx +0 -0
  252. package/src/ui.form-radio-card/composables/attrs.composable.js +35 -0
  253. package/src/ui.form-radio-card/configs/default.config.js +25 -0
  254. package/src/ui.form-radio-card/constants/index.js +0 -0
  255. package/src/ui.form-radio-card/index.stories.js +0 -0
  256. package/src/ui.form-radio-card/index.vue +159 -0
  257. package/src/ui.form-radio-card/services/variant.service.js +0 -0
  258. package/src/ui.form-radio-group/Docs.mdx +0 -0
  259. package/src/ui.form-radio-group/composables/attrs.composable.js +0 -0
  260. package/src/ui.form-radio-group/configs/default.config.js +0 -0
  261. package/src/ui.form-radio-group/constants/index.js +0 -0
  262. package/src/ui.form-radio-group/index.stories.js +0 -0
  263. package/src/ui.form-radio-group/index.vue +0 -0
  264. package/src/ui.form-select/Docs.mdx +0 -0
  265. package/src/ui.form-select/composables/attrs.composable.js +0 -0
  266. package/src/ui.form-select/configs/default.config.js +0 -0
  267. package/src/ui.form-select/constants/index.js +0 -0
  268. package/src/ui.form-select/index.stories.js +0 -0
  269. package/src/ui.form-select/index.vue +0 -0
  270. package/src/ui.form-select/services/select.service.js +0 -0
  271. package/src/ui.form-switch/composables/attrs.composable.js +0 -0
  272. package/src/ui.form-switch/configs/default.config.js +0 -0
  273. package/src/ui.form-switch/constants/index.js +0 -0
  274. package/src/ui.form-switch/index.stories.js +0 -0
  275. package/src/ui.form-switch/index.vue +0 -0
  276. package/src/ui.form-switch/services/variant.service.js +0 -0
  277. package/src/ui.form-textarea/Docs.mdx +0 -0
  278. package/src/ui.form-textarea/composables/attrs.composable.js +0 -0
  279. package/src/ui.form-textarea/configs/default.config.js +0 -0
  280. package/src/ui.form-textarea/constants/index.js +0 -0
  281. package/src/ui.form-textarea/index.stories.js +0 -0
  282. package/src/ui.form-textarea/index.vue +0 -0
  283. package/src/ui.image-avatar/composables/attrs.composable.js +0 -0
  284. package/src/ui.image-avatar/configs/default.config.js +0 -0
  285. package/src/ui.image-avatar/constants/index.js +0 -0
  286. package/src/ui.image-avatar/default-avatar.png +0 -0
  287. package/src/ui.image-avatar/index.stories.js +0 -0
  288. package/src/ui.image-avatar/index.vue +0 -0
  289. package/src/ui.image-icon/Docs.mdx +0 -0
  290. package/src/ui.image-icon/composables/attrs.composable.js +65 -0
  291. package/src/ui.image-icon/configs/default.config.js +90 -0
  292. package/src/ui.image-icon/constants/index.js +5 -0
  293. package/src/ui.image-icon/index.stories.js +0 -0
  294. package/src/ui.image-icon/index.vue +223 -0
  295. package/src/ui.image-logo/composables/attrs.composable.js +41 -0
  296. package/src/ui.image-logo/configs/default.config.js +0 -0
  297. package/src/ui.image-logo/constants/index.js +5 -0
  298. package/src/ui.image-logo/index.stories.js +0 -0
  299. package/src/ui.image-logo/index.vue +98 -0
  300. package/{layout-ui.loader → src/ui.loader-rendering}/index.vue +16 -5
  301. package/src/ui.loader-top/components/TopProgress.vue +0 -0
  302. package/{layout-ui.loader-top → src/ui.loader-top}/index.vue +20 -17
  303. package/{layout-ui.loader-top → src/ui.loader-top}/store/index.js +11 -7
  304. package/src/ui.navigation-pagination/composables/attrs.composable.js +0 -0
  305. package/src/ui.navigation-pagination/configs/default.config.js +0 -0
  306. package/src/ui.navigation-pagination/constants/index.js +0 -0
  307. package/src/ui.navigation-pagination/index.stories.js +0 -0
  308. package/src/ui.navigation-pagination/index.vue +0 -0
  309. package/src/ui.navigation-stepper/composables/attrs.composable.js +0 -0
  310. package/src/ui.navigation-stepper/configs/default.config.js +0 -0
  311. package/src/ui.navigation-stepper/constants/index.js +0 -0
  312. package/src/ui.navigation-stepper/index.stories.js +0 -0
  313. package/src/ui.navigation-stepper/index.vue +0 -0
  314. package/src/ui.navigation-tab/composables/attrs.composable.js +0 -0
  315. package/src/ui.navigation-tab/configs/default.config.js +0 -0
  316. package/src/ui.navigation-tab/constants/index.js +0 -0
  317. package/src/ui.navigation-tab/index.stories.js +0 -0
  318. package/src/ui.navigation-tab/index.vue +0 -0
  319. package/src/ui.navigation-tabs/composables/attrs.composable.js +0 -0
  320. package/src/ui.navigation-tabs/configs/default.config.js +0 -0
  321. package/src/ui.navigation-tabs/constants/index.js +0 -0
  322. package/src/ui.navigation-tabs/index.stories.js +0 -0
  323. package/src/ui.navigation-tabs/index.vue +0 -0
  324. package/src/ui.notify/index.stories.js +0 -0
  325. package/{layout-ui.notify → src/ui.notify}/index.vue +14 -20
  326. package/{service.notify → src/ui.notify/services}/index.js +1 -1
  327. package/src/ui.other-dot/composables/attrs.composable.js +0 -0
  328. package/src/ui.other-dot/configs/default.config.js +0 -0
  329. package/src/ui.other-dot/constants/index.js +0 -0
  330. package/src/ui.other-dot/index.stories.js +0 -0
  331. package/src/ui.other-dot/index.vue +0 -0
  332. package/src/ui.other-loader/composables/attrs.composable.js +0 -0
  333. package/src/ui.other-loader/configs/default.config.js +0 -0
  334. package/src/ui.other-loader/constants/index.js +0 -0
  335. package/src/ui.other-loader/index.stories.js +0 -0
  336. package/src/ui.other-loader/index.vue +0 -0
  337. package/src/ui.text-alert/composables/attrs.composable.js +0 -0
  338. package/src/ui.text-alert/configs/default.config.js +0 -0
  339. package/src/ui.text-alert/constatns/index.js +0 -0
  340. package/src/ui.text-alert/index.stories.js +0 -0
  341. package/src/ui.text-alert/index.vue +0 -0
  342. package/src/ui.text-badge/Docs.mdx +0 -0
  343. package/src/ui.text-badge/composables/attrs.composable.js +0 -0
  344. package/src/ui.text-badge/configs/default.config.js +0 -0
  345. package/src/ui.text-badge/constants/index.js +0 -0
  346. package/src/ui.text-badge/index.stories.js +0 -0
  347. package/src/ui.text-badge/index.vue +0 -0
  348. package/src/ui.text-block/composables/attrs.composable.js +0 -0
  349. package/src/ui.text-block/configs/default.config.js +0 -0
  350. package/src/ui.text-block/constatns/index.js +0 -0
  351. package/src/ui.text-block/index.stories.js +0 -0
  352. package/src/ui.text-block/index.vue +0 -0
  353. package/src/ui.text-empty/Docs.mdx +0 -0
  354. package/src/ui.text-empty/composables/attrs.composable.js +43 -0
  355. package/src/ui.text-empty/configs/default.config.js +0 -0
  356. package/{constant.component-names → src/ui.text-empty/constants}/index.js +1 -2
  357. package/src/ui.text-empty/index.stories.js +0 -0
  358. package/{ui.text-empty → src/ui.text-empty}/index.vue +14 -15
  359. package/src/ui.text-file/composables/attrs.composable.js +0 -0
  360. package/src/ui.text-file/configs/default.config.js +0 -0
  361. package/src/ui.text-file/index.stories.js +0 -0
  362. package/src/ui.text-file/index.vue +0 -0
  363. package/src/ui.text-files/composables/attrs.composable.js +0 -0
  364. package/src/ui.text-files/configs/default.config.js +0 -0
  365. package/src/ui.text-files/constants/index.js +0 -0
  366. package/src/ui.text-files/index.stories.js +0 -0
  367. package/src/ui.text-files/index.vue +0 -0
  368. package/src/ui.text-header/Docs.mdx +0 -0
  369. package/src/ui.text-header/composables/attrs.composable.js +0 -0
  370. package/src/ui.text-header/configs/default.config.js +45 -0
  371. package/src/ui.text-header/constants/index.js +0 -0
  372. package/src/ui.text-header/index.stories.js +0 -0
  373. package/src/ui.text-header/index.vue +0 -0
  374. package/src/ui.text-money/Docs.mdx +0 -0
  375. package/src/ui.text-money/assets/credit.svg +0 -0
  376. package/src/ui.text-money/assets/debit.svg +0 -0
  377. package/src/ui.text-money/composables/attrs.composable.js +0 -0
  378. package/src/ui.text-money/configs/default.config.js +69 -0
  379. package/src/ui.text-money/constants/index.js +0 -0
  380. package/src/ui.text-money/index.stories.js +0 -0
  381. package/src/ui.text-money/index.vue +0 -0
  382. package/src/ui.text-money/services/money.services.js +0 -0
  383. package/src/ui.viewport/index.vue +0 -0
  384. package/tailwind.config.js +69 -0
  385. package/vite.config.mjs +39 -0
  386. package/vueless.config.js +7 -0
  387. package/web-types.json +3110 -2243
  388. package/_readme/README.md +0 -78
  389. package/_readme/layoutAdmin.md +0 -703
  390. package/_readme/layoutApp.md +0 -153
  391. package/_readme/layoutAuth.md +0 -190
  392. package/composable.ui/index.js +0 -81
  393. package/config.rollup-plugin-visualizer/index.js +0 -11
  394. package/config.unplugin-vue-i18n/index.js +0 -9
  395. package/config.vite-plugin-pwa/index.js +0 -132
  396. package/config.vite-svg-loader/index.js +0 -22
  397. package/index.js +0 -151
  398. package/layout-ui.loader-top/components/TopProgress.vue +0 -277
  399. package/layout-ui.notify/index.stories.js +0 -102
  400. package/layout-ui.viewport/index.vue +0 -78
  401. package/layout.admin/AsideBlock.vue +0 -534
  402. package/layout.admin/AsideInfoBlock.vue +0 -85
  403. package/layout.admin/BrandBlock.vue +0 -380
  404. package/layout.admin/ChangeThemeModal.vue +0 -179
  405. package/layout.admin/HelperBlock.vue +0 -132
  406. package/layout.admin/MainMenu.vue +0 -234
  407. package/layout.admin/MainSubMenu.vue +0 -196
  408. package/layout.admin/MobileMainMenu.vue +0 -197
  409. package/layout.admin/MobileSubBlock.vue +0 -171
  410. package/layout.admin/RightInfoBlock.vue +0 -166
  411. package/layout.admin/UserBlock.vue +0 -290
  412. package/layout.admin/images/abstract-01.jpg +0 -0
  413. package/layout.admin/images/abstract-01_preview.jpg +0 -0
  414. package/layout.admin/index.vue +0 -544
  415. package/layout.admin/mixins/index.js +0 -54
  416. package/layout.admin/store/index.js +0 -167
  417. package/layout.auth/FeaturesBlock.vue +0 -57
  418. package/layout.auth/FooterMenu.vue +0 -90
  419. package/layout.auth/LanguageSwitcher.vue +0 -90
  420. package/layout.auth/index.vue +0 -237
  421. package/library.vue-tailwind-3/TDatepicker/components/t-date-trigger.js +0 -257
  422. package/library.vue-tailwind-3/TDatepicker/components/t-datepicker-navigator.js +0 -600
  423. package/library.vue-tailwind-3/TDatepicker/components/t-datepicker-time-selector.js +0 -522
  424. package/library.vue-tailwind-3/TDatepicker/components/t-datepicker-views-view-calendar-days-day.js +0 -289
  425. package/library.vue-tailwind-3/TDatepicker/components/t-datepicker-views-view-calendar-days.js +0 -236
  426. package/library.vue-tailwind-3/TDatepicker/components/t-datepicker-views-view-calendar-headers.js +0 -64
  427. package/library.vue-tailwind-3/TDatepicker/components/t-datepicker-views-view-calendar.js +0 -159
  428. package/library.vue-tailwind-3/TDatepicker/components/t-datepicker-views-view-months-month.js +0 -106
  429. package/library.vue-tailwind-3/TDatepicker/components/t-datepicker-views-view-months.js +0 -97
  430. package/library.vue-tailwind-3/TDatepicker/components/t-datepicker-views-view-years-year.js +0 -117
  431. package/library.vue-tailwind-3/TDatepicker/components/t-datepicker-views-view-years.js +0 -104
  432. package/library.vue-tailwind-3/TDatepicker/components/t-datepicker-views-view.js +0 -294
  433. package/library.vue-tailwind-3/TDatepicker/components/t-datepicker-views.js +0 -212
  434. package/library.vue-tailwind-3/TDatepicker/components/t-toggle.js +0 -323
  435. package/library.vue-tailwind-3/TDatepicker/index.js +0 -1051
  436. package/library.vue-tailwind-3/base/Component.js +0 -126
  437. package/library.vue-tailwind-3/base/HtmlInput.js +0 -38
  438. package/library.vue-tailwind-3/base/TextInput.js +0 -102
  439. package/library.vue-tailwind-3/index.js +0 -12
  440. package/library.vue-tailwind-3/l10n/ar.js +0 -27
  441. package/library.vue-tailwind-3/l10n/at.js +0 -29
  442. package/library.vue-tailwind-3/l10n/az.js +0 -40
  443. package/library.vue-tailwind-3/l10n/be.js +0 -35
  444. package/library.vue-tailwind-3/l10n/bg.js +0 -41
  445. package/library.vue-tailwind-3/l10n/bn.js +0 -39
  446. package/library.vue-tailwind-3/l10n/bs.js +0 -28
  447. package/library.vue-tailwind-3/l10n/cat.js +0 -59
  448. package/library.vue-tailwind-3/l10n/cs.js +0 -35
  449. package/library.vue-tailwind-3/l10n/cy.js +0 -68
  450. package/library.vue-tailwind-3/l10n/da.js +0 -31
  451. package/library.vue-tailwind-3/l10n/de.js +0 -30
  452. package/library.vue-tailwind-3/l10n/default.js +0 -54
  453. package/library.vue-tailwind-3/l10n/eo.js +0 -31
  454. package/library.vue-tailwind-3/l10n/es.js +0 -32
  455. package/library.vue-tailwind-3/l10n/et.js +0 -46
  456. package/library.vue-tailwind-3/l10n/fa.js +0 -41
  457. package/library.vue-tailwind-3/l10n/fi.js +0 -50
  458. package/library.vue-tailwind-3/l10n/fo.js +0 -40
  459. package/library.vue-tailwind-3/l10n/fr.js +0 -48
  460. package/library.vue-tailwind-3/l10n/ga.js +0 -36
  461. package/library.vue-tailwind-3/l10n/gr.js +0 -33
  462. package/library.vue-tailwind-3/l10n/he.js +0 -41
  463. package/library.vue-tailwind-3/l10n/hi.js +0 -39
  464. package/library.vue-tailwind-3/l10n/hr.js +0 -41
  465. package/library.vue-tailwind-3/l10n/hu.js +0 -46
  466. package/library.vue-tailwind-3/l10n/id.js +0 -30
  467. package/library.vue-tailwind-3/l10n/index.js +0 -127
  468. package/library.vue-tailwind-3/l10n/is.js +0 -40
  469. package/library.vue-tailwind-3/l10n/it.js +0 -31
  470. package/library.vue-tailwind-3/l10n/ja.js +0 -42
  471. package/library.vue-tailwind-3/l10n/ka.js +0 -35
  472. package/library.vue-tailwind-3/l10n/km.js +0 -45
  473. package/library.vue-tailwind-3/l10n/ko.js +0 -41
  474. package/library.vue-tailwind-3/l10n/kz.js +0 -34
  475. package/library.vue-tailwind-3/l10n/lt.js +0 -41
  476. package/library.vue-tailwind-3/l10n/lv.js +0 -37
  477. package/library.vue-tailwind-3/l10n/mk.js +0 -30
  478. package/library.vue-tailwind-3/l10n/mn.js +0 -42
  479. package/library.vue-tailwind-3/l10n/ms.js +0 -28
  480. package/library.vue-tailwind-3/l10n/my.js +0 -42
  481. package/library.vue-tailwind-3/l10n/nl.js +0 -48
  482. package/library.vue-tailwind-3/l10n/no.js +0 -31
  483. package/library.vue-tailwind-3/l10n/pa.js +0 -27
  484. package/library.vue-tailwind-3/l10n/pl.js +0 -31
  485. package/library.vue-tailwind-3/l10n/pt.js +0 -36
  486. package/library.vue-tailwind-3/l10n/ro.js +0 -29
  487. package/library.vue-tailwind-3/l10n/ru.js +0 -48
  488. package/library.vue-tailwind-3/l10n/si.js +0 -40
  489. package/library.vue-tailwind-3/l10n/sk.js +0 -32
  490. package/library.vue-tailwind-3/l10n/sl.js +0 -32
  491. package/library.vue-tailwind-3/l10n/sq.js +0 -27
  492. package/library.vue-tailwind-3/l10n/sr-cyr.js +0 -29
  493. package/library.vue-tailwind-3/l10n/sr.js +0 -30
  494. package/library.vue-tailwind-3/l10n/sv.js +0 -30
  495. package/library.vue-tailwind-3/l10n/th.js +0 -43
  496. package/library.vue-tailwind-3/l10n/tr.js +0 -32
  497. package/library.vue-tailwind-3/l10n/uk.js +0 -28
  498. package/library.vue-tailwind-3/l10n/uz.js +0 -35
  499. package/library.vue-tailwind-3/l10n/uz_latn.js +0 -48
  500. package/library.vue-tailwind-3/l10n/vn.js +0 -41
  501. package/library.vue-tailwind-3/l10n/zh-tw.js +0 -41
  502. package/library.vue-tailwind-3/l10n/zh.js +0 -41
  503. package/library.vue-tailwind-3/services/date.service.js +0 -294
  504. package/library.vue-tailwind-3/services/formatting.service.js +0 -205
  505. package/library.vue-tailwind-3/services/vueTailwind.service.js +0 -41
  506. package/library.vue-tailwind-3/t-alert.js +0 -151
  507. package/library.vue-tailwind-3/t-button.js +0 -243
  508. package/library.vue-tailwind-3/t-card.js +0 -98
  509. package/library.vue-tailwind-3/t-checkbox.js +0 -292
  510. package/library.vue-tailwind-3/t-dropdown.js +0 -322
  511. package/library.vue-tailwind-3/t-input.js +0 -68
  512. package/library.vue-tailwind-3/t-modal.js +0 -409
  513. package/library.vue-tailwind-3/t-pagination.js +0 -309
  514. package/library.vue-tailwind-3/t-radio.js +0 -301
  515. package/library.vue-tailwind-3/t-table.js +0 -362
  516. package/library.vue-tailwind-3/t-textarea.js +0 -84
  517. package/resolver.unplugin-vue-components/index.js +0 -94
  518. package/service.api/index.js +0 -275
  519. package/service.data/index.js +0 -75
  520. package/service.date/index.js +0 -222
  521. package/service.i18n/index.js +0 -145
  522. package/service.idb-keyval/index.js +0 -37
  523. package/service.jwt/index.js +0 -27
  524. package/service.money/index.js +0 -86
  525. package/service.redirect/index.js +0 -20
  526. package/service.storybook/index.js +0 -118
  527. package/service.validation/index.js +0 -55
  528. package/service.worker/index.js +0 -26
  529. package/ui.button/index.stories.js +0 -165
  530. package/ui.button/index.vue +0 -1018
  531. package/ui.button-expand/index.stories.js +0 -44
  532. package/ui.button-expand/index.vue +0 -22
  533. package/ui.button-expand-item/index.stories.js +0 -69
  534. package/ui.button-expand-item/index.vue +0 -154
  535. package/ui.button-group/index.stories.js +0 -104
  536. package/ui.button-group/index.vue +0 -165
  537. package/ui.button-group-item/index.stories.js +0 -74
  538. package/ui.button-group-item/index.vue +0 -283
  539. package/ui.button-link/index.stories.js +0 -121
  540. package/ui.button-link/index.vue +0 -541
  541. package/ui.container-accordion/index.stories.js +0 -88
  542. package/ui.container-accordion/index.vue +0 -167
  543. package/ui.container-card/index.stories.js +0 -128
  544. package/ui.container-card/index.vue +0 -207
  545. package/ui.container-divider/index.stories.js +0 -91
  546. package/ui.container-divider/index.vue +0 -201
  547. package/ui.container-group/index.stories.js +0 -87
  548. package/ui.container-group/index.vue +0 -172
  549. package/ui.container-groups/index.stories.js +0 -44
  550. package/ui.container-groups/index.vue +0 -18
  551. package/ui.container-modal/components/ArrowLink.vue +0 -87
  552. package/ui.container-modal/index.stories.js +0 -169
  553. package/ui.container-modal/index.vue +0 -416
  554. package/ui.container-modal-confirm/index.stories.js +0 -150
  555. package/ui.container-modal-confirm/index.vue +0 -186
  556. package/ui.container-page/components/ArrowLink.vue +0 -87
  557. package/ui.container-page/index.stories.js +0 -174
  558. package/ui.container-page/index.vue +0 -486
  559. package/ui.container-row/index.stories.js +0 -71
  560. package/ui.container-row/index.vue +0 -52
  561. package/ui.data-list/index.stories.js +0 -90
  562. package/ui.data-list/index.vue +0 -367
  563. package/ui.data-table/components/DateSeparator.vue +0 -99
  564. package/ui.data-table/components/EmptyTableMsg.vue +0 -46
  565. package/ui.data-table/components/TableCheckbox.vue +0 -109
  566. package/ui.data-table/index.vue +0 -1101
  567. package/ui.dropdown-button/index.stories.js +0 -157
  568. package/ui.dropdown-button/index.vue +0 -331
  569. package/ui.dropdown-item/index.stories.js +0 -29
  570. package/ui.dropdown-item/index.vue +0 -70
  571. package/ui.dropdown-link/index.stories.js +0 -127
  572. package/ui.dropdown-link/index.vue +0 -330
  573. package/ui.dropdown-list/index.stories.js +0 -46
  574. package/ui.dropdown-list/index.vue +0 -139
  575. package/ui.dropdown-tag/index.stories.js +0 -125
  576. package/ui.dropdown-tag/index.vue +0 -285
  577. package/ui.form-checkbox/index.stories.js +0 -98
  578. package/ui.form-checkbox/index.vue +0 -301
  579. package/ui.form-checkbox-group/index.stories.js +0 -39
  580. package/ui.form-checkbox-group/index.vue +0 -216
  581. package/ui.form-checkbox-multi-state/index.stories.js +0 -62
  582. package/ui.form-checkbox-multi-state/index.vue +0 -244
  583. package/ui.form-color-picker/index.vue +0 -350
  584. package/ui.form-date-picker/index.stories.js +0 -119
  585. package/ui.form-date-picker/index.vue +0 -851
  586. package/ui.form-date-picker-range/components/VariantButton.vue +0 -136
  587. package/ui.form-date-picker-range/components/VariantInput.vue +0 -101
  588. package/ui.form-date-picker-range/index.stories.js +0 -93
  589. package/ui.form-date-picker-range/index.vue +0 -1537
  590. package/ui.form-date-picker-range/services/dateRange.service.js +0 -178
  591. package/ui.form-input/index.stories.js +0 -132
  592. package/ui.form-input/index.vue +0 -524
  593. package/ui.form-input/text-security-disc.woff +0 -0
  594. package/ui.form-input-file/index.stories.js +0 -85
  595. package/ui.form-input-file/index.vue +0 -584
  596. package/ui.form-input-money/_components/ConvertibleInput.vue +0 -773
  597. package/ui.form-input-money/_components/RangeInput.vue +0 -356
  598. package/ui.form-input-money/_components/SingleInput.vue +0 -378
  599. package/ui.form-input-money/index.stories.js +0 -98
  600. package/ui.form-input-money/index.vue +0 -260
  601. package/ui.form-input-number/index.stories.js +0 -33
  602. package/ui.form-input-number/index.vue +0 -127
  603. package/ui.form-input-rating/index.vue +0 -242
  604. package/ui.form-input-search/index.stories.js +0 -86
  605. package/ui.form-input-search/index.vue +0 -210
  606. package/ui.form-radio/index.stories.js +0 -69
  607. package/ui.form-radio/index.vue +0 -176
  608. package/ui.form-radio-card/index.stories.js +0 -140
  609. package/ui.form-radio-card/index.vue +0 -183
  610. package/ui.form-radio-group/index.stories.js +0 -41
  611. package/ui.form-radio-group/index.vue +0 -98
  612. package/ui.form-select/index.stories.js +0 -183
  613. package/ui.form-select/index.vue +0 -1025
  614. package/ui.form-select-multi/index.stories.js +0 -131
  615. package/ui.form-select-multi/index.vue +0 -882
  616. package/ui.form-switch/index.stories.js +0 -126
  617. package/ui.form-switch/index.vue +0 -673
  618. package/ui.form-textarea/index.stories.js +0 -109
  619. package/ui.form-textarea/index.vue +0 -399
  620. package/ui.image-avatar/default-avatar.png +0 -0
  621. package/ui.image-avatar/index.stories.js +0 -106
  622. package/ui.image-avatar/index.vue +0 -253
  623. package/ui.image-icon/cli.mjs +0 -159
  624. package/ui.image-icon/index.stories.js +0 -129
  625. package/ui.image-icon/index.vue +0 -511
  626. package/ui.image-logo/index.stories.js +0 -84
  627. package/ui.image-logo/index.vue +0 -184
  628. package/ui.navigation-pagination/index.stories.js +0 -35
  629. package/ui.navigation-pagination/index.vue +0 -115
  630. package/ui.navigation-stepper/index.stories.js +0 -29
  631. package/ui.navigation-stepper/index.vue +0 -129
  632. package/ui.navigation-tab/index.stories.js +0 -61
  633. package/ui.navigation-tab/index.vue +0 -112
  634. package/ui.navigation-tabs/index.stories.js +0 -73
  635. package/ui.navigation-tabs/index.vue +0 -119
  636. package/ui.other-dot/index.stories.js +0 -77
  637. package/ui.other-dot/index.vue +0 -100
  638. package/ui.other-loader/index.stories.js +0 -77
  639. package/ui.other-loader/index.vue +0 -185
  640. package/ui.text-alert/index.stories.js +0 -124
  641. package/ui.text-alert/index.vue +0 -236
  642. package/ui.text-block/index.stories.js +0 -111
  643. package/ui.text-block/index.vue +0 -137
  644. package/ui.text-empty/configs/default.config.js +0 -28
  645. package/ui.text-empty/index.stories.js +0 -106
  646. package/ui.text-empty/services/variant.service.js +0 -22
  647. package/ui.text-field/index.stories.js +0 -60
  648. package/ui.text-field/index.vue +0 -109
  649. package/ui.text-file/index.stories.js +0 -28
  650. package/ui.text-file/index.vue +0 -102
  651. package/ui.text-files/index.stories.js +0 -31
  652. package/ui.text-files/index.vue +0 -64
  653. package/ui.text-header/index.stories.js +0 -110
  654. package/ui.text-header/index.vue +0 -237
  655. package/ui.text-money/assets/credit.svg +0 -7
  656. package/ui.text-money/assets/debit.svg +0 -12
  657. package/ui.text-money/index.stories.js +0 -263
  658. package/ui.text-money/index.vue +0 -523
  659. package/ui.text-tag/index.stories.js +0 -90
  660. package/ui.text-tag/index.vue +0 -178
  661. /package/{library.web-types-gen → .web-types-gen}/index.js +0 -0
  662. /package/{library.web-types-gen → .web-types-gen}/package.json +0 -0
  663. /package/{_readme → readme}/UGroup.md +0 -0
  664. /package/{_readme → readme}/UPage.md +0 -0
  665. /package/{layout-ui.loader → src/ui.loader-rendering}/store/index.js +0 -0
  666. /package/{layout-ui.viewport → src/ui.viewport}/store/index.js +0 -0
@@ -1,1101 +0,0 @@
1
- <template>
2
- <div class="mono-table-wrapper" :data-cy="dataCy">
3
- <div
4
- v-show="isShownFixedOrActionsHeader"
5
- ref="headerFixedRow"
6
- class="mono-table-custom-header"
7
- :class="[headerClasses.actionsHeader, headerClasses.fixedHeader, headerClasses.compact]"
8
- :style="tableRowWidthStyle"
9
- >
10
- <UCheckbox
11
- v-if="selectable"
12
- v-model="selectAll"
13
- :partial="!isSelectedAllRows"
14
- class="mono-table-custom-header-item"
15
- size="sm"
16
- />
17
-
18
- <template v-if="selectedRowsLength">
19
- <div class="selected-rows-count">
20
- {{ selectedRowsLength }}
21
- </div>
22
-
23
- <!-- @slot Use it to add actions instead table head (it appears when you select items in table). -->
24
- <slot name="thead-actions" :selected-rows="selectedRows" />
25
- </template>
26
-
27
- <template v-else>
28
- <div
29
- v-for="(item, index) in headers"
30
- :key="index"
31
- class="mono-table-custom-header-item"
32
- :class="item.thClass"
33
- >
34
- <template v-if="isExistSlot(`thead-${item.value}`)">
35
- <!-- @slot Use it to customise table header item. -->
36
- <slot :name="`thead-${item.value}`" :text="item.text" />
37
- </template>
38
-
39
- <template v-else>
40
- {{ item.text }}
41
- </template>
42
- </div>
43
- </template>
44
-
45
- <UTopLoader
46
- v-if="loaderResourceName && isFixedHeader"
47
- class="table-fixed-loader"
48
- :resource-names="loaderResourceName"
49
- position="absolute"
50
- />
51
- </div>
52
-
53
- <div ref="tableWrapper" class="mono-table-inner-wrapper" :class="tableWrapClass">
54
- <t-table class="mono-table" :data="tableItems" :headers="headers" :class="tableClasses">
55
- <template #thead="{ thClass, data }">
56
- <thead>
57
- <tr ref="headerRow" :class="headerClasses.hideHeader">
58
- <th v-if="selectable" class="table-checkbox">
59
- <UCheckbox
60
- v-model="selectAll"
61
- size="sm"
62
- :show-partial-icon="!isSelectedAllRows"
63
- partial
64
- :data-cy="`${dataCy}-select-all`"
65
- />
66
- </th>
67
-
68
- <th v-for="(item, index) in data" :key="index" :class="[thClass, item.thClass]">
69
- <template v-if="isExistSlot(`thead-${item.value}`)">
70
- <!-- @slot Use it to customise table header item. -->
71
- <slot :name="`thead-${item.value}`" :text="item.text" />
72
- </template>
73
-
74
- <template v-else>
75
- {{ item.text }}
76
- </template>
77
- </th>
78
- </tr>
79
- <UTopLoader
80
- v-if="loaderResourceName"
81
- class="table-loader"
82
- :resource-names="loaderResourceName"
83
- position="absolute"
84
- />
85
- </thead>
86
- </template>
87
-
88
- <template #row="{ row, rowIndex }">
89
- <tr
90
- v-if="rowIndex === firstRow && isShownSlot.beforeFirstRow"
91
- class="more-row"
92
- :class="beforeFirstRowClass"
93
- >
94
- <td v-if="isShownSlot.beforeFirstRow" :colspan="colsCount" :class="firstRowClass">
95
- <!-- @slot Use it to add something before first row. -->
96
- <slot name="before-first-row" />
97
- </td>
98
-
99
- <td v-else class="first-row" />
100
- </tr>
101
-
102
- <DateSeparator
103
- v-if="isShownDateSeparator(rowIndex, row.date)"
104
- :class="dateSeparatorRowClass(rowIndex)"
105
- :date="row.date.primaryRow || row.date"
106
- :cols-count="colsCount"
107
- :i18n="i18n"
108
- />
109
-
110
- <tr
111
- v-if="!isShownRow(row)"
112
- class="table-row"
113
- :class="rowClass(row)"
114
- :data-cy="`${dataCy}-row`"
115
- @click="onClickRow(row)"
116
- >
117
- <td v-if="selectable" class="col-checkbox">
118
- <TableCheckbox
119
- v-model:values="selectedRows"
120
- :value="rowIndex"
121
- :data-cy="`${dataCy}-table-body-checkbox`"
122
- @click.stop="onClickSelectRow(rowIndex)"
123
- />
124
- </td>
125
-
126
- <td
127
- v-for="(value, key, index) in getFilteredRow(row)"
128
- :key="index"
129
- :class="getTdClass(key)"
130
- >
131
- <template v-if="isExistSlot(`cell-${key}`)">
132
- <div
133
- :class="tableContainerClass(index)"
134
- :style="setLeftMargin(row.nestedLevel)"
135
- @click="onClickShowItem(row)"
136
- >
137
- <div v-if="isShownIcon({ index, row })" class="table-button">
138
- <UIcon
139
- v-if="row.isHidden"
140
- name="add"
141
- class="table-container-icon"
142
- size="xs"
143
- :color="isIconActive(row)"
144
- variant="light"
145
- interactive
146
- />
147
-
148
- <UIcon
149
- v-else
150
- name="remove"
151
- class="table-container-icon"
152
- size="xs"
153
- variant="light"
154
- interactive
155
- />
156
- </div>
157
- <!-- @slot Use it to customise table cell item (in whole column). -->
158
- <slot :name="`cell-${key}`" :value="value" />
159
- </div>
160
- </template>
161
-
162
- <template v-else-if="isExistSlot('cell-other')">
163
- <slot name="cell-other" :value="value" />
164
- </template>
165
-
166
- <template v-else-if="key === 'date'">
167
- <div v-if="value.format">
168
- {{ dateConverter(value.timestamp, value.format) }}
169
- </div>
170
-
171
- <div v-else>
172
- {{ dateConverter(value) }}
173
- </div>
174
- </template>
175
-
176
- <template v-else-if="key === 'email'">
177
- <div @click.stop>
178
- <ULink :text="value" :url="`mailto:${value}`" size="sm" />
179
- </div>
180
- </template>
181
-
182
- <template v-else-if="key === 'link'">
183
- <ULink
184
- v-if="value.route"
185
- :data-cy="`${dataCy}-${key}-link`"
186
- :text="value.label"
187
- router-link
188
- :route="value.route"
189
- size="sm"
190
- />
191
-
192
- <span v-else>
193
- {{ value }}
194
- </span>
195
- </template>
196
-
197
- <template v-else-if="key === 'money'">
198
- <UMoney :sum="value.sum" :currency-symbol="value.currencySymbol" />
199
- </template>
200
-
201
- <template v-else-if="key === 'tags'">
202
- <div class="tags-cell">
203
- <UTag
204
- v-for="item in value.tags"
205
- :key="item"
206
- :text="item"
207
- :color="value.variant"
208
- />
209
- </div>
210
- </template>
211
-
212
- <template v-else-if="value.hasOwnProperty('secondaryRow')">
213
- <div :data-cy="`${dataCy}-${key}-cell`">
214
- {{ value.primaryRow || emptyItem }}
215
- </div>
216
-
217
- <div class="secondary-row">
218
- <template v-if="Array.isArray(value.secondaryRow)">
219
- <div v-for="(secondaryRow, idx) in value.secondaryRow" :key="idx">
220
- <span class="children-empty">
221
- {{ secondaryRow }}
222
- </span>
223
- </div>
224
- </template>
225
-
226
- <template v-else>
227
- {{ value.secondaryRow }}
228
- </template>
229
- </div>
230
- </template>
231
-
232
- <template v-else>
233
- <div :data-cy="`${dataCy}-${key}-cell`">
234
- {{ value || emptyItem }}
235
- </div>
236
- </template>
237
- </td>
238
- </tr>
239
-
240
- <tr v-if="rowIndex === lastRow" :class="afterLastRowClass">
241
- <td v-if="isShownSlot.afterLastRow" :colspan="colsCount">
242
- <!-- @slot Use it to add something after last row. -->
243
- <slot name="after-last-row" />
244
- </td>
245
- </tr>
246
- </template>
247
-
248
- <template v-if="isExistSlot('tfoot')" #tfoot>
249
- <tfoot class="table-footer">
250
- <tr ref="footerRow" class="table-footer-row">
251
- <td v-if="selectable" />
252
-
253
- <!-- @slot Use it to add something in table footer. -->
254
- <slot name="tfoot" :cols-count="colsCount" />
255
- </tr>
256
-
257
- <tr ref="footerFixedRow" class="table-footer-fixed-row" :style="tableRowWidthStyle">
258
- <td v-if="selectable" />
259
-
260
- <!-- @slot Use it to add something in table footer. -->
261
- <slot name="tfoot" :cols-count="colsCount" />
262
- </tr>
263
- </tfoot>
264
- </template>
265
-
266
- <template v-if="!tableItems.length" #tbody>
267
- <EmptyTableMsg :colspan="colsCount" :filters="filters" :i18n="i18n">
268
- <slot name="empty-table-msg" />
269
- </EmptyTableMsg>
270
- </template>
271
- </t-table>
272
- </div>
273
- </div>
274
- </template>
275
-
276
- <script>
277
- import DateServiceDefault from "vueless/service.date";
278
-
279
- import { isSameDay, isValid, secondsToMilliseconds } from "date-fns";
280
-
281
- import UMoney from "vueless/ui.text-money";
282
- import UTag from "vueless/ui.text-tag";
283
- import ULink from "vueless/ui.button-link";
284
- import UCheckbox from "vueless/ui.form-checkbox";
285
- import UTopLoader from "vueless/layout-ui.loader-top";
286
- import TTable from "vueless/library.vue-tailwind-3/t-table";
287
- import TableCheckbox from "./components/TableCheckbox.vue";
288
- import EmptyTableMsg from "./components/EmptyTableMsg.vue";
289
- import DateSeparator from "./components/DateSeparator.vue";
290
- import I18nServiceDefault from "vueless/service.i18n";
291
-
292
- const ONE_REM = 16;
293
- const ONE_AND_HALF_REM = 1.5;
294
-
295
- export default {
296
- name: "UTable",
297
- components: {
298
- UTag,
299
- ULink,
300
- UMoney,
301
- UCheckbox,
302
- UTopLoader,
303
- TTable,
304
- TableCheckbox,
305
- EmptyTableMsg,
306
- DateSeparator,
307
- },
308
-
309
- props: {
310
- /**
311
- * Set items (rows) for table.
312
- */
313
- items: {
314
- type: Array,
315
- default: () => [],
316
- required: true,
317
- },
318
-
319
- /**
320
- * Set headers for table.
321
- */
322
- headers: {
323
- type: Array,
324
- default: () => [],
325
- required: true,
326
- },
327
-
328
- /**
329
- * Set filters for table.
330
- */
331
- filters: {
332
- type: Object,
333
- default: () => ({}),
334
- },
335
-
336
- /**
337
- * It allows selecting table rows.
338
- */
339
- selectable: {
340
- type: Boolean,
341
- default: false,
342
- },
343
-
344
- /**
345
- * Makes the table more narrow.
346
- */
347
- compact: {
348
- type: Boolean,
349
- default: false,
350
- },
351
-
352
- /**
353
- * Make footer fixed.
354
- */
355
- fixedFooter: {
356
- type: Boolean,
357
- default: false,
358
- },
359
-
360
- /**
361
- * Make header sticky.
362
- */
363
- stickyHeader: {
364
- type: Boolean,
365
- default: false,
366
- },
367
-
368
- /**
369
- * Set loader resource name to activate table top loader exact for that request.
370
- */
371
- loaderResourceName: {
372
- type: String,
373
- default: "",
374
- },
375
-
376
- /**
377
- * Enable or disable nesting.
378
- */
379
- nesting: {
380
- type: Boolean,
381
- default: false,
382
- },
383
-
384
- /**
385
- * Sets the nesting level from which folding button need to be shown.
386
- */
387
- nestingFromLevel: {
388
- type: Number,
389
- default: 0,
390
- },
391
-
392
- /**
393
- * Sets data-cy attribute for automated testing.
394
- */
395
- dataCy: {
396
- type: String,
397
- default: "",
398
- },
399
- },
400
-
401
- emits: ["clickRow", "update:items"],
402
-
403
- setup() {
404
- const { getTranslation } = new I18nServiceDefault();
405
-
406
- return { getTranslation };
407
- },
408
-
409
- data: () => ({
410
- selectAll: false,
411
- canSelectAll: true,
412
- selectedRows: [],
413
- tableItems: [],
414
- hiddenIds: [],
415
- firstRow: 0,
416
- emptyItem: "-",
417
- tableWidth: 0,
418
- tableHeight: 0,
419
- pagePositionY: 0,
420
- }),
421
-
422
- computed: {
423
- i18n() {
424
- return {
425
- noItems: this.getTranslation("noItems"),
426
- noResultsForFilters: this.getTranslation("noResultsForFilters"),
427
- yesterday: this.getTranslation("yesterday"),
428
- today: this.getTranslation("today"),
429
- tomorrow: this.getTranslation("tomorrow"),
430
- };
431
- },
432
-
433
- tableWrapClass() {
434
- const selected = this.selectedRowsLength ? "mono-table-inner-wrapper-selected" : "";
435
- const compact = this.compact ? "mono-table-inner-wrapper-compact" : "";
436
-
437
- return [selected, compact];
438
- },
439
-
440
- selectedRowsLength() {
441
- return this.selectedRows.length;
442
- },
443
-
444
- isSelectedAllRows() {
445
- return this.selectedRowsLength === this.tableItems.length;
446
- },
447
-
448
- colsCount() {
449
- return this.headers.length + 1;
450
- },
451
-
452
- lastRow() {
453
- return this.items.length - 1;
454
- },
455
-
456
- isShownSlot() {
457
- return {
458
- beforeFirstRow: !!this.$slots["before-first-row"],
459
- afterLastRow: !!this.$slots["after-last-row"],
460
- };
461
- },
462
-
463
- tableClasses() {
464
- return {
465
- "fixed-footer": this.isFixedFooter,
466
- };
467
- },
468
-
469
- headerClasses() {
470
- return {
471
- compact: this.compact ? "compact-header" : "",
472
- actionsHeader: this.selectedRowsLength ? "actions-header" : "",
473
- fixedHeader: this.isFixedHeader && this.stickyHeader ? "mono-table-fixed-header" : "",
474
- hideHeader: this.selectedRowsLength && !this.isFixedHeader ? "hide-header" : "",
475
- };
476
- },
477
-
478
- isShownFixedOrActionsHeader() {
479
- return this.isFixedHeader || this.selectedRowsLength;
480
- },
481
-
482
- isFixedFooter() {
483
- const windowHeight = window.innerHeight;
484
-
485
- return (
486
- windowHeight < this.tableHeight &&
487
- this.fixedFooter &&
488
- !this.isShownFooterPosition &&
489
- this.isCheckedMoreOneTableItems
490
- );
491
- },
492
-
493
- isFixedHeader() {
494
- return !this.isShownHeaderPosition;
495
- },
496
-
497
- isShownHeaderPosition() {
498
- const positionForFixHeader =
499
- this.$refs?.headerRow?.getBoundingClientRect().top + window.pageYOffset || 0;
500
-
501
- return positionForFixHeader >= this.pagePositionY;
502
- },
503
-
504
- isShownFooterPosition() {
505
- const windowHeight = window.innerHeight;
506
- const pageBottom = this.pagePositionY + windowHeight;
507
- const positionForFixFooter =
508
- this.$refs?.footerRow?.getBoundingClientRect().bottom + window.pageYOffset;
509
-
510
- return pageBottom >= positionForFixFooter;
511
- },
512
-
513
- isCheckedMoreOneTableItems() {
514
- const checkedTableItems = this.tableItems.filter((item) => item.isChecked);
515
-
516
- return checkedTableItems.length > 1;
517
- },
518
-
519
- tableRowWidthStyle() {
520
- return `width: ${this.tableWidth / ONE_REM}rem`;
521
- },
522
-
523
- beforeFirstRowClass() {
524
- return this.tableItems[0]?.isChecked ? "table-row-checked" : "";
525
- },
526
-
527
- firstRowClass() {
528
- return this.hasContentBeforeFirstRowSlot ? "" : "first-row";
529
- },
530
-
531
- afterLastRowClass() {
532
- return this.isSlotEmpty("after-last-row") ? "more-row-hide" : "more-row";
533
- },
534
-
535
- hasContentBeforeFirstRowSlot() {
536
- return this.isShownSlot.beforeFirstRow
537
- ? this.$slots["before-first-row"]()?.some((item) => !!item.type?.render)
538
- : false;
539
- },
540
- },
541
-
542
- watch: {
543
- selectAll: {
544
- handler: "onChangeSelectAll",
545
- deep: true,
546
- },
547
- selectedRows: {
548
- handler: "onChangeSelectedRows",
549
- deep: true,
550
- },
551
- tableItems: {
552
- handler: "onChangeTableItems",
553
- deep: true,
554
- },
555
- items: {
556
- handler: "onChangeItems",
557
- deep: true,
558
- },
559
- isFixedFooter: "onChangeFixedFooter",
560
- isFixedHeader: "onChangeFixedHeader",
561
- },
562
-
563
- created() {
564
- this.tableItems = this.items;
565
-
566
- document.addEventListener("keyup", this.onKeyupClearCheckbox);
567
- document.addEventListener("scroll", this.onScrollGetPosition, { passive: true });
568
- },
569
-
570
- updated() {
571
- this.tableHeight = this.$refs.tableWrapper.offsetHeight;
572
- this.tableWidth = this.$refs.tableWrapper.offsetWidth;
573
- },
574
-
575
- beforeUnmount() {
576
- document.removeEventListener("keyup", this.onKeyupClearCheckbox);
577
- document.removeEventListener("scroll", this.onScrollGetPosition);
578
- },
579
-
580
- methods: {
581
- isShownIcon({ index, row }) {
582
- const isChildren = row.childrenIds?.length > 0;
583
- const isWithinNestingLevel = row.nestedLevel >= this.nestingFromLevel;
584
-
585
- const isFirstRow = index === 0;
586
-
587
- return isFirstRow && (isChildren || row.isNestingRow) && this.nesting && isWithinNestingLevel;
588
- },
589
-
590
- isIconActive(row) {
591
- return !row.childrenIds?.length ? "gray" : "";
592
- },
593
-
594
- isSlotEmpty(slotName) {
595
- return Boolean(this.$slots[slotName]);
596
- },
597
-
598
- onClickShowItem(row) {
599
- if (!this.nesting || !row.childrenIds.length) return;
600
- const [firstElement] = row.childrenIds;
601
-
602
- row.isHidden = !row.isHidden;
603
-
604
- if (row.isHidden && row.childrenIds.length) {
605
- this.hiddenIds.push(...row.childrenIds);
606
- } else {
607
- this.hiddenIds =
608
- row.nestedLevel === this.nestingFromLevel
609
- ? row.childrenIds.filter((item) => !this.hiddenIds.includes(item))
610
- : this.hiddenIds.filter((item) => item !== firstElement);
611
- }
612
- },
613
-
614
- tableContainerClass(index) {
615
- return index === 0 && this.nesting ? "table-container" : "";
616
- },
617
-
618
- setLeftMargin(nestedLevel) {
619
- return `margin-left: ${nestedLevel * ONE_AND_HALF_REM}rem`;
620
- },
621
-
622
- isShownRow(row) {
623
- if (this.hiddenIds.includes(row.id)) {
624
- row.isHidden = true;
625
- }
626
-
627
- return this.hiddenIds.includes(row.id);
628
- },
629
-
630
- onChangeFixedFooter() {
631
- if (this.isFixedFooter) {
632
- this.$nextTick(() => {
633
- this.setFooterItemsWidth();
634
- });
635
- } else {
636
- this.setFooterItemsWidth(true);
637
- }
638
- },
639
-
640
- setFooterItemsWidth(setNullWidth) {
641
- const ZERO_WIDTH = 0;
642
-
643
- if (!this.fixedFooter) return;
644
-
645
- const [...mainFooterItems] = this.$refs.footerRow.children;
646
- const [...fixedFooterItems] = this.$refs.footerFixedRow.children;
647
-
648
- fixedFooterItems.forEach((item, index) => {
649
- item.style.width = setNullWidth
650
- ? `${ZERO_WIDTH}rem`
651
- : `${mainFooterItems[index].offsetWidth / ONE_REM}rem`;
652
- });
653
- },
654
-
655
- onChangeFixedHeader() {
656
- this.setHeaderItemsWidth();
657
- },
658
-
659
- setHeaderItemsWidth() {
660
- if (!this.selectedRowsLength) {
661
- const [...mainHeaderItems] = this.$refs.headerRow.children;
662
- const [...fixedHeaderItems] = this.$refs.headerFixedRow.children;
663
-
664
- fixedHeaderItems.forEach((item, index) => {
665
- item.style.width = `${mainHeaderItems[index]?.offsetWidth / ONE_REM}rem`;
666
- });
667
- }
668
- },
669
-
670
- onScrollGetPosition() {
671
- this.pagePositionY = window.pageYOffset;
672
- },
673
-
674
- onChangeTableItems(tableItems) {
675
- this.$emit("update:items", tableItems);
676
- },
677
-
678
- onKeyupClearCheckbox(event) {
679
- const escKeyCode = 27;
680
-
681
- if (event.keyCode === escKeyCode && this.selectable) {
682
- this.selectedRows = [];
683
- }
684
- },
685
-
686
- onChangeItems() {
687
- if (!this.items.length || this.tableItems.length !== this.items.length) {
688
- this.selectedRows = [];
689
- }
690
-
691
- const checkedTableItems = this.tableItems.filter((item) => item.isChecked);
692
-
693
- this.tableItems = this.items;
694
-
695
- this.tableItems.forEach((item) => {
696
- checkedTableItems.forEach((checkedItem) => {
697
- if (item.id === checkedItem.id) {
698
- item.isChecked = true;
699
- }
700
- });
701
-
702
- if (this.nesting && item.isHidden && item.childrenIds?.length) {
703
- this.hiddenIds.push(...item.childrenIds);
704
- }
705
- });
706
- },
707
-
708
- isShownDateSeparator(rowIndex, date) {
709
- const prevIndex = rowIndex ? rowIndex - 1 : rowIndex;
710
- const prevItem = this.tableItems[prevIndex];
711
- const prevDateInMilliseconds = secondsToMilliseconds(prevItem?.date?.primaryRow);
712
- const dateInMilliseconds = secondsToMilliseconds(date?.primaryRow);
713
- const isSameDate = isSameDay(dateInMilliseconds, prevDateInMilliseconds);
714
-
715
- if (rowIndex === 0) {
716
- return isValid(prevDateInMilliseconds) && this.hasContentBeforeFirstRowSlot;
717
- }
718
-
719
- return isValid(prevDateInMilliseconds) && !isSameDate;
720
- },
721
-
722
- rowClass(row) {
723
- return row.isChecked ? "table-row-checked" : "";
724
- },
725
-
726
- dateSeparatorRowClass(rowIndex) {
727
- const isCheckedRowBefore = this.tableItems[rowIndex - 1]?.isChecked;
728
- const isCheckedRowAfter = this.tableItems[rowIndex]?.isChecked;
729
-
730
- return (isCheckedRowBefore && isCheckedRowAfter) || (rowIndex === 0 && isCheckedRowAfter)
731
- ? "table-row-checked"
732
- : "";
733
- },
734
-
735
- onClickSelectRow(rowIndex) {
736
- const isRowChecked = this.tableItems[rowIndex].isChecked;
737
-
738
- this.tableItems[rowIndex].isChecked = !isRowChecked;
739
- },
740
-
741
- getFilteredRow(row) {
742
- const filteredRow = Object.entries(row).filter((col) => {
743
- const [key] = col;
744
- const isShownCol = this.headers.some((header) => header.value === key);
745
-
746
- if (isShownCol) return col;
747
- });
748
-
749
- return Object.fromEntries(filteredRow);
750
- },
751
-
752
- onClickRow(row) {
753
- this.$emit("clickRow", row);
754
- },
755
-
756
- isExistSlot(slotName) {
757
- return !!this.$slots[slotName];
758
- },
759
-
760
- getTdClass(key) {
761
- return this.headers.find((item) => item.value === key)?.tdClass;
762
- },
763
-
764
- onChangeSelectAll(selectAll) {
765
- if (selectAll && this.canSelectAll) {
766
- this.selectedRows = this.tableItems.map((item, index) => index);
767
-
768
- this.tableItems.forEach((item) => {
769
- item.isChecked = true;
770
- });
771
- } else if (!selectAll) {
772
- this.selectedRows = [];
773
-
774
- this.tableItems.forEach((item) => {
775
- item.isChecked = false;
776
- });
777
- }
778
-
779
- this.canSelectAll = true;
780
- },
781
-
782
- onChangeSelectedRows(selectedRows) {
783
- if (selectedRows.length) {
784
- this.canSelectAll = false;
785
-
786
- this.isCheckedMoreOneTableItems ? this.setFooterItemsWidth() : "";
787
- } else {
788
- this.$nextTick(() => {
789
- this.setHeaderItemsWidth();
790
- });
791
- }
792
-
793
- this.selectAll = !!selectedRows.length;
794
- },
795
-
796
- dateConverter(value, format) {
797
- return new DateServiceDefault().dateConverter(value, format);
798
- },
799
-
800
- clearSelectedItems() {
801
- this.selectedRows = [];
802
- },
803
- },
804
- };
805
- </script>
806
-
807
- <i18n>
808
- en:
809
- noItems: There is no data in the table yet.
810
- noResultsForFilters: No results were found for the specified filters.
811
- yesterday: Yesterday
812
- today: Today
813
- tomorrow: Tomorrow
814
- ru:
815
- noItems: Пока что в таблице нет данных.
816
- noResultsForFilters: По заданным фильтрам ничего не найдено.
817
- yesterday: Вчера
818
- today: Сегодня
819
- tomorrow: Завтра
820
- ua:
821
- noItems: Поки що в таблиці немає даних.
822
- noResultsForFilters: За даними фільтрами нічого не знайдено.
823
- yesterday: Вчора
824
- today: Сьогодні
825
- tomorrow: Завтра
826
- </i18n>
827
-
828
- <style lang="postcss" scoped>
829
- .mono-table-wrapper {
830
- @apply relative bg-white rounded-2xl;
831
- }
832
-
833
- .more-row {
834
- .first-row {
835
- @apply py-1 !important;
836
- }
837
-
838
- .last-row {
839
- @apply py-1 !important;
840
- }
841
-
842
- td {
843
- @apply px-0 py-4 !important;
844
-
845
- & :deep(:first-child) {
846
- @apply mx-auto;
847
- }
848
- }
849
-
850
- &-hide {
851
- td {
852
- @apply !p-0;
853
- }
854
- }
855
- }
856
-
857
- .mono-table-fixed-header {
858
- @apply fixed top-0 border border-t-0 border-gray-200;
859
- @apply bg-white;
860
-
861
- &.actions-header {
862
- @apply rounded-t-none;
863
- }
864
- }
865
-
866
- .actions-header {
867
- @apply rounded-t-lg border border-blue-200 bg-blue-50;
868
-
869
- .selected-rows-count {
870
- @apply flex items-center pr-4;
871
- @apply font-medium text-gray-900;
872
- }
873
- }
874
-
875
- .mono-table-custom-header {
876
- @apply flex items-center;
877
- @apply z-40;
878
-
879
- &-item {
880
- @apply flex-none;
881
- @apply text-sm font-normal text-gray-500;
882
- @apply px-[1.125rem] py-5;
883
-
884
- &:first-child {
885
- @apply p-5;
886
- }
887
-
888
- &:nth-child(2) {
889
- @apply pl-0;
890
- }
891
-
892
- &:last-child {
893
- @apply p-5;
894
- }
895
- }
896
-
897
- &.compact-header {
898
- .fixed-header-table-loader {
899
- @apply !top-[3.25rem];
900
- }
901
-
902
- .mono-table-custom-header-item {
903
- @apply p-4;
904
-
905
- &:nth-child(2) {
906
- @apply pl-0;
907
- }
908
- }
909
- }
910
- }
911
-
912
- .mono-table-inner-wrapper {
913
- @apply overflow-auto rounded-lg;
914
- @apply border border-gray-200;
915
-
916
- &-selected {
917
- @apply !rounded-t-none border-t-0;
918
- }
919
-
920
- .mono-table {
921
- @apply min-w-full border-none bg-white text-sm;
922
- @apply w-full;
923
-
924
- :deep(thead) {
925
- @apply border-b border-solid border-gray-200;
926
-
927
- tr {
928
- th {
929
- @apply bg-white px-[1.125rem] py-5;
930
- @apply text-sm font-normal text-gray-500;
931
-
932
- &:first-child,
933
- &:last-child {
934
- @apply p-5;
935
- }
936
-
937
- &:nth-child(2) {
938
- @apply pl-0;
939
- }
940
- }
941
- }
942
- }
943
-
944
- :deep(tbody) {
945
- @apply divide-none;
946
-
947
- tr {
948
- td {
949
- @apply text-ellipsis whitespace-nowrap p-[1.125rem] py-5;
950
- @apply align-top;
951
-
952
- &:first-child,
953
- &:last-child {
954
- @apply p-5;
955
- }
956
-
957
- &:nth-child(2) {
958
- @apply pl-0;
959
- }
960
-
961
- .tags-cell {
962
- @apply flex space-x-2;
963
- }
964
- }
965
- }
966
- }
967
-
968
- :deep(tfoot) {
969
- @apply border-t border-solid border-gray-200;
970
-
971
- tr {
972
- td {
973
- @apply p-[1.125rem] py-5;
974
-
975
- &:first-child {
976
- @apply p-5;
977
- }
978
-
979
- &:nth-child(2) {
980
- @apply pl-0;
981
- }
982
- }
983
- }
984
- }
985
-
986
- :deep(.secondary-row) {
987
- @apply mt-1 text-xs text-gray-500;
988
- }
989
- }
990
-
991
- &-compact {
992
- .mono-table {
993
- :deep(thead) {
994
- tr {
995
- th {
996
- @apply bg-white p-4;
997
-
998
- &:first-child,
999
- &:last-child {
1000
- @apply p-4;
1001
- }
1002
- }
1003
- }
1004
- }
1005
-
1006
- :deep(tbody) {
1007
- tr {
1008
- td {
1009
- @apply px-4 py-3;
1010
-
1011
- &:first-child,
1012
- &:last-child {
1013
- @apply px-4 py-3;
1014
- }
1015
- }
1016
- }
1017
- }
1018
-
1019
- :deep(tfoot) {
1020
- tr {
1021
- td {
1022
- @apply p-4;
1023
-
1024
- &:first-child {
1025
- @apply p-4;
1026
- }
1027
- }
1028
- }
1029
- }
1030
- }
1031
- }
1032
- }
1033
-
1034
- .col-checkbox {
1035
- @apply w-[3.75rem];
1036
- }
1037
-
1038
- .table-row {
1039
- @apply transition duration-100;
1040
- @apply hover:bg-gray-50;
1041
-
1042
- &-checked {
1043
- @apply transition duration-100;
1044
- @apply bg-gray-100;
1045
- }
1046
- }
1047
-
1048
- .table-button {
1049
- @apply flex relative -top-px;
1050
- }
1051
-
1052
- .children-empty {
1053
- @apply inline-block;
1054
- }
1055
-
1056
- .fixed-footer {
1057
- .table {
1058
- &-footer {
1059
- @apply relative;
1060
-
1061
- &-fixed-row {
1062
- visibility: inherit;
1063
- }
1064
- }
1065
- }
1066
- }
1067
-
1068
- .hide-header {
1069
- @apply relative -top-[3.75rem];
1070
- visibility: collapse;
1071
- }
1072
-
1073
- .table-footer-fixed-row {
1074
- @apply fixed bottom-0 -ml-px;
1075
- @apply border border-b-0 border-gray-200 bg-white;
1076
- visibility: collapse;
1077
- }
1078
-
1079
- .table-loader {
1080
- @apply !top-auto;
1081
- }
1082
-
1083
- .table-fixed-loader {
1084
- @apply !top-[3.25rem];
1085
- }
1086
-
1087
- .fixed-header-table-loader {
1088
- @apply !top-[3.75rem];
1089
- }
1090
-
1091
- .table-checkbox {
1092
- @apply w-[3.75rem];
1093
- }
1094
- .table-container {
1095
- @apply flex items-center;
1096
-
1097
- &-icon {
1098
- @apply mr-2 rounded-sm bg-gray-200;
1099
- }
1100
- }
1101
- </style>