@dasidev/dasi-ui 1.0.0

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 (450) hide show
  1. package/README.md +346 -0
  2. package/bin/dasi-cli.cjs +184 -0
  3. package/dist/date-selector-test-BlukYeWl.js +91 -0
  4. package/dist/favicon.ico +0 -0
  5. package/dist/html2canvas.esm-CKxSAI8P.js +4886 -0
  6. package/dist/img/brand/ic_pln.svg +12 -0
  7. package/dist/img/brand/mapp_power_logo.svg +21 -0
  8. package/dist/img/common/pltu_ulumbu_flores_ntt.jpeg +0 -0
  9. package/dist/index-BQSA2aPs.js +126556 -0
  10. package/dist/index.es-DQWt-PZn.js +5769 -0
  11. package/dist/index.es.js +11 -0
  12. package/dist/index.umd.js +8564 -0
  13. package/dist/informasi-gudang-BmoEy2RL.js +164 -0
  14. package/dist/informasi-gudang-DXfS46Nh.js +50 -0
  15. package/dist/purify.es-C-9oolON.js +546 -0
  16. package/dist/scripts/pdf.worker.min.js +29 -0
  17. package/dist/scripts/pdf.worker.min.mjs +29 -0
  18. package/dist/scripts/pdf.worker.mjs +57722 -0
  19. package/dist/scripts/pdf.worker.mjs.map +1 -0
  20. package/dist/style.css +1 -0
  21. package/dist/test-schema-JFghGc0_.js +8 -0
  22. package/dist/test-schema-uusFsJe4.js +438 -0
  23. package/dist/types-l0sNRNKZ.js +1 -0
  24. package/package.json +178 -0
  25. package/src/App.vue +18 -0
  26. package/src/__tests__/index.test.ts +9 -0
  27. package/src/api/api.ts +117 -0
  28. package/src/assets/app-selector.svg +3 -0
  29. package/src/assets/dasi.png +0 -0
  30. package/src/assets/foto_ss.svg +21 -0
  31. package/src/assets/icons/circle-blue.svg +4 -0
  32. package/src/assets/icons/circle-gray.svg +15 -0
  33. package/src/assets/icons/circle-green.svg +4 -0
  34. package/src/assets/icons/circle-orange.svg +4 -0
  35. package/src/assets/icons/circle-purple.svg +4 -0
  36. package/src/assets/icons/circle-red.svg +15 -0
  37. package/src/assets/icons/harbor.svg +12 -0
  38. package/src/assets/icons/ic-box-red.svg +8 -0
  39. package/src/assets/icons/ic-chevron-right.svg +1 -0
  40. package/src/assets/icons/ic-loading.svg +9 -0
  41. package/src/assets/icons/ic-reset.svg +16 -0
  42. package/src/assets/icons/ic-sailing.svg +5 -0
  43. package/src/assets/icons/icon-app-selector.svg +3 -0
  44. package/src/assets/icons/icon-browser-check.svg +4 -0
  45. package/src/assets/icons/icon-calendar.svg +3 -0
  46. package/src/assets/icons/icon-chart-bar.svg +3 -0
  47. package/src/assets/icons/icon-chart-doc.svg +16 -0
  48. package/src/assets/icons/icon-chart-line.svg +10 -0
  49. package/src/assets/icons/icon-chart-mix.svg +15 -0
  50. package/src/assets/icons/icon-chart-pie.svg +11 -0
  51. package/src/assets/icons/icon-continue.svg +12 -0
  52. package/src/assets/icons/icon-dashboard-2.svg +17 -0
  53. package/src/assets/icons/icon-dashboard.svg +3 -0
  54. package/src/assets/icons/icon-data-kelistrikan.svg +19 -0
  55. package/src/assets/icons/icon-data-sentral.svg +11 -0
  56. package/src/assets/icons/icon-database.svg +5 -0
  57. package/src/assets/icons/icon-desktop.svg +3 -0
  58. package/src/assets/icons/icon-download.svg +13 -0
  59. package/src/assets/icons/icon-energi-primer.svg +12 -0
  60. package/src/assets/icons/icon-faba-apk2.svg +11 -0
  61. package/src/assets/icons/icon-faba.svg +11 -0
  62. package/src/assets/icons/icon-factory.svg +14 -0
  63. package/src/assets/icons/icon-globe-doc.svg +19 -0
  64. package/src/assets/icons/icon-ikk.svg +10 -0
  65. package/src/assets/icons/icon-kbb.svg +13 -0
  66. package/src/assets/icons/icon-kos.svg +16 -0
  67. package/src/assets/icons/icon-kpi-bod.svg +15 -0
  68. package/src/assets/icons/icon-kss.svg +14 -0
  69. package/src/assets/icons/icon-map.svg +12 -0
  70. package/src/assets/icons/icon-monitoring-harian.svg +13 -0
  71. package/src/assets/icons/icon-notification.svg +4 -0
  72. package/src/assets/icons/icon-overview.svg +17 -0
  73. package/src/assets/icons/icon-pltu.svg +13 -0
  74. package/src/assets/icons/icon-sebaran-sentral.svg +12 -0
  75. package/src/assets/icons/icon-select-data-kelistrikan.svg +19 -0
  76. package/src/assets/icons/icon-select-data-sentral.svg +11 -0
  77. package/src/assets/icons/icon-select-energi-primer.svg +12 -0
  78. package/src/assets/icons/icon-select-faba-apk2.svg +11 -0
  79. package/src/assets/icons/icon-select-ikk.svg +10 -0
  80. package/src/assets/icons/icon-select-kbb.svg +13 -0
  81. package/src/assets/icons/icon-select-kos.svg +16 -0
  82. package/src/assets/icons/icon-select-kpi-bod.svg +15 -0
  83. package/src/assets/icons/icon-select-kss.svg +14 -0
  84. package/src/assets/icons/icon-select-monitoring-harian.svg +13 -0
  85. package/src/assets/icons/icon-select-overview.svg +17 -0
  86. package/src/assets/icons/icon-select-sebaran-sentral.svg +12 -0
  87. package/src/assets/icons/icon-sentral-white.svg +13 -0
  88. package/src/assets/icons/icon-shipping.svg +5 -0
  89. package/src/assets/icons/icon-sort.svg +5 -0
  90. package/src/assets/icons/icon-tree-box.svg +14 -0
  91. package/src/assets/icons/icon-warehouse.svg +12 -0
  92. package/src/assets/icons/pin-green.svg +3 -0
  93. package/src/assets/icons/pin-orange.svg +3 -0
  94. package/src/assets/icons/pin-purple.svg +3 -0
  95. package/src/assets/icons/ship.svg +3 -0
  96. package/src/assets/icons/shipment/icon-antri.svg +15 -0
  97. package/src/assets/icons/shipment/icon-bongkar.svg +4 -0
  98. package/src/assets/icons/shipment/icon-invoice.svg +6 -0
  99. package/src/assets/icons/shipment/icon-loading.svg +8 -0
  100. package/src/assets/icons/shipment/icon-pembayaran.svg +13 -0
  101. package/src/assets/icons/shipment/icon-pengiriman.svg +4 -0
  102. package/src/assets/icons/shipment/icon-sailing.svg +4 -0
  103. package/src/assets/icons/shipment/icon-shipment-completed.svg +6 -0
  104. package/src/assets/icons/shipment/icon-shipment-in-progress.svg +6 -0
  105. package/src/assets/icons/shipment/icon-shipment-over-sla.svg +6 -0
  106. package/src/assets/icons/shipment/icon-spt.svg +4 -0
  107. package/src/assets/icons/shipment/icon-total-shipment.svg +4 -0
  108. package/src/assets/icons/upload_doc_icon.svg +42 -0
  109. package/src/assets/icons/upload_icon_blue.svg +14 -0
  110. package/src/assets/login-bg-day-min.jpg +0 -0
  111. package/src/assets/login-bg-night-min.jpg +0 -0
  112. package/src/assets/login-bg.jpg +0 -0
  113. package/src/assets/login-day.png +0 -0
  114. package/src/assets/login-night.png +0 -0
  115. package/src/assets/lucide-circle-plus-blue.svg +1 -0
  116. package/src/assets/pdf-logo.svg +11 -0
  117. package/src/assets/pemasok-card-bg.svg +6 -0
  118. package/src/assets/success_animation.gif +0 -0
  119. package/src/assets/success_animation.mp4 +0 -0
  120. package/src/assets/success_animation.webm +0 -0
  121. package/src/components/button/BtnAddOutline.vue +14 -0
  122. package/src/components/button/BtnCircle.vue +10 -0
  123. package/src/components/button/BtnOutline.vue +15 -0
  124. package/src/components/button/BtnPrimary.vue +25 -0
  125. package/src/components/button/BtnSecondary.vue +26 -0
  126. package/src/components/detail/AccountDetailTimeline.vue +144 -0
  127. package/src/components/detail/ApprovalInfo.vue +288 -0
  128. package/src/components/detail/DCI2.vue +164 -0
  129. package/src/components/detail/DetailContentHeader.vue +83 -0
  130. package/src/components/detail/DetailContentItem.vue +186 -0
  131. package/src/components/detail/DetailContentItems.vue +388 -0
  132. package/src/components/detail/DetailContentLoading.vue +12 -0
  133. package/src/components/detail/DetailContentTablet.vue +10 -0
  134. package/src/components/detail/DetailSheet.vue +294 -0
  135. package/src/components/detail/DetailTimeline.vue +191 -0
  136. package/src/components/detail/DocApprovalDialog.vue +29 -0
  137. package/src/components/detail/DocViewerContent.vue +991 -0
  138. package/src/components/dialog/ConfirmDialog.vue +96 -0
  139. package/src/components/dialog/DialogBase.vue +53 -0
  140. package/src/components/dialog/DialogSelect.vue +212 -0
  141. package/src/components/dialog/ErrorDialog.vue +63 -0
  142. package/src/components/dialog/FormDialog.vue +141 -0
  143. package/src/components/dialog/FormInputerDialog.vue +91 -0
  144. package/src/components/dialog/InfoDialog.vue +74 -0
  145. package/src/components/dialog/SuccessDialog.vue +51 -0
  146. package/src/components/examples/TestSchemaExample.vue +288 -0
  147. package/src/components/forms/auth/LoginForm.vue +806 -0
  148. package/src/components/forms/auth/PwdScore.vue +68 -0
  149. package/src/components/helper/ApiTester.vue +153 -0
  150. package/src/components/helper/ChangePwd.vue +150 -0
  151. package/src/components/helper/CheckboxElement.vue +43 -0
  152. package/src/components/helper/ConfigSwitcher.vue +54 -0
  153. package/src/components/helper/Copyright.vue +10 -0
  154. package/src/components/helper/ErrorScreen.vue +40 -0
  155. package/src/components/helper/LucideIcon.vue +27 -0
  156. package/src/components/helper/PdfViewer.vue +103 -0
  157. package/src/components/helper/PinInputer.vue +205 -0
  158. package/src/components/helper/PrivacyPolicy.vue +122 -0
  159. package/src/components/layout/PageActivityHeader.vue +48 -0
  160. package/src/components/layout/PageHeader.vue +70 -0
  161. package/src/components/loadings/LoadingDialog.vue +29 -0
  162. package/src/components/loadings/LoadingDialogSpin.vue +25 -0
  163. package/src/components/loadings/LoadingIndicator.vue +38 -0
  164. package/src/components/loadings/LoadingScreen.vue +23 -0
  165. package/src/components/notif/Notif.vue +103 -0
  166. package/src/components/notif/NotifItem.vue +41 -0
  167. package/src/components/pages/Header.vue +431 -0
  168. package/src/components/pages/Leftbar.vue +417 -0
  169. package/src/components/pages/PageActivity.vue +108 -0
  170. package/src/components/pages/PageActivityContent.vue +597 -0
  171. package/src/components/pages/PageContentTable.vue +589 -0
  172. package/src/components/pages/PageTab.vue +84 -0
  173. package/src/components/selector/BaseSelector.vue +1136 -0
  174. package/src/components/selector/ConfigDataSelector.vue +136 -0
  175. package/src/components/settings/SettingsItem.vue +38 -0
  176. package/src/components/tab/TabView.vue +11 -0
  177. package/src/components/tab/TabViewItem.vue +18 -0
  178. package/src/components/tab/TabViewItemBar.vue +9 -0
  179. package/src/components/tables/CellHover.vue +65 -0
  180. package/src/components/tables/DashboardDataTable.vue +707 -0
  181. package/src/components/tables/DataStatusTag.vue +52 -0
  182. package/src/components/tables/DataTable.vue +156 -0
  183. package/src/components/tables/DataTableAccordion.vue +249 -0
  184. package/src/components/tables/DataTableActionRow.vue +64 -0
  185. package/src/components/tables/DataTableCell.vue +272 -0
  186. package/src/components/tables/DataTableHeader.vue +60 -0
  187. package/src/components/tables/DataTableRow.vue +213 -0
  188. package/src/components/tables/ExpandedTable.vue +259 -0
  189. package/src/components/tables/PageTable.vue +73 -0
  190. package/src/components/tables/Pagination.vue +98 -0
  191. package/src/components/tables/dropdown/BaseDropdownTable.vue +140 -0
  192. package/src/components/tables/dropdown/DropdownTableActivity.vue +33 -0
  193. package/src/components/tables/dropdown/DropdownTableAsset.vue +30 -0
  194. package/src/components/tables/dropdown/DropdownTableConfig.vue +30 -0
  195. package/src/components/tables/dropdown/DropdownTableDataKonektor.vue +31 -0
  196. package/src/components/tables/dropdown/DropdownTableDataLabel.vue +30 -0
  197. package/src/components/tables/dropdown/DropdownTableDataSchema.vue +31 -0
  198. package/src/components/tables/dropdown/DropdownTableFabaPemanfaat.vue +30 -0
  199. package/src/components/tables/dropdown/DropdownTableGroup.vue +36 -0
  200. package/src/components/tables/dropdown/DropdownTableHalaman.vue +33 -0
  201. package/src/components/tables/dropdown/DropdownTableLevel.vue +66 -0
  202. package/src/components/tables/dropdown/DropdownTableOrganization.vue +47 -0
  203. package/src/components/tables/dropdown/DropdownTablePengelola.vue +28 -0
  204. package/src/components/tables/dropdown/DropdownTableQueryLayer.vue +29 -0
  205. package/src/components/tables/dropdown/DropdownTableSentral.vue +33 -0
  206. package/src/components/tables/dropdown/DropdownTableWarehouse.vue +30 -0
  207. package/src/components/tables/dropdown/TableDropdown.vue +52 -0
  208. package/src/components/ui/accordion/Accordion.vue +19 -0
  209. package/src/components/ui/accordion/AccordionContent.vue +24 -0
  210. package/src/components/ui/accordion/AccordionItem.vue +24 -0
  211. package/src/components/ui/accordion/AccordionTrigger.vue +42 -0
  212. package/src/components/ui/accordion/index.ts +4 -0
  213. package/src/components/ui/alert-dialog/AlertDialog.vue +14 -0
  214. package/src/components/ui/alert-dialog/AlertDialogAction.vue +20 -0
  215. package/src/components/ui/alert-dialog/AlertDialogCancel.vue +20 -0
  216. package/src/components/ui/alert-dialog/AlertDialogContent.vue +42 -0
  217. package/src/components/ui/alert-dialog/AlertDialogDescription.vue +25 -0
  218. package/src/components/ui/alert-dialog/AlertDialogFooter.vue +21 -0
  219. package/src/components/ui/alert-dialog/AlertDialogHeader.vue +16 -0
  220. package/src/components/ui/alert-dialog/AlertDialogTitle.vue +22 -0
  221. package/src/components/ui/alert-dialog/AlertDialogTrigger.vue +11 -0
  222. package/src/components/ui/alert-dialog/index.ts +9 -0
  223. package/src/components/ui/avatar/Avatar.vue +24 -0
  224. package/src/components/ui/avatar/AvatarFallback.vue +11 -0
  225. package/src/components/ui/avatar/AvatarImage.vue +9 -0
  226. package/src/components/ui/avatar/UsersAvatar.vue +28 -0
  227. package/src/components/ui/avatar/index.ts +24 -0
  228. package/src/components/ui/button/Button.vue +27 -0
  229. package/src/components/ui/button/index.ts +34 -0
  230. package/src/components/ui/calendar/Calendar.vue +325 -0
  231. package/src/components/ui/calendar/index.ts +22 -0
  232. package/src/components/ui/checkbox/Checkbox.vue +33 -0
  233. package/src/components/ui/checkbox/index.ts +1 -0
  234. package/src/components/ui/command/Command.vue +30 -0
  235. package/src/components/ui/command/CommandDialog.vue +21 -0
  236. package/src/components/ui/command/CommandEmpty.vue +20 -0
  237. package/src/components/ui/command/CommandGroup.vue +29 -0
  238. package/src/components/ui/command/CommandInput.vue +33 -0
  239. package/src/components/ui/command/CommandItem.vue +26 -0
  240. package/src/components/ui/command/CommandList.vue +27 -0
  241. package/src/components/ui/command/CommandSeparator.vue +23 -0
  242. package/src/components/ui/command/CommandShortcut.vue +14 -0
  243. package/src/components/ui/command/index.ts +9 -0
  244. package/src/components/ui/context-menu/ContextMenu.vue +15 -0
  245. package/src/components/ui/context-menu/ContextMenuCheckboxItem.vue +40 -0
  246. package/src/components/ui/context-menu/ContextMenuContent.vue +36 -0
  247. package/src/components/ui/context-menu/ContextMenuGroup.vue +11 -0
  248. package/src/components/ui/context-menu/ContextMenuItem.vue +34 -0
  249. package/src/components/ui/context-menu/ContextMenuLabel.vue +25 -0
  250. package/src/components/ui/context-menu/ContextMenuPortal.vue +11 -0
  251. package/src/components/ui/context-menu/ContextMenuRadioGroup.vue +19 -0
  252. package/src/components/ui/context-menu/ContextMenuRadioItem.vue +40 -0
  253. package/src/components/ui/context-menu/ContextMenuSeparator.vue +20 -0
  254. package/src/components/ui/context-menu/ContextMenuShortcut.vue +14 -0
  255. package/src/components/ui/context-menu/ContextMenuSub.vue +19 -0
  256. package/src/components/ui/context-menu/ContextMenuSubContent.vue +35 -0
  257. package/src/components/ui/context-menu/ContextMenuSubTrigger.vue +34 -0
  258. package/src/components/ui/context-menu/ContextMenuTrigger.vue +13 -0
  259. package/src/components/ui/context-menu/index.ts +14 -0
  260. package/src/components/ui/datetime/DatetimeRangeComponent.vue +52 -0
  261. package/src/components/ui/dialog/Dialog.vue +14 -0
  262. package/src/components/ui/dialog/DialogClose.vue +11 -0
  263. package/src/components/ui/dialog/DialogContent.vue +53 -0
  264. package/src/components/ui/dialog/DialogDescription.vue +24 -0
  265. package/src/components/ui/dialog/DialogFooter.vue +19 -0
  266. package/src/components/ui/dialog/DialogHeader.vue +16 -0
  267. package/src/components/ui/dialog/DialogScrollContent.vue +59 -0
  268. package/src/components/ui/dialog/DialogTitle.vue +29 -0
  269. package/src/components/ui/dialog/DialogTrigger.vue +11 -0
  270. package/src/components/ui/dialog/index.ts +9 -0
  271. package/src/components/ui/dropdown-menu/DropdownMenu.vue +14 -0
  272. package/src/components/ui/dropdown-menu/DropdownMenuCheckboxItem.vue +40 -0
  273. package/src/components/ui/dropdown-menu/DropdownMenuContent.vue +38 -0
  274. package/src/components/ui/dropdown-menu/DropdownMenuGroup.vue +11 -0
  275. package/src/components/ui/dropdown-menu/DropdownMenuItem.vue +28 -0
  276. package/src/components/ui/dropdown-menu/DropdownMenuLabel.vue +24 -0
  277. package/src/components/ui/dropdown-menu/DropdownMenuRadioGroup.vue +19 -0
  278. package/src/components/ui/dropdown-menu/DropdownMenuRadioItem.vue +41 -0
  279. package/src/components/ui/dropdown-menu/DropdownMenuSeparator.vue +22 -0
  280. package/src/components/ui/dropdown-menu/DropdownMenuShortcut.vue +14 -0
  281. package/src/components/ui/dropdown-menu/DropdownMenuSub.vue +19 -0
  282. package/src/components/ui/dropdown-menu/DropdownMenuSubContent.vue +30 -0
  283. package/src/components/ui/dropdown-menu/DropdownMenuSubTrigger.vue +33 -0
  284. package/src/components/ui/dropdown-menu/DropdownMenuTrigger.vue +13 -0
  285. package/src/components/ui/dropdown-menu/index.ts +16 -0
  286. package/src/components/ui/form/FormControl.vue +16 -0
  287. package/src/components/ui/form/FormDescription.vue +20 -0
  288. package/src/components/ui/form/FormItem.vue +25 -0
  289. package/src/components/ui/form/FormLabel.vue +23 -0
  290. package/src/components/ui/form/FormMessage.vue +16 -0
  291. package/src/components/ui/form/index.ts +6 -0
  292. package/src/components/ui/form/useFormField.ts +30 -0
  293. package/src/components/ui/hover-card/HoverCard.vue +14 -0
  294. package/src/components/ui/hover-card/HoverCardContent.vue +41 -0
  295. package/src/components/ui/hover-card/HoverCardTrigger.vue +11 -0
  296. package/src/components/ui/hover-card/index.ts +3 -0
  297. package/src/components/ui/input/Input.vue +24 -0
  298. package/src/components/ui/input/index.ts +1 -0
  299. package/src/components/ui/label/Label.vue +27 -0
  300. package/src/components/ui/label/index.ts +1 -0
  301. package/src/components/ui/pagination/PaginationEllipsis.vue +22 -0
  302. package/src/components/ui/pagination/PaginationFirst.vue +29 -0
  303. package/src/components/ui/pagination/PaginationLast.vue +29 -0
  304. package/src/components/ui/pagination/PaginationNext.vue +29 -0
  305. package/src/components/ui/pagination/PaginationPrev.vue +29 -0
  306. package/src/components/ui/pagination/index.ts +10 -0
  307. package/src/components/ui/pin-input/PinInput.vue +23 -0
  308. package/src/components/ui/pin-input/PinInputGroup.vue +18 -0
  309. package/src/components/ui/pin-input/PinInputInput.vue +18 -0
  310. package/src/components/ui/pin-input/PinInputSeparator.vue +15 -0
  311. package/src/components/ui/pin-input/index.ts +4 -0
  312. package/src/components/ui/popover/Popover.vue +15 -0
  313. package/src/components/ui/popover/PopoverContent.vue +48 -0
  314. package/src/components/ui/popover/PopoverTrigger.vue +11 -0
  315. package/src/components/ui/popover/index.ts +4 -0
  316. package/src/components/ui/preview/PreviewPdf.vue +118 -0
  317. package/src/components/ui/progress/ProgressCircle.vue +27 -0
  318. package/src/components/ui/progress/SemiCircularProgressBar.vue +83 -0
  319. package/src/components/ui/progress/TotalCalories.vue +31 -0
  320. package/src/components/ui/radio-group/RadioGroup.vue +25 -0
  321. package/src/components/ui/radio-group/RadioGroupItem.vue +37 -0
  322. package/src/components/ui/radio-group/index.ts +2 -0
  323. package/src/components/ui/scroll-area/ScrollArea.vue +29 -0
  324. package/src/components/ui/scroll-area/ScrollBar.vue +30 -0
  325. package/src/components/ui/scroll-area/index.ts +2 -0
  326. package/src/components/ui/select/Select.vue +15 -0
  327. package/src/components/ui/select/SelectContent.vue +52 -0
  328. package/src/components/ui/select/SelectGroup.vue +19 -0
  329. package/src/components/ui/select/SelectInline.vue +84 -0
  330. package/src/components/ui/select/SelectItem.vue +44 -0
  331. package/src/components/ui/select/SelectItemText.vue +11 -0
  332. package/src/components/ui/select/SelectLabel.vue +13 -0
  333. package/src/components/ui/select/SelectScrollDownButton.vue +24 -0
  334. package/src/components/ui/select/SelectScrollUpButton.vue +24 -0
  335. package/src/components/ui/select/SelectSeparator.vue +17 -0
  336. package/src/components/ui/select/SelectTrigger.vue +31 -0
  337. package/src/components/ui/select/SelectTriggerCustom.vue +23 -0
  338. package/src/components/ui/select/SelectValue.vue +11 -0
  339. package/src/components/ui/select/index.ts +12 -0
  340. package/src/components/ui/separator/Separator.vue +20 -0
  341. package/src/components/ui/separator/index.ts +1 -0
  342. package/src/components/ui/sheet/Sheet.vue +14 -0
  343. package/src/components/ui/sheet/SheetClose.vue +11 -0
  344. package/src/components/ui/sheet/SheetContent.vue +48 -0
  345. package/src/components/ui/sheet/SheetDescription.vue +22 -0
  346. package/src/components/ui/sheet/SheetFooter.vue +19 -0
  347. package/src/components/ui/sheet/SheetHeader.vue +16 -0
  348. package/src/components/ui/sheet/SheetTitle.vue +22 -0
  349. package/src/components/ui/sheet/SheetTrigger.vue +11 -0
  350. package/src/components/ui/sheet/index.ts +31 -0
  351. package/src/components/ui/skeleton/Skeleton.vue +28 -0
  352. package/src/components/ui/skeleton/index.ts +1 -0
  353. package/src/components/ui/sonner/Sonner.vue +22 -0
  354. package/src/components/ui/sonner/index.ts +1 -0
  355. package/src/components/ui/star/StarRating.vue +19 -0
  356. package/src/components/ui/switch/Switch.vue +37 -0
  357. package/src/components/ui/switch/index.ts +1 -0
  358. package/src/components/ui/table/Table.vue +16 -0
  359. package/src/components/ui/table/TableBody.vue +14 -0
  360. package/src/components/ui/table/TableCaption.vue +14 -0
  361. package/src/components/ui/table/TableCell.vue +21 -0
  362. package/src/components/ui/table/TableEmpty.vue +37 -0
  363. package/src/components/ui/table/TableFooter.vue +14 -0
  364. package/src/components/ui/table/TableHead.vue +14 -0
  365. package/src/components/ui/table/TableHeader.vue +14 -0
  366. package/src/components/ui/table/TableRow.vue +14 -0
  367. package/src/components/ui/table/index.ts +8 -0
  368. package/src/components/ui/tabs/Tabs.vue +15 -0
  369. package/src/components/ui/tabs/TabsContent.vue +22 -0
  370. package/src/components/ui/tabs/TabsList.vue +25 -0
  371. package/src/components/ui/tabs/TabsTrigger.vue +27 -0
  372. package/src/components/ui/tabs/index.ts +4 -0
  373. package/src/components/ui/tags-input/TagsInput.vue +22 -0
  374. package/src/components/ui/tags-input/TagsInputInput.vue +19 -0
  375. package/src/components/ui/tags-input/TagsInputItem.vue +22 -0
  376. package/src/components/ui/tags-input/TagsInputItemDelete.vue +24 -0
  377. package/src/components/ui/tags-input/TagsInputItemText.vue +19 -0
  378. package/src/components/ui/tags-input/index.ts +5 -0
  379. package/src/components/ui/textarea/Textarea.vue +24 -0
  380. package/src/components/ui/textarea/index.ts +1 -0
  381. package/src/components/ui/tooltip/Tooltip.vue +14 -0
  382. package/src/components/ui/tooltip/TooltipContent.vue +31 -0
  383. package/src/components/ui/tooltip/TooltipProvider.vue +11 -0
  384. package/src/components/ui/tooltip/TooltipTrigger.vue +11 -0
  385. package/src/components/ui/tooltip/index.ts +4 -0
  386. package/src/composables/useAppConfig.ts +332 -0
  387. package/src/composables/useDarkMode.ts +71 -0
  388. package/src/config/app.config.ts +318 -0
  389. package/src/config/examples/ecommerce.config.ts +132 -0
  390. package/src/config/examples/generic.config.ts +132 -0
  391. package/src/config/menu.config.ts +149 -0
  392. package/src/config/my-app.config.ts +134 -0
  393. package/src/config/test-config.ts +32 -0
  394. package/src/config/theme.config.ts +250 -0
  395. package/src/docs/index.ts +21 -0
  396. package/src/docs.scss +403 -0
  397. package/src/index.d.ts +5 -0
  398. package/src/index.ts +20 -0
  399. package/src/layouts/AuthLayout.vue +68 -0
  400. package/src/layouts/DefaultLayout.vue +119 -0
  401. package/src/layouts/DocsLayout.vue +681 -0
  402. package/src/layouts/FormGlobal.vue +50 -0
  403. package/src/layouts/GlobalDialog.vue +122 -0
  404. package/src/layouts/RakorConfirmDialog.vue +95 -0
  405. package/src/layouts/SettingsLayout.vue +115 -0
  406. package/src/lib/constants.ts +2 -0
  407. package/src/lib/detail.utils.ts +213 -0
  408. package/src/lib/form.utils.ts +1009 -0
  409. package/src/lib/page.flow.utils.ts +81 -0
  410. package/src/lib/page.utils.ts +865 -0
  411. package/src/lib/performance.utils.ts +302 -0
  412. package/src/lib/tablerow.utils.ts +51 -0
  413. package/src/lib/utils.ts +643 -0
  414. package/src/main.scss +717 -0
  415. package/src/main.ts +74 -0
  416. package/src/menu.ts +78 -0
  417. package/src/nestedlist_color.scss +161 -0
  418. package/src/router/index.ts +92 -0
  419. package/src/stores/auth.ts +117 -0
  420. package/src/stores/counter.ts +12 -0
  421. package/src/stores/dialog.ts +168 -0
  422. package/src/stores/form.ts +103 -0
  423. package/src/stores/tabs.ts +52 -0
  424. package/src/tw.scss +419 -0
  425. package/src/types/form.types.ts +348 -0
  426. package/src/types/types.ts +7 -0
  427. package/src/utils/config.utils.ts +149 -0
  428. package/src/views/NotFound.vue +30 -0
  429. package/src/views/PageActivity.vue +15 -0
  430. package/src/views/auth/LoginView.vue +7 -0
  431. package/src/views/auth/OauthCallback.vue +101 -0
  432. package/src/views/dashboard/index.vue +16 -0
  433. package/src/views/settings/AccountSettingsView.vue +70 -0
  434. package/src/views/settings/AuditLogsSettingsView.vue +116 -0
  435. package/src/views/settings/DeviceSettingsView.vue +70 -0
  436. package/src/views/settings/MainSettingsView.vue +12 -0
  437. package/src/views/settings/ProfileSettingsView.vue +104 -0
  438. package/src/vueform/config/informasi-gudang.ts +47 -0
  439. package/src/vueform/config/test-schema.ts +8 -0
  440. package/src/vueform/config/types.ts +768 -0
  441. package/src/vueform/customization/classes.js +46 -0
  442. package/src/vueform/customization/tailwind.classes.js +2117 -0
  443. package/src/vueform/elements/ConfigDataSelectorElement.vue +50 -0
  444. package/src/vueform/elements/DateSelectorElement.vue +323 -0
  445. package/src/vueform/elements/SelectorElement.vue +153 -0
  446. package/src/vueform/schemas/date-selector-test.ts +103 -0
  447. package/src/vueform/schemas/informasi-gudang.ts +160 -0
  448. package/src/vueform/schemas/test-schema.ts +483 -0
  449. package/src/vueform.config.js +77 -0
  450. package/src/vueform.validator.ts +77 -0
@@ -0,0 +1,2117 @@
1
+ /**
2
+ * This file are not used,
3
+ * to customize classes use classes.js in this directory,
4
+ * use this file as a helper to view avaible classes for vueform
5
+ *
6
+ */
7
+
8
+ const inputStates = {
9
+ default: ``
10
+ + `form-bg-input `
11
+ + `form-color-input `
12
+ + `form-border-color-input `
13
+ + `hover:form-bg-input-hover `
14
+ + `hover:form-color-input-hover `
15
+ + `hover:form-border-color-input-hover `
16
+ + `hover:form-shadow-input-hover `
17
+ + `focused:form-bg-input-focus `
18
+ + `focused:form-color-input-focus `
19
+ + `focused:form-border-color-input-focus `
20
+ + `focused:form-shadow-input-focus `
21
+ + `focused:form-ring `
22
+ + `focused-hover:form-shadow-input-hover`,
23
+ disabled: ``
24
+ + `form-bg-disabled `
25
+ + `form-color-disabled `
26
+ + `form-border-color-input`,
27
+ success: ``
28
+ + `form-bg-input-success `
29
+ + `form-color-input-success `
30
+ + `form-border-color-input-success `
31
+ + `hover:form-shadow-input-hover `
32
+ + `focused:form-shadow-input-focus `
33
+ + `focused:form-ring `
34
+ + `focused-hover:form-shadow-input-hover`,
35
+ danger: ``
36
+ + `form-bg-input-danger `
37
+ + `form-color-input-danger `
38
+ + `form-border-color-input-danger `
39
+ + `hover:form-shadow-input-hover `
40
+ + `focused:form-shadow-input-focus `
41
+ + `focused:form-ring `
42
+ + `focused-hover:form-shadow-input-hover`,
43
+ }
44
+
45
+ const checkboxStates = {
46
+ default: ``
47
+ + `form-bg-checkbox `
48
+ + `form-border-color-checkbox `
49
+ + `hover:form-bg-checkbox-hover `
50
+ + `hover:form-border-color-checkbox-hover `
51
+ + `hover:form-shadow-handles-hover `
52
+ + `focused:form-bg-checkbox-focus `
53
+ + `focused:form-border-color-checkbox-focus `
54
+ + `focused:form-shadow-handles-focus `
55
+ + `focused-hover:form-shadow-handles-hover `
56
+ + `checked:form-bg-primary `
57
+ + `checked:form-border-color-checked `
58
+ + `checked-hover:form-bg-primary `
59
+ + `checked-hover:form-border-color-checked `
60
+ + `checked-focused:form-bg-primary`,
61
+ disabled: ``
62
+ + `form-bg-disabled `
63
+ + `form-border-color-checkbox `
64
+ + `opacity-50 `
65
+ + `checked:form-bg-primary `
66
+ + `checked:form-border-color-checked`,
67
+ danger: ``
68
+ + `form-bg-checkbox-danger `
69
+ + `form-border-color-checkbox-danger `
70
+ + `hover:form-shadow-handles-hover `
71
+ + `focused:form-shadow-handles-focus `
72
+ + `focused-hover:form-shadow-handles-hover `
73
+ + `checked:form-bg-primary `
74
+ + `checked:form-border-color-checked`,
75
+ }
76
+
77
+ const checkbox = {
78
+ input: 'flex-shrink-0 appearance-none cursor-pointer outline-zero transition-input duration-200 border-solid form-border-width-checkbox focus:form-ring checked:form-bg-icon-check',
79
+ input_default: checkboxStates.default,
80
+ input_disabled: checkboxStates.disabled,
81
+ input_sm: 'form-w-checkbox-sm form-h-checkbox-sm form-radius-checkbox-sm form-mr-space-checkbox-sm rtl:mr-0 rtl:form-ml-space-checkbox-sm',
82
+ input_md: 'form-w-checkbox form-h-checkbox form-radius-checkbox form-mr-space-checkbox rtl:mr-0 rtl:form-ml-space-checkbox',
83
+ input_lg: 'form-w-checkbox-lg form-h-checkbox-lg form-radius-checkbox-lg form-mr-space-checkbox-lg rtl:mr-0 rtl:form-ml-space-checkbox-lg',
84
+ input_left: '!ml-0',
85
+ input_left_sm: '!form-mr-space-checkbox-sm',
86
+ input_left_md: '!form-mr-space-checkbox',
87
+ input_left_lg: '!form-mr-space-checkbox-lg',
88
+ input_right: '!mr-0',
89
+ input_right_sm: 'form-ml-space-checkbox-sm',
90
+ input_right_md: 'form-ml-space-checkbox',
91
+ input_right_lg: 'form-ml-space-checkbox-lg',
92
+ input_standalone: '!ml-0 !mr-0 !mt-0',
93
+ $input: (classes, { isDisabled, Size, standalone }) => ([
94
+ classes.input,
95
+ classes[`input_${Size}`],
96
+ !isDisabled ? classes.input_default : classes.input_disabled,
97
+ standalone ? classes.input_standalone : null,
98
+ ]),
99
+ }
100
+
101
+ const radio = {
102
+ input: 'flex items-center justify-center flex-shrink-0 appearance-none cursor-pointer rounded-full outline-zero transition-input duration-200 border-solid form-border-width-radio form-shadow-input focus:form-ring checked:form-bg-icon-radio',
103
+ input_default: checkboxStates.default,
104
+ input_disabled: checkboxStates.disabled,
105
+ input_sm: 'form-w-checkbox-sm form-h-checkbox-sm form-mr-space-checkbox-sm rtl:mr-0 rtl:form-ml-space-checkbox-sm',
106
+ input_md: 'form-w-checkbox form-h-checkbox form-mr-space-checkbox rtl:mr-0 rtl:form-ml-space-checkbox',
107
+ input_lg: 'form-w-checkbox-lg form-h-checkbox-lg form-mr-space-checkbox-lg rtl:mr-0 rtl:form-ml-space-checkbox-lg',
108
+ input_left: '!ml-0',
109
+ input_left_sm: '!form-mr-space-checkbox-sm',
110
+ input_left_md: '!form-mr-space-checkbox',
111
+ input_left_lg: '!form-mr-space-checkbox-lg',
112
+ input_right: '!mr-0',
113
+ input_right_sm: 'form-ml-space-checkbox-sm',
114
+ input_right_md: 'form-ml-space-checkbox',
115
+ input_right_lg: 'form-ml-space-checkbox-lg',
116
+ input_standalone: '!ml-0 !mr-0 !mt-0',
117
+ $input: (classes, { isDisabled, Size, standalone }) => ([
118
+ classes.input,
119
+ classes[`input_${Size}`],
120
+ !isDisabled ? classes.input_default : classes.input_disabled,
121
+ standalone ? classes.input_standalone : null,
122
+ ]),
123
+ }
124
+
125
+ const text = {
126
+ container: 'form-text-type',
127
+ inputContainer: 'w-full flex flex-1 transition-input duration-200 border-solid form-border-width-input form-shadow-input form-input-group group',
128
+ inputContainer_sm: 'form-radius-input-sm form-h-input-height-sm',
129
+ inputContainer_md: 'form-radius-input form-h-input-height',
130
+ inputContainer_lg: 'form-radius-input-lg form-h-input-height-lg',
131
+ inputContainer_focused: 'form-focus',
132
+ inputContainer_default: inputStates.default,
133
+ inputContainer_disabled: inputStates.disabled,
134
+ inputContainer_success: inputStates.success,
135
+ inputContainer_danger: inputStates.danger,
136
+ input: 'w-full bg-transparent h-full',
137
+ input_sm: 'form-p-input-sm form-radius-input-sm form-text-sm with-floating:form-p-input-floating-sm',
138
+ input_md: 'form-p-input form-radius-input form-text with-floating:form-p-input-floating',
139
+ input_lg: 'form-p-input-lg form-radius-input-lg form-text-lg with-floating:form-p-input-floating-lg',
140
+ input_enabled: 'border-0 form-color-input group-hover:form-color-input-hover form-autofill-default',
141
+ input_disabled: 'form-color-disabled',
142
+ input_focused: 'form-color-input-focus form-autofill-focus',
143
+ input_success: 'form-color-input-success form-autofill-success',
144
+ input_danger: 'form-color-input-danger form-autofill-danger',
145
+ $inputContainer: (classes, { isDisabled, Size, isSuccess, isDanger, focused }) => ([
146
+ classes.inputContainer,
147
+ classes[`inputContainer_${Size}`],
148
+ isDisabled ? classes.inputContainer_disabled : null,
149
+ !isDisabled && !isSuccess && !isDanger ? classes.inputContainer_default : null,
150
+ !isDisabled && focused ? classes.inputContainer_focused : null,
151
+ !isDisabled && isSuccess ? classes.inputContainer_success : null,
152
+ !isDisabled && isDanger ? classes.inputContainer_danger : null,
153
+ ]),
154
+ $input: (classes, { isDisabled, Size, isSuccess, isDanger, focused }) => ([
155
+ classes.input,
156
+ classes[`input_${Size}`],
157
+ isDisabled ? classes.input_disabled : null,
158
+ !isDisabled && !isSuccess && !isDanger && !focused ? classes.input_enabled : null,
159
+ !isDisabled && focused && !isSuccess && !isDanger ? classes.input_focused : null,
160
+ !isDisabled && isDanger ? classes.input_danger : null,
161
+ !isDisabled && isSuccess ? classes.input_success : null,
162
+ ]),
163
+ }
164
+
165
+ const textarea = {
166
+ ...text,
167
+ inputContainer_sm: 'form-radius-large-sm',
168
+ inputContainer_md: 'form-radius-large',
169
+ inputContainer_lg: 'form-radius-large-lg',
170
+ input_sm: 'form-p-input-sm form-radius-large-sm form-text-sm with-floating:form-p-input-floating-sm',
171
+ input_md: 'form-p-input form-radius-large form-text with-floating:form-p-input-floating',
172
+ input_lg: 'form-p-input-lg form-radius-large-lg form-text-lg with-floating:form-p-input-floating-lg',
173
+ }
174
+
175
+ const editor = {
176
+ container: 'form-text-type',
177
+ input: 'border-solid transition-input duration-200 form-border-width-input form-shadow-input',
178
+ input_focused: 'form-focus',
179
+ input_default: inputStates.default,
180
+ input_disabled: 'form-bg-disabled form-color-disabled form-border-color-input form-editor-disabled',
181
+ input_success: inputStates.success,
182
+ input_danger: inputStates.danger,
183
+ input_sm: 'form-radius-large-sm form-editor-sm',
184
+ input_md: ' form-radius-large',
185
+ input_lg: 'form-radius-large-lg form-editor-lg',
186
+ $input: (classes, { isDisabled, focused, Size, isSuccess, isDanger }) => ([
187
+ classes.input,
188
+ classes[`input_${Size}`],
189
+ isDisabled ? classes.input_disabled : null,
190
+ !isDisabled && !isSuccess && !isDanger ? classes.input_default : null,
191
+ !isDisabled && focused ? classes.input_focused : null,
192
+ !isDisabled && isSuccess ? classes.input_success : null,
193
+ !isDisabled && isDanger ? classes.input_danger : null,
194
+ ]),
195
+ }
196
+
197
+ const select = {
198
+ container: 'relative mx-auto w-full flex items-center justify-end box-border cursor-pointer outline-zero transition-input duration-200 border-solid form-border-width-input form-shadow-input form-text-type',
199
+ container_default: inputStates.default,
200
+ container_disabled: inputStates.disabled,
201
+ container_success: inputStates.success,
202
+ container_danger: inputStates.danger,
203
+ container_sm: 'form-text-sm form-radius-input-sm form-min-h-input-height-sm',
204
+ container_md: 'form-text form-radius-input form-min-h-input-height',
205
+ container_lg: 'form-text-lg form-radius-input-lg form-min-h-input-height-lg',
206
+ containerDisabled: '',
207
+ containerOpen: '!rounded-b-none',
208
+ containerOpenTop: '!rounded-t-none',
209
+ containerActive: 'form-focus',
210
+ wrapper: 'relative mx-auto w-full flex items-center justify-end box-border cursor-pointer outline-zero',
211
+ wrapper_sm: 'form-min-h-input-height-inner-sm',
212
+ wrapper_md: 'form-min-h-input-height-inner',
213
+ wrapper_lg: 'form-min-h-input-height-inner-lg',
214
+ search: 'w-full h-full absolute inset-0 outline-zero appearance-none box-border border-0 bg-transparent form-color-input',
215
+ search_sm: 'form-text-sm form-radius-input-sm form-pl-input-sm form-pr-select-no-clear-sm with-floating:form-p-input-floating-sm rtl:form-pl-select-no-clear-sm rtl:form-pr-input-sm',
216
+ search_md: 'form-text form-radius-input form-pl-input form-pr-select-no-clear with-floating:form-p-input-floating rtl:form-pl-select-no-clear rtl:form-pr-input',
217
+ search_lg: 'form-text-lg form-radius-input-lg form-pl-input-lg form-pr-select-no-clear-lg with-floating:form-p-input-floating-lg rtl:form-pl-select-no-clear-lg rtl:form-pr-input-lg',
218
+ placeholder: 'flex items-center h-full absolute left-0 top-0 pointer-events-none bg-transparent form-color-placeholder rtl:left-auto rtl:right-0 rtl:pl-0',
219
+ placeholder_sm: 'form-pl-input-sm rtl:form-pr-input-sm',
220
+ placeholder_md: 'form-pl-input rtl:form-pr-input',
221
+ placeholder_lg: 'form-pl-input-lg rtl:form-pr-input-lg',
222
+ caret: 'mask-bg mask-form-caret form-bg-icon w-2.5 h-4 py-px box-content relative flex-shrink-0 flex-grow-0 transition-transform transform pointer-events-none rtl:mr-0',
223
+ caret_sm: 'form-mr-input-sm rtl:form-ml-input-sm',
224
+ caret_md: 'form-mr-input rtl:form-ml-input',
225
+ caret_lg: 'form-mr-input-lg rtl:form-ml-input-lg',
226
+ caretOpen: 'rotate-180 pointer-events-auto',
227
+ clear: 'relative opacity-50 transition duration-300 flex-shrink-0 flex-grow-0 flex hover:opacity-100 rtl:pr-0 rtl:pl-3.5',
228
+ clear_sm: 'form-pr-input-sm rtl:form-pl-input-sm',
229
+ clear_md: 'form-pr-input rtl:form-pl-input',
230
+ clear_lg: 'form-pr-input-lg rtl:form-pl-input-lg',
231
+ clearIcon: 'mask-bg mask-form-remove form-bg-icon w-2.5 h-4 py-px box-content inline-block',
232
+ spinner: 'mask-bg mask-form-spinner form-bg-primary w-4 h-4 animate-spin flex-shrink-0 flex-grow-0 rtl:mr-0',
233
+ spinner_sm: 'form-mr-input-sm rtl:form-ml-input-sm',
234
+ spinner_md: 'form-mr-input rtl:form-ml-input',
235
+ spinner_lg: 'form-mr-input-lg rtl:form-ml-input-lg',
236
+ infinite: 'flex items-center justify-center w-full',
237
+ infinite_sm: 'form-min-h-input-height-sm',
238
+ infinite_md: 'form-min-h-input-height',
239
+ infinite_lg: 'form-min-h-input-height-lg',
240
+ infiniteSpinner: 'mask-bg mask-form-spinner form-bg-primary w-4 h-4 animate-spin flex-shrink-0 flex-grow-0',
241
+ dropdown: 'max-h-60 absolute z-999 -left-px -right-px bottom-0 transform form-shadow-dropdown form-border-width-dropdown border-solid form-border-color-input form-bg-input -mt-px overflow-y-scroll flex flex-col',
242
+ dropdown_sm: 'form-radius-input-b-sm',
243
+ dropdown_md: 'form-radius-input-b',
244
+ dropdown_lg: 'form-radius-input-b-lg',
245
+ dropdownBottom: 'translate-y-full',
246
+ dropdownTop: '-translate-y-full top-px bottom-auto !rounded-b-none !rounded-t',
247
+ dropdownTop_sm: 'form-radius-input-t-sm',
248
+ dropdownTop_md: 'form-radius-input-t',
249
+ dropdownTop_lg: 'form-radius-input-t-lg',
250
+ dropdownHidden: 'hidden',
251
+ options: 'flex flex-col p-0 m-0 list-none form-color-input',
252
+ optionsTop: '',
253
+ group: 'p-0 m-0',
254
+ groupLabel: 'flex box-border items-center justify-start text-left form-py-0.5input font-semibold form-bg-selected form-color-input filter brightness-90 cursor-default',
255
+ groupLabel_sm: 'form-px-input-sm form-text-small-sm',
256
+ groupLabel_md: 'form-px-input form-text-small',
257
+ groupLabel_lg: 'form-px-input-lg form-text-small-lg',
258
+ groupLabelPointable: 'cursor-pointer',
259
+ groupLabelPointed: 'brightness-95',
260
+ groupLabelSelected: 'form-bg-primary-darker !form-color-on-primary brightness-100',
261
+ groupLabelDisabled: 'form-bg-disabled form-color-disabled cursor-not-allowed',
262
+ groupLabelSelectedPointed: 'form-bg-primary-darker !form-color-on-primary brightness-100 opacity-90',
263
+ groupLabelSelectedDisabled: 'form-bg-primary-darker !form-color-on-primary brightness-100 opacity-50 cursor-not-allowed',
264
+ groupOptions: 'p-0 m-0',
265
+ option: 'flex items-center justify-start box-border text-left cursor-pointer',
266
+ option_sm: 'form-px-input-sm form-py-input-border-sm',
267
+ option_md: 'form-px-input form-py-input-border',
268
+ option_lg: 'form-px-input-lg form-py-input-border-lg',
269
+ optionPointed: 'form-color-input form-bg-selected',
270
+ optionSelected: 'form-bg-primary form-color-on-primary',
271
+ optionDisabled: 'form-color-disabled cursor-not-allowed',
272
+ optionSelectedPointed: 'form-color-on-primary form-bg-primary opacity-90',
273
+ optionSelectedDisabled: 'form-color-on-primary form-bg-primary opacity-50 cursor-not-allowed',
274
+ fakeInput: 'bg-transparent absolute left-0 right-0 -bottom-px w-full h-px border-0 p-0 appearance-none outline-zero text-transparent',
275
+ assist: 'form-assistive-text',
276
+ spacer: 'box-content',
277
+ spacer_sm: 'form-h-input-height-inner-sm',
278
+ spacer_md: 'form-h-input-height-inner',
279
+ spacer_lg: 'form-h-input-height-inner-lg',
280
+ noOptions: 'form-color-muted',
281
+ noOptions_sm: 'form-p-input-sm',
282
+ noOptions_md: 'form-p-input',
283
+ noOptions_lg: 'form-p-input-lg',
284
+ noResults: 'form-color-muted',
285
+ noResults_sm: 'form-p-input-sm',
286
+ noResults_md: 'form-p-input',
287
+ noResults_lg: 'form-p-input-lg',
288
+ $container: (classes, { Size, isDanger, isSuccess, isDisabled }) => ([
289
+ classes.select.container,
290
+ classes.select[`container_${Size}`],
291
+ isDisabled ? classes.select.container_disabled : null,
292
+ !isDisabled && !isSuccess && !isDanger ? classes.select.container_default : null,
293
+ !isDisabled && isDanger ? classes.select.container_danger : null,
294
+ !isDisabled && isSuccess ? classes.select.container_success : null,
295
+ ]),
296
+ $wrapper: (classes, { Size }) => ([
297
+ classes.select.wrapper,
298
+ classes.select[`wrapper_${Size}`],
299
+ ]),
300
+ $search: (classes, { Size }) => ([
301
+ classes.select.search,
302
+ classes.select[`search_${Size}`],
303
+ ]),
304
+ $placeholder: (classes, { Size }) => ([
305
+ classes.select.placeholder,
306
+ classes.select[`placeholder_${Size}`],
307
+ ]),
308
+ $caret: (classes, { Size }) => ([
309
+ classes.select.caret,
310
+ classes.select[`caret_${Size}`],
311
+ ]),
312
+ $clear: (classes, { Size }) => ([
313
+ classes.select.clear,
314
+ classes.select[`clear_${Size}`],
315
+ ]),
316
+ $spinner: (classes, { Size }) => ([
317
+ classes.select.spinner,
318
+ classes.select[`spinner_${Size}`],
319
+ ]),
320
+ $dropdown: (classes, { Size, openDirection }) => ([
321
+ classes.select.dropdown,
322
+ classes.select[`dropdown_${Size}`],
323
+ openDirection === 'top' ? null : classes.select.dropdownBottom
324
+ ]),
325
+ $dropdownTop: (classes, { Size }) => ([
326
+ classes.select.dropdownTop,
327
+ classes.select[`dropdownTop_${Size}`],
328
+ ]),
329
+ $groupLabel: (classes, { Size }) => ([
330
+ classes.select.groupLabel,
331
+ classes.select[`groupLabel_${Size}`],
332
+ ]),
333
+ $option: (classes, { Size }) => ([
334
+ classes.select.option,
335
+ classes.select[`option_${Size}`],
336
+ ]),
337
+ $spacer: (classes, { Size }) => ([
338
+ classes.select.spacer,
339
+ classes.select[`spacer_${Size}`],
340
+ ]),
341
+ $noOptions: (classes, { Size }) => ([
342
+ classes.select.noOptions,
343
+ classes.select[`noOptions_${Size}`],
344
+ ]),
345
+ $noResults: (classes, { Size }) => ([
346
+ classes.select.noResults,
347
+ classes.select[`noResults_${Size}`],
348
+ ]),
349
+ }
350
+
351
+ const groupTabs = {
352
+ container: 'flex cursor-pointer',
353
+ wrapper: 'flex items-center justify-center w-full border-solid form-border-width-input',
354
+ wrapper_not_last: '!border-r-0',
355
+ wrapper_first: '',
356
+ wrapper_first_sm: 'form-radius-input-l-sm',
357
+ wrapper_first_md: 'form-radius-input-l',
358
+ wrapper_first_lg: 'form-radius-input-l-lg',
359
+ wrapper_last: '',
360
+ wrapper_last_sm: 'form-radius-input-r-sm',
361
+ wrapper_last_md: 'form-radius-input-r',
362
+ wrapper_last_lg: 'form-radius-input-r-lg',
363
+ wrapper_selected: 'form-bg-primary form-color-on-primary border-black border-opacity-15',
364
+ wrapper_unselected: 'form-bg-input form-color-input form-border-color-input hover:form-bg-input-hover hover:form-color-input-hover',
365
+ wrapper_disabled: 'opacity-50 pointer-events-none',
366
+ wrapper_sm: 'form-text-sm form-p-group-tabs-sm',
367
+ wrapper_md: 'form-text form-p-group-tabs',
368
+ wrapper_lg: 'form-text-lg form-p-group-tabs-lg',
369
+ input: 'hidden',
370
+ text: '',
371
+ }
372
+
373
+ const groupBlocks = {
374
+ container: 'flex cursor-pointer form-bg-input',
375
+ container_sm: 'form-radius-large-sm',
376
+ container_md: 'form-radius-large',
377
+ container_lg: 'form-radius-large',
378
+ wrapper: 'flex items-center w-full border-solid form-border-width-input form-border-color-input form-color-input',
379
+ wrapper_not_last: '!border-b-0',
380
+ wrapper_first: '',
381
+ wrapper_first_sm: 'form-radius-large-t-sm',
382
+ wrapper_first_md: 'form-radius-large-t',
383
+ wrapper_first_lg: 'form-radius-large-t-lg',
384
+ wrapper_last: '',
385
+ wrapper_last_sm: 'form-radius-large-b-sm',
386
+ wrapper_last_md: 'form-radius-large-b',
387
+ wrapper_last_lg: 'form-radius-large-b-lg',
388
+ wrapper_selected: 'form-bg-selected',
389
+ wrapper_unselected: 'form-bg-input',
390
+ wrapper_disabled: 'opacity-50',
391
+ wrapper_sm: 'px-4 py-2.5 form-text-sm form-p-group-blocks-sm',
392
+ wrapper_md: 'px-4 py-3 form-text form-p-group-blocks',
393
+ wrapper_lg: 'px-4 py-3.5 form-text-lg form-p-group-blocks-lg',
394
+ text_wrapper: 'ml-2',
395
+ text: '',
396
+ description: 'form-color-muted',
397
+ description_sm: 'form-text-small-sm -mt-0.5',
398
+ description_md: 'form-text-small -mt-0.5',
399
+ description_lg: 'form-text-small-lg -mt-0.5',
400
+ $container: (classes, { Size }) => ([
401
+ classes.container,
402
+ classes[`container_${Size}`],
403
+ ]),
404
+ }
405
+
406
+ export default {
407
+ // Elements
408
+ ButtonElement: {
409
+ container: 'form-text-type',
410
+ button: 'inline-block transition form-border-width-btn form-shadow-btn focus:outline-zero',
411
+ button_enabled: 'cursor-pointer transition-transform ease-linear focus:form-ring transform hover:scale-105',
412
+ button_disabled: 'opacity-60 cursor-not-allowed',
413
+ button_loading: 'form-color-transparent opacity-60 cursor-not-allowed',
414
+ button_loading_primary: 'form-bg-spinner-on-primary',
415
+ button_loading_secondary: 'form-bg-spinner-btn-secondary',
416
+ button_loading_danger: 'form-bg-spinner-white',
417
+ button_primary: 'form-bg-btn form-color-btn form-border-color-btn',
418
+ button_secondary: 'form-bg-btn-secondary form-color-btn-secondary form-border-color-btn-secondary',
419
+ button_danger: 'form-bg-btn-danger form-color-btn-danger form-border-color-btn-danger',
420
+ button_full: 'w-full',
421
+ button_not_full: '',
422
+ button_left: 'float-left',
423
+ button_center: 'flex mx-auto items-center justify-center',
424
+ button_right: 'float-right',
425
+ button_sm: 'form-p-btn-sm form-radius-btn-sm form-text-sm',
426
+ button_md: 'form-p-btn form-radius-btn form-text',
427
+ button_lg: 'form-p-btn-lg form-radius-btn-lg form-text-lg',
428
+ $button: (classes, { isDisabled, isLoading, buttonClass, Size, danger, secondary, full, align }) => ([
429
+ classes.button,
430
+ danger ? classes.button_danger : null,
431
+ secondary ? classes.button_secondary : null,
432
+ !danger && !secondary ? classes.button_primary : null,
433
+ classes[`button_${Size}`],
434
+ isDisabled ? classes.button_disabled : null,
435
+ !isDisabled && !isLoading ? classes.button_enabled : null,
436
+ isLoading ? classes.button_loading : null,
437
+ isLoading && danger ? classes.button_loading_danger : null,
438
+ isLoading && secondary ? classes.button_loading_secondary : null,
439
+ isLoading && !secondary && !danger ? classes.button_loading_primary : null,
440
+ full ? classes.button_full : classes.button_not_full,
441
+ align === 'left' ? classes.button_left : null,
442
+ align === 'center' ? classes.button_center : null,
443
+ align === 'right' ? classes.button_right : null,
444
+ buttonClass,
445
+ ]),
446
+ },
447
+ CaptchaElement: {
448
+ container: '',
449
+ wrapper: '',
450
+ captcha: '',
451
+ },
452
+ CheckboxElement: {
453
+ ...checkbox,
454
+ container: 'form-contains-link',
455
+ wrapper: 'flex',
456
+ wrapper_sm: 'form-text-sm',
457
+ wrapper_md: 'form-text',
458
+ wrapper_lg: 'form-text-lg',
459
+ wrapper_left: 'rtl:justify-end',
460
+ wrapper_right: 'justify-end rtl:justify-start',
461
+ input: checkbox.input + ' form-shadow-handles',
462
+ input_danger: checkboxStates.danger,
463
+ input_sm: checkbox.input_sm + ' form-mt-checkbox-sm',
464
+ input_md: checkbox.input_md + ' form-mt-checkbox',
465
+ input_lg: checkbox.input_lg + ' form-mt-checkbox-lg',
466
+ text: 'cursor-pointer',
467
+ text_left: 'rtl:-order-1',
468
+ text_right: '-order-1 rtl:order-none',
469
+ $wrapper: (classes, { Size, align }) => ([
470
+ classes.wrapper,
471
+ classes[`wrapper_${Size}`],
472
+ align === 'left' ? classes.wrapper_left : null,
473
+ align === 'right' ? classes.wrapper_right : null,
474
+ ]),
475
+ $input: (classes, { isDisabled, Size, isDanger, align, standalone }) => ([
476
+ classes.input,
477
+ classes[`input_${Size}`],
478
+ !isDisabled && !isDanger ? classes.input_default : null,
479
+ isDisabled ? classes.input_disabled : null,
480
+ isDanger ? classes.input_danger : null,
481
+ align === 'left' ? [classes.input_left, classes[`input_left_${Size}`]] : null,
482
+ align === 'right' ? [classes.input_right, classes[`input_right_${Size}`]] : null,
483
+ standalone ? classes.input_standalone : null,
484
+ ]),
485
+ $text: (classes, { align }) => ([
486
+ classes.text,
487
+ align === 'left' ? classes.text_left : null,
488
+ align === 'right' ? classes.text_right : null,
489
+ ]),
490
+ },
491
+ CheckboxgroupElement: {
492
+ container: 'form-view-default',
493
+ wrapper: 'flex flex-col justify-start',
494
+ wrapper_sm: '',
495
+ wrapper_md: '',
496
+ wrapper_lg: '',
497
+ $wrapper: (classes, { Size }) => ([
498
+ classes.wrapper,
499
+ classes[`wrapper_${Size}`]
500
+ ]),
501
+ },
502
+ CheckboxgroupElement_tabs: {
503
+ container: 'form-text-type form-view-tabs',
504
+ wrapper: 'grid grid-flow-col form-shadow-input',
505
+ wrapper_sm: 'form-radius-large-sm',
506
+ wrapper_md: 'form-radius-large',
507
+ wrapper_lg: 'form-radius-large-lg',
508
+ $wrapper: (classes, { Size }) => ([
509
+ classes.wrapper,
510
+ classes[`wrapper_${Size}`]
511
+ ]),
512
+ },
513
+ CheckboxgroupElement_blocks: {
514
+ container: 'form-view-blocks',
515
+ wrapper: 'flex flex-col justify-start form-shadow-input',
516
+ wrapper_sm: 'form-radius-large-sm',
517
+ wrapper_md: 'form-radius-large',
518
+ wrapper_lg: 'form-radius-large-lg',
519
+ $wrapper: (classes, { Size }) => ([
520
+ classes.wrapper,
521
+ classes[`wrapper_${Size}`]
522
+ ]),
523
+ },
524
+ DateElement: {
525
+ inputWrapper: 'block w-full h-full',
526
+ ...text,
527
+ },
528
+ DatesElement: {
529
+ inputWrapper: 'block w-full h-full',
530
+ ...text,
531
+ },
532
+ EditorElement: {
533
+ ...editor,
534
+ },
535
+ FileElement: {
536
+ container: 'form-text-type',
537
+ container_removing: 'opacity-50',
538
+ button: 'form-border-width-btn form-shadow-btn inline-block transition focus:outline-zero',
539
+ button_enabled: 'form-bg-btn-secondary form-color-btn-secondary form-border-color-btn-secondary cursor-pointer transition-transform transform hover:scale-105 focus:form-ring',
540
+ button_disabled: 'opacity-50 cursor-not-allowed',
541
+ button_sm: 'form-p-btn-sm form-radius-btn-sm form-text-sm',
542
+ button_md: 'form-p-btn form-radius-btn form-text',
543
+ button_lg: 'form-p-btn-lg form-radius-btn-lg form-text-lg',
544
+ $container: (classes, { removing }) => ([
545
+ classes.container,
546
+ removing ? classes.container_removing : null,
547
+ ]),
548
+ $button: (classes, { isDisabled, preparing, Size }) => ([
549
+ classes.button,
550
+ classes[`button_${Size}`],
551
+ !isDisabled && !preparing ? classes.button_enabled : null,
552
+ isDisabled || preparing ? classes.button_disabled : null,
553
+ ]),
554
+ },
555
+ GridElement: {
556
+ container: '',
557
+ container_scrollable: 'overflow-x-auto',
558
+ grid: 'grid',
559
+ grid_sm: 'form-gap-gutter-sm',
560
+ grid_md: 'form-gap-gutter',
561
+ grid_lg: 'form-gap-gutter-lg',
562
+ grid_fit: 'w-fit',
563
+ grid_nofit: '',
564
+ cell: 'relative',
565
+ fieldWrapper: 'w-full h-full grid',
566
+ fieldWrapper_sm: 'form-min-h-input-height-sm',
567
+ fieldWrapper_md: 'form-min-h-input-height',
568
+ fieldWrapper_lg: 'form-min-h-input-height-lg',
569
+ fieldWrapper_left: 'text-left',
570
+ fieldWrapper_center: 'text-center',
571
+ fieldWrapper_right: 'text-right',
572
+ fieldWrapper_top: 'items-start',
573
+ fieldWrapper_middle: 'items-center',
574
+ fieldWrapper_bottom: 'items-end',
575
+ fieldWrapper_baseline: 'items-stretch',
576
+ textWrapper: 'w-full h-full flex break-words',
577
+ textWrapper_sm: 'form-min-h-input-height-sm form-p-input-sm',
578
+ textWrapper_md: 'form-min-h-input-height form-p-input',
579
+ textWrapper_lg: 'form-min-h-input-height-lg form-p-input-lg',
580
+ textWrapper_left: 'justify-start text-left',
581
+ textWrapper_center: 'justify-center text-center',
582
+ textWrapper_right: 'justify-end text-right',
583
+ textWrapper_justify: 'justify-stretch text-justify',
584
+ textWrapper_top: 'items-start',
585
+ textWrapper_middle: 'items-center',
586
+ textWrapper_bottom: 'items-end',
587
+ textWrapper_baseline: 'items-stretch',
588
+ text: 'w-full',
589
+ $container: (classes, { scrollable }) => ([
590
+ classes.container,
591
+ scrollable ? classes.container_scrollable : null,
592
+ ]),
593
+ $grid: (classes, { Size, align, fitWidth }) => ([
594
+ classes.grid,
595
+ classes[`grid_${Size}`],
596
+ fitWidth ? classes.grid_fit : classes.grid_nofit,
597
+ ]),
598
+ $cell: (classes, { }) => () => ([
599
+ classes.cell,
600
+ ]),
601
+ $fieldWrapper: (classes, { Size }) => ({ schema, align, valign, rowIndex, colIndex }) => ([
602
+ classes.fieldWrapper,
603
+ classes[`fieldWrapper_${Size}`],
604
+ classes[`fieldWrapper_${align}`],
605
+ classes[`fieldWrapper_${valign}`],
606
+ ]),
607
+ $textWrapper: (classes, { Size }) => ({ align, valign, rowIndex, colIndex }) => ([
608
+ classes.textWrapper,
609
+ classes[`textWrapper_${Size}`],
610
+ classes[`textWrapper_${align}`],
611
+ classes[`textWrapper_${valign}`],
612
+ ]),
613
+ },
614
+ GroupElement: {
615
+ container: '',
616
+ wrapper: 'grid grid-cols-12',
617
+ wrapper_sm: 'form-gap-gutter-sm',
618
+ wrapper_md: 'form-gap-gutter',
619
+ wrapper_lg: 'form-gap-gutter-lg',
620
+ $wrapper: (classes, { Size }) => ([
621
+ classes.wrapper,
622
+ classes[`wrapper_${Size}`]
623
+ ]),
624
+ },
625
+ ListElement: {
626
+ container: '',
627
+ list: 'grid',
628
+ list_sm: 'form-gap-y-gutter-sm',
629
+ list_md: 'form-gap-y-gutter',
630
+ list_lg: 'form-gap-y-gutter-lg',
631
+ list_disabled: '',
632
+ list_sorting: '',
633
+ listItem: 'grid grid-cols-12 relative form-list-group ghost:opacity-60',
634
+ listItem_sm: 'form-gap-gutter-sm',
635
+ listItem_md: 'form-gap-gutter',
636
+ listItem_lg: 'form-gap-gutter-lg',
637
+ handle: 'absolute left-0 top-0 z-999 transform -translate-x-full cursor-grab active:cursor-grabbing opacity-0 transition list-group-hover:opacity-100',
638
+ handle_sm: 'form-w-input-height-sm form-h-input-height-sm',
639
+ handle_md: 'form-w-input-height form-h-input-height',
640
+ handle_lg: 'form-w-input-height-lg form-h-input-height-lg',
641
+ handleIcon: 'mask-bg mask-form-sort-handle form-bg-icon mask-size-2.8 block w-full h-full',
642
+ remove: 'absolute z-999 w-4 h-4 box-content p-0.5 top-px left-0 form-bg-passive rounded-full transform -translate-x-1/2 -translate-y-1/2 transition opacity-0 filter hover:brightness-90 list-group-hover:opacity-100 focus:opacity-100',
643
+ removeIcon: 'mask-bg mask-form-remove-light form-bg-passive-color mask-size-3 block w-full h-full',
644
+ add: 'inline-block form-bg-primary form-border-width-btn form-border-color-primary form-color-on-primary form-shadow-btn ease-linear transition-transform transform hover:scale-105 focus:form-ring',
645
+ add_sm: 'form-mt-gutter-sm form-radius-small-sm form-text-small-sm form-p-btn-small-sm',
646
+ add_md: 'form-mt-gutter form-radius-small form-text-small form-p-btn-small',
647
+ add_lg: 'form-mt-gutter-lg form-radius-small-lg form-text-small-lg form-p-btn-small-lg',
648
+ $list: (classes, { isDisabled, sorting, Size }) => ([
649
+ classes.list,
650
+ classes[`list_${Size}`],
651
+ isDisabled ? classes.list_disabled : null,
652
+ sorting ? classes.list_sorting : null,
653
+ ]),
654
+ $listItem: (classes, { Size }) => ([
655
+ classes.listItem,
656
+ classes[`listItem_${Size}`],
657
+ ]),
658
+ $handle: (classes, { Size }) => ([
659
+ classes.handle,
660
+ classes[`handle_${Size}`],
661
+ ]),
662
+ $add: (classes, { Size }) => ([
663
+ classes.add,
664
+ classes[`add_${Size}`],
665
+ ]),
666
+ },
667
+ LocationElement: {
668
+ ...text,
669
+ },
670
+ MatrixElement: {
671
+ container: '',
672
+ grid: 'grid',
673
+ grid_scrollable: 'grid overflow-auto',
674
+ headerFirst: '',
675
+ header: 'flex items-center justify-center text-center',
676
+ header_padding: 'px-2',
677
+ header_sticky: 'sticky top-0 backdrop-blur-3xl z-1',
678
+ header_not_sticky: '',
679
+ header_wrap: '',
680
+ header_nowrap: 'whitespace-nowrap',
681
+ header_sm: 'form-min-h-input-height-inner-sm',
682
+ header_md: 'form-min-h-input-height-inner',
683
+ header_lg: 'form-min-h-input-height-inner-lg',
684
+ headerRemove: '',
685
+ rowLabel: 'flex items-center pr-2',
686
+ rowLabel_sticky: 'sticky left-0 backdrop-blur-3xl z-1',
687
+ rowLabel_not_sticky: '',
688
+ rowLabel_wrap: '',
689
+ rowLabel_nowrap: 'whitespace-nowrap',
690
+ cell: 'grid items-center',
691
+ cell_sm: 'form-min-h-input-height-inner-sm',
692
+ cell_md: 'form-min-h-input-height-inner',
693
+ cell_lg: 'form-min-h-input-height-inner-lg',
694
+ cellWrapper: 'w-full h-full grid items-center',
695
+ cellWrapper_padding: 'px-2',
696
+ cellWrapper_centered: 'justify-center',
697
+ cellWrapper_error: '',
698
+ cellWrapper_success: '',
699
+ rowRemove: 'backdrop-blur-3xl sticky right-0 flex items-center justify-center w-10',
700
+ remove: 'w-4 h-4 box-content p-0.5 form-bg-passive rounded-full transition filter hover:brightness-90',
701
+ removeIcon: 'mask-bg mask-form-remove-light form-bg-passive-color mask-size-3 block w-full h-full',
702
+ add: 'inline-block form-bg-primary form-border-width-btn form-border-color-primary form-color-on-primary form-shadow-btn ease-linear transition-transform transform hover:scale-105 focus:form-ring',
703
+ add_sm: 'form-mt-gutter-sm form-radius-small-sm form-text-small-sm form-p-btn-small-sm',
704
+ add_md: 'form-mt-gutter form-radius-small form-text-small form-p-btn-small',
705
+ add_lg: 'form-mt-gutter-lg form-radius-small-lg form-text-small-lg form-p-btn-small-lg',
706
+ $grid: (classes, { scrollable }) => ([
707
+ classes.grid,
708
+ scrollable ? classes.grid_scrollable : null,
709
+ ]),
710
+ $header: (classes, { Size, padding, stickyCols, colWrap }) => ([
711
+ classes.header,
712
+ classes[`header_${Size}`],
713
+ padding ? classes.header_padding : null,
714
+ stickyCols ? classes.header_sticky : classes.header_not_sticky,
715
+ colWrap ? classes.header_wrap : classes.header_nowrap,
716
+ ]),
717
+ $rowLabel: (classes, { stickyRows, rowWrap }) => ([
718
+ classes.rowLabel,
719
+ stickyRows ? classes.rowLabel_sticky : classes.rowLabel_not_sticky,
720
+ rowWrap ? classes.rowLabel_wrap : classes.rowLabel_nowrap,
721
+ ]),
722
+ $cell: (classes, { Size }) => ([
723
+ classes.cell,
724
+ classes[`cell_${Size}`],
725
+ ]),
726
+ $cellWrapper: (classes, { padding, centered, cells$ }) => (type, name) => ([
727
+ classes.cellWrapper,
728
+ padding ? classes.cellWrapper_padding : null,
729
+ ['radio', 'checkbox', 'toggle'].includes(type) ? classes.cellWrapper_centered : null,
730
+ cells$[name]?.error ? classes.cellWrapper_error : null,
731
+ cells$[name]?.isSuccess ? classes.cellWrapper_success : null,
732
+ ]),
733
+ $add: (classes, { Size }) => ([
734
+ classes.add,
735
+ classes[`add_${Size}`],
736
+ ]),
737
+ $remove: (classes, { removeHover }) => ([
738
+ classes.remove,
739
+ removeHover ? classes.remove_hover : null
740
+ ]),
741
+ },
742
+ MultifileElement: {
743
+ container: 'form-text-type',
744
+ list: '',
745
+ list_sm: 'form-mt-gutter-sm',
746
+ list_md: 'form-mt-gutter',
747
+ list_lg: 'form-mt-gutter-lg',
748
+ list_file: 'grid',
749
+ list_file_sm: 'form-gap-y-0.5gutter-sm',
750
+ list_file_md: 'form-gap-y-0.5gutter',
751
+ list_file_lg: 'form-gap-y-0.5gutter-lg',
752
+ list_image: 'grid',
753
+ list_image_sm: 'form-gap-y-0.5gutter-sm',
754
+ list_image_md: 'form-gap-y-0.5gutter',
755
+ list_image_lg: 'form-gap-y-0.5gutter-lg',
756
+ list_gallery: 'flex flex-wrap',
757
+ list_gallery_sm: 'form-gap-0.5gutter-sm',
758
+ list_gallery_md: 'form-gap-0.5gutter',
759
+ list_gallery_lg: 'form-gap-0.5gutter-lg',
760
+ list_disabled: '',
761
+ list_sorting: '',
762
+ listItem: 'relative group ghost:opacity-60',
763
+ handle: '',
764
+ handle_file: 'absolute left-0 top-0 transform -translate-x-full cursor-grab active:cursor-grabbing opacity-0 transition group-hover:opacity-100',
765
+ handle_file_sm: 'form-w-input-height-sm form-h-input-height-sm',
766
+ handle_file_md: 'form-w-input-height form-h-input-height',
767
+ handle_file_lg: 'form-w-input-height-lg form-h-input-height-lg',
768
+ handle_image: 'absolute left-0 top-0 transform -translate-x-full cursor-grab active:cursor-grabbing opacity-0 transition group-hover:opacity-100',
769
+ handle_image_sm: 'form-w-input-height-sm form-h-input-height-sm',
770
+ handle_image_md: 'form-w-input-height form-h-input-height',
771
+ handle_image_lg: 'form-w-input-height-lg form-h-input-height-lg',
772
+ handle_gallery: 'absolute w-4 h-4 box-content top-0.5 left-0.5 mt-px ml-px form-bg-passive bg-center bg-no-repeat rounded-full transition opacity-0 group-hover:opacity-100 cursor-grab active:cursor-grabbing filter hover:brightness-90',
773
+ handle_gallery_sm: '',
774
+ handle_gallery_md: '',
775
+ handle_gallery_lg: '',
776
+ handleIcon: '',
777
+ handleIcon_file: 'mask-bg mask-form-sort-handle form-bg-icon mask-size-2.8 block w-full h-full',
778
+ handleIcon_image: 'mask-bg mask-form-sort-handle form-bg-icon mask-size-2.8 block w-full h-full',
779
+ handleIcon_gallery: 'mask-bg mask-form-arrows form-bg-input-color mask-size-3 block w-full h-full',
780
+ dnd: '',
781
+ button: 'inline-block transition form-border-width-btn focus:outline-zero',
782
+ button_enabled: 'form-bg-btn-secondary form-color-btn-secondary form-border-color-btn-secondary form-shadow-btn cursor-pointer transition-transform transform hover:scale-105 focus:form-ring',
783
+ button_disabled: 'opacity-50 cursor-not-allowed',
784
+ button_sm: 'form-p-btn-sm form-radius-btn-sm form-text-sm',
785
+ button_md: 'form-p-btn form-radius-btn form-text',
786
+ button_lg: 'form-p-btn-lg form-radius-btn-lg form-text-lg',
787
+ $list: (classes, { isDisabled, sorting, view, Size }) => ([
788
+ classes.list,
789
+ classes[`list_${Size}`],
790
+ isDisabled ? classes.list_disabled : null,
791
+ sorting ? classes.list_sorting : null,
792
+ classes[`list_${view}`],
793
+ classes[`list_${view}_${Size}`],
794
+ ]),
795
+ $handle: (classes, { view, Size }) => ([
796
+ classes.handle,
797
+ classes[`handle_${view}`],
798
+ classes[`handle_${view}_${Size}`],
799
+ ]),
800
+ $handleIcon: (classes, { view }) => ([
801
+ classes.handleIcon,
802
+ classes[`handleIcon_${view}`],
803
+ ]),
804
+ $button: (classes, { isDisabled, preparing, Size }) => ([
805
+ classes.button,
806
+ classes[`button_${Size}`],
807
+ !isDisabled && !preparing ? classes.button_enabled : null,
808
+ isDisabled || preparing ? classes.button_disabled : null,
809
+ ]),
810
+ },
811
+ MultiselectElement: {
812
+ container: 'form-text-type',
813
+ input: 'w-full form-p-input transition-input duration-200 border-solid form-border-width-input form-shadow-input',
814
+ input_default: inputStates.default,
815
+ input_disabled: inputStates.disabled,
816
+ input_success: inputStates.success,
817
+ input_danger: inputStates.danger,
818
+ input_sm: 'form-p-input-sm form-radius-large-sm form-text-sm with-floating:form-p-input-floating-sm',
819
+ input_md: 'form-p-input form-radius-large form-text with-floating:form-p-input-floating',
820
+ input_lg: 'form-p-input-lg form-radius-large-lg form-text-lg with-floating:form-p-input-floating-lg',
821
+ inputWrapper: '',
822
+ select: {
823
+ ...select,
824
+ multipleLabel: 'flex items-center h-full absolute left-0 top-0 pointer-events-none bg-transparent rtl:left-auto rtl:right-0 rtl:pl-0',
825
+ multipleLabel_sm: 'form-py-input-sm form-pl-input-sm form-radius-input-sm form-text-sm form-min-h-input-height-inner-sm with-floating:form-p-input-floating-sm rtl:form-pr-input-sm',
826
+ multipleLabel_md: 'form-py-input form-pl-input form-radius-input form-text form-min-h-input-height-inner with-floating:form-p-input-floating rtl:form-pr-input',
827
+ multipleLabel_lg: 'form-py-input-lg form-pl-input-lg form-radius-input-lg form-text-lg form-min-h-input-height-inner-lg with-floating:form-p-input-floating-lg rtl:form-pr-input-lg',
828
+ multipleLabel_caretClear_sm: 'form-pl-input-sm form-pr-select-sm with-floating:form-p-input-floating-sm rtl:form-pr-input-sm rtl:form-pl-select-sm',
829
+ multipleLabel_caretClear_md: 'form-pl-input form-pr-select with-floating:form-p-input-floating rtl:form-pr-input rtl:form-pl-select',
830
+ multipleLabel_caretClear_lg: 'form-pl-input-sm form-pr-select-sm with-floating:form-p-input-floating-sm rtl:form-pr-input-sm rtl:form-pl-select-sm',
831
+ multipleLabel_noCaret_sm: 'form-pl-input-sm form-pr-select-no-caret-sm with-floating:form-p-input-floating-sm rtl:form-pr-input-sm rtl:form-pl-select-no-caret-sm',
832
+ multipleLabel_noCaret_md: 'form-pl-input form-pr-select-no-caret with-floating:form-p-input-floating rtl:form-pr-input rtl:form-pl-select-no-caret',
833
+ multipleLabel_noCaret_lg: 'form-pl-input-lg form-pr-select-no-caret-lg with-floating:form-p-input-floating-lg rtl:form-pr-input-lg rtl:form-pl-select-no-caret-lg',
834
+ multipleLabel_noClear_sm: 'form-pl-input-sm form-pr-select-no-clear-sm with-floating:form-p-input-floating-sm rtl:form-pr-input-sm rtl:form-pl-select-no-clear-sm',
835
+ multipleLabel_noClear_md: 'form-pl-input form-pr-select-no-clear with-floating:form-p-input-floating rtl:form-pr-input rtl:form-pl-select-no-clear',
836
+ multipleLabel_noClear_lg: 'form-pl-input-lg form-pr-select-no-clear-lg with-floating:form-p-input-floating-lg rtl:form-pr-input-lg rtl:form-pl-select-no-clear-lg',
837
+ multipleLabel_noCaretClear_sm: 'form-pl-input-sm form-pr-input-sm with-floating:form-p-input-floating-sm rtl:form-pr-input-sm rtl:form-pl-input-sm',
838
+ multipleLabel_noCaretClear_md: 'form-pl-input form-pr-input with-floating:form-p-input-floating rtl:form-pr-input rtl:form-pl-input',
839
+ multipleLabel_noCaretClear_lg: 'form-pl-input-lg form-pr-input-lg with-floating:form-p-input-floating-lg rtl:form-pr-input-lg rtl:form-pl-input-lg',
840
+ $multipleLabel: (classes, { Size, caret, canClear, }) => ([
841
+ classes.select.multipleLabel,
842
+ classes.select[`multipleLabel_${Size}`],
843
+ canClear && caret ? classes.select[`multipleLabel_caretClear_${Size}`] : null,
844
+ !caret && canClear ? classes.select[`multipleLabel_noCaret_${Size}`] : null,
845
+ !canClear && caret ? classes.select[`multipleLabel_noClear_${Size}`] : null,
846
+ !canClear && !caret ? classes.select[`multipleLabel_noCaretClear_${Size}`] : null,
847
+ ]),
848
+ },
849
+ $input: (classes, { isDisabled, Size, isDanger, isSuccess }) => ([
850
+ classes.input,
851
+ classes[`input_${Size}`],
852
+ isDisabled ? classes.input_disabled : null,
853
+ !isDisabled && !isSuccess && !isDanger ? classes.input_default : null,
854
+ !isDisabled && isDanger ? classes.input_danger : null,
855
+ !isDisabled && isSuccess ? classes.input_success : null,
856
+ ]),
857
+ },
858
+ ObjectElement: {
859
+ container: '',
860
+ wrapper: 'grid grid-cols-12',
861
+ wrapper_sm: 'form-gap-gutter-sm',
862
+ wrapper_md: 'form-gap-gutter',
863
+ wrapper_lg: 'form-gap-gutter-lg',
864
+ wrapper_embed: '!block',
865
+ $wrapper: (classes, { Size, embed }) => ([
866
+ classes.wrapper,
867
+ classes[`wrapper_${Size}`],
868
+ embed ? classes.wrapper_embed : null,
869
+ ]),
870
+ },
871
+ PhoneElement: {
872
+ ...text,
873
+ optionsWrapper: 'flex items-center',
874
+ optionsWrapper_sm: 'form-ml-input-sm rtl:ml-0 rtl:form-mr-input-sm',
875
+ optionsWrapper_md: 'form-ml-input rtl:ml-0 rtl:form-mr-input',
876
+ optionsWrapper_lg: 'form-ml-input-lg rtl:ml-0 rtl:form-mr-input-lg',
877
+ option: 'flex items-center cursor-pointer py-1.25 px-3 whitespace-nowrap form-color-input',
878
+ option_active: 'form-bg-selected',
879
+ optionWrapper: 'flex items-center',
880
+ flag: 'bg-form-flags bg-[length:24px_4716px] overflow-hidden rounded-sm bg-no-repeat bg-[0px_0px] w-[24px] h-[16px]',
881
+ country: 'ml-3 rtl:ml-0 rtl:mr-3 font-semibold text-[15px] form-color-input flex',
882
+ number: 'ml-2 rtl:ml-0 rtl:mr-2 form-color-muted rtl:order-1',
883
+ placeholder: 'bg-form-flags bg-[length:24px_4716px] overflow-hidden bg-no-repeat rounded-sm bg-[0px_0px] w-[24px] h-[16px] opacity-60',
884
+ $optionsWrapper: (classes, { Size }) => ([
885
+ classes.optionsWrapper,
886
+ classes[`optionsWrapper_${Size}`],
887
+ ]),
888
+ $option: (classes) => (active) => ([
889
+ classes.option,
890
+ active ? classes.option_active : null
891
+ ]),
892
+ },
893
+ RadioElement: {
894
+ ...radio,
895
+ container: '',
896
+ wrapper: 'flex rtl:justify-start',
897
+ wrapper_sm: 'form-text-sm',
898
+ wrapper_md: 'form-text',
899
+ wrapper_lg: 'form-text-lg',
900
+ wrapper_left: 'rtl:justify-end',
901
+ wrapper_right: 'justify-end rtl:justify-start',
902
+ input: radio.input + ' form-shadow-handles',
903
+ input_danger: checkboxStates.danger,
904
+ input_sm: radio.input_sm + ' form-mt-checkbox-sm',
905
+ input_md: radio.input_md + ' form-mt-checkbox',
906
+ input_lg: radio.input_lg + ' form-mt-checkbox-lg',
907
+ text: 'cursor-pointer',
908
+ text_left: 'rtl:-order-1',
909
+ text_right: '-order-1 rtl:order-none',
910
+ $wrapper: (classes, { Size, align }) => ([
911
+ classes.wrapper,
912
+ classes[`wrapper_${Size}`],
913
+ align === 'left' ? classes.wrapper_left : null,
914
+ align === 'right' ? classes.wrapper_right : null,
915
+ ]),
916
+ $input: (classes, { isDisabled, Size, isDanger, align, standalone }) => ([
917
+ classes.input,
918
+ classes[`input_${Size}`],
919
+ !isDisabled && !isDanger ? classes.input_default : null,
920
+ isDisabled ? classes.input_disabled : null,
921
+ isDanger ? classes.input_danger : null,
922
+ align === 'left' ? [classes.input_left, classes[`input_left_${Size}`]] : null,
923
+ align === 'right' ? [classes.input_right, classes[`input_right_${Size}`]] : null,
924
+ standalone ? classes.input_standalone : null,
925
+ ]),
926
+ $text: (classes, { align }) => ([
927
+ classes.text,
928
+ align === 'left' ? classes.text_left : null,
929
+ align === 'right' ? classes.text_right : null,
930
+ ]),
931
+ },
932
+ RadiogroupElement: {
933
+ container: 'form-view-default',
934
+ wrapper: 'flex flex-col justify-start',
935
+ wrapper_sm: '',
936
+ wrapper_md: '',
937
+ wrapper_lg: '',
938
+ $wrapper: (classes, { Size }) => ([
939
+ classes.wrapper,
940
+ classes[`wrapper_${Size}`]
941
+ ]),
942
+ },
943
+ RadiogroupElement_tabs: {
944
+ container: 'form-text-type form-view-tabs',
945
+ wrapper: 'grid grid-flow-col grid form-shadow-input',
946
+ wrapper_sm: 'form-radius-large-sm',
947
+ wrapper_md: 'form-radius-large',
948
+ wrapper_lg: 'form-radius-large-lg',
949
+ $wrapper: (classes, { Size }) => ([
950
+ classes.wrapper,
951
+ classes[`wrapper_${Size}`]
952
+ ]),
953
+ },
954
+ RadiogroupElement_blocks: {
955
+ container: 'form-view-blocks',
956
+ wrapper: 'flex flex-col justify-start form-shadow-input',
957
+ wrapper_sm: 'form-radius-large-sm',
958
+ wrapper_md: 'form-radius-large',
959
+ wrapper_lg: 'form-radius-large-lg',
960
+ $wrapper: (classes, { Size }) => ([
961
+ classes.wrapper,
962
+ classes[`wrapper_${Size}`]
963
+ ]),
964
+ },
965
+ SelectElement: {
966
+ container: 'form-text-type',
967
+ input: 'w-full transition-input duration-200 border-solid form-border-width-input form-shadow-input',
968
+ input_default: inputStates.default,
969
+ input_disabled: inputStates.disabled,
970
+ input_success: inputStates.success,
971
+ input_danger: inputStates.danger,
972
+ input_sm: 'form-py-input-sm form-pl-input-sm form-pr-select-no-clear-sm form-radius-input-sm form-text-sm form-min-h-input-height-inner-sm with-floating:form-p-input-floating-sm rtl:form-pr-input-sm rtl:form-pl-select-no-clear-sm',
973
+ input_md: 'form-py-input form-pl-input form-pr-select-no-clear form-radius-input form-text form-min-h-input-height-inner with-floating:form-p-input-floating rtl:form-pr-input rtl:form-pl-select-no-clear',
974
+ input_lg: 'form-py-input-lg form-pl-input-lg form-pr-select-no-clear-lg form-radius-input-lg form-text-lg form-min-h-input-height-inner-lg with-floating:form-p-input-floating-lg rtl:form-pr-input-lg rtl:form-pl-select-no-clear-lg',
975
+ inputWrapper: 'relative',
976
+ inputPlaceholder: 'absolute left-0 top-0 bottom-0 form-color-placeholder pointer-events-none flex items-center',
977
+ inputPlaceholder_sm: 'form-p-input-border-sm',
978
+ inputPlaceholder_md: 'form-p-input-border',
979
+ inputPlaceholder_lg: 'form-p-input-border-lg',
980
+ inputCaret: 'mask-bg mask-form-caret form-bg-icon w-2.5 h-4 py-px box-content absolute right-0 top-1/2 transform -translate-y-1/2 transition-transform transform pointer-events-none rtl:right-auto rtl:left-0',
981
+ inputCaret_sm: 'form-mr-input-sm rtl:mr-0 rtl:form-ml-input-sm',
982
+ inputCaret_md: 'form-mr-input rtl:mr-0 rtl:form-ml-input',
983
+ inputCaret_lg: 'form-mr-input-lg rtl:mr-0 rtl:form-ml-input-lg',
984
+ select: {
985
+ ...select,
986
+ singleLabel: 'flex items-center h-full max-w-full absolute left-0 top-0 pointer-events-none bg-transparent box-border rtl:left-auto rtl:right-0 rtl:pl-0',
987
+ singleLabel_sm: 'form-py-input-sm form-pl-input-sm form-radius-input-sm form-text-sm form-min-h-input-height-inner-sm with-floating:form-p-input-floating-sm rtl:form-pr-input-sm',
988
+ singleLabel_md: 'form-py-input form-pl-input form-radius-input form-text form-min-h-input-height-inner with-floating:form-p-input-floating rtl:form-pr-input',
989
+ singleLabel_lg: 'form-py-input-lg form-pl-input-lg form-radius-input-lg form-text-lg form-min-h-input-height-inner-lg with-floating:form-p-input-floating-lg rtl:form-pr-input-lg',
990
+ singleLabel_caretClear_sm: 'form-pl-input-sm form-pr-select-sm with-floating:form-p-input-floating-sm rtl:form-pr-input-sm rtl:form-pl-select-sm',
991
+ singleLabel_caretClear_md: 'form-pl-input form-pr-select with-floating:form-p-input-floating rtl:form-pr-input rtl:form-pl-select',
992
+ singleLabel_caretClear_lg: 'form-pl-input-sm form-pr-select-sm with-floating:form-p-input-floating-sm rtl:form-pr-input-sm rtl:form-pl-select-sm',
993
+ singleLabel_noCaret_sm: 'form-pl-input-sm form-pr-select-no-caret-sm with-floating:form-p-input-floating-sm rtl:form-pr-input-sm rtl:form-pl-select-no-caret-sm',
994
+ singleLabel_noCaret_md: 'form-pl-input form-pr-select-no-caret with-floating:form-p-input-floating rtl:form-pr-input rtl:form-pl-select-no-caret',
995
+ singleLabel_noCaret_lg: 'form-pl-input-lg form-pr-select-no-caret-lg with-floating:form-p-input-floating-lg rtl:form-pr-input-lg rtl:form-pl-select-no-caret-lg',
996
+ singleLabel_noClear_sm: 'form-pl-input-sm form-pr-select-no-clear-sm with-floating:form-p-input-floating-sm rtl:form-pr-input-sm rtl:form-pl-select-no-clear-sm',
997
+ singleLabel_noClear_md: 'form-pl-input form-pr-select-no-clear with-floating:form-p-input-floating rtl:form-pr-input rtl:form-pl-select-no-clear',
998
+ singleLabel_noClear_lg: 'form-pl-input-lg form-pr-select-no-clear-lg with-floating:form-p-input-floating-lg rtl:form-pr-input-lg rtl:form-pl-select-no-clear-lg',
999
+ singleLabel_noCaretClear_sm: 'form-pl-input-sm form-pr-input-sm with-floating:form-p-input-floating-sm rtl:form-pr-input-sm rtl:form-pl-input-sm',
1000
+ singleLabel_noCaretClear_md: 'form-pl-input form-pr-input with-floating:form-p-input-floating rtl:form-pr-input rtl:form-pl-input',
1001
+ singleLabel_noCaretClear_lg: 'form-pl-input-lg form-pr-input-lg with-floating:form-p-input-floating-lg rtl:form-pr-input-lg rtl:form-pl-input-lg',
1002
+ singleLabelText: 'overflow-hidden block whitespace-nowrap max-w-full',
1003
+ singleLabelText_truncate: 'overflow-ellipsis',
1004
+ $singleLabel: (classes, { Size, caret, canClear }) => ([
1005
+ classes.select.singleLabel,
1006
+ classes.select[`singleLabel_${Size}`],
1007
+ canClear && caret ? classes.select[`singleLabel_caretClear_${Size}`] : null,
1008
+ !caret && canClear ? classes.select[`singleLabel_noCaret_${Size}`] : null,
1009
+ !canClear && caret ? classes.select[`singleLabel_noClear_${Size}`] : null,
1010
+ !canClear && !caret ? classes.select[`singleLabel_noCaretClear_${Size}`] : null,
1011
+ ]),
1012
+ $singleLabelText: (classes, { truncate }) => ([
1013
+ classes.select.singleLabelText,
1014
+ truncate ? classes.select[`singleLabelText_truncate`] : null,
1015
+ ]),
1016
+ },
1017
+ $input: (classes, { isDisabled, Size, isSuccess, isDanger }) => ([
1018
+ classes.input,
1019
+ classes[`input_${Size}`],
1020
+ isDisabled ? classes.input_disabled : null,
1021
+ !isDisabled && !isSuccess && !isDanger ? classes.input_default : null,
1022
+ !isDisabled && isDanger ? classes.input_danger : null,
1023
+ !isDisabled && isSuccess ? classes.input_success : null,
1024
+ ]),
1025
+ $inputWrapper: (classes, { Size }) => ([
1026
+ classes.inputWrapper,
1027
+ classes[`inputWrapper_${Size}`],
1028
+ ]),
1029
+ $inputPlaceholder: (classes, { Size }) => ([
1030
+ classes.inputPlaceholder,
1031
+ classes[`inputPlaceholder_${Size}`],
1032
+ ]),
1033
+ $inputCaret: (classes, { Size }) => ([
1034
+ classes.inputCaret,
1035
+ classes[`inputCaret_${Size}`],
1036
+ ]),
1037
+ },
1038
+ SignatureElement: {
1039
+ container: '',
1040
+ wrapper: 'transition-input form-border-width-input form-text relative w-full',
1041
+ wrapper_sm: 'form-radius-large-sm',
1042
+ wrapper_md: 'form-radius-large',
1043
+ wrapper_lg: 'form-radius-large-lg',
1044
+ wrapper_disabled: 'form-bg-disabled form-color-disabled form-border-color-input cursor-not-allowed pointer-events-none',
1045
+ wrapper_enabled: 'form-bg-input form-color-input form-border-color-input focused:form-ring focused:form-border-color-input-focus',
1046
+ wrapper_readonly: 'pointer-events-none',
1047
+ line: 'absolute top-1/2 left-6 right-6 form-border-color-signature-hr',
1048
+ loadedWrapper: 'absolute left-9 right-9 form-border-width-input border-transparent top-0 bottom-0 flex items-center justify-center',
1049
+ loadedWrapper_disabled: 'opacity-50',
1050
+ loadedWrapper_enabled: '',
1051
+ loadedImg: 'max-h-full',
1052
+ innerWrapper: '',
1053
+ innerWrapper_disabled: 'opacity-50',
1054
+ innerWrapper_enabled: '',
1055
+ input: 'bg-transparent absolute top-1/2 left-0 right-0 transform -translate-y-1/2 pr-9 text-center indent-9 transition-colors h-[8.5rem] rtl:pr-0 rtl:pl-9',
1056
+ input_invert: 'dark:filter dark:invert',
1057
+ placeholder: 'absolute left-0 right-0 bottom-[50%] transform translate-y-1/2 pointer-events-none select-none form-color-placeholder text-center',
1058
+ uploadContainer: 'absolute left-9 right-9 bottom-1/2 transform translate-y-1/2 transition-opacity',
1059
+ uploadContainer_dragging: 'opacity-50',
1060
+ uploadContainer_not_dragging: '',
1061
+ uploadWrapper: 'flex flex-col items-center justify cente text-gray-400 text-center',
1062
+ uploadWrapper_processing: 'opacity-60 pointer-events-none',
1063
+ dndText: 'form-color-input',
1064
+ uploadButton: 'inline-block transition form-border-width-btn form-shadow-btn focus:outline-zero form-bg-btn-secondary form-color-btn-secondary form-border-color-btn-secondary cursor-pointer transition-transform ease-linear focus:form-ring transform hover:scale-105 form-p-btn form-radius-btn form-text',
1065
+ uploadPreview: 'max-w-full mx-auto',
1066
+ pad: 'absolute inset-0',
1067
+ pad_invert: 'dark:filter dark:invert',
1068
+ colors: 'absolute bottom-5 left-1/2 transform -translate-x-1/2 flex flex-row gap-2',
1069
+ color: 'transform transition-transform cursor-pointer rounded-full outline-none focus-visible:form-ring',
1070
+ color_invert: 'dark:filter dark:invert',
1071
+ color_active: 'scale-[1.4]',
1072
+ color_inactive: 'hover:scale-[1.4]',
1073
+ actions: 'absolute top-2 left-3 right-3 flex items-center justify-between opacity-50 transition-opacity z-1 select-none hover:opacity-100',
1074
+ undosWrapper: 'absolute right-3 top-3 flex items-center justify-center gap-3 rtl:right-auto rtl:left-3',
1075
+ undo: 'mask-bg mask-form-trix-undo form-bg-icon w-3 h-3',
1076
+ undo_enabled: 'cursor-pointer focus-visible:opacity-80',
1077
+ undo_disabled: 'opacity-50 cursor-not-allowed',
1078
+ redo: 'mask-bg mask-form-trix-redo form-bg-icon w-3 h-3',
1079
+ redo_enabled: 'cursor-pointer focus-visible:opacity-80',
1080
+ redo_disabled: 'opacity-50 cursor-not-allowed',
1081
+ clearWrapper: 'absolute top-1/2 transform -translate-y-1/2 right-4 text-sm',
1082
+ clear: 'mask-bg mask-form-remove form-bg-input-color w-3 h-4 py-px box-content inline-block cursor-pointer focus-visible:opacity-60',
1083
+ $wrapper: (classes, { isDisabled, readonly, Size }) => ([
1084
+ classes.wrapper,
1085
+ classes[`wrapper_${Size}`],
1086
+ isDisabled ? classes.wrapper_disabled : classes.wrapper_enabled,
1087
+ readonly ? classes.wrapper_readonly : null,
1088
+ ]),
1089
+ $loadedWrapper: (classes, { isDisabled }) => ([
1090
+ classes.loadedWrapper,
1091
+ isDisabled ? classes.loadedWrapper_disabled : classes.loadedWrapper_enabled,
1092
+ ]),
1093
+ $innerWrapper: (classes, { isDisabled }) => ([
1094
+ classes.innerWrapper,
1095
+ isDisabled ? classes.innerWrapper_disabled : classes.innerWrapper_enabled,
1096
+ ]),
1097
+ $input: (classes, { invertColors, color }) => ([
1098
+ classes.input,
1099
+ invertColors.indexOf(color) !== -1 ? classes.input_invert : null,
1100
+ ]),
1101
+ $uploadContainer: (classes, { dragging }) => ([
1102
+ classes.uploadContainer,
1103
+ dragging ? classes.uploadContainer_dragging : classes.uploadContainer_not_dragging,
1104
+ ]),
1105
+ $uploadWrapper: (classes, { processing }) => ([
1106
+ classes.uploadWrapper,
1107
+ processing ? classes.uploadWrapper_processing : null,
1108
+ ]),
1109
+ $pad: (classes, { invertColors, color }) => ([
1110
+ classes.pad,
1111
+ invertColors.indexOf(color) !== -1 ? classes.pad_invert : null,
1112
+ ]),
1113
+ $color: (classes, { color, invertColors, mode }) => (c) => ([
1114
+ classes.color,
1115
+ c === color ? classes.color_active : classes.color_inactive,
1116
+ invertColors.indexOf(c) !== -1 && mode !== 'upload' ? classes.color_invert : null,
1117
+ ]),
1118
+ $undo: (classes, { undosLeft }) => ([
1119
+ classes.undo,
1120
+ undosLeft ? classes.undo_enabled : classes.undo_disabled,
1121
+ ]),
1122
+ $redo: (classes, { redos }) => ([
1123
+ classes.redo,
1124
+ redos.length ? classes.redo_enabled : classes.redo_disabled,
1125
+ ]),
1126
+ },
1127
+ SliderElement: {
1128
+ container: '',
1129
+ wrapper: '',
1130
+ wrapper_sm: '',
1131
+ wrapper_md: '',
1132
+ wrapper_lg: '',
1133
+ slider: {
1134
+ target: 'relative box-border user-select-none touch-none tap-highlight-transparent touch-callout-none disabled:cursor-not-allowed disabled:opacity-50',
1135
+ target_sm: 'form-my-slider-sm',
1136
+ target_md: 'form-my-slider',
1137
+ target_lg: 'form-my-slider-lg',
1138
+ focused: 'slider-focused',
1139
+ tooltipFocus: 'slider-tooltip-focus',
1140
+ tooltipDrag: 'slider-tooltip-drag',
1141
+ ltr: 'slider-ltr',
1142
+ rtl: 'slider-rtl',
1143
+ horizontal: 'slider-horizontal',
1144
+ horizontal_sm: 'form-h-slider-horizontal-sm',
1145
+ horizontal_md: 'form-h-slider-horizontal',
1146
+ horizontal_lg: 'form-h-slider-horizontal-lg',
1147
+ vertical: 'slider-vertical',
1148
+ vertical_sm: 'form-h-slider-vertical-sm form-w-slider-vertical-sm',
1149
+ vertical_md: 'form-h-slider-vertical form-w-slider-vertical',
1150
+ vertical_lg: 'form-h-slider-vertical-lg form-w-slider-vertical-lg',
1151
+ textDirectionRtl: 'slider-txt-rtl',
1152
+ textDirectionLtr: 'slider-txt-ltr',
1153
+ base: 'form-shadow-input w-full h-full relative z-1 form-bg-passive',
1154
+ base_sm: 'form-radius-slider-sm',
1155
+ base_md: 'form-radius-slider',
1156
+ base_lg: 'form-radius-slider-lg',
1157
+ connects: 'w-full h-full relative overflow-hidden z-0 form-radius-slider',
1158
+ connects_sm: 'form-radius-slider-sm',
1159
+ connects_md: 'form-radius-slider',
1160
+ connects_lg: 'form-radius-slider-lg',
1161
+ connect: 'absolute z-1 top-0 right-0 transform-origin-0 transform-style-flat h-full w-full form-bg-primary cursor-pointer tap:duration-300 tap:transition-transform disabled:cursor-not-allowed',
1162
+ connect_sm: 'form-radius-slider-sm',
1163
+ connect_md: 'form-radius-slider',
1164
+ connect_lg: 'form-radius-slider-lg',
1165
+ origin: 'slider-origin absolute z-1 top-0 right-0 transform-origin-0 transform-style-flat h-full w-full h:h-0 v:-top-full txt-rtl-h:left-0 txt-rtl-h:right-auto v:w-0 tap:duration-300 tap:transition-transform',
1166
+ handle: 'absolute rounded-full transition-shadow border-0 cursor-grab txt-rtl-h:-left-2 txt-rtl-h:right-auto disabled:cursor-not-allowed disabled:pointer-events-none form-bg-slider-handle form-shadow-handles hover:form-shadow-handles-hover focus:form-shadow-handles-focus focused-hover:form-shadow-handles-hover focus:outline-zero focus:form-ring',
1167
+ handle_sm: 'form-size-slider-handle-sm h:form-top-slider-handle-horizontal-sm h:form-right-slider-handle-horizontal-sm v:form-bottom-slider-handle-vertical-sm v:form-right-slider-handle-vertical-sm',
1168
+ handle_md: 'form-size-slider-handle h:form-top-slider-handle-horizontal h:form-right-slider-handle-horizontal v:form-bottom-slider-handle-vertical v:form-right-slider-handle-vertical',
1169
+ handle_lg: 'form-size-slider-handle-lg h:form-top-slider-handle-horizontal-lg h:form-right-slider-handle-horizontal-lg v:form-bottom-slider-handle-vertical-lg v:form-right-slider-handle-vertical-lg',
1170
+ handleUpper: 'slider-handle-upper',
1171
+ handleLower: 'slider-handle-lower',
1172
+ touchArea: 'h-full w-full',
1173
+ tooltip: 'absolute block font-semibold whitespace-nowrap min-w-5 text-center border form-border-color-slider-tooltip form-bg-primary form-color-on-primary transform tt-focus:hidden tt-focused:block tt-drag:hidden tt-dragging:block h:-translate-x-1/2 h:left-1/2 v:-translate-y-1/2 v:top-1/2 merge-h:translate-x-1/2 merge-v:translate-y-1/2 merge-h:left-auto merge-v:top-auto',
1174
+ tooltip_sm: 'form-text-small-sm form-py-slider-tooltip-sm form-px-slider-tooltip-sm form-radius-small-sm',
1175
+ tooltip_md: 'form-text-small form-py-slider-tooltip form-px-slider-tooltip form-radius-small',
1176
+ tooltip_lg: 'form-text-small-lg form-py-slider-tooltip-lg form-px-slider-tooltip-lg form-radius-small-lg',
1177
+ tooltipTop: 'form-slider-tooltip-top',
1178
+ tooltipTop_sm: 'form-bottom-slider-tooltip-top-sm merge-h:form-bottom-slider-tooltip-top-merged-sm h:arrow-bottom-sm',
1179
+ tooltipTop_md: 'form-bottom-slider-tooltip-top merge-h:form-bottom-slider-tooltip-top-merged h:arrow-bottom',
1180
+ tooltipTop_lg: 'form-bottom-slider-tooltip-top-lg merge-h:form-bottom-slider-tooltip-top-merged-lg h:arrow-bottom-lg',
1181
+ tooltipBottom: 'form-slider-tooltip-bottom',
1182
+ tooltipBottom_sm: 'form-top-slider-tooltip-bottom-sm merge-h:form-top-slider-tooltip-bottom-merged-sm h:arrow-top-sm',
1183
+ tooltipBottom_md: 'form-top-slider-tooltip-bottom merge-h:form-top-slider-tooltip-bottom-merged h:arrow-top',
1184
+ tooltipBottom_lg: 'form-top-slider-tooltip-bottom-lg merge-h:form-top-slider-tooltip-bottom-merged-lg h:arrow-top-lg',
1185
+ tooltipLeft: 'form-slider-tooltip-left',
1186
+ tooltipLeft_sm: 'form-right-slider-tooltip-left-sm merge-v:form-right-slider-tooltip-left-merged-sm v:arrow-right-sm',
1187
+ tooltipLeft_md: 'form-right-slider-tooltip-left merge-v:form-right-slider-tooltip-left-merged v:arrow-right',
1188
+ tooltipLeft_lg: 'form-right-slider-tooltip-left-lg merge-v:form-right-slider-tooltip-left-merged-lg v:arrow-right-lg',
1189
+ tooltipRight: 'form-slider-tooltip-right',
1190
+ tooltipRight_sm: 'form-left-slider-tooltip-right-sm merge-v:form-left-slider-tooltip-right-merged-sm v:arrow-left-sm',
1191
+ tooltipRight_md: 'form-left-slider-tooltip-right merge-v:form-left-slider-tooltip-right-merged v:arrow-left',
1192
+ tooltipRight_lg: 'form-left-slider-tooltip-right-lg merge-v:form-left-slider-tooltip-right-merged-lg v:arrow-left-lg',
1193
+ tooltipHidden: 'slider-tooltip-hidden',
1194
+ active: 'slider-active cursor-grabbing',
1195
+ draggable: 'cursor-ew-resize v:cursor-ns-resize',
1196
+ tap: 'slider-state-tap',
1197
+ drag: 'slider-state-drag',
1198
+ $target: (classes, { Size }) => ([
1199
+ classes.slider.target,
1200
+ classes.slider[`target_${Size}`],
1201
+ ]),
1202
+ $horizontal: (classes, { Size }) => ([
1203
+ classes.slider.horizontal,
1204
+ classes.slider[`horizontal_${Size}`],
1205
+ ]),
1206
+ $vertical: (classes, { Size }) => ([
1207
+ classes.slider.vertical,
1208
+ classes.slider[`vertical_${Size}`],
1209
+ ]),
1210
+ $base: (classes, { Size }) => ([
1211
+ classes.slider.base,
1212
+ classes.slider[`base_${Size}`],
1213
+ ]),
1214
+ $connects: (classes, { Size }) => ([
1215
+ classes.slider.connects,
1216
+ classes.slider[`connects_${Size}`],
1217
+ ]),
1218
+ $connect: (classes, { Size }) => ([
1219
+ classes.slider.connect,
1220
+ classes.slider[`connect_${Size}`],
1221
+ ]),
1222
+ $handle: (classes, { Size }) => ([
1223
+ classes.slider.handle,
1224
+ classes.slider[`handle_${Size}`],
1225
+ ]),
1226
+ $tooltip: (classes, { Size }) => ([
1227
+ classes.slider.tooltip,
1228
+ classes.slider[`tooltip_${Size}`],
1229
+ ]),
1230
+ $tooltipTop: (classes, { Size }) => ([
1231
+ classes.slider.tooltipTop,
1232
+ classes.slider[`tooltipTop_${Size}`],
1233
+ ]),
1234
+ $tooltipBottom: (classes, { Size }) => ([
1235
+ classes.slider.tooltipBottom,
1236
+ classes.slider[`tooltipBottom_${Size}`],
1237
+ ]),
1238
+ $tooltipLeft: (classes, { Size }) => ([
1239
+ classes.slider.tooltipLeft,
1240
+ classes.slider[`tooltipLeft_${Size}`],
1241
+ ]),
1242
+ $tooltipRight: (classes, { Size }) => ([
1243
+ classes.slider.tooltipRight,
1244
+ classes.slider[`tooltipRight_${Size}`],
1245
+ ]),
1246
+ },
1247
+ $wrapper: (classes, { Size }) => ([
1248
+ classes.wrapper,
1249
+ classes[`wrapper_${Size}`],
1250
+ ]),
1251
+ },
1252
+ StaticElement: {
1253
+ container: 'form-contains-link',
1254
+ content: '',
1255
+ content_sm: 'form-text-sm',
1256
+ content_md: 'form-text',
1257
+ content_lg: 'form-text-lg',
1258
+ content_top_1: 'form-mt-tag-1',
1259
+ content_top_2: 'form-mt-tag-2',
1260
+ content_top_3: 'form-mt-tag-3',
1261
+ content_bottom_1: 'form-mb-tag-1',
1262
+ content_bottom_2: 'form-mb-tag-2',
1263
+ content_bottom_3: 'form-mb-tag-3',
1264
+ tag: '',
1265
+ tag_sm: '',
1266
+ tag_md: '',
1267
+ tag_lg: '',
1268
+ tag_top_1: 'form-mt-tag-1',
1269
+ tag_top_2: 'form-mt-tag-2',
1270
+ tag_top_3: 'form-mt-tag-3',
1271
+ tag_bottom_1: 'form-mb-tag-1',
1272
+ tag_bottom_2: 'form-mb-tag-2',
1273
+ tag_bottom_3: 'form-mb-tag-3',
1274
+ tag_left: 'text-left',
1275
+ tag_center: 'text-center',
1276
+ tag_right: 'text-right',
1277
+ tag_p: '',
1278
+ tag_p_sm: '',
1279
+ tag_p_md: '',
1280
+ tag_p_lg: '',
1281
+ tag_h1: 'font-bold',
1282
+ tag_h1_sm: 'form-text-h1-mobile-sm md:form-text-h1-sm',
1283
+ tag_h1_md: 'form-text-h1-mobile md:form-text-h1',
1284
+ tag_h1_lg: 'form-text-h1-mobile-lg md:form-text-h1-lg',
1285
+ tag_h2: 'font-bold',
1286
+ tag_h2_sm: 'form-text-h2-mobile-sm md:form-text-h2-sm',
1287
+ tag_h2_md: 'form-text-h2-mobile md:form-text-h2',
1288
+ tag_h2_lg: 'form-text-h2-mobile-lg md:form-text-h2-lg',
1289
+ tag_h3: 'font-bold',
1290
+ tag_h3_sm: 'form-text-h3-mobile-sm md:form-text-h3-sm',
1291
+ tag_h3_md: 'form-text-h3-mobile md:form-text-h3',
1292
+ tag_h3_lg: 'form-text-h3-mobile-lg md:form-text-h3-lg',
1293
+ tag_h4: 'font-bold',
1294
+ tag_h4_sm: 'form-text-h4-mobile-sm md:form-text-h4-sm',
1295
+ tag_h4_md: 'form-text-h4-mobile md:form-text-h4',
1296
+ tag_h4_lg: 'form-text-h4-mobile-lg md:form-text-h4-lg',
1297
+ tag_blockquote: 'form-border-width-blockquote form-border-color-blockquote',
1298
+ tag_blockquote_sm: 'form-text-blockquote-sm form-p-blockquote-sm',
1299
+ tag_blockquote_md: 'form-text-blockquote form-p-blockquote',
1300
+ tag_blockquote_lg: 'form-text-blockquote-lg form-p-blockquote-lg',
1301
+ tag_a: 'form-color-link form-decoration-link',
1302
+ tag_a_sm: '',
1303
+ tag_a_md: '',
1304
+ tag_a_lg: '',
1305
+ tag_hr: 'form-static-tag-hr-wrapper form-border-color-hr form-py-hr',
1306
+ tag_img: 'form-static-tag-img',
1307
+ $content: (classes, { Size, top, bottom }) => ([
1308
+ classes.content,
1309
+ classes[`content_${Size}`],
1310
+ top >= 1 ? classes[`content_top_${top}`] : null,
1311
+ bottom >= 1 ? classes[`content_bottom_${bottom}`] : null,
1312
+ ]),
1313
+ $tag: (classes, { Size, tag, align, top, bottom }) => ([
1314
+ classes.tag,
1315
+ classes[`tag_${Size}`],
1316
+ classes[`tag_${tag}`],
1317
+ classes[`tag_${tag}_${Size}`] || null,
1318
+ align === 'left' ? classes.tag_left : null,
1319
+ align === 'center' ? classes.tag_center : null,
1320
+ align === 'right' ? classes.tag_right : null,
1321
+ top >= 1 ? classes[`tag_top_${top}`] : null,
1322
+ bottom >= 1 ? classes[`tag_bottom_${bottom}`] : null,
1323
+ ]),
1324
+ },
1325
+ TagsElement: {
1326
+ container: 'form-text-type',
1327
+ select: {
1328
+ ...select,
1329
+ tags: 'flex-grow flex-shrink flex flex-wrap items-center min-w-0 rtl:pl-0',
1330
+ tags_sm: 'form-pl-input-y-sm form-mt-space-tags-sm with-floating:form-p-tags-floating-sm rtl:form-pr-input-y-sm',
1331
+ tags_md: 'form-pl-input-y form-mt-space-tags with-floating:form-p-tags-floating rtl:form-pr-input-y',
1332
+ tags_lg: 'form-pl-input-y-lg form-mt-space-tags-lg with-floating:form-p-tags-floating-lg rtl:form-pr-input-y-lg',
1333
+ tag: 'form-bg-tag form-color-tag form-border-width-tag form-border-color-tag font-semibold flex items-center whitespace-nowrap min-w-0 rtl:pl-0 rtl:mr-0',
1334
+ tag_sm: 'form-radius-input-tag-sm form-text-small-sm form-py-tag-sm form-pl-tag-sm form-mr-space-tags-sm form-mb-space-tags-sm rtl:form-pr-tag-sm rtl:form-ml-space-tags-sm',
1335
+ tag_md: 'form-radius-input-tag form-text-small form-py-tag form-pl-tag form-mr-space-tags form-mb-space-tags rtl:form-pr-tag rtl:form-ml-space-tags',
1336
+ tag_lg: 'form-radius-input-tag-lg form-text-small-lg form-py-tag-lg form-pl-tag-lg form-mr-space-tags-lg form-mb-space-tags-lg rtl:form-pr-tag-lg rtl:form-ml-space-tags-lg',
1337
+ tagDisabled: 'opacity-50',
1338
+ tagDisabled_sm: 'form-pr-tag-sm rtl:form-pl-tag-sm',
1339
+ tagDisabled_md: 'form-pr-tag rtl:form-pl-tag',
1340
+ tagDisabled_lg: 'form-pr-tag-lg rtl:form-pl-tag-lg',
1341
+ tagWrapper: 'overflow-hidden overflow-ellipsis',
1342
+ tagWrapper_nobreak: 'whitespace-nowrap',
1343
+ tagWrapperBreak: 'whitespace-normal break-all',
1344
+ tagRemove: 'flex items-center justify-center p-1 mx-0.5 hover:bg-black hover:bg-opacity-10 group',
1345
+ tagRemove_sm: 'form-radius-input-tag-sm',
1346
+ tagRemove_md: 'form-radius-input-tag',
1347
+ tagRemove_lg: 'form-radius-input-tag-lg',
1348
+ tagRemoveIcon: 'mask-bg mask-form-remove bg-current inline-block w-3 h-3',
1349
+ tagsSearchWrapper: 'inline-block relative form-ml-space-tags form-mr-space-tags form-mb-space-tags flex-grow flex-shrink h-full max-w-full',
1350
+ tagsSearchWrapper_sm: 'form-ml-space-tags-sm form-mr-space-tags-sm form-mb-space-tags-sm',
1351
+ tagsSearchWrapper_md: 'form-ml-space-tags form-mr-space-tags form-mb-space-tags',
1352
+ tagsSearchWrapper_lg: 'form-ml-space-tags-lg form-mr-space-tags-lg form-mb-space-tags-lg',
1353
+ tagsSearch: 'absolute bg-transparent form-color-input inset-0 border-0 outline-zero appearance-none p-0 box-border w-full pr-2',
1354
+ tagsSearch_sm: 'form-text-sm',
1355
+ tagsSearch_md: 'form-text',
1356
+ tagsSearch_lg: 'form-text-lg',
1357
+ tagsSearchCopy: 'invisible whitespace-pre-wrap inline-block h-px',
1358
+ $tags: (classes, { Size }) => ([
1359
+ classes.select.tags,
1360
+ classes.select[`tags_${Size}`],
1361
+ ]),
1362
+ $tag: (classes, { Size }) => ([
1363
+ classes.select.tag,
1364
+ classes.select[`tag_${Size}`],
1365
+ ]),
1366
+ $tagWrapper: (classes, { breakTags }) => ([
1367
+ classes.select.tagWrapper,
1368
+ !breakTags.value ? classes.select.tagWrapper_noBreak : null,
1369
+ ]),
1370
+ $tagDisabled: (classes, { Size }) => ([
1371
+ classes.select.tagDisabled,
1372
+ classes.select[`tagDisabled_${Size}`],
1373
+ ]),
1374
+ $tagRemove: (classes, { Size }) => ([
1375
+ classes.select.tagRemove,
1376
+ classes.select[`tagRemove_${Size}`],
1377
+ ]),
1378
+ $tagsSearchWrapper: (classes, { Size }) => ([
1379
+ classes.select.tagsSearchWrapper,
1380
+ classes.select[`tagsSearchWrapper_${Size}`],
1381
+ ]),
1382
+ $tagsSearch: (classes, { Size }) => ([
1383
+ classes.select.tagsSearch,
1384
+ classes.select[`tagsSearch_${Size}`],
1385
+ ]),
1386
+ }
1387
+ },
1388
+ TextareaElement: {
1389
+ ...textarea,
1390
+ },
1391
+ TextElement: {
1392
+ ...text,
1393
+ },
1394
+ ToggleElement: {
1395
+ container: 'form-contains-link',
1396
+ wrapper: 'flex items-start',
1397
+ wrapper_left: 'rtl:justify-end',
1398
+ wrapper_right: 'justify-end rtl:justify-start',
1399
+ text: '',
1400
+ text_sm: 'form-ml-space-checkbox-sm rtl:form-mr-space-checkbox-sm rtl:ml-0',
1401
+ text_md: 'form-ml-space-checkbox rtl:form-mr-space-checkbox rtl:ml-0',
1402
+ text_lg: 'form-ml-space-checkbox-lg rtl:form-mr-space-checkbox-lg rtl:ml-0',
1403
+ text_left: 'rtl:-order-1 rtl:!mr-0',
1404
+ text_left_sm: '!form-ml-space-checkbox-sm',
1405
+ text_left_md: '!form-ml-space-checkbox',
1406
+ text_left_lg: '!form-ml-space-checkbox-lg',
1407
+ text_right: '!ml-0 -order-1 rtl:order-none',
1408
+ text_right_sm: 'form-mr-space-checkbox-sm',
1409
+ text_right_md: 'form-mr-space-checkbox',
1410
+ text_right_lg: 'form-mr-space-checkbox-lg',
1411
+ toggle: {
1412
+ container: 'form-shadow-handles inline-block rounded-full outline-zero transition-input duration-200 ease-in-out focus:form-ring',
1413
+ container_enabled: 'hover:form-shadow-handles-hover focus:form-shadow-handles-focus focused-hover:form-shadow-handles-hover',
1414
+ container_disabled: 'cursor-not-allowed opacity-50',
1415
+ toggle: 'flex rounded-full relative cursor-pointer transition-colors items-center box-content form-border-width-toggle leading-none',
1416
+ toggle_sm: 'form-w-toggle-sm form-h-toggle-sm text-xs',
1417
+ toggle_md: 'form-w-toggle form-h-toggle text-xs',
1418
+ toggle_lg: 'form-w-toggle-lg form-h-toggle-lg text-0.5sm',
1419
+ toggleOn: 'form-bg-primary form-border-color-primary justify-start form-color-on-primary',
1420
+ toggleOff: 'form-bg-passive form-border-color-passive form-color-passive justify-end',
1421
+ toggleOnDisabled: 'form-bg-primary form-border-color-primary justify-start form-color-on-primary',
1422
+ toggleOffDisabled: 'form-bg-passive form-border-color-passive form-color-passive justify-end',
1423
+ handle: 'inline-block form-bg-toggle-handle top-0 rounded-full absolute transition-all',
1424
+ handle_sm: 'form-size-toggle-handle-sm',
1425
+ handle_md: 'form-size-toggle-handle',
1426
+ handle_lg: 'form-size-toggle-handle-lg',
1427
+ handleOn: 'left-full transform -translate-x-full',
1428
+ handleOff: 'left-0',
1429
+ handleOnDisabled: 'left-full transform -translate-x-full',
1430
+ handleOffDisabled: 'left-0',
1431
+ label: 'text-center border-box whitespace-nowrap select-none',
1432
+ label_sm: 'form-w-toggle-label-sm',
1433
+ label_md: 'form-w-toggle-label',
1434
+ label_lg: 'form-w-toggle-label-lg',
1435
+ $container: (classes, { Size, isDisabled }) => ([
1436
+ classes.toggle.container,
1437
+ classes.toggle[`container_${Size}`],
1438
+ !isDisabled ? classes.toggle.container_enabled : classes.toggle.container_disabled,
1439
+ ]),
1440
+ $toggle: (classes, { Size }) => ([
1441
+ classes.toggle.toggle,
1442
+ classes.toggle[`toggle_${Size}`],
1443
+ ]),
1444
+ $handle: (classes, { Size }) => ([
1445
+ classes.toggle.handle,
1446
+ classes.toggle[`handle_${Size}`],
1447
+ ]),
1448
+ $label: (classes, { Size }) => ([
1449
+ classes.toggle.label,
1450
+ classes.toggle[`label_${Size}`],
1451
+ ]),
1452
+ },
1453
+ $text: (classes, { Size, align }) => ([
1454
+ classes.text,
1455
+ classes[`text_${Size}`],
1456
+ align === 'left' ? [classes.text_left, classes[`text_left_${Size}`]] : null,
1457
+ align === 'right' ? [classes.text_right, classes[`text_right_${Size}`]] : null,
1458
+ ]),
1459
+ $wrapper: (classes, { align }) => ([
1460
+ classes.wrapper,
1461
+ align === 'left' ? classes.wrapper_left : null,
1462
+ align === 'right' ? classes.wrapper_right : null,
1463
+ ]),
1464
+ },
1465
+ TTextareaElement: {
1466
+ ...textarea,
1467
+ },
1468
+ TTextElement: {
1469
+ ...text,
1470
+ },
1471
+ TEditorElement: {
1472
+ ...editor,
1473
+ },
1474
+
1475
+ // Wrappers
1476
+ DatepickerWrapper: {
1477
+ datepicker: '',
1478
+ calendarContainer: ''
1479
+ },
1480
+ EditorWrapper: {
1481
+ container: 'form-bg-input form-color-input',
1482
+ container_hideBold: 'form-editor-hide-bold',
1483
+ container_hideItalic: 'form-editor-hide-italic',
1484
+ container_hideStrike: 'form-editor-hide-strike',
1485
+ container_hideLink: 'form-editor-hide-link',
1486
+ container_hideHeading: 'form-editor-hide-heading',
1487
+ container_hideQuote: 'form-editor-hide-quote',
1488
+ container_hideCode: 'form-editor-hide-code',
1489
+ container_hideBulletList: 'form-editor-hide-bullet-list',
1490
+ container_hideNumberList: 'form-editor-hide-number-list',
1491
+ container_hideDecreaseNesting: 'form-editor-hide-decrease-nesting',
1492
+ container_hideIncreaseNesting: 'form-editor-hide-increase-nesting',
1493
+ container_hideAttach: 'form-editor-hide-attach',
1494
+ container_hideUndo: 'form-editor-hide-undo',
1495
+ container_hideRedo: 'form-editor-hide-redo',
1496
+ $container: (classes, { hideTools }) => ([
1497
+ classes.container,
1498
+ ].concat(hideTools.map(t => classes[`container_hide${t.split('-').map(s=>s.charAt(0).toUpperCase()+s.slice(1)).join('')}`])))
1499
+ },
1500
+
1501
+ // Components
1502
+ ElementAddon: {
1503
+ container: 'form-bg-addon form-color-addon flex items-center justify-center flex-grow-0 flex-shrink-0',
1504
+ container_before: '',
1505
+ container_after: 'order-2',
1506
+ container_sm: '',
1507
+ container_md: '',
1508
+ container_lg: '',
1509
+ container_before_sm: 'form-radius-input-l-sm form-pl-input-sm form-pr-space-addon-sm',
1510
+ container_before_md: 'form-radius-input-l form-pl-input form-pr-space-addon',
1511
+ container_before_lg: 'form-radius-input-l-lg form-pl-input-lg form-pr-space-addon-lg',
1512
+ container_after_sm: 'form-radius-input-r-sm form-pr-input-sm form-pl-space-addon-sm',
1513
+ container_after_md: 'form-radius-input-r form-pr-input form-pl-space-addon',
1514
+ container_after_lg: 'form-radius-input-r-lg form-pr-input-lg form-pl-space-addon-lg',
1515
+ wrapper: 'contents items-center justify-center',
1516
+ $container: (classes, { type, Size }) => ([
1517
+ classes.container,
1518
+ classes[`container_${Size}`],
1519
+ classes[`container_${type}`],
1520
+ classes[`container_${type}_${Size}`],
1521
+ ]),
1522
+ },
1523
+ ElementAddonOptions: {
1524
+ container: 'flex items-center',
1525
+ container_disabled: 'cursor-default opacity-50 pointer-events-none',
1526
+ wrapper: 'flex items-center transition-all form-color-input hover:form-bg-selected focus:form-bg-selected outline-none rounded cursor-pointer whitespace-nowrap',
1527
+ wrapper_default: 'px-1 py-1',
1528
+ wrapper_relaxed: 'px-3 py-1.75',
1529
+ caret: 'mask-bg mask-form-caret form-bg-icon w-2.5 h-4 ml-2 rtl:ml-0 rtl:mr-2',
1530
+ dropdown: 'form-bg-input form-shadow-dropdown form-border-width-dropdown rounded border-solid form-border-color-input fixed z-[1002] overflow-x-scroll max-h-[calc(100vh-2rem)]',
1531
+ optionWrapper: '',
1532
+ option: 'flex items-center form-color-input cursor-pointer py-1.25 px-3 whitespace-nowrap',
1533
+ option_active: 'form-bg-selected',
1534
+ $container: (classes, { Size, el$ }) => ([
1535
+ classes.container,
1536
+ el$.isDisabled || el$.readonly ? classes.container_disabled : null,
1537
+ ]),
1538
+ $wrapper: (classes, { relaxed }) => ([
1539
+ classes.wrapper,
1540
+ relaxed ? classes.wrapper_relaxed : classes.wrapper_default,
1541
+ ]),
1542
+ $option: (classes, { selected, pointed }) => (option) => ([
1543
+ classes.option,
1544
+ selected.index === option.index || pointed.index === option.index ? classes.option_active : null
1545
+ ])
1546
+ },
1547
+ ElementDescription: {
1548
+ container: 'form-color-muted',
1549
+ container_sm: 'form-text-small-sm mt-0.5',
1550
+ container_md: 'form-text-small mt-1',
1551
+ container_lg: 'form-text-small-lg mt-1',
1552
+ $container: (classes, { Size }) => ([
1553
+ classes.container,
1554
+ classes[`container_${Size}`],
1555
+ ]),
1556
+ },
1557
+ ElementError: {
1558
+ container: 'form-color-danger block',
1559
+ container_sm: 'form-text-small-sm mt-0.5',
1560
+ container_md: 'form-text-small mt-1',
1561
+ container_lg: 'form-text-small-lg mt-1',
1562
+ $container: (classes, { Size }) => ([
1563
+ classes.container,
1564
+ classes[`container_${Size}`],
1565
+ ]),
1566
+ },
1567
+ ElementInfo: {
1568
+ container: 'inline-block w-3.5 h-3.5 form-bg-info relative ml-1 cursor-pointer form-info-group',
1569
+ wrapper: 'absolute z-1000 -mt-px opacity-0 invisible info-group-hover:opacity-100 info-group-hover:form-visible transition-opacity w-52 flex',
1570
+ wrapper_left: 'right-5 -top-0.5 justify-end',
1571
+ wrapper_right: 'left-5 -top-0.5 justify-start',
1572
+ wrapper_top: 'left-1/2 transform -translate-x-1/2 bottom-8 justify-center',
1573
+ wrapper_bottom: 'left-1/2 transform -translate-x-1/2 top-6 justify-center',
1574
+ content: 'bg-black bg-opacity-90 text-white rounded-md form-text-small py-1 px-2.5 not-italic inline-block relative',
1575
+ $wrapper: (classes, { position }) => ([
1576
+ classes.wrapper,
1577
+ classes[`wrapper_${position}`],
1578
+ ]),
1579
+ },
1580
+ ElementLabel: {
1581
+ container: 'flex items-start',
1582
+ container_sm: 'form-text-sm',
1583
+ container_md: 'form-text',
1584
+ container_lg: 'form-text-lg',
1585
+ container_vertical_sm: 'form-pb-gutter/3-sm form-pt-0 form-pr-0',
1586
+ container_vertical_md: 'form-pb-gutter/3 form-pt-0 form-pr-0',
1587
+ container_vertical_lg: 'form-pb-gutter/3-lg form-pt-0 form-pr-0',
1588
+ container_vertical_sm_SM: 'sm:form-pb-gutter/3-sm sm:form-pt-0 sm:form-pr-0',
1589
+ container_vertical_md_SM: 'sm:form-pb-gutter/3 sm:form-pt-0 sm:form-pr-0',
1590
+ container_vertical_lg_SM: 'sm:form-pb-gutter/3-lg sm:form-pt-0 sm:form-pr-0',
1591
+ container_vertical_sm_MD: 'md:form-pb-gutter/3-sm md:form-pt-0 md:form-pr-0',
1592
+ container_vertical_md_MD: 'md:form-pb-gutter/3 md:form-pt-0 md:form-pr-0',
1593
+ container_vertical_lg_MD: 'md:form-pb-gutter/3-lg md:form-pt-0 md:form-pr-0',
1594
+ container_vertical_sm_LG: 'lg:form-pb-gutter/3-sm lg:form-pt-0 lg:form-pr-0',
1595
+ container_vertical_md_LG: 'lg:form-pb-gutter/3 lg:form-pt-0 lg:form-pr-0',
1596
+ container_vertical_lg_LG: 'lg:form-pb-gutter/3-lg lg:form-pt-0 lg:form-pr-0',
1597
+ container_vertical_sm_XL: 'xl:form-pb-gutter/3-sm xl:form-pt-0 xl:form-pr-0',
1598
+ container_vertical_md_XL: 'xl:form-pb-gutter/3 xl:form-pt-0 xl:form-pr-0',
1599
+ container_vertical_lg_XL: 'xl:form-pb-gutter/3-lg xl:form-pt-0 xl:form-pr-0',
1600
+ container_vertical_sm_2XL: '2xl:form-pb-gutter/3-sm 2xl:form-pt-0 2xl:form-pr-0',
1601
+ container_vertical_md_2XL: '2xl:form-pb-gutter/3 2xl:form-pt-0 2xl:form-pr-0',
1602
+ container_vertical_lg_2XL: '2xl:form-pb-gutter/3-lg 2xl:form-pt-0 2xl:form-pr-0',
1603
+ container_horizontal_sm: 'form-pr-gutter-sm text-type:form-pt-input-border-sm pb-0',
1604
+ container_horizontal_md: 'form-pr-gutter text-type:form-pt-input-border pb-0',
1605
+ container_horizontal_lg: 'form-pr-gutter-lg text-type:form-pt-input-border-lg pb-0',
1606
+ container_horizontal_sm_SM: 'sm:form-pr-gutter-sm sm:text-type:form-pt-input-border-sm sm:pb-0',
1607
+ container_horizontal_md_SM: 'sm:form-pr-gutter sm:text-type:form-pt-input-border sm:pb-0',
1608
+ container_horizontal_lg_SM: 'sm:form-pr-gutter-lg sm:text-type:form-pt-input-border-lg sm:pb-0',
1609
+ container_horizontal_sm_MD: 'md:form-pr-gutter-sm md:text-type:form-pt-input-border-sm md:pb-0',
1610
+ container_horizontal_md_MD: 'md:form-pr-gutter md:text-type:form-pt-input-border md:pb-0',
1611
+ container_horizontal_lg_MD: 'md:form-pr-gutter-lg md:text-type:form-pt-input-border-lg md:pb-0',
1612
+ container_horizontal_sm_LG: 'lg:form-pr-gutter-sm lg:text-type:form-pt-input-border-sm lg:pb-0',
1613
+ container_horizontal_md_LG: 'lg:form-pr-gutter lg:text-type:form-pt-input-border lg:pb-0',
1614
+ container_horizontal_lg_LG: 'lg:form-pr-gutter-lg lg:text-type:form-pt-input-border-lg lg:pb-0',
1615
+ container_horizontal_sm_XL: 'xl:form-pr-gutter-sm xl:text-type:form-pt-input-border-sm xl:pb-0',
1616
+ container_horizontal_md_XL: 'xl:form-pr-gutter xl:text-type:form-pt-input-border xl:pb-0',
1617
+ container_horizontal_lg_XL: 'xl:form-pr-gutter-lg xl:text-type:form-pt-input-border-lg xl:pb-0',
1618
+ container_horizontal_sm_2XL: '2xl:form-pr-gutter-sm 2xl:text-type:form-pt-input-border-sm 2xl:pb-0',
1619
+ container_horizontal_md_2XL: '2xl:form-pr-gutter 2xl:text-type:form-pt-input-border 2xl:pb-0',
1620
+ container_horizontal_lg_2XL: '2xl:form-pr-gutter-lg 2xl:text-type:form-pt-input-border-lg 2xl:pb-0',
1621
+ wrapper: '',
1622
+ $container: (classes, { el$, Size }) => ([
1623
+ classes.container,
1624
+ classes[`container_${Size}`],
1625
+ !el$.inline ? el$.columnsClasses.label : null,
1626
+ el$.computedCols.default.label < 12 ? classes[`container_horizontal_${Size}`] : classes[`container_vertical_${Size}`],
1627
+ ...(Object.keys(el$.computedCols).length > 1 ? (el$.$vueform.config.breakpoints||['sm', 'md', 'lg', 'xl', '2xl']).map((breakpoint) => {
1628
+ if (!el$.computedCols[breakpoint]?.label) {
1629
+ return null
1630
+ }
1631
+
1632
+ return el$.computedCols[breakpoint].label < 12
1633
+ ? classes[`container_horizontal_${Size}_${breakpoint.toUpperCase()}`].join(' ')
1634
+ : classes[`container_vertical_${Size}_${breakpoint.toUpperCase()}`].join(' ')
1635
+ }) : []),
1636
+ ]),
1637
+ },
1638
+ ElementLabelFloating: {
1639
+ container: 'label-floating relative pointer-events-none',
1640
+ label: 'absolute z-1 leading-px text-0.5xs px-px transition-input duration-200 ease-in-out whitespace-nowrap in-input-group:-form-top-border-width-input-t',
1641
+ label_enabled: 'form-bg-input form-color-floating',
1642
+ label_disabled: 'form-bg-disabled form-color-floating',
1643
+ label_danger: 'form-bg-input-danger form-color-floating-danger',
1644
+ label_success: 'form-bg-input-success form-color-floating-success',
1645
+ label_focused: 'form-bg-input-focus form-color-floating-focus',
1646
+ label_sm: 'form-left-input-sm form-mt-floating-sm rtl:left-auto rtl:form-right-input-sm',
1647
+ label_md: 'form-left-input form-mt-floating rtl:left-auto rtl:form-right-input',
1648
+ label_lg: 'form-left-input-lg form-mt-floating-lg rtl:left-auto rtl:form-right-input-lg',
1649
+ label_invisible: 'opacity-0 invisible',
1650
+ label_visible: 'opacity-100 visible',
1651
+ $label: (classes, { visible, Size, el$ }) => ([
1652
+ classes.label,
1653
+ classes[`label_${Size}`],
1654
+ visible ? classes.label_visible : classes.label_invisible,
1655
+ el$.focused && !el$.isDanger && !el$.isSuccess ? classes.label_focused : null,
1656
+ !el$.isDisabled && !el$.isDanger && !el$.isSuccess ? classes.label_enabled : null,
1657
+ el$.isDisabled ? classes.label_disabled : null,
1658
+ el$.isDanger ? classes.label_danger : null,
1659
+ el$.isSuccess ? classes.label_success : null,
1660
+ ]),
1661
+ },
1662
+ ElementLayout: {
1663
+ container: '',
1664
+ container_sm: 'form-text-sm',
1665
+ container_md: 'form-text',
1666
+ container_lg: 'form-text-lg',
1667
+ container_error: 'has-error',
1668
+ outerWrapper: 'grid grid-cols-12',
1669
+ innerContainer: 'flex-1 grid grid-cols-12',
1670
+ innerWrapperBefore: 'col-span-12',
1671
+ innerWrapper: '',
1672
+ innerWrapperAfter: 'col-span-12',
1673
+ $container: (classes, { el$, Size }) => ([
1674
+ classes.container,
1675
+ classes[`container_${Size}`],
1676
+ el$.columnsClasses.container,
1677
+ el$.classes.container,
1678
+ !el$.isStatic && el$.errors && !!el$.errors.length ? classes.container_error : null
1679
+ ]),
1680
+ $innerContainer: (classes, { el$ }) => ([
1681
+ classes.innerContainer,
1682
+ el$.columnsClasses.innerContainer,
1683
+ ]),
1684
+ $innerWrapper: (classes, { el$ }) => ([
1685
+ classes.innerWrapper,
1686
+ el$.columnsClasses.wrapper,
1687
+ ]),
1688
+ },
1689
+ ElementLayoutInline: {
1690
+ container: 'flex',
1691
+ container_error: 'has-error',
1692
+ $container: (classes, { el$ }) => ([
1693
+ classes.container,
1694
+ !el$.isStatic && el$.errors && !!el$.errors.length ? classes.container_error : null,
1695
+ el$.classes.container,
1696
+ ]),
1697
+ },
1698
+ ElementLoader: {
1699
+ container: 'relative z-1 order-1',
1700
+ loader: 'absolute w-4 h-4 right-full mask-bg mask-form-spinner form-bg-primary animate-spin',
1701
+ loader_sm: 'form-top-input-border-sm form-mr-input-sm mt-0.5',
1702
+ loader_md: 'form-top-input-border form-mr-input mt-1',
1703
+ loader_lg: 'form-top-input-border-lg form-mr-input-lg mt-1',
1704
+ $loader: (classes, { Size }) => ([
1705
+ classes.loader,
1706
+ classes[`loader_${Size}`],
1707
+ ]),
1708
+ },
1709
+ ElementMessage: {
1710
+ container: 'form-color-success block',
1711
+ container_sm: 'form-text-small-sm mt-0.5',
1712
+ container_md: 'form-text-small mt-1',
1713
+ container_lg: 'form-text-small-lg mt-1',
1714
+ $container: (classes, { Size }) => ([
1715
+ classes.container,
1716
+ classes[`container_${Size}`],
1717
+ ]),
1718
+ },
1719
+ ElementRequired: {
1720
+ container: '',
1721
+ },
1722
+ ElementText: {
1723
+ container: '',
1724
+ container_before: '',
1725
+ container_between: '',
1726
+ container_after: '',
1727
+ $container: (classes, { type }) => ([
1728
+ classes.container,
1729
+ classes[`container_${type}`]
1730
+ ]),
1731
+ },
1732
+ FormElements: {
1733
+ container: 'grid grid-cols-12',
1734
+ container_sm: 'form-gap-x-gutter-sm form-gap-y-gutter-sm',
1735
+ container_md: 'form-gap-x-gutter form-gap-y-gutter',
1736
+ container_lg: 'form-gap-x-gutter-lg form-gap-y-gutter-lg',
1737
+ $container: (classes, { Size }) => ([
1738
+ classes.container,
1739
+ classes[`container_${Size}`]
1740
+ ]),
1741
+ },
1742
+ FormErrors: {
1743
+ container: 'form-bg-danger form-color-danger',
1744
+ container_sm: 'form-radius-input-sm form-text-sm form-mb-gutter-sm py-2 px-3',
1745
+ container_md: 'form-radius-input form-text form-mb-gutter py-2 px-3',
1746
+ container_lg: 'form-radius-input-lg form-text-lg form-mb-gutter-lg py-3 px-4',
1747
+ error: '',
1748
+ $container: (classes, { Size }) => ([
1749
+ classes.container,
1750
+ classes[`container_${Size}`],
1751
+ ])
1752
+ },
1753
+ FormLanguage: {
1754
+ container: 'flex-grow flex-shrink w-full',
1755
+ wrapper: 'block border-b-2 text-center',
1756
+ wrapper_active: 'form-border-color-primary',
1757
+ wrapper_inactive: 'border-transparent',
1758
+ wrapper_valid: '',
1759
+ wrapper_invalid: 'form-color-danger form-border-color-danger',
1760
+ wrapper_sm: 'py-1.5 px-3.5',
1761
+ wrapper_md: 'py-2 px-4',
1762
+ wrapper_lg: 'py-2 px-4',
1763
+ $wrapper: (classes, { selected, Size }) => ([
1764
+ classes.wrapper,
1765
+ classes[`wrapper_${Size}`],
1766
+ selected ? classes.wrapper_active : classes.wrapper_inactive
1767
+ ]),
1768
+ },
1769
+ FormLanguages: {
1770
+ container: 'flex items-center justify-between',
1771
+ container_sm: 'form-mb-gutter form-text-sm',
1772
+ container_md: 'form-mb-gutter-lg form-text',
1773
+ container_lg: 'form-mb-gutter-lg form-text-lg',
1774
+ $container: (classes, { Size }) => ([
1775
+ classes.container,
1776
+ classes[`container_${Size}`],
1777
+ ]),
1778
+ },
1779
+ FormMessages: {
1780
+ container: 'form-bg-success form-color-success',
1781
+ container_sm: 'form-radius-input-sm form-text-sm form-mb-gutter-sm py-2 px-3',
1782
+ container_md: 'form-radius-input form-text form-mb-gutter py-2 px-3',
1783
+ container_lg: 'form-radius-input-lg form-text-lg form-mb-gutter-lg py-3 px-4',
1784
+ message: '',
1785
+ $container: (classes, { Size }) => ([
1786
+ classes.container,
1787
+ classes[`container_${Size}`],
1788
+ ])
1789
+ },
1790
+ FormStep: {
1791
+ container: 'form-step',
1792
+ container_active: 'form-step-active',
1793
+ container_inactive: '',
1794
+ container_invalid: 'form-step-has-errors',
1795
+ container_valid: '',
1796
+ container_disabled: 'form-step-disabled',
1797
+ container_enabled: '',
1798
+ container_completed: 'form-step-completed',
1799
+ container_incompleted: '',
1800
+ container_pending: 'form-step-pending',
1801
+ wrapper: '',
1802
+ $container: (classes, { active, isDisabled, completed, invalid, pending }) => ([
1803
+ classes.container,
1804
+ active ? classes.container_active : classes.container_inactive,
1805
+ isDisabled ? classes.container_disabled : classes.container_enabled,
1806
+ completed ? classes.container_completed : classes.container_incompleted,
1807
+ invalid ? classes.container_invalid : classes.container_valid,
1808
+ pending ? classes.container_pending : null,
1809
+ ]),
1810
+ },
1811
+ FormSteps: {
1812
+ container: 'form-steps',
1813
+ container_sm: 'form-mb-gutter form-text-sm',
1814
+ container_md: 'form-mb-gutter-lg form-text',
1815
+ container_lg: 'form-mb-gutter-lg form-text-lg',
1816
+ wrapper: 'flex justify-between overflow-x-auto',
1817
+ $container: (classes, { Size }) => ([
1818
+ classes.container,
1819
+ classes[`container_${Size}`],
1820
+ ]),
1821
+ },
1822
+ FormStepsControl: {
1823
+ button: 'form-border-width-btn form-shadow-btn focus:form-ring focus:outline-zero disabled:pointer-events-none disabled:opacity-60 disabled:cursor-not-allowed',
1824
+ button_previous: '',
1825
+ button_previous_enabled: 'form-bg-btn-secondary form-color-btn-secondary form-border-color-btn-secondary transition-transform transform hover:scale-105',
1826
+ button_previous_disabled: 'form-bg-btn-secondary form-color-btn-secondary form-border-color-btn-secondary opacity-60 pointer-events-none',
1827
+ button_next: '',
1828
+ button_next_enabled: 'form-bg-primary form-color-on-primary form-border-color-btn transition-transform transform hover:scale-105',
1829
+ button_next_disabled: 'form-bg-primary form-color-on-primary form-border-color-btn opacity-60 pointer-events-none cursor-not-allowed',
1830
+ button_next_loading: 'text-transparent form-bg-primary form-border-color-btn form-bg-spinner-on-primary opacity-60 pointer-events-none cursor-not-allowed',
1831
+ button_finish: '',
1832
+ button_finish_enabled: 'form-bg-primary form-color-on-primary form-border-color-btn transition-transform transform hover:scale-105',
1833
+ button_finish_disabled: 'form-bg-primary form-color-on-primary form-border-color-btn opacity-60 pointer-events-none cursor-not-allowed',
1834
+ button_finish_loading: 'text-transparent form-bg-primary form-border-color-btn form-bg-spinner-on-primary opacity-60 pointer-events-none cursor-not-allowed',
1835
+ button_sm: 'form-p-btn-sm form-radius-btn-sm form-text-sm',
1836
+ button_md: 'form-p-btn form-radius-btn form-text',
1837
+ button_lg: 'form-p-btn-lg form-radius-btn-lg form-text-lg',
1838
+ $button: (classes, { isDisabled, isLoading, type, Size }) => ([
1839
+ classes.button,
1840
+ classes[`button_${Size}`],
1841
+ classes[`button_${type}`],
1842
+ isDisabled && !isLoading ? classes[`button_${type}_disabled`] : null,
1843
+ !isDisabled && !isLoading ? classes[`button_${type}_enabled`] : null,
1844
+ isLoading ? classes[`button_${type}_loading`] : null,
1845
+ ]),
1846
+ },
1847
+ FormStepsControls: {
1848
+ container: 'flex justify-between',
1849
+ container_sm: 'form-mt-gutter form-text-sm',
1850
+ container_md: 'form-mt-gutter-lg form-text',
1851
+ container_lg: 'form-mt-gutter-lg form-text-lg',
1852
+ $container: (classes, { Size }) => ([
1853
+ classes.container,
1854
+ classes[`container_${Size}`],
1855
+ ]),
1856
+ },
1857
+ FormTab: {
1858
+ container: 'cursor-pointer',
1859
+ wrapper: 'block border-b-2',
1860
+ wrapper_active: 'form-border-color-primary',
1861
+ wrapper_inactive: 'border-transparent',
1862
+ wrapper_valid: '',
1863
+ wrapper_invalid: 'form-color-danger form-border-color-danger',
1864
+ wrapper_sm: 'py-1.5 px-3.5',
1865
+ wrapper_md: 'py-2 px-4',
1866
+ wrapper_lg: 'py-2 px-4',
1867
+ $container: (classes, {}) => ([
1868
+ classes.container,
1869
+ ]),
1870
+ $wrapper: (classes, { active, invalid, Size }) => ([
1871
+ classes.wrapper,
1872
+ classes[`wrapper_${Size}`],
1873
+ active ? classes.wrapper_active : classes.wrapper_inactive,
1874
+ invalid ? classes.wrapper_invalid : classes.wrapper_valid,
1875
+ ]),
1876
+ },
1877
+ FormTabs: {
1878
+ container: 'flex items-end',
1879
+ container_sm: 'form-mb-gutter form-text-sm',
1880
+ container_md: 'form-mb-gutter-lg form-text',
1881
+ container_lg: 'form-mb-gutter-lg form-text-lg',
1882
+ $container: (classes, { Size }) => ([
1883
+ classes.container,
1884
+ classes[`container_${Size}`],
1885
+ ]),
1886
+ },
1887
+ Vueform: {
1888
+ form: '',
1889
+ },
1890
+
1891
+ // Slots
1892
+ CheckboxgroupCheckbox: {
1893
+ ...checkbox,
1894
+ container: 'flex cursor-pointer',
1895
+ wrapper: 'flex cursor-pointer form-view-default',
1896
+ text: '',
1897
+ input: checkbox.input + ' form-shadow-handles',
1898
+ input_sm: checkbox.input_sm + ' form-mt-checkbox-sm',
1899
+ input_md: checkbox.input_md + ' form-mt-checkbox',
1900
+ input_lg: checkbox.input_lg + ' form-mt-checkbox-lg',
1901
+ },
1902
+ CheckboxgroupCheckbox_tabs: {
1903
+ ...groupTabs,
1904
+ container: groupTabs.container + ' form-view-tabs',
1905
+ $wrapper: (classes, { index, items, el$, value, isDisabled, Size }) => ([
1906
+ classes.wrapper,
1907
+ classes[`wrapper_${Size}`],
1908
+ index < Object.keys(items).length - 1 ? classes.wrapper_not_last : null,
1909
+ index === 0 ? classes.wrapper_first : null,
1910
+ index === 0 ? classes[`wrapper_first_${Size}`] : null,
1911
+ index === Object.keys(items).length - 1 ? classes.wrapper_last : null,
1912
+ index === Object.keys(items).length - 1 ? classes[`wrapper_last_${Size}`] : null,
1913
+ el$.value && el$.value?.indexOf(value) !== -1 ? classes.wrapper_selected : classes.wrapper_unselected,
1914
+ isDisabled ? classes.wrapper_disabled : null,
1915
+ ])
1916
+ },
1917
+ CheckboxgroupCheckbox_blocks: {
1918
+ ...checkbox,
1919
+ ...groupBlocks,
1920
+ container: groupBlocks.container + ' form-view-blocks',
1921
+ $wrapper: (classes, { index, items, el$, value, isDisabled, Size }) => ([
1922
+ classes.wrapper,
1923
+ classes[`wrapper_${Size}`],
1924
+ index < Object.keys(items).length - 1 ? classes.wrapper_not_last : null,
1925
+ index === 0 ? classes.wrapper_first : null,
1926
+ index === 0 ? classes[`wrapper_first_${Size}`] : null,
1927
+ index === Object.keys(items).length - 1 ? classes.wrapper_last : null,
1928
+ index === Object.keys(items).length - 1 ? classes[`wrapper_last_${Size}`] : null,
1929
+ el$.value && el$.value?.indexOf(value) !== -1 ? classes.wrapper_selected : classes.wrapper_unselected,
1930
+ isDisabled ? classes.wrapper_disabled : null,
1931
+ ]),
1932
+ $description: (classes, { Size }) => ([
1933
+ classes.description,
1934
+ classes[`description_${Size}`],
1935
+ ]),
1936
+ },
1937
+ DragAndDrop: {
1938
+ container: 'form-shadow-input form-bg-input form-color-input form-border-width-input border-dashed w-full transition inline-flex flex-col items-center justify-center p-6 cursor-pointer text-center',
1939
+ container_sm: 'form-radius-large-sm',
1940
+ container_md: 'form-radius-large',
1941
+ container_lg: 'form-radius-large-lg',
1942
+ container_inactive: 'form-border-color-input',
1943
+ container_active: 'form-border-color-primary',
1944
+ container_enabled: '',
1945
+ container_disabled: 'opacity-50 cursor-not-allowed',
1946
+ icon: 'inline-block w-9 h-8 mask-bg mask-form-inbox-in form-bg-primary',
1947
+ title: 'font-semibold mt-3',
1948
+ description: '',
1949
+ $container: (classes, { dragging, disabled, Size }) => ([
1950
+ classes.container,
1951
+ classes[`container_${Size}`],
1952
+ dragging ? classes.container_active : classes.container_inactive,
1953
+ disabled ? classes.container_disabled : classes.container_enabled,
1954
+ ]),
1955
+ },
1956
+ FilePreview: {
1957
+ container: 'flex justify-center flex-col group relative',
1958
+ container_sm: 'form-h-input-min-height-sm',
1959
+ container_md: 'form-h-input-min-height',
1960
+ container_lg: 'form-h-input-min-height-lg',
1961
+ wrapper: 'flex justify-between items-center w-full',
1962
+ file: 'flex items-center',
1963
+ filenameLink: 'hover:underline',
1964
+ filenameStatic: '',
1965
+ actions: 'flex items-center',
1966
+ percent: 'flex justify-between items-center text-sm form-color-muted group-hover:form-hidden',
1967
+ upload: 'form-bg-primary form-color-on-primary form-radius-small text-xs py-0.5 px-1.5 ml-1.5 whitespace-nowrap transition-transform transform hover:scale-105 focus:form-ring',
1968
+ progressBar: 'form-bg-passive h-0.75 absolute bottom-0 w-full',
1969
+ progress: 'w-0 form-bg-primary transition-all ease-out duration-500 h-0.75',
1970
+ warning: 'flex w-4 h-4 items-center justify-center form-bg-danger rounded-full group-hover:form-hidden',
1971
+ warningIcon: 'mask-bg mask-form-exclamation-solid form-bg-danger-color mask-size-2.5 block w-full h-full',
1972
+ uploaded: 'flex w-4 h-4 items-center justify-center form-bg-success rounded-full group-hover:form-hidden',
1973
+ uploadedIcon: 'mask-bg mask-form-check-solid form-bg-success-color mask-size-2.5 block w-full h-full',
1974
+ remove: 'flex w-4 h-4 items-center justify-center form-bg-passive form-color-passive rounded-full transition filter hover:brightness-90 form-hidden group-hover:form-inline-block',
1975
+ removeIcon: 'mask-bg mask-form-remove-light form-bg-input-color mask-size-3 block w-full h-full',
1976
+ assistiveText: 'form-assistive-text',
1977
+ $container: (classes, { Size }) => ([
1978
+ classes.container,
1979
+ classes[`container_${Size}`],
1980
+ ])
1981
+ },
1982
+ FilePreview_image: {
1983
+ container: 'flex justify-start flex-col group relative',
1984
+ wrapper: 'flex justify-between items-center w-full',
1985
+ image: 'form-shadow-input flex items-center form-bg-passive flex-grow-0 flex-shrink-0',
1986
+ image_link: '',
1987
+ image_static: '',
1988
+ image_sm: 'form-radius-image-sm',
1989
+ image_md: 'form-radius-image',
1990
+ image_lg: 'form-radius-image-lg',
1991
+ img: 'form-w-input-height form-h-input-height form-hide-empty-img object-cover',
1992
+ img_sm: 'form-w-input-height-sm form-h-input-height-sm form-radius-image-sm',
1993
+ img_md: 'form-w-input-height form-h-input-height form-radius-image',
1994
+ img_lg: 'form-w-input-height-lg form-h-input-height-lg form-radius-image-lg',
1995
+ file: 'flex items-center flex-grow flex-shrink ml-2.5',
1996
+ filenameLink: 'hover:underline',
1997
+ filenameStatic: '',
1998
+ actions: 'flex items-center',
1999
+ percent: 'flex justify-between items-center text-sm form-color-muted group-hover:form-hidden',
2000
+ upload: 'form-bg-primary form-color-on-primary form-radius-small text-xs py-0.5 px-1.5 ml-1.5 whitespace-nowrap transition-transform transform hover:scale-105 focus:form-ring',
2001
+ progressBar: 'form-bg-passive h-0.75 ml-2.5 absolute bottom-0 right-0',
2002
+ progressBar_sm: 'form-left-input-height-sm',
2003
+ progressBar_md: 'form-left-input-height',
2004
+ progressBar_lg: 'form-left-input-height-lg',
2005
+ progress: 'w-0 form-bg-primary transition-all ease-out duration-500 h-0.75',
2006
+ warning: 'flex w-4 h-4 items-center justify-center form-bg-danger rounded-full group-hover:form-hidden',
2007
+ warningIcon: 'mask-bg mask-form-exclamation-solid form-bg-danger-color mask-size-2.5 block w-full h-full',
2008
+ uploaded: 'flex w-4 h-4 items-center justify-center form-bg-success rounded-full group-hover:form-hidden',
2009
+ uploadedIcon: 'mask-bg mask-form-check-solid form-bg-success-color mask-size-2.5 block w-full h-full',
2010
+ remove: 'flex w-4 h-4 items-center justify-center form-bg-passive form-color-passive rounded-full transition filter hover:brightness-90 form-hidden group-hover:form-inline-block',
2011
+ removeIcon: 'mask-bg mask-form-remove-light form-bg-input-color mask-size-3 block w-full h-full',
2012
+ assistiveText: 'form-assistive-text',
2013
+ $image: (classes, { hasLink, Size }) => ([
2014
+ classes.image,
2015
+ classes[`image_${Size}`],
2016
+ hasLink ? classes.image_link : classes.image_static
2017
+ ]),
2018
+ $img: (classes, { Size }) => ([
2019
+ classes.img,
2020
+ classes[`img_${Size}`],
2021
+ ]),
2022
+ $progressBar: (classes, { Size }) => ([
2023
+ classes.progressBar,
2024
+ classes[`progressBar_${Size}`],
2025
+ ])
2026
+ },
2027
+ FilePreview_gallery: {
2028
+ container: 'flex justify-start flex-col transition duration-500 relative group',
2029
+ container_sm: 'form-w-gallery-sm form-h-gallery-sm',
2030
+ container_md: 'form-w-gallery form-h-gallery',
2031
+ container_lg: 'form-w-gallery-lg form-h-gallery-lg',
2032
+ image: 'form-shadow-input w-full h-full form-bg-passive',
2033
+ image_sm: 'form-radius-gallery-sm',
2034
+ image_md: 'form-radius-gallery',
2035
+ image_lg: 'form-radius-gallery-lg',
2036
+ image_link: '',
2037
+ image_static: '',
2038
+ img: 'w-full h-full object-cover form-hide-empty-img',
2039
+ img_sm: 'form-radius-gallery-sm',
2040
+ img_md: 'form-radius-gallery',
2041
+ img_lg: 'form-radius-gallery-lg',
2042
+ overlay: 'absolute inset-0 bg-white bg-opacity-50 transition duration-300 opacity-0 invisible flex items-center justify-center p-3 form-radius-input group-hover:form-visible group-hover:opacity-100',
2043
+ overlay_sm: 'form-radius-gallery-sm',
2044
+ overlay_md: 'form-radius-gallery',
2045
+ overlay_lg: 'form-radius-gallery-lg',
2046
+ upload: 'relative z-1 form-bg-primary form-color-on-primary form-radius-small text-xs py-0.5 px-1.5 whitespace-nowrap transition-transform transform hover:scale-105 focus:form-ring',
2047
+ progressBar: 'bg-white absolute left-1 right-1 bottom-1 h-0.75 z-1',
2048
+ progress: 'w-0 form-bg-primary transition-all ease-out duration-500 h-0.75',
2049
+ warning: 'absolute right-0.5 bottom-0.5 mr-px mb-px flex w-4 h-4 items-center justify-center form-bg-danger rounded-full',
2050
+ warningIcon: 'mask-bg mask-form-exclamation-solid form-bg-danger-color mask-size-2.5 block w-full h-full',
2051
+ uploaded: 'absolute right-0.5 bottom-0.5 mr-px mb-px flex w-4 h-4 items-center justify-center form-bg-success rounded-full',
2052
+ uploadedIcon: 'mask-bg mask-form-check-solid form-bg-success-color mask-size-2.5 block w-full h-full',
2053
+ remove: 'flex w-4 h-4 items-center justify-center form-bg-passive form-color-passive absolute top-0.5 right-0.5 mt-px mr-px form-hidden rounded-full transition filter hover:brightness-90 group-hover:form-inline-block ',
2054
+ removeIcon: 'mask-bg mask-form-remove-light form-bg-input-color mask-size-3 block w-full h-full',
2055
+ assistiveText: 'form-assistive-text',
2056
+ $container: (classes, { Size }) => ([
2057
+ classes.container,
2058
+ classes[`container_${Size}`],
2059
+ ]),
2060
+ $image: (classes, { Size }) => ([
2061
+ classes.image,
2062
+ classes[`image_${Size}`],
2063
+ ]),
2064
+ $img: (classes, { Size }) => ([
2065
+ classes.img,
2066
+ classes[`img_${Size}`],
2067
+ ]),
2068
+ $overlay: (classes, { Size }) => ([
2069
+ classes.overlay,
2070
+ classes[`overlay_${Size}`],
2071
+ ]),
2072
+ },
2073
+ RadiogroupRadio: {
2074
+ ...radio,
2075
+ container: 'flex cursor-pointer form-view-default',
2076
+ text: '',
2077
+ input: radio.input + ' form-shadow-handles',
2078
+ input_sm: radio.input_sm + ' form-mt-checkbox-sm',
2079
+ input_md: radio.input_md + ' form-mt-checkbox',
2080
+ input_lg: radio.input_lg + ' form-mt-checkbox-lg',
2081
+ },
2082
+ RadiogroupRadio_tabs: {
2083
+ ...groupTabs,
2084
+ container: groupTabs.container + ' form-view-tabs',
2085
+ $wrapper: (classes, { index, items, el$, value, isDisabled, Size }) => ([
2086
+ classes.wrapper,
2087
+ classes[`wrapper_${Size}`],
2088
+ index < Object.keys(items).length - 1 ? classes.wrapper_not_last : null,
2089
+ index === 0 ? classes.wrapper_first : null,
2090
+ index === 0 ? classes[`wrapper_first_${Size}`] : null,
2091
+ index === Object.keys(items).length - 1 ? classes.wrapper_last : null,
2092
+ index === Object.keys(items).length - 1 ? classes[`wrapper_last_${Size}`] : null,
2093
+ el$.value == value ? classes.wrapper_selected : classes.wrapper_unselected,
2094
+ isDisabled ? classes.wrapper_disabled : null,
2095
+ ]),
2096
+ },
2097
+ RadiogroupRadio_blocks: {
2098
+ ...radio,
2099
+ ...groupBlocks,
2100
+ container: groupBlocks.container + ' form-view-blocks',
2101
+ $wrapper: (classes, { index, items, el$, value, isDisabled, Size }) => ([
2102
+ classes.wrapper,
2103
+ classes[`wrapper_${Size}`],
2104
+ index < Object.keys(items).length - 1 ? classes.wrapper_not_last : null,
2105
+ index === 0 ? classes.wrapper_first : null,
2106
+ index === 0 ? classes[`wrapper_first_${Size}`] : null,
2107
+ index === Object.keys(items).length - 1 ? classes.wrapper_last : null,
2108
+ index === Object.keys(items).length - 1 ? classes[`wrapper_last_${Size}`] : null,
2109
+ el$.value == value ? classes.wrapper_selected : classes.wrapper_unselected,
2110
+ isDisabled ? classes.wrapper_disabled : null,
2111
+ ]),
2112
+ $description: (classes, { Size }) => ([
2113
+ classes.description,
2114
+ classes[`description_${Size}`],
2115
+ ]),
2116
+ },
2117
+ }