@caipira/tamandua 0.0.2 → 0.0.3

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 (523) hide show
  1. package/dist/account-BJGxzbeL.js +5 -0
  2. package/dist/alert-octagon-D8wznooU.js +4 -0
  3. package/dist/alert-octagon-outline-fM2QVbyq.js +5 -0
  4. package/dist/archive-DDuuzVUo.js +5 -0
  5. package/dist/archive-outline-BT6uCRX5.js +5 -0
  6. package/dist/arrow-left-CVipcGWo.js +5 -0
  7. package/dist/arrow-right-DHFo5L72.js +5 -0
  8. package/dist/bank-lwoR1P6d.js +5 -0
  9. package/dist/bank-outline-wy0O9ni0.js +5 -0
  10. package/dist/camera-BXoPauop.js +5 -0
  11. package/dist/cards-outline-B0no8Z63.js +5 -0
  12. package/dist/cards-variant-CU6V8mdM.js +5 -0
  13. package/dist/cart-outline-C99s8OpS.js +4 -0
  14. package/dist/chart-box-outline-C9ymwfIH.js +5 -0
  15. package/dist/chart-box-tyepg_QH.js +5 -0
  16. package/dist/check-circle-C3Kf7DnE.js +5 -0
  17. package/dist/check-circle-outline-B4zmPfuc.js +5 -0
  18. package/dist/check-iUT-FuWa.js +5 -0
  19. package/dist/checkbox-TojXdFTq.js +5 -0
  20. package/dist/checkbox-dark-D_btgwCX.js +5 -0
  21. package/dist/checkbox-indeterminate-CtbmyFkw.js +5 -0
  22. package/dist/checkbox-indeterminate-dark-CSrkJBRG.js +5 -0
  23. package/dist/chevron-down-CJLshITY.js +5 -0
  24. package/dist/chevron-left-n_sGCmlG.js +5 -0
  25. package/dist/chevron-right-C8uLqjmq.js +5 -0
  26. package/dist/chevron-up-b6VdQM8S.js +5 -0
  27. package/dist/circle-DhoEDuC5.js +5 -0
  28. package/dist/clock-BqMI2OIG.js +5 -0
  29. package/dist/close-DemH4JAO.js +5 -0
  30. package/dist/close-circle-Bsf9_pUR.js +4 -0
  31. package/dist/close-circle-outline-CUXfYV4M.js +5 -0
  32. package/dist/cog-Dd9I6z5D.js +5 -0
  33. package/dist/color-fill-DWx77G0p.js +5 -0
  34. package/dist/components/Avatar/Avatar.story.d.ts +9 -0
  35. package/dist/components/Avatar/Avatar.vue.d.ts +58 -0
  36. package/dist/components/Avatar/index.d.ts +6 -0
  37. package/dist/components/Backdrop/Backdrop.vue.d.ts +33 -0
  38. package/dist/components/Backdrop/index.d.ts +6 -0
  39. package/dist/components/Button/Button.story.d.ts +70 -0
  40. package/dist/components/Button/Button.vue.d.ts +153 -0
  41. package/dist/components/Button/index.d.ts +6 -0
  42. package/dist/components/ButtonCopy/ButtonCopy.vue.d.ts +32 -0
  43. package/dist/components/ButtonCopy/index.d.ts +6 -0
  44. package/dist/components/Drawer/Drawer.vue.d.ts +67 -0
  45. package/dist/components/Drawer/index.d.ts +6 -0
  46. package/dist/components/Dropdown/Dropdown.vue.d.ts +117 -0
  47. package/dist/components/Dropdown/index.d.ts +6 -0
  48. package/dist/components/EventListener/EventListener.vue.d.ts +6 -0
  49. package/dist/components/FileDrop/FileDrop.vue.d.ts +40 -0
  50. package/dist/components/FileDrop/index.d.ts +6 -0
  51. package/dist/components/Form/Form.spec.d.ts +1 -0
  52. package/dist/components/Form/Form.vue.d.ts +111 -0
  53. package/dist/components/Form/index.d.ts +6 -0
  54. package/dist/components/FormItem/FormItem.vue.d.ts +41 -0
  55. package/dist/components/FormItem/index.d.ts +6 -0
  56. package/dist/components/GraphyEmpty/GraphyEmpty.vue.d.ts +23 -0
  57. package/dist/components/GraphyEmpty/index.d.ts +6 -0
  58. package/dist/components/GraphyLabel/GraphyLabel.vue.d.ts +43 -0
  59. package/dist/components/GraphyLabel/index.d.ts +6 -0
  60. package/dist/components/GraphyPrice/GraphyPrice.story.d.ts +6 -0
  61. package/dist/components/GraphyPrice/GraphyPrice.vue.d.ts +45 -0
  62. package/dist/components/GraphyPrice/index.d.ts +6 -0
  63. package/dist/components/GraphySubtitle/GraphySubtitle.vue.d.ts +31 -0
  64. package/dist/components/GraphySubtitle/index.d.ts +6 -0
  65. package/dist/components/GraphyTitle/GraphyTitle.vue.d.ts +15 -0
  66. package/dist/components/GraphyTitle/index.d.ts +6 -0
  67. package/dist/components/Icon/Icon.vue.d.ts +40 -0
  68. package/dist/components/Icon/index.d.ts +6 -0
  69. package/dist/components/IconButton/IconButton.vue.d.ts +153 -0
  70. package/dist/components/IconButton/index.d.ts +6 -0
  71. package/dist/components/InputAvatar/InputAvatar.vue.d.ts +19 -0
  72. package/dist/components/InputAvatar/index.d.ts +6 -0
  73. package/dist/components/InputCheckbox/InputCheckbox.vue.d.ts +52 -0
  74. package/dist/components/InputCheckbox/index.d.ts +6 -0
  75. package/dist/components/InputColor/InputColor.vue.d.ts +40 -0
  76. package/dist/components/InputColor/index.d.ts +6 -0
  77. package/dist/components/InputDate/InputDate.story.d.ts +6 -0
  78. package/dist/components/InputDate/InputDate.vue.d.ts +23 -0
  79. package/dist/components/InputDate/index.d.ts +6 -0
  80. package/dist/components/InputMultiplier/InputMultiplier.vue.d.ts +41 -0
  81. package/dist/components/InputMultiplier/index.d.ts +6 -0
  82. package/dist/components/InputMultiplier/input-multiplier.story.d.ts +19 -0
  83. package/{components/InputMultiplier/types.ts → dist/components/InputMultiplier/types.d.ts} +1 -2
  84. package/dist/components/InputPassword/InputPassword.vue.d.ts +68 -0
  85. package/dist/components/InputPassword/index.d.ts +6 -0
  86. package/dist/components/InputPhone/InputPhone.vue.d.ts +40 -0
  87. package/dist/components/InputPhone/index.d.ts +6 -0
  88. package/dist/components/InputPrice/InputPrice.vue.d.ts +39 -0
  89. package/dist/components/InputPrice/index.d.ts +6 -0
  90. package/dist/components/InputRadio/InputRadio.vue.d.ts +17 -0
  91. package/dist/components/InputRadio/InputRadioGroup.story.d.ts +7 -0
  92. package/dist/components/InputRadio/InputRadioGroup.vue.d.ts +44 -0
  93. package/dist/components/InputRadio/index.d.ts +7 -0
  94. package/dist/components/InputSelect/InputSelect.story.d.ts +6 -0
  95. package/dist/components/InputSelect/InputSelect.vue.d.ts +116 -0
  96. package/dist/components/InputSelect/index.d.ts +6 -0
  97. package/dist/components/InputSwitch/InputSwitch.story.d.ts +29 -0
  98. package/dist/components/InputSwitch/InputSwitch.vue.d.ts +40 -0
  99. package/dist/components/InputSwitch/index.d.ts +6 -0
  100. package/dist/components/InputText/InputText.vue.d.ts +60 -0
  101. package/dist/components/InputText/index.d.ts +6 -0
  102. package/dist/components/InputTextarea/InputTextarea.vue.d.ts +50 -0
  103. package/dist/components/InputTextarea/index.d.ts +6 -0
  104. package/dist/components/LineChart/LineChart.vue.d.ts +17 -0
  105. package/dist/components/LineChart/index.d.ts +6 -0
  106. package/dist/components/Modal/Modal.vue.d.ts +70 -0
  107. package/dist/components/Modal/index.d.ts +6 -0
  108. package/dist/components/ModalForm/ModalForm.vue.d.ts +53 -0
  109. package/dist/components/ModalForm/index.d.ts +6 -0
  110. package/dist/components/Pagination/Pagination.story.d.ts +5 -0
  111. package/dist/components/Pagination/Pagination.vue.d.ts +50 -0
  112. package/dist/components/Pagination/index.d.ts +6 -0
  113. package/dist/components/PieChart/PieChart.vue.d.ts +17 -0
  114. package/dist/components/PieChart/index.d.ts +6 -0
  115. package/dist/components/Popconfirm/Popconfirm.vue.d.ts +49 -0
  116. package/dist/components/Popconfirm/index.d.ts +6 -0
  117. package/dist/components/Popover/Popover.vue.d.ts +68 -0
  118. package/dist/components/Popover/index.d.ts +6 -0
  119. package/dist/components/ProgressCircle/ProgressCircle.story.d.ts +5 -0
  120. package/dist/components/ProgressCircle/ProgressCircle.vue.d.ts +56 -0
  121. package/dist/components/ProgressCircle/index.d.ts +6 -0
  122. package/dist/components/ProgressLine/ProgressLine.story.d.ts +5 -0
  123. package/dist/components/ProgressLine/ProgressLine.vue.d.ts +75 -0
  124. package/dist/components/ProgressLine/index.d.ts +6 -0
  125. package/dist/components/SensitiveInfo/SensitiveInfo.vue.d.ts +22 -0
  126. package/dist/components/SensitiveInfo/index.d.ts +6 -0
  127. package/dist/components/Tab/Tab.vue.d.ts +36 -0
  128. package/dist/components/Tab/index.d.ts +6 -0
  129. package/dist/components/Table/Table.story.d.ts +5 -0
  130. package/dist/components/Table/Table.vue.d.ts +97 -0
  131. package/dist/components/Table/index.d.ts +6 -0
  132. package/{components/Table/types.ts → dist/components/Table/types.d.ts} +1 -2
  133. package/dist/components/Tag/Tag.vue.d.ts +54 -0
  134. package/dist/components/Tag/index.d.ts +6 -0
  135. package/{components/Tag/types.ts → dist/components/Tag/types.d.ts} +1 -2
  136. package/dist/components/Toast/Toast.vue.d.ts +21 -0
  137. package/dist/components/Toast/index.d.ts +6 -0
  138. package/dist/components/index.d.ts +43 -0
  139. package/dist/components/plugins.d.ts +45 -0
  140. package/dist/composables/index.d.ts +2 -0
  141. package/dist/composables/useBreakpoints.d.ts +5 -0
  142. package/dist/composables/useRender.d.ts +3 -0
  143. package/dist/copy-D-Dqxp8h.js +5 -0
  144. package/dist/credit-card-B3VjoUad.js +5 -0
  145. package/dist/credit-card-plus-TUZq5Zi0.js +4 -0
  146. package/dist/currency-BuSji4qA.js +5 -0
  147. package/dist/database-CNG_l2Or.js +5 -0
  148. package/dist/dots-grid-BhRGZg1t.js +5 -0
  149. package/dist/dots-vertical-nYIDxlT1.js +5 -0
  150. package/dist/email-open-outline-NlRAK8vu.js +5 -0
  151. package/dist/email-outline-v-beMKo_.js +5 -0
  152. package/dist/enums/app.d.ts +5 -0
  153. package/dist/enums/form.d.ts +23 -0
  154. package/dist/enums/index.d.ts +3 -0
  155. package/{enums/ui.ts → dist/enums/ui.d.ts} +16 -30
  156. package/dist/eye-C7_UM0rn.js +5 -0
  157. package/dist/eye-off-Dq2WOPSG.js +5 -0
  158. package/dist/file-document-plus-outline-C_GeG8ak.js +5 -0
  159. package/dist/filmstrip-Dg66xHap.js +4 -0
  160. package/dist/filter-07gM0IrM.js +5 -0
  161. package/dist/form/convertors.d.ts +3 -0
  162. package/dist/form/crud.d.ts +27 -0
  163. package/dist/form/form-data-transformers.d.ts +4 -0
  164. package/dist/form/form-transformer.d.ts +7 -0
  165. package/dist/form/form-value-transformers.d.ts +8 -0
  166. package/dist/form/form.test.d.ts +1 -0
  167. package/dist/form/json-transformers.d.ts +4 -0
  168. package/dist/fullscreen-daZRwm-1.js +5 -0
  169. package/dist/fullscreen-exit-DvHy2f8E.js +5 -0
  170. package/dist/group-B1HQcmCl.js +5 -0
  171. package/dist/i18n.d.ts +15 -0
  172. package/dist/image-C-DY_SfK.js +5 -0
  173. package/dist/image-album-DVl72ioK.js +5 -0
  174. package/dist/image-album-outline-oiPipPnp.js +5 -0
  175. package/dist/image-outline-CLpFyr7w.js +5 -0
  176. package/dist/index.d.ts +5 -0
  177. package/dist/info-outline-Mn6Hjz_K.js +5 -0
  178. package/dist/key-B8iEXxGx.js +5 -0
  179. package/dist/key-chain-D-8-GrU2.js +5 -0
  180. package/dist/key-variant-DViBRFAJ.js +5 -0
  181. package/dist/listbox-outline-BBriTS-r.js +5 -0
  182. package/dist/loading-E4eFmVsP.js +5 -0
  183. package/dist/lock-Nv-e-b24.js +5 -0
  184. package/dist/lock-outline-K2LxC2b6.js +5 -0
  185. package/dist/logout-BHwFpuou.js +5 -0
  186. package/dist/menu-down-B4Fy5IG1.js +4 -0
  187. package/dist/menu-left-D8G3frKt.js +4 -0
  188. package/dist/menu-pq7WWaJu.js +5 -0
  189. package/dist/menu-right-CMt4thJ2.js +4 -0
  190. package/dist/minus-CSCkQnOm.js +5 -0
  191. package/dist/minus-circle-D_N5NZW-.js +5 -0
  192. package/dist/minus-circle-outline-B-x6EXPD.js +5 -0
  193. package/dist/moon-Bhm_ZTV6.js +5 -0
  194. package/dist/open-in-new-C2Btl_1k.js +5 -0
  195. package/dist/pencil-BETebgXX.js +5 -0
  196. package/dist/people-BUW1DRzH.js +5 -0
  197. package/dist/piggy-bank-outline-5cDQNrSU.js +5 -0
  198. package/dist/plugins/register-component.d.ts +4 -0
  199. package/dist/plus-circle-Cl0YprEp.js +5 -0
  200. package/dist/plus-circle-outline-C-kkX0ke.js +5 -0
  201. package/dist/plus-sbcOm60H.js +5 -0
  202. package/dist/qrcode-scan-CpLrVFw_.js +5 -0
  203. package/dist/radio-DkjVAhsO.js +5 -0
  204. package/dist/radio-dark-Cr5v17AF.js +5 -0
  205. package/dist/refresh-DPlMWd1M.js +5 -0
  206. package/dist/save-BmMH4S8b.js +4 -0
  207. package/dist/search-Co2MwWOK.js +5 -0
  208. package/dist/services/clipboard.d.ts +2 -0
  209. package/dist/services/date.d.ts +16 -0
  210. package/dist/services/password.d.ts +7 -0
  211. package/dist/services/ui.d.ts +9 -0
  212. package/dist/spotlight-TNyCQzOY.js +4 -0
  213. package/dist/store-outline-B-fuVZzv.js +5 -0
  214. package/dist/style.css +1 -0
  215. package/dist/sun-BWKjCEHH.js +5 -0
  216. package/dist/swap-CNbqKTl0.js +5 -0
  217. package/dist/swap-horizontal-DociZUG2.js +5 -0
  218. package/dist/swap-left-Bd2DOgf3.js +5 -0
  219. package/dist/swap-right-D0VYxBDb.js +5 -0
  220. package/dist/system-theme-Cez6mSv_.js +5 -0
  221. package/dist/tag-outline-Ce_qOxif.js +5 -0
  222. package/dist/tamandua.js +15370 -0
  223. package/dist/trash-can-CKPtMqSf.js +5 -0
  224. package/dist/trash-can-outline-DjtqZHOC.js +5 -0
  225. package/{types/address.ts → dist/types/address.d.ts} +0 -5
  226. package/{types/api.ts → dist/types/api.d.ts} +0 -4
  227. package/{types/common.ts → dist/types/common.d.ts} +0 -1
  228. package/{types/form.ts → dist/types/form.d.ts} +32 -62
  229. package/dist/types/index.d.ts +5 -0
  230. package/{types/ui.ts → dist/types/ui.d.ts} +11 -16
  231. package/{types/website.ts → dist/types/website.d.ts} +0 -1
  232. package/dist/upload-CKfrBexU.js +5 -0
  233. package/dist/user-circle-D102n1FB.js +5 -0
  234. package/dist/vite.config.d.mts +2 -0
  235. package/dist/vitest.setup.d.ts +1 -0
  236. package/dist/zip-box-C10560VY.js +5 -0
  237. package/package.json +16 -5
  238. package/.editorconfig +0 -12
  239. package/.prettierrc +0 -5
  240. package/.storybook/main.ts +0 -22
  241. package/.storybook/preview-body.html +0 -3
  242. package/.storybook/preview.ts +0 -24
  243. package/App.vue +0 -1
  244. package/Dockerfile +0 -21
  245. package/assets/icons/account.svg +0 -1
  246. package/assets/icons/alert-octagon-outline.svg +0 -1
  247. package/assets/icons/alert-octagon.svg +0 -1
  248. package/assets/icons/archive-outline.svg +0 -1
  249. package/assets/icons/archive.svg +0 -1
  250. package/assets/icons/arrow-left.svg +0 -1
  251. package/assets/icons/arrow-right.svg +0 -1
  252. package/assets/icons/bank-outline.svg +0 -1
  253. package/assets/icons/bank.svg +0 -1
  254. package/assets/icons/camera.svg +0 -1
  255. package/assets/icons/cards-outline.svg +0 -1
  256. package/assets/icons/cards-variant.svg +0 -1
  257. package/assets/icons/cart-outline.svg +0 -1
  258. package/assets/icons/chart-box-outline.svg +0 -1
  259. package/assets/icons/chart-box.svg +0 -1
  260. package/assets/icons/check-circle-outline.svg +0 -1
  261. package/assets/icons/check-circle.svg +0 -1
  262. package/assets/icons/check.svg +0 -1
  263. package/assets/icons/checkbox-dark.svg +0 -1
  264. package/assets/icons/checkbox-indeterminate-dark.svg +0 -1
  265. package/assets/icons/checkbox-indeterminate.svg +0 -1
  266. package/assets/icons/checkbox.svg +0 -1
  267. package/assets/icons/chevron-down.svg +0 -1
  268. package/assets/icons/chevron-left.svg +0 -1
  269. package/assets/icons/chevron-right.svg +0 -1
  270. package/assets/icons/chevron-up.svg +0 -1
  271. package/assets/icons/circle.svg +0 -1
  272. package/assets/icons/clock.svg +0 -1
  273. package/assets/icons/close-circle-outline.svg +0 -1
  274. package/assets/icons/close-circle.svg +0 -1
  275. package/assets/icons/close.svg +0 -1
  276. package/assets/icons/cog.svg +0 -1
  277. package/assets/icons/color-fill.svg +0 -1
  278. package/assets/icons/copy.svg +0 -1
  279. package/assets/icons/credit-card-plus.svg +0 -1
  280. package/assets/icons/credit-card.svg +0 -1
  281. package/assets/icons/currency.svg +0 -1
  282. package/assets/icons/database.svg +0 -1
  283. package/assets/icons/dots-grid.svg +0 -1
  284. package/assets/icons/dots-vertical.svg +0 -1
  285. package/assets/icons/email-open-outline.svg +0 -1
  286. package/assets/icons/email-outline.svg +0 -1
  287. package/assets/icons/eye-off.svg +0 -1
  288. package/assets/icons/eye.svg +0 -1
  289. package/assets/icons/file-document-plus-outline.svg +0 -1
  290. package/assets/icons/filmstrip.svg +0 -1
  291. package/assets/icons/filter.svg +0 -1
  292. package/assets/icons/fullscreen-exit.svg +0 -1
  293. package/assets/icons/fullscreen.svg +0 -1
  294. package/assets/icons/group.svg +0 -1
  295. package/assets/icons/image-album-outline.svg +0 -1
  296. package/assets/icons/image-album.svg +0 -1
  297. package/assets/icons/image-outline.svg +0 -1
  298. package/assets/icons/image.svg +0 -1
  299. package/assets/icons/info-outline.svg +0 -1
  300. package/assets/icons/key-chain.svg +0 -1
  301. package/assets/icons/key-variant.svg +0 -1
  302. package/assets/icons/key.svg +0 -1
  303. package/assets/icons/listbox-outline.svg +0 -1
  304. package/assets/icons/loading.svg +0 -1
  305. package/assets/icons/lock-outline.svg +0 -1
  306. package/assets/icons/lock.svg +0 -1
  307. package/assets/icons/logout.svg +0 -1
  308. package/assets/icons/menu-down.svg +0 -1
  309. package/assets/icons/menu-left.svg +0 -1
  310. package/assets/icons/menu-right.svg +0 -1
  311. package/assets/icons/menu.svg +0 -1
  312. package/assets/icons/minus-circle-outline.svg +0 -1
  313. package/assets/icons/minus-circle.svg +0 -1
  314. package/assets/icons/minus.svg +0 -1
  315. package/assets/icons/moon.svg +0 -1
  316. package/assets/icons/open-in-new.svg +0 -1
  317. package/assets/icons/pencil.svg +0 -1
  318. package/assets/icons/people.svg +0 -1
  319. package/assets/icons/piggy-bank-outline.svg +0 -1
  320. package/assets/icons/plus-circle-outline.svg +0 -1
  321. package/assets/icons/plus-circle.svg +0 -1
  322. package/assets/icons/plus.svg +0 -1
  323. package/assets/icons/qrcode-scan.svg +0 -1
  324. package/assets/icons/radio-dark.svg +0 -1
  325. package/assets/icons/radio.svg +0 -1
  326. package/assets/icons/refresh.svg +0 -1
  327. package/assets/icons/save.svg +0 -1
  328. package/assets/icons/search.svg +0 -1
  329. package/assets/icons/spotlight.svg +0 -1
  330. package/assets/icons/store-outline.svg +0 -1
  331. package/assets/icons/sun.svg +0 -1
  332. package/assets/icons/swap-horizontal.svg +0 -1
  333. package/assets/icons/swap-left.svg +0 -1
  334. package/assets/icons/swap-right.svg +0 -1
  335. package/assets/icons/swap.svg +0 -1
  336. package/assets/icons/system-theme.svg +0 -1
  337. package/assets/icons/tag-outline.svg +0 -1
  338. package/assets/icons/trash-can-outline.svg +0 -1
  339. package/assets/icons/trash-can.svg +0 -1
  340. package/assets/icons/upload.svg +0 -1
  341. package/assets/icons/user-circle.svg +0 -1
  342. package/assets/icons/zip-box.svg +0 -1
  343. package/assets/images/fs/apk.svg +0 -11
  344. package/assets/images/fs/bmp.svg +0 -7
  345. package/assets/images/fs/css.svg +0 -8
  346. package/assets/images/fs/doc.svg +0 -9
  347. package/assets/images/fs/docx.svg +0 -9
  348. package/assets/images/fs/folder-adwaita.svg +0 -8
  349. package/assets/images/fs/folder-black.svg +0 -8
  350. package/assets/images/fs/folder-brown.svg +0 -8
  351. package/assets/images/fs/folder-grey.svg +0 -8
  352. package/assets/images/fs/folder-nordic.svg +0 -8
  353. package/assets/images/fs/folder-orange.svg +0 -8
  354. package/assets/images/fs/folder-palebrown.svg +0 -8
  355. package/assets/images/fs/folder-paleorange.svg +0 -8
  356. package/assets/images/fs/folder-teal.svg +0 -8
  357. package/assets/images/fs/folder-white.svg +0 -8
  358. package/assets/images/fs/folder-yellow.svg +0 -8
  359. package/assets/images/fs/gif.svg +0 -7
  360. package/assets/images/fs/go.svg +0 -9
  361. package/assets/images/fs/ics.svg +0 -24
  362. package/assets/images/fs/iso.svg +0 -10
  363. package/assets/images/fs/jpeg.svg +0 -7
  364. package/assets/images/fs/jpg.svg +0 -7
  365. package/assets/images/fs/js.svg +0 -9
  366. package/assets/images/fs/json.svg +0 -9
  367. package/assets/images/fs/lua.svg +0 -9
  368. package/assets/images/fs/m4v.svg +0 -7
  369. package/assets/images/fs/md.svg +0 -10
  370. package/assets/images/fs/mov.svg +0 -7
  371. package/assets/images/fs/mp3.svg +0 -9
  372. package/assets/images/fs/mp4.svg +0 -7
  373. package/assets/images/fs/pdf.svg +0 -9
  374. package/assets/images/fs/pgp.svg +0 -8
  375. package/assets/images/fs/php.svg +0 -9
  376. package/assets/images/fs/png.svg +0 -7
  377. package/assets/images/fs/ppt.svg +0 -9
  378. package/assets/images/fs/py.svg +0 -9
  379. package/assets/images/fs/rar.svg +0 -20
  380. package/assets/images/fs/rpm.svg +0 -7
  381. package/assets/images/fs/rs.svg +0 -9
  382. package/assets/images/fs/sh.svg +0 -9
  383. package/assets/images/fs/tar.svg +0 -20
  384. package/assets/images/fs/txt.svg +0 -8
  385. package/assets/images/fs/unknown.svg +0 -8
  386. package/assets/images/fs/xls.svg +0 -9
  387. package/assets/images/fs/xlsx.svg +0 -9
  388. package/assets/images/fs/xml.svg +0 -8
  389. package/assets/images/fs/yaml.svg +0 -9
  390. package/assets/images/fs/zip.svg +0 -20
  391. package/components/Avatar/Avatar.story.ts +0 -55
  392. package/components/Avatar/Avatar.vue +0 -82
  393. package/components/Avatar/index.ts +0 -12
  394. package/components/Backdrop/Backdrop.vue +0 -27
  395. package/components/Backdrop/index.ts +0 -12
  396. package/components/Button/Button.story.ts +0 -74
  397. package/components/Button/Button.vue +0 -230
  398. package/components/Button/index.ts +0 -12
  399. package/components/ButtonCopy/ButtonCopy.vue +0 -61
  400. package/components/ButtonCopy/index.ts +0 -12
  401. package/components/Drawer/Drawer.vue +0 -102
  402. package/components/Drawer/index.ts +0 -12
  403. package/components/Dropdown/Dropdown.vue +0 -258
  404. package/components/Dropdown/index.ts +0 -12
  405. package/components/EventListener/EventListener.vue +0 -12
  406. package/components/FileDrop/FileDrop.vue +0 -116
  407. package/components/FileDrop/index.ts +0 -12
  408. package/components/Form/Form.spec.ts +0 -72
  409. package/components/Form/Form.vue +0 -134
  410. package/components/Form/index.ts +0 -12
  411. package/components/FormItem/FormItem.vue +0 -85
  412. package/components/FormItem/index.ts +0 -12
  413. package/components/GraphyEmpty/GraphyEmpty.vue +0 -16
  414. package/components/GraphyEmpty/index.ts +0 -12
  415. package/components/GraphyLabel/GraphyLabel.vue +0 -34
  416. package/components/GraphyLabel/index.ts +0 -12
  417. package/components/GraphyPrice/GraphyPrice.story.ts +0 -37
  418. package/components/GraphyPrice/GraphyPrice.vue +0 -65
  419. package/components/GraphyPrice/index.ts +0 -12
  420. package/components/GraphySubtitle/GraphySubtitle.vue +0 -22
  421. package/components/GraphySubtitle/index.ts +0 -12
  422. package/components/GraphyTitle/GraphyTitle.vue +0 -13
  423. package/components/GraphyTitle/index.ts +0 -12
  424. package/components/Icon/Icon.vue +0 -84
  425. package/components/Icon/index.ts +0 -12
  426. package/components/IconButton/IconButton.vue +0 -168
  427. package/components/IconButton/index.ts +0 -12
  428. package/components/InputAvatar/InputAvatar.vue +0 -63
  429. package/components/InputAvatar/index.ts +0 -12
  430. package/components/InputCheckbox/InputCheckbox.vue +0 -77
  431. package/components/InputCheckbox/index.ts +0 -12
  432. package/components/InputColor/InputColor.vue +0 -54
  433. package/components/InputColor/index.ts +0 -12
  434. package/components/InputDate/InputDate.story.ts +0 -15
  435. package/components/InputDate/InputDate.vue +0 -368
  436. package/components/InputDate/index.ts +0 -12
  437. package/components/InputMultiplier/InputMultiplier.vue +0 -119
  438. package/components/InputMultiplier/index.ts +0 -12
  439. package/components/InputMultiplier/input-multiplier.story.ts +0 -30
  440. package/components/InputPassword/InputPassword.vue +0 -170
  441. package/components/InputPassword/index.ts +0 -12
  442. package/components/InputPhone/InputPhone.vue +0 -125
  443. package/components/InputPhone/index.ts +0 -12
  444. package/components/InputPrice/InputPrice.vue +0 -96
  445. package/components/InputPrice/index.ts +0 -12
  446. package/components/InputRadio/InputRadio.vue +0 -41
  447. package/components/InputRadio/InputRadioGroup.story.ts +0 -24
  448. package/components/InputRadio/InputRadioGroup.vue +0 -48
  449. package/components/InputRadio/index.ts +0 -14
  450. package/components/InputSelect/InputSelect.story.ts +0 -87
  451. package/components/InputSelect/InputSelect.vue +0 -507
  452. package/components/InputSelect/index.ts +0 -12
  453. package/components/InputSwitch/InputSwitch.story.ts +0 -34
  454. package/components/InputSwitch/InputSwitch.vue +0 -82
  455. package/components/InputSwitch/index.ts +0 -12
  456. package/components/InputText/InputText.vue +0 -62
  457. package/components/InputText/index.ts +0 -12
  458. package/components/InputTextarea/InputTextarea.vue +0 -64
  459. package/components/InputTextarea/index.ts +0 -12
  460. package/components/LineChart/LineChart.vue +0 -14
  461. package/components/LineChart/index.ts +0 -12
  462. package/components/Modal/Modal.vue +0 -106
  463. package/components/Modal/index.ts +0 -12
  464. package/components/ModalForm/ModalForm.vue +0 -141
  465. package/components/ModalForm/index.ts +0 -12
  466. package/components/Pagination/Pagination.story.ts +0 -15
  467. package/components/Pagination/Pagination.vue +0 -138
  468. package/components/Pagination/index.ts +0 -12
  469. package/components/PieChart/PieChart.vue +0 -14
  470. package/components/PieChart/index.ts +0 -12
  471. package/components/Popconfirm/Popconfirm.vue +0 -80
  472. package/components/Popconfirm/index.ts +0 -12
  473. package/components/Popover/Popover.vue +0 -133
  474. package/components/Popover/index.ts +0 -12
  475. package/components/ProgressCircle/ProgressCircle.story.ts +0 -31
  476. package/components/ProgressCircle/ProgressCircle.vue +0 -82
  477. package/components/ProgressCircle/index.ts +0 -12
  478. package/components/ProgressLine/ProgressLine.story.ts +0 -27
  479. package/components/ProgressLine/ProgressLine.vue +0 -104
  480. package/components/ProgressLine/index.ts +0 -12
  481. package/components/SensitiveInfo/SensitiveInfo.vue +0 -18
  482. package/components/SensitiveInfo/index.ts +0 -12
  483. package/components/Tab/Tab.vue +0 -58
  484. package/components/Tab/index.ts +0 -12
  485. package/components/Table/Table.story.ts +0 -30
  486. package/components/Table/Table.vue +0 -291
  487. package/components/Table/index.ts +0 -12
  488. package/components/Tag/Tag.vue +0 -61
  489. package/components/Tag/index.ts +0 -12
  490. package/components/Toast/Toast.vue +0 -75
  491. package/components/Toast/index.ts +0 -12
  492. package/components/index.ts +0 -43
  493. package/components/plugins.ts +0 -89
  494. package/composables/index.ts +0 -2
  495. package/composables/useBreakpoints.ts +0 -30
  496. package/composables/useRender.ts +0 -29
  497. package/entrypoint.sh +0 -19
  498. package/enums/app.ts +0 -5
  499. package/enums/form.ts +0 -25
  500. package/env.d.ts +0 -8
  501. package/form/convertors.ts +0 -31
  502. package/form/crud.ts +0 -109
  503. package/form/form-data-transformers.ts +0 -148
  504. package/form/form-transformer.ts +0 -54
  505. package/form/form-value-transformers.ts +0 -32
  506. package/form/form.test.ts +0 -96
  507. package/form/json-transformers.ts +0 -91
  508. package/i18n.ts +0 -20
  509. package/index.css +0 -297
  510. package/index.html +0 -22
  511. package/index.ts +0 -14
  512. package/main.ts +0 -31
  513. package/plugins/register-component.ts +0 -5
  514. package/postcss.config.js +0 -6
  515. package/services/clipboard.ts +0 -5
  516. package/services/date.ts +0 -27
  517. package/services/password.ts +0 -309
  518. package/services/ui.ts +0 -43
  519. package/tailwind.config.js +0 -16
  520. package/tsconfig.json +0 -23
  521. package/types/index.ts +0 -5
  522. package/vite.config.mts +0 -14
  523. package/vitest.setup.ts +0 -21
@@ -1,507 +0,0 @@
1
- <script lang="ts">
2
- let id = 0;
3
- </script>
4
-
5
- <script lang="ts" setup>
6
- import type Dropdown from "@/components/Dropdown/Dropdown.vue";
7
- import { Pagination } from "@/types/ui";
8
- import { ElementSize } from "@/enums/ui";
9
- import { ElementPosition } from "@/enums/ui";
10
- import { APISearchFilters } from "@/types/api";
11
- import { SelectOption, SelectValue, SelectValuePrimitives } from "@/types/form";
12
-
13
- import uiService from "@/services/ui";
14
- import {
15
- ref,
16
- watch,
17
- inject,
18
- computed,
19
- nextTick,
20
- onBeforeMount,
21
- onBeforeUnmount,
22
- } from "vue";
23
-
24
- defineOptions({ name: "TInputSelect" });
25
-
26
- const props = withDefaults(
27
- defineProps<{
28
- size?: ElementSize;
29
- options?: SelectOption[];
30
-
31
- /** Mapper to convert search results to SelectOption */
32
- mapper?: (i: any) => SelectOption;
33
-
34
- /** Filter function */
35
- filter?: (input: string, option: SelectOption) => boolean;
36
-
37
- tooltip?: string;
38
- disabled?: boolean;
39
- resource?: (
40
- filters?: APISearchFilters | undefined,
41
- ) => Promise<{ items: unknown[]; pagination: Pagination }>;
42
- multiple?: boolean;
43
- identifier?: string;
44
- modelValue?: SelectValue;
45
- placeholder?: string;
46
- initialValue?: any;
47
- disableStyle?: boolean;
48
-
49
- /** Indicates whether the user can search the options */
50
- isSearchable?: boolean;
51
-
52
- dropdownPlacement?: `${ElementPosition}`;
53
- }>(),
54
- {
55
- size: ElementSize.DEFAULT,
56
- options: () => [],
57
- mapper: (i: any): SelectOption => ({ value: i.id ?? i.uuid, label: i }),
58
- filter: (input: string, option: SelectOption): boolean =>
59
- option.label.toLowerCase().indexOf(input.toLowerCase()) >= 0,
60
- tooltip: "",
61
- multiple: false,
62
- identifier: "id",
63
- placeholder: "",
64
- disableStyle: false,
65
- isSearchable: false,
66
- dropdownPlacement: ElementPosition.BOTTOM,
67
- },
68
- );
69
-
70
- let bubble: boolean = false;
71
- let timeout!: any;
72
- let lastSearch: string = "";
73
-
74
- const name = `checkbox_${++id}`;
75
- const search = ref<string>("");
76
- const items = ref<SelectOption[]>([]);
77
- const inputRef = ref<HTMLInputElement | null>(null);
78
- const formStyle = inject("formStyle", { label: "", input: "" });
79
- const wrapperRef = ref<InstanceType<typeof HTMLDivElement> | null>(null);
80
- const listVisible = ref<boolean>(false);
81
- const dropdownRef = ref<InstanceType<typeof Dropdown> | null>(null);
82
- const selectedIndexes = ref<number[]>([]);
83
-
84
- /**
85
- * If the options come from the API and we know the backend response includes the pagination,
86
- * we can load either more or all the options once the user hits the end of the list,
87
- * so store that pagination for tracking here
88
- *
89
- */
90
- const backendPagination = ref<Pagination | null>(null);
91
-
92
- const emit = defineEmits<{
93
- (e: "update:modelValue", val: any): void;
94
- }>();
95
-
96
- const hasValue = computed((): boolean => {
97
- return selectedIndexes.value.length > 0;
98
- });
99
-
100
- const showSearchbox = computed((): boolean => {
101
- return props.isSearchable && listVisible.value;
102
- });
103
-
104
- const isRemote = computed((): boolean => {
105
- return typeof props.resource === "function";
106
- });
107
-
108
- const isOptionSelected = (item: any): boolean => {
109
- if (
110
- !props.multiple ||
111
- !props.modelValue ||
112
- !Array.isArray(props.modelValue)
113
- ) {
114
- return false;
115
- }
116
-
117
- return props.modelValue.includes(item.option[props.identifier]);
118
- };
119
-
120
- const isValidValue = (
121
- value: SelectValue | undefined = props.modelValue,
122
- ): boolean => {
123
- return !(
124
- value === undefined ||
125
- value === "" ||
126
- (Array.isArray(value) && value.length === 0)
127
- );
128
- };
129
-
130
- const emitValue = (value: any) => {
131
- emit("update:modelValue", value);
132
- };
133
-
134
- const setValue = (value: any = props.modelValue) => {
135
- if (!isValidValue(value)) {
136
- return;
137
- }
138
-
139
- if (props.multiple) {
140
- if (Array.isArray(value)) {
141
- selectedIndexes.value = value
142
- .map((item: SelectValuePrimitives) =>
143
- findOptionIndexByValue(item),
144
- )
145
- .filter((item: number) => item > -1);
146
- }
147
- } else {
148
- const index = findOptionIndexByValue(value);
149
-
150
- if (~index) {
151
- selectedIndexes.value = [index];
152
- }
153
- }
154
- };
155
-
156
- const toggleDropdown = (e: Event) => {
157
- listVisible.value = !listVisible.value;
158
-
159
- if (listVisible.value && showSearchbox.value) {
160
- nextTick(() => {
161
- inputRef.value?.focus();
162
- });
163
- }
164
-
165
- e.stopPropagation();
166
- };
167
-
168
- const findOptionIndexByValue = (value: SelectValue): number => {
169
- return items.value.findIndex(
170
- (option: SelectOption) => option.value === value,
171
- );
172
- };
173
-
174
- const off = (event: any) => {
175
- if (
176
- wrapperRef.value &&
177
- uiService.wasClickOutsideOfContainer(event, wrapperRef.value)
178
- ) {
179
- listVisible.value = false;
180
- }
181
- };
182
-
183
- const fetch = async (loadNextPage = false) => {
184
- if (!props.resource) {
185
- return;
186
- }
187
-
188
- const filters: APISearchFilters = {
189
- t: search.value,
190
- r: "option",
191
- };
192
-
193
- if (
194
- loadNextPage &&
195
- backendPagination.value &&
196
- backendPagination.value.pages > backendPagination.value.page
197
- ) {
198
- filters.page = backendPagination.value.page + 1;
199
- } else {
200
- loadNextPage = false;
201
- }
202
-
203
- // @todo: if multiple, send array of values
204
- if (!search.value && props.modelValue) {
205
- filters.i = props.modelValue as string;
206
- }
207
-
208
- const data = await props.resource(filters);
209
-
210
- if (loadNextPage) {
211
- items.value.push(...data.items.map(props.mapper));
212
- } else {
213
- items.value = data.items.map(props.mapper);
214
- }
215
-
216
- backendPagination.value = data.pagination;
217
-
218
- if (!isRemote.value && search.value) {
219
- setValue(search.value);
220
- }
221
- };
222
-
223
- const throttle = () => {
224
- if (lastSearch === search.value) {
225
- return;
226
- }
227
-
228
- if (timeout) {
229
- clearTimeout(timeout);
230
-
231
- timeout = null;
232
- }
233
-
234
- timeout = setTimeout(() => {
235
- lastSearch = search.value;
236
-
237
- if (isRemote.value) {
238
- if (!listVisible.value) {
239
- listVisible.value = true;
240
- }
241
-
242
- fetch();
243
- } else if (props.isSearchable) {
244
- items.value = props.options.filter((option: any) =>
245
- props.filter(search.value, option),
246
- );
247
- }
248
- }, 500);
249
- };
250
-
251
- const onBlur = () => {
252
- listVisible.value = false;
253
- };
254
-
255
- const onEsc = (event: KeyboardEvent) => {
256
- listVisible.value = false;
257
-
258
- event.stopPropagation();
259
- };
260
-
261
- const onSelect = ({
262
- index,
263
- hold,
264
- }: {
265
- index: number;
266
- option: SelectOption;
267
- hold: boolean;
268
- }) => {
269
- bubble = true;
270
-
271
- if (props.multiple) {
272
- const existingIndex = selectedIndexes.value.findIndex(
273
- (index2: number) => index2 === index,
274
- );
275
-
276
- if (~existingIndex) {
277
- selectedIndexes.value.splice(existingIndex, 1);
278
- } else {
279
- selectedIndexes.value.push(index);
280
- }
281
- } else {
282
- selectedIndexes.value = [index];
283
- }
284
-
285
- if (!props.multiple || !hold) {
286
- listVisible.value = false;
287
- }
288
- };
289
-
290
- const onListEnd = () => {
291
- if (
292
- isRemote.value &&
293
- backendPagination.value &&
294
- backendPagination.value.pages > backendPagination.value.page
295
- ) {
296
- fetch(true);
297
- }
298
- };
299
-
300
- const onKeyDown = async (e: KeyboardEvent) => {
301
- const key = e.key;
302
-
303
- switch (key) {
304
- case "ArrowDown":
305
- dropdownRef.value?.move(e);
306
- break;
307
- }
308
- };
309
-
310
- onBeforeMount(async () => {
311
- if (isRemote.value) {
312
- await fetch();
313
-
314
- /**
315
- * Instead of using { immediate: true } in the modelValue watcher, if the options come
316
- * from the network, we need to wait for them to be loaded, so we wait for that and then call
317
- * the setValue to update to ti's current value
318
- *
319
- */
320
- setValue();
321
- } else if (props.options.length > 0) {
322
- items.value = props.options;
323
- }
324
-
325
- if (!props.modelValue && props.initialValue) {
326
- setValue(props.initialValue);
327
- } else {
328
- setValue(props.modelValue);
329
- }
330
-
331
- document.addEventListener("click", off);
332
- });
333
-
334
- onBeforeUnmount(() => {
335
- document.removeEventListener("click", off);
336
- });
337
-
338
- watch(
339
- () => props.modelValue,
340
- async (newValue) => {
341
- if (!newValue) {
342
- return;
343
- }
344
-
345
- /**
346
- * If the value is not in the options and the options come from the netwoek, fetch the option for the value
347
- * and use it to hydrate the select
348
- *
349
- */
350
- if (findOptionIndexByValue(newValue) < 0 && isRemote.value) {
351
- await fetch();
352
- }
353
-
354
- setValue(newValue);
355
- },
356
- );
357
-
358
- watch(
359
- selectedIndexes,
360
- (newValue) => {
361
- const value = props.multiple
362
- ? items.value
363
- .filter((option: SelectOption, index) =>
364
- selectedIndexes.value.includes(index),
365
- )
366
- .map((option: SelectOption) => option.value)
367
- : items.value[selectedIndexes.value[0]].value;
368
-
369
- if (bubble) {
370
- bubble = false;
371
- emitValue(value);
372
- }
373
- },
374
- { deep: true },
375
- );
376
-
377
- watch(
378
- () => props.options,
379
- (newOptions: SelectOption[]) => {
380
- if (newOptions.length > 0) {
381
- items.value = newOptions;
382
-
383
- if (props.modelValue && selectedIndexes.value.length === 0) {
384
- setValue(props.modelValue);
385
- }
386
- }
387
- },
388
- );
389
- </script>
390
-
391
- <template>
392
- <div :class="{ [formStyle.input]: !props.disableStyle }">
393
- <div
394
- ref="wrapperRef"
395
- :class="{
396
- 'h-9': !props.disableStyle && !props.multiple,
397
- 'min-h-9': !props.disableStyle && props.multiple,
398
- 'text-left select-none input-bg-color input-text-color border input-border input-roundness':
399
- !props.disableStyle,
400
- [formStyle.input]: !props.disableStyle,
401
- }"
402
- class="inline-flex justify-between items-center w-full text-left"
403
- role="button"
404
- @click="toggleDropdown"
405
- @blur="onBlur"
406
- @keyup.esc="onEsc"
407
- >
408
- <div
409
- v-if="!showSearchbox"
410
- class="flex items-center ml-2"
411
- :class="{
412
- 'overflow-hidden whitespace-nowrap': !props.multiple,
413
- 'flex-wrap': props.multiple,
414
- }"
415
- >
416
- <!-- Render selection with 'selection' slot, highest priority -->
417
- <template v-if="$slots.selection && hasValue">
418
- <slot
419
- name="selection"
420
- v-bind="items[selectedIndexes[0]].label"
421
- />
422
- </template>
423
-
424
- <!-- Render selection with default slot passed -->
425
- <template v-else-if="$slots.default && hasValue">
426
- <template v-if="props.multiple">
427
- <template v-for="selection in selectedIndexes">
428
- <slot v-bind="items[selection].label" />
429
- </template>
430
- </template>
431
- <slot
432
- v-else
433
- v-bind="items[selectedIndexes[0]].label"
434
- />
435
- </template>
436
-
437
- <!-- No slot passed, render selection ourselves -->
438
- <template v-else-if="hasValue">
439
- <template v-if="props.multiple">
440
- <t-tag
441
- v-for="selection in selectedIndexes"
442
- :key="selection"
443
- :text="items[selection].label"
444
- color="#6e6e6e"
445
- />
446
- </template>
447
- <span v-else>{{ items[selectedIndexes[0]]?.label }}</span>
448
- </template>
449
- </div>
450
- <input
451
- v-else
452
- v-model="search"
453
- type="text"
454
- ref="inputRef"
455
- :placeholder="props.placeholder"
456
- :disabled="props.disabled"
457
- :readonly="!props.isSearchable"
458
- :class="{ 'cursor-pointer': !props.isSearchable }"
459
- class="w-full h-9 bg-transparent input-padding input-roundness input-outline"
460
- @click="(e) => e.stopPropagation()"
461
- @input="throttle"
462
- @keydown="onKeyDown"
463
- />
464
- <t-icon-button
465
- :disable-style="true"
466
- class="h-9"
467
- :icon="listVisible === true ? 'chevron-up' : 'chevron-down'"
468
- @click="toggleDropdown"
469
- />
470
- </div>
471
- <t-popover
472
- :placement="props.dropdownPlacement"
473
- :is-visible="listVisible"
474
- >
475
- <template v-slot:content>
476
- <t-dropdown
477
- ref="dropdownRef"
478
- :owner="name"
479
- :items="items"
480
- :is-visible="listVisible"
481
- :multiple="props.multiple"
482
- class="fixed"
483
- aria-describedby="tooltip"
484
- @change="onSelect"
485
- @end-reached="onListEnd"
486
- >
487
- <template
488
- v-if="$slots.default"
489
- #default="data"
490
- >
491
- <div class="flex w-full justify-between items-center">
492
- <div class="flex items-center">
493
- <slot v-bind="data.label" />
494
- </div>
495
- <t-icon
496
- v-if="isOptionSelected(data)"
497
- icon="check"
498
- size="sm"
499
- class="float-right ml-2"
500
- />
501
- </div>
502
- </template>
503
- </t-dropdown>
504
- </template>
505
- </t-popover>
506
- </div>
507
- </template>
@@ -1,12 +0,0 @@
1
- import type { App, Plugin } from "vue";
2
- import registerComponent from "@/plugins/register-component";
3
-
4
- import InputSelect from "./InputSelect.vue";
5
-
6
- export default {
7
- install(app: App) {
8
- registerComponent(app, InputSelect);
9
- },
10
- } as Plugin;
11
-
12
- export { InputSelect };
@@ -1,34 +0,0 @@
1
- export default {
2
- title: "Form/Switch",
3
- args: {},
4
- argTypes: {
5
- disabled: {
6
- options: [true, false],
7
- control: "boolean",
8
- description: "Disable input",
9
- table: {
10
- type: { summary: "bool" },
11
- defaultValue: { summary: false },
12
- },
13
- },
14
- label: {
15
- table: { type: { summary: "string" } },
16
- },
17
- },
18
- };
19
-
20
- const defaultArgs = {
21
- label: "Encrypt files",
22
- };
23
-
24
- const Template = (args: typeof defaultArgs) => ({
25
- setup() {
26
- return { args };
27
- },
28
- template: `<t-input-switch v-bind="args" />`,
29
- });
30
-
31
- const Default: any = Template.bind({});
32
- Default.args = defaultArgs;
33
-
34
- export { Default };
@@ -1,82 +0,0 @@
1
- <script lang="ts">
2
- let id = 0;
3
- </script>
4
-
5
- <script lang="ts" setup>
6
- import { ref, watch } from "vue";
7
-
8
- defineOptions({ name: "TInputSwitch" });
9
-
10
- const props = withDefaults(
11
- defineProps<{
12
- label?: string;
13
- disabled?: boolean;
14
- modelValue?: boolean;
15
- }>(),
16
- {
17
- label: "",
18
- disabled: false,
19
- },
20
- );
21
-
22
- const emit = defineEmits<{
23
- (e: "update:modelValue", val: boolean): void;
24
- }>();
25
-
26
- const name = `switch_${++id}`;
27
- const checked = ref<boolean>(false);
28
-
29
- const onInput = () => {
30
- const value = !checked.value;
31
-
32
- emit("update:modelValue", value);
33
- };
34
-
35
- watch(
36
- () => props.modelValue,
37
- (newValue?: boolean) => {
38
- checked.value = !!newValue;
39
- },
40
- { immediate: true },
41
- );
42
- </script>
43
-
44
- <template>
45
- <div>
46
- <div
47
- class="relative inline-block w-12 mr-2 align-middle select-none"
48
- :class="{
49
- 'rounded-full': !checked,
50
- }"
51
- >
52
- <input
53
- v-model="checked"
54
- type="checkbox"
55
- class="absolute block w-6 h-6 rounded-full appearance-none cursor-pointer bg-caipira-primary border input-outline"
56
- :class="{
57
- 'right-0 border-caipira-primary-inverted': checked,
58
- 'border-caipira-tertiary': !checked,
59
- }"
60
- :name="name"
61
- :id="name"
62
- :disabled="disabled"
63
- @input="onInput"
64
- />
65
- <label
66
- :for="name"
67
- :class="{
68
- 'bg-caipira-primary-inverted': checked,
69
- 'bg-caipira-tertiary': !checked,
70
- }"
71
- class="block overflow-hidden h-6 rounded-full cursor-pointer"
72
- />
73
- </div>
74
- <label
75
- v-if="label"
76
- class="text-base cursor-pointer"
77
- :for="name"
78
- >
79
- {{ label }}
80
- </label>
81
- </div>
82
- </template>
@@ -1,12 +0,0 @@
1
- import type { App, Plugin } from "vue";
2
- import registerComponent from "@/plugins/register-component";
3
-
4
- import InputSwitch from "./InputSwitch.vue";
5
-
6
- export default {
7
- install(app: App) {
8
- registerComponent(app, InputSwitch);
9
- },
10
- } as Plugin;
11
-
12
- export { InputSwitch };
@@ -1,62 +0,0 @@
1
- <script lang="ts" setup>
2
- import { computed, inject } from "vue";
3
-
4
- defineOptions({ name: "TInputText" });
5
-
6
- const props = withDefaults(
7
- defineProps<{
8
- modelValue?: string;
9
- type?: string;
10
- placeholder?: string;
11
- autocomplete?: string;
12
- disabled?: boolean;
13
- disableStyle?: boolean;
14
- }>(),
15
- {
16
- modelValue: "",
17
- type: "text",
18
- placeholder: undefined,
19
- autocomplete: undefined,
20
- disabled: false,
21
- disableStyle: false,
22
- },
23
- );
24
-
25
- const emit = defineEmits<{
26
- (e: "update:model-value", val: string): void;
27
- (e: "keyup.enter", val: any): void;
28
- }>();
29
-
30
- const id = inject("id", "");
31
- const invalid = inject("invalid", false);
32
- const formStyle = inject("formStyle", { input: "w-full" });
33
- const validated = inject("validated", false);
34
-
35
- const value = computed({
36
- get: () => {
37
- return props.modelValue;
38
- },
39
- set: (value: string) => {
40
- emit("update:model-value", value);
41
- },
42
- });
43
- </script>
44
-
45
- <template>
46
- <input
47
- v-model="value"
48
- :type="props.type"
49
- :class="{
50
- 'h-9 input-bg-color input-text-color input-outline border input-border input-roundnes input-padding input-roundness':
51
- !props.disableStyle,
52
- [formStyle.input]: !props.disableStyle,
53
- 'border-red-500': !validated && invalid,
54
- 'border-emerald-500': validated && !invalid,
55
- }"
56
- :id="id"
57
- :placeholder="props.placeholder"
58
- :autocomplete="props.autocomplete"
59
- :disabled="props.disabled"
60
- v-bind="$attrs"
61
- />
62
- </template>